| Class | StoreMom | 
| In: | 
                
                setup/storemom.f90
                
         | 
運動量に関する積算値を保管するための変数型モジュール.
| Subroutine : | |
| Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) | 
移流項の保管
  subroutine StoreMomAdv( Work )
    !移流項の保管
    implicit none
    real(8), intent(in)  :: Work(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)              :: Work2(DimXMin:DimXMax, DimZMin:DimZMax)
    Work2  = pz_MomAdv + Work
    pz_MomAdv = Work2
  end subroutine StoreMomAdv
          | Subroutine : | 
保管した値のクリアー
  subroutine StoreMomClean( )
    !保管した値のクリアー
    
    z_MomAdv  = 0.0d0
    z_MomTurb = 0.0d0
    z_MomDiff = 0.0d0
    z_MomFlux = 0.0d0
    pz_MomAdv  = 0.0d0
    pz_MomTurb = 0.0d0
    pz_MomDiff = 0.0d0
    pz_MomFlux = 0.0d0
   
!    CalNum  = 1.0d-40    !ゼロ割を禁止. 
  end subroutine StoreMomClean
          | Subroutine : | |
| Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) | 
数値拡散項の保管
  subroutine StoreMomDiff( Work )
    !数値拡散項の保管
    implicit none
    
    real(8), intent(in)  :: Work(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)              :: Work2(DimXMin:DimXMax, DimZMin:DimZMax)
    Work2   = pz_MomDiff + Work
    pz_MomDiff = Work2
  end subroutine StoreMomDiff
          | Subroutine : | |
| Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) | 
運動量フラックスの保管
  subroutine StoreMomFlux( Work )
    !運動量フラックスの保管
    implicit none
    real(8), intent(in)  :: Work(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)              :: Work2(DimXMin:DimXMax, DimZMin:DimZMax)
    Work2  = pz_MomFlux + Work
    pz_MomFlux = Work2
  end subroutine StoreMomFlux
          | Subroutine : | 
保管した値の水平平均値 [kg.m/s^2]
  subroutine StoreMomMeanX( )
    !保管した値の水平平均値 [kg.m/s^2]
    real(8) :: CalNum
    CalNum = TimeDisp / DelTimeLong 
    
    z_MomAdv  = a_MeanX_aa( pz_MomAdv )   / CalNum
    z_MomTurb = a_MeanX_aa( pz_MomTurb )  / CalNum
    z_MomDiff = a_MeanX_aa( pz_MomDiff )  / CalNum
    z_MomFlux = a_MeanX_aa( pz_MomFlux )  / CalNum
  end subroutine StoreMomMeanX
          | Subroutine : | |
| Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) | 
乱流項の保管
  subroutine StoreMomTurb( Work )
    !乱流項の保管
    implicit none
    real(8), intent(in)  :: Work(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)              :: Work2(DimXMin:DimXMax, DimZMin:DimZMax)
    Work2   = pz_MomTurb + Work
    pz_MomTurb = Work2
  end subroutine StoreMomTurb
          | Subroutine : | 
初期化ルーチン
  subroutine StoreMom_Init( )
    !初期化ルーチン
    allocate( z_MomAdv(DimZMin:DimZMax), z_MomTurb(DimZMin:DimZMax), z_MomDiff(DimZMin:DimZMax), z_MomFlux(DimZMin:DimZMax), pz_MomAdv(DimXMin:DimXMax, DimZMin:DimZMax), pz_MomTurb(DimXMin:DimXMax, DimZMin:DimZMax), pz_MomDiff(DimXMin:DimXMax, DimZMin:DimZMax), pz_MomFlux(DimXMin:DimXMax, DimZMin:DimZMax) )
    call StoreMomClean
  end subroutine StoreMom_Init