FDM_1D_verticalコマンドで用いているアルゴリズム
3. 離散化
(Algorithm used in FDM_1D_vertical command;
3. Discretization)
FDM_1D_verticalコマンドではstaggered gridを使用する。
グリッド刻みを\(\Delta z\)、時間刻みを\(\Delta t\)として
- 速度\(V_x\), \(V_z\)を
標高\(z=z_o+i\Delta z\)、
時刻\(t=k\Delta t\)で
- 密度で割った応力成分\(\tau’_{xz}\), \(\tau’_{zz}\)を
標高\(z=z_o+(i+1/2)\Delta z\)、
時刻\(t=(k+1/2)\Delta t\)で
与える。ここで\(i\), \(k\)は整数である。また
地表面が応力の定義点となるように\(\Delta z\)を決定
する。以上の関係を図示すると下図のようになる。
The FDM_1D_vertical command uses a staggered grid, where
- the velocities \(V_x\) and \(V_z\) are given at
altitudes \(z=z_o+i\Delta z\)
and time \(t=k\Delta \), and
- the stresses components divided by the density
(\(\tau’_{xz}\) and \(\tau’_{zz}\))
are given at altitudes \(z=z_o+(i+1/2)\Delta z\)
and time \(t=(k+1/2)\Delta t\),
where \(i\) and \(k\) are integers.
The grid interval \(\Delta z\) is determined such that
the ground surface is a definition point of the stress.
These relations are shown by the figure below.
前節で導出した方程式
\[\begin{equation}
\PartialDiff{V_x(z,t)}{t}
=\PartialDiff{\tau’_{xz}(z,t)}{z}
\label{eq.motion.x.continuous}
\end{equation}\]
\[\begin{equation}
\PartialDiff{\tau’_{xz}(z,t)}{t}
=V_s(z)^2\PartialDiff{V_x(z,t)}{z}
\label{eq.constitutive.x.continuous}
\end{equation}\]
を上記のグリッド配置に基づいて離散化すると
\[\begin{eqnarray}
& & \frac{V_x(z_o+i\Delta z,(k+1)\Delta t)
-V_x(z_o+i\Delta z,k\Delta t)}{\Delta t}
\nonumber \\
&=& \frac{\tau’_{xz}(z_o+(i+1/2)\Delta z,(k+1/2)\Delta t)
-\tau’_{xz}(z_o+(i-1/2)\Delta z,(k+1/2)\Delta t)}{\Delta z}
\label{eq.motion.x.discrete}
\end{eqnarray}\]
\[\begin{eqnarray}
& & \frac{\tau’_{xz}(z_o+(i+1/2)\Delta z,(k+1/2)\Delta t)
-\tau’_{xz}(z_o+(i+1/2)\Delta z,(k-1/2)\Delta t)}{\Delta t}
\nonumber \\
&=& V_s(z_o+(i+1/2)\Delta z)^2
\frac{V_x(z_o+(i+1)\Delta z,k\Delta t)
-V_x(z_o+i\Delta z,k\Delta t)}{\Delta z}
\label{eq.constitutive.x.discrete}
\end{eqnarray}\]
となる。これらを時間発展方程式の形に書き直すと
\[\begin{eqnarray}
V_x(z_o+i\Delta z,(k+1)\Delta t)
&=& V_x(z_o+i\Delta z,k\Delta t)
\nonumber \\
& & +\frac{\Delta t}{\Delta z}\left[
\tau’_{xz}(z_o+(i+1/2)\Delta z,(k+1/2)\Delta t)
\right. \nonumber \\
& & \left.
-\tau’_{xz}(z_o+(i-1/2)\Delta z,(k+1/2)\Delta t)
\right]
\label{eq.V_x.evolution}
\end{eqnarray}\]
\[\begin{eqnarray}
\tau’_{xz}(z_o+(i+1/2)\Delta z,(k+1/2)\Delta t)
&=& \tau’_{xz}(z_o+(i+1/2)\Delta z,(k-1/2)\Delta t)
\nonumber \\
& & +\frac{\Delta t}{\Delta z}V_s(z_o+(i+1/2)\Delta z)^2
\nonumber \\
& & \left[
V_x(z_o+(i+1)\Delta z,k\Delta t)
\right. \nonumber \\
& & \left.
-V_x(z_o+i\Delta z,k\Delta t)
\right]
\label{eq.tau_xz.evolution}
\end{eqnarray}\]
となる。
Based on this grid layout,
Eqs. (\ref{eq.motion.x.continuous}) and (\ref{eq.constitutive.x.continuous})
derived in the previous section
can be discretized as
Eqs. (\ref{eq.motion.x.discrete}) and (\ref{eq.constitutive.x.discrete}),
respectively.
They can be rewritten in temporal evolution forms as
Eqs. (\ref{eq.V_x.evolution}) and (\ref{eq.tau_xz.evolution}).
同様にして、方程式
\[\begin{equation}
\PartialDiff{V_z(z,t)}{t}
=\PartialDiff{\tau’_{zz}(z,t)}{z}
\label{eq.motion.z.continuous}
\end{equation}\]
\[\begin{equation}
\PartialDiff{\tau’_{zz}(z,t)}{t}
=V_p(z)^2\PartialDiff{V_z(z,t)}{z}
\label{eq.constitutive.z.continuous}
\end{equation}\]
を離散化して時間発展方程式の形に書き直すと
\[\begin{eqnarray}
V_z(z_o+i\Delta z,(k+1)\Delta t)
&=& V_z(z_o+i\Delta z,k\Delta t)
\nonumber \\
& & +\frac{\Delta t}{\Delta z}\left[
\tau’_{zz}(z_o+(i+1/2)\Delta z,(k+1/2)\Delta t)
\right. \nonumber \\
& & \left.
-\tau’_{zz}(z_o+(i-1/2)\Delta z,(k+1/2)\Delta t)
\right]
\label{eq.V_z.evolution}
\end{eqnarray}\]
\[\begin{eqnarray}
\tau’_{zz}(z_o+(i+1/2)\Delta z,(k+1/2)\Delta t)
&=& \tau’_{zz}(z_o+(i+1/2)\Delta z,(k-1/2)\Delta t)
\nonumber \\
& & +\frac{\Delta t}{\Delta z}V_p(z_o+(i+1/2)\Delta z)^2
\nonumber \\
& & \left[
V_z(z_o+(i+1)\Delta z,k\Delta t)
\right. \nonumber \\
& & \left.
-V_z(z_o+i\Delta z,k\Delta t)
\right]
\label{eq.tau_zz.evolution}
\end{eqnarray}\]
となる。
In the same way, Eqs. (\ref{eq.motion.z.continuous})
and (\ref{eq.constitutive.z.continuous})
can be discretized and arranged to temporal evolution forms as
Eqs. (\ref{eq.V_z.evolution}) and (\ref{eq.tau_zz.evolution}),
respectively.