Class xyz_module
In: util/xyz_module.f90

概要

xyz_module は, 2 次元 (xyz 方向) 不等間隔交互格子を用いた有限差分法に 基づく数値モデルのための, Fortran90 副プログラムおよび関数を提供する.

xyz_module は以下のモジュールから構成される.

: xyz_base_module

  格子点設定, 平均操作などの基本的な副プログラム/関数を提供するモジュール

: xyz_bc_module

  境界条件を設定する関数を提供するモジュール

変数, 手続きの命名法

  • 変数配列は
      (次元情報を示す文字列)_(変数名)
    

    のように命名する.

  • 配列を引数とする関数は
      (出力の次元情報を示す文字列)_(手続き名)_(入力の次元情報を示す文字列)
    

    のように命名する.

  • 配列を引数とする副プログラムは
      (手続き名)_(入力の次元情報を示す文字列)
    

    のように命名する.

  • 次元情報を示す文字列は, 文字数で配列の次元を表し, 文字の種類で 格子点の位置を表す.
      xyz : xyz 方向半整数格子点上の 2 次元配列
      pxz : x 方向整数格子, yz 方向半正数点上の 2 次元配列
      xqz : y 方向整数格子, xz 方向半正数点上の 2 次元配列
      xyr : z 方向整数格子, xy 方向半正数点上の 2 次元配列
    

変数, 手続きの要約

初期化 (xyz_base_module)

xyz_axis_init :配列の上下限の値と格子点座標値, 格子点間隔を設定する

座標変数 (xyz_base_module)

imin, imax, jmin, jmax, kmin, kmax :配列の上限, 下限
xmargin, ymargin, zmargin :糊代格子点数
x_X, p_X, y_Y, q_Y, z_Z, r_Z :格子点座標(1次元)
xyz_X, xyz_Y, xyz_Z :格子点座標(3次元)
x_dx, p_dx, y_dy, q_dy, z_dz, r_dz :格子間隔(半整数格子, 整数格子)

基本関数 (xyz_base_module)

x_avr_p, p_avr_x, y_avr_q, q_avr_y、z_avr_r, r_avr_z :格子点間の変換(1次元)
xyz_avr_pyz, xyr_avr_pyr, xqz_avr_pqz :格子点間の変換(3次元)
pyz_avr_xyz, pyr_avr_xyr, pqz_avr_xqz :格子点間の変換(3次元)
xyz_avr_xqz, pyz_avr_pqz, xyr_avr_xqr :格子点間の変換(3次元)
xqz_avr_xyz, pqz_avr_pyz, xqr_avr_xyr :格子点間の変換(3次元)
xyz_avr_xyr, pyz_avr_pyr, xqz_avr_xqr :格子点間の変換(3次元)
xyr_avr_xyz, pyr_avr_pyz, xqr_avr_xqz :格子点間の変換(3次元)
pqz_avr_xyz, pyr_avr_xyz, xqr_avr_xyz :格子点間の変換(3次元)
xyz_avr_pqz, xyz_avr_pyr, xyz_avr_xqr :格子点間の変換(3次元)
yz_IntX_xyz, yz_IntX_pyz, qz_IntX_xqz, yr_IntX_xyr :x 方向積分
xz_IntY_xyz, xz_IntY_xqz, pz_IntY_pyz, xr_IntY_xyr :y 方向積分
xy_IntZ_xyz, xy_IntZ_xyr, py_IntZ_pyz, xq_IntZ_xqz :z 方向積分
z_IntXY_xyz, z_IntXY_pyz, z_IntXY_xqz, r_IntXY_xyr :xy 方向積分
IntXYZ_xyz , IntXYZ_pyz , IntXYZ_xqz , IntXYZ_xyr, :領域積分
yz_AvrX_xyz, yz_AvrX_pyz, qz_AvrX_xqz, yr_AvrX_xyr :x 方向平均
xz_AvrY_xyz, xz_AvrY_xqz, pz_AvrY_pyz, xr_AvrY_xyr :y 方向平均
xy_AvrZ_xyz, xy_AvrZ_xyr, py_AvrZ_pyz, xq_AvrZ_xqz :z 方向平均
z_AvrXY_xyz, z_AvrXY_pyz, z_AvrXY_xqz, r_AvrXY_xyr :xy 方向平均
AvrXYZ_xyz , AvrXYZ_pyz , AvrXYZ_xqz , AvrXYZ_xyr :領域平均

境界条件設定 (xyz_bc_module)

x 方向の境界条件設定

BoundaryXSym_xyz, BoundaryXAsym_xyz, BoundaryXCyc_xyz BoundaryXSym_xqz, BoundaryXAsym_xqz, BoundaryXCyc_xqz BoundaryXSym_xyr, BoundaryXAsym_xyr, BoundaryXCyc_xyr BoundaryXSym_pyz, BoundaryXAsym_pyz, BoundaryXCyc_pyz

y 方向の境界条件設定

BoundaryYSym_xyz, BoundaryYAsym_xyz, BoundaryYCyc_xyz BoundaryYSym_xqz, BoundaryYAsym_xqz, BoundaryYCyc_xqz BoundaryYSym_xyr, BoundaryYAsym_xyr, BoundaryYCyc_xyr BoundaryYSym_pyz, BoundaryYAsym_pyz, BoundaryYCyc_pyz

z 方向の境界条件設定

BoundaryZSym_xyz, BoundaryZAsym_xyz, BoundaryZCyc_xyz BoundaryZSym_xqz, BoundaryZAsym_xqz, BoundaryZCyc_xqz BoundaryZSym_xyr, BoundaryZAsym_xyr, BoundaryZCyc_xyr BoundaryZSym_pyz, BoundaryZAsym_pyz, BoundaryZCyc_pyz

Included Modules

xyz_base_module xyz_bc_module