Class StoreBuoy
In: setup/storebuoy.f90

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

Methods

Included Modules

gridset TimeSet

Public Instance methods

Subroutine :

保管した値のクリアー

[Source]

  subroutine StoreBuoyClean( )
    !保管した値のクリアー
    
    z_BuoyTemp   = 0.0d0
    z_BuoyMolWt  = 0.0d0
    z_BuoyDrag   = 0.0d0
    xz_BuoyTemp  = 0.0d0
    xz_BuoyMolWt = 0.0d0
    xz_BuoyDrag  = 0.0d0
    
  end subroutine StoreBuoyClean
Subroutine :
xz_Work(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)

数値拡散項の保管

[Source]

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

    implicit none
    
    real(8), intent(in)  :: xz_Work(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)              :: xz_Work2(DimXMin:DimXMax, DimZMin:DimZMax)

    xz_Work2    = xz_BuoyDrag + xz_Work 
    xz_BuoyDrag = xz_Work2

  end subroutine StoreBuoyDrag
Subroutine :

保管した値の水平平均値

[Source]

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

    CalNum = TimeDisp / DelTimeLong
   
    z_BuoyTemp  = a_MeanX_aa( xz_BuoyTemp  ) / CalNum
    z_BuoyMolWt = a_MeanX_aa( xz_BuoyMolWt ) / CalNum
    z_BuoyDrag  = a_MeanX_aa( xz_BuoyDrag  ) / CalNum

  end subroutine StoreBuoyMeanX
Subroutine :
xz_Work(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)

分子量の寄与を保管

[Source]

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

    implicit none

    real(8), intent(in)  :: xz_Work(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)              :: xz_Work2(DimXMin:DimXMax, DimZMin:DimZMax)

    xz_Work2     = xz_BuoyMolWt + xz_Work 
    xz_BuoyMolWt = xz_Work2

  end subroutine StoreBuoyMolWt
Subroutine :
xz_Work(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)

温度の寄与を保管

[Source]

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

    implicit none

    real(8), intent(in)  :: xz_Work(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)              :: xz_Work2(DimXMin:DimXMax, DimZMin:DimZMax)
    
    xz_Work2    = xz_BuoyTemp + xz_Work 
    xz_BuoyTemp = xz_Work2

  end subroutine StoreBuoyTemp
Subroutine :

初期化ルーチン

[Source]

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

    allocate( z_BuoyTemp(DimZMin:DimZMax), z_BuoyMolWt(DimZMin:DimZMax), z_BuoyDrag(DimZMin:DimZMax), xz_BuoyTemp(DimXMin:DimXMax, DimZMin:DimZMax), xz_BuoyMolWt(DimXMin:DimXMax, DimZMin:DimZMax), xz_BuoyDrag(DimXMin:DimXMax, DimZMin:DimZMax) )
    
    call StoreBuoyClean()

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

[Validate]