| Class | xy_base_module |
| In: |
setup/xy_base_module.f90
|
xy_base_module は, 2 次元 (xy 方向) 等間隔交互格子を用いた有限差分 法に基づく数値モデルのための, 基本的な Fortran90 副プログラムおよび 関数を提供する.
このモジュールは xy_module の下位モジュールである. 下請けモジュール として data_type, x_base_module, y_base_module モジュールを用いている.
| Function : | |||
| AvrXY_py : | real(DBKIND)
| ||
| py_Var(imin:imax,jmin:jmax) : | real(DBKIND), intent(in)
|
py 格子上の配列に対し領域平均を行う
function AvrXY_py(py_Var)
! py 格子上の配列に対し領域平均を行う
real(DBKIND), intent(in) :: py_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: AvrXY_py ! 出力
AvrXY_py = IntXY_py(py_Var)/(sum(p_dx(1:im))*sum(y_dy(1:jm)))
end function AvrXY_py
| Function : | |||
| AvrXY_xq : | real(DBKIND)
| ||
| xq_Var(imin:imax,jmin:jmax) : | real(DBKIND), intent(in)
|
xq 格子上の配列に対し領域平均を行う
function AvrXY_xq(xq_Var)
! xq 格子上の配列に対し領域平均を行う
real(DBKIND), intent(in) :: xq_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: AvrXY_xq ! 出力
AvrXY_xq = IntXY_xq(xq_Var)/(sum(x_dx(1:im))*sum(q_dy(1:jm)))
end function AvrXY_xq
| Function : | |||
| AvrXY_xy : | real(DBKIND)
| ||
| xy_Var(imin:imax,jmin:jmax) : | real(DBKIND), intent(in)
|
xy 格子上の配列に対し領域平均を行う
function AvrXY_xy(xy_Var)
! xy 格子上の配列に対し領域平均を行う
real(DBKIND), intent(in) :: xy_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: AvrXY_xy ! 出力
AvrXY_xy = IntXY_xy(xy_Var)/(sum(x_dx(1:im))*sum(y_dy(1:jm)))
end function AvrXY_xy
| Function : | |||
| AvrX_p : | real(DBKIND)
| ||
| p_Var(imin:imax) : | real(DBKIND), intent(in)
|
整数格子上の配列に対し x 方向の平均操作を行う
Original external subprogram is x_base_module#AvrX_p
| Function : | |||
| AvrX_x : | real(DBKIND)
| ||
| x_Var(imin:imax) : | real(DBKIND), intent(in)
|
半整数格子上の配列に対し x 方向の平均操作を行う
Original external subprogram is x_base_module#AvrX_x
| Function : | |||
| AvrY_q : | real(DBKIND)
| ||
| q_Var(jmin:jmax) : | real(DBKIND), intent(in)
|
整数格子上の配列に対し y 方向の平均操作を行う
Original external subprogram is y_base_module#AvrY_q
| Function : | |||
| AvrY_y : | real(DBKIND)
| ||
| y_Var(jmin:jmax) : | real(DBKIND), intent(in)
|
半整数格子上の配列に対し y 方向の平均操作を行う
Original external subprogram is y_base_module#AvrY_y
| Function : | |||
| IntXY_py : | real(DBKIND)
| ||
| py_Var(imin:imax,jmin:jmax) : | real(DBKIND), intent(in)
|
py 格子上の配列に対し領域積分を行う
function IntXY_py(py_Var)
! py 格子上の配列に対し領域積分を行う
real(DBKIND), intent(in) :: py_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: IntXY_py ! 出力
IntXY_py = IntY_y(y_IntX_py(py_Var))
end function IntXY_py
| Function : | |||
| IntXY_xq : | real(DBKIND)
| ||
| xq_Var(imin:imax,jmin:jmax) : | real(DBKIND), intent(in)
|
xq 格子上の配列に対し領域積分を行う
function IntXY_xq(xq_Var)
! xq 格子上の配列に対し領域積分を行う
real(DBKIND), intent(in) :: xq_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: IntXY_xq ! 出力
IntXY_xq = IntY_q(a_IntX_xa(xq_Var))
end function IntXY_xq
| Function : | |||
| IntXY_xy : | real(DBKIND)
| ||
| xy_Var(imin:imax,jmin:jmax) : | real(DBKIND), intent(in)
|
xy 格子上の配列に対し領域積分を行う
function IntXY_xy(xy_Var)
! xy 格子上の配列に対し領域積分を行う
real(DBKIND), intent(in) :: xy_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: IntXY_xy ! 出力
IntXY_xy = IntY_y(a_IntX_xa(xy_Var))
end function IntXY_xy
| Function : | |||
| IntX_p : | real(DBKIND)
| ||
| p_Var(imin:imax) : | real(DBKIND), intent(in)
|
整数格子上の配列に対し x 方向に重み付きの積分を行う
Original external subprogram is x_base_module#IntX_p
| Function : | |||
| IntX_x : | real(DBKIND)
| ||
| x_Var(imin:imax) : | real(DBKIND), intent(in)
|
半整数格子上の配列に対し x 方向に重み付きの積分を行う
Original external subprogram is x_base_module#IntX_x
| Function : | |||
| IntY_q : | real(DBKIND)
| ||
| q_Var(jmin:jmax) : | real(DBKIND), intent(in)
|
整数格子上の配列に対し y 方向に重み付きの積分を行う
Original external subprogram is y_base_module#IntY_q
| Function : | |||
| IntY_y : | real(DBKIND)
| ||
| y_Var(jmin:jmax) : | real(DBKIND), intent(in)
|
半整数格子上の配列に対し y 方向に重み付きの積分を行う
Original external subprogram is y_base_module#IntY_y
| Function : | |||
| a_AvrY_ay(imin:imax) : | real(DBKIND)
| ||
| ay_Var(imin:imax,jmin:jmax) : | real(DBKIND), intent(in)
|
ay 格子上の配列に対し y 方向に平均を行う
function a_AvrY_ay(ay_Var)
! ay 格子上の配列に対し y 方向に平均を行う
real(DBKIND), intent(in) :: ay_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: a_AvrY_ay(imin:imax) ! 出力
a_AvrY_ay = a_IntY_ay(ay_Var)/sum(y_dy(1:jm))
end function a_AvrY_ay
| Function : | |||
| a_IntY_ay(imin:imax) : | real(DBKIND)
| ||
| ay_Var(imin:imax,jmin:jmax) : | real(DBKIND), intent(in)
|
ay 格子上の配列に対し y 方向に重み付きの積分を行う
function a_IntY_ay(ay_Var)
! ay 格子上の配列に対し y 方向に重み付きの積分を行う
real(DBKIND), intent(in) :: ay_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: a_IntY_ay(imin:imax) ! 出力
integer :: ix ! ループ添字
! 初期化
a_IntY_ay = 0.0d0
! 積分
do ix = imin, imax
a_IntY_ay(ix) = IntY_y(ay_Var(ix,:))
end do
end function a_IntY_ay
| Variable : | |||
| p_X(:) : | real(DBKIND),allocatable
|
Original external subprogram is x_base_module#p_X
| Function : | |||
| p_avr_x(imin:imax) : | real(DBKIND)
| ||
| x_Var(imin:imax) : | real(DBKIND),intent(in)
|
平均操作を行い半整数格子点の配列値を整数格子点上へ返す
Original external subprogram is x_base_module#p_avr_x
| Variable : | |||
| p_dx(:) : | real(DBKIND),allocatable
|
Original external subprogram is x_base_module#p_dx
| Function : | |||
| aq_avr_ay(imin:imax,jmin:jmax) : | real(DBKIND)
| ||
| ay_Var(imin:imax,jmin:jmax) : | real(DBKIND),intent(in)
|
平均操作を行い半整数格子点の配列値を整数格子点上へ返す
function aq_avr_ay(ay_Var)
! 平均操作を行い半整数格子点の配列値を整数格子点上へ返す
real(DBKIND),intent(in) :: ay_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: aq_avr_ay(imin:imax,jmin:jmax) ! 出力
integer :: ix ! ループ添字
! 初期化
! * 0 割りを防ぐためにはマシンイプシロン値を用いるべき
!
aq_avr_ay = 0.0d0
! 平均操作
! * 関数 q_y を用いて計算.
!
do ix = imin, imax
aq_avr_ay(ix,:) = q_avr_y(ay_Var(ix,:))
end do
end function aq_avr_ay
| Function : | |||
| pa_avr_xa(imin:imax,jmin:jmax) : | real(DBKIND)
| ||
| xa_Var(imin:imax,jmin:jmax) : | real(DBKIND),intent(in)
|
平均操作を行い半整数格子点の配列値を整数格子点上へ返す
function pa_avr_xa(xa_Var)
! 平均操作を行い半整数格子点の配列値を整数格子点上へ返す
real(DBKIND),intent(in) :: xa_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: pa_avr_xa(imin:imax,jmin:jmax) ! 出力
integer :: jy ! ループ添字
! 初期化
! * 0 割りを防ぐためにはマシンイプシロン値を用いるべき
!
pa_avr_xa = 0.0d0
! 平均操作
! * 関数 p_x を用いて計算
!
do jy = jmin, jmax
pa_avr_xa(:,jy) = p_avr_x(xa_Var(:,jy))
end do
end function pa_avr_xa
| Function : | |||
| ay_avr_aq(imin:imax,jmin:jmax) : | real(DBKIND)
| ||
| aq_Var(imin:imax,jmin:jmax) : | real(DBKIND),intent(in)
|
平均操作を行い整数格子点の配列値を半整数格子点上へ返す
function ay_avr_aq(aq_Var)
! 平均操作を行い整数格子点の配列値を半整数格子点上へ返す
real(DBKIND),intent(in) :: aq_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: ay_avr_aq(imin:imax,jmin:jmax) ! 出力
integer :: ix ! ループ添字
! 初期化
! * 0 割りを防ぐためにはマシンイプシロン値を用いるべき
!
ay_avr_aq = 0.0d0
! 平均操作
! * 関数 y_q を用いて計算
!
do ix = imin, imax
ay_avr_aq(ix,:) = y_avr_q(aq_Var(ix,:))
end do
end function ay_avr_aq
| Function : | |||
| pa_avr_xa(imin:imax,jmin:jmax) : | real(DBKIND)
| ||
| xa_Var(imin:imax,jmin:jmax) : | real(DBKIND),intent(in)
|
平均操作を行い半整数格子点の配列値を整数格子点上へ返す
function pa_avr_xa(xa_Var)
! 平均操作を行い半整数格子点の配列値を整数格子点上へ返す
real(DBKIND),intent(in) :: xa_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: pa_avr_xa(imin:imax,jmin:jmax) ! 出力
integer :: jy ! ループ添字
! 初期化
! * 0 割りを防ぐためにはマシンイプシロン値を用いるべき
!
pa_avr_xa = 0.0d0
! 平均操作
! * 関数 p_x を用いて計算
!
do jy = jmin, jmax
pa_avr_xa(:,jy) = p_avr_x(xa_Var(:,jy))
end do
end function pa_avr_xa
| Function : | |||
| a_AvrX_xa(jmin:jmax) : | real(DBKIND)
| ||
| xa_Var(imin:imax,jmin:jmax) : | real(DBKIND), intent(in)
|
xa 格子上の配列に対し x 方向に平均を行う
function a_AvrX_xa(xa_Var)
! xa 格子上の配列に対し x 方向に平均を行う
real(DBKIND), intent(in) :: xa_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: a_AvrX_xa(jmin:jmax) ! 出力
a_AvrX_xa = a_IntX_xa(xa_Var)/sum(x_dx(1:im))
end function a_AvrX_xa
| Function : | |||
| a_IntX_xa(jmin:jmax) : | real(DBKIND)
| ||
| xa_Var(imin:imax,jmin:jmax) : | real(DBKIND), intent(in)
|
xa 格子上の配列に対し x 方向に重み付きの積分を行う
function a_IntX_xa(xa_Var)
! xa 格子上の配列に対し x 方向に重み付きの積分を行う
real(DBKIND), intent(in) :: xa_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: a_IntX_xa(jmin:jmax) ! 出力
integer :: jy ! ループ添字
! 初期化
a_IntX_xa = 0.0d0
! 積分
do jy = jmin, jmax
a_IntX_xa(jy) = IntX_x(xa_Var(:,jy))
end do
end function a_IntX_xa
| Variable : | |||
| q_Y(:) : | real(DBKIND),allocatable
|
Original external subprogram is y_base_module#q_Y
| Function : | |||
| q_avr_y(jmin:jmax) : | real(DBKIND)
| ||
| y_Var(jmin:jmax) : | real(DBKIND),intent(in)
|
平均操作を行い半整数格子点の配列値を整数格子点上へ返す
Original external subprogram is y_base_module#q_avr_y
| Variable : | |||
| q_dy(:) : | real(DBKIND),allocatable
|
Original external subprogram is y_base_module#q_dy
| Function : | |||
| x_AvrY_xq(imin:imax) : | real(DBKIND)
| ||
| xq_Var(imin:imax,jmin:jmax) : | real(DBKIND), intent(in)
|
xq 格子上の配列に対し y 方向に平均を行う
function x_AvrY_xq(xq_Var)
! xq 格子上の配列に対し y 方向に平均を行う
real(DBKIND), intent(in) :: xq_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: x_AvrY_xq(imin:imax) ! 出力
x_AvrY_xq = x_IntY_xq(xq_Var)/sum(q_dy(1:jm))
end function x_AvrY_xq
| Function : | |||
| a_AvrY_ay(imin:imax) : | real(DBKIND)
| ||
| ay_Var(imin:imax,jmin:jmax) : | real(DBKIND), intent(in)
|
ay 格子上の配列に対し y 方向に平均を行う
function a_AvrY_ay(ay_Var)
! ay 格子上の配列に対し y 方向に平均を行う
real(DBKIND), intent(in) :: ay_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: a_AvrY_ay(imin:imax) ! 出力
a_AvrY_ay = a_IntY_ay(ay_Var)/sum(y_dy(1:jm))
end function a_AvrY_ay
| Function : | |||
| x_IntY_xq(imin:imax) : | real(DBKIND)
| ||
| xq_Var(imin:imax,jmin:jmax) : | real(DBKIND), intent(in)
|
ay 格子上の配列に対し y 方向に重み付きの積分を行う
function x_IntY_xq(xq_Var)
! ay 格子上の配列に対し y 方向に重み付きの積分を行う
real(DBKIND), intent(in) :: xq_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: x_IntY_xq(imin:imax) ! 出力
integer :: ix ! ループ添字
! 初期化
x_IntY_xq = 0.0d0
! 積分
do ix = imin, imax
x_IntY_xq(ix) = IntY_q(xq_Var(ix,:))
end do
end function x_IntY_xq
| Function : | |||
| a_IntY_ay(imin:imax) : | real(DBKIND)
| ||
| ay_Var(imin:imax,jmin:jmax) : | real(DBKIND), intent(in)
|
ay 格子上の配列に対し y 方向に重み付きの積分を行う
function a_IntY_ay(ay_Var)
! ay 格子上の配列に対し y 方向に重み付きの積分を行う
real(DBKIND), intent(in) :: ay_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: a_IntY_ay(imin:imax) ! 出力
integer :: ix ! ループ添字
! 初期化
a_IntY_ay = 0.0d0
! 積分
do ix = imin, imax
a_IntY_ay(ix) = IntY_y(ay_Var(ix,:))
end do
end function a_IntY_ay
| Variable : | |||
| x_X(:) : | real(DBKIND),allocatable
|
Original external subprogram is x_base_module#x_X
| Function : | |||
| x_avr_p(imin:imax) : | real(DBKIND)
| ||
| p_Var(imin:imax) : | real(DBKIND),intent(in)
|
平均操作を行い整数格子点の配列値を半整数格子点上へ返す
Original external subprogram is x_base_module#x_avr_p
| Variable : | |||
| x_dx(:) : | real(DBKIND),allocatable
|
Original external subprogram is x_base_module#x_dx
| Variable : | |||
| xmargin = 2 : | integer
|
Original external subprogram is x_base_module#xmargin
| Function : | |||
| xa_avr_pa(imin:imax,jmin:jmax) : | real(DBKIND)
| ||
| pa_Var(imin:imax,jmin:jmax) : | real(DBKIND),intent(in)
|
平均操作を行い整数格子点の配列値を半整数格子点上へ返す
function xa_avr_pa(pa_Var)
! 平均操作を行い整数格子点の配列値を半整数格子点上へ返す
real(DBKIND),intent(in) :: pa_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: xa_avr_pa(imin:imax,jmin:jmax) ! 出力
integer :: jy ! ループ添字
! 初期化
! * 0 割りを防ぐためにはマシンイプシロン値を用いるべき
!
xa_avr_pa = 0.0d0
! 平均操作
! * 関数 x_avr_p を用いて計算
!
do jy = jmin, jmax
xa_avr_pa(:,jy) = x_avr_p(pa_Var(:,jy))
end do
end function xa_avr_pa
| Function : | |||
| aq_avr_ay(imin:imax,jmin:jmax) : | real(DBKIND)
| ||
| ay_Var(imin:imax,jmin:jmax) : | real(DBKIND),intent(in)
|
平均操作を行い半整数格子点の配列値を整数格子点上へ返す
function aq_avr_ay(ay_Var)
! 平均操作を行い半整数格子点の配列値を整数格子点上へ返す
real(DBKIND),intent(in) :: ay_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: aq_avr_ay(imin:imax,jmin:jmax) ! 出力
integer :: ix ! ループ添字
! 初期化
! * 0 割りを防ぐためにはマシンイプシロン値を用いるべき
!
aq_avr_ay = 0.0d0
! 平均操作
! * 関数 q_y を用いて計算.
!
do ix = imin, imax
aq_avr_ay(ix,:) = q_avr_y(ay_Var(ix,:))
end do
end function aq_avr_ay
| Function : | |||
| xa_avr_pa(imin:imax,jmin:jmax) : | real(DBKIND)
| ||
| pa_Var(imin:imax,jmin:jmax) : | real(DBKIND),intent(in)
|
平均操作を行い整数格子点の配列値を半整数格子点上へ返す
function xa_avr_pa(pa_Var)
! 平均操作を行い整数格子点の配列値を半整数格子点上へ返す
real(DBKIND),intent(in) :: pa_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: xa_avr_pa(imin:imax,jmin:jmax) ! 出力
integer :: jy ! ループ添字
! 初期化
! * 0 割りを防ぐためにはマシンイプシロン値を用いるべき
!
xa_avr_pa = 0.0d0
! 平均操作
! * 関数 x_avr_p を用いて計算
!
do jy = jmin, jmax
xa_avr_pa(:,jy) = x_avr_p(pa_Var(:,jy))
end do
end function xa_avr_pa
| Function : | |||
| ay_avr_aq(imin:imax,jmin:jmax) : | real(DBKIND)
| ||
| aq_Var(imin:imax,jmin:jmax) : | real(DBKIND),intent(in)
|
平均操作を行い整数格子点の配列値を半整数格子点上へ返す
function ay_avr_aq(aq_Var)
! 平均操作を行い整数格子点の配列値を半整数格子点上へ返す
real(DBKIND),intent(in) :: aq_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: ay_avr_aq(imin:imax,jmin:jmax) ! 出力
integer :: ix ! ループ添字
! 初期化
! * 0 割りを防ぐためにはマシンイプシロン値を用いるべき
!
ay_avr_aq = 0.0d0
! 平均操作
! * 関数 y_q を用いて計算
!
do ix = imin, imax
ay_avr_aq(ix,:) = y_avr_q(aq_Var(ix,:))
end do
end function ay_avr_aq
| Subroutine : | |||
| i : | integer,intent(in)
| ||
| j : | integer,intent(in)
| ||
| xmg : | integer,intent(in)
| ||
| ymg : | integer,intent(in)
| ||
| xmin : | real(DBKIND),intent(in)
| ||
| xmax : | real(DBKIND),intent(in)
| ||
| ymin : | real(DBKIND),intent(in)
| ||
| ymax : | real(DBKIND),intent(in)
|
xy 方向の座標値と格子点間隔を設定する
subroutine xy_axis_init(i, j, xmg, ymg, xmin, xmax, ymin, ymax)
! xy 方向の座標値と格子点間隔を設定する
integer,intent(in) :: i ! x 方向格子点数
integer,intent(in) :: j ! y 方向格子点数
integer,intent(in) :: xmg ! x 方向糊代格子点数
integer,intent(in) :: ymg ! y 方向糊代格子点数
real(DBKIND),intent(in) :: xmin ! x 座標最小値
real(DBKIND),intent(in) :: xmax ! x 座標最大値
real(DBKIND),intent(in) :: ymin ! y 座標最小値
real(DBKIND),intent(in) :: ymax ! y 座標最大値
! 配列の上下限の値, 座標値と格子点間隔を設定
! * 1 次元用のサブルーチンを用いる
!
call x_axis_init(i, xmg, xmin, xmax)
call y_axis_init(j, ymg, ymin, ymax)
! 2 次元座標配列の設定
! * 組み込み関数 spread を用いて 1 次元配列を 2 次元に拡張する.
!
allocate(xy_X(imin:imax,jmin:jmax))
allocate(xy_Y(imin:imax,jmin:jmax))
allocate(xy_dx(imin:imax,jmin:jmax))
allocate(py_dx(imin:imax,jmin:jmax))
allocate(xy_dy(imin:imax,jmin:jmax))
allocate(xq_dy(imin:imax,jmin:jmax))
xy_X = spread(x_X,2,size(y_Y))
xy_Y = spread(y_Y,1,size(x_X))
xy_dx = spread(x_dx,2,size(y_Y))
py_dx = spread(p_dx,2,size(y_Y))
xy_dy = spread(y_dy,1,size(x_X))
xq_dy = spread(q_dy,1,size(x_X))
end subroutine xy_axis_init
| Function : | |||
| y_AvrX_py(jmin:jmax) : | real(DBKIND)
| ||
| py_Var(imin:imax,jmin:jmax) : | real(DBKIND), intent(in)
|
py 格子上の配列に対し x 方向に平均を行う
function y_AvrX_py(py_Var)
! py 格子上の配列に対し x 方向に平均を行う
real(DBKIND), intent(in) :: py_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: y_AvrX_py(jmin:jmax) ! 出力
y_AvrX_py = y_IntX_py(py_Var)/sum(p_dx(1:im))
end function y_AvrX_py
| Function : | |||
| a_AvrX_xa(jmin:jmax) : | real(DBKIND)
| ||
| xa_Var(imin:imax,jmin:jmax) : | real(DBKIND), intent(in)
|
xa 格子上の配列に対し x 方向に平均を行う
function a_AvrX_xa(xa_Var)
! xa 格子上の配列に対し x 方向に平均を行う
real(DBKIND), intent(in) :: xa_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: a_AvrX_xa(jmin:jmax) ! 出力
a_AvrX_xa = a_IntX_xa(xa_Var)/sum(x_dx(1:im))
end function a_AvrX_xa
| Function : | |||
| y_IntX_py(jmin:jmax) : | real(DBKIND)
| ||
| py_Var(imin:imax,jmin:jmax) : | real(DBKIND), intent(in)
|
py 格子上の配列に対し x 方向に重み付きの積分を行う
function y_IntX_py(py_Var)
! py 格子上の配列に対し x 方向に重み付きの積分を行う
real(DBKIND), intent(in) :: py_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: y_IntX_py(jmin:jmax) ! 出力
integer :: jy ! ループ添字
! 初期化
y_IntX_py = 0.0d0
! 積分
do jy = jmin, jmax
y_IntX_py(jy) = IntX_p(py_Var(:,jy))
end do
end function y_IntX_py
| Function : | |||
| a_IntX_xa(jmin:jmax) : | real(DBKIND)
| ||
| xa_Var(imin:imax,jmin:jmax) : | real(DBKIND), intent(in)
|
xa 格子上の配列に対し x 方向に重み付きの積分を行う
function a_IntX_xa(xa_Var)
! xa 格子上の配列に対し x 方向に重み付きの積分を行う
real(DBKIND), intent(in) :: xa_Var(imin:imax,jmin:jmax) ! 入力
real(DBKIND) :: a_IntX_xa(jmin:jmax) ! 出力
integer :: jy ! ループ添字
! 初期化
a_IntX_xa = 0.0d0
! 積分
do jy = jmin, jmax
a_IntX_xa(jy) = IntX_x(xa_Var(:,jy))
end do
end function a_IntX_xa
| Variable : | |||
| y_Y(:) : | real(DBKIND),allocatable
|
Original external subprogram is y_base_module#y_Y
| Function : | |||
| y_avr_q(jmin:jmax) : | real(DBKIND)
| ||
| q_Var(jmin:jmax) : | real(DBKIND),intent(in)
|
平均操作を行い整数格子点の配列値を半整数格子点上へ返す
Original external subprogram is y_base_module#y_avr_q
| Variable : | |||
| y_dy(:) : | real(DBKIND),allocatable
|
Original external subprogram is y_base_module#y_dy
| Variable : | |||
| ymargin = 2 : | integer
|
Original external subprogram is y_base_module#ymargin