Class | xyz_bc_module |
In: |
util/xyz_bc_module.f90
|
xyz_bc_module は, 3 次元 (xyz 方向) 不等間隔交互格子を用いた有限差分法に 基づく数値モデルのための, 境界条件設定 Fortran 90 副プログラムを提供 する.
このモジュールは xyz_module の下位モジュールである. 下請けモジュール として data_type, xyz_base_module, x_bc_module, y_bc_module, z_bc_module モジュールを用いている.
境界条件を設定する副プログラムは
Boundary[境界条件を示す文字列][...]_(入力配列の次元情報)
のように命名されている. 境界条件を示す文字列の種類は x_bc_module, y_bc_module, z_bc_module の場合と同じである.
Subroutine : | |
pyz_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryXAsym_pyz(pyz_Var) real(DBKIND),intent(inout) :: pyz_Var(imin:imax,jmin:jmax,kmin:kmax) ! x 方向に反対称境界条件を適用する ! do kz = kmin, kmax ! do jy = jmin, jmax ! call BoundaryAsym_p(pyz_Var(:,jy,kz)) ! end do ! end do pyz_Var(0,:,:) = 0.0d0 pyz_Var(im,:,:) = 0.0d0 do ix = 1, xmargin-1 pyz_Var(-ix,:,:) = - pyz_Var(ix,:,:) end do do ix = 1, xmargin pyz_Var(im+ix,:,:) = - pyz_Var(im-ix,:,:) end do end subroutine BoundaryXAsym_pyz
Subroutine : | |
xaa_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryXAsym_xaa(xaa_Var) real(DBKIND),intent(inout) :: xaa_Var(imin:imax,jmin:jmax,kmin:kmax) ! x 方向に反対称境界条件を適用する ! do kz = kmin, kmax ! do jy = jmin, jmax ! call BoundaryAsym_x(xaa_Var(:,jy,kz)) ! end do ! end do do ix = 1, xmargin xaa_Var(1-ix,:,:) = - xaa_Var(ix,:,:) xaa_Var(im+ix,:,:) = - xaa_Var(im+1-ix,:,:) end do end subroutine BoundaryXAsym_xaa
Subroutine : | |
xaa_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryXAsym_xaa(xaa_Var) real(DBKIND),intent(inout) :: xaa_Var(imin:imax,jmin:jmax,kmin:kmax) ! x 方向に反対称境界条件を適用する ! do kz = kmin, kmax ! do jy = jmin, jmax ! call BoundaryAsym_x(xaa_Var(:,jy,kz)) ! end do ! end do do ix = 1, xmargin xaa_Var(1-ix,:,:) = - xaa_Var(ix,:,:) xaa_Var(im+ix,:,:) = - xaa_Var(im+1-ix,:,:) end do end subroutine BoundaryXAsym_xaa
Subroutine : | |
xaa_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryXAsym_xaa(xaa_Var) real(DBKIND),intent(inout) :: xaa_Var(imin:imax,jmin:jmax,kmin:kmax) ! x 方向に反対称境界条件を適用する ! do kz = kmin, kmax ! do jy = jmin, jmax ! call BoundaryAsym_x(xaa_Var(:,jy,kz)) ! end do ! end do do ix = 1, xmargin xaa_Var(1-ix,:,:) = - xaa_Var(ix,:,:) xaa_Var(im+ix,:,:) = - xaa_Var(im+1-ix,:,:) end do end subroutine BoundaryXAsym_xaa
Subroutine : | |
aaa_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryXCyc_aaa(aaa_Var) real(DBKIND),intent(inout) :: aaa_Var(imin:imax,jmin:jmax,kmin:kmax) ! x 方向に周期境界条件を適用する ! do kz = kmin, kmax ! do jy = jmin, jmax ! call BoundaryCyc_x(xaa_Var(:,jy,kz)) ! end do ! end do do ix = 1, xmargin aaa_Var(1-ix,:,:) = aaa_Var(im+1-ix,:,:) aaa_Var(im+ix,:,:) = aaa_Var(ix,:,:) end do end subroutine BoundaryXCyc_aaa
Subroutine : | |
aaa_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryXCyc_aaa(aaa_Var) real(DBKIND),intent(inout) :: aaa_Var(imin:imax,jmin:jmax,kmin:kmax) ! x 方向に周期境界条件を適用する ! do kz = kmin, kmax ! do jy = jmin, jmax ! call BoundaryCyc_x(xaa_Var(:,jy,kz)) ! end do ! end do do ix = 1, xmargin aaa_Var(1-ix,:,:) = aaa_Var(im+1-ix,:,:) aaa_Var(im+ix,:,:) = aaa_Var(ix,:,:) end do end subroutine BoundaryXCyc_aaa
Subroutine : | |
aaa_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryXCyc_aaa(aaa_Var) real(DBKIND),intent(inout) :: aaa_Var(imin:imax,jmin:jmax,kmin:kmax) ! x 方向に周期境界条件を適用する ! do kz = kmin, kmax ! do jy = jmin, jmax ! call BoundaryCyc_x(xaa_Var(:,jy,kz)) ! end do ! end do do ix = 1, xmargin aaa_Var(1-ix,:,:) = aaa_Var(im+1-ix,:,:) aaa_Var(im+ix,:,:) = aaa_Var(ix,:,:) end do end subroutine BoundaryXCyc_aaa
Subroutine : | |
aaa_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryXCyc_aaa(aaa_Var) real(DBKIND),intent(inout) :: aaa_Var(imin:imax,jmin:jmax,kmin:kmax) ! x 方向に周期境界条件を適用する ! do kz = kmin, kmax ! do jy = jmin, jmax ! call BoundaryCyc_x(xaa_Var(:,jy,kz)) ! end do ! end do do ix = 1, xmargin aaa_Var(1-ix,:,:) = aaa_Var(im+1-ix,:,:) aaa_Var(im+ix,:,:) = aaa_Var(ix,:,:) end do end subroutine BoundaryXCyc_aaa
Subroutine : | |
pyz_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryXSym_pyz(pyz_Var) real(DBKIND),intent(inout) :: pyz_Var(imin:imax,jmin:jmax,kmin:kmax) ! x 方向に対称境界条件を適用する ! do kz = kmin, kmax ! do jy = jmin, jmax ! call BoundarySym_p(pyz_Var(:,jy,kz)) ! end do ! end do do ix = 1, xmargin-1 pyz_Var(-ix,:,:) = pyz_Var(ix,:,:) end do do ix = 1, xmargin pyz_Var(im+ix,:,:) = pyz_Var(im+1-ix,:,:) end do end subroutine BoundaryXSym_pyz
Subroutine : | |
xaa_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryXSym_xaa(xaa_Var) real(DBKIND),intent(inout) :: xaa_Var(imin:imax,jmin:jmax,kmin:kmax) ! x 方向に対称境界条件を適用する ! do kz = kmin, kmax ! do jy = jmin, jmax ! call BoundarySym_x(xaa_Var(:,jy,kz)) ! end do ! end do do ix = 1, xmargin xaa_Var(1-ix,:,:) = xaa_Var(ix,:,:) xaa_Var(im+ix,:,:) = xaa_Var(im+1-ix,:,:) end do end subroutine BoundaryXSym_xaa
Subroutine : | |
xaa_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryXSym_xaa(xaa_Var) real(DBKIND),intent(inout) :: xaa_Var(imin:imax,jmin:jmax,kmin:kmax) ! x 方向に対称境界条件を適用する ! do kz = kmin, kmax ! do jy = jmin, jmax ! call BoundarySym_x(xaa_Var(:,jy,kz)) ! end do ! end do do ix = 1, xmargin xaa_Var(1-ix,:,:) = xaa_Var(ix,:,:) xaa_Var(im+ix,:,:) = xaa_Var(im+1-ix,:,:) end do end subroutine BoundaryXSym_xaa
Subroutine : | |
xaa_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryXSym_xaa(xaa_Var) real(DBKIND),intent(inout) :: xaa_Var(imin:imax,jmin:jmax,kmin:kmax) ! x 方向に対称境界条件を適用する ! do kz = kmin, kmax ! do jy = jmin, jmax ! call BoundarySym_x(xaa_Var(:,jy,kz)) ! end do ! end do do ix = 1, xmargin xaa_Var(1-ix,:,:) = xaa_Var(ix,:,:) xaa_Var(im+ix,:,:) = xaa_Var(im+1-ix,:,:) end do end subroutine BoundaryXSym_xaa
Subroutine : | |
xqz_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryYASym_xqz(xqz_Var) real(DBKIND),intent(inout) :: xqz_Var(imin:imax,jmin:jmax,kmin:kmax) integer :: ix, kz ! y 方向に反対称境界条件を適用する ! do kz = kmin, kmax ! do ix = imin, imax ! call boundaryASym_q(xqz_Var(ix,:,kz)) ! end do ! end do xqz_Var(:,0,:) = 0.0d0 xqz_Var(:,jm,:) = 0.0d0 do jy = 1, ymargin-1 xqz_Var(:,-jy,:) = - xqz_Var(:,jy,:) end do do jy = 1, ymargin xqz_Var(:,jm+jy,:) = - xqz_Var(:,jm-jy,:) end do end subroutine BoundaryYAsym_xqz
Subroutine : | |
aya_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryYASym_aya(aya_Var) real(DBKIND),intent(inout) :: aya_Var(imin:imax,jmin:jmax,kmin:kmax) ! y 方向に反対称境界条件を適用する ! do kz = kmin, kmax ! do ix = imin, imax ! call boundaryASym_y(aya_Var(ix,:,kz)) ! end do ! end do do jy = 1, ymargin aya_Var(:,1-jy,:) = - aya_Var(:,jy,:) aya_Var(:,jm+jy,:) = - aya_Var(:,jm+1-jy,:) end do end subroutine BoundaryYAsym_aya
Subroutine : | |
aya_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryYASym_aya(aya_Var) real(DBKIND),intent(inout) :: aya_Var(imin:imax,jmin:jmax,kmin:kmax) ! y 方向に反対称境界条件を適用する ! do kz = kmin, kmax ! do ix = imin, imax ! call boundaryASym_y(aya_Var(ix,:,kz)) ! end do ! end do do jy = 1, ymargin aya_Var(:,1-jy,:) = - aya_Var(:,jy,:) aya_Var(:,jm+jy,:) = - aya_Var(:,jm+1-jy,:) end do end subroutine BoundaryYAsym_aya
Subroutine : | |
aya_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryYASym_aya(aya_Var) real(DBKIND),intent(inout) :: aya_Var(imin:imax,jmin:jmax,kmin:kmax) ! y 方向に反対称境界条件を適用する ! do kz = kmin, kmax ! do ix = imin, imax ! call boundaryASym_y(aya_Var(ix,:,kz)) ! end do ! end do do jy = 1, ymargin aya_Var(:,1-jy,:) = - aya_Var(:,jy,:) aya_Var(:,jm+jy,:) = - aya_Var(:,jm+1-jy,:) end do end subroutine BoundaryYAsym_aya
Subroutine : | |
aaa_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryYCyc_aaa(aaa_Var) real(DBKIND),intent(inout) :: aaa_Var(imin:imax,jmin:jmax,kmin:kmax) integer :: ix, kz ! y 方向に周期境界条件を適用する ! do kz = kmin, kmax ! do ix = imin, imax ! call BoundaryCyc_y(aya_Var(ix,:,kz)) ! end do ! end do do jy = 1, ymargin aaa_Var(:,1-jy,:) = aaa_Var(:,jm+1-jy,:) aaa_Var(:,jm+jy,:) = aaa_Var(:,jy,:) end do end subroutine BoundaryYCyc_aaa
Subroutine : | |
aaa_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryYCyc_aaa(aaa_Var) real(DBKIND),intent(inout) :: aaa_Var(imin:imax,jmin:jmax,kmin:kmax) integer :: ix, kz ! y 方向に周期境界条件を適用する ! do kz = kmin, kmax ! do ix = imin, imax ! call BoundaryCyc_y(aya_Var(ix,:,kz)) ! end do ! end do do jy = 1, ymargin aaa_Var(:,1-jy,:) = aaa_Var(:,jm+1-jy,:) aaa_Var(:,jm+jy,:) = aaa_Var(:,jy,:) end do end subroutine BoundaryYCyc_aaa
Subroutine : | |
aaa_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryYCyc_aaa(aaa_Var) real(DBKIND),intent(inout) :: aaa_Var(imin:imax,jmin:jmax,kmin:kmax) integer :: ix, kz ! y 方向に周期境界条件を適用する ! do kz = kmin, kmax ! do ix = imin, imax ! call BoundaryCyc_y(aya_Var(ix,:,kz)) ! end do ! end do do jy = 1, ymargin aaa_Var(:,1-jy,:) = aaa_Var(:,jm+1-jy,:) aaa_Var(:,jm+jy,:) = aaa_Var(:,jy,:) end do end subroutine BoundaryYCyc_aaa
Subroutine : | |
aaa_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryYCyc_aaa(aaa_Var) real(DBKIND),intent(inout) :: aaa_Var(imin:imax,jmin:jmax,kmin:kmax) integer :: ix, kz ! y 方向に周期境界条件を適用する ! do kz = kmin, kmax ! do ix = imin, imax ! call BoundaryCyc_y(aya_Var(ix,:,kz)) ! end do ! end do do jy = 1, ymargin aaa_Var(:,1-jy,:) = aaa_Var(:,jm+1-jy,:) aaa_Var(:,jm+jy,:) = aaa_Var(:,jy,:) end do end subroutine BoundaryYCyc_aaa
Subroutine : | |
aya_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryYSym_aya(aya_Var) real(DBKIND),intent(inout) :: aya_Var(imin:imax,jmin:jmax,kmin:kmax) ! y 方向に対称境界条件を適用する ! do kz = kmin, kmax ! do ix = imin, imax ! call boundarySym_y(aya_Var(ix,:,kz)) ! end do ! end do do jy = 1, ymargin aya_Var(:,1-jy,:) = aya_Var(:,jy,:) aya_Var(:,jm+jy,:) = aya_Var(:,jm+1-jy,:) end do end subroutine BoundaryYsym_aya
Subroutine : | |
xqz_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryYSym_xqz(xqz_Var) real(DBKIND),intent(inout) :: xqz_Var(imin:imax,jmin:jmax,kmin:kmax) ! y 方向に対称境界条件を適用する ! do kz = kmin, kmax ! do ix = imin, imax ! call boundarySym_q(xqz_Var(ix,:,kz)) ! end do ! end do do jy = 1, ymargin-1 xqz_Var(:,-jy,:) = xqz_Var(:,jy,:) end do do jy = 1, ymargin xqz_Var(:,jm+jy,:) = xqz_Var(:,jm+1-jy,:) end do end subroutine BoundaryYsym_xqz
Subroutine : | |
aya_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryYSym_aya(aya_Var) real(DBKIND),intent(inout) :: aya_Var(imin:imax,jmin:jmax,kmin:kmax) ! y 方向に対称境界条件を適用する ! do kz = kmin, kmax ! do ix = imin, imax ! call boundarySym_y(aya_Var(ix,:,kz)) ! end do ! end do do jy = 1, ymargin aya_Var(:,1-jy,:) = aya_Var(:,jy,:) aya_Var(:,jm+jy,:) = aya_Var(:,jm+1-jy,:) end do end subroutine BoundaryYsym_aya
Subroutine : | |
aya_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryYSym_aya(aya_Var) real(DBKIND),intent(inout) :: aya_Var(imin:imax,jmin:jmax,kmin:kmax) ! y 方向に対称境界条件を適用する ! do kz = kmin, kmax ! do ix = imin, imax ! call boundarySym_y(aya_Var(ix,:,kz)) ! end do ! end do do jy = 1, ymargin aya_Var(:,1-jy,:) = aya_Var(:,jy,:) aya_Var(:,jm+jy,:) = aya_Var(:,jm+1-jy,:) end do end subroutine BoundaryYsym_aya
Subroutine : | |
aaz_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryZAsym_aaz(aaz_Var) real(DBKIND),intent(inout) :: aaz_Var(imin:imax,jmin:jmax,kmin:kmax) ! z 方向に反対称境界条件を適用する ! do jy = jmin, jmax ! do ix = imin, imax ! call boundaryAsym_z(aaz_Var(ix,jy,:)) ! end do ! end do do kz = 1, zmargin aaz_Var(:,:,1-kz) = - aaz_Var(:,:,kz) aaz_Var(:,:,km+kz) = - aaz_Var(:,:,km+1-kz) end do end subroutine BoundaryZAsym_aaz
Subroutine : | |
aaz_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryZAsym_aaz(aaz_Var) real(DBKIND),intent(inout) :: aaz_Var(imin:imax,jmin:jmax,kmin:kmax) ! z 方向に反対称境界条件を適用する ! do jy = jmin, jmax ! do ix = imin, imax ! call boundaryAsym_z(aaz_Var(ix,jy,:)) ! end do ! end do do kz = 1, zmargin aaz_Var(:,:,1-kz) = - aaz_Var(:,:,kz) aaz_Var(:,:,km+kz) = - aaz_Var(:,:,km+1-kz) end do end subroutine BoundaryZAsym_aaz
Subroutine : | |
xyr_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryZAsym_xyr(xyr_Var) real(DBKIND),intent(inout) :: xyr_Var(imin:imax,jmin:jmax,kmin:kmax) ! z 方向に反対称境界条件を適用する ! do jy = jmin, jmax ! do ix = imin, imax ! call boundaryAsym_r(xyr_Var(ix,jy,:)) ! end do ! end do xyr_Var(:,:,0) = 0.0d0 xyr_Var(:,:,km) = 0.0d0 do kz = 1, zmargin-1 xyr_Var(:,:,-kz) = - xyr_Var(:,:,kz) end do do kz = 1, zmargin xyr_Var(:,:,km+kz) = - xyr_Var(:,:,km-kz) end do end subroutine BoundaryZAsym_xyr
Subroutine : | |
aaz_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryZAsym_aaz(aaz_Var) real(DBKIND),intent(inout) :: aaz_Var(imin:imax,jmin:jmax,kmin:kmax) ! z 方向に反対称境界条件を適用する ! do jy = jmin, jmax ! do ix = imin, imax ! call boundaryAsym_z(aaz_Var(ix,jy,:)) ! end do ! end do do kz = 1, zmargin aaz_Var(:,:,1-kz) = - aaz_Var(:,:,kz) aaz_Var(:,:,km+kz) = - aaz_Var(:,:,km+1-kz) end do end subroutine BoundaryZAsym_aaz
Subroutine : | |
aaa_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryZCyc_aaa(aaa_Var) real(DBKIND),intent(inout) :: aaa_Var(imin:imax,jmin:jmax,kmin:kmax) ! z 方向に周期境界条件を適用する ! do jy = jmin, jmax ! do ix = imin, imax ! call boundaryCyc_z(aaz_Var(ix,jy,:)) ! end do ! end do do kz = 1, zmargin aaa_Var(:,:,1-kz) = aaa_Var(:,:,km+1-kz) aaa_Var(:,:,km+kz) = aaa_Var(:,:,kz) end do end subroutine BoundaryZCyc_aaa
Subroutine : | |
aaa_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryZCyc_aaa(aaa_Var) real(DBKIND),intent(inout) :: aaa_Var(imin:imax,jmin:jmax,kmin:kmax) ! z 方向に周期境界条件を適用する ! do jy = jmin, jmax ! do ix = imin, imax ! call boundaryCyc_z(aaz_Var(ix,jy,:)) ! end do ! end do do kz = 1, zmargin aaa_Var(:,:,1-kz) = aaa_Var(:,:,km+1-kz) aaa_Var(:,:,km+kz) = aaa_Var(:,:,kz) end do end subroutine BoundaryZCyc_aaa
Subroutine : | |
aaa_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryZCyc_aaa(aaa_Var) real(DBKIND),intent(inout) :: aaa_Var(imin:imax,jmin:jmax,kmin:kmax) ! z 方向に周期境界条件を適用する ! do jy = jmin, jmax ! do ix = imin, imax ! call boundaryCyc_z(aaz_Var(ix,jy,:)) ! end do ! end do do kz = 1, zmargin aaa_Var(:,:,1-kz) = aaa_Var(:,:,km+1-kz) aaa_Var(:,:,km+kz) = aaa_Var(:,:,kz) end do end subroutine BoundaryZCyc_aaa
Subroutine : | |
aaa_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryZCyc_aaa(aaa_Var) real(DBKIND),intent(inout) :: aaa_Var(imin:imax,jmin:jmax,kmin:kmax) ! z 方向に周期境界条件を適用する ! do jy = jmin, jmax ! do ix = imin, imax ! call boundaryCyc_z(aaz_Var(ix,jy,:)) ! end do ! end do do kz = 1, zmargin aaa_Var(:,:,1-kz) = aaa_Var(:,:,km+1-kz) aaa_Var(:,:,km+kz) = aaa_Var(:,:,kz) end do end subroutine BoundaryZCyc_aaa
Subroutine : | |
aaz_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryZSym_aaz(aaz_Var) real(DBKIND),intent(inout) :: aaz_Var(imin:imax,jmin:jmax,kmin:kmax) ! z 方向に対称境界条件を適用する ! do jy = jmin, jmax ! do ix = imin, imax ! call boundarySym_z(aaz_Var(ix,jy,:)) ! end do ! end do do kz = 1, zmargin aaz_Var(:,:,1-kz) = aaz_Var(:,:,kz) aaz_Var(:,:,km+kz) = aaz_Var(:,:,km+1-kz) end do end subroutine BoundaryZSym_aaz
Subroutine : | |
aaz_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryZSym_aaz(aaz_Var) real(DBKIND),intent(inout) :: aaz_Var(imin:imax,jmin:jmax,kmin:kmax) ! z 方向に対称境界条件を適用する ! do jy = jmin, jmax ! do ix = imin, imax ! call boundarySym_z(aaz_Var(ix,jy,:)) ! end do ! end do do kz = 1, zmargin aaz_Var(:,:,1-kz) = aaz_Var(:,:,kz) aaz_Var(:,:,km+kz) = aaz_Var(:,:,km+1-kz) end do end subroutine BoundaryZSym_aaz
Subroutine : | |
xyr_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryZSym_xyr(xyr_Var) real(DBKIND),intent(inout) :: xyr_Var(imin:imax,jmin:jmax,kmin:kmax) ! z 方向に対称境界条件を適用する ! do jy = jmin, jmax ! do ix = imin, imax ! call boundarySym_r(xyr_Var(ix,jy,:)) ! end do ! end do do kz = 1, zmargin-1 xyr_Var(:,:,-kz) = xyr_Var(:,:,kz) end do do kz = 1, zmargin xyr_Var(:,:,km+kz) = xyr_Var(:,:,km+1-kz) end do end subroutine BoundaryZSym_xyr
Subroutine : | |
aaz_Var(imin:imax,jmin:jmax,kmin:kmax) : | real(DBKIND),intent(inout) |
subroutine BoundaryZSym_aaz(aaz_Var) real(DBKIND),intent(inout) :: aaz_Var(imin:imax,jmin:jmax,kmin:kmax) ! z 方向に対称境界条件を適用する ! do jy = jmin, jmax ! do ix = imin, imax ! call boundarySym_z(aaz_Var(ix,jy,:)) ! end do ! end do do kz = 1, zmargin aaz_Var(:,:,1-kz) = aaz_Var(:,:,kz) aaz_Var(:,:,km+kz) = aaz_Var(:,:,km+1-kz) end do end subroutine BoundaryZSym_aaz