next up previous [pdf]

Next: Memory manipulation Up: GPU implementation using CPML Previous: GPU implementation using CPML

CPML boundary condition

To combine the absorbing effects into the acoustic equation, CPML boundary condition is such a nice way that we merely need to combine two convolutional terms into the above equations:

\begin{equation*}\left\{ \begin{split}\frac{\partial^2 p}{\partial t^2}&=v^2\lef...
...\partial_x p+\Phi_x\\ Az&=\partial_z p+\Phi_z \end{split} \right.\end{equation*} (13)

where $ \Psi_x$ , $ \Psi_z$ are the convolutional terms of $ Ax$ and $ Az$ ; $ \Phi_x$ , $ \Phi_z$ are the convolutional terms of $ Px$ and $ Pz$ . These convolutional terms can be computed via the following relation:

\begin{equation*}\left\{ \begin{split}\Psi_x^n=b_x \Psi_x^{n-1}+(b_x-1) \partial...
..._z \Phi_z^{n-1}+(b_z-1) \partial_z^{n-1/2}p\\ \end{split} \right.\end{equation*} (14)

where $ b_x=e^{-d(x)\Delta t}$ and $ b_z=e^{-d(z)\Delta t}$ . In the absorbing layers, the damping parameter $ d(u)$ we used is (Collino and Tsogka, 2001):

$\displaystyle d(u)=d_0(\frac{u}{L})^2, d_0=-\frac{3v}{2L}\ln(R),$ (15)

where $ L$ indicates the PML thickness; $ u$ represent the distance between current position (in PML) and PML inner boundary. $ R$ is always chosen as $ 10^{-3}\sim 10^{-6}$ . For more details about the derivation of CPML, the interested readers are referred to Collino and Tsogka (2001) and Komatitsch and Martin (2007). The implementation of CPML boundary condition is easy to carry out: in each iteration the wavefield extrapolation is performed according to the first equation in (13); it follows by adding the convolutional terms in terms of (14).


next up previous [pdf]

Next: Memory manipulation Up: GPU implementation using CPML Previous: GPU implementation using CPML

2021-08-31