waterPML_sub/macro.h マニュアル

(The documentation of waterPML_sub/macro.h)

Last Update: 2023/6/9


waterPML_sub/macro.hでは waterPMLコマンド専用のマクロが定義されている。 各マクロの定義を以下に示す。
Macros exclusively used by waterPML command are defined in waterPML_sub/macro.h. Definitions of individual macros are shown below.

◆目次(Table of contents)



マクロ名(Macro name):
     DEBUG_MODE

(Value):
     NO

プログラムを普通に動かす(NO)か、デバッグ用に動かす(YES)かの選択である。 デバッグ用に動かすと出力される情報が増える。
A choice of whether to execute the program normally (NO) or for debugging (YES). The debugging mode increases the outputs.


マクロ名(Macro name):
     TF_minimum_N

(Value):
     3

パラメータNx, Ny, Nzの許容最小値。
The minimum allowed number for parameters Nx, Ny, and Nz.


マクロ名(Macro name):
     TF_minimum_Np

(Value):
     1

パラメータNpmx, Npmy, Npmz, Nppx, Nppy, Nppzの許容最小値。
The minimum allowed number for parameters Npmx, Npmy, Npmz, Nppx, Nppy, and Nppz.


マクロ名(Macro name):
     TF_minimum_dx

(Value):
     0.001

パラメータdx, dy, dzの許容最小値。
The minimum allowed value for parameters dx, dy, and dz.


マクロ名(Macro name):
     TF_minimum_dt

(Value):
     1e-06

パラメータdtの許容最小値。
The minimum allowed value for parameter dt.


マクロ名(Macro name):
     TF_minimum_PML_A

(Value):
     0.0

パラメータPML_Aの許容最小値。
The minimum allowed value for parameter PML_A.


マクロ名(Macro name):
     TF_minimum_PML_n

(Value):
     0.0

パラメータPML_nの許容最小値。
The minimum allowed value for parameter PML_n.


マクロ名(Macro name):
     iv_rho

(Value):
     0

密度\(\rho\)の 変数番号
The index of variable for density \(\rho\).


マクロ名(Macro name):
     iv_lambda

(Value):
     0

ラメ定数\(\lambda\)の 変数番号
The index of variable for Lame constant \(\lambda\).


マクロ名(Macro name):
     iv_mu

(Value):
     0

ラメ定数\(\mu\)の 変数番号
The index of variable for Lame constant \(\mu\).


マクロ名(Macro name):
     iv_alpha(k)

(Value):
     0

PML領域における波動の吸収の強さ\(\alpha^k\) (\(k=0,1,2\))の 変数番号
The index of variable for the strength of wave absorption in the PML volume \(\alpha^k\) (\(k=0,1,2\)).


マクロ名(Macro name):
     iv_V(i)

(Value):
     1+i

速度の\(x_i\)方向成分\(V_i^k\) (\(i,k=0,1,2\))の 変数番号
The index of variable for the \(x_i\)-component of velocity \(V_i^k\) (\(i,k=0,1,2\)).


マクロ名(Macro name):
     iv_T(iT)

(Value):
     4+(iT-2)∗(iT/3)

応力のiT番目の成分\(\tau_{ij}^l\) (\(i,j,l=0,1,2\))の 変数番号。 iT=0が\(xx\)成分、iT=1が\(yy\)成分、iT=2が\(zz\)成分、 iT=3が\(xy\), \(yx\)成分、 iT=4が\(yz\), \(zy\)成分、 iT=5が\(zx\), \(xz\)成分を表す。
The index of variable for the iTth component of stress \(\tau_{ij}^l\) (\(i,j,l=0,1,2\)), where iT=0 represents the \(xx\) component, iT=1 does \(yy\), iT=2 does \(zz\), iT=3 does \(xy\) and \(yx\), iT=4 does \(yz\) and \(zy\), and iT=5 does \(zx\) and \(xz\).


マクロ名(Macro name):
     iv_stations

(Value):
     8

観測点リストの 変数番号
The index of variable for station list.


マクロ名(Macro name):
     iv_c0(k)

(Value):
     0

差分方程式の係数\(c_0^k\) (\(k=0,1,2\))の 変数番号
The index of variable for the coefficients \(c_0^k\) (\(k=0,1,2\)) of difference equations.


マクロ名(Macro name):
     iv_c1(k)

(Value):
     9

差分方程式の係数\(c_1^k\) (\(k=0,1,2\))の 変数番号
The index of variable for the coefficients \(c_1^k\) (\(k=0,1,2\)) of difference equations.


マクロ名(Macro name):
     iv_c2(ic)

(Value):
     10-(ic%3)∗(ic%3-2)

差分方程式の係数\(c_2^{ijpl}\) (\(i,j,p,l=0,1,2\))の 変数番号。 icは\(i\), \(j\), \(p\), \(l\)の組を表す番号であり、 マクロijpl2C_indexで定義される。
The index of variable for the coefficients \(c_2^{ijpl}\) (\(i,j,p,l=0,1,2\)) of difference equations. The value of ic represents a combination of \(i\), \(j\), \(p\), and \(l\), and is defined in macro ijpl2C_index


マクロ名(Macro name):
     iv_f(is,i)

(Value):
     12+3∗is+i

is番目(\(is=0,1,2,\cdots\))の地震波動ソースによる 等価体積力\(f_i\) (\(i=0,1,2\))の 変数番号
The index of variable for the equivalent body force \(f_i\) (\(i=0,1,2\)) from isth seismic source (\(is=0,1,2,\cdots\)).


マクロ名(Macro name):
     stg_Nv_no_f

(Value):
     12

地震波動ソースを除く 変数番号 の取りうる値の個数。
The number of possible values for the index of variable except for those for the equivalent body force.


マクロ名(Macro name):
     is_boundary

(Value):
     3

半格子点が計算領域の端に位置するか否かの区別を表す 配列type の第1引数の値。
The value of the 1st argument of array type that represents the distinction of whether each half-grid node is at the edge of the computational volume or not.


マクロ名(Macro name):
     is_bns

(Value):
     4

半格子点が計算領域の正負どちら側の端に位置するかの区別を表す 配列type の第1引数の値。
The value of the 1st argument of array type that represents the distinction of whether each half-grid node is at the positive or negative side of the edge of the computational volume.


マクロ名(Macro name):
     is_bnd

(Value):
     5

半格子点が計算領域のどの座標軸方向の端に位置するかを表す 配列type の第1引数の値。
The value of the 1st argument of array type that represents the coordinate axis direction for which each half-grid node is at the edge of the computational volume.


マクロ名(Macro name):
     is_material

(Value):
     6

半格子点の媒質種類を表す 配列type の第1引数の値。
The value of the 1st argument of array type that represents the medium type at each half-grid node.


マクロ名(Macro name):
     is_area

(Value):
     7

半格子点が物理領域内に位置するかPML領域内に位置するかの区別を表す 配列type の第1引数の値。
The value of the 1st argument of array type that represents the distinction of whether each half-grid node is in the physical or PML volume.


マクロ名(Macro name):
     type_strlen

(Value):
     8

配列type の第1引数の個数。
The number of the 1st arguments of array type.


マクロ名(Macro name):
     iT2i(iT)

(Value):
     iT%3

応力の成分番号iT を元に応力\(\tau_{ij}\)の第1成分番号\(i\)を計算する 関数形式マクロ。
A function-type macro to compute the 1st component index \(i\) of the stress \(\tau_{ij}\) from an index iT that represents the stress component.


マクロ名(Macro name):
     iT2j(iT)

(Value):
     (iT+iT/3)%3

応力の成分番号iT を元に応力\(\tau_{ij}\)の第2成分番号\(j\)を計算する 関数形式マクロ。
A function-type macro to compute the 2nd component index \(j\) of the stress \(\tau_{ij}\) from an index iT that represents the stress component.


マクロ名(Macro name):
     ij2iT(i,j)

(Value):
     (i-j+3)%3+(j-i+3)%3+(i+j)/2+abs(j-i)/2

指定した\((i,j)\)の組合せについて応力\(\tau_{ij}\)の 成分番号iT を計算する関数形式マクロ。
A function-type macro to compute the index iT that represents a stress component \(\tau_{ij}\) for a given combination \((i,j)\).


マクロ名(Macro name):
     ijpl2C_index(i,j,p,l)

(Value):
     3∗l + ( (abs(i-j)-1)∗(abs(i-j)-2) + ( (abs(i-p)-1)∗(abs(i-p)-2) + (abs(i-l)-1)∗(abs(i-l)-2) )/2 )%4

指定した\((i,j,p,l)\)の組合せについて弾性定数\(C_{ijpl}\)の 成分番号ic を計算する関数形式マクロ。
A function-type macro to compute the index ic that represents the component of an elastic constant \(C_{ijpl}\) for a given combination \((i,j,p,l)\).