FDM_1D_verticalコマンドで用いているアルゴリズム

3. 離散化

(Algorithm used in FDM_1D_vertical command; 3. Discretization)



FDM_1D_verticalコマンドではstaggered gridを使用する。 グリッド刻みを\(\Delta z\)、時間刻みを\(\Delta t\)として
与える。ここで\(i\), \(k\)は整数である。また 地表面が応力の定義点となるように\(\Delta z\)を決定 する。以上の関係を図示すると下図のようになる。
The FDM_1D_vertical command uses a staggered grid, where
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.