waterPMLコマンドで用いている計算式

(3) 計算領域の外周での境界条件

(Formula used in waterPML command; (3) Boundary conditions on the outer surfaces of the computational volume)



計算領域内部では 前節 で導出した(9)(15)式 \[\begin{eqnarray} V_i^k(\posx_{i-1/2},t) &=& c_0^k(\posx_{i-1/2})V_i^k(\posx_{i-1/2},t_{-1}) \nonumber \\ & & +c_1^k(\posx_{i-1/2})\left[ \sum_l \left\{\tau_{ik}^l\left(\posx_{i-1/2}^{k+1/2},t_{-1/2}\right) -\tau_{ik}^l\left(\posx_{i-1/2}^{k-1/2},t_{-1/2}\right)\right\} \right. \nonumber \\ & & \left. +\delta_{k0}|\Delta\posx_k|f_i(\posx_{i-1/2},t_{-1/2}) \right] \label{eq.Vik} \end{eqnarray}\] \[\begin{eqnarray} \tau_{ij}^l\left(\posx_{i-1/2}^{j+1/2},t_{+1/2}\right) &=& c_0^l\left(\posx_{i-1/2}^{j+1/2}\right) \tau_{ij}^l\left(\posx_{i-1/2}^{j+1/2},t_{-1/2}\right) +\sum_p \left[ c_2^{ijpl}\left(\posx_{i-1/2}^{j+1/2}\right) \right. \nonumber \\ & & \left. \sum_k \left\{V_p^k\left(\posx_{i-1/2,j+1/2}^{l+1/2},t\right) -V_p^k\left(\posx_{i-1/2,j+1/2}^{l-1/2},t\right)\right\} \right] \label{eq.Tijl} \end{eqnarray}\] が用いられる。 ところが計算領域の外周上の点ではこれらの式をそのまま用いることはできない。 というのも(\ref{eq.Vik})(\ref{eq.Tijl})式の右辺に その点よりも外側の点での速度や応力が登場するからである。 この節では計算領域の外周上の点での取り扱いについて述べる。
Eqs. (9) and (15) derived in the previous section, which are reproduced as Eq. (\ref{eq.Vik}) and (\ref{eq.Tijl}) above, are used to compute the velocity and stress field in the computational volume. On the outer surface of the computational volume, however, these equations cannot directly be applied because the right and side of these equations require the velocity and stress at an outer side of the target point. This section describes the treatments on the outer surfaces of the computational volume.


3-1. 速度の法線方向成分\(V_n^k\) (Normal velocity components \(V_n^k\))

(\ref{eq.Vik})式の左辺の速度成分\(V_i^k\)は 位置\(\posx_{i-1/2}=\posx-\Delta\posx_i/2\)で定義されている。 この量を計算するために位置 \(\posx_{i-1/2}^{k-1/2}=\posx-\Delta\posx_i/2-\Delta\posx_k/2\) での応力が必要であることが(\ref{eq.Vik})式の右辺から分かる。 特に\(i=k\)の場合、 \(\posx_{i-1/2}^{k-1/2}=\posx-\Delta\posx_i\) である。 もし\(\posx_{i-1/2}=\posx-\Delta\posx_i/2\)が \(x_i\)軸の\(-\)側の計算領域端であれば \(\posx_{i-1/2}^{k-1/2}=\posx-\Delta\posx_i\) は計算領域外となり、その地点での応力は定義できない(図1a)。 したがって(\ref{eq.Vik})式をそのまま用いて 計算領域外周の点における速度を計算することはできない。
The velocity component \(V_i^k\) in the left hand side of Eq. (\ref{eq.Vik}) is defined at \(\posx_{i-1/2}=\posx-\Delta\posx_i/2\). The computation of this quantity requires the stress at \(\posx_{i-1/2}^{k-1/2}=\posx-\Delta\posx_i/2-\Delta\posx_k/2\), as the right hand side of Eq. (\ref{eq.Vik}) shows. Especially, \(\posx_{i-1/2}^{k-1/2}=\posx-\Delta\posx_i\) in case of \(i=k\). If \(\posx_{i-1/2}=\posx-\Delta\posx_i/2\) is at the negative side end of the computational volume, \(\posx_{i-1/2}^{k-1/2}=\posx-\Delta\posx_i\) is outside of the volume, where the stress cannot be defined (Fig. 1a). Therefore, the velocity on the outer surface of the computational volume cannot be computed from Eq. (\ref{eq.Vik}).

そこでwaterPMLコマンドでは計算領域の\(x_n\)軸方向(\(n=0,1,2\))の端において 速度成分\(V_n^k=0\)であると仮定する。 これにより、速度に関しては上で述べた問題は回避できる。
To resolve this problem, the waterPML command assumes the velocity component \(V_n^k=0\) on the outer surface of the computational volume for \(x_n\)-axis direction (\(n=0,1,2\)). Using this assumption, the aforementioned problem is avoided.

なお\(x_n\)方向以外の速度成分\(V_i^k\) (\(i\neq n\))については 計算領域の端で定義されるわけではないので問題は生じない(図1b)。
For the other velocity components \(V_i^k\) (\(i\neq n\)), the problem does not occur because they are not defined on the outer surface (Fig. 1b).



図1. 計算領域端において速度成分を計算する際に発生する問題。 赤線が計算領域端、青が計算したい速度成分、緑が計算に必要な応力成分を表す。 (a)境界面に直交する速度成分を計算する場合。 緑で示した4つの地点での応力成分が必要であるが、 このうち白抜きで示した地点での応力成分が計算領域外なので定義されない。 (b)境界面に平行な速度成分を計算する場合。 このときは問題は起きない。
Fig. 1. A problem for computing velocity components at the outer boundary of the computational volume. The red line is the outer boundary, blue is a velocity component to compute, and green is the stress components needed for the computation. (a) In case of computing a velocity component normal to the boundary. The stress components at the four points shown by green are needed; however, the stress is not defined at the point shown by the open symbol that is out of the computational volume. (b) In case of computing a velocity component parallel to the boundary. In this case, no problem occurs.


3-2. 応力の非対角成分\(\tau_{np}^l\) (Off-diagonal stress components \(\tau_{np}^l\))

(\ref{eq.Tijl})式の左辺の応力成分\(\tau_{ij}^l\)は位置 \(\posx_{i-1/2}^{j+1/2}=\posx-\Delta\posx_i/2+\Delta\posx_j/2\) で定義されている。 この量を計算するために位置 \(\posx_{i-1/2,j+1/2}^{l-1/2}= \posx-\Delta\posx_i/2+\Delta\posx_j/2-\Delta\posx_l/2\) での速度が必要であることが(\ref{eq.Tijl})式の右辺から分かる。 特に\(i=l\neq j\)の場合、 \(\posx_{i-1/2,j+1/2}^{l-1/2}=\posx-\Delta\posx_i+\Delta\posx_j/2\) である。 もし\(\posx_{i-1/2,j+1/2}=\posx-\Delta\posx_i/2+\Delta\posx_j/2\)が \(x_i\)軸の\(-\)側の計算領域端であれば \(\posx_{i-1/2,j+1/2}^{l-1/2}=\posx-\Delta\posx_i+\Delta\posx_j/2\) は計算領域外となり、その地点での速度は定義できない(図2a)。 したがって(\ref{eq.Tijl})式をそのまま用いて 計算領域外周の点における応力を計算することはできない。
The stress component \(\tau_{ij}^l\) in the left hand side of Eq. (\ref{eq.Tijl}) is defined at \(\posx_{i-1/2}^{j+1/2}=\posx-\Delta\posx_i/2+\Delta\posx_j/2\). The computation of this quantity requires the velocity at \(\posx_{i-1/2,j+1/2}^{l-1/2}= \posx-\Delta\posx_i/2+\Delta\posx_j/2-\Delta\posx_l/2\), as the right hand side of Eq. (\ref{eq.Tijl}) shows. Especially, \(\posx_{i-1/2,j+1/2}^{l-1/2}=\posx-\Delta\posx_i+\Delta\posx_j/2\) in case of \(i=l\neq j\). If \(\posx_{i-1/2,j+1/2}=\posx-\Delta\posx_i/2+\Delta\posx_j/2\) is at the negative side end of the computational volume, \(\posx_{i-1/2,j+1/2}^{l-1/2}=\posx-\Delta\posx_i+\Delta\posx_j/2\) is outside of the volume, where the velocity cannot be defined (Fig. 2a). Therefore, the stress on the outer surface of the computational volume cannot be computed from Eq. (\ref{eq.Tijl}).

先に、計算領域端において\(V_n^k=0\)であるという仮定をおいた。 これは固定端を仮定したことになる。 この仮定と整合的になるように、 計算領域端の半格子外側の点における速度成分(図2aの白抜き)が 内側の点における同成分の\(-1\)倍であると仮定する。 すなわち、\(\posx_{n-1/2,j+1/2}=\posx-\Delta\posx_n/2+\Delta\posx_j/2\)が \(x_n\)軸の\(-\)側の計算領域端である場合に \(V_j^k\left(\posx-\Delta\posx_n+\Delta\posx_j/2\right)= -V_j^k\left(\posx+\Delta\posx_j/2\right)\) であるものとする(図2c)。 この仮定をおけば(\ref{eq.Tijl})式の右辺第2項に登場する速度差の \(i=l=n\), \(p=j\)に対応する成分は \[\begin{eqnarray} & & V_j^k\left(\posx_{n-1/2,j+1/2}^{n+1/2},t\right) -V_j^k\left(\posx_{n-1/2,j+1/2}^{n-1/2},t\right) \nonumber \\ &=& V_j^k\left(\posx+\Delta\posx_j/2\right) -V_j^k\left(\posx-\Delta\posx_n+\Delta\posx_j/2\right) \nonumber \\ &=& 2V_j^k\left(\posx+\Delta\posx_j/2\right) \label{eq.Vdiff.normal} \end{eqnarray}\] となって計算できる。 簡単に言えば、応力成分の計算には 通常は応力定義点を挟む2つの速度定義点での速度の差を用いるが、 どちらか片方が計算領域外にある場合は計算領域内にある速度定義点での速度の 2倍で代用するということである。
Previously, \(V_n^k=0\) was assumed on the outer boundary of the computational volume. This means a fixed boundary. To be consistent with this assumption, the velocity component at the half grid outside from the boundary (open symbol in Fig. 2a) is assumed to be \(-1\) times that at the inner side; i.e., \(V_j^k\left(\posx-\Delta\posx_n+\Delta\posx_j/2\right)= -V_j^k\left(\posx+\Delta\posx_j/2\right)\) if \(\posx_{n-1/2,j+1/2}=\posx-\Delta\posx_n/2+\Delta\posx_j/2\) is at the outer boundary of the negative side of \(x_n\) axis (Fig. 2c). Based on this assumption, the velocity difference in the 2nd term of the right hand side of Eq. (\ref{eq.Tijl}) for \(i=l=n\) and \(p=j\) can be computed as Eq. (\ref{eq.Vdiff.normal}). Simply, the computation of a stress component usually uses the velocity difference between the two velocity definition points at the both sides of the stress definition point, but if one of the velocity definition point is outside the computational volume, twice the velocity at the inside velocity definition point is used instead.

なお応力の対角成分\(\tau_{ii}^l\)については 計算領域の端で定義されるわけではないので問題は生じない(図2b)。
For the diagonal stress components \(\tau_{ii}^l\), the problem does not occur because they are not defined on the outer surface (Fig. 2b).



図2. 計算領域端において応力成分を計算する際に発生する問題。 赤線が計算領域端、緑が計算したい応力成分、青が計算に必要な速度成分を表す。 (a)応力の非対角成分を計算する場合。 青で示した4つの地点での速度成分が必要であるが、 このうち白抜きで示した地点での速度成分が計算領域外なので定義されない。 (b)応力の対角成分を計算する場合。 このときは問題は起きない。 (c)応力の非対角成分の計算における対処法。 白抜きで示した計算領域外での速度成分の値を 計算領域内での値の\(-1\)倍であると仮定することで、 計算領域端において固定端の境界条件となる。
Fig. 2. A problem for computing stress components at the outer boundary of the computational volume. The red line is the outer boundary, green is a stress component to compute, and blue is the velocity components needed for the computation. (a) In case of computing a off-diagonal stress component. The velosity components at the four points shown by blue are needed; however, the velocity is not defined at the point shown by the open symbol that is out of the computational volume. (b) In case of computing a diagonal stress component. In this case, no problem occurs. (c) A countermeasure for the computation of the off-diagonal stress component. The value of the velocity component at the position outside of the computational volume, shown by the open symbol, is assumed to be \(-1\) times the value inside the volume. This assumption results in a fixed boundary condition as this figure illustrates.