| 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 : | |
| aa_Var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(inout) |
z 方向に「周期境界条件」を適用する. 格子点, 半格子点においても, 関数の形式は同じ
subroutine BoundaryZCyc_aa( aa_Var )
!
! z 方向に「周期境界条件」を適用する.
! 格子点, 半格子点においても, 関数の形式は同じ
!
!暗黙の型宣言禁止
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(:,RegZMin) = aa_Work(:,RegZMax)
!壁の外側の値を決める
do i = 1, MarginZ
aa_Var(:,RegZMin - i) = aa_Work(:,RegZMax - i)
aa_Var(:,RegZMax + i) = aa_Work(:,RegZMin + i)
end do
end subroutine BoundaryZCyc_aa
| Subroutine : | |
| aa_Var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(inout) |
z 方向に「周期境界条件」を適用する. 格子点, 半格子点においても, 関数の形式は同じ
subroutine BoundaryZCyc_aa( aa_Var )
!
! z 方向に「周期境界条件」を適用する.
! 格子点, 半格子点においても, 関数の形式は同じ
!
!暗黙の型宣言禁止
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(:,RegZMin) = aa_Work(:,RegZMax)
!壁の外側の値を決める
do i = 1, MarginZ
aa_Var(:,RegZMin - i) = aa_Work(:,RegZMax - i)
aa_Var(:,RegZMax + i) = aa_Work(:,RegZMin + i)
end do
end subroutine BoundaryZCyc_aa
| Subroutine : | |
| aa_Var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(inout) |
z 方向に「周期境界条件」を適用する. 格子点, 半格子点においても, 関数の形式は同じ
subroutine BoundaryZCyc_aa( aa_Var )
!
! z 方向に「周期境界条件」を適用する.
! 格子点, 半格子点においても, 関数の形式は同じ
!
!暗黙の型宣言禁止
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(:,RegZMin) = aa_Work(:,RegZMax)
!壁の外側の値を決める
do i = 1, MarginZ
aa_Var(:,RegZMin - i) = aa_Work(:,RegZMax - i)
aa_Var(:,RegZMax + i) = aa_Work(:,RegZMin + i)
end do
end subroutine BoundaryZCyc_aa
| 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