Class StoreBuoy_3d
In: setup/storebuoy_3d.f90

浮力の積算値を保管するための変数型モジュール.

Methods

Included Modules

dc_types gridset_3d TimeSet

Public Instance methods

Subroutine :

保管した値のクリアー

[Source]

  subroutine StoreBuoyClean( )
    !保管した値のクリアー
    
    z_BuoyTemp   = 0.0d0
    z_BuoyMolWt  = 0.0d0
    z_BuoyDrag   = 0.0d0
    xyz_BuoyTemp  = 0.0d0
    xyz_BuoyMolWt = 0.0d0
    xyz_BuoyDrag  = 0.0d0
    
  end subroutine StoreBuoyClean
Subroutine :
xyz_Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) :real(DP), intent(in)

数値拡散項の保管

[Source]

  subroutine StoreBuoyDrag( xyz_Work )
    !数値拡散項の保管

    implicit none
    
    real(DP), intent(in)  :: xyz_Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax)
    real(DP)              :: xyz_Work2(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax)

    xyz_Work2    = xyz_BuoyDrag + xyz_Work 
    xyz_BuoyDrag = xyz_Work2

  end subroutine StoreBuoyDrag
Subroutine :

保管した値の水平平均値

[Source]

  subroutine StoreBuoyMeanXY( )
    !保管した値の水平平均値
 
    real(DP) :: CalNum

    CalNum = TimeDisp / DelTimeLong
   
    z_BuoyTemp  = a_MeanXY_aaa( xyz_BuoyTemp  ) / CalNum
    z_BuoyMolWt = a_MeanXY_aaa( xyz_BuoyMolWt ) / CalNum
    z_BuoyDrag  = a_MeanXY_aaa( xyz_BuoyDrag  ) / CalNum

  end subroutine StoreBuoyMeanXY
Subroutine :
xyz_Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) :real(DP), intent(in)

分子量の寄与を保管

[Source]

  subroutine StoreBuoyMolWt( xyz_Work )
    !分子量の寄与を保管

    implicit none

    real(DP), intent(in)  :: xyz_Work (DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax)
    real(DP)              :: xyz_Work2(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax)

    xyz_Work2     = xyz_BuoyMolWt + xyz_Work 
    xyz_BuoyMolWt = xyz_Work2

  end subroutine StoreBuoyMolWt
Subroutine :
xyz_Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) :real(DP), intent(in)

温度の寄与を保管

[Source]

  subroutine StoreBuoyTemp( xyz_Work )
    !温度の寄与を保管

    implicit none

    real(DP), intent(in)  :: xyz_Work (DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax)
    real(DP)              :: xyz_Work2(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax)
    
    xyz_Work2    = xyz_BuoyTemp + xyz_Work 
    xyz_BuoyTemp = xyz_Work2

  end subroutine StoreBuoyTemp
Subroutine :

初期化ルーチン

[Source]

  subroutine StoreBuoy_Init( )
    !初期化ルーチン

    allocate( z_BuoyTemp (DimZMin:DimZMax), z_BuoyMolWt(DimZMin:DimZMax), z_BuoyDrag (DimZMin:DimZMax), xyz_BuoyTemp (DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax), xyz_BuoyMolWt(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax), xyz_BuoyDrag (DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) )
    
    call StoreBuoyClean()

  end subroutine StoreBuoy_Init
z_BuoyDrag
Variable :
z_BuoyDrag(:) :real(DP), allocatable
z_BuoyMolWt
Variable :
z_BuoyMolWt(:) :real(DP), allocatable
z_BuoyTemp
Variable :
z_BuoyTemp(:) :real(DP), allocatable

[Validate]