tws/macro.h マニュアル
(The documentation of tws/macro.h)
Last Update: 2022/2/24
tws/macro.hでは
twsヘッダファイルパッケージで主に用いるマクロが定義されている。
各マクロの定義を以下に示す。
Macros mainly used in tws header file package
are defined in tws/macro.h.
Definitions of individual macros are shown below.
◆共通事項
(Notes common to all macros)
- C言語組み込みヘッダファイル内に同名のマクロが存在する場合であっても
ymaeda_opentoolsのマクロ定義が優先される。
そのために#undefしてから#defineするようにしている。
The definitions of macros in ymaeda_opentools
are used with a higher priority than
macros with the same name in built-in header files of the C language.
To realize this, each macro is defined
after canceling existing definitions by #undef.
- 特定のプログラムにおいてmacro.hの設定と異なるマクロの値を使用したい場合、
inc.hのインクルードよりも前に
#define USER_DEFINED_マクロ名
#define マクロ名 値
と書く。例えば特定のプログラムにおいて
マクロZERO_THRESHOLDの値を1.0e-06にしたい場合、
#define USER_DEFINED_ZERO_THRESHOLD
#define ZERO_THRESHOLD 1.0e-06
#include <inc.h>
のように書けば良い。
To use the value of a macro different from that in macro.h
in a certain program, write as
#define USER_DEFINED_macro name
#define macro name value
before including inc.h.
For example, to use 1.0e-06 for a macro ZERO_THRESHOLD
in a certain program, write as
#define USER_DEFINED_ZERO_THRESHOLD
#define ZERO_THRESHOLD 1.0e-06
#include <inc.h>
at the head of the program.
◆目次(Table of contents)
マクロ名(Macro name):
waterPML_ig2coordinate(parameters,ig,id)
値(Value):
parameters.x0[id]+
(parameters.dx[id]/2.0)∗
(double)waterPML_ig2n##id(parameters,ig)
格子点番号を座標に変換する関数形式マクロ。
waterPMLコマンド用であるが、
依存性の都合で共通ヘッダファイル内での定義となる。
A function-type macro to convert
a grid node index to the corresponding coordinate.
Although this macro is used exclusively for waterPML command,
it is defined in the common header files because of dependency.
引数のparametersはstruct waterPML_parameters型構造体(tws/structure.h)、
igは格子点の通し番号、
idは求めたい座標成分番号(\(0=x\), \(1=y\), \(2=z\))
である。
The arguments parameters, ig, and id represent
a struct waterPML_parameters-type structure
(tws/structure.h),
a unified grid node index,
and an index for the coordinate component to compute
(\(0=x\), \(1=y\), \(2=z\)), respectively.
マクロ名(Macro name):
waterPML_n2ig(parameters,n)
値(Value):
parameters.NN[1]∗parameters.NN[2]∗
(n[0]+2*parameters.Np[0][0]) \
+parameters.NN[2]∗(n[1]+2*parameters.Np[0][1]) \
+(n[2]+2*parameters.Np[0][2])
方向別格子点番号を格子点の通し番号に変換する関数形式マクロ。
waterPMLコマンド用であるが、
依存性の都合で共通ヘッダファイル内での定義となる。
A function-type macro to convert
directional grid node indices to a unified grid node index.
Although this macro is used exclusively for waterPML command,
it is defined in the common header files because of dependency.
引数のparametersはstruct waterPML_parameters型構造体(tws/structure.h)であり、
nは\(x\), \(y\), \(z\)方向の格子点番号を並べた整数値配列である。
The argument parameters is
a struct waterPML_parameters-type structure
(tws/structure.h),
whereas n is an integer array composed of
grid node indices in \(x\)-, \(y\)-, and \(z\)-directions.
マクロ名(Macro name):
waterPML_ig2n0(parameters,ig)
値(Value):
ig/parameters.NN[2]/parameters.NN[1]-2∗parameters.Np[0][0]
格子点の通し番号を方向別格子点番号(\(x\)成分)に変換する関数形式マクロ。
waterPMLコマンド用であるが、
依存性の都合で共通ヘッダファイル内での定義となる。
A function-type macro to convert
a unified grid node index to
a directional grid node index (\(x\)-component).
Although this macro is used exclusively for waterPML command,
it is defined in the common header files because of dependency.
引数のparametersはstruct waterPML_parameters型構造体(tws/structure.h)であり、
igは格子点の通し番号である。
The argument parameters is
a struct waterPML_parameters-type structure
(tws/structure.h),
whereas ig is a unified grid node index.
マクロ名(Macro name):
waterPML_ig2n1(parameters,ig)
値(Value):
(ig/parameters.NN[2])%parameters.NN[1]-2∗parameters.Np[0][1]
格子点の通し番号を方向別格子点番号(\(y\)成分)に変換する関数形式マクロ。
waterPMLコマンド用であるが、
依存性の都合で共通ヘッダファイル内での定義となる。
A function-type macro to convert
a unified grid node index to
a directional grid node index (\(y\)-component).
Although this macro is used exclusively for waterPML command,
it is defined in the common header files because of dependency.
引数のparametersはstruct waterPML_parameters型構造体(tws/structure.h)であり、
igは格子点の通し番号である。
The argument parameters is
a struct waterPML_parameters-type structure
(tws/structure.h),
whereas ig is a unified grid node index.
マクロ名(Macro name):
waterPML_ig2n2(parameters,ig)
値(Value):
ig%parameters.NN[2]-2∗parameters.Np[0][2]
格子点の通し番号を方向別格子点番号(\(z\)成分)に変換する関数形式マクロ。
waterPMLコマンド用であるが、
依存性の都合で共通ヘッダファイル内での定義となる。
A function-type macro to convert
a unified grid node index to
a directional grid node index (\(z\)-component).
Although this macro is used exclusively for waterPML command,
it is defined in the common header files because of dependency.
引数のparametersはstruct waterPML_parameters型構造体(tws/structure.h)であり、
igは格子点の通し番号である。
The argument parameters is
a struct waterPML_parameters-type structure
(tws/structure.h),
whereas ig is a unified grid node index.