関数TF_set_MandFandT マニュアル

(The documentation of function TF_set_MandFandT)

Last Update: 2024/2/19


◆機能・用途(Purpose)

大きさと向きで定義された地震波動ソースを直交座標に沿った行列成分表記に変換し、 その空間分布を設定する。
Convert the mechanism of a seismic wave source, given by the magnitude and orientation, to matrix representations based on a cartesian coordinate and determine their spatial distributions.

地震波動ソースの設定ファイルには (例えば鉛直シングルフォースと等方モーメントテンソルソースのように) 複数のソース要素が定義される場合がある。 この関数ではそのうちの1つのソース要素について処理を行う。 ソース要素が複数ある場合はその数だけこの関数を繰り返し呼び出す。
The configuration file for the seismic wave source may have multiple source elements; for example, a vertical single force and an isotropic moment tensor source. This function processes a source element; if there are multiple source elements, this function is called repeatedly for each element.


◆形式(Format)

#include "waterPML_sub/source.h"
inline void TF_set_MandFandT
(const struct grid stg,const struct waterPML_parameters parameters,
 const struct tws_source source,const int Nsource_grid,
 const _Bool ∗source_grid_flag, const double ∗source_intensity,
 const double ∗lambda,const double ∗mu,
 struct matrix ∗∗M, struct columnvector ∗∗F, struct columnvector ∗∗T)


◆引数(Arguments)

stg 関数 TF_initialize_stg, TF_set_rho_index, TF_set_lambda_index, TF_set_mu_index, TF_set_alpha_index, TF_set_c によって値を設定した構造体。
A structure whose values have been given by functions TF_initialize_stg, TF_set_rho_index, TF_set_lambda_index, TF_set_mu_index, TF_set_alpha_index, and TF_set_c.
parameters 関数TF_set_parameters によってメンバの値の設定を済ませた構造体。
A structure whose members were set by function TF_set_parameters.
source ファイルから読み込んだ地震波動ソースの設定(1つのソース要素に関するもの)。 関数tws_set_source の戻り値を与える。
The configuration of a seismic wave source read from a file; use the return value of function tws_set_source.
Nsource_grid ノンゼロのソース強度を持つ格子セルの個数。 関数TF_calculate_source_intensity の戻り値を与える。
The number of grid cells with non-zero source intensity; use the return value of function TF_calculate_source_intensity.
source_grid_flag 各格子セルがノンゼロのソース強度を持つか否かを示すフラグ。 関数TF_calculate_source_intensity を用いて作成した配列を与える。
A flag indicating whether each grid cell has non-zero source intensity. Use an array created by function TF_calculate_source_intensity.
source_intensity 各格子セルに与えるソース強度。 関数TF_calculate_source_intensity を用いて作成した配列を与える。
The source intensity to be assigned to each cell. Use an array created by function TF_calculate_source_intensity.
lambda 関数 TF_set_lambda_index, TF_set_structure_layer, TF_set_structure, TF_reflect_water_property によって値を設定した配列。
An array whose values have been given by functions TF_set_lambda_index, TF_set_structure_layer, TF_set_structure, and TF_reflect_water_property.
mu 関数 TF_set_mu_index, TF_set_structure_layer, TF_set_structure, TF_reflect_water_property によって値を設定した配列。
An array whose values have been given by functions TF_set_mu_index, TF_set_structure_layer, TF_set_structure, and TF_reflect_water_property.
M モーメントテンソル(直交座標系に沿った3×3行列) の空間分布\(\myvector{M}(\posx)\)の代入先。 宣言しただけのstruct matrix ∗型変数に&を付けて与える。 関数内で\(M(\posx)\)を表す1次元配列(1) が用意され、値が設定される。
Memory into which the spatial distribution of moment tensors \(\myvector{M}(\posx)\) (3×3 matrices along a cartesian coordinate system) is to be inserted. Give an empty struct matrix ∗-type variable with &. Within the function, a 1-D array(1) is allocated and the values of the array components are determined.
F シングルフォース(直交座標系に沿った3成分ベクトル) の空間分布\(\myvector{F}(\posx)\)の代入先。 宣言しただけのstruct columnvector ∗型変数に&を付けて与える。 関数内で\(F(\posx)\)を表す1次元配列(1) が用意され、値が設定される。
Memory into which the spatial distribution of single forces \(\myvector{F}(\posx)\) (3-component vectors along a cartesian coordinate system) is to be inserted. Give an empty struct columnvector ∗-type variable with &. Within the function, a 1-D array(1) is allocated and the values of the array components are determined.
T 傾斜変動を相反定理を用いて計算するために観測点の位置に置く 仮想的なソース成分(直交座標系に沿った水平2成分ベクトル) の空間分布\(\myvector{T}(\posx)\)の代入先。 宣言しただけのstruct columnvector ∗型変数に&を付けて与える。 関数内で\(T(\posx)\)を表す1次元配列(1) が用意され、値が設定される。
Memory into which the spatial distribution of virtual source components \(\myvector{T}(\posx)\), exerted at the station locations to compute tilt based on the reciprocity theorem (horizontal 2-component vectors along a cartesian coordinate system), is to be inserted. Give an empty struct columnvector ∗-type variable with &. Within the function, a 1-D array(1) is allocated and the values of the array components are determined.

  1. 配列の引数は位置であるが、 ノンゼロのソース強度を与える格子セルのみが対象である。 したがって配列要素数は格子セルの個数ではなく引数Nsource_gridの値となり、 特に点ソースの場合には配列要素数は1となる。
    The argument of the array points to a location; however, the array components are given to only the grid cells where the source intensity is not zero. Therefore, the number of array components is not the total number of grid cells but the value of argument Nsource_grid; especially, the array consists of only one component in case of a point source.


◆動作(Behaviour)

引数M, F, Tの値を設定する。
Determine the values of arguments M, F, and T.