Class TimeFilter_3d
In: util/timefilter_3d.f90

Methods

Included Modules

dc_types GridSet_3d

Public Instance methods

Subroutine :
VarA(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) :real(DP), intent(in)
VarN(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) :real(DP), intent(inout)
VarB(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) :real(DP), intent(in)

時間フィルター; Asselin のタイムフィルターを利用

[Source]

  subroutine AsselinFilter(VarA, VarN, VarB)
    !
    ! 時間フィルター; Asselin のタイムフィルターを利用
    !

    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(DP), intent(in)     :: VarA(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax)
    real(DP), intent(inout)  :: VarN(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax)  
    real(DP), intent(in)     :: VarB(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax)
    real(DP)                 :: Var(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax)


    !時間フィルタ
    Var  = VarN + tfil * ( VarB  - 2.0d0 * VarN + VarA ) 
    VarN = Var

    
  end subroutine AsselinFilter