関数TF_reflect_water_property マニュアル

(The documentation of function TF_reflect_water_property)

Last Update: 2024/2/16


◆機能・用途(Purpose)

水域の設定を密度とラメ定数に反映する。
Determine the densities and Lame constants in water-filled regions.


◆形式(Format)

#include "waterPML_sub/water.h"
inline void TF_reflect_water_property
(const struct grid stg,const struct waterPML_parameters parameters,
 char ∗const ∗type,const struct TF_lake lake,
 double ∗rho,double ∗lambda,double ∗mu)


◆引数(Arguments)

stg 関数 TF_initialize_stg, TF_set_rho_index, TF_set_lambda_index, TF_set_mu_index によって値を設定した構造体。
A structure whose values have been given by functions TF_initialize_stg, TF_set_rho_index, TF_set_lambda_index, and TF_set_mu_index.
parameters 関数TF_set_parameters によってメンバの値の設定を済ませた構造体。
A structure whose members were set by function TF_set_parameters.
type 関数TF_set_type, TF_set_material_type によって値を設定した 2次元配列type
A 2-D array type whose values have been set by functions TF_set_type and TF_set_material_type.
lake 関数TF_read_water_ini によってメンバの値の設定を済ませた構造体。
A structure whose members were set by function TF_read_water_ini.
rho 関数TF_set_rho_index によって動的メモリを確保し、関数 TF_set_structure_layer または TF_set_structure によって値を設定した配列。 この関数内で配列要素の値(各半格子点での密度\(\rho\)) が修正される。
An array whose dynamic memory has been allocated using function TF_set_rho_index and whose array component values have been determined using function TF_set_structure_layer or TF_set_structure. The values of array components (the densities \(\rho\) at half-grid nodes) are modified in this function.
lambda 関数TF_set_lambda_index によって動的メモリを確保し、関数 TF_set_structure_layer または TF_set_structure によって値を設定した配列。 この関数内で配列要素の値(各半格子点でのラメ定数\(\lambda\)) が修正される。
An array whose dynamic memory has been allocated using function TF_set_lambda_index and whose array component values have been determined using function TF_set_structure_layer or TF_set_structure. The values of array components (the Lame constants \(\lambda\) at half-grid nodes) are modified in this function.
mu 関数TF_set_mu_index によって動的メモリを確保し、関数 TF_set_structure_layer または TF_set_structure によって値を設定した配列。 この関数内で配列要素の値(各半格子点でのラメ定数\(\mu\)) が修正される。
An array whose dynamic memory has been allocated using function TF_set_mu_index and whose array component values have been determined using function TF_set_structure_layer or TF_set_structure. The values of array components (the Lame constants \(\mu\) at half-grid nodes) are modified in this function.


◆動作(Behaviour)

引数lakeで与えた水域の設定に基づいて 引数rho, lambda, muの配列要素の値を修正する。
Modify the values of components of arrays given by arguments rho, lambda, and mu based on the configuration of a water-filled region given by argument lake.

値は以下のように設定する。
The values to be set are as follows.

水中や水面(水のセルと真空のセルの境界)の半格子点(物理領域内)
Half-grid nodes located in a water-filled region or on a water surface (a boundary between water and vacuum cells) in the physical volume
引数lakeで指定する水の密度\(\rho_w\)と音速\(a_w\)に基づき、 密度を\(\rho_w\)、ラメ定数を\(lambda=\rho_w a_w^2\), \(\mu=0\) とする。
Set the density as \(\rho_w\) and Lame constants as \(\lambda=\rho_w a_w^2\) and \(\mu=0\), where \(\rho_w\) and \(a_w\) are the density and sound velocity of water, respectively, which are given by argument lake.
水底(固体のセルと水のセルの境界)や 3重点(固体、水、真空のセルの交点) となる半格子点(物理領域内)
Half-grid nodes located on the floor of a water-filled region (a boundary between solid and water cells) or at a triple point (an intersect point among solid, water, and vacuum cells) in the physical volume
密度とラメ定数\(\lambda\)については 周囲の格子セル中心点での値を平均する。 ラメ定数\(\mu=0\)とする。
Use the averages of the densities and Lame constants \(\lambda\) at the centers of surrounding grid cells, and \(\mu=0\).
PML領域内
In the PML volume
物理領域内の最寄りの半格子点での密度とラメ定数を使用する。
Use the density and Lame constants at the nearest half-grid node in the physical volume.


◆補足(Additional remarks)

この関数で処理できるのは1つの水域である。 複数の水域がある場合は水域の数だけこの関数を呼び出す。
This function processes only one water-filled region. If there are multiple water-filled regions, repeatedly call this function for each region.