Public Instance methods
AvrX_x( x ) result(AvrX_x)
Function : |
|
AvrX_x : | real(8)
|
x : | real(8), dimension(0:im-1)
|
1 次元(X)格子点データの X 方向平均
実際には格子点データ各点毎に x_X_Weight をかけた総和を計算し, x_X_Weight
の総和で割ることで平均している.
Original external subprogram is et_module_fftj#AvrX_x
AvrYX_yx( yx ) result(AvrYX_yx)
Function : |
|
AvrYX_yx : | real(8)
|
yx : | real(8), dimension(0:jm,0:im-1)
|
2 次元格子点データの全領域平均
実際には格子点データ各点毎に x_X_Weight, y_Y_Weight をかけた 総和を計算し,
x_X_Weight*y_Y_Weight の総和で割ることで平均している.
Original external subprogram is et_module_fftj#AvrYX_yx
AvrY_y( y ) result(AvrY_y)
Function : |
|
AvrY_y : | real(8)
|
y : | real(8), dimension(0:jm)
|
1 次元(Y)格子点データの Y 方向平均
実際には格子点データ各点毎に y_Y_Weight をかけた総和を計算し, y_Y_Weight
の総和で割ることで平均している.
Original external subprogram is et_module_fftj#AvrY_y
IntX_x( x ) result(IntX_x)
Function : |
|
IntX_x : | real(8)
|
x : | real(8), dimension(0:im-1)
|
X 方向積分
1 次元(X)格子点データの X 方向積分
実際には格子点データ各点毎に x_X_Weight をかけた総和を計算している.
Original external subprogram is et_module_fftj#IntX_x
IntYX_yx( yx ) result(IntYX_yx)
Function : |
|
IntYX_yx : | real(8)
|
yx : | real(8), dimension(0:jm,0:im-1)
|
全領域積分
2 次元格子点データの全領域積分および平均.
実際には格子点データ各点毎に x_X_Weight, y_Y_Weight をかけた
総和を計算している.
Original external subprogram is et_module_fftj#IntYX_yx
IntY_y( y ) result(IntY_y)
Function : |
|
IntY_y : | real(8)
|
y : | real(8), dimension(0:jm)
|
Y 方向積分
1 次元(Y)格子点データの Y 方向積分
実際には格子点データ各点毎に y_Y_Weight をかけた総和を計算している.
Original external subprogram is et_module_fftj#IntY_y
b_Dy_b( b_data ) result(b_Dx_b)
Function : |
|
b_Dx_b(ks:km) : | real(8)
|
b_data(ks:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 片端ノイマン片端ディリクレ境界条件
X 微分計算(1 次元)
Original external subprogram is at_ab_galerkin_ND#b_Dx_b
b_t( t_data ) result(b_t)
Function : |
|
b_t(ks:km) : | real(8)
|
t_data(0:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 片端ノイマン片端ディリクレ境界条件
チェビシェフ係数 -> ガラーキン係数変換(1次元データ)
Original external subprogram is at_ab_galerkin_ND#b_t
b_y( g_data ) result(b_g)
Function : |
|
b_g(ks:km) : | real(8)
|
g_data(0:im) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 片端ノイマン片端ディリクレ境界条件
格子点データ -> ガラーキン係数変換(1次元データ)
Original external subprogram is at_ab_galerkin_ND#b_g
d_Dy_d( d_data ) result(d_Dx_d)
Function : |
|
d_Dx_d(ks:km) : | real(8)
|
d_data(ks:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ディリクレ境界条件
X 微分計算(1 次元データ)
Original external subprogram is at_ad_galerkin_DD#d_Dx_d
d_t( t_data ) result(d_t)
Function : |
|
d_t(ks:km) : | real(8)
|
t_data(0:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ディリクレ境界条件
チェビシェフ係数 -> ガラーキン係数変換(1次元データ)
Original external subprogram is at_ad_galerkin_DD#d_t
d_y( g_data ) result(d_g)
Function : |
|
d_g(ks:km) : | real(8)
|
g_data(0:im) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ディリクレ境界条件
格子点データ -> ガラーキン係数変換(1次元データ)
Original external subprogram is at_ad_galerkin_DD#d_g
Function : |
|
eb_Dx_eb : | real(8), dimension(-km:km,2:lm)
|
eb : | real(8), dimension(-km:km,2:lm), intent(in)
|
入力スペクトルデータに X 微分(∂x)を作用する.
スペクトルデータの X 微分とは, 対応する格子点データに X 微分を
作用させたデータのスペクトル変換のことである.
実際にはスペクトルデータに X 方向波数 k をかけて sin(kx) <-> cos(kx)
成分に入れ換える計算を行っている.
[Source]
function eb_Dx_eb(eb)
!
! 入力スペクトルデータに X 微分(∂x)を作用する.
!
! スペクトルデータの X 微分とは, 対応する格子点データに X 微分を
! 作用させたデータのスペクトル変換のことである.
!
! 実際にはスペクトルデータに X 方向波数 k をかけて
! sin(kx) <-> cos(kx) 成分に入れ換える計算を行っている.
!
real(8), dimension(-km:km,2:lm) :: eb_Dx_eb
real(8), dimension(-km:km,2:lm), intent(in) :: eb
integer k
do k=-km,km
eb_Dx_eb(k,:) = (-2*pi*k/xl)*eb(-k,:)
enddo
end function eb_Dx_eb
eb_Dy_eb( ab_data ) result(ab_Dx_ab)
Function : |
|
ab_Dx_ab(size(ab_data,1),ks:km) : | real(8)
|
ab_data(:,ks:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 片端ノイマン片端ディリクレ境界条件
X 微分計算(2 次元)
Original external subprogram is at_ab_galerkin_ND#ab_Dx_ab
eb_et( at_data ) result(ab_at)
Function : |
|
ab_at(size(at_data,1),ks:km) : | real(8)
|
at_data(:,0:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 片端ノイマン片端ディリクレ境界条件
チェビシェフ係数 -> ガラーキン係数変換(2次元データ)
Original external subprogram is at_ab_galerkin_ND#ab_at
eb_ey( ag_data ) result(ab_ag)
Function : |
|
ab_ag(size(ag_data,1),ks:km) : | real(8)
|
ag_data(:,0:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 片端ノイマン片端ディリクレ境界条件
格子点データ -> ガラーキン係数変換(2次元データ)
Original external subprogram is at_ab_galerkin_ND#ab_ag
Function : |
|
eb_yx : | real(8), dimension(-km:km,2:lm)
|
yx : | real(8), dimension(0:jm,0:im-1), intent(in)
|
格子データからガラーキンデータへ変換する.
[Source]
function eb_yx(yx)
!
! 格子データからガラーキンデータへ変換する.
!
real(8), dimension(-km:km,2:lm) :: eb_yx
!(out) スペクトルデータ
real(8), dimension(0:jm,0:im-1), intent(in) :: yx
!(in) 格子点データ
eb_yx = eb_et(et_yx(yx))
end function eb_yx
Function : |
|
ed_Dx_ed : | real(8), dimension(-km:km,2:lm)
|
ed : | real(8), dimension(-km:km,2:lm), intent(in)
|
入力スペクトルデータに X 微分(∂x)を作用する.
スペクトルデータの X 微分とは, 対応する格子点データに X 微分を
作用させたデータのスペクトル変換のことである.
実際にはスペクトルデータに X 方向波数 k をかけて sin(kx) <-> cos(kx)
成分に入れ換える計算を行っている.
[Source]
function ed_Dx_ed(ed)
!
! 入力スペクトルデータに X 微分(∂x)を作用する.
!
! スペクトルデータの X 微分とは, 対応する格子点データに X 微分を
! 作用させたデータのスペクトル変換のことである.
!
! 実際にはスペクトルデータに X 方向波数 k をかけて
! sin(kx) <-> cos(kx) 成分に入れ換える計算を行っている.
!
real(8), dimension(-km:km,2:lm) :: ed_Dx_ed
real(8), dimension(-km:km,2:lm), intent(in) :: ed
integer k
do k=-km,km
ed_Dx_ed(k,:) = (-2*pi*k/xl)*ed(-k,:)
enddo
end function ed_Dx_ed
ed_Dy_ed( ad_data ) result(ad_Dx_ad)
Function : |
|
ad_Dx_ad(size(ad_data,1),ks:km) : | real(8)
|
ad_data(:,ks:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ディリクレ境界条件
X 微分計算(2 次元データ)
Original external subprogram is at_ad_galerkin_DD#ad_Dx_ad
ed_et( at_data ) result(ad_at)
Function : |
|
ad_at(size(at_data,1),ks:km) : | real(8)
|
at_data(:,0:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ディリクレ境界条件
チェビシェフ係数 -> ガラーキン係数変換(2次元データ)
Original external subprogram is at_ad_galerkin_DD#ad_at
ed_ey( ag_data ) result(ad_ag)
Function : |
|
ad_ag(size(ag_data,1),ks:km) : | real(8)
|
ag_data(:,0:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ディリクレ境界条件
格子点データ -> ガラーキン係数変換(2次元データ)
Original external subprogram is at_ad_galerkin_DD#ad_ag
Function : |
|
ed_yx : | real(8), dimension(-km:km,2:lm)
|
yx : | real(8), dimension(0:jm,0:im-1), intent(in)
|
格子データからガラーキンデータへ変換する.
[Source]
function ed_yx(yx)
!
! 格子データからガラーキンデータへ変換する.
!
real(8), dimension(-km:km,2:lm) :: ed_yx
!(out) スペクトルデータ
real(8), dimension(0:jm,0:im-1), intent(in) :: yx
!(in) 格子点データ
ed_yx = ed_et(et_yx(yx))
end function ed_yx
Function : |
|
ef_Dx_ef : | real(8), dimension(-km:km,2:lm)
|
ef : | real(8), dimension(-km:km,2:lm), intent(in)
|
入力スペクトルデータに X 微分(∂x)を作用する.
スペクトルデータの X 微分とは, 対応する格子点データに X 微分を
作用させたデータのスペクトル変換のことである.
実際にはスペクトルデータに X 方向波数 k をかけて sin(kx) <-> cos(kx)
成分に入れ換える計算を行っている.
[Source]
function ef_Dx_ef(ef)
!
! 入力スペクトルデータに X 微分(∂x)を作用する.
!
! スペクトルデータの X 微分とは, 対応する格子点データに X 微分を
! 作用させたデータのスペクトル変換のことである.
!
! 実際にはスペクトルデータに X 方向波数 k をかけて
! sin(kx) <-> cos(kx) 成分に入れ換える計算を行っている.
!
real(8), dimension(-km:km,2:lm) :: ef_Dx_ef
real(8), dimension(-km:km,2:lm), intent(in) :: ef
integer k
do k=-km,km
ef_Dx_ef(k,:) = (-2*pi*k/xl)*ef(-k,:)
enddo
end function ef_Dx_ef
ef_Dy_ef( af_data ) result(af_Dx_af)
Function : |
|
af_Dx_af(size(af_data,1),ks:km) : | real(8)
|
af_data(:,ks:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 ディリクレ・ノイマン混合境界条件
X 微分計算(2 次元)
Original external subprogram is at_af_galerkin_MM#af_Dx_af
ef_et( at_data ) result(af_at)
Function : |
|
af_at(size(at_data,1),ks:km) : | real(8)
|
at_data(:,0:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 ディリクレ・ノイマン混合境界条件
チェビシェフ係数 -> ガラーキン係数変換(2次元データ)
Original external subprogram is at_af_galerkin_MM#af_at
ef_ey( ag_data ) result(af_ag)
Function : |
|
af_ag(size(ag_data,1),ks:km) : | real(8)
|
ag_data(:,0:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 ディリクレ・ノイマン混合境界条件
格子点データ -> ガラーキン係数変換(2次元データ)
Original external subprogram is at_af_galerkin_MM#af_ag
Function : |
|
ef_yx : | real(8), dimension(-km:km,2:lm)
|
yx : | real(8), dimension(0:jm,0:im-1), intent(in)
|
格子データからガラーキンデータへ変換する.
[Source]
function ef_yx(yx)
!
! 格子データからガラーキンデータへ変換する.
!
real(8), dimension(-km:km,2:lm) :: ef_yx
!(out) スペクトルデータ
real(8), dimension(0:jm,0:im-1), intent(in) :: yx
!(in) 格子点データ
ef_yx = ef_et(et_yx(yx))
end function ef_yx
Function : |
|
eh_Dx_eh : | real(8), dimension(-km:km,2:lm)
|
eh : | real(8), dimension(-km:km,2:lm), intent(in)
|
入力スペクトルデータに X 微分(∂x)を作用する.
スペクトルデータの X 微分とは, 対応する格子点データに X 微分を
作用させたデータのスペクトル変換のことである.
実際にはスペクトルデータに X 方向波数 k をかけて sin(kx) <-> cos(kx)
成分に入れ換える計算を行っている.
[Source]
function eh_Dx_eh(eh)
!
! 入力スペクトルデータに X 微分(∂x)を作用する.
!
! スペクトルデータの X 微分とは, 対応する格子点データに X 微分を
! 作用させたデータのスペクトル変換のことである.
!
! 実際にはスペクトルデータに X 方向波数 k をかけて
! sin(kx) <-> cos(kx) 成分に入れ換える計算を行っている.
!
real(8), dimension(-km:km,2:lm) :: eh_Dx_eh
real(8), dimension(-km:km,2:lm), intent(in) :: eh
integer k
do k=-km,km
eh_Dx_eh(k,:) = (-2*pi*k/xl)*eh(-k,:)
enddo
end function eh_Dx_eh
eh_Dy_eh( ah_data ) result(ah_Dx_ah)
Function : |
|
ah_Dx_ah(size(ah_data,1),ks:km) : | real(8)
|
ah_data(:,ks:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 ディリクレ・ノイマン混合境界条件
X 微分計算(2 次元)
Original external subprogram is at_ah_galerkin_MMex#ah_Dx_ah
eh_et( at_data ) result(ah_at)
Function : |
|
ah_at(size(at_data,1),ks:km) : | real(8)
|
at_data(:,0:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 ディリクレ・ノイマン混合境界条件
チェビシェフ係数 -> ガラーキン係数変換(2次元データ)
Original external subprogram is at_ah_galerkin_MMex#ah_at
eh_ey( ag_data ) result(ah_ag)
Function : |
|
ah_ag(size(ag_data,1),ks:km) : | real(8)
|
ag_data(:,0:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 ディリクレ・ノイマン混合境界条件
格子点データ -> ガラーキン係数変換(2次元データ)
Original external subprogram is at_ah_galerkin_MMex#ah_ag
Function : |
|
eh_yx : | real(8), dimension(-km:km,2:lm)
|
yx : | real(8), dimension(0:jm,0:im-1), intent(in)
|
格子データからガラーキンデータへ変換する.
[Source]
function eh_yx(yx)
!
! 格子データからガラーキンデータへ変換する.
!
real(8), dimension(-km:km,2:lm) :: eh_yx
!(out) スペクトルデータ
real(8), dimension(0:jm,0:im-1), intent(in) :: yx
!(in) 格子点データ
eh_yx = eh_et(et_yx(yx))
end function eh_yx
Function : |
|
ep_Dx_ep : | real(8), dimension(-km:km,2:lm)
|
ep : | real(8), dimension(-km:km,2:lm), intent(in)
|
入力スペクトルデータに X 微分(∂x)を作用する.
スペクトルデータの X 微分とは, 対応する格子点データに X 微分を
作用させたデータのスペクトル変換のことである.
実際にはスペクトルデータに X 方向波数 k をかけて sin(kx) <-> cos(kx)
成分に入れ換える計算を行っている.
[Source]
function ep_Dx_ep(ep)
!
! 入力スペクトルデータに X 微分(∂x)を作用する.
!
! スペクトルデータの X 微分とは, 対応する格子点データに X 微分を
! 作用させたデータのスペクトル変換のことである.
!
! 実際にはスペクトルデータに X 方向波数 k をかけて
! sin(kx) <-> cos(kx) 成分に入れ換える計算を行っている.
!
real(8), dimension(-km:km,2:lm) :: ep_Dx_ep
real(8), dimension(-km:km,2:lm), intent(in) :: ep
integer k
do k=-km,km
ep_Dx_ep(k,:) = (-2*pi*k/xl)*ep(-k,:)
enddo
end function ep_Dx_ep
ep_Dy_ep( ap_data ) result(ap_Dx_ap)
Function : |
|
ap_Dx_ap(size(ap_data,1),ks:km) : | real(8)
|
ap_data(:,ks:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 片端ディリクレ片端ノイマン境界条件
X 微分計算(2 次元)
Original external subprogram is at_ap_galerkin_DN#ap_Dx_ap
ep_et( at_data ) result(ap_at)
Function : |
|
ap_at(size(at_data,1),ks:km) : | real(8)
|
at_data(:,0:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 片端ディリクレ片端ノイマン境界条件
チェビシェフ係数 -> ガラーキン係数変換(2次元データ)
Original external subprogram is at_ap_galerkin_DN#ap_at
ep_ey( ag_data ) result(ap_ag)
Function : |
|
ap_ag(size(ag_data,1),ks:km) : | real(8)
|
ag_data(:,0:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 片端ディリクレ片端ノイマン境界条件
格子点データ -> ガラーキン係数変換(2次元データ)
Original external subprogram is at_ap_galerkin_DN#ap_ag
Function : |
|
ep_yx : | real(8), dimension(-km:km,2:lm)
|
yx : | real(8), dimension(0:jm,0:im-1), intent(in)
|
格子データからガラーキンデータへ変換する.
[Source]
function ep_yx(yx)
!
! 格子データからガラーキンデータへ変換する.
!
real(8), dimension(-km:km,2:lm) :: ep_yx
!(out) スペクトルデータ
real(8), dimension(0:jm,0:im-1), intent(in) :: yx
!(in) 格子点データ
ep_yx = ep_et(et_yx(yx))
end function ep_yx
Function : |
|
eq_Dx_eq : | real(8), dimension(-km:km,4:lm)
|
eq : | real(8), dimension(-km:km,4:lm), intent(in)
|
入力スペクトルデータに X 微分(∂x)を作用する.
スペクトルデータの X 微分とは, 対応する格子点データに X 微分を
作用させたデータのスペクトル変換のことである.
実際にはスペクトルデータに X 方向波数 k をかけて sin(kx) <-> cos(kx)
成分に入れ換える計算を行っている.
[Source]
function eq_Dx_eq(eq)
!
! 入力スペクトルデータに X 微分(∂x)を作用する.
!
! スペクトルデータの X 微分とは, 対応する格子点データに X 微分を
! 作用させたデータのスペクトル変換のことである.
!
! 実際にはスペクトルデータに X 方向波数 k をかけて
! sin(kx) <-> cos(kx) 成分に入れ換える計算を行っている.
!
real(8), dimension(-km:km,4:lm) :: eq_Dx_eq
real(8), dimension(-km:km,4:lm), intent(in) :: eq
integer k
do k=-km,km
eq_Dx_eq(k,:) = (-2*pi*k/xl)*eq(-k,:)
enddo
end function eq_Dx_eq
eq_Dy_eq( aq_data ) result(aq_Dx_aq)
Function : |
|
aq_Dx_aq(size(aq_data,1),ks:km) : | real(8)
|
aq_data(:,ks:) : | real(8), intent(in)
|
チェビシェフ−ガラーキン法 非圧縮流体の流線関数・流れポテンシャル用
X 微分計算(2 次元)
Original external subprogram is at_aq_galerkin_RRFF#aq_Dx_aq
Function : |
|
eq_Vor2Strm_et(-km:km,4:lm) : | real(8)
|
et_Zeta(-km:km,0:lm) : | real(8), intent(IN)
|
2 次元水路領域
Fourier 展開 + チェビシェフ−ガラーキン法用モジュール
渦度から流線を計算する.
[Source]
function eq_Vor2Strm_et(et_Zeta)
!
! 2 次元水路領域
! Fourier 展開 + チェビシェフ−ガラーキン法用モジュール
!
! 渦度から流線を計算する.
!
real(8), intent(IN) :: et_Zeta(-km:km,0:lm) !(in) 渦度 ζ=▽^2ψ
real(8) :: eq_Vor2Strm_et(-km:km,4:lm) !(out) 流線 ψ
real(8), allocatable :: LaplaMT(:,:,:)
real(8), allocatable :: LaplaInvMT(:,:,:)
integer, allocatable :: kpvot(:,:)
integer, parameter :: ls=4
real(8) :: eq_work(-km:km,ls:lm)
real(8) :: et_work(-km:km,0:lm)
integer :: k, m, n, l, p
logical :: first = .true.
save LaplaInvMT, kpvot, first
if ( .not. Set_RRFF ) call MessageNotify('E','eq_Vor2Strm_et', 'at_aq_galerkin_RRFF_module not initialized.')
if ( first ) then
first = .false.
allocate(LaplaMT(-km:km,0:lm,0:lm))
allocate(LaplaInvMT(-km:km,ls:lm,ls:lm),kpvot(-km:km,ls:lm))
LaplaMT=0.0D0
do l=0,lm
et_work = 0.0D0
et_work(:,l) = 1.0D0
et_work = et_Lapla_et(et_work)
LaplaMT(:,:,l) = et_work
enddo
LaplaInvMT=0.0
do n=ls,lm
do m=ls,lm
do l=0,lm
do p=0,lm
LaplaInvMT(:,n,m)=LaplaInvMT(:,n,m) +TQ(l,n)*LaplaMT(:,l,p)*alpha(p)*TQ(p,m)
enddo
enddo
enddo
enddo
call LUDecomp(LaplaInvMT,kpvot)
deallocate(LaplaMT)
endif
eq_work=0.0
do m=ls,lm
do k=0,lm
eq_work(:,m)=eq_work(:,m) + alpha(k) * beta(k) * et_Zeta(:,k)* TQ(k,m)
enddo
enddo
eq_Vor2Strm_et = LUSolve(LaplaInvMT,kpvot,eq_work)
end function eq_Vor2Strm_et
eq_et( at_data ) result(aq_at)
Function : |
|
aq_at(size(at_data,1),ks:km) : | real(8)
|
at_data(:,0:) : | real(8), intent(in)
|
チェビシェフ−ガラーキン法 非圧縮流体の流線関数・流れポテンシャル用
チェビシェフ係数 -> ガラーキン係数変換(2次元データ)
Original external subprogram is at_aq_galerkin_RRFF#aq_at
eq_ey( ag_data ) result(aq_ag)
Function : |
|
aq_ag(size(ag_data,1),ks:km) : | real(8)
|
ag_data(:,0:) : | real(8), intent(in)
|
チェビシェフ−ガラーキン法 非圧縮流体の流線関数・流れポテンシャル用
格子点データ -> ガラーキン係数変換(2次元データ)
Original external subprogram is at_aq_galerkin_RRFF#aq_ag
Function : |
|
eq_yx : | real(8), dimension(-km:km,4:lm)
|
yx : | real(8), dimension(0:jm,0:im-1), intent(in)
|
格子データからガラーキンデータへ変換する.
[Source]
function eq_yx(yx)
!
! 格子データからガラーキンデータへ変換する.
!
real(8), dimension(-km:km,4:lm) :: eq_yx
!(out) スペクトルデータ
real(8), dimension(0:jm,0:im-1), intent(in) :: yx
!(in) 格子点データ
eq_yx = eq_et(et_yx(yx))
end function eq_yx
et_Dx_et( et ) result(et_Dx_et)
Function : |
|
et_Dx_et : | real(8), dimension(-km:km,0:lm)
|
et : | real(8), dimension(-km:km,0:lm), intent(in)
|
入力スペクトルデータに X 微分(∂x)を作用する.
スペクトルデータの X 微分とは, 対応する格子点データに X 微分を
作用させたデータのスペクトル変換のことである.
実際にはスペクトルデータに X 方向波数 k をかけて sin(kx) <-> cos(kx)
成分に入れ換える計算を行っている.
Original external subprogram is et_module_fftj#et_Dx_et
et_Dy_et( et ) result(et_Dy_et)
Function : |
|
et_Dy_et : | real(8), dimension(-km:km,0:lm)
|
et : | real(8), dimension(-km:km,0:lm), intent(in)
|
入力スペクトルデータに Y 微分(∂y)を作用する.
スペクトルデータの X 微分とは, 対応する格子点データに Y 微分を
作用させたデータのスペクトル変換のことである.
Original external subprogram is et_module_fftj#et_Dy_et
et_Jacobian_et_et( et_a, et_b ) result(et_Jacobian_et_et)
Function : |
|
et_Jacobian_et_et : | real(8), dimension(-km:km,0:lm)
: | (out) 2 つのスペクトルデータのヤコビアン
|
|
et_a : | real(8), dimension(-km:km,0:lm), intent(in)
|
et_b : | real(8), dimension(-km:km,0:lm), intent(in)
|
2 つのスペクトルデータからヤコビアン
J(A,B)=(∂xA)(∂yB)-(∂yA)(∂xB)
を計算する.
2 つのスペクトルデータのヤコビアンとは, 対応する 2 つの
格子点データのヤコビアンのスペクトル変換のことである.
Original external subprogram is et_module_fftj#et_Jacobian_et_et
et_LaplaInv_et( et, [values] ) result(et_LaplaInv_et)
Function : |
|
et_LaplaInv_et : | real(8), dimension(-km:km,0:lm)
|
et : | real(8), dimension(-km:km,0:lm),intent(in)
|
values : | real(8), dimension(-km:km,2), intent(in), optional
: | (in) 境界値. 省略時は 0 が設定される.
|
|
境界で一様な値を与える条件(ディリクレ条件)下で,
入力スペクトルデータに逆ラプラシアン(∂xx+∂yy)**(-1)を作用する.
Chebyshev-tau 法による計算
スペクトルデータの逆ラプラシアンとは, 対応する格子点データに
逆ラプラシアンを作用させたデータのスペクトル変換のことである.
Original external subprogram is et_module_fftj#et_LaplaInv_et
et_Lapla_et( et ) result(et_Lapla_et)
Function : |
|
et_Lapla_et : | real(8), dimension(-km:km,0:lm)
|
et : | real(8), dimension(-km:km,0:lm), intent(in)
|
入力スペクトルデータにラプラシアン(∂xx+∂yy)を作用する.
スペクトルデータのラプラシアンとは, 対応する格子点データに
ラプラシアンを作用させたデータのスペクトル変換のことである.
Original external subprogram is et_module_fftj#et_Lapla_et
et_eb( ab_data ) result(at_ab)
Function : |
|
at_ab(size(ab_data,1),0:km) : | real(8)
|
ab_data(:,ks:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 片端ノイマン片端ディリクレ境界条件
ガラーキン係数 -> チェビシェフ係数変換(2次元データ)
Original external subprogram is at_ab_galerkin_ND#at_ab
et_ed( ad_data ) result(at_ad)
Function : |
|
at_ad(size(ad_data,1),0:km) : | real(8)
|
ad_data(:,ks:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ディリクレ境界条件
ガラーキン係数 -> チェビシェフ係数変換(2次元データ)
Original external subprogram is at_ad_galerkin_DD#at_ad
et_ef( af_data ) result(at_af)
Function : |
|
at_af(size(af_data,1),0:km) : | real(8)
|
af_data(:,ks:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 ディリクレ・ノイマン混合境界条件
ガラーキン係数 -> チェビシェフ係数変換(2次元データ)
Original external subprogram is at_af_galerkin_MM#at_af
et_eh( ah_data ) result(at_ah)
Function : |
|
at_ah(size(ah_data,1),0:km) : | real(8)
|
ah_data(:,ks:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 ディリクレ・ノイマン混合境界条件
ガラーキン係数 -> チェビシェフ係数変換(2次元データ)
Original external subprogram is at_ah_galerkin_MMex#at_ah
et_ep( ap_data ) result(at_ap)
Function : |
|
at_ap(size(ap_data,1),0:km) : | real(8)
|
ap_data(:,ks:) : | real(8), intent(IN)
|
片端ディリクレ片端ノイマン境界条件 ガラーキン係数 ->
チェビシェフ係数変換(2次元データ)
Original external subprogram is at_ap_galerkin_DN#at_ap
et_eq( aq_data ) result(at_aq)
Function : |
|
at_aq(size(aq_data,1),0:km) : | real(8)
|
aq_data(:,ks:) : | real(8), intent(in)
|
チェビシェフ−ガラーキン法 非圧縮流体の流線関数・流れポテンシャル用
ガラーキン係数 -> チェビシェフ係数変換(2次元データ)
Original external subprogram is at_aq_galerkin_RRFF#at_aq
et_ev( av_data ) result(at_av)
Function : |
|
at_av(size(av_data,1),0:km) : | real(8)
|
av_data(:,ks:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ノイマン境界条件
ガラーキン係数 -> チェビシェフ係数変換(2次元データ)
Original external subprogram is at_av_galerkin_NN#at_av
et_galerkin_Initial( i, j, k, l, xmin, xmax, ymin, ymax, [DD], [NN], [DN], [ND], [velBC], [MM_cfdy0_ymin], [MM_cfdy1_ymin], [MM_cfdy0_ymax], [MM_cfdy1_ymax], [MMex_cfdy0_ymin], [MMex_cfdy1_ymin], [MMex_cfdy0_ymax], [MMex_cfdy1_ymax] )
Subroutine : |
|
i : | integer,intent(in)
|
j : | integer,intent(in)
|
k : | integer,intent(in)
|
l : | integer,intent(in)
|
xmin : | real(8),intent(in)
|
xmax : | real(8),intent(in)
|
ymin : | real(8),intent(in)
|
ymax : | real(8),intent(in)
|
DD : | logical,intent(in),optional
|
NN : | logical,intent(in),optional
|
DN : | logical,intent(in),optional
|
ND : | logical,intent(in),optional
|
velBC : | character(LEN=2),intent(in),optional
|
MM_cfdy0_ymin : | real(8),intent(in),optional
|
MM_cfdy1_ymin : | real(8),intent(In),optional
|
MM_cfdy0_ymax : | real(8),intent(in),optional
|
MM_cfdy1_ymax : | real(8),intent(in),optional
|
MMex_cfdy0_ymin(-k:k) : | real(8),intent(in),optional
|
MMex_cfdy1_ymin(-k:k) : | real(8),intent(in),optional
|
MMex_cfdy0_ymax(-k:k) : | real(8),intent(in),optional
|
MMex_cfdy1_ymax(-k:k) : | real(8),intent(in),optional
|
2 次元水路領域
Fourier 展開 + チェビシェフ−ガラーキン法用モジュール
初期化サブルーチン
[Source]
subroutine et_galerkin_Initial(i,j,k,l,xmin,xmax,ymin,ymax, DD,NN,DN,ND,velBC, MM_cfdy0_ymin, MM_cfdy1_ymin, MM_cfdy0_ymax, MM_cfdy1_ymax, MMex_cfdy0_ymin, MMex_cfdy1_ymin, MMex_cfdy0_ymax, MMex_cfdy1_ymax)
!
! 2 次元水路領域
! Fourier 展開 + チェビシェフ−ガラーキン法用モジュール
!
! 初期化サブルーチン
!
integer,intent(in) :: i, j ! 格子点の設定(X,Y)
integer,intent(in) :: k, l ! 切断波数の設定(X,Y)
real(8),intent(in) :: xmin, xmax ! X 座標範囲
real(8),intent(in) :: ymin, ymax ! Y 座標範囲
logical,intent(in),optional :: DD ! モジュール読み込みスイッチ
logical,intent(in),optional :: NN ! モジュール読み込みスイッチ
logical,intent(in),optional :: DN ! モジュール読み込みスイッチ
logical,intent(in),optional :: ND ! モジュール読み込みスイッチ
! at_af_galerkin_MM_module 境界条件係数
real(8),intent(in),optional :: MM_cfdy0_ymin ! (0階微分@x=ymin)
real(8),intent(In),optional :: MM_cfdy1_ymin ! (1階微分@x=ymin)
real(8),intent(in),optional :: MM_cfdy0_ymax ! (0階微分@x=ymax)
real(8),intent(in),optional :: MM_cfdy1_ymax ! (1階微分@x=ymax)
! at_ah_galerkin_MMex_module 境界条件係数
real(8),intent(in),optional :: MMex_cfdy0_ymin(-k:k) ! (0階微分@x=ymin)
real(8),intent(in),optional :: MMex_cfdy1_ymin(-k:k) ! (1階微分@x=ymin)
real(8),intent(in),optional :: MMex_cfdy0_ymax(-k:k) ! (0階微分@x=ymax)
real(8),intent(in),optional :: MMex_cfdy1_ymax(-k:k) ! (1階微分@x=ymax)
! at_aq_galerkin_RRFF_module 速度場境界条件
character(LEN=2),intent(in),optional :: velBC ! 境界条件(RR/SS/RS/SR)
!--------------- 引数処理 -----------------
im=i
jm = j
km=k
lm=l
xl = xmax-xmin
if ( present(DD) ) Set_DD = DD
if ( present(NN) ) Set_NN = NN
if ( present(DN) ) Set_DN = DN
if ( present(ND) ) Set_ND = ND
if ( present(MM_cfdy0_ymin) .AND.present(MM_cfdy1_ymin) .AND. present(MM_cfdy0_ymax) .AND.present(MM_cfdy1_ymax) ) Set_MM=.true.
if ( present(MMex_cfdy0_ymin) .AND.present(MMex_cfdy1_ymin) .AND. present(MMex_cfdy0_ymax) .AND.present(MMex_cfdy1_ymax) ) Set_MMex=.true.
if ( present(velBC) ) Set_RRFF = .true.
!--------------- モジュール初期化 -----------------
call et_Initial(im,jm,km,lm,xmin,xmax,ymin,ymax)
if ( Set_DD ) call at_ad_galerkin_DD_Initial(jm,lm)
if ( Set_NN ) call at_av_galerkin_NN_Initial(jm,lm)
if ( Set_DN ) call at_ap_galerkin_DN_Initial(jm,lm)
if ( Set_ND ) call at_ab_galerkin_ND_Initial(jm,lm)
if ( Set_MM ) call at_af_galerkin_MM_Initial (jm,lm, MM_cfdy0_ymax, MM_cfdy1_ymax, MM_cfdy0_ymin, MM_cfdy1_ymin )
if ( Set_MMex ) call at_ah_galerkin_MMex_Initial (jm,lm,2*km+1, MMex_cfdy0_ymax, MMex_cfdy1_ymax, MMex_cfdy0_ymin, MMex_cfdy1_ymin )
if ( Set_RRFF ) call at_aq_galerkin_RRFF_Initial(jm,lm,velBC)
end subroutine et_galerkin_initial
et_yx( yx ) result(et_yx)
Function : |
|
et_yx : | real(8), dimension(-km:km,0:lm)
|
yx : | real(8), dimension(0:jm,0:im-1), intent(in)
|
格子データからスペクトルデータへ変換する.
Original external subprogram is et_module_fftj#et_yx
Function : |
|
ev_Dx_ev : | real(8), dimension(-km:km,2:lm)
|
ev : | real(8), dimension(-km:km,2:lm), intent(in)
|
入力スペクトルデータに X 微分(∂x)を作用する.
スペクトルデータの X 微分とは, 対応する格子点データに X 微分を
作用させたデータのスペクトル変換のことである.
実際にはスペクトルデータに X 方向波数 k をかけて sin(kx) <-> cos(kx)
成分に入れ換える計算を行っている.
[Source]
function ev_Dx_ev(ev)
!
! 入力スペクトルデータに X 微分(∂x)を作用する.
!
! スペクトルデータの X 微分とは, 対応する格子点データに X 微分を
! 作用させたデータのスペクトル変換のことである.
!
! 実際にはスペクトルデータに X 方向波数 k をかけて
! sin(kx) <-> cos(kx) 成分に入れ換える計算を行っている.
!
real(8), dimension(-km:km,2:lm) :: ev_Dx_ev
real(8), dimension(-km:km,2:lm), intent(in) :: ev
integer k
do k=-km,km
ev_Dx_ev(k,:) = (-2*pi*k/xl)*ev(-k,:)
enddo
end function ev_Dx_ev
ev_Dy_ev( av_data ) result(av_Dx_av)
Function : |
|
av_Dx_av(size(av_data,1),ks:km) : | real(8)
|
av_data(:,ks:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ノイマン境界条件
X 微分計算(1 次元)
Original external subprogram is at_av_galerkin_NN#av_Dx_av
ev_et( at_data ) result(av_at)
Function : |
|
av_at(size(at_data,1),ks:km) : | real(8)
|
at_data(:,0:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ノイマン境界条件
チェビシェフ係数 -> ガラーキン係数変換(2次元データ)
Original external subprogram is at_av_galerkin_NN#av_at
ev_ey( ag_data ) result(av_ag)
Function : |
|
av_ag(size(ag_data,1),ks:km) : | real(8)
|
ag_data(:,0:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ノイマン境界条件
格子点データ -> ガラーキン係数変換(2次元データ)
Original external subprogram is at_av_galerkin_NN#av_ag
Function : |
|
ev_yx : | real(8), dimension(-km:km,2:lm)
|
yx : | real(8), dimension(0:jm,0:im-1), intent(in)
|
格子データからガラーキンデータへ変換する.
[Source]
function ev_yx(yx)
!
! 格子データからガラーキンデータへ変換する.
!
real(8), dimension(-km:km,2:lm) :: ev_yx
!(out) スペクトルデータ
real(8), dimension(0:jm,0:im-1), intent(in) :: yx
!(in) 格子点データ
ev_yx = ev_et(et_yx(yx))
end function ev_yx
ey_eb( ab_data ) result(ag_ab)
Function : |
|
ag_ab(size(ab_data,1),0:im) : | real(8)
|
ab_data(:,ks:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 片端ノイマン片端ディリクレ境界条件
ガラーキン係数 -> 格子点データ変換(2次元データ)
Original external subprogram is at_ab_galerkin_ND#ag_ab
ey_ed( ad_data ) result(ag_ad)
Function : |
|
ag_ad(size(ad_data,1),0:im) : | real(8)
|
ad_data(:,ks:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ディリクレ境界条件
ガラーキン係数 -> 格子点データ変換(2次元データ)
Original external subprogram is at_ad_galerkin_DD#ag_ad
ey_ef( af_data ) result(ag_af)
Function : |
|
ag_af(size(af_data,1),0:im) : | real(8)
|
af_data(:,ks:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 ディリクレ・ノイマン混合境界条件
ガラーキン係数 -> 格子点データ変換(2次元データ)
Original external subprogram is at_af_galerkin_MM#ag_af
ey_eh( ah_data ) result(ag_ah)
Function : |
|
ag_ah(size(ah_data,1),0:im) : | real(8)
|
ah_data(:,ks:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 ディリクレ・ノイマン混合境界条件
ガラーキン係数 -> 格子点データ変換(2次元データ)
Original external subprogram is at_ah_galerkin_MMex#ag_ah
ey_ep( ap_data ) result(ag_ap)
Function : |
|
ag_ap(size(ap_data,1),0:im) : | real(8)
|
ap_data(:,ks:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 片端ディリクレ片端ノイマン境界条件
ガラーキン係数 -> 格子点データ変換(2次元データ)
Original external subprogram is at_ap_galerkin_DN#ag_ap
ey_eq( aq_data ) result(ag_aq)
Function : |
|
ag_aq(size(aq_data,1),0:im) : | real(8)
|
aq_data(:,ks:) : | real(8), intent(in)
|
チェビシェフ−ガラーキン法 非圧縮流体の流線関数・流れポテンシャル用
ガラーキン係数 -> 格子点データ変換(2次元データ)
Original external subprogram is at_aq_galerkin_RRFF#ag_aq
ey_ev( av_data ) result(ag_av)
Function : |
|
ag_av(size(av_data,1),0:im) : | real(8)
|
av_data(:,ks:) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ノイマン境界条件
ガラーキン係数 -> 格子点データ変換(2次元データ)
Original external subprogram is at_av_galerkin_NN#ag_av
f_Dy_f( f_data ) result(f_Dx_f)
Function : |
|
f_Dx_f(ks:km) : | real(8)
|
f_data(ks:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 ディリクレ・ノイマン混合境界条件
X 微分計算(1 次元)
Original external subprogram is at_af_galerkin_MM#f_Dx_f
f_t( t_data ) result(f_t)
Function : |
|
f_t(ks:km) : | real(8)
|
t_data(0:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 ディリクレ・ノイマン混合境界条件
チェビシェフ係数 -> ガラーキン係数変換(1次元データ)
Original external subprogram is at_af_galerkin_MM#f_t
f_y( g_data ) result(f_g)
Function : |
|
f_g(ks:km) : | real(8)
|
g_data(0:im) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 ディリクレ・ノイマン混合境界条件
格子点データ -> ガラーキン係数変換(1次元データ)
Original external subprogram is at_af_galerkin_MM#f_g
p_Dy_p( p_data ) result(p_Dx_p)
Function : |
|
p_Dx_p(ks:km) : | real(8)
|
p_data(ks:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 片端ディリクレ片端ノイマン境界条件
X 微分計算(1 次元)
Original external subprogram is at_ap_galerkin_DN#p_Dx_p
p_t( t_data ) result(p_t)
Function : |
|
p_t(ks:km) : | real(8)
|
t_data(0:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 片端ディリクレ片端ノイマン境界条件
チェビシェフ係数 -> ガラーキン係数変換(1次元データ)
Original external subprogram is at_ap_galerkin_DN#p_t
p_y( g_data ) result(p_g)
Function : |
|
p_g(ks:km) : | real(8)
|
g_data(0:im) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 片端ディリクレ片端ノイマン境界条件
格子点データ -> ガラーキン係数変換(1次元データ)
Original external subprogram is at_ap_galerkin_DN#p_g
q_Dy_q( q_data ) result(q_Dx_q)
Function : |
|
q_Dx_q(ks:km) : | real(8)
|
q_data(ks:km) : | real(8), intent(in)
|
チェビシェフ−ガラーキン法 非圧縮流体の流線関数・流れポテンシャル用
X 微分計算(1 次元)
Original external subprogram is at_aq_galerkin_RRFF#q_Dx_q
q_t( t_data ) result(q_t)
Function : |
|
q_t(ks:km) : | real(8)
|
t_data(0:km) : | real(8), intent(in)
|
チェビシェフ−ガラーキン法 非圧縮流体の流線関数・流れポテンシャル用
チェビシェフ係数 -> ガラーキン係数変換(1次元データ)
Original external subprogram is at_aq_galerkin_RRFF#q_t
q_y( g_data ) result(q_g)
Function : |
|
q_g(ks:km) : | real(8)
|
g_data(0:im) : | real(8), intent(in)
|
チェビシェフ−ガラーキン法 非圧縮流体の流線関数・流れポテンシャル用
格子点データ -> ガラーキン係数変換(1次元データ)
Original external subprogram is at_aq_galerkin_RRFF#q_g
t_b( b_data ) result(t_b)
Function : |
|
t_b(0:km) : | real(8)
|
b_data(ks:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 片端ノイマン片端ディリクレ境界条件
ガラーキン係数 -> チェビシェフ係数変換(1次元データ)
Original external subprogram is at_ab_galerkin_ND#t_b
t_d( d_data ) result(t_d)
Function : |
|
t_d(0:km) : | real(8)
|
d_data(ks:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ディリクレ境界条件
ガラーキン係数 -> チェビシェフ係数変換(1次元データ)
Original external subprogram is at_ad_galerkin_DD#t_d
t_f( f_data ) result(t_f)
Function : |
|
t_f(0:km) : | real(8)
|
f_data(ks:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 ディリクレ・ノイマン混合境界条件
ガラーキン係数 -> チェビシェフ係数変換(1次元データ)
Original external subprogram is at_af_galerkin_MM#t_f
t_p( p_data ) result(t_p)
Function : |
|
t_p(0:km) : | real(8)
|
p_data(ks:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 片端ディリクレ片端ノイマン境界条件
ガラーキン係数 -> チェビシェフ係数変換(1次元データ)
Original external subprogram is at_ap_galerkin_DN#t_p
t_q( q_data ) result(t_q)
Function : |
|
t_q(0:km) : | real(8)
|
q_data(ks:km) : | real(8), intent(in)
|
チェビシェフ−ガラーキン法 非圧縮流体の流線関数・流れポテンシャル用
ガラーキン係数 -> チェビシェフ係数変換(1次元データ)
Original external subprogram is at_aq_galerkin_RRFF#t_q
t_v( v_data ) result(t_v)
Function : |
|
t_v(0:km) : | real(8)
|
v_data(ks:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ノイマン境界条件
ガラーキン係数 -> チェビシェフ係数変換(1次元データ)
Original external subprogram is at_av_galerkin_NN#t_v
v_Dy_v( v_data ) result(v_Dx_v)
Function : |
|
v_Dx_v(ks:km) : | real(8)
|
v_data(ks:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ノイマン境界条件
X 微分計算(1 次元)
Original external subprogram is at_av_galerkin_NN#v_Dx_v
v_t( t_data ) result(v_t)
Function : |
|
v_t(ks:km) : | real(8)
|
t_data(0:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ノイマン境界条件
チェビシェフ係数 -> ガラーキン係数変換(1次元データ)
Original external subprogram is at_av_galerkin_NN#v_t
v_y( g_data ) result(v_g)
Function : |
|
v_g(ks:km) : | real(8)
|
g_data(0:im) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ノイマン境界条件
格子点データ -> ガラーキン係数変換(1次元データ)
Original external subprogram is at_av_galerkin_NN#v_g
x_AvrY_yx( yx ) result(x_AvrY_yx)
Function : |
|
x_AvrY_yx : | real(8), dimension(0:im-1)
|
yx : | real(8), dimension(0:jm,0:im-1)
|
2 次元格子点データの Y 方向平均
実際には格子点データ各点毎に y_Y_Weight をかけた総和を計算し, y_Y_Weight
の総和で割ることで平均している.
Original external subprogram is et_module_fftj#x_AvrY_yx
x_IntY_yx( yx ) result(x_IntY_yx)
Function : |
|
x_IntY_yx : | real(8), dimension(0:im-1)
: | (out) 積分された 1 次元(X)格子点データ
|
|
yx : | real(8), dimension(0:jm,0:im-1)
|
Y 方向積分
2 次元格子点データの Y 方向積分
実際には格子点データ各点毎に y_Y_Weight をかけた総和を計算している.
Original external subprogram is et_module_fftj#x_IntY_yx
y_AvrX_yx( yx ) result(y_AvrX_yx)
Function : |
|
y_AvrX_yx : | real(8), dimension(0:jm)
|
yx : | real(8), dimension(0:jm,0:im-1)
|
2 次元格子点データの X 方向平均
実際には格子点データ各点毎に x_X_Weight をかけた総和を計算し, x_X_Weight
の総和で割ることで平均している.
Original external subprogram is et_module_fftj#y_AvrX_yx
y_IntX_yx( yx ) result(y_IntX_yx)
Function : |
|
y_IntX_yx : | real(8), dimension(0:jm)
: | (out) 積分された 1 次元(Y)格子点データ
|
|
yx : | real(8), dimension(0:jm,0:im-1)
|
X 方向積分
2 次元格子点データの X 方向積分
実際には格子点データ各点毎に x_X_Weight をかけた総和を計算している.
Original external subprogram is et_module_fftj#y_IntX_yx
y_b( b_data ) result(g_b)
Function : |
|
g_b(0:im) : | real(8)
|
b_data(ks:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 片端ノイマン片端ディリクレ境界条件
ガラーキン係数 -> 格子点データ変換(1次元データ)
Original external subprogram is at_ab_galerkin_ND#g_b
y_d( d_data ) result(g_d)
Function : |
|
g_d(0:im) : | real(8)
|
d_data(ks:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ディリクレ境界条件
ガラーキン係数 -> 格子点データ変換(1次元データ)
Original external subprogram is at_ad_galerkin_DD#g_d
y_f( f_data ) result(g_f)
Function : |
|
g_f(0:im) : | real(8)
|
f_data(ks:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 ディリクレ・ノイマン混合境界条件
ガラーキン係数 -> 格子点データ変換(1次元データ)
Original external subprogram is at_af_galerkin_MM#g_f
y_p( p_data ) result(g_p)
Function : |
|
g_p(0:im) : | real(8)
|
p_data(ks:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 片端ディリクレ片端ノイマン境界条件
ガラーキン係数 -> 格子点データ変換(1次元データ)
Original external subprogram is at_ap_galerkin_DN#g_p
y_q( q_data ) result(g_q)
Function : |
|
g_q(0:im) : | real(8)
|
q_data(ks:km) : | real(8), intent(in)
|
チェビシェフ−ガラーキン法 非圧縮流体の流線関数・流れポテンシャル用
ガラーキン係数 -> 格子点データ変換(1次元データ)
Original external subprogram is at_aq_galerkin_RRFF#g_q
y_v( v_data ) result(g_v)
Function : |
|
g_v(0:im) : | real(8)
|
v_data(ks:km) : | real(8), intent(IN)
|
チェビシェフ−ガラーキン法 両端ノイマン境界条件
ガラーキン係数 -> 格子点データ変換(1次元データ)
Original external subprogram is at_av_galerkin_NN#g_v
Function : |
|
yx_eb : | real(8), dimension(0:jm,0:im-1)
|
eb : | real(8), dimension(-km:km,2:lm), intent(in)
|
ガラーキンデータから格子データへ変換する.
[Source]
function yx_eb(eb)
!
! ガラーキンデータから格子データへ変換する.
!
real(8), dimension(0:jm,0:im-1) :: yx_eb
!(out) 格子点データ
real(8), dimension(-km:km,2:lm), intent(in) :: eb
!(in) スペクトルデータ
yx_eb = yx_et(et_eb(eb))
end function yx_eb
Function : |
|
yx_ed : | real(8), dimension(0:jm,0:im-1)
|
ed : | real(8), dimension(-km:km,2:lm), intent(in)
|
ガラーキンデータから格子データへ変換する.
[Source]
function yx_ed(ed)
!
! ガラーキンデータから格子データへ変換する.
!
real(8), dimension(0:jm,0:im-1) :: yx_ed
!(out) 格子点データ
real(8), dimension(-km:km,2:lm), intent(in) :: ed
!(in) スペクトルデータ
yx_ed = yx_et(et_ed(ed))
end function yx_ed
Function : |
|
yx_ef : | real(8), dimension(0:jm,0:im-1)
|
ef : | real(8), dimension(-km:km,2:lm), intent(in)
|
ガラーキンデータから格子データへ変換する.
[Source]
function yx_ef(ef)
!
! ガラーキンデータから格子データへ変換する.
!
real(8), dimension(0:jm,0:im-1) :: yx_ef
!(out) 格子点データ
real(8), dimension(-km:km,2:lm), intent(in) :: ef
!(in) スペクトルデータ
yx_ef = yx_et(et_ef(ef))
end function yx_ef
Function : |
|
yx_eh : | real(8), dimension(0:jm,0:im-1)
|
eh : | real(8), dimension(-km:km,2:lm), intent(in)
|
ガラーキンデータから格子データへ変換する.
[Source]
function yx_eh(eh)
!
! ガラーキンデータから格子データへ変換する.
!
real(8), dimension(0:jm,0:im-1) :: yx_eh
!(out) 格子点データ
real(8), dimension(-km:km,2:lm), intent(in) :: eh
!(in) スペクトルデータ
yx_eh = yx_et(et_eh(eh))
end function yx_eh
Function : |
|
yx_ep : | real(8), dimension(0:jm,0:im-1)
|
ep : | real(8), dimension(-km:km,2:lm), intent(in)
|
ガラーキンデータから格子データへ変換する.
[Source]
function yx_ep(ep)
!
! ガラーキンデータから格子データへ変換する.
!
real(8), dimension(0:jm,0:im-1) :: yx_ep
!(out) 格子点データ
real(8), dimension(-km:km,2:lm), intent(in) :: ep
!(in) スペクトルデータ
yx_ep = yx_et(et_ep(ep))
end function yx_ep
Function : |
|
yx_eq : | real(8), dimension(0:jm,0:im-1)
|
eq : | real(8), dimension(-km:km,4:lm), intent(in)
|
ガラーキンデータから格子データへ変換する.
[Source]
function yx_eq(eq)
!
! ガラーキンデータから格子データへ変換する.
!
real(8), dimension(0:jm,0:im-1) :: yx_eq
!(out) 格子点データ
real(8), dimension(-km:km,4:lm), intent(in) :: eq
!(in) スペクトルデータ
yx_eq = yx_et(et_eq(eq))
end function yx_eq
yx_et( et ) result(yx_et)
Function : |
|
yx_et : | real(8), dimension(0:jm,0:im-1)
|
et : | real(8), dimension(-km:km,0:lm), intent(in)
|
スペクトルデータから格子データへ変換する.
Original external subprogram is et_module_fftj#yx_et
Function : |
|
yx_ev : | real(8), dimension(0:jm,0:im-1)
|
ev : | real(8), dimension(-km:km,2:lm), intent(in)
|
ガラーキンデータから格子データへ変換する.
[Source]
function yx_ev(ev)
!
! ガラーキンデータから格子データへ変換する.
!
real(8), dimension(0:jm,0:im-1) :: yx_ev
!(out) 格子点データ
real(8), dimension(-km:km,2:lm), intent(in) :: ev
!(in) スペクトルデータ
yx_ev = yx_et(et_ev(ev))
end function yx_ev