関数calculate_traveltime_2layers_inclined マニュアル

(The documentation of function calculate_traveltime_2layers_inclined)

Last Update: 2021/12/6


◆機能・用途(Purpose)

層境界が一定角度で傾いた2層構造のもとで2地点を結ぶ走時を計算する。
Calculate the travel time between two points in a medium of two layers separated by an inclined boundary that has a constant slope.


◆形式(Format)

#include <ray/calculateLayered.h>
inline double calculate_traveltime_2layers_inclined
(const double x1,const double z1,const double x2,const double z2,
 const double v1,const double v2,
 const double ref_xb,const double ref_zb,const double slope)


◆引数(Arguments)

x1 走時を計算する一方の地点の水平位置(\(x_1\))。
The horizontal location (\(x_1\)) of one point for the travel time calculation.
z1 \(x_1\)に対応する地点の標高(\(z_1\))。
The elevation (\(z_1\)) of the point corresponding to \(x_1\).
x2 走時を計算する他方の地点の水平位置(\(x_2\))。
The horizontal location (\(x_2\)) of the other point for the travel time calculation.
z2 \(x_2\)に対応する地点の標高(\(z_2\))。
The elevation (\(z_2\)) of the point corresponding to \(x_2\).
v1 第1層の速度(\(v_1\))。
The velocity (\(v_1\)) of the 1st layer.
v2 第2層の速度(\(v_2\))。
The velocity (\(v_2\)) of the 2nd layer.
ref_xb 層境界の標高が定義されている地点の水平位置(\(x_b^{ref}\))。
The horizontal location (\(x_b^{ref}\)) of the point where the elevation of the layer boundary is defined.
ref_zb 水平位置\(x_b^{ref}\)における層境界の標高(\(z_b^{ref}\))。
The elevation (\(z_b^{ref}\)) of the layer boundary corresponding to the horizontal location \(x_b^{ref}\).
slope 層境界の傾き\(\theta\)(°)。 水平座標の値を増やしたときに標高が高く(浅く)なる場合に正。
The slope \(\theta\) of the layer boundary (°); positive when the elevation increases (i.e., the boundary becomes shallower) as the horizontal coordinate value increases.


◆戻り値(Return value)

標高\(z>z_b^{ref}+\tan(\theta)(x-x_b^{ref})\)で速度\(v_1\)、 それよりも下で速度\(v_2\)の2層から成る媒質を介して \((x_1,z_1)\)から\((x_2,z_2)\)まで波が伝搬するのに要する時間。
The travel time of the wave propagating from \((x_1,z_1)\) to \((x_2,z_2)\) through a 2-layer medium for which the velocity is \(v_1\) and \(v_2\) below and above the plane \(z=z_b^{ref}+\tan(\theta)(x-x_b^{ref})\), respectively.


◆使用例(Example)

double T=calculate_traveltime_2layers_inclined (0.0,0.0,2000.0,0.0,2000.0,5000.0,0.0,-500.0,10.0);


◆計算方法(Computation method)

層境界に平行になるように座標回転を行った上で 関数calculate_traveltime_2layersを用いて走時計算を行う。 元々の座標が\((x,z)\)であったとき、回転後の座標は \[\begin{equation} x’=x\cos\theta+z\sin\theta \label{eq.xdash} \end{equation}\] \[\begin{equation} z’=-x\sin\theta+z\cos\theta \label{eq.zdash} \end{equation}\] と書ける。 \((x_1,z_1)\), \((x_2,z_2)\), \((x_b^{ref},z_b^{ref})\) に対してこの変換を行う。
The coordinates are rotated to be parallel to the layer boundary, and then the travel time is calculated using function calculate_traveltime_2layers. A coordinate \((x,z)\) will be mapped to \((x’,z’)\) after the rotation, where \(x’\) and \(z’\) are given by eqs. (\ref{eq.xdash}) and (\ref{eq.zdash}), respectively. This conversion is conducted for \((x_1,z_1)\), \((x_2,z_2)\), and \((x_b^{ref},z_b^{ref})\).