| Class | boundary | 
| In: | util/boundary.f90 | 
| Subroutine : | |
| aa_Var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(inout) | 
x 方向に「周期境界条件」を適用する. 格子点, 半格子点においても, 関数の形式は同じ
  subroutine BoundaryXCyc_aa( aa_Var )
    !
    ! x 方向に「周期境界条件」を適用する. 
    ! 格子点, 半格子点においても, 関数の形式は同じ
    !
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(inout)  :: aa_Var(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)                 :: aa_Work(DimXMin:DimXMax, DimZMin:DimZMax)
    integer                 :: i
    
    aa_Work = aa_Var
    !壁の値を決める
    aa_Var(RegXMin, :) = aa_Work(RegXMax, :)    
    !壁の外側の値を決める
    do i = 1, MarginX
      aa_Var(RegXMin - i, :) = aa_Work(RegXMax - i, :)    
      aa_Var(RegXMax + i, :) = aa_Work(RegXMin + i, :) 
    end do
    
  end subroutine BoundaryXCyc_aa
          | Subroutine : | |
| aa_Var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(inout) | 
x 方向に「周期境界条件」を適用する. 格子点, 半格子点においても, 関数の形式は同じ
  subroutine BoundaryXCyc_aa( aa_Var )
    !
    ! x 方向に「周期境界条件」を適用する. 
    ! 格子点, 半格子点においても, 関数の形式は同じ
    !
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(inout)  :: aa_Var(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)                 :: aa_Work(DimXMin:DimXMax, DimZMin:DimZMax)
    integer                 :: i
    
    aa_Work = aa_Var
    !壁の値を決める
    aa_Var(RegXMin, :) = aa_Work(RegXMax, :)    
    !壁の外側の値を決める
    do i = 1, MarginX
      aa_Var(RegXMin - i, :) = aa_Work(RegXMax - i, :)    
      aa_Var(RegXMax + i, :) = aa_Work(RegXMin + i, :) 
    end do
    
  end subroutine BoundaryXCyc_aa
          | Subroutine : | |
| aa_Var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(inout) | 
x 方向に「周期境界条件」を適用する. 格子点, 半格子点においても, 関数の形式は同じ
  subroutine BoundaryXCyc_aa( aa_Var )
    !
    ! x 方向に「周期境界条件」を適用する. 
    ! 格子点, 半格子点においても, 関数の形式は同じ
    !
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(inout)  :: aa_Var(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)                 :: aa_Work(DimXMin:DimXMax, DimZMin:DimZMax)
    integer                 :: i
    
    aa_Work = aa_Var
    !壁の値を決める
    aa_Var(RegXMin, :) = aa_Work(RegXMax, :)    
    !壁の外側の値を決める
    do i = 1, MarginX
      aa_Var(RegXMin - i, :) = aa_Work(RegXMax - i, :)    
      aa_Var(RegXMax + i, :) = aa_Work(RegXMin + i, :) 
    end do
    
  end subroutine BoundaryXCyc_aa
          | Subroutine : | |
| aaa_Var(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(inout) | 
x 方向に「周期境界条件」を適用する. 格子点, 半格子点においても, 関数の形式は同じ
  subroutine BoundaryXCyc_aaa( aaa_Var )
    !
    ! x 方向に「周期境界条件」を適用する. 
    ! 格子点, 半格子点においても, 関数の形式は同じ
    !
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(inout)  :: aaa_Var(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum)
    real(8)                 :: aaa_Work(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum)
    integer                 :: i
    
    aaa_Work = aaa_Var
    !壁の値を決める
    aaa_Var(RegXMin, :, :) = aaa_Work(RegXMax, :, :)
    !壁の外側の値を決める
    do i = 1, MarginX
      aaa_Var(RegXMin - i, :, :) = aaa_Work(RegXMax - i, :, :)
      aaa_Var(RegXMax + i, :, :) = aaa_Work(RegXMin + i, :, :) 
    end do
    
  end subroutine BoundaryXCyc_aaa
          | Subroutine : | |
| az_Var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(inout) | 
z 方向に半格子ずれた点に存在する変数に対し, z 方向に「反対称境界条件」を適用する.
  subroutine BoundaryZAntiSym_az( az_Var )
    !
    ! z 方向に半格子ずれた点に存在する変数に対し, 
    ! z 方向に「反対称境界条件」を適用する. 
    !
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(inout)  :: az_Var(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)                 :: az_Work(DimXMin:DimXMax, DimZMin:DimZMax)
    integer                 :: k
    
    az_Work = az_Var
    
    do k = 0, MarginZ
      az_Var( :, RegZMin - k ) = - az_Work( :, RegZMin + 1 + k )
    end do
    do k = 1, MarginZ
      az_Var( :, RegZMax + k ) = - az_Work( :, RegZMax + 1 - k )
    end do
    
  end subroutine BoundaryZAntiSym_az
          | Subroutine : | |
| ar_Var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(inout) | 
z 方向の格子点上に存在する変数に対し, z 方向に「反対称境界条件」を適用する.
  subroutine BoundaryZAntiSym_ar( ar_Var )
    !
    ! z 方向の格子点上に存在する変数に対し, 
    ! z 方向に「反対称境界条件」を適用する. 
    !
    
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(inout)  :: ar_Var(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)                 :: ar_Work(DimXMin:DimXMax, DimZMin:DimZMax)
    integer                 :: k
  
    ar_Work = ar_Var
    !境界での速度はゼロ
    ar_Var( :, RegZMin ) = 0.0d0
    ar_Var( :, RegZMax ) = 0.0d0
    do k = 1, MarginZ
      ar_Var( :, RegZMin - k ) = - ar_Work( :, RegZMin + k )
      ar_Var( :, RegZMax + k ) = - ar_Work( :, RegZMax - k )
    end do
    
  end subroutine BoundaryZAntiSym_ar
          | Subroutine : | |
| az_Var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(inout) | 
z 方向に半格子ずれた点に存在する変数に対し, z 方向に「反対称境界条件」を適用する.
  subroutine BoundaryZAntiSym_az( az_Var )
    !
    ! z 方向に半格子ずれた点に存在する変数に対し, 
    ! z 方向に「反対称境界条件」を適用する. 
    !
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(inout)  :: az_Var(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)                 :: az_Work(DimXMin:DimXMax, DimZMin:DimZMax)
    integer                 :: k
    
    az_Work = az_Var
    
    do k = 0, MarginZ
      az_Var( :, RegZMin - k ) = - az_Work( :, RegZMin + 1 + k )
    end do
    do k = 1, MarginZ
      az_Var( :, RegZMax + k ) = - az_Work( :, RegZMax + 1 - k )
    end do
    
  end subroutine BoundaryZAntiSym_az
          | Subroutine : | |
| aza_Var(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(inout) | 
z 方向に半格子ずれた点に存在する変数に対し, z 方向に「反対称境界条件」を適用する.
  subroutine BoundaryZAntiSym_aza( aza_Var )
    !
    ! z 方向に半格子ずれた点に存在する変数に対し, 
    ! z 方向に「反対称境界条件」を適用する. 
    !
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(inout)  :: aza_Var(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum)
    real(8)                 :: aza_Work(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum)
    integer                 :: k
    
    aza_Work = aza_Var
    
    do k = 0, MarginZ
      aza_Var( :, RegZMin - k, : ) = - aza_Work( :, RegZMin + 1 + k, : )
    end do
    do k = 1, MarginZ
      aza_Var( :, RegZMax + k, : ) = - aza_Work( :, RegZMax + 1 - k, : )
    end do
    
  end subroutine BoundaryZAntiSym_aza
          | Subroutine : | |
| az_Var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(inout) | 
z 方向に半格子ずれた点に存在する変数に対し, z 方向に「対称境界条件」を適用する.
  subroutine BoundaryZSym_az( az_Var )
    !
    ! z 方向に半格子ずれた点に存在する変数に対し, 
    ! z 方向に「対称境界条件」を適用する. 
    !
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(inout)  :: az_Var(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)                 :: az_Work(DimXMin:DimXMax, DimZMin:DimZMax)
    integer                 :: k
  
    az_Work = az_Var
    do k = 0, MarginZ
      az_Var( :, RegZMin - k ) = az_Work( :, RegZMin + 1 + k )
    end do
    do k = 1, MarginZ
      az_Var( :, RegZMax + k ) = az_Work( :, RegZMax + 1 - k )
    end do
    
  end subroutine BoundaryZSym_az
          | Subroutine : | |
| ar_Var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(inout) | 
z 方向の格子点上に存在する変数に対し, z 方向に「対称境界条件」を適用する.
  subroutine BoundaryZSym_ar( ar_Var )
    !
    ! z 方向の格子点上に存在する変数に対し, 
    ! z 方向に「対称境界条件」を適用する. 
    !
    
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(inout)  :: ar_Var(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)                 :: ar_Work(DimXMin:DimXMax, DimZMin:DimZMax)
    integer                 :: k
  
    ar_Work = ar_Var
    !境界での速度はゼロ
    ar_Var( :, RegZMin ) = 0.0d0
    ar_Var( :, RegZMax ) = 0.0d0
    
    do k = 1, MarginZ
      ar_Var( :, RegZMin - k ) = ar_Work( :, RegZMin + k )
      ar_Var( :, RegZMax + k ) = ar_Work( :, RegZMax - k )
    end do
    
  end subroutine BoundaryZSym_ar
          | Subroutine : | |
| az_Var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(inout) | 
z 方向に半格子ずれた点に存在する変数に対し, z 方向に「対称境界条件」を適用する.
  subroutine BoundaryZSym_az( az_Var )
    !
    ! z 方向に半格子ずれた点に存在する変数に対し, 
    ! z 方向に「対称境界条件」を適用する. 
    !
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(inout)  :: az_Var(DimXMin:DimXMax, DimZMin:DimZMax)
    real(8)                 :: az_Work(DimXMin:DimXMax, DimZMin:DimZMax)
    integer                 :: k
  
    az_Work = az_Var
    do k = 0, MarginZ
      az_Var( :, RegZMin - k ) = az_Work( :, RegZMin + 1 + k )
    end do
    do k = 1, MarginZ
      az_Var( :, RegZMax + k ) = az_Work( :, RegZMax + 1 - k )
    end do
    
  end subroutine BoundaryZSym_az
          | Subroutine : | |
| aza_Var(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(inout) | 
z 方向に半格子ずれた点に存在する変数に対し, z 方向に「対称境界条件」を適用する.
  subroutine BoundaryZSym_aza( aza_Var )
    !
    ! z 方向に半格子ずれた点に存在する変数に対し, 
    ! z 方向に「対称境界条件」を適用する. 
    !
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(inout)  :: aza_Var(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum)
    real(8)                 :: aza_Work(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum)
    integer                 :: k
  
    aza_Work = aza_Var
    do k = 0, MarginZ
      aza_Var( :, RegZMin - k, : ) = aza_Work( :, RegZMin + 1 + k, : )
    end do
    do k = 1, MarginZ
      aza_Var( :, RegZMax + k, : ) = aza_Work( :, RegZMax + 1 - k, : )
    end do
    
  end subroutine BoundaryZSym_aza