<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing with OASIS Tables v3.0 20080202//EN" "journalpub-oasis3.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:oasis="http://docs.oasis-open.org/ns/oasis-exchange/table" xml:lang="en" dtd-version="3.0"><?xmltex \makeatother\@nolinetrue\makeatletter?>
  <front>
    <journal-meta><journal-id journal-id-type="publisher">SE</journal-id><journal-title-group>
    <journal-title>Solid Earth</journal-title>
    <abbrev-journal-title abbrev-type="publisher">SE</abbrev-journal-title><abbrev-journal-title abbrev-type="nlm-ta">Solid Earth</abbrev-journal-title>
  </journal-title-group><issn pub-type="epub">1869-9529</issn><publisher>
    <publisher-name>Copernicus Publications</publisher-name>
    <publisher-loc>Göttingen, Germany</publisher-loc>
  </publisher></journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.5194/se-9-1277-2018</article-id><title-group><article-title>Second-order scalar wave field modeling with a first-order <?xmltex \hack{\break}?>perfectly matched
layer</article-title><alt-title>Second-order scalar wave field modeling</alt-title>
      </title-group><?xmltex \runningtitle{Second-order scalar wave field modeling}?><?xmltex \runningauthor{X. Zhang et al.}?>
      <contrib-group>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Zhang</surname><given-names>Xiaoyu</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Zhang</surname><given-names>Dong</given-names></name>
          <email>dongz@whu.edu.cn</email>
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Chen</surname><given-names>Qiong</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Yang</surname><given-names>Yan</given-names></name>
          
        </contrib>
        <aff id="aff1"><institution>School of Physics and Technology, Wuhan University, Wuhan, Hubei,
China</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Dong Zhang (dongz@whu.edu.cn)</corresp></author-notes><pub-date><day>7</day><month>November</month><year>2018</year></pub-date>
      
      <volume>9</volume>
      <issue>6</issue>
      <fpage>1277</fpage><lpage>1298</lpage>
      <history>
        <date date-type="received"><day>29</day><month>May</month><year>2018</year></date>
           <date date-type="rev-request"><day>11</day><month>June</month><year>2018</year></date>
           <date date-type="rev-recd"><day>21</day><month>September</month><year>2018</year></date>
           <date date-type="accepted"><day>23</day><month>October</month><year>2018</year></date>
      </history>
      <permissions>
        
        
      <license license-type="open-access"><license-p>This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this licence, visit <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link></license-p></license></permissions><self-uri xlink:href="https://se.copernicus.org/articles/.html">This article is available from https://se.copernicus.org/articles/.html</self-uri><self-uri xlink:href="https://se.copernicus.org/articles/.pdf">The full text article is available as a PDF file from https://se.copernicus.org/articles/.pdf</self-uri>
      <abstract>
    <p id="d1e106">The forward modeling of a scalar wave equation plays an
important role in the numerical geophysical computations. The
finite-difference algorithm in the form of a second-order wave equation is
one of the commonly used forward numerical algorithms. This algorithm is
simple and is easy to implement based on the conventional grid. In order to
ensure the accuracy of the calculation, absorption layers should be
introduced around the computational area to suppress the wave reflection
caused by the artificial boundary. For boundary absorption conditions, a
perfectly matched layer is one of the most effective algorithms. However,
the traditional perfectly matched layer algorithm is calculated using a
staggered grid based on the first-order wave equation, which is difficult to
directly integrate into a conventional-grid finite-difference algorithm
based on the second-order wave equation. Although a perfectly matched layer
algorithm based on the second-order equation can be derived, the formula is
rather complex and intermediate variables need to be introduced, which makes
it hard to implement. In this paper, we present a simple and efficient
algorithm to match the variables at the boundaries between the computational
area and the absorbing boundary area. This new boundary-matched method can
integrate the traditional staggered-grid perfectly matched layer algorithm
and the conventional-grid finite-difference algorithm without formula
transformations, and it can ensure the accuracy of finite-difference forward
modeling in the computational area. In order to verify the validity of our
method, we used several models to carry out numerical simulation
experiments. The comparison between the simulation results of our new
boundary-matched algorithm and other boundary absorption algorithms shows
that our proposed method suppresses the reflection of the artificial
boundaries better and has a higher computational efficiency.</p>
  </abstract>
    </article-meta>
  </front>
<body>
      

      <?xmltex \hack{\allowdisplaybreaks}?>
<sec id="Ch1.S1" sec-type="intro">
  <title>Introduction</title>
      <p id="d1e118">Modeling of a seismic wave field is accomplished by simulating the pattern
of the seismic waves as they propagate through various geologic media and
computing the simulated measurements at observation points on the Earth's
surface or underground, given that the underground medium's structure and
the relevant physical parameters are known. Numerical modeling of a seismic
wave field is an important tool for seismic data processing and
interpretation and for geodynamic studies of the Earth's interior. In recent
years, many full waveform inversion methods have been widely proposed and
applied to seismic exploration. In the waveform inversion process, wave
field modeling is one of the key algorithms because it must be performed
first to obtain the predicted wave field that is used to compute the
residual errors between the predicted and the actual wave field records. In
addition, the information provided by the residual errors, which is required
for refinement of the initial model, is actually calculated by a modeling
algorithm that uses the residual errors as virtual sources. After many
iterations of the above processes, an optimized approximate model of the
underground medium can be acquired. Numerical modeling of a wave field will
be executed thousands of times throughout the waveform inversion process, so
a wave field modeling algorithm is crucial in many ways when performing a
waveform inversion algorithm, such as for computational precision, speed, and
storage requirements.</p>
      <p id="d1e121">The main numerical techniques for seismic wave field modeling include the
finite-element method (Marfurt, 1984; Yang et al., 2008), the
pseudo-spectral method (Kreiss and Oliger, 1972; Dan and Baysal, 1982), and
the finite-difference method (Kelly et al., 2012; Virieux, 1984; Yang et
al., 2002; Moczo et al., 2007; Zhang et al., 2013). Due to<?pagebreak page1278?> its easy
implementation and the satisfactory compromise between accuracy and
efficiency, the finite-difference method is the preferred method. For a
comprehensive overview of applications of the finite-difference methods, see
Moczo et al. (2014). Over the last several decades, many studies have
focused on determining the coefficients of the finite-difference method and
designing computational templates (Li et al., 2017).</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F1"><caption><p id="d1e126">Schematic of our method: <bold>(a)</bold> the entire region and <bold>(b)</bold> partial
enlargement of the yellow rectangle in panel <bold>(a)</bold>.</p></caption>
        <?xmltex \igopts{width=241.848425pt}?><graphic xlink:href="https://se.copernicus.org/articles/9/1277/2018/se-9-1277-2018-f01.png"/>

      </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F2"><caption><p id="d1e147"><bold>(a)</bold> Velocity profiles in depth and <bold>(b)</bold> distribution of source
and receivers.</p></caption>
        <?xmltex \igopts{width=236.157874pt}?><graphic xlink:href="https://se.copernicus.org/articles/9/1277/2018/se-9-1277-2018-f02.png"/>

      </fig>

      <?xmltex \floatpos{p}?><fig id="Ch1.F3" specific-use="star"><caption><p id="d1e163">Comparison of the analytical solution (red solid line) with the
proposed (second-order conventional grid (CG) scheme) and classic staggered-grid (SG) perfectly matched layer (PML) methods (second-order
SG scheme) (blue dotted line) at different receivers, <inline-formula><mml:math id="M1" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">12</mml:mn></mml:mrow></mml:math></inline-formula> m. <bold>(a)</bold> Proposed method at receivers 1, 2, and 3 for the first 2 s;
<bold>(b)</bold> proposed method at receivers 1, 2, and 3 after 2 s; <bold>(c)</bold> classic SG
PML method at receivers 1, 2, and 3 for the first 2 s;
<bold>(d)</bold> classic SG PML method at receivers 1, 2, and 3 after 2 s.</p></caption>
        <?xmltex \igopts{width=318.670866pt}?><graphic xlink:href="https://se.copernicus.org/articles/9/1277/2018/se-9-1277-2018-f03.png"/>

      </fig>

      <p id="d1e196">According to the formulation of the wave equations, the finite-difference
methods can be implemented based on the first-order velocity–stress
equations or the second-order displacement equations, which lead to
different computational templates. A staggered grid (SG) is usually set up
for the first-order wave equations and has been widely used with the
acoustic and elastic wave equations (Virieux, 1984, 1986; Moczo et al., 2014;
Madariaga, 1976;  Gold et al., 1997; Saenger et al., 2000;
O'Brien, 2010). Many methods of optimizing the differential coefficients,
based on a SG, have been proposed to increase the accuracy of the numerical
solution, such as the time–space domain dispersion-relation-based method
(Liu and Sen, 2011), the simulated annealing algorithm (Zhang and Yao,
2013), and the least-squares method (Yang et al., 2015). However, a
conventional grid (CG) is often directly obtained from the second-order wave
equation. These methods include the central scheme (Alford et al., 1974;
Igel et al., 1995), the high-order compact finite-difference method
(Fornberg, 1990), the Lax–Wendroff correction (LWC) scheme (Lax and
Wendroff, 1964; Dablain, 1986; Blanch and Robertsson, 2010), the nearly
analytical discrete method (Yang et al., 2003), and the nearly analytical
central difference method (Yang et al., 2012).</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F4" specific-use="star"><caption><p id="d1e201"><inline-formula><mml:math id="M2" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> m; the rest is the same as in Fig. 3.</p></caption>
        <?xmltex \igopts{width=321.516142pt}?><graphic xlink:href="https://se.copernicus.org/articles/9/1277/2018/se-9-1277-2018-f04.png"/>

      </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F5" specific-use="star"><caption><p id="d1e224">Comparison of the relative errors between the analytical solutions
and the proposed method (second-order CG scheme) (red solid line) or the
classic SG PML method (second-order SG scheme) (blue dotted line) at
different receivers and different grid spacings. <bold>(a)</bold> <inline-formula><mml:math id="M3" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">12</mml:mn></mml:mrow></mml:math></inline-formula> m, receivers
1, 2, and 3; <bold>(b)</bold> <inline-formula><mml:math id="M4" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> m, receivers 1, 2, and 3.</p></caption>
        <?xmltex \igopts{width=398.338583pt}?><graphic xlink:href="https://se.copernicus.org/articles/9/1277/2018/se-9-1277-2018-f05.png"/>

      </fig>

      <?pagebreak page1281?><p id="d1e263">The algorithm design of the CG scheme is easier to use than that of the SG
scheme because the variable definition is uniform throughout the grid.
However, it is hard to determine which of the two schemes is more accurate
and efficient. Although the SG scheme has sometimes been regarded as more
precise than the CG scheme (Huang and Dong, 2009), there is also some
theoretical and experimental proof in the literature that does not support
this proposition. Moczo et al. (2011) compared the accuracy of the different
finite-difference schemes with respect to the <inline-formula><mml:math id="M5" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula>-wave to <inline-formula><mml:math id="M6" display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>-wave speed ratio
using theoretical analysis and numerical experiments. Their investigation
showed that the relative local errors of the CG scheme are almost equal to
those of the SG scheme when modeling planar <inline-formula><mml:math id="M7" display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula> waves propagating in an
unbounded homogeneous elastic isotropic medium with a low <inline-formula><mml:math id="M8" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula>-wave to <inline-formula><mml:math id="M9" display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>-wave
velocity ratio (<inline-formula><mml:math id="M10" display="inline"><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.42</mml:mn></mml:mrow></mml:math></inline-formula>). They showed that only at higher <inline-formula><mml:math id="M11" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula>-wave to
<inline-formula><mml:math id="M12" display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>-wave velocity ratios (<inline-formula><mml:math id="M13" display="inline"><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula>) will the relative local error of the
CG scheme increase faster than that of the SG scheme, but the difference in
the relative local errors of the two schemes will decrease when using a
higher-order spatial scheme, i.e., from second-order to fourth-order in
space. Moczo et al. (2011) also showed that the insufficient accuracy of the
CG scheme at higher <inline-formula><mml:math id="M14" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula>-wave to <inline-formula><mml:math id="M15" display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>-wave speed ratios can be compensated for by
using a higher spatial sampling ratio, i.e., a smaller grid size. This means
that a CG scheme with a sufficiently small grid size will be as precise as
the SG scheme or better, even if the <inline-formula><mml:math id="M16" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula>-wave to <inline-formula><mml:math id="M17" display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>-wave speed ratio is high.
The computational cost of the SG scheme is significantly higher than that of
an equal-sized CG scheme, as two variables (velocity and stress) have to be
calculated in the SG scheme and only one variable (displacement) have to be
computed in the CG scheme.</p>

      <?xmltex \floatpos{p}?><fig id="Ch1.F6" specific-use="star"><caption><p id="d1e395">Comparison of the analytical solution (red solid line) with the
proposed (fourth-order CG scheme) and classic SG PML methods (fourth-order
SG scheme) (blue dotted line) at different receivers and <inline-formula><mml:math id="M18" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">12</mml:mn></mml:mrow></mml:math></inline-formula> m.
<bold>(a)</bold> Proposed method at receivers 1, 2, and 3 during the first 2 s;
<bold>(b)</bold> proposed method at receivers 1, 2, and 3 after 2 s; <bold>(c)</bold> classic SG
PML method at receivers 1, 2, and 3 during the first 2 s;
<bold>(d)</bold> classic SG PML method at receivers 1, 2, and 3 after 2 s.</p></caption>
        <?xmltex \igopts{width=318.670866pt}?><graphic xlink:href="https://se.copernicus.org/articles/9/1277/2018/se-9-1277-2018-f06.png"/>

      </fig>

      <?xmltex \floatpos{p}?><fig id="Ch1.F7" specific-use="star"><caption><p id="d1e430"><inline-formula><mml:math id="M19" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> m; the rest is the same as in Fig. 6.</p></caption>
        <?xmltex \igopts{width=327.206693pt}?><graphic xlink:href="https://se.copernicus.org/articles/9/1277/2018/se-9-1277-2018-f07.png"/>

      </fig>

      <p id="d1e450">Reflection from the artificial boundaries introduced by the limited
computational area is another numerical source of error. Over the past
30 years, many techniques have been developed for boundary processing:
paraxial conditions (Clayton and Engquist, 1977; Reynolds, 1978; Higdon,
2012), the sponge boundary (Cerjan et al., 1985; Sochacki et al., 1987), the
perfectly matched layer (PML) (Berenger, 1994), and the hybrid absorbing
boundary conditions (hybrid ABC) (Ren and Liu, 2012). Among these, the PML
is one of the most efficient and most commonly used methods. The PML was
first introduced for boundary processing of electromagnetic wave equation
modeling, after which, it was applied to the elastic–dynamic problem (Chew
and Liu, 1996) and acoustic simulations (Liu and Tao, 1998). Many modified
versions of the PML, such as the convolutional PML (Komatitsch and Martin,
2007), were subsequently proposed. Gao et al. (2017) compared most of the
typical artificial absorbing boundary processing approaches for use with
acoustic wave equations and came to the conclusion that a 20-layer PML is
ideal for most practical applications using general size models, even in the
presence of strong nearly grazing waves, which demonstrates the high
performance and efficiency of the PML approach.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F8" specific-use="star"><caption><p id="d1e456">Comparison of the relative errors between the analytical solutions
and the proposed method (fourth-order CG scheme) (red solid line) or the
classic SG PML method (fourth-order SG scheme) (blue dotted line) at
different receivers and different grid spacings. <bold>(a)</bold> <inline-formula><mml:math id="M20" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">12</mml:mn></mml:mrow></mml:math></inline-formula> m, receivers
1, 2, and 3; <bold>(b)</bold> <inline-formula><mml:math id="M21" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> m, receivers 1, 2, and 3.</p></caption>
        <?xmltex \igopts{width=398.338583pt}?><graphic xlink:href="https://se.copernicus.org/articles/9/1277/2018/se-9-1277-2018-f08.png"/>

      </fig>

      <?xmltex \floatpos{p}?><fig id="Ch1.F9" specific-use="star"><caption><p id="d1e497">Comparison of the analytical solutions of the proposed (10th-order
CG scheme) (red solid line) and the classic SG PML methods (10th-order SG
scheme) (blue dotted line) at different receivers, <inline-formula><mml:math id="M22" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> m. <bold>(a)</bold> Proposed
method at receivers 1, 2, and 3 during the first 2 s; <bold>(b)</bold> proposed
method at receivers 1, 2, and 3 after 2 s; <bold>(c)</bold> classic SG PML method
at receivers 1, 2, and 3 during the first 2 s;  <bold>(d)</bold> classic SG
PML method at receivers 1, 2, and 3 after 2 s.</p></caption>
        <?xmltex \igopts{width=312.980315pt}?><graphic xlink:href="https://se.copernicus.org/articles/9/1277/2018/se-9-1277-2018-f09.png"/>

      </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F10"><caption><p id="d1e532">Comparison of the relative errors between the analytical
solutions and the proposed method (10th-order CG scheme) (red solid line)
or the classic SG PML method (10th-order SG scheme) (blue dotted line) at
different receivers and different grid spacings (<inline-formula><mml:math id="M23" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> m, receivers 1, 2,
and 3).</p></caption>
        <?xmltex \igopts{width=199.169291pt}?><graphic xlink:href="https://se.copernicus.org/articles/9/1277/2018/se-9-1277-2018-f10.png"/>

      </fig>

      <?pagebreak page1284?><p id="d1e553">In the field of real wave field simulation, most researchers are devoted to
unifying the format of the boundary processing algorithm and the wave
equation within the computational region. The classic PML is naturally
formulated based on the first-order wave equations for velocity and stress
(Collino and Tsogka, 1998), which has proven to be very efficient. It is
easy to integrate PML boundary processing into a SG finite-difference
algorithm. So, some scholars use the SG scheme in the computational region to
match the PML equations, while for many CG-based schemes, they need to adopt
other boundary processing methods, such as the hybrid ABC method. However,
in recent years, some scholars have also made efforts to formulate a PML for
a second-order system to match the second-order wave equation. Komatitsch
and Tromp (2003) reformulated the classic PML conditions in order to use it
with numerical schemes that are based on the elastic wave equation written
as a second-order system with displacement. Grote and Sim (2010) proposed a
PML formulation for the acoustic wave equation in its standard second-order
form, while Pasalic and McGarry (2010) extended the convolutional PML to
accommodate the second-order acoustic wave equation. Nevertheless, all of
these second-order PML formulations require the derivation of complicated
formulas, the introduction of auxiliary variables, and the modification of
existing second-order numerical codes in order to handle the first-order
equations describing the auxiliary variables, which increases the
computational cost and complexity.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F11"><caption><p id="d1e559"><bold>(a)</bold> Velocity profiles in depth; <bold>(b)</bold> distribution of source and
receivers.</p></caption>
        <?xmltex \igopts{width=236.157874pt}?><graphic xlink:href="https://se.copernicus.org/articles/9/1277/2018/se-9-1277-2018-f11.png"/>

      </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F12" specific-use="star"><caption><p id="d1e575">Receiver records of the four methods for a different number of
absorbing layers: <bold>(a)</bold> 0 absorbing layers, <bold>(b)</bold> 10 absorbing layers, and
<bold>(c)</bold> 20 absorbing layers.</p></caption>
        <?xmltex \igopts{width=341.433071pt}?><graphic xlink:href="https://se.copernicus.org/articles/9/1277/2018/se-9-1277-2018-f12.png"/>

      </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F13" specific-use="star"><caption><p id="d1e595">Values of the absorption coefficient <inline-formula><mml:math id="M24" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> at each receiver for our
method (red line), the classic SG PML method (black line), the second-order
PML method (blue line), and the hybrid ABC method (magenta line): <bold>(a)</bold> 10
absorbing layers and <bold>(b)</bold> 20 absorbing layers.</p></caption>
        <?xmltex \igopts{width=341.433071pt}?><graphic xlink:href="https://se.copernicus.org/articles/9/1277/2018/se-9-1277-2018-f13.png"/>

      </fig>

      <?pagebreak page1286?><p id="d1e617">In order to preserve the original efficiency of the PML boundary processing
method as well as the accuracy and efficiency of the CG scheme, it is worth
trying to integrate the classic first-order PML algorithm into the CG
finite-difference scheme in a second-order system and make it easy to
implement. In this paper, we propose a new boundary-matched algorithm that
uses a CG finite-difference scheme within a limited computational area and
an SG finite-difference scheme in a PML area. Our approach enables the inner
area and the PML condition to be independent during computation, while
preserving the individual advantages of the two methods. The algorithm
matches the computational area and the absorbing boundary layers simply by
point updating along the boundaries of the computational area and avoids
complex formula conversion. Thus, none of the original formulas of the CG
scheme or the PML equations are modified and no unnecessary variables are
added. The assessment of the proposed algorithm is composed of two parts.
First, we compared the accuracy and efficiency of the proposed algorithm
with those of the classic SG PML method (SG scheme both in computational
area and PML area), which demonstrated the rationality of our decision to
use the CG scheme in the computational area. To simulate the actual
underground medium, a medium with a linearly increasing velocity gradient
was selected for the experiment. The experimental results indicated that the
accuracy of the two methods for equal grid sizes is almost equal, but the
efficiency of our method is approximately 30 %–50 % higher than that of
the classic SG PML method. Next, the proposed algorithm was evaluated by
comparing its absorption efficiency and computational cost with those of the
classic SG PML method, the second-order PML method (CG scheme both in
computational area and PML area) introduced by Pasalic and McGarry (2010),
and the hybrid ABC method (CG scheme in computational area and hybrid ABC
scheme in boundary area) introduced by Ren and Liu (2012). The numerical
experimental results indicated that our algorithm provides an excellent
absorption effect and was easier to implement.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F14"><caption><p id="d1e623"><bold>(a)</bold> Velocity profiles in depth; <bold>(b)</bold> distribution of source and
receivers.</p></caption>
        <?xmltex \igopts{width=236.157874pt}?><graphic xlink:href="https://se.copernicus.org/articles/9/1277/2018/se-9-1277-2018-f14.png"/>

      </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F15" specific-use="star"><caption><p id="d1e639">Receiver records for the four methods for a different number of
absorbing layers: <bold>(a)</bold> 0 absorbing layers, <bold>(b)</bold> 10 absorbing layers, and
<bold>(c)</bold> 20 absorbing layers.</p></caption>
        <?xmltex \igopts{width=369.885827pt}?><graphic xlink:href="https://se.copernicus.org/articles/9/1277/2018/se-9-1277-2018-f15.png"/>

      </fig>

<?xmltex \hack{\newpage}?>
</sec>
<sec id="Ch1.S2">
  <title>Methodology</title>
      <p id="d1e665">Although the elastic wave equation can describe the propagation of seismic
waves more comprehensively, modeling an elastic wave field is complex and
computationally expensive. In practice, the acoustic wave equation is also
popularly used to approximate seismic wave propagation. For the convenient
error analysis of these methods, we consider a scalar wave field <inline-formula><mml:math id="M25" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>
propagating through an unbounded three-dimensional medium where the wave
field satisfies Eq. (1) (Engquist and Runborg, 2003):
          <disp-formula id="Ch1.E1" content-type="numbered"><mml:math id="M26" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:mi>x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:mi>z</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:msup><mml:mi>c</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>⋅</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
        where the wave field <inline-formula><mml:math id="M27" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> is a function of the space variables <inline-formula><mml:math id="M28" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M29" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M30" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula>, and the time
variable <inline-formula><mml:math id="M31" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math id="M32" display="inline"><mml:mi>c</mml:mi></mml:math></inline-formula> is the velocity of the medium. Numeric modeling of Eq. (1) is
expressed as follows.</p>
<sec id="Ch1.S2.SS1">
  <title>Conventional-grid finite-difference scheme</title>
      <p id="d1e821">The discretization of the acoustic wave (Eq. 1) with a 2<inline-formula><mml:math id="M33" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula>-order
finite-difference scheme is (Chu and Stoffa, 2012)

                <disp-formula specific-use="align" content-type="numbered"><mml:math id="M34" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>-</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>c</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>t</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="[" close=""><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mfenced close="]" open="."><mml:mrow><mml:mo>+</mml:mo><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>M</mml:mi></mml:msubsup><mml:msub><mml:mi>c</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mi>m</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mi>m</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>c</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>t</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="[" close=""><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>M</mml:mi></mml:msubsup><mml:msub><mml:mi>c</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mfenced open="." close="]"><mml:mfenced open="(" close=")"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>-</mml:mo><mml:mi>m</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mi>m</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:mfenced></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>c</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>t</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>z</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced close="" open="["><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>M</mml:mi></mml:msubsup><mml:msub><mml:mi>c</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mlabeledtr id="Ch1.E2"><mml:mtd/><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mfenced open="." close="]"><mml:mfenced open="(" close=")"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi>m</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mi>m</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:mfenced></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

            where <inline-formula><mml:math id="M35" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> for all <inline-formula><mml:math id="M36" display="inline"><mml:mi>m</mml:mi></mml:math></inline-formula> are finite-difference coefficients. <inline-formula><mml:math id="M37" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M38" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> denote the
discrete spatial variables, and <inline-formula><mml:math id="M39" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> denotes the discrete time variable. The
increments <inline-formula><mml:math id="M40" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M41" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M42" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:math></inline-formula>
are grid spacings, and <inline-formula><mml:math id="M43" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> is the time step. In many
applications, a regular rectangular grid with a grid spacing <inline-formula><mml:math id="M44" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>y</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:mi>d</mml:mi></mml:mrow></mml:math></inline-formula> is a natural and reasonable choice (Moczo et al.,
2007).</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F16" specific-use="star"><caption><p id="d1e1392">Values of the absorption coefficient <inline-formula><mml:math id="M45" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> at each receiver for our
method (red line), the classic SG PML method (black line), the second-order
PML method (blue line), and the hybrid ABC method (magenta line): <bold>(a)</bold> 10
absorbing layers and <bold>(b)</bold> 20 absorbing layers.</p></caption>
          <?xmltex \igopts{width=341.433071pt}?><graphic xlink:href="https://se.copernicus.org/articles/9/1277/2018/se-9-1277-2018-f16.png"/>

        </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F17"><caption><p id="d1e1416">Marmousi velocity model.</p></caption>
          <?xmltex \igopts{width=241.848425pt}?><graphic xlink:href="https://se.copernicus.org/articles/9/1277/2018/se-9-1277-2018-f17.png"/>

        </fig>

      <p id="d1e1426">Numerical analyses show that grid dispersion increases with increasing grid
size, but decreasing the grid size increases the computational cost.
High-order finite-difference schemes are able to control this numerical
dispersion using a larger grid spacing compared with low-order schemes (Tan
and Huang, 2014).</p>
      <p id="d1e1429">Because the subscripts <inline-formula><mml:math id="M46" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M47" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> used in Eq. (2) have integer values, it is
convenient to define and calculate the medium's parameters and wave field <inline-formula><mml:math id="M48" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> for
the same grid points, which leads to the CG scheme. The pressure source <inline-formula><mml:math id="M49" display="inline"><mml:mi>s</mml:mi></mml:math></inline-formula> is
an additive item (Hustedt et al., 2004); i.e., it can be directly added in
the corresponding equations.</p>
</sec>
<?pagebreak page1287?><sec id="Ch1.S2.SS2">
  <title>Boundary conditions</title>
      <p id="d1e1471">Due to limitations in the capacity and speed of computer facilities, the
numerical simulation of a wave field can only be implemented for a limited
area. The computational area is surrounded by artificial boundaries, except
for the free surface. As described above, the PML boundary condition can
effectively absorb the wave field reflections from the artificial boundaries
in order to simulate wave field propagation in an open space. In a PML
medium, the wave field <inline-formula><mml:math id="M50" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> is assumed to be decomposed into subcomponents. The
PML formulation based on the acoustic equations is as follows (Liu and Tao,
1998):

                <disp-formula specific-use="align" content-type="numbered"><mml:math id="M51" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:msub><mml:mi>v</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="italic">ρ</mml:mi></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:msub><mml:mi>v</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="italic">ρ</mml:mi></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:msub><mml:mi>v</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="italic">ρ</mml:mi></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:msub><mml:mi>p</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msup><mml:mi>c</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="italic">ρ</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:msub><mml:mi>p</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msup><mml:mi>c</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="italic">ρ</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:msub><mml:mi>p</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msup><mml:mi>c</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="italic">ρ</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mlabeledtr id="Ch1.E3"><mml:mtd/><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

            Here, <inline-formula><mml:math id="M52" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M53" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M54" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are the attenuation
coefficients in the PML medium. In this paper, the attenuation coefficient
was set using the following function (Wang, 2003):
            <disp-formula id="Ch1.E4" content-type="numbered"><mml:math id="M55" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>B</mml:mi><mml:mfenced open="[" close="]"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi>sin⁡</mml:mi><mml:mfenced close=")" open="("><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>j</mml:mi><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">ml</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>,</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mi>x</mml:mi><mml:mi>y</mml:mi><mml:mi>z</mml:mi><mml:mo>;</mml:mo><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">ml</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          <inline-formula><mml:math id="M56" display="inline"><mml:mi>B</mml:mi></mml:math></inline-formula> is the amplitude of attenuation coefficient, i.e., the<?pagebreak page1288?> maximum value of
the coefficient, which we set as 400 in the numerical experiment; <inline-formula><mml:math id="M57" display="inline"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">ml</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>
is the thickness of the PML layer.</p>
      <p id="d1e2000">Using the SG finite-difference scheme to discretize Eq. (3), the results are as
follows:

                <disp-formula specific-use="align" content-type="numbered"><mml:math id="M58" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msubsup><mml:mi>v</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mspace width="1em" linebreak="nobreak"/><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:msubsup><mml:mi>v</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mspace linebreak="nobreak" width="1em"/><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="[" close=""><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mspace width="1em" linebreak="nobreak"/><mml:mfenced open="." close="]"><mml:mrow><mml:mo>+</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>z</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>z</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mspace width="1em" linebreak="nobreak"/><mml:msubsup><mml:mi>v</mml:mi><mml:mi>y</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mi>y</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mspace linebreak="nobreak" width="1em"/><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:msubsup><mml:mi>v</mml:mi><mml:mi>y</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="[" close=""><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mspace linebreak="nobreak" width="1em"/><mml:mo>+</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>z</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mspace linebreak="nobreak" width="1em"/><mml:mfenced open="." close="]"><mml:mrow><mml:mo>-</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>z</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mspace linebreak="nobreak" width="1em"/><mml:msubsup><mml:mi>v</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mspace linebreak="nobreak" width="1em"/><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:msubsup><mml:mi>v</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mspace width="1em" linebreak="nobreak"/><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced close="" open="["><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>z</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mspace linebreak="nobreak" width="1em"/><mml:mfenced close="]" open="."><mml:mrow><mml:mo>-</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>z</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mspace width="1em" linebreak="nobreak"/><mml:msubsup><mml:mi>p</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:msubsup><mml:mi>p</mml:mi><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mspace width="1em" linebreak="nobreak"/><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>c</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="[" close="]"><mml:mrow><mml:msubsup><mml:mi>v</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mspace linebreak="nobreak" width="1em"/><mml:msubsup><mml:mi>p</mml:mi><mml:mi>y</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:msubsup><mml:mi>p</mml:mi><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mspace width="1em" linebreak="nobreak"/><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>c</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced close="]" open="["><mml:mrow><mml:msubsup><mml:mi>v</mml:mi><mml:mi>y</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mi>y</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mspace linebreak="nobreak" width="1em"/><mml:msubsup><mml:mi>p</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>z</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:msubsup><mml:mi>p</mml:mi><mml:mi>z</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mlabeledtr id="Ch1.E5"><mml:mtd/><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mspace width="1em" linebreak="nobreak"/><?xmltex \hack{\hbox\bgroup\fontsize{9.5}{9.5}\selectfont$\displaystyle}?><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>c</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="[" close="]"><mml:mrow><mml:msubsup><mml:mi>v</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>.</mml:mo><?xmltex \hack{$\egroup}?></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula></p>
</sec>
<sec id="Ch1.S2.SS3">
  <title>Implementation of our new boundary-matched algorithm</title>
      <p id="d1e3491">A finite-difference scheme based on a CG requires no computation of
intermediate variables, and thus the computational cost is lower than that
of an SG scheme. We will show in the next section that the accuracy of the
CG scheme can reach the same level as that of the SG scheme but with<?pagebreak page1289?> lower
computational costs. However, it is difficult to incorporate a naturally
formulated PML boundary processing algorithm based on an SG scheme into a
CG finite-difference scheme. In this paper, we propose a new
boundary-matched algorithm that can bridge the gap between an SG-based PML algorithm
and a CG-based numerical simulation of a seismic wave field with neither
introduction of intermediary variables nor reformulation of the PML
equations. The core idea of the scheme is to interface the wave field
reasonably along the boundaries between the CG area and the SG absorbing
layers. A detailed description of the method is given below.</p>
      <p id="d1e3494">As shown in Fig. 1, the entire domain consists of two parts: the
computational area and the boundary absorbing area. The computational area
is located in the center and is surrounded by the absorbing layers. The
algorithm uses a CG finite-difference scheme within the computational area
and an SG finite-difference scheme within the boundary absorbing area. If we
can reasonably interface the computed values of the wave field between the
computational area and the boundary absorbing area, then the scheme can
perform satisfactorily. For a clearer explanation, we start with a
two-dimensional model.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F18" specific-use="star"><caption><p id="d1e3499">Receiver records for the four methods for a different number of
absorbing layers: <bold>(a)</bold> 0 absorbing layers, <bold>(b)</bold> 10 absorbing layers, and
<bold>(c)</bold> 20 absorbing layers.</p></caption>
          <?xmltex \igopts{width=369.885827pt}?><graphic xlink:href="https://se.copernicus.org/articles/9/1277/2018/se-9-1277-2018-f18.jpg"/>

        </fig>

      <p id="d1e3517">We let the computational area and the PML area overlap each other for one
layer. As shown in Fig. 1a, the bold red boundary line is both the
outermost boundary of the computational area and the innermost boundary of
the PML area. On this overlapped layer, both the particle velocity
<inline-formula><mml:math id="M59" display="inline"><mml:mi>v</mml:mi></mml:math></inline-formula> and the wave field <inline-formula><mml:math id="M60" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> in the PML area are calculated using
the value of wave field <inline-formula><mml:math id="M61" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> in the computational area. Using this method, the
two areas can be connected. This avoids the introduction of intermediate
variables and saves storage space. In order to distinguish, we use
<inline-formula><mml:math id="M62" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> to represent the wave field value in the computational area,
and <inline-formula><mml:math id="M63" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M64" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>z</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> to represent the wave field value in
the PML area. In the PML area, the values of attenuation coefficients
<inline-formula><mml:math id="M65" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M66" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> can be calculated using Eq. (4). When the
grid points are located on the four corners of the PML area, the values of
<inline-formula><mml:math id="M67" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M68" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>z<?pagebreak page1290?></mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are not zero. When they are on the left- and
right-hand sides of the PML area, <inline-formula><mml:math id="M69" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>≠</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M70" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>;
when they are on the upper and bottom sides of the PML area, <inline-formula><mml:math id="M71" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>
and <inline-formula><mml:math id="M72" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>≠</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>. The specific steps of our method are as follows.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F19" specific-use="star"><caption><p id="d1e3715">Wave field snapshots with different PML at different time; the
three coordinate axes represent the number of grids in three directions:
<bold>(a)</bold> PML is 0 at 250, 350, and 450 ms; <bold>(b)</bold> PML is 20 at 250, 350, and
450 ms.</p></caption>
          <?xmltex \igopts{width=341.433071pt}?><graphic xlink:href="https://se.copernicus.org/articles/9/1277/2018/se-9-1277-2018-f19.png"/>

        </fig>

      <p id="d1e3730"><list list-type="order">
            <list-item>

      <p id="d1e3735">At the beginning of iteration, take <inline-formula><mml:math id="M73" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, and let the initial wave field
values <inline-formula><mml:math id="M74" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M75" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> in the
computational area, the particle velocity <inline-formula><mml:math id="M76" display="inline"><mml:mrow><mml:msubsup><mml:mi>v</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M77" display="inline"><mml:mrow><mml:msubsup><mml:mi>v</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula>, the wave field <inline-formula><mml:math id="M78" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M79" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>z</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> in the PML area
all be zero.</p>
            </list-item>
            <list-item>

      <p id="d1e3911">Calculate the wave field <inline-formula><mml:math id="M80" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> in the computational area. In
this step, we do not calculate the value of wave field <inline-formula><mml:math id="M81" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>
located on the red boundary line; instead, we only calculate them on the
blue boundary line and in its inner region in Fig. 1 using the
two-dimensional form of Eq. (2). For the high-order difference scheme in the
computational area, we use the second-order difference scheme for the grid
points on the blue rectangular line, the fourth-order difference scheme for
the grid points on the inner green rectangular line, the sixth-order
difference scheme on the inner layer, and so on, until we reach the required
order of difference. In this way, the computational area and the PML area
can be independent, and the number of overlapping layers does not increase
with the increase of order of difference. The numerical experiments in
Sect. 4.1 will prove that our treatment to the boundary does not bring
much additional dispersion and error.</p>
            </list-item>
            <list-item>

      <p id="d1e3963">Calculate the particle velocity and wave field in the PML area layer by
layer. Calculate the values of all particle velocity
<inline-formula><mml:math id="M82" display="inline"><mml:mrow><mml:msubsup><mml:mi>v</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> and
<inline-formula><mml:math id="M83" display="inline"><mml:mrow><mml:msubsup><mml:mi>v</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> in the PML area
(including those on the red line) using the two-dimensional forms of the
first and third formulas in Eq. (5). Calculate all of the wave field
values <inline-formula><mml:math id="M84" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M85" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> in the PML area (including
those on the red line) using the two-dimensional forms of the fourth and
sixth formulas in Eq. (5).</p>

      <?pagebreak page1292?><p id="d1e4092">It is important to note that the particle velocities in the area between the
blue and red lines are calculated from the wave field <inline-formula><mml:math id="M86" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mo>(</mml:mo><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>
and <inline-formula><mml:math id="M87" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>z</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mo>(</mml:mo><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> on the red line in the PML area and the wave
field <inline-formula><mml:math id="M88" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> on the blue line in the computational area. As
shown in Fig. 1b, we can obtain <inline-formula><mml:math id="M89" display="inline"><mml:mrow><mml:msubsup><mml:mi>v</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> for the line between the left-hand line of
the red rectangle and blue rectangle using Eq. (6); the subscript <inline-formula><mml:math id="M90" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula> stands
for the grid points on the red lines, and <inline-formula><mml:math id="M91" display="inline"><mml:mi>b</mml:mi></mml:math></inline-formula> stands for the blue lines.
Similarly, we can obtain <inline-formula><mml:math id="M92" display="inline"><mml:mrow><mml:msubsup><mml:mi>v</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> between the right-hand line of two
rectangles using Eq. (7); for the line between the upper lines, we
obtain <inline-formula><mml:math id="M93" display="inline"><mml:mrow><mml:msubsup><mml:mi>v</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> using
Eq. (8); for the line between the lower lines, we obtain
<inline-formula><mml:math id="M94" display="inline"><mml:mrow><mml:msubsup><mml:mi>v</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> using Eq. (9):

                      <disp-formula specific-use="align" content-type="numbered"><mml:math id="M95" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msubsup><mml:mi>v</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mspace width="1em" linebreak="nobreak"/><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:msubsup><mml:mi>v</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mlabeledtr id="Ch1.E6"><mml:mtd/><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mspace linebreak="nobreak" width="1em"/><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="[" close="]"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>-</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>z</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msubsup><mml:mi>v</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mspace linebreak="nobreak" width="1em"/><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:msubsup><mml:mi>v</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mlabeledtr id="Ch1.E7"><mml:mtd/><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mspace linebreak="nobreak" width="1em"/><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="[" close="]"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>z</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msubsup><mml:mi>v</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mspace linebreak="nobreak" width="1em"/><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:msubsup><mml:mi>v</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mlabeledtr id="Ch1.E8"><mml:mtd/><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mspace width="1em" linebreak="nobreak"/><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced close="]" open="["><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>-</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>z</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msubsup><mml:mi>v</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mspace linebreak="nobreak" width="1em"/><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:msubsup><mml:mi>v</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mfrac><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mrow></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mlabeledtr id="Ch1.E9"><mml:mtd/><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mspace linebreak="nobreak" width="1em"/><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="[" close="]"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mi>z</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

                  After calculating the complete PML area, let the value of the wave field
<inline-formula><mml:math id="M96" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> on the red line in the computational area be equal to the
sum of the wave field <inline-formula><mml:math id="M97" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>(</mml:mo><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and
<inline-formula><mml:math id="M98" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>(</mml:mo><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:msub><mml:mi>j</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> on the red line in the PML area.</p>
            </list-item>
            <list-item>

      <p id="d1e5374">Update the value of <inline-formula><mml:math id="M99" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> with the value of <inline-formula><mml:math id="M100" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>, and
update the value of <inline-formula><mml:math id="M101" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> with the value of <inline-formula><mml:math id="M102" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>; then,
let <inline-formula><mml:math id="M103" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mi>n</mml:mi><mml:mo>+</mml:mo></mml:mrow></mml:math></inline-formula> 1.</p>
            </list-item>
            <list-item>

      <p id="d1e5476">Repeat steps 2–4 until <inline-formula><mml:math id="M104" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> reaches the required time length.</p>
            </list-item>
          </list></p>
      <p id="d1e5488">The two-dimensional algorithm described above can easily be generalized to
three-dimensional. In the three-dimensional model, we need to add a particle
velocity component <inline-formula><mml:math id="M105" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and a space position label <inline-formula><mml:math id="M106" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>. The red and blue
boundary lines become the red and blue boundary surfaces, respectively. In
addition, the computational area becomes a cube surrounded by the PML area.</p>
</sec>
</sec>
<sec id="Ch1.S3">
  <title>Performance analysis</title>
      <p id="d1e5516">As described in the introduction, the errors in the wave field numerical
model are mainly caused by differential dispersion and reflected waves that
are not fully absorbed by the boundary processing algorithm. In order to
verify the validity of our algorithm, we used a variety of models to compare
the computational accuracy, the efficiency of the absorption of the
reflected waves, and the computational efficiency of the proposed algorithm
to the other methods.</p>
<sec id="Ch1.S3.SS1">
  <title>Computational accuracy</title>
      <p id="d1e5524">In order to obtain a more convincing result when comparing the computational
accuracy, we used a constant-gradient velocity model, the velocity of which
increases linearly with<?pagebreak page1293?> depth. This model is closer to the actual velocity
distribution of an underground medium than a homogeneous model. We
calculated the relative error between our method and the classic SG PML
method using the analytical solutions for different grid spacings and the
order of difference, and then we performed a comparative analysis of the
two methods. The relative error between the two methods and the analytical
solution is defined by the following time function:
            <disp-formula id="Ch1.E10" content-type="numbered"><mml:math id="M107" display="block"><mml:mrow><mml:mi mathvariant="normal">error</mml:mi><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:mn mathvariant="normal">20</mml:mn><mml:mi>log⁡</mml:mi><mml:mfenced close="|" open="|"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>p</mml:mi><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced><mml:mo>-</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">anal</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mi>t</mml:mi></mml:mfenced></mml:mrow><mml:mrow><mml:mo>max⁡</mml:mo><mml:mfenced open="[" close="]"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">anal</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          In Eq. (10), <inline-formula><mml:math id="M108" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula> represents the value of wave field
calculated by the numerical methods at a receiver, and <inline-formula><mml:math id="M109" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">anal</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the
value of wave field calculated by the analytic solution at the same
receiver.</p>
      <p id="d1e5606">For the two-dimensional scalar (Eq. 1), the wave field analytic
solution for a constant-gradient medium can be obtained from the integral
form of the three-dimensional solution using the dimension reduction method
(Cerveny, 2001). The velocity distribution is <inline-formula><mml:math id="M110" display="inline"><mml:mrow><mml:mi>c</mml:mi><mml:mfenced open="(" close=")"><mml:mi>z</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:mi>c</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mi>c</mml:mi><mml:mo>(</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>)</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, where
<inline-formula><mml:math id="M111" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is the depth of source, <inline-formula><mml:math id="M112" display="inline"><mml:mrow><mml:mi>c</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> is the velocity of
the source layer, <inline-formula><mml:math id="M113" display="inline"><mml:mrow><mml:mi>c</mml:mi><mml:mo>(</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the velocity of the layer <inline-formula><mml:math id="M114" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, and
<inline-formula><mml:math id="M115" display="inline"><mml:mrow><mml:mi mathvariant="italic">γ</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mi>h</mml:mi></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M116" display="inline"><mml:mi>h</mml:mi></mml:math></inline-formula> is the distance from depth <inline-formula><mml:math id="M117" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>
to the level where the propagation velocity is null (<inline-formula><mml:math id="M118" display="inline"><mml:mrow><mml:mi>c</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mo>-</mml:mo><mml:mi>h</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. When the line source <inline-formula><mml:math id="M119" display="inline"><mml:mrow><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is located at <inline-formula><mml:math id="M120" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, and the
density in the method of Sanchez-Sesma et al. (2001) is a constant, a
two-dimensional scalar Green function can be obtained by
            <disp-formula id="Ch1.E11" content-type="numbered"><mml:math id="M121" display="block"><mml:mrow><mml:mi>G</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mi>z</mml:mi><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>≈</mml:mo><mml:mi mathvariant="normal">Λ</mml:mi><mml:mo>⋅</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>H</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:mi mathvariant="italic">τ</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:msqrt><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>-</mml:mo><mml:msup><mml:mi mathvariant="italic">τ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:msqrt></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
          where <inline-formula><mml:math id="M122" display="inline"><mml:mrow><mml:mi mathvariant="normal">Λ</mml:mi><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>⋅</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mi>c</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:msqrt></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d1e5999"><inline-formula><mml:math id="M123" display="inline"><mml:mrow><mml:mi>H</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the Heaviside step function (equal to 0 when <inline-formula><mml:math id="M124" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> &lt; 0 and equal
to 1 when <inline-formula><mml:math id="M125" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> &gt; 0). For fixed <inline-formula><mml:math id="M126" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>, the radius <inline-formula><mml:math id="M127" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> of the wavefront
circle is <inline-formula><mml:math id="M128" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mi>h</mml:mi><mml:mo>)</mml:mo><mml:mi mathvariant="normal">sin</mml:mi><mml:mi>h</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:mi>c</mml:mi><mml:mo>(</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>)</mml:mo><mml:mi mathvariant="italic">τ</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and the
travel time <inline-formula><mml:math id="M129" display="inline"><mml:mi mathvariant="italic">τ</mml:mi></mml:math></inline-formula> can be computed by means (Cerveny, 2001) of <inline-formula><mml:math id="M130" display="inline"><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="normal">|</mml:mi><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="italic">γ</mml:mi><mml:mi>c</mml:mi><mml:mfenced open="(" close=")"><mml:mn mathvariant="normal">0</mml:mn></mml:mfenced></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="normal">arccos</mml:mi><mml:mi>h</mml:mi><mml:mo>[</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:mi>c</mml:mi><mml:mo>(</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>)</mml:mo><mml:mi>r</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>c</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mi>c</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>]</mml:mo><mml:mi mathvariant="normal">|</mml:mi></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M131" display="inline"><mml:mrow><mml:mi>r</mml:mi><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:msqrt></mml:mrow></mml:math></inline-formula>. This is an approximate solution, but
usually the error is less than 1 % (Sanchez-Sesma et al., 2001). In the
next numerical experiment, we use a symmetric Ricker wavelet with a peak
frequency of 20 Hz as the source. In this paper, the expression is
usually <inline-formula><mml:math id="M132" display="inline"><mml:mrow><mml:mi>s</mml:mi><mml:mfenced open="(" close=")"><mml:mi>t</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>[</mml:mo><mml:mn mathvariant="normal">20</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">20</mml:mn><mml:mo>)</mml:mo><mml:msup><mml:mo>]</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo mathvariant="italic">}</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mo>-</mml:mo></mml:msup><mml:mo>[</mml:mo><mml:mn mathvariant="normal">20</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">20</mml:mn><mml:mo>)</mml:mo><mml:msup><mml:mo>]</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M133" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is equal
to 200 ms. The final result of the analytic solution is
            <disp-formula id="Ch1.E12" content-type="numbered"><mml:math id="M134" display="block"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">anal</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mrow><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mi>G</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfenced><mml:mo>×</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:mi>S</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="Ch1.S3.SS2">
  <title>Absorption efficiency of the reflected waves</title>
      <p id="d1e6425">When comparing the absorption efficiency, we used three different geological
models to determine the reflected wave absorption effect of our algorithm:
the homogeneous, constant-gradient velocity and the Marmousi models. We
compared the absorption effects of our algorithm with the classic SG PML
method, the second-order PML method, and the hybrid ABC method using the
same conditions to prove whether our algorithm can effectively combine the
CG scheme with the SG scheme PML boundary condition and achieve the same or
better effect as other methods do. In the computational area, the reflection
coefficient <inline-formula><mml:math id="M135" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> of a receiver is defined as
            <disp-formula id="Ch1.E13" content-type="numbered"><mml:math id="M136" display="block"><mml:mrow><mml:mi>R</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">20</mml:mn><mml:mi>log⁡</mml:mi><mml:mfenced close="|" open="|"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">max</mml:mi><mml:mo>[</mml:mo><mml:mi>p</mml:mi><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced><mml:mo>-</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">ref</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>max⁡</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">ref</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced><mml:mo>]</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
          where the wave field value <inline-formula><mml:math id="M137" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula> is calculated by the
numerical methods at a receiver, and <inline-formula><mml:math id="M138" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">ref</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mi>t</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula> is the wave
field value that has no boundary reflection on the same receiver calculated
using the numerical methods, which can be obtained by expanding the model.
The value of <inline-formula><mml:math id="M139" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> reflects the reflected wave absorption effect of the
algorithm. The smaller the <inline-formula><mml:math id="M140" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> value, the better the absorption effect.</p>
</sec>
<sec id="Ch1.S3.SS3">
  <title>Computational efficiency index</title>
      <p id="d1e6537">In the comparison of the computational accuracy and efficiency of the
absorption of the reflected waves, we determined the computation time of the
three methods separately, which can reflect the advantages and disadvantages
of all of the methods in terms of the computational efficiency.</p>
</sec>
</sec>
<sec id="Ch1.S4">
  <title>Numerical experiment</title>
      <p id="d1e6548">Based on the discussion of the performance analysis, in this section, we
present the results of the numerical experiments. All of the numerical
experiments were run on a desktop personal computer with a 3.40 GHz Intel
Core i5-3570 processor, 32 GB of DDR3 memory, on a 64 bit Windows 7 operating
system, using algorithmic software written in C <inline-formula><mml:math id="M141" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mo>+</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<sec id="Ch1.S4.SS1">
  <title>Computational accuracy and computation time</title>
      <p id="d1e6566">As shown in Fig. 2, the constant-gradient velocity model has a size of
6000 m <inline-formula><mml:math id="M142" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 6000 m, a velocity distribution of <inline-formula><mml:math id="M143" display="inline"><mml:mrow><mml:mi>c</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">500</mml:mn></mml:mrow></mml:math></inline-formula> m s<inline-formula><mml:math id="M144" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> for <inline-formula><mml:math id="M145" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> m and <inline-formula><mml:math id="M146" display="inline"><mml:mrow><mml:mi>c</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5300</mml:mn></mml:mrow></mml:math></inline-formula> m s<inline-formula><mml:math id="M147" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> for <inline-formula><mml:math id="M148" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">600</mml:mn></mml:mrow></mml:math></inline-formula>0 m, and a velocity gradient of 0.8. In
order to determine the stability of the differential form throughout the
computational process, the time step was set as 0.001 s and the total
simulation time as 10 s. The sources are located in the middle of the model
(3000, 3000 m), and the three receivers are located at (600, 1800 m),
(1800, 1800 m), and (3000, 1800 m). We compared the errors of the
numerical solution and the analytical solution at the receivers of the method
we proposed with the classic SG PML methods. The number of PMLs is set as 10.
Figures 3 and 4 show the comparison of the analytical solutions at the three
receivers of the proposed method (second-order CG scheme in the computational
area) and the classic SG PML method (second-order SG scheme in the
computational area) when the grid spacing (<inline-formula><mml:math id="M149" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is 12 and 10 m,
respectively. Figure 5 shows the relative errors between the<?pagebreak page1294?> analytical
solutions and the two methods for the conditions described above where the
relative error was calculated using Eq. (10).</p>
      <p id="d1e6659">From Figs. 3 and 4, we can see that both of the methods have obvious errors
during the first 2 s. In particular, when the grid spacing is 12 m,
the error is the largest, and there is significant numerical dispersion.
Reducing the grid spacing can reduce the error and the dispersion. When the
grid spacing is 10 m, the result improves. In addition, the results for a
longer simulation time also prove the numerical stability of our method.
Further comparison of the relative error curves shown in Fig. 5 indicates
that although neither method is particularly good; the amplitude of relative
errors with their analytical solutions are almost the same.</p>
      <p id="d1e6662">In theory, the error of the numerical solution can be reduced by using a
higher-order difference. We compared the experimental results of the
proposed method (fourth-order CG scheme in the computational area) and
classic SG PML methods (fourth-order SG scheme in the computational area)
with the analytic solution, as shown in Figs. 6–8.</p>
      <p id="d1e6665">From Figs. 6 and 7, we can see that when the fourth-order difference is used,
the relative errors between the analytical solution and both methods are
significantly reduced compared with when the second-order difference is
used. In addition, as with the second-order result above, the relative error
also decreases as the grid spacing decreases. Figure 8 illustrates the fact
that the relative error curves of our algorithm and the classic SG PML
method are also very similar for the fourth-order difference, In addition,
it is difficult to distinguish the advantages and disadvantages of the two
algorithms. Although the results of the two methods still exhibit a small
error at this time, we can continue to use the higher difference order or we
can reduce the grid spacing to reduce the error. The laws of the two methods
are the same.</p>
      <p id="d1e6669">In Figs. 9 and 10, we adopt a 10th-order difference scheme and <inline-formula><mml:math id="M150" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> m. At
this time, the numerical results are very close to the analytical solution
and the relative error is very low. Based on this, we can conclude that the
accuracies of the proposed method and the classic SG PML method for the same
conditions with a constant-gradient velocity are similar. Meanwhile, it also
demonstrates an additional advantage of our method. When the computational
area and the PML area are independent of each other, we can easily optimize
the numerical algorithm of the computational area to improve the accuracy of
the algorithm. When the grid spacing and the order of difference are
appropriate, our method yields the expected results. Because our method uses
the CG scheme in the computational area, the experimental results also show
that in the scalar wave field simulation, the accuracy of the SG scheme is
not higher than that of the CG scheme. This conclusion is in agreement with
the experimental results of the elastic wave field simulated by Moczo et al. (2011) at a low  <inline-formula><mml:math id="M151" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula>-wave to <inline-formula><mml:math id="M152" display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>-wave speed ratio (<inline-formula><mml:math id="M153" display="inline"><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.4</mml:mn></mml:mrow></mml:math></inline-formula>2).</p>
      <p id="d1e6720">Table 1 presents the computation times of the two methods at different grid
spacings and difference orders. The efficiency percentage is the total
computation time of our method divided by the total computation time of the
SG method. Under the same circumstances, the total computation time of our
method is only 57 %–70 % that of the classic SG PML method. It is
noteworthy that the result of our method for the 10th-order difference and
a grid spacing of 10 m is much better than that of the classic SG PML method
for the fourth-order difference and a 10 m grid spacing, while the
computation time is nearly the same. Also, the result of our method for the
fourth-order difference and a grid spacing of 12 m is much better than that
of the classic SG PML method for the second-order difference and a 10 m grid
spacing, while the former computation time is only 53.3 % of the latter.
Therefore, for the same computation time as the classic SG PML method, our
method always achieves a higher accuracy for a smaller grid spacing and a
higher-order difference. We obtained these conclusions in a
constant-gradient velocity medium. Therefore, the algorithm we propose works
well when the CG scheme is used in the computational area. Next, we discuss
the absorption efficiency of the reflected waves of our method in a series
of simple and complex models.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T1"><caption><p id="d1e6726">Computation time for our and the classic SG PML
methods.</p></caption><oasis:table frame="topbot"><?xmltex \begin{scaleboxenv}{.98}[.98]?><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Condition</oasis:entry>
         <oasis:entry colname="col2">Our method</oasis:entry>
         <oasis:entry colname="col3">The classic</oasis:entry>
         <oasis:entry colname="col4">Efficiency</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">SG PML method</oasis:entry>
         <oasis:entry colname="col4">percentage</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Second-order</oasis:entry>
         <oasis:entry colname="col2">10 m 19 s</oasis:entry>
         <oasis:entry colname="col3">15 m 17 s</oasis:entry>
         <oasis:entry colname="col4">67.5 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M154" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">12</mml:mn></mml:mrow></mml:math></inline-formula> m</oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Second-order</oasis:entry>
         <oasis:entry colname="col2">14 m 41 s</oasis:entry>
         <oasis:entry colname="col3">21 m 01 s</oasis:entry>
         <oasis:entry colname="col4">69.8 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M155" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> m</oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Fourth-order</oasis:entry>
         <oasis:entry colname="col2">11 m 13 s</oasis:entry>
         <oasis:entry colname="col3">17 m 56 s</oasis:entry>
         <oasis:entry colname="col4">62.5 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M156" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">12</mml:mn></mml:mrow></mml:math></inline-formula> m</oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Fourth-order</oasis:entry>
         <oasis:entry colname="col2">16 m 58 s</oasis:entry>
         <oasis:entry colname="col3">25 m 54 s</oasis:entry>
         <oasis:entry colname="col4">64.3 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M157" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> m</oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">10th-order</oasis:entry>
         <oasis:entry colname="col2">25 m 48 s</oasis:entry>
         <oasis:entry colname="col3">44 m 54 s</oasis:entry>
         <oasis:entry colname="col4">57.4 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M158" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> m</oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup><?xmltex \end{scaleboxenv}?></oasis:table></table-wrap>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T2" specific-use="star"><caption><p id="d1e6971">Computation times for the four methods.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:colspec colnum="5" colname="col5" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Condition</oasis:entry>
         <oasis:entry colname="col2">Our method</oasis:entry>
         <oasis:entry colname="col3">Classic SG PML method</oasis:entry>
         <oasis:entry colname="col4">Second-order PML method</oasis:entry>
         <oasis:entry colname="col5">Hybrid ABC method</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Homogeneous model</oasis:entry>
         <oasis:entry colname="col2">20 s</oasis:entry>
         <oasis:entry colname="col3">28 s</oasis:entry>
         <oasis:entry colname="col4">24 s</oasis:entry>
         <oasis:entry colname="col5">20 s</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PML <inline-formula><mml:math id="M159" display="inline"><mml:mrow><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4"/>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Homogeneous model</oasis:entry>
         <oasis:entry colname="col2">24 s</oasis:entry>
         <oasis:entry colname="col3">34 s</oasis:entry>
         <oasis:entry colname="col4">28 s</oasis:entry>
         <oasis:entry colname="col5">25 s</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PML <inline-formula><mml:math id="M160" display="inline"><mml:mrow><mml:mo>=</mml:mo><mml:mn mathvariant="normal">20</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4"/>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Constant-gradient velocity model</oasis:entry>
         <oasis:entry colname="col2">21 s</oasis:entry>
         <oasis:entry colname="col3">30 s</oasis:entry>
         <oasis:entry colname="col4">26 s</oasis:entry>
         <oasis:entry colname="col5">21 s</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PML <inline-formula><mml:math id="M161" display="inline"><mml:mrow><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4"/>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Constant-gradient velocity model</oasis:entry>
         <oasis:entry colname="col2">25 s</oasis:entry>
         <oasis:entry colname="col3">35 s</oasis:entry>
         <oasis:entry colname="col4">30 s</oasis:entry>
         <oasis:entry colname="col5">26 s</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PML <inline-formula><mml:math id="M162" display="inline"><mml:mrow><mml:mo>=</mml:mo><mml:mn mathvariant="normal">20</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4"/>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Marmousi model</oasis:entry>
         <oasis:entry colname="col2">6 m 57 s</oasis:entry>
         <oasis:entry colname="col3">10 m 31 s</oasis:entry>
         <oasis:entry colname="col4">8 m 20 s</oasis:entry>
         <oasis:entry colname="col5">7 m 14 s</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PML <inline-formula><mml:math id="M163" display="inline"><mml:mrow><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4"/>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Marmousi model</oasis:entry>
         <oasis:entry colname="col2">6 m 05 s</oasis:entry>
         <oasis:entry colname="col3">9 m 05 s</oasis:entry>
         <oasis:entry colname="col4">7 m 18 s</oasis:entry>
         <oasis:entry colname="col5">6 m 25 s</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PML <inline-formula><mml:math id="M164" display="inline"><mml:mrow><mml:mo>=</mml:mo><mml:mn mathvariant="normal">20</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4"/>
         <oasis:entry colname="col5"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S4.SS2">
  <title>Absorption efficiency and computation time</title>
<sec id="Ch1.S4.SS2.SSS1">
  <title>Homogeneous model</title>
      <p id="d1e7273">First, we used a two-dimensional homogeneous model to verify the reflected
wave absorption efficiency of our new boundary-matched algorithm. As shown
in Fig. 11, the model size is 2000 m <inline-formula><mml:math id="M165" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 2000 m at a velocity of <inline-formula><mml:math id="M166" display="inline"><mml:mrow><mml:mi>c</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2500</mml:mn></mml:mrow></mml:math></inline-formula> m s<inline-formula><mml:math id="M167" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>
and a grid spacing of 10 m. The source is the same as previously
described and is located at (1000, 1000 m) with a time step of 0.001 s and
a total simulation time of 1.5 s. A total of 201 receivers are evenly
distributed on a horizontal line with a depth of 500 m, and the distance
between each receiver is set as 10 m. In Fig. 12, we compared the receiver
records of our method, the classic SG PML method, the second-order PML
method, and the hybrid ABC method for a different number of absorbing
layers. In<?pagebreak page1295?> general, the amplitude of the reflected wave will be reduced to
less than 1 % of that of the normal wave field after the boundary
conditions are processed. Thus, in order to illustrate the reflected wave
more clearly, we set the range of the color bar of the wave field to be
<inline-formula><mml:math id="M168" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.001</mml:mn></mml:mrow></mml:math></inline-formula> to 0.001. For further comparison, we also calculated the value of
the reflection coefficient <inline-formula><mml:math id="M169" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> using Eq. (13) and plotted the corresponding
curve in Fig. 13.</p>
      <p id="d1e7324">As can be seen in Figs. 12 and 13, all of the four methods can absorb the
reflected waves to a certain degree. For the same number of absorbing
layers, the absorption performance of our method and that of the classic SG
PML method are almost the same and both methods are superior to the other
two methods, while the hybrid ABC method is the worst. Specifically, when
the number of absorbing layers equals 10, the absorption coefficients of our
method and classic SG PML method are both <inline-formula><mml:math id="M170" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">60</mml:mn></mml:mrow></mml:math></inline-formula> dB, which means that the
amplitude of the reflected wave after absorbing is only 0.1 % of that
before absorbing. Increasing the number of absorbing layers can improve the
absorption effect of the four methods. In addition, the 20-layer
second-order PML method performs similarly to the 10-layer proposed method
and the 10-layer classic SG PML method. This indicates that the second-order
PML method always requires more absorbing layers than the first-order PML
does. Although the core idea of the second-order PML method is the same as
that of the first-order PML method, there are very different ways to deal with
mathematical equations. In the second-order method, the original PML
equations are transformed and some additional nonphysical variables are
added, which greatly reduces the efficiency of boundary conditions.
Moreover, the second-order PML method still needs to handle the first-order
system, i.e., a Euler or a Runge–Kutta time scheme has to be used
(Komatitsch and Tromp, 2003). So, in this case, the second-order PML method
is naturally less effective than our first-order PML method and requires
more absorbing layers. For hybrid ABC, it has poor absorbing performance
compared to the PML method since it is based on a one-way equation. So, it would
have limited improvement due to the phase and the amplitude errors that are
associated with the expansion of one-way wave equation.</p>
</sec>
<sec id="Ch1.S4.SS2.SSS2">
  <title>Constant-gradient velocity model</title>
      <p id="d1e7343">Taking into account the fact that the homogeneous model is relatively simple
and quite different from the actual distribution of an underground
medium, the second model that we use is the constant-gradient velocity
model, as shown in Fig. 14. The velocity is 1500 m s<inline-formula><mml:math id="M171" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> at <inline-formula><mml:math id="M172" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> m and 3500 m s<inline-formula><mml:math id="M173" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>
at <inline-formula><mml:math id="M174" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2000</mml:mn></mml:mrow></mml:math></inline-formula> m, and the velocity gradient is 1. The source and receiver
locations are exactly the same as those in the first homogeneous model.
Figures 15 and 16 compare the receiver records and the reflection
coefficients <inline-formula><mml:math id="M175" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> of the four methods for different boundary conditions. It can
be seen that the absorption effect of this model is not as good as that of
the homogeneous model, but the results are the same. For the same number of
absorbing layers, our method has the same absorbing ability as that of the
classic SG PML and performs better than the other two methods. Also, we
still need to use more layers for the second-order PML method instead of
using the thin method we proposed. In addition, we see that the 10-layer
proposed method is much better than the 20-layer hybrid ABC method.</p>
</sec>
<sec id="Ch1.S4.SS2.SSS3">
  <title>Marmousi model</title>
      <p id="d1e7407">We next compared the absorption efficiency of the four methods for a complex
Marmousi model. The Marmousi model has a size of 9200 m <inline-formula><mml:math id="M176" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 3000 m, a
grid spacing of 12.5 m, a time step of 0.001 s, and a total recording time
of 8 s. The velocity distribution is shown in Fig. 17. Taking the first shot
of the Marmousi model as an example, we can see that the shot is located on
the ground surface at a horizontal distance of 3000 m and that the 185
receivers are evenly distributed between 0 and 9200 m on the surface. The
results in Fig. 18 show that the absorption effect of our method is equal to
or better than the absorption effect of the other methods. When<?pagebreak page1296?> the number
of PMLs is 20, the reflected wave is relatively small. Therefore, the method
we propose is also suitable for simulating complex models.</p>
      <p id="d1e7417">Based on the above numerical experiments, although the hybrid ABC method is
often used as the boundary condition of the CG-based method because it is
easy to deduce its second-order form, its absorption performance is
obviously worse than that of the other three PML methods since it is based
on a one-dimensional wave equation. Among the three PML methods, the
10-layer classic SG PML method (first-order PML is used inside) for the
first-order wave equation is enough to suppress the edge reflections, while
the 20-layer second-order PML method is sufficient for the second-order wave
equation. However, our first-order PML method only requires a thickness of
10 grid spacings to absorb the outgoing wave entirely. It may have a
significant advantage over the second-order PML method. Table 2 shows the
computation times of the four methods for different numbers of absorbing
layers. Among them, the computation time of our method is the shortest and
that of the classic SG PML method is the longest. Given that our method uses
the CG scheme in the computational area, it requires much less computation
time than the classic SG PML method does. In addition, the second-order PML
method requires the transformation of the original first-order PML equation
into a second-order form. The required complex formulas and extra variables
without physical meaning increase the computation time. In addition, our
method naturally implements high-order temporal discretization if necessary,
while the second-order PML method does not. Therefore, our method is ideal
for seismic wave forward modeling.</p>
</sec>
</sec>
<sec id="Ch1.S4.SS3">
  <title>Three-dimensional homogeneous model</title>
      <p id="d1e7427">In order to facilitate the experiments and comparative analyses, we used the
two-dimensional models described in the above numerical experiments. To
further illustrate the effectiveness of our method, Fig. 19 shows the
experimental results of this method for a three-dimensional homogeneous
velocity model. The model size is 1000 m <inline-formula><mml:math id="M177" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 1000 m <inline-formula><mml:math id="M178" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 1000 m,
the grid spacing is 10 m, and the velocity is 2000 m s<inline-formula><mml:math id="M179" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>. The source is
located at (500, 500, 500 m) with a time step of 0.001 s. Figure 19
shows snapshots of the wave field at different times. From this, we find that
when the number of PMLs is 20, the wave field record is very clear, and
almost no reflected waves are seen.</p>
</sec>
</sec>
<sec id="Ch1.S5" sec-type="conclusions">
  <title>Conclusions</title>
      <p id="d1e7463">We propose a new boundary-matched algorithm that effectively combines the CG
scheme in the computational area and the SG scheme in the PML boundary
conditions, while preserving the high computational efficiency of the CG
scheme and the good absorption effect of PML boundary conditions. Our
proposed method is easy to implement, and we only perform appropriate wave
field matching at the grid points, which avoids complicated modifications to
the PML formulas and the introduction of unnecessary variables. The
numerical experiments of the different models indicate that our method is
applicable to a variety of simple and complex two-dimensional and
three-dimensional geological models. For the same conditions, our method can
achieve similar or better accuracy and reflected wave absorption efficiency
compared to other boundary absorption methods, while it requires less computation
time. Because our method keeps the independence of the computational area
and the boundary absorption area, it can also be combined with other
CG-based seismic wave numerical algorithms, such as the nearly analytical
center difference method with PML boundary conditions, to achieve better
numerical simulation accuracy.</p>
      <p id="d1e7466">Our work is based on the numerical simulation of a scalar equation. Because
the elastic wave equation includes more wave field information, it is also
widely used in the numerical simulation of seismic waves. The simulation of
the elastic wave equation requires more computations and greater storage
capacity, while our proposed method can reduce the computational cost. The
next step of our work will be the numerical simulation of the elastic wave
equation and is expected to significantly improve its computational
efficiency.</p>
</sec>

      
      </body>
    <back><notes notes-type="dataavailability">

      <p id="d1e7473">The processed data required to reproduce these
findings are available to download from <ext-link xlink:href="https://doi.org/10.17632/wv6kwbmf2h.1" ext-link-type="DOI">10.17632/wv6kwbmf2h.1</ext-link> (Zhang, 2018).</p>
  </notes><notes notes-type="authorcontribution">

      <p id="d1e7482">XZ and QC contributed to the conception of the study.
XZ, DZ, and YY contributed significantly to analysis and manuscript preparation;
XZ, DZ, and QC performed the data analyses and wrote the manuscript;
XZ and DZ helped perform the analysis with constructive discussions.</p>
  </notes><notes notes-type="competinginterests">

      <p id="d1e7488">The authors declare that they have no conflict of
interest.</p>
  </notes><notes notes-type="sistatement">

      <p id="d1e7494">This article is part of the special issue “Advances in seismic imaging
across the scales”. It does not belong to a conference.</p>
  </notes><ack><title>Acknowledgements</title><p id="d1e7500">This research work was financially supported by the National Science and
Technology Major Project of China under grant 2011zx05003-003.
<?xmltex \hack{\newline}?><?xmltex \hack{\newline}?>
Edited by: Michal Malinowski <?xmltex \hack{\newline}?>
Reviewed by:  two anonymous referees</p></ack><ref-list>
    <title>References</title>

      <ref id="bib1.bib1"><label>1</label><mixed-citation>
Alford, R. M., Kelly, K. R., and Boore, D.: Accuracy of finite-difference
modeling of the acoustic wave equation, Geophysics, 39, 834–842, 1974.</mixed-citation></ref>
      <ref id="bib1.bib2"><label>2</label><mixed-citation>
Berenger, J. P.: A Perfect Matched Layer for the Absorption of
Electromagnetic Waves, J. Comput. Phys., 114, 185–200, 1994.</mixed-citation></ref>
      <ref id="bib1.bib3"><label>3</label><mixed-citation>
Blanch, J. O. and Robertsson, J. O. A.: A modified Lax-Wendroff correction
for wave propagation in media described by Zener elements, Geophys. J. Roy. Astr. S., 131, 381–386, 2010.</mixed-citation></ref>
      <ref id="bib1.bib4"><label>4</label><mixed-citation>
Cerjan, C., Kosloff, D., Kosloff, R., and Reshef, M.: A nonreflecting
boundary condition for discrete acoustic and elastic wave equations,
Geophysics, 50, 705–708, 1985.</mixed-citation></ref>
      <ref id="bib1.bib5"><label>5</label><mixed-citation>
Cerveny, V.: Seismic ray theory, Cambridge University Press, 2001.</mixed-citation></ref>
      <ref id="bib1.bib6"><label>6</label><mixed-citation>
Chew, W. C. and Liu, Q. H.: Perfectly matched layers for elastodynamics: a
new absorbing boundary condition, J. Comput. Acoust., 4,
341–359, 1996.</mixed-citation></ref>
      <ref id="bib1.bib7"><label>7</label><mixed-citation>
Chu, C. L. and Stoffa, P. L.: Determination of finite-difference weights
using scaled binomial windows, Geophysics, 77, W17–W26, 2012.</mixed-citation></ref>
      <ref id="bib1.bib8"><label>8</label><mixed-citation>
Clayton, R. and Engquist, B.: Absorbing boundary conditions for acoustic and
elastic wave equations, B. Seismol. Soc. Am., 67, 1529–1540, 1977.</mixed-citation></ref>
      <ref id="bib1.bib9"><label>9</label><mixed-citation>
Collino, F. and Tsogka, C.: Application of the perfectly matched absorbing
layer model to the linear elastodynamic problem in anisotropic heterogeneous
media, Geophysics, 66, 294–307, 1998.</mixed-citation></ref>
      <ref id="bib1.bib10"><label>10</label><mixed-citation>Dablain, M. A.: The application of high-order differencing to the scalar
wave equation, Geophysics, 51, 54, <ext-link xlink:href="https://doi.org/10.1190/1.1442040" ext-link-type="DOI">10.1190/1.1442040</ext-link>, 1986.</mixed-citation></ref>
      <ref id="bib1.bib11"><label>11</label><mixed-citation>
Dan, D. K. and Baysal, E.: Forward modeling by a Fourier method, Geophysics,
47, 1402–1412, 1982.</mixed-citation></ref>
      <ref id="bib1.bib12"><label>12</label><mixed-citation>
Engquist, B. and Runborg, O.: Computational high frequency wave propagation,
Acta Numer., 12, 181–266, 2003.</mixed-citation></ref>
      <ref id="bib1.bib13"><label>13</label><mixed-citation>
Fornberg B.: High-Order Finite Differences and the Pseudospectral Method on
Staggered Grids, Siam J. Numer. Anal., 27, 904–918, 1990.</mixed-citation></ref>
      <ref id="bib1.bib14"><label>14</label><mixed-citation>
Gao, Y. J., Song, H., Zhang, J., and Yao, Z.: Comparison of artificial
absorbing boundaries for acoustic wave equation modelling, Explor. Geophys., 48, 76–93, 2017.</mixed-citation></ref>
      <ref id="bib1.bib15"><label>15</label><mixed-citation>
Gold, N., Shapiro, S. A., and Burr, E.: Modelling of high contrasts in
elastic media using a modified finite difference scheme, Seg Technical Program Expanded, 1850–1853, 1997.</mixed-citation></ref>
      <ref id="bib1.bib16"><label>16</label><mixed-citation>Grote, M. J. and Sim, I.: Efficient PML for the wave equation, Mathematics,
available at: <uri>http://arxiv.org/abs/1001.0319v1</uri> (last access: 30 July 2015), 2010.</mixed-citation></ref>
      <ref id="bib1.bib17"><label>17</label><mixed-citation>
Higdon, R. L.: Absorbing boundary conditions for elastic waves, Siam J. Numer. Anal., 31, 64–100, 2012.</mixed-citation></ref>
      <ref id="bib1.bib18"><label>18</label><mixed-citation>
Huang, C. and Dong, L.: Staggered-Grid High-Order Finite-Difference Method
in Elastic Wave Simulation with Variable Grids and Local Time Steps, Chinese J. Geophys., 52, 1324–1333, 2009.</mixed-citation></ref>
      <ref id="bib1.bib19"><label>19</label><mixed-citation>
Hustedt, B., Operto, S., and Virieux, J.: Mixed-grid and staggered-grid
finite-difference methods for frequency-domain acoustic wave modelling,
Geophys. J. Roy. Astr. S., 157, 1269–1296, 2004.</mixed-citation></ref>
      <ref id="bib1.bib20"><label>20</label><mixed-citation>
Igel, H., Mora, P,. and Riollet, B.: Anisotropic wave propagation through
finite-difference grids, Geophysics, 60, 1203–1216, 1995.</mixed-citation></ref>
      <ref id="bib1.bib21"><label>21</label><mixed-citation>
Kelly, K. R., Ward, R. W. Treitel, S., and Alford, R. M.: Synthetic
seismograms: a finite-difference approach, Geophysics, 41, 2–27, 2012.</mixed-citation></ref>
      <ref id="bib1.bib22"><label>22</label><mixed-citation>
Komatitsch, D. and Martin, R.: An unsplit convolutional perfectly matched
layer improved at grazing incidence for the seismic wave equation,
Geophysics, 72, SM155–SM167, 2007.</mixed-citation></ref>
      <ref id="bib1.bib23"><label>23</label><mixed-citation>
Komatitsch, D. and Tromp, J.: A perfectly matched layer absorbing boundary
condition for the second-order seismic wave equation, Geophys. J.
Int., 154, 146–153, 2003.</mixed-citation></ref>
      <ref id="bib1.bib24"><label>24</label><mixed-citation>
Kreiss, H. O. and Oliger, J.: Comparison of accurate methods for the
integration of hyperbolic equations, Tellus, 24, 199–215, 1972.</mixed-citation></ref>
      <ref id="bib1.bib25"><label>25</label><mixed-citation>
Lax, P. D. and Wendroff, B.: Difference schemes for hyperbolic equations
with high order of accuracy, Commun. Pure Appl.
Math., 17, 381–398, 1964.</mixed-citation></ref>
      <ref id="bib1.bib26"><label>26</label><mixed-citation>
Li, B., Liu, Y., Sen, M. K., and Ren, Z.: Time-space-domain mesh-free finite
difference based on least squares for 2D acoustic-wave modeling, Geophysics,
82, 143–157, 2017.</mixed-citation></ref>
      <ref id="bib1.bib27"><label>27</label><mixed-citation>
Liu, Q. H. and Tao, J.: The perfectly matched layer for acoustic waves in
absorptive media, J. Acoust. Soc. Am., 102,
2072–2082, 1998.</mixed-citation></ref>
      <ref id="bib1.bib28"><label>28</label><mixed-citation>
Liu, Y. and Sen, M. K.: Scalar Wave Equation Modeling with Time-Space Domain
Dispersion-Relation-Based Staggered-Grid Finite-Difference Schemes,
B. Seismol. Soc. Am., 101, 141–159, 2011.</mixed-citation></ref>
      <ref id="bib1.bib29"><label>29</label><mixed-citation>
Madariaga, R.: Dynamics of an expanding circular fault, B. Seismol. Soc. Am.,
66, 639–666, 1976.</mixed-citation></ref>
      <ref id="bib1.bib30"><label>30</label><mixed-citation>
Marfurt, K. J.: Accuracy of finite-difference and finite-element modeling of
the scalar and elastic wave equations, Geophysics, 49, 533–549, 1987.</mixed-citation></ref>
      <ref id="bib1.bib31"><label>31</label><mixed-citation>
Moczo, P. Robertsson, J. O. A., and Eisner, L.: The Finite-Difference
Time-Domain Method for Modeling of Seismic Wave Propagation, Adv.
Geophys., 48, 421–516, 2007.</mixed-citation></ref>
      <ref id="bib1.bib32"><label>32</label><mixed-citation>Moczo, P., Kristek, J., Galis, M., Chaljub, E., and Etienne, V.: 3-D
finite-difference, finite-element, discontinuous-Galerkin and
spectral-element schemes analysed for their accuracy with respect to <inline-formula><mml:math id="M180" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula>-wave
to <inline-formula><mml:math id="M181" display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>-wave speed ratio, Geophys. J. Int., 187, 1645–1667,
2011.</mixed-citation></ref>
      <ref id="bib1.bib33"><label>33</label><mixed-citation>
Moczo, P., Kristek, J., and Galis, M.: The finite-difference modelling of
earthquake motions: waves and ruptures, Cambridge University Press, 1–365,
2014.</mixed-citation></ref>
      <ref id="bib1.bib34"><label>34</label><mixed-citation>
O'Brien, G. S.: 3D rotated and standard staggered finite-difference
solutions to Biot's poroelastic wave equations: Stability condition and
dispersion analysis, Geophysics, 75, 111–119, 2010.</mixed-citation></ref>
      <ref id="bib1.bib35"><label>35</label><mixed-citation>
Pasalic, D. and McGarry, R.: Convolutional perfectly matched layer for
isotropic and anisotropic acoustic wave equations, 2010 SEG Annual Meeting,
Society of Exploration Geophysicists, 2010.</mixed-citation></ref>
      <ref id="bib1.bib36"><label>36</label><mixed-citation>
Ren, Z. M. and Liu, Y.: A Hybrid Absorbing Boundary Condition for
Frequency-Domain Visco-Acoustic Finite-Difference Modeling, J.
Geophys. Eng., 10, 86–95, 2012.</mixed-citation></ref>
      <ref id="bib1.bib37"><label>37</label><mixed-citation>
Reynolds, A. C.: Boundary conditions for the numerical solution of wave
propagation problems, Geophysics, 43, 155–165, 1978.</mixed-citation></ref>
      <ref id="bib1.bib38"><label>38</label><mixed-citation>
Saenger, E. H., Gold, N., and Shapiro, S. A.: Modeling the propagation of
elastic waves using a modified finite-difference grid, Wave Motion, 31,
77–92, 2000.</mixed-citation></ref>
      <ref id="bib1.bib39"><label>39</label><mixed-citation>
Sánchez-Sesma, F. J. Madariaga, R., and Irikura, K.: An approximate
elastic two-dimensional Green's function for a constant-gradient medium,
Geophys. J. Int., 146, 237–248, 2001.</mixed-citation></ref>
      <?pagebreak page1298?><ref id="bib1.bib40"><label>40</label><mixed-citation>
Sochacki, J, Kubichek, R., George, J., Fletcher, W., and Smithson, S.:
Absorbing boundary conditions and surface waves, Geophysics, 52, 60–71,
1987.</mixed-citation></ref>
      <ref id="bib1.bib41"><label>41</label><mixed-citation>
Tan, S. R. and Huang, L.: A staggered-grid finite-difference scheme
optimized in the time–space domain for modeling scalar-wave propagation in
geophysical problems, J. Comput. Phys., 276, 613–634, 2014.</mixed-citation></ref>
      <ref id="bib1.bib42"><label>42</label><mixed-citation>
Virieux, J.: SH-wave propagation in heterogeneous media: Velocity-stress
finite-difference method, Geophysics, 49, 1933–1942, 1984.</mixed-citation></ref>
      <ref id="bib1.bib43"><label>43</label><mixed-citation>
Virieux, J.: P-SV wave propagation in heterogeneous media; velocity-stress
finite-difference method, Geophysics, 49, 1933–1942, 1986.</mixed-citation></ref>
      <ref id="bib1.bib44"><label>44</label><mixed-citation>
Wang, S. D.: Absorbing boundary condition for acoustic wave equation by
perfectly matched layer, Oil Geophysical Prospecting, 38, 31–34, 2003.</mixed-citation></ref>
      <ref id="bib1.bib45"><label>45</label><mixed-citation>
Yang, D. Liu, E. Zhang, Z. J. and Teng, J.: Finite-difference modelling in
two-dimensional anisotropic m,edia using a flux-corrected transport
technique, Geophys. J. Int., 148, 320–328, 2002.</mixed-citation></ref>
      <ref id="bib1.bib46"><label>46</label><mixed-citation>Yang, D., Liu, E., and Zhang, Z.: Evaluation of the u-W finite element method
in anisotropic porous media, J. Seism. Explor., 17, 273–299,
2008.
 </mixed-citation></ref><?xmltex \hack{\newpage}?>
      <ref id="bib1.bib47"><label>47</label><mixed-citation>
Yang, D. H., Teng, J. W., Zhang, Z. J., and Liu, E.: A nearly analytic
discrete method for acoustic and elastic wave equations in anisotropic
media, B. Seismol. Soc. Am., 93, 2389–2401, 2003.</mixed-citation></ref>
      <ref id="bib1.bib48"><label>48</label><mixed-citation>
Yang, D. H., Tong, P., and Deng, X.: A central difference method with low
numerical dispersion for solving the scalar wave equation, Geophys. Prospect., 60, 885–905, 2012.</mixed-citation></ref>
      <ref id="bib1.bib49"><label>49</label><mixed-citation>
Yang, L., Yan, H., and Liu, H.: Optimal rotated staggered-grid
finite-difference schemes for elastic wave modeling in TTI media, J.
Appl. Geophys., 122, 40–52, 2015.</mixed-citation></ref>
      <ref id="bib1.bib50"><label>50</label><mixed-citation>
Zhang, J. H. and Yao, Z. X.: Optimized finite-difference operator for
broadband seismic wave modeling, Geophysics, 78, A13–A18, 2013.</mixed-citation></ref>
      <ref id="bib1.bib51"><label>51</label><mixed-citation>Zhang, X.: Seismic dataset of different finite difference method and different absorbing conditions, Mendeley Data,
<ext-link xlink:href="https://doi.org/10.17632/wv6kwbmf2h.1" ext-link-type="DOI">10.17632/wv6kwbmf2h.1</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bib52"><label>52</label><mixed-citation>
Zhang, Z. G., Zhang, W., Li, H., and Chen, X.: Stable discontinuous grid
implementation for collocated-grid finite-difference seismic wave modelling,
Geophys. J. Int., 192, 1179–1188, 2013.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>Second-order scalar wave field modeling with a first-order perfectly matched layer</article-title-html>
<abstract-html><p>The forward modeling of a scalar wave equation plays an
important role in the numerical geophysical computations. The
finite-difference algorithm in the form of a second-order wave equation is
one of the commonly used forward numerical algorithms. This algorithm is
simple and is easy to implement based on the conventional grid. In order to
ensure the accuracy of the calculation, absorption layers should be
introduced around the computational area to suppress the wave reflection
caused by the artificial boundary. For boundary absorption conditions, a
perfectly matched layer is one of the most effective algorithms. However,
the traditional perfectly matched layer algorithm is calculated using a
staggered grid based on the first-order wave equation, which is difficult to
directly integrate into a conventional-grid finite-difference algorithm
based on the second-order wave equation. Although a perfectly matched layer
algorithm based on the second-order equation can be derived, the formula is
rather complex and intermediate variables need to be introduced, which makes
it hard to implement. In this paper, we present a simple and efficient
algorithm to match the variables at the boundaries between the computational
area and the absorbing boundary area. This new boundary-matched method can
integrate the traditional staggered-grid perfectly matched layer algorithm
and the conventional-grid finite-difference algorithm without formula
transformations, and it can ensure the accuracy of finite-difference forward
modeling in the computational area. In order to verify the validity of our
method, we used several models to carry out numerical simulation
experiments. The comparison between the simulation results of our new
boundary-matched algorithm and other boundary absorption algorithms shows
that our proposed method suppresses the reflection of the artificial
boundaries better and has a higher computational efficiency.</p></abstract-html>
<ref-html id="bib1.bib1"><label>1</label><mixed-citation>
Alford, R. M., Kelly, K. R., and Boore, D.: Accuracy of finite-difference
modeling of the acoustic wave equation, Geophysics, 39, 834–842, 1974.
</mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>2</label><mixed-citation>
Berenger, J. P.: A Perfect Matched Layer for the Absorption of
Electromagnetic Waves, J. Comput. Phys., 114, 185–200, 1994.
</mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>3</label><mixed-citation>
Blanch, J. O. and Robertsson, J. O. A.: A modified Lax-Wendroff correction
for wave propagation in media described by Zener elements, Geophys. J. Roy. Astr. S., 131, 381–386, 2010.
</mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>4</label><mixed-citation>
Cerjan, C., Kosloff, D., Kosloff, R., and Reshef, M.: A nonreflecting
boundary condition for discrete acoustic and elastic wave equations,
Geophysics, 50, 705–708, 1985.
</mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>5</label><mixed-citation>
Cerveny, V.: Seismic ray theory, Cambridge University Press, 2001.
</mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>6</label><mixed-citation>
Chew, W. C. and Liu, Q. H.: Perfectly matched layers for elastodynamics: a
new absorbing boundary condition, J. Comput. Acoust., 4,
341–359, 1996.
</mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>7</label><mixed-citation>
Chu, C. L. and Stoffa, P. L.: Determination of finite-difference weights
using scaled binomial windows, Geophysics, 77, W17–W26, 2012.
</mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>8</label><mixed-citation>
Clayton, R. and Engquist, B.: Absorbing boundary conditions for acoustic and
elastic wave equations, B. Seismol. Soc. Am., 67, 1529–1540, 1977.
</mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>9</label><mixed-citation>
Collino, F. and Tsogka, C.: Application of the perfectly matched absorbing
layer model to the linear elastodynamic problem in anisotropic heterogeneous
media, Geophysics, 66, 294–307, 1998.
</mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>10</label><mixed-citation>
Dablain, M. A.: The application of high-order differencing to the scalar
wave equation, Geophysics, 51, 54, <a href="https://doi.org/10.1190/1.1442040" target="_blank">https://doi.org/10.1190/1.1442040</a>, 1986.
</mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>11</label><mixed-citation>
Dan, D. K. and Baysal, E.: Forward modeling by a Fourier method, Geophysics,
47, 1402–1412, 1982.
</mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>12</label><mixed-citation>
Engquist, B. and Runborg, O.: Computational high frequency wave propagation,
Acta Numer., 12, 181–266, 2003.
</mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>13</label><mixed-citation>
Fornberg B.: High-Order Finite Differences and the Pseudospectral Method on
Staggered Grids, Siam J. Numer. Anal., 27, 904–918, 1990.
</mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>14</label><mixed-citation>
Gao, Y. J., Song, H., Zhang, J., and Yao, Z.: Comparison of artificial
absorbing boundaries for acoustic wave equation modelling, Explor. Geophys., 48, 76–93, 2017.
</mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>15</label><mixed-citation>
Gold, N., Shapiro, S. A., and Burr, E.: Modelling of high contrasts in
elastic media using a modified finite difference scheme, Seg Technical Program Expanded, 1850–1853, 1997.
</mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>16</label><mixed-citation>
Grote, M. J. and Sim, I.: Efficient PML for the wave equation, Mathematics,
available at: <a href="http://arxiv.org/abs/1001.0319v1" target="_blank">http://arxiv.org/abs/1001.0319v1</a> (last access: 30 July 2015), 2010.
</mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>17</label><mixed-citation>
Higdon, R. L.: Absorbing boundary conditions for elastic waves, Siam J. Numer. Anal., 31, 64–100, 2012.
</mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>18</label><mixed-citation>
Huang, C. and Dong, L.: Staggered-Grid High-Order Finite-Difference Method
in Elastic Wave Simulation with Variable Grids and Local Time Steps, Chinese J. Geophys., 52, 1324–1333, 2009.
</mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>19</label><mixed-citation>
Hustedt, B., Operto, S., and Virieux, J.: Mixed-grid and staggered-grid
finite-difference methods for frequency-domain acoustic wave modelling,
Geophys. J. Roy. Astr. S., 157, 1269–1296, 2004.
</mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>20</label><mixed-citation>
Igel, H., Mora, P,. and Riollet, B.: Anisotropic wave propagation through
finite-difference grids, Geophysics, 60, 1203–1216, 1995.
</mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>21</label><mixed-citation>
Kelly, K. R., Ward, R. W. Treitel, S., and Alford, R. M.: Synthetic
seismograms: a finite-difference approach, Geophysics, 41, 2–27, 2012.
</mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>22</label><mixed-citation>
Komatitsch, D. and Martin, R.: An unsplit convolutional perfectly matched
layer improved at grazing incidence for the seismic wave equation,
Geophysics, 72, SM155–SM167, 2007.
</mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>23</label><mixed-citation>
Komatitsch, D. and Tromp, J.: A perfectly matched layer absorbing boundary
condition for the second-order seismic wave equation, Geophys. J.
Int., 154, 146–153, 2003.
</mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>24</label><mixed-citation>
Kreiss, H. O. and Oliger, J.: Comparison of accurate methods for the
integration of hyperbolic equations, Tellus, 24, 199–215, 1972.
</mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>25</label><mixed-citation>
Lax, P. D. and Wendroff, B.: Difference schemes for hyperbolic equations
with high order of accuracy, Commun. Pure Appl.
Math., 17, 381–398, 1964.
</mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>26</label><mixed-citation>
Li, B., Liu, Y., Sen, M. K., and Ren, Z.: Time-space-domain mesh-free finite
difference based on least squares for 2D acoustic-wave modeling, Geophysics,
82, 143–157, 2017.
</mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>27</label><mixed-citation>
Liu, Q. H. and Tao, J.: The perfectly matched layer for acoustic waves in
absorptive media, J. Acoust. Soc. Am., 102,
2072–2082, 1998.
</mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>28</label><mixed-citation>
Liu, Y. and Sen, M. K.: Scalar Wave Equation Modeling with Time-Space Domain
Dispersion-Relation-Based Staggered-Grid Finite-Difference Schemes,
B. Seismol. Soc. Am., 101, 141–159, 2011.
</mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>29</label><mixed-citation>
Madariaga, R.: Dynamics of an expanding circular fault, B. Seismol. Soc. Am.,
66, 639–666, 1976.
</mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>30</label><mixed-citation>
Marfurt, K. J.: Accuracy of finite-difference and finite-element modeling of
the scalar and elastic wave equations, Geophysics, 49, 533–549, 1987.
</mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>31</label><mixed-citation>
Moczo, P. Robertsson, J. O. A., and Eisner, L.: The Finite-Difference
Time-Domain Method for Modeling of Seismic Wave Propagation, Adv.
Geophys., 48, 421–516, 2007.
</mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>32</label><mixed-citation>
Moczo, P., Kristek, J., Galis, M., Chaljub, E., and Etienne, V.: 3-D
finite-difference, finite-element, discontinuous-Galerkin and
spectral-element schemes analysed for their accuracy with respect to <i>P</i>-wave
to <i>S</i>-wave speed ratio, Geophys. J. Int., 187, 1645–1667,
2011.
</mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>33</label><mixed-citation>
Moczo, P., Kristek, J., and Galis, M.: The finite-difference modelling of
earthquake motions: waves and ruptures, Cambridge University Press, 1–365,
2014.
</mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>34</label><mixed-citation>
O'Brien, G. S.: 3D rotated and standard staggered finite-difference
solutions to Biot's poroelastic wave equations: Stability condition and
dispersion analysis, Geophysics, 75, 111–119, 2010.
</mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>35</label><mixed-citation>
Pasalic, D. and McGarry, R.: Convolutional perfectly matched layer for
isotropic and anisotropic acoustic wave equations, 2010 SEG Annual Meeting,
Society of Exploration Geophysicists, 2010.
</mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>36</label><mixed-citation>
Ren, Z. M. and Liu, Y.: A Hybrid Absorbing Boundary Condition for
Frequency-Domain Visco-Acoustic Finite-Difference Modeling, J.
Geophys. Eng., 10, 86–95, 2012.
</mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>37</label><mixed-citation>
Reynolds, A. C.: Boundary conditions for the numerical solution of wave
propagation problems, Geophysics, 43, 155–165, 1978.
</mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>38</label><mixed-citation>
Saenger, E. H., Gold, N., and Shapiro, S. A.: Modeling the propagation of
elastic waves using a modified finite-difference grid, Wave Motion, 31,
77–92, 2000.
</mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>39</label><mixed-citation>
Sánchez-Sesma, F. J. Madariaga, R., and Irikura, K.: An approximate
elastic two-dimensional Green's function for a constant-gradient medium,
Geophys. J. Int., 146, 237–248, 2001.
</mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>40</label><mixed-citation>
Sochacki, J, Kubichek, R., George, J., Fletcher, W., and Smithson, S.:
Absorbing boundary conditions and surface waves, Geophysics, 52, 60–71,
1987.
</mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>41</label><mixed-citation>
Tan, S. R. and Huang, L.: A staggered-grid finite-difference scheme
optimized in the time–space domain for modeling scalar-wave propagation in
geophysical problems, J. Comput. Phys., 276, 613–634, 2014.
</mixed-citation></ref-html>
<ref-html id="bib1.bib42"><label>42</label><mixed-citation>
Virieux, J.: SH-wave propagation in heterogeneous media: Velocity-stress
finite-difference method, Geophysics, 49, 1933–1942, 1984.
</mixed-citation></ref-html>
<ref-html id="bib1.bib43"><label>43</label><mixed-citation>
Virieux, J.: P-SV wave propagation in heterogeneous media; velocity-stress
finite-difference method, Geophysics, 49, 1933–1942, 1986.
</mixed-citation></ref-html>
<ref-html id="bib1.bib44"><label>44</label><mixed-citation>
Wang, S. D.: Absorbing boundary condition for acoustic wave equation by
perfectly matched layer, Oil Geophysical Prospecting, 38, 31–34, 2003.
</mixed-citation></ref-html>
<ref-html id="bib1.bib45"><label>45</label><mixed-citation>
Yang, D. Liu, E. Zhang, Z. J. and Teng, J.: Finite-difference modelling in
two-dimensional anisotropic m,edia using a flux-corrected transport
technique, Geophys. J. Int., 148, 320–328, 2002.
</mixed-citation></ref-html>
<ref-html id="bib1.bib46"><label>46</label><mixed-citation>
Yang, D., Liu, E., and Zhang, Z.: Evaluation of the u-W finite element method
in anisotropic porous media, J. Seism. Explor., 17, 273–299,
2008.

</mixed-citation></ref-html>
<ref-html id="bib1.bib47"><label>47</label><mixed-citation>
Yang, D. H., Teng, J. W., Zhang, Z. J., and Liu, E.: A nearly analytic
discrete method for acoustic and elastic wave equations in anisotropic
media, B. Seismol. Soc. Am., 93, 2389–2401, 2003.
</mixed-citation></ref-html>
<ref-html id="bib1.bib48"><label>48</label><mixed-citation>
Yang, D. H., Tong, P., and Deng, X.: A central difference method with low
numerical dispersion for solving the scalar wave equation, Geophys. Prospect., 60, 885–905, 2012.
</mixed-citation></ref-html>
<ref-html id="bib1.bib49"><label>49</label><mixed-citation>
Yang, L., Yan, H., and Liu, H.: Optimal rotated staggered-grid
finite-difference schemes for elastic wave modeling in TTI media, J.
Appl. Geophys., 122, 40–52, 2015.
</mixed-citation></ref-html>
<ref-html id="bib1.bib50"><label>50</label><mixed-citation>
Zhang, J. H. and Yao, Z. X.: Optimized finite-difference operator for
broadband seismic wave modeling, Geophysics, 78, A13–A18, 2013.
</mixed-citation></ref-html>
<ref-html id="bib1.bib51"><label>51</label><mixed-citation>
Zhang, X.: Seismic dataset of different finite difference method and different absorbing conditions, Mendeley Data,
<a href="https://doi.org/10.17632/wv6kwbmf2h.1" target="_blank">https://doi.org/10.17632/wv6kwbmf2h.1</a>, 2018.
</mixed-citation></ref-html>
<ref-html id="bib1.bib52"><label>52</label><mixed-citation>
Zhang, Z. G., Zhang, W., Li, H., and Chen, X.: Stable discontinuous grid
implementation for collocated-grid finite-difference seismic wave modelling,
Geophys. J. Int., 192, 1179–1188, 2013.
</mixed-citation></ref-html>--></article>
