waterPML_sub/structure.h マニュアル

(The documentation of waterPML_sub/structure.h)

Last Update: 2024/2/22


waterPML_sub/structure.hでは waterPMLコマンド専用の構造体が定義されている。 各構造体の定義を以下に示す。
Structures exclusively used by waterPML command are defined in waterPML_sub/structure.h. Definitions of individual structures are shown below.

◆目次(Table of contents)



◆struct TF_flag型構造体 (A struct TF_flag-type structure)

フラグ一式を表現するための構造体である。 以下のメンバから成る。
A structure to represent the flags. This structure is composed of the following members.


Type
メンバ名
Name of member
メンバの意味
Meaning of member
unsigned int Nx_specified : 1 パラメータNxが指定されたか否かを示すフラグ。
A flag indicating whether the parameter Nx was specified.
unsigned int Ny_specified : 1 パラメータNyが指定されたか否かを示すフラグ。
A flag indicating whether the parameter Ny was specified.
unsigned int Nz_specified : 1 パラメータNzが指定されたか否かを示すフラグ。
A flag indicating whether the parameter Nz was specified.
unsigned int Npmx_specified : 1 パラメータNpmxが指定されたか否かを示すフラグ。
A flag indicating whether the parameter Npmx was specified.
unsigned int Npmy_specified : 1 パラメータNpmyが指定されたか否かを示すフラグ。
A flag indicating whether the parameter Npmy was specified.
unsigned int Npmz_specified : 1 パラメータNpmzが指定されたか否かを示すフラグ。
A flag indicating whether the parameter Npmz was specified.
unsigned int Nppx_specified : 1 パラメータNppxが指定されたか否かを示すフラグ。
A flag indicating whether the parameter Nppx was specified.
unsigned int Nppy_specified : 1 パラメータNppyが指定されたか否かを示すフラグ。
A flag indicating whether the parameter Nppy was specified.
unsigned int Nppz_specified : 1 パラメータNppzが指定されたか否かを示すフラグ。
A flag indicating whether the parameter Nppz was specified.
unsigned int x0_specified : 1 パラメータx0が指定されたか否かを示すフラグ。
A flag indicating whether the parameter x0 was specified.
unsigned int y0_specified : 1 パラメータy0が指定されたか否かを示すフラグ。
A flag indicating whether the parameter y0 was specified.
unsigned int z0_specified : 1 パラメータz0が指定されたか否かを示すフラグ。
A flag indicating whether the parameter z0 was specified.
unsigned int dx_specified : 1 パラメータdxが指定されたか否かを示すフラグ。
A flag indicating whether the parameter dx was specified.
unsigned int dy_specified : 1 パラメータdyが指定されたか否かを示すフラグ。
A flag indicating whether the parameter dy was specified.
unsigned int dz_specified : 1 パラメータdzが指定されたか否かを示すフラグ。
A flag indicating whether the parameter dz was specified.
unsigned int dt_specified : 1 パラメータdtが指定されたか否かを示すフラグ。
A flag indicating whether the parameter dt was specified.
unsigned int tmin_specified : 1 パラメータtminが指定されたか否かを示すフラグ。
A flag indicating whether the parameter tmin was specified.
unsigned int tmax_specified : 1 パラメータtmaxが指定されたか否かを示すフラグ。
A flag indicating whether the parameter tmax was specified.
unsigned int PML_A_specified : 1 パラメータPML_Aが指定されたか否かを示すフラグ。
A flag indicating whether the parameter PML_A was specified.
unsigned int PML_n_specified : 1 パラメータPML_nが指定されたか否かを示すフラグ。
A flag indicating whether the parameter PML_n was specified.
unsigned int topography_files_specified : 1 パラメータtopography_filesが指定されたか否かを示すフラグ。
A flag indicating whether the parameter topography_files was specified.
unsigned int topography_file_format_specified : 1 パラメータtopography_file_formatが指定されたか否かを示すフラグ。
A flag indicating whether the parameter topography_file_format was specified.
unsigned int refN_specified : 1 パラメータrefNが指定されたか否かを示すフラグ。
A flag indicating whether the parameter refN was specified.
unsigned int refE_specified : 1 パラメータrefEが指定されたか否かを示すフラグ。
A flag indicating whether the parameter refE was specified.
unsigned int topography_interpolation_method_specified : 1 パラメータtopography_interpolation_methodが指定されたか否かを示すフラグ。
A flag indicating whether the parameter topography_interpolation_method was specified.
unsigned int water_file_specified : 1 パラメータwater_fileが指定されたか否かを示すフラグ。
A flag indicating whether the parameter water_file was specified.
unsigned int structure_file_specified : 1 パラメータstructure_fileが指定されたか否かを示すフラグ。
A flag indicating whether the parameter structure_file was specified.
unsigned int structure_file_format_specified : 1 パラメータstructure_file_formatが指定されたか否かを示すフラグ。
A flag indicating whether the parameter structure_file_format was specified.
unsigned int source_file_specified : 1 パラメータsource_fileが指定されたか否かを示すフラグ。
A flag indicating whether the parameter source_file was specified.
unsigned int output_dir_specified : 1 パラメータoutput_dirが指定されたか否かを示すフラグ。
A flag indicating whether the parameter output_dir was specified.
unsigned int station_file_specified : 1 パラメータstation_fileが指定されたか否かを示すフラグ。
A flag indicating whether the parameter station_file was specified.
unsigned int output_dt_specified : 1 パラメータoutput_dtが指定されたか否かを示すフラグ。
A flag indicating whether the parameter output_dt was specified.
unsigned int snapshot_grid_specified : 1 パラメータsnapshot_gridが指定されたか否かを示すフラグ。
A flag indicating whether the parameter snapshot_grid was specified.
unsigned int snapshot_place_specified : 1 パラメータsnapshot_placeが指定されたか否かを示すフラグ。
A flag indicating whether the parameter snapshot_place was specified.
unsigned int snapshot_dt_specified : 1 パラメータsnapshot_dtが指定されたか否かを示すフラグ。
A flag indicating whether the parameter snapshot_dt was specified.
unsigned int output_parameters_specified : 1 パラメータoutput_parametersが指定されたか否かを示すフラグ。
A flag indicating whether the parameter output_parameters was specified.
unsigned int output_stg_specified : 1 パラメータoutput_stgが指定されたか否かを示すフラグ。
A flag indicating whether the parameter output_stg was specified.
unsigned int tilt_output_specified : 1 パラメータtilt_outputが指定されたか否かを示すフラグ。
A flag indicating whether the parameter tilt_output was specified.
unsigned int dimension_specified : 1 パラメータdimensionが指定されたか否かを示すフラグ。
A flag indicating whether the parameter dimension was specified.
unsigned int save_final_specified : 1 パラメータsave_finalが指定されたか否かを示すフラグ。
A flag indicating whether the parameter save_final was specified.
unsigned int use_prev_specified : 1 パラメータuse_prevが指定されたか否かを示すフラグ。
A flag indicating whether the parameter use_prev was specified.


◆struct TF_points型構造体 (A struct TF_points-type structure)

地下構造の設定ファイル(subdomain) における「点」のリストを表現するための構造体である。 以下のメンバから成る。
A structure to represent the list of “points” in the structure file (subdomain). This structure is composed of the following members.


Type
メンバ名
Name of member
メンバの意味
Meaning of member
int number 点の総数。
The total number of points.
char ∗∗ name 点の名前のリスト(文字列配列)。 name[n]がn番目の点の名前を表す。
List of the names of the points (an array of strings); name[n] represents the name of the \(n\)th point.
double ∗∗ x 点の座標のリスト(2次元配列)。 x[n][i]がn番目の点の\(x_i\)成分を表す。
List of the coordinates of the points (a 2-D array); x[n][i] represents the \(x_i\) component of the \(n\)th point.


◆struct TF_planes型構造体 (A struct TF_planes-type structure)

地下構造の設定ファイル(subdomain) における「面」のリストを表現するための構造体である。 以下のメンバから成る。
A structure to represent the list of “planes” in the structure file (subdomain). This structure is composed of the following members.


Type
メンバ名
Name of member
メンバの意味
Meaning of member
int number 面の総数。
The total number of planes.
char ∗∗ name 面の名前のリスト(文字列配列)。 name[n]がn番目の面の名前を表す。
List of the names of the planes (an array of strings); name[n] represents the name of the \(n\)th plane.
int ∗∗ points 面(三角形)を構成する頂点の番号のリスト(2次元配列)。 x[n][0], x[n][1], x[n][2]が n番目の面を構成する3つの頂点の番号 (struct TF_points型構造帯のメンバnameの第1配列要素番号)を表す。
List of the three points that constitute the triangular plane (a 2-D array); x[n][0], x[n][1], and x[n][2] represent the indices of the points (the 1st array indices of member name of a struct TF_points-type structure) that constitute the \(n\)th triangle.


◆struct TF_subdomains型構造体 (A struct TF_subdomains-type structure)

地下構造の設定ファイル(subdomain) における「小領域」のリストを表現するための構造体である。 以下のメンバから成る。
A structure to represent the list of “subdomains” in the structure file (subdomain). This structure is composed of the following members.


Type
メンバ名
Name of member
メンバの意味
Meaning of member
int number 小領域の総数。
The total number of subdomains.
char ∗∗ name 小領域の名前のリスト(文字列配列)。 name[n]がn番目の小領域の名前を表す。
List of the names of the subdomains (an array of strings); name[n] represents the name of the \(n\)th subdomain.
int ∗ Nsurface 各小領域(多面体)を構成する面の個数を並べた配列。 Nsurface[n]がn番目の小領域を構成する面の個数を表す。
An array composed of the number of planes that constitute each subdomain (polyhedron); Nsurface[n] represents the number of planes that constitute the \(n\)th subdomain.
char ∗∗∗ surface_name 各小領域(多面体)を構成する面の名前のリスト(文字列配列)を並べた配列。 surface_name[n][m]がn番目の小領域を構成するm番目の面の名前を表す。
An array composed of the list of the names of the planes (an array of strings) that constitute each subdomain (polyhedron); surface_name[n][m] represents the name of the \(m\)th plane that constitute the \(n\)th subdomain.
int ∗∗ surface_id 各小領域(多面体)を構成する面の番号のリストを並べた配列。 surface_id[n][m]がn番目の小領域を構成するm番目の面の番号 (struct TF_planes型構造体のメンバnameの第1配列要素番号) を表す。
An array composed of the list of the indices of the planes that constitute each subdomain (polyhedron); surface_id[n][m] represents the index of the \(m\)th plane (the 1st array index of member name of a struct TF_planes-type structure) that constitute the \(n\)th subdomain.
char ∗∗∗ rho_point_name 各小領域において密度を与える4地点の名前を並べた文字列配列。 rho_point_name[n][0]-rho_point_name[n][3]が n番目の小領域における4地点の名前を表す。
An array composed of the strings that represent the four points where the density is defined for each subdomain; rho_point_name[n][0]-rho_point_name[n][3] represent the names of the four points for the \(n\)th subdomain.
int ∗∗ rho_point_id 各小領域において密度を与える4地点の番号 (struct TF_points型構造体におけるメンバnameの第1配列要素番号) を並べた配列。 rho_point_id[n][0]-rho_point_id[n][3]が n番目の小領域における4地点の番号を表す。
An array composed of the indices of the four points (the 1st array indices of member name of a struct TF_points-type structure) where the density is defined for each subdomain; rho_point_id[n][0]-rho_point_id[n][3] represent the indices of the four points for the \(n\)th subdomain.
double ∗∗ rho_value 各小領域における4地点での密度を並べた配列。 rho_value[n][0]-rho_value[n][3]が\(n\)番目の小領域における 4地点rho_point_name[n][0]-rho_point_name[n][3]での密度を表す。
An array composed of the densities at the four points for each subdomain; rho_value[n][0]-rho_value[n][3] represent the densities at the four points rho_point_name[n][0]-rho_point_name[n][3] of the \(n\)th subdomain.
char ∗∗∗ Vp_point_name 各小領域においてP波速度を与える4地点の名前を並べた文字列配列。 Vp_point_name[n][0]-Vp_point_name[n][3]が n番目の小領域における4地点の名前を表す。
An array composed of the strings that represent the four points where the P-wave velocity is defined for each subdomain; Vp_point_name[n][0]-Vp_point_name[n][3] represent the names of the four points for the \(n\)th subdomain.
int ∗∗ Vp_point_id 各小領域においてP波速度を与える4地点の番号 (struct TF_points型構造体におけるメンバnameの第1配列要素番号) を並べた配列。 Vp_point_id[n][0]-Vp_point_id[n][3]が n番目の小領域における4地点の番号を表す。
An array composed of the indices of the four points (the 1st array indices of member name of a struct TF_points-type structure) where the P-wave velocity is defined for each subdomain; Vp_point_id[n][0]-Vp_point_id[n][3] represent the indices of the four points for the \(n\)th subdomain.
double ∗∗ Vp_value 各小領域における4地点でのP波速度を並べた配列。 Vp_value[n][0]-Vp_value[n][3]が\(n\)番目の小領域における 4地点Vp_point_name[n][0]-Vp_point_name[n][3]でのP波速度を表す。
An array composed of the P-wave velocities at the four points for each subdomain; Vp_value[n][0]-Vp_value[n][3] represent the P-wave velocities at the four points Vp_point_name[n][0]-Vp_point_name[n][3] of the \(n\)th subdomain.
char ∗∗∗ Vs_point_name 各小領域においてS波速度を与える4地点の名前を並べた文字列配列。 Vs_point_name[n][0]-Vs_point_name[n][3]が n番目の小領域における4地点の名前を表す。
An array composed of the strings that represent the four points where the S-wave velocity is defined for each subdomain; Vs_point_name[n][0]-Vs_point_name[n][3] represent the names of the four points for the \(n\)th subdomain.
int ∗∗ Vs_point_id 各小領域においてS波速度を与える4地点の番号 (struct TF_points型構造体におけるメンバnameの第1配列要素番号) を並べた配列。 Vs_point_id[n][0]-Vs_point_id[n][3]が n番目の小領域における4地点の番号を表す。
An array composed of the indices of the four points (the 1st array indices of member name of a struct TF_points-type structure) where the S-wave velocity is defined for each subdomain; Vs_point_id[n][0]-Vs_point_id[n][3] represent the indices of the four points for the \(n\)th subdomain.
double ∗∗ Vs_value 各小領域における4地点でのS波速度を並べた配列。 Vs_value[n][0]-Vs_value[n][3]が\(n\)番目の小領域における 4地点Vs_point_name[n][0]-Vs_point_name[n][3]でのS波速度を表す。
An array composed of the S-wave velocities at the four points for each subdomain; Vs_value[n][0]-Vs_value[n][3] represent the S-wave velocities at the four points Vs_point_name[n][0]-Vs_point_name[n][3] of the \(n\)th subdomain.


◆struct TF_section型構造体 (A struct TF_section-type structure)

3次元空間内の各地点が 地下構造の設定ファイル(subdomain) における「小領域」の内部にあるか、外部にあるかを判定するために用いる構造体である。 判定のため、指定された\((x,y)\)における小領域の境界面の\(z\)座標をリストアップする。 以下のメンバから成る。
A structure used to examine whether each point in the 3-D domain is inside or outside of a “subdomain” defined by the structure file (subdomain). For this purpose, the \(z\)-coordinates on the boundary planes of a subdomain at a specified \((x,y)\) are listed. This structure is composed of the following members.


Type
メンバ名
Name of member
メンバの意味
Meaning of member
int number 指定された\((x,y)\)における小領域の境界面の\(z\)座標の個数。
The number of \(z\)-coordinates on the boundary planes of the subdomain at a specified \((x,y)\).
double ∗ z 指定された\((x,y)\)における小領域の境界面の\(z\)座標を並べた配列。
An array composed of the \(z\)-coordinates on the boundary planes of the subdomain at a specified \((x,y)\).


◆struct TF_boundary型構造体 (A struct TF_boundary-type structure)

地下構造の設定ファイル(layer) から読み込んだ層構造を表現するための構造体である。 1つの構造体では地下構造全体ではなく1つの層境界を表現する。 以下のメンバから成る。
A structure to represent a layered structure from the structure file (subdomain). Not the entire structure but the information on a single layer boundary is expressed by each structure. This structure is composed of the following members.


Type
メンバ名
Name of member
メンバの意味
Meaning of member
double elevation 層境界の標高(海抜または地表面からの相対値)。
The altitude of the layer boundary (above sea level or relative value from the ground surface).
char elevation_ref[strsize] 標高の基準値。sea: 海抜。surface: 地表面。
The reference point of the altitude; sea if the altitude is above sea level, surface if the altitude is above the ground surface.
double Vp 層境界でのP波速度。
The P-wave velocity at the layer boundary.
double Vs 層境界でのS波速度。
The S-wave velocity at the layer boundary.
double rho 層境界での密度。
The density at the layer boundary.


◆struct TF_station型構造体 (A struct TF_station-type structure)

観測点を表現するための構造体である。 1つの構造体につき1つの観測点を表す。 以下のメンバから成る。
A structure to represent a station. Each structure represents the information for one station. This structure is composed of the following members.


Type
メンバ名
Name of member
メンバの意味
Meaning of member
char name[strsize] 観測点名。
The station name.
double x[3] 観測点の\(x\), \(y\), \(z\)座標を並べた配列。
An array composed of the \(x\)-, \(y\)-, and \(z\)-coordinates of the station.
int ig 観測点の最寄りの格子セル中心点を表す 半格子点の通し番号
The consecutive index of the half-grid node at the center of the grid cell closest to the station location.


◆struct TF_snapshot型構造体 (A struct TF_snapshot-type structure)

スナップショットの設定 を表現するための構造体である。 1つの構造体につき1つの領域(直方体/地表面/水面)の設定を表す。 以下のメンバから成る。
A structure to represent the configuration of a snapshot. Each structure represents the information for one region (a rectangular-solid volume or a ground/water surface). This structure is composed of the following members.


Type
メンバ名
Name of member
メンバの意味
Meaning of member
char bodyname[strsize] 領域名。
The region name.
char snapname[strsize] スナップショットの名前。
The name of the snapshot.
int nmin[3] 出力範囲の\((x,y,z)\)座標の最小値に対応する 半格子点の方向別インデックス を並べた配列。
An array composed of the directional indices of the half-grid node corresponding to the minimum values of \((x,y,z)\)-coordinates included in the output.
int nmax[3] 出力範囲の\((x,y,z)\)座標の最大値に対応する 半格子点の方向別インデックス を並べた配列。
An array composed of the directional indices of the half-grid node corresponding to the maximum values of \((x,y,z)\)-coordinates included in the output.
int ninc[3] 出力に含める半格子点の間隔(\(x\), \(y\), \(z\)方向) を並べた配列。
An array composed of the intervals of half-grid nodes in \(x\)-, \(y\)-, and \(z\)-directions included in the output.
char rangeStr[3][strsize] パラメータxrange, yrange, zrangeの値の一時読み込み先。
xrangeをrangeStr[0]に、yrangeをrangeStr[1]に、zrangeをrangeStr[2]に 文字列として読み込む。
Memories to temporarily store the values of parameters xrange, yrange, and zrange; they are stored into rangeStr[0], rangeStr[1], and rangeStr[2] as strings.
double xinc パラメータxincの値の読み込み先。
Memory to store the value of parameter xinc.
double yinc パラメータyincの値の読み込み先。
Memory to store the value of parameter yinc.
double zinc パラメータzincの値の読み込み先。
Memory to store the value of parameter zinc.
int surface 領域の種類。
The type of the region.

  • 0
    直方体。
    A rectangular-solid volume.

  • 1
    地表面。
    The ground surface.

  • 2
    水面。
    The water surface.

  • 3
    地表面と水面のうち、より上方にある面。
    The upper one of the ground or water surface.

unsigned int snapname_specified : 1 パラメータsnapnameが指定されたか否かを示すフラグ。
A flag indicating whether the parameter snapname was specified.
unsigned int xrange_specified : 1 パラメータxrangeが指定されたか否かを示すフラグ。
A flag indicating whether the parameter xrange was specified.
unsigned int yrange_specified : 1 パラメータyrangeが指定されたか否かを示すフラグ。
A flag indicating whether the parameter yrange was specified.
unsigned int zrange_specified : 1 パラメータzrangeが指定されたか否かを示すフラグ。
A flag indicating whether the parameter zrange was specified.
unsigned int xinc_specified : 1 パラメータxincが指定されたか否かを示すフラグ。
A flag indicating whether the parameter xinc was specified.
unsigned int yinc_specified : 1 パラメータyincが指定されたか否かを示すフラグ。
A flag indicating whether the parameter yinc was specified.
unsigned int zinc_specified : 1 パラメータzincが指定されたか否かを示すフラグ。
A flag indicating whether the parameter zinc was specified.


◆struct TF_lake型構造体 (A struct TF_lake-type structure)

水域の設定 を表現するための構造体である。 1つの構造体につき1つの水域の設定を表す。 以下のメンバから成る。
A structure to represent the configuration of a water-filled region. Each structure represents the information for one region. This structure is composed of the following members.


Type
メンバ名
Name of member
メンバの意味
Meaning of member
char name[strsize] 水域名。
The name of the water-filled region.
double xmin[3] その水域の\(x\), \(y\), \(z\)座標範囲の下限を並べた配列。
An array composed of the lower limits of the \(x\)-, \(y\)-, and \(z\)-coordinate ranges of the water-filled region.
double xmax[3] その水域の\(x\), \(y\), \(z\)座標範囲の上限を並べた配列。
An array composed of the upper limits of the \(x\)-, \(y\)-, and \(z\)-coordinate ranges of the water-filled region.
double height 水面の標高。
The altitude of the water surface.
double density 水の密度。
The density of water.
double velocity 水の音速。
The sound velocity of water.


◆struct TF_surface型構造体 (A struct TF_surface-type structure)

格子セルにマッチさせた地表面や水面の標高を表現するための構造体である。 以下のメンバから成る。
A structure to represent the altitudes of a ground or water surface adapted to the grid cells. This structure is composed of the following members.


Type
メンバ名
Name of member
メンバの意味
Meaning of member
int N[2] 標高データの定義域に含まれる格子セル中心点の個数(\(x\), \(y\)方向) を並べた配列。
An array composed of the numbers of the center of grid cells (\(x\)- and \(y\)-directions) included in the definition range of the altitude data.
double xmin[2] 標高データの定義域に含まれる格子セル中心点の \(x\), \(y\)座標の下限を並べた配列。
An array composed of the lower limits of the \(x\)- and \(y\)-coordinates at the centers of grid cells included in the definition range of the altitude data.
double dx[2] \(x\), \(y\)方向の格子セルサイズを並べた配列。
An array composed of the sizes of grid cells along the \(x\)- and \(y\)-directions.
double ∗∗ elevation \(x\), \(y\)方向の格子セル中心点での標高を並べた2次元配列。 第1引数が\(x\)方向、第2引数が\(y\)方向の位置を表す。
A 2-D array composed of the altitudes at the center of grid cells along the \(x\)- and \(y\)-directions; the 1st and 2nd arguments represent the locations along the \(x\)- and \(y\)-directions, respectively.
int ∗∗ n2 標高に対応する 半格子点の方向別インデックス(\(z\)成分) を並べた2次元配列。 第1引数が\(x\)方向、第2引数が\(y\)方向の位置を表す。
A 2-D array composed of the directional indices of half-grid nodes (\(z\)-component) corresponding to the altitudes; the 1st and 2nd arguments represent the locations along the \(x\)- and \(y\)-directions, respectively.