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)\).