Abstract
The numerical modeling of mechanical waves is currently a fundamental tool for the study and investigation of their propagation in media with heterogeneous physical properties and/or complex geometry, as, in these cases, analytical methods are usually not applicable. These techniques are used in geophysics (geophysical interpretation, subsoil imaging, development of new methods of exploration), seismology (study of earthquakes, regional and global seismology, accurate calculation of synthetic seismograms), in the development of new methods for ultrasonic diagnostics in materials science (nondestructive methods) and medicine (acoustic tomography). In this paper we present a review of numerical methods that have been developed and are currently used. In particular we review the key concepts and pioneering ideas behind finitedifference methods, pseudospectral methods, finitevolume methods, Galerkin continuous and discontinuous finiteelement methods (classical or based on spectral interpolation), and still others such as physicscompatible, and multiscale methods. We focus on their formulations in time domain along with the main temporal discretization schemes. We present the theory and implementation for some of these methods. Moreover, their computational characteristics are evaluated in order to aid the choice of the method for each practical situation.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
Each field of applied sciences has particular requirements for computational modeling and often develops its own suite of numerical techniques. The numerical modeling of mechanical waves in some applications involve two somewhat conflicting requirements:

Complex, heterogeneous structures must be correctly modeled. In particular, interfaces and shapes of geological structures must be taken into account during space discretization. Moreover, high accuracy is needed for avoiding numerical anisotropy, attenuation, or dispersion that mislead interpretation. As a result, the numerical solution requires a huge computational effort, both in memory storage (from Giga to Tera nodes) and CPU time (from hours to weeks);

The medium where waves propagate is iteratively updated to fit recorded data. Wave simulation is one step of an imaging/inversion algorithm that may be repeated several times, thus it must be fast enough for not compromising the entire process.
These requirements are typical in the analysis of material response and imaging, for instance in

Exploration geophysics, reservoir scale seismics;

Geotechnical and engineering seismology;

Local, regional, and global seismology;

Planetary seismology;

Earth’s interior imaging;

Groundshaking risk analysis  strong ground motion;

Monitoring of volcanic processes;

Earthquake and Tsunami early warning systems;

Global monitoring of nuclear tests.
Traditionally, these demands have been met with highorder schemes [1, 2]. They are highly accurate methods that require a low number of grid points per wavelength, thus reducing storage and CPU time requirements. Regardless of the chosen method, an efficient implementation is needed for reducing the total cost of the simulations. Some alternatives are resorting to vector/parallel platforms (massively parallel, clusters, GRID [2]), efficient subroutines and libraries (FFT, Lapack, MPI [3]), and seeking a low count of operations and of primary storage.
The numerical methods that have been developed for the abovementioned purposes constitute a multidisciplinary field named computational seismology, the numerical simulation of seismic wave propagation in arbitrary 3D models [2]. Its scope is naturally beyond globalscale seismology, reaching other topics of geosciences (such as rock physics, exploration geophysics, volcanology, and geotechnical engineering) and beyond (computational mechanics, materials science, underwater acoustics, and medicine).
The recent literature provides detailed reviews oriented towards specific methods [4,5,6,7] or communities [8,9,10]. The purpose of this paper is to share an overview of computational seismology methods with a broader audience, starting from the mathematical models, visiting general aspects of spatial and temporal discretization and then arriving at the theoretical and computational aspects of the main numerical methods currently in use.
2 Governing equations
2.1 Scalar wave equation
The most elementary mathematical model of wave propagation is the scalar wave equation
where the unknown function u(x, t) may denote, for instance, the acoustic pressure, c is the wave velocity in a homogeneous medium, and f(x, t) is the divergence of an external body force. The dots denote time differentiation. A related model is the onedimensional shearwave propagation equation
where \(\rho \) is the density and \(\mu \) is the shear modulus. When the latter is constant, Eq. (2) can be written similarly to (1) by defining \(c = (\mu /\rho )^{1/2}\).
In the absence of source functions, Eq. (1) has the general solution
where the functions \(F(\cdot )\) and \(G(\cdot )\) are arbitrary. Some important particular solutions are the d’Alembert solution
which satisfies the initial conditions \(u(x,0)=u_0(x)\) and \(\dot{u}(x,0)= u_{00}(x)\), and the planewave solution
where the angular frequency \(\omega \) and the wave number \(\kappa \) satisfy the dispersion relation \(\omega =\pm c\kappa \). Equation (1) can be generalized to 2D or 3D media as follows:
which admit planewave solutions of the form , with \(\omega = \pm c{{\varvec{\kappa }}}\), when \(f=0\). Both Eqs. (1) and (6) may be considered in the more general case of a homogeneous velocity field \(c({{\varvec{x}}})\). Moreover, the more general acoustic wave equation
accounts for variable density. We recall that Eq. (7) arises from the linearized mass and conservation equations
for the pressure u and velocity \({{\varvec{v}}}\) of a fluid with density \(\rho ({{\varvec{x}}})\) and bulk modulus \(K({{\varvec{x}}})\) (see, e.g., [11]), for which the velocity is \(c({{\varvec{x}}}) = \left( K({{\varvec{x}}})/\rho ({{\varvec{x}}})\right) ^{1/2}\).
2.2 Elastic wave equation
The standard model for wave propagation in solids is given by the conservation of linear momentum (Newton’s law)
where \({{\varvec{u}}}\) is the displacement and \(\sigma \) is the stress tensor. In particular, elastic media are described by the linear constitutive relation (Hooke’s law)
between the stress \({{\varvec{\sigma }}}\) and the linearized strain \({{\varvec{\epsilon }}}({{\varvec{u}}})\), where is the elasticity tensor. Due to the symmetry provided by the conservation of angular momentum, it is convenient to use Voigt notation
or \({{\varvec{\sigma }}} = \{\sigma _{xx},\sigma _{yy},\sigma _{xy}\}^{\top }\) in 2D, for which the governing equations may be written as
where the differential operator \({\mathcal {D}}\) is
The elasticity tensor has up to 21 free parameters, but there can be significantly fewer ones depending on the symmetry assumptions [12]. When the medium is isotropic, we have , where is the identity operator and \(\lambda ,\mu >0\) are the Lamé coefficients. In experimental studies, other elastic parameters are more typical, such as the elastic modulus and the Poisson’s ratio, which respectively are \(E {:=} \lambda + 2\mu \) and \(\nu {:=} \lambda /2(\lambda +\mu )\) for isotropic media. Under Voigt notation, tensor has the following matrix representation:
In vector notation, Eq. (9) assumes the following standard form:
When \({{\varvec{f}}}= {{\varvec{0}}}\) and the elastic parameters are constant, the plane wave \({{\varvec{u}}}({{\varvec{x}}},t) {:=} {{\varvec{R}}}\exp [i(\omega t  {{\varvec{\kappa }}}\cdot {{\varvec{x}}})]\) is a solution to (15) if
where
are the compressional and shearwave velocities. The vector Eq. (16) admits the solutions \((\omega _P,{{\varvec{R}}}_P)\) and \((\omega _S,{{\varvec{R}}}_S)\), where the angular frequencies are \(\omega _P = \pm c_P{{\varvec{\kappa }}}\) and \(\omega _S = \pm c_S{{\varvec{\kappa }}}\), while the propagation directions \({{\varvec{R}}}_P\) and \({{\varvec{R}}}_S\) (\({{\varvec{R}}}_{SV}\) and \({{\varvec{R}}}_{SH}\) in 3D) are parallel and perpendicular to \({{\varvec{\kappa }}}\), respectively [13].
A relevant class of anisotropic elastic stressstrain relations in computational seismology is that of transversely isotropic media with vertical symmetry axis (VTI):
where \(C_{66} = (C_{11}C_{12})/2\). Following [14], a planewave solution \({{\varvec{u}}}({{\varvec{x}}},t) {:=} {{\varvec{R}}}\exp [i(\omega t  {{\varvec{\kappa }}}\cdot {{\varvec{x}}})]\) in the threedimensional case with \({{\varvec{\kappa }}} = \kappa \{\sin \theta ,0,\cos \theta \}^{\top }\) (without loss of generality, given the cylindrical symmetry [15]) yields the following dispersion relations:
where \(c_P=(C_{33}/\rho )^{1/2}\), \(c_S=(C_{44}/\rho )^{1/2}\), \(\varepsilon =(C_{11}C_{33})/(2C_{33})\), \(\gamma = (C_{66}C_{44})/(2C_{44})\), \(\delta = [(C_{13}+C_{44})^2(C_{33}C_{44})^2]/[2C_{33}(C_{33}C_{44})]\), and
with \(r_{CP} = 1 c_S^2/c_P^2\). The fact that \(\omega _{SV}\) and \(\omega _{SH}\) may not coincide leads to the phenomenon of shearwave splitting. The dimensionless numbers \(\varepsilon \), \(\delta \), and \(\gamma \) are known as Thomsen parameters and serve as measures of anisotropy. Under additional assumptions, the elasticity tensor can be entirely written in terms of \(c_P,c_S\), and Thomsen parameters [16, 17].
2.2.1 Viscoelasticity
The model of viscoelastic media is based on stressstrain relations that account for not only the instantaneous strain, but all its history. This is accomplished by a convolution in time between the strain rate of change and a timedependent tensor known as the relaxation tensor [18]:
This equation may be recast in differential form through fractional derivatives [12, Sec. 2.5.2] and can be numerically handled with the aid of auxiliary memory variables [19]. If , where H is the Heaviside function, then we recover the elastic model (10) with . Another extreme case is when , where \(\delta \) is the Dirac distribution, which leads to \({{\varvec{\sigma }}}({{\varvec{u}}},t) = {{\varvec{\eta }}}_0\dot{{{\varvec{\epsilon }}}}({{\varvec{u}}},\tau )\).
Important aspects of wave propagation in viscoelastic media are present in the Kelvin–Voigt model, which combines both cases above, in the onedimensional case:
This constitutive relation yields the following wave equation:
which serves as a preliminary siteresponse model for small strains [20]. The dispersion relation for this equation is \(\omega ^2=\kappa ^2(G_0i\omega \eta _0)\), hence phase (\(\omega /\kappa \)) and group (\(d\omega /d\kappa \)) are complex and frequencydependent, highlighting two relevant aspects of viscoelastic wave propagation: attenuation and physical dispersion, respectively.
2.2.2 Poroelasticity
Wave propagation in fluidsaturated porous media had been studied by M. A. Biot for a variety of cases [21,22,23]. For simplicity, we consider an isotropic solid matrix with constant porosity \(\phi \).
Let us denote the densities and bulk moduli of the constituent solid and the saturating fluid as \(\rho _s,\rho _f\) and \(K_s,K_f\), respectively. Moreover, the bulk and shear modulus of the dry matrix will be denoted as \(K_d\) and \(\mu _d\). For convenience, let us also introduce the Lamé parameter \(\lambda _d = K_d  (2/3)\mu _d\).
Though the governing equations may be written in terms of the displacement vectors \({{\varvec{u}}}_s,\, {{\varvec{u}}}_f\) at the solid and fluid phases [21], it is convenient to substitute fluid displacement by \({{\varvec{w}}}=\phi ({{\varvec{u}}}_f{{\varvec{u}}}_s)\), which represents the flow of the fluid relative to the solid but measured in terms of volume per unit area of the bulk medium [23]. In this case, the equations of motion are
where \(\rho = (1\phi )\rho _s + \phi \rho _f\) is the density of the saturated matrix, T is the tortuosity, \(\eta \) is the fluid viscosity, and k is the permeability. The constitutive relations for the total stress and the fluid pressure p can be written as
where \(\alpha =1K_d/K_s\) and M is such that \(1/M = (\alpha \phi )/K_s+\phi /K_f\) [12].
A planewave analysis can be performed by decoupling the \(P\) and \(S\) modes of propagation [12]. Namely, we can apply the divergence operator to Eq. (24) to find a system of equations for \(\nabla \cdot {{\varvec{u}}}_s\) and \(\nabla \cdot {{\varvec{w}}}\), and apply the curl operator to the same equations and find another system for \(\hbox {curl }{{\varvec{u}}}_s\) and \(\hbox {curl }{{\varvec{w}}}\). Proceeding to the analysis of propagation in a single direction, we find two compressional velocities rather than a single one; the propagation mode associated with the velocity of lower magnitude is known as the Biot’s slow wave.
2.3 Velocitystress formulation
The mathematical models reviewed above involve partial differential equations of second order in time for the displacement field. If we seek instead the velocity field (and introduce the stress as an additional variable), we are led to a system of firstorder equations, for which a large variety of numerical methods is available.
Let us consider for instance the elastic Eq. (9). By taking time derivatives of both sides of (10), we find
where the unknowns are the stress \({{\varvec{\sigma }}}\) and the velocity \({{\varvec{v}}} = \dot{{{\varvec{u}}}}\). In matrix form, we have
A related firstorder system is given by the velocitydisplacement formulation
From the computational point of view, formulation (28) has the advantage of involving less unknowns than in (26). For instance, in the threedimensional case we have six unknowns rather than nine.
2.4 Boundary conditions
Modeling of wavepropagation problems may involve not only physical but also computational (or artificial) boundaries depending on the region of interest, denoted by \(\Omega \) (the problem domain). Physical boundaries are usually modeled by transmission conditions of the form
where \({{\varvec{n}}}\) is the unit vector normal to the boundary and pointing outwards. The case \(g=0\) is referred to as a freesurface boundary condition.
Ideally, a computational boundary should not interfere with the waves, which makes it very challenging to model. One of the classical approaches is to use absorbing (or nonreflecting) boundary conditions [7, 24, 25]. As pointed out in [26], absorbing boundary conditions are related to the Sommerfeld radiation condition
for Helmholtz equation \(\Delta u + k^2u=0\), in the sense that the analogue of (30) for the scalar wave equation (6) is
Engquist and coauthors [24, 27] obtained the following boundary condition at \(r=a\) in the twodimensional case:
as well as higherorder conditions, based on paraxial approximations of the wave equation (see also [28]). In Cartesian coordinates, the lowestorder boundary conditions at \(x=0\) (a typical lateral border in a twodimensional simulation) are
Conditions (33) were also derived by annihilating the reflection coefficient of planewave solutions [29,30,31]. A more general approach was later proposed by Higdon [25, 32], who considered boundary conditions of order p in the form
which reduce to Engquist–Majda conditions when \(\alpha _j=0\), \(0\le j\le p\). These coefficients may be chosen to minimize the reflection coefficient
of plane waves traveling with angle of incidence \(\theta \). Bamberger et al. [33] proposed modified conditions that account for Rayleigh waves. Another relevant progress on absorbing boundary conditions is handling corner points [34,35,36,37].
As pointed out in [7], the error of a highorder absorbing boundary condition does not necessarily converge to zero as the order tends to infinity. When the error due to the boundary condition does converge to zero, it is referred to as an exact nonreflecting boundary condition [38,39,40,41].
Moreover, higherorder approximations involve highorder spatial and temporal derivatives, which must be appropriately represented in the numerical discretization and usually incur a higher computational cost. Such a constraint has motivated the study of highorder local nonreflecting boundary conditions (highorder local NRBCs, [7, 36]), which introduce auxiliary variables that avoid the need of highorder derivatives. As outlined in [7], one of the first approaches of this class, due to Collino [34], can be written as
where \(\theta _j = j\pi /(2p+1)\). Thanks to the auxiliary variables \(\phi _1,\ldots ,\phi _p\), the derivatives in (36) have order no greater than two.
2.5 Variational formulation
The variational, or weak formulation is a convenient representation of the mathematical model that allows to seek the approximate solution in a functional space with lower regularity requirements, for instance when the material properties are discontinuous.
For conciseness, let us focus on system (9)–(10). Its weak form is obtained by taking the scalar product of both sides of (9) by a test function \({{\varvec{w}}}\) and integrating over the domain \(\Omega \). In the case of a homogeneous Dirichlet condition,
where \(d=2\) or 3 and \(H^1_0(\Omega ) = \{u\in L^2(\Omega ) \;  \; \nabla u\in L^2(\Omega ) \text{ and } u\!\mid _{\partial \Omega }=0\}\), where \(L^2(\Omega )\) is the space of functions that are squareintegrable with respect to the Lebesgue measure in \(\Omega \) and \(u\!\mid _{\partial \Omega }\) denotes the trace of u over the boundary of \(\Omega \) [42]. Analogously, the variational formulation of system (26) is
where \(X = \{{{\varvec{\tau }}}\in L^2(\Omega )^{d\times d} \; ; \; {{\varvec{\tau }}}^{\top }= {{\varvec{\tau }}}\}\). A similar variational formulation can be obtained for the velocitydisplacement formulation (28). One may also consider a formulation of system (26) with lower regularity on velocities and higher regularity on stresses, which can be discretized with mixed finite elements (see, e.g., [43]), and has been adapted to include perfectly matched layers [44].
3 Model discretization
The differential or variational formulations presented in the previous section, when complemented with proper initial and/or boundary conditions, provide a unique wave field that is complete in the sense that it can be determined for any point \({{\varvec{x}}}\) of the domain \(\Omega \) and any time \(t\ge t_0\), where \(t_0\) is the initial time of observation (for convenience, we consider \(t_0=0\) from here on). Since those initialboundary value problems rarely have an analytical solution, we must resort to approximate solutions.
For some methods such as finitedifference and mimetic methods, the approximate solution corresponds to an array of coefficients \({{\varvec{U}}}_j^n\) such that \({{\varvec{U}}}_j^n \approx {{\varvec{u}}}({{\varvec{x}}},t_n)\) for any point \({{\varvec{x}}}\) in a subset \(X_j\) that usually consists of a single point \({{\varvec{x}}}_j\), but could also be an edge, face, or a threedimensional shape. The differential/integral operators are approximated or replaced with discrete operators defined at the sets \(X_j\) for any j and at \(t=t_n,\) \(n=0,1,\ldots \).
For another group of methods that is considered in this survey, we have a finite expansion of functions in the form
where \(\phi _0({{\varvec{x}}}),\ldots ,\phi _{N}({{\varvec{x}}})\) are previously chosen functions, while \({\hat{{{{\varvec{u}}}}}}_0(t),\ldots ,{\hat{{{{\varvec{u}}}}}}_{N}(t)\) are timedependent coefficients to be determined. Pseudospectral and finiteelement methods fall into this category. Through expansion (39), time and space are separately handled, in analogy with the method of separation of variables for partial differential equations. The spatial operators are applied to functions \(\phi _j({{\varvec{x}}})\) in original form, i.e., they are not discretized, though the operator evaluation may depend on interpolation or numerical integration.
To determine the arrays \({{\varvec{U}}}_j^n\) or the coefficients \({\hat{{{{\varvec{u}}}}}}_j(t)\), each method relies on a particular approximation principle, but most methods need to discretize the independent variables, space and time. Time and space sampling could be required in the approximation principle, in auxiliary calculations, or in the output generation.
3.1 Spatial discretization
The main requirements for the discretization in space are that the waves and the medium heterogeneities must be sufficiently sampled. While the former is strongly dependent on the chosen numerical method, the latter is similar for most methods.
The geological model is usually discretized in a finite number of cells (also referred to as elements or blocks) where, ideally,

there are no restrictions on the material variability;

interfaces and structures can be honored;

different rheologies can be easily handled.
Following [2], we classify the ensemble of all cells of a domain, called the mesh or grid, as structured or nonstructured. A structured mesh is obtained by the mapping from the integer set \(\{0,1,\ldots ,N_1\}\times \cdots \times \{0,1,\ldots ,N_d\}\) to an ddimensional domain \(\Omega \). For example, a cubic mesh with uniform spacing h can defined by the mapping of each \(\{i,j,k\}\in \{0,\ldots ,N\}^3\) to the vertex \((x_0+ih,y_0+jh,z_0+kh)\). As data structures, these meshes are uniquely defined by arrays with the coordinates of the vertices. The cells are understood to be formed by points whose coordinates have adjacent indices in a Cartesian fashion.
On the other hand, nonstructured meshes do not have a Cartesian structure, hence the coordinates are not sufficient to identify the mesh. Usually there is one mapping from \(\{0,1\}^d\), or another reference cell, for each cell in the mesh. Despite their complexity, nonstructured meshes conform more easily to interfaces and structures, while structured meshes usually need a large amount of grid nodes to avoid the staircase effect [45].
3.2 Temporal discretization
The discretization of the time variable can be done in a straightforward manner: a uniform partition of the interval [0, T] into \({N}\) intervals with time step \(\Delta t=T/{N}\):
where T is the final time of the simulation. The time step will depend on the smallest grid length in space and the chosen approximation method for the time derivatives, and in general it can be dynamically selected by means of error estimators [46,47,48].
One of the greatest difficulties with temporal discretization is the situation where some elements in the spatial grid are extremely small (such as slivers generated from 3D unstructured meshgeneration codes [49]), forcing an equally small time step and undermining the efficiency of the wavepropagation simulation. This has motivated the development of local timestepping schemes [50,51,52,53,54], where the time step is smaller where the grid is refined and larger where the grid is coarse.
4 Temporal discretization methods
In the following we review the methods for approximation of time derivatives that are most frequently used in seismic wave propagation. These methods are typically applied to the following secondorder linear system of ordinary differential equations (ODEs):
where the matrices , , and are known as the mass, stiffness, and damping matrices, respectively. The latter arises from the discretization of viscous terms such as in Eqs. (22) and (24b), but also absorbing boundary conditions, such as (33). One can also seek the block vector \({{\varvec{v}}} = \{{{\varvec{u}}},\dot{{{\varvec{u}}}}\}^{\top }\) by solving a firstorder system of the form
which is also the kind of system of ODEs that arises from velocitystress and velocitydisplacement formulations (27)–(28). The convenience of system (42) resides on the fact that it is a particular case of the classical equations
for which a vast literature is available (see, e.g., [55]). On the other hand, system (41) as well as and its generalization to timedependent coefficient matrices [56] and nonlinear internal forces [57], among others, has been thoroughly studied by the community of structural dynamics.
For simplicity, temporal discretization methods will be described for the case of a uniform partition (40). Perhaps the most popular method is the leapfrog scheme, where the approximation \({{\varvec{u}}}_n\approx {{\varvec{u}}}(t_n)\) over the time partition is determined from the centered finitedifference approximation
which is present in some of the pioneering works on computational seismology [58, 59] and has been employed in several different approaches (e.g., [60,61,62]).
Some schemes such as leapfrog can be written as multistep methods of the form
If in (45), the scheme is called explicit, otherwise, it is implicit. In the literature of finiteelement methods, the concept of explicit is extended to the cases where is diagonal [63, 64]. In general, we may refer as explicit a method that does not require solving a linear system in any step of the computation of \({{\varvec{u}}}_{n+1}\). For instance, when and , then leapfrog method (44) becomes explicit:
4.1 Newmark methods
The leapfrog method is one member of a family of timeintegration methods known as Newmark methods [65]. As described, e.g., in [64], the Newmark method for (41) with parameters \(\beta \) and \(\gamma \) can be written as follows:
where \({{\varvec{a}}}_{n}\approx \ddot{{{\varvec{u}}}}(t_n)\) and \({{\varvec{v}}}_{n} \approx \dot{{{\varvec{u}}}}(t_n)\). The Newmark scheme naturally provides approximations for not only displacement, but also velocity and acceleration, which are useful to the inversion of threecomponent data [66]. The leapfrog method corresponds to \(\beta =0\) and \(\gamma =1/2\). Another wellknown method from the Newmark family is the averageacceleration method [67], which corresponds to \(\beta =1/4\) and \(\gamma =1/2\). This method has been applied to acoustic and elastic wave propagation [68, 69]. The Newmark scheme has also been interpreted as a timestaggered velocitystress algorithm with the purpose of implementing absorbing boundary conditions [70].
Newmark methods are at most secondorder accurate [67], i.e., \({{\varvec{u}}}_n  {{\varvec{u}}}(t_n) = {\mathcal {O}}(\Delta t^2)\), and the use of higherorder methods may increase the computational efficiency despite their higher cost [71]. In the following we review several highorder temporal discretization methods.
4.2 Lax–Wendroff methods
One of the most traditional highorder approaches are the LaxWendroff methods [72], which use spatial derivatives to replace highorder time derivatives. This principle is also present in the arbitrary highorder derivatives (ADER) method [73, 74] and nearly analytical discrete methods [75, 76].
This scheme has been widely employed to secondorder equations in the form
which can be derived from (41) in the absence of damping () as, e.g., in [54]. If the spatial discretization is performed with finite differences [71, 77], then and there is no need of transformations from (41) to (48). Most authors have considered the acoustic wave equation [54, 71, 77, 78], but the LaxWendroff approximation has also been applied to the elastic wave equation [79, 80].
Following [77], let us derive the fourthorder Lax–Wendroff method for (48). We refer to [78] for higherorder approximations. A standard Taylor expansion of the secondderivative term in (48) yields
On the other hand, and, by taking a secondorder derivative of this expression, we find
By combining (49) and (50), we arrive at the following explicit scheme:
The vector \(\ddot{{{\varvec{f}}}_n}\) can be approximated by a secondorder scheme [81]. The use of the Lax–Wendroff scheme has also been investigated in the firstorder scheme (42), not only for acoustic waves [82], but also for structural dynamics [83] and viscoacoustic waves [84].
4.3 Runge–Kutta and symplectic methods
The Runge–Kutta (RK) methods [55] can be readily applied to system (42). For instance, the classical fourthorder RK method is given as follows:
The RK discretization for firstorder systems in the form (42) has been used in conjunction with pseudospectral [85], finiteelement [86], and discontinuous Galerkin [87, 88] methods. The extension of RK methods to the secondorder system (41) can be done by 2step schemes known as Runge–Kutta–Nyström methods [89, 90], which have been thoroughly developed in the context of Hamiltonian systems [91],
Let be the flow map defined by the solution \(({{\varvec{p}}}(t),{{\varvec{q}}}(t))\) to (53) with initial conditions \({{\varvec{p}}}(t)={{\varvec{p}}}_0\) and \({{\varvec{q}}}(t)={{\varvec{q}}}_0\). Its Jacobian satisfies , and if the same property holds for the flow map produced by a numerical method for (53), then this method is called symplectic [92, 93]. Symplectic schemes have slower error growth and preserve conservative quantities, which makes them an attractive choice for longtime simulations [94, 95]. These schemes have also been proposed for the more general Birkhoffian systems [96], with application to poroelastic wave propagation [97].
The implicit, fourthorder Störmer–Numerov method, which has been applied to acoustic and elastic waves [98,99,100], is an example of a symplectic method [101]. The Störmer–Numerov approximation for system (48) is the following:
Makridakis [98] has extended this method to solve system (41), where the damping term accounts for absorbing boundary conditions.
4.4 Approximation of evolution operators
Another family of highorder methods is based on approximations of matrix power series that are present in the analytical solutions of systems of ODEs. As shown for instance in [102], the analytical solution of system (48) with initial conditions \({{\varvec{v}}}(0) = {{\varvec{v}}}_0\) and \(\dot{{{\varvec{v}}}}(0) = {{\varvec{v}}}_{00}\) can be written as
If a is a scalar, then \(C(a,t)=\cos (a^{1/2}t)\) and \(S(a,t)=\sin (a^{1/2}t)/a^{1/2}\). Taking into account the temporal discretization (40), the solution (55) may be represented as follows:
In order to derive numerical schemes from the recursive form (56), we may determine approximations to and , and select quadrature schemes to deal with the source term [102]. For instance, when \({{\varvec{f}}}={{\varvec{0}}}\) and the rational approximation
then (56) leads to the following implicit scheme:
which corresponds to the Störmer–Numerov method (54) when \(\beta =1/12\) and has been revisited in [81, 103]. Baker et al. [104] studied sufficient conditions for the convergence of rationalapproximation methods in the homogeneous case. One of the highorder schemes that satisfies these conditions is defined by the following approximation:
which leads to 6thorder accuracy. Some classical methods are related with Taylor approximation of evolution operators [8, 105]. Indeed, a Taylor approximation of degree \(m\ge 1\) for (56) in the case \({{\varvec{f}}}={{\varvec{0}}}\) yields
which are the leapfrog and Lax–Wendroff scheme when \(m=1\) and \(m=2\), respectively. Besides rational (Padé) and Taylor expansions, Chebyshev expansions can also be employed [106]. Such an approach is known in the seismic exploration literature as the rapid expansion method [107].
One can also consider the approximation of exponential operators associated with the analytical solution of the firstorder system (42):
Similarly as in (55), several approximations for may be employed, such as Taylor, Fourier [105], Chebyshev [105, 107, 108], and rational [109, 110] expansions. Besides using a truncated expansion of the matrix operator, one may also split the matrices in diagonal and nondiagonal parts, leading to a fixedpoint iteration method [111].
5 Spatial discretization methods
The numerical methods described next provide approximations of the mathematical models described in Sect. 2 as the systems of ODEs (41) or (42).
5.1 Finitedifference methods
Most timediscretization schemes described in Sect. 4 are based on finitedifference approximations of time derivatives. These formulas are based on Taylorseries expansions that are combined to reach the desirable accuracy. For instance, the expansion
where \(t_{n1}\le \bar{t}_1\le t_n\) and \(t_{n}\le \bar{t}_2\le t_{n+1}\), leads to the finitedifference formula
over a spacetime grid defined by the points \((x_j,t_n) = (x_0 + j\Delta x,n\Delta t)\). This scheme is secondorder accurate if f has continuous fourthorder derivatives. By applying the same approximation to the second partial derivative in space, we arrive at the following finitedifference approximation of the scalar wave equation (1):
At the time step \(n\ge 1\), Eq. (64) for \(0< i < N\) complemented with boundary conditions lead to the fully discrete system (44). For instance, under boundary conditions \(u(x_0,t)=u(x_{N},t)=0\), we have , , ,
In the simpler situation where \(c=1\), \(f=0\), and \(\Delta x=\Delta t\), Eq. (64) reduces to
which is considered in the seminal paper by Courant et al. [112]. The same formula along with the centered finitedifference approximation of firstorder derivatives was used in the approximation of the elastic wave equation in cylindrical coordinates [58] and in 2D Cartesian coordinates [113]. Alford and coauthors proposed schemes with fourthorder accuracy in space for both acoustic [59] and elastic [114] wave equations, with the purpose of improving accuracy (in particular, reducing numerical dispersion).
For the velocitystress formulation (27) of the elastic wave equation, the use of staggered grids [115] is a standard practice [116,117,118,119]. A related approach seeks secondorder accurate finitedifference formulas with a lower number of grid points, leading to simplicial grids [120]. Igel [2] illustrates staggered grids with the 1D elastic wave equation (2), whose velocitystress form is
The space and time derivatives may approximated by centered finite differences with spacing \(\Delta x/2\) and \(\Delta t/2\), respectively (Fig. 1):
In this manner, v and \(\sigma \) are computed on disjoint spatial grids with spacing \(\Delta x\) rather than \(\Delta x/2\), reducing computer memory requirements. For higher dimension, one may need to interpolate stress components from separate grids to evaluate stressstrain relations [8].
The staggered formulation has been applied to anisotropic [121,122,123], viscoelastic [124,125,126], and poroelastic [127,128,129] models in velocitystress form as in (67). Wave equations in secondorder form may also be considered through an equivalent staggeredgrid scheme [130]. Another extension is given by the rotated staggered grids [131], which have shown to be useful to anisotropic media, especially in the study of shearwave splitting [132]. Staggered grids handle more easily boundary conditions and interfaces [117, 119, 133,134,135], in addition that their numerical error is less sensitive to Poisson’s ratio [119]. They also provide a natural framework for implementing nonuniform or discontinuous grids [136,137,138,139].
As illustrated in scheme (64), the mass matrix is typically the identity matrix in finitedifference methods, thus it is natural to consider explicit temporal discretization schemes. On the other hand, implicit schemes require an efficient implementation to handle the additional cost of solving linear systems, and a common approach is to use sequential splitting techniques [140].
Splitting methods have their roots in the classical alternatingdirection [141, 142] and fractionalstep [143] methods, which have been gathered as locally onedimensional (LOD) methods [144]. LOD has been extended from parabolic to hyperbolic problems [145,146,147], including highorder time discretizations [148]. Perhaps the first highorder ADI method for the acoustic wave equation is due to Ciment and Leventhal [148], though other works have previously considered extending ADI methods from parabolic to hyperbolic problems [145,146,147]. More recently, these methods have employed to seismic wavepropagation problems [81, 103, 149]. Wave equations with viscous terms have been considered in [150].
Another splitting approach due to Strang [151] and Marchuk [152] has also been adopted in wavepropagation problems [153]. A related technique has been employed to separate the stiff from the nonstiff part of the velocitypressure poroacoustic wave equations, so that Biot’s slow wave can be numerically modeled [154]. A theoretical framework to analyze splitting methods for general secondorder systems of ODEs has been proposed in [155].
For instance, let us review the splitting of scheme (58) for system following [81], in the case where is the twodimensional, secondorder finitedifference operator
where and are given as follows:
Note that and involve approximations of the \(x\) and \(y\) directions, respectively. Scheme (58) is approximated as the following threestep formula:
Note that step (71a) is explicit whereas steps (71b)–(71c) involve tridiagonal linear systems. The error of (71) with respect to (58) is \({\mathcal {O}}(\Delta t^4)\) [81].
As pointed out by Emerman et al. [156], schemes such as (71) may allow larger time steps than explicit schemes but have very low accuracy. Thus implicit methods must employ highorder finitedifference approximations (see, e.g., [103]) in order to become competitive.
A wellknown limitation of traditional finitedifference methods is that they poorly handle irregular interfaces, topography, or boundary conditions, and several approaches have been proposed to circumvent these difficulties [157]. Alterman and Nathaniel have addressed the case of a constant slope by means of a change of coordinates [158]. Ilan has adapted the work in [158] to standard Cartesian coordinates, and by allowing a nonuniform grid, has extended it to polygonal topography. It is worth noting that several schemes have been proposed for nonuniform finitedifference grids [159,160,161]. Jih et al. [162] revisited the same issue and proposed local changes of coordinates, which allow the use of a uniform grid. This technique evolved to boundaryconforming grids defined by curvilinear coordinates [163,164,165,166,167], motivated by the work by Fornberg [168]. Additional approaches are hybrid finitedifference and finiteelement/discretewavenumber methods [169], the vacuum method [170], the interface method [171, 172], and the use of nonmatching grids [173].
5.2 Pseudospectral methods
As mentioned in Sect. 3, another approach to discretize the initialboundary value problems arising from wavepropagation models is to employ the finite expansion (39). The schemes that follow this approach are known as spectral methods [174,175,176], and are essentially characterized by the choice of the basis functions \(\phi _j({{\varvec{x}}})\) and the way to determine the expansion coefficients \({\hat{{{{\varvec{u}}}}}}_j(t)\) (\(1\le j\le M\)).
The classical choices for the approximation space are orthogonal trigonometric or polynomial functions, while the approaches to determine the expansion coefficients are classically divided into tau [177], Galerkin [178], and collocation [179] methods.
Both tau and Galerkin methods choose the coefficients such that the solution satisfies the variational formulation in the approximation space, and they differ on how boundary conditions are handled. Currently, the tau method is seldom used [180]. The Galerkin method is better known in the form of finite and spectralelement methods, which use piecewisepolynomial interpolation basis functions and are discussed later on. The Galerkin technique has also been proposed with wavelet basis functions [181,182,183,184,185]. Global orthogonal polynomials are rarer, and are mostly applied to waves in fluids [186]. On the other hand, spectral methods with the collocation technique, which became known as pseudospectral methods [187], have achieved great popularity thanks to the Fast Fourier Transform (FFT) algorithm [188].
In the onedimensional case, a pseudospectral method is essentially defined from a set of functions \(\phi _0,\ldots ,\phi _{N}\) that are orthogonal with respect to some inner product \(\left\langle \cdot ,\cdot \right\rangle \) and collocation points \(x_0,\ldots ,x_{N}\) that are chosen such that the orthogonal projection
which corresponds to the best approximation of a function u(x) in the vector space spanned by \(\{ \phi _0,\ldots ,\phi _{N}\}\) [1], satisfies \(u_{N}(x_i)=u(x_i)\) for \(0\le i\le N\).
In seismic wave propagation, the earlier works are due to Gazdag [45], Kosloff and Baysal [60], which was generalized to account for anisotropy [189] and viscosity [19, 190]. They considered Cartesian grids with uniformly spaced collocation points and complex Fourier basis functions, and the resulting method be interpreted as the limit of finite differences with infinite order of accuracy [191].
In the Fourier pseudospectral method, the basis functions are \(\phi _j(x)=\exp (i\kappa (j)x)\), with \(\kappa (j) = 2\pi j/(N\Delta x)\). The corresponding collocation points are \(x_j = a + j\Delta x\), which have uniform spacing \(\Delta x = (ba)/N\) over the interval [a, b]. For convenience, the indices run from 0 to \(N1\) so that \(N\) coincides with the number of subintervals. The relationship between \(u_{N}(x_j)\) and \({\hat{u}}_j\) can be written in terms of the discrete Fourier transform pair
The expansion coefficients are determined from a system of algebraic equations that is obtained by evaluating the differential equations at the collocation points, which requires evaluating derivatives of the expansion \(u_{N}\). The Fourier method is more naturally derived by approximating the computation of spatial derivatives in the frequency domain. For instance, the approximate solution to (6) with leapfrog time discretization in two dimensions [45] can be written as
where \((x_j,z_k) = (j\Delta x,k\Delta z)\) \((0\le j< N_x,\; 0\le k< N_z)\), \(t_n = n\Delta t\) \((0\le n< N)\), and
with \(\kappa _x({\hat{\jmath }}) = 2\pi {\hat{\jmath }}/(N_x\Delta x)\) and \(\kappa _z({\hat{k}}) = 2\pi {\hat{k}}/(N_z\Delta z)\), while \({\hat{u}}^n_{{\hat{\jmath }},{\hat{k}}}\) is defined by the 2D discrete Fourier transform
The calculations from (75) and (76) can be efficiently carried out with the FFT algorithm. This algorithm requires \({\mathcal {O}}(N\log N)\) operations, which is significantly lower than the \({\mathcal {O}}(N^2)\) operations of matrixvector multiplication for large \(N\). On the other hand, this method assumes periodic boundary conditions, demanding additional strategies to implement realistic ones (see, e.g. [192]).
To circumvent this problem, Raggio [193] proposed the Chebyshev pseudospectral method. Chebyshev basis functions have also been used in only one spatial direction, either on polar [85] or Cartesian [68] coordinates in order to better handle freesurface boundary conditions. Its extension to threedimensional problems can be found in [194].
The Chebyshev basis functions in the interval \([1,1]\) are \(T_j(x)=\cos (j\cos ^{1}(x))\), while the collocation points are \(x_j = \cos (j\pi /N)\), \(0\le j\le N\). Herein, \(N\) denotes the maximal polynomial degree. The coefficients \({\hat{u}}_j\) in (72) are
These coefficients can be written as
which is related to the real part of the discrete Fourier transform. The coefficients of the derivatives of \(u_{N}\) can be computed from \({\hat{u}}_j\) through recursive relations [195].
The fact that the collocation points \(x_j\) are clustered at the boundary implies that the distance between grid points can be very small, which in turn leads to a small time step as well. For this reason, a stretching transformation should be employed [196, 197]. An alternative approach uses the tau method with Legendre polynomials [198], but the Chebyshev pseudospectral method has become more popular as it can be implemented with the FFT algorithm.
As finitedifference methods, pseudospectral methods benefit from staggered grids [199,200,201]. Their classical implementations were also limited to regular grids, and one alternative to avoid such a restriction is to employ curvilinear coordinates [168, 202]. Another approach is to resort to domain decomposition, which was proposed for the elastic wave equation initially for isotropic media [203, 204] and later to viscoelastic [205, 206] and poroelastic [207] media. Another benefit of using domain decomposition in pseudospectral methods is that the resulting wave operator is not entirely global, avoiding noncausal interactions of the propagating wavefield with parameter discontinuities in the model [200].
The Fourier pseudospectral method has been recently generalized to handle fractional derivatives, which are useful to model attenuating media without the need of memory variables [208,209,210].
5.3 Finiteelement methods
As mentioned in the previous section, finiteelement methods [63, 64] belong to the family of Galerkin methods, and typically use continuous Lagrange interpolation basis functions, which are associated with the spatial grid. The earliest applications of finite elements to seismic wavepropagation problems are due to Lysmer and Drake [211] in the frequency domain, and to Smith [212] in the time domain. Later works addressed several relevant aspects of seismic modeling with finite elements [5, 213, 214].
In the following we describe a finiteelement approximation of the variational problem (37). The first step is to decompose the spatial domain \(\Omega \) into \(n_e\) nonoverlapping elements \(\Omega ^e\) such that \(\Omega =\cup \Omega ^e\). Physical elements \(\Omega ^e\) are mapped through a transformation onto a reference element \({\hat{\Omega }}\) where computations are actually performed. The approximate solution may be written as
where the union operator denotes that \({\tilde{{{{\varvec{u}}}}}}\) is defined in \(\Omega \) and \({\tilde{{{{\varvec{u}}}}}}({{\varvec{x}}},\cdot ) = {\tilde{{{{\varvec{u}}}}}}^e({{\varvec{x}}},\cdot )\) for any \({{\varvec{x}}}\in \Omega ^e\). Moreover, \(n_{dof}\) is the number of element degrees of freedom. The basis functions satisfy , where is the Lagrange interpolation vector function associated with the jth degree of freedom in a space of polynomial, vectorvalued functions in \({\hat{\Omega }}\). For instance, if the polynomial degree is one and the spatial dimension is two with \({\hat{\Omega }}=[1,1]\times [1,1]\), then are the bilinear interpolation functions
where \(\varphi _1(\zeta )=(1\zeta )/2\) and \(\varphi _2(\zeta )=(1+\zeta )/2\), for \(\zeta \in [1,1]\). The coefficients \({\tilde{u}}_{j}^e(t)\) are determined from the following Galerkin approximation of (37):
where \(\tilde{V}\) is the subspace of \(H^1_0(\Omega )^d\) of continuous piecewisepolynomial functions built from local functions . After algebraic manipulations, Galerkin equation (81) are written as the system of ordinary differential equations
where , and \({{\varvec{F}}}\) are the global mass matrix, stiffness matrix, and load vector, respectively. Initial conditions \({{\varvec{U}}}(0)={{\varvec{U}}}_0\) and \(\dot{{{\varvec{U}}}}(0)=\dot{{{\varvec{U}}}}_0\) must be provided. They are built through a summation process of elemental matrices and vectors,
where , , and \(\tilde{{{\varvec{F}}}}^e\) are the elemental mass matrix, stiffness matrix, and load vector in sparse global form, that is, only nonzero entries are used and they are mapped into appropriate global locations by a connectivity map from local to global nodes [215]. The dense elemental arrays , and \({{\varvec{F}}}^e\) are defined by the contributions from element \(\Omega _e\) to the integrals in (81),
for \(1\le i,j\le n_{dof}\). These integrals are computed in the reference element \({\hat{\Omega }}\) through standard changes of variables [64].
In general, finiteelement basis functions are defined from linear, quadratic and cubic polynomials over triangular or quadrilateral elements (tetrahedral or hexahedral in 3D, though other elements such as pyramids and wedges can be used [216]). Loworder finiteelement methods are comparable to centered finite differences [213] and thus have low accuracy, but can be useful when the problem geometry leads to highly refined and irregular meshes [217, 218]. One alternative to improve the performance of loworder finite elements is to enrich the approximation space [219,220,221,222]. It is worth noticing that isogeometric analysis, a finiteelement approach integrated with computeraided design [223], has been shown to provide a better geometric representation than traditional finite elements. Several authors have studied this technique in wavepropagation problems [224,225,226].
5.4 Spectralelement methods
Unlike pseudospectral methods, the use of highorder finite elements was not common in the literature of computational seismology at least until the 1990s, mostly because there were concerns about their accuracy [227].
Standard highorder finiteelement bases are based on equally spaced polynomial interpolation, which is an illconditioned problem [228, 229]. This can be noticed from the behavior of Lagrange basis functions of degree N at the reference element \([1,1]\) with equally spaced points j/N, \(0\le j\le N\). As shown in Fig. 2, the Lagrange functions associated with the element midpoint begin to oscillate as N increases, similarly to the Runge phenomenon.
A classical approach to circumvent this problem is to use the Chebyshev collocation points
rather than equally spaced points, as shown in Fig. 3.
The use of Chebyshev points as well as other orthogonal polynomial roots was initially regarded as unnecessary [230], but in the work of Patera and coworkers [231,232,233], these points provided the link between finiteelement and pseudospectral methods, with the appeal of having the geometric flexibility of the former and the rapid convergence properties of the latter.
Later on, the spectralelement method with Chebyshev collocation points was adapted to wavepropagation problems [69, 234,235,236,237], where their low numerical dispersion was pointed out. Another strand, which evolved from multidomain pseudospectral methods [238] and highorder, masslumped finiteelement methods [239], led to the spectralelement methods with Legendre collocation points [240,241,242]. Moreover, Laguerre spectral elements have been proposed to handle infinite domains [243]. Jabobi polynomials have also been employed but are less common [244].
Spectral elements are usually quadrangular or hexahedral, so that the Lagrange shape functions , defined in the reference element \({\hat{\Omega }}=[1,1]^2\) or \([1,1]^3\), are built from tensor products of onedimensional Lagrange shape functions \(\varphi _i(\zeta )\) of degree N such that \(\varphi _i(\zeta _j)=\delta _{i,j}\), as in as in (80). The collocation points \(\zeta _i\) \((0\le i\le N)\) are given by (85) for Chebyshev elements, while for Legendre elements these points are the solutions to
where \(L_N(\zeta )\) is the Nth degree Legendre polynomial [1].
The standard implementations of spectralelement methods with Chebyshev (SEMGLC) and Legendre (SEMGLL) collocation points may be classified as consistent and lumped finite elements, respectively. In other words, the mass matrix in (83) for Chebyshev elements is calculated without approximations (assuming piecewise constant density) and is nondiagonal, while for Legendre elements this matrix is approximated through reduced integration by a diagonal matrix. SEMGLL has been adapted to triangular meshes [245,246,247,248], but the selection of collocation points is more complex and may lead to nondiagonal mass matrices.
The computation of elemental matrices in SEMGLC is based on the properties of Chebyshev polynomials \(T_j(\cos \theta )=\cos (j\theta )\). In particular, the Lagrange shape functions \(\varphi _i\) \((0\le i\le N)\) are obtained by choosing u in (72) such that \(u(x_j)=\delta _{i,j}\). It follows from (72) and (77) that
so that the entries of the elemental mass matrix in \([1,1]\) are
The integral in (88) equals 0 if \(i+j\) is odd, and \((1(i+j)^2)^{1}+(1(ij)^2)^{1}\) otherwise [215, 231]. These formulas have been generalized to take into account variable material properties, which are represented by expansions in basis functions that do not necessarily coincide with those from the wave field [215, 249].
Because fully discrete SEMGLC schemes are implicit in time, they need efficient linearsystem solvers. Some useful strategies are the elementbyelement formulation and suitable factorizations of matrixvector products [250, 251]. Moreover, unconditionally stable timeintegration schemes should be chosen to allow the use of large time steps.
For SEMGLL, the standard practice is to employ the GLL quadrature
with \(\zeta _j\) satisfying (86). This formula is exact if f is a polynomial of degree \(\le 2N1\). In particular, the calculation
is not exact, since \(\varphi _i\varphi _j\) has degree 2N. On the other hand, since \(\varphi _i(\zeta _j) = \delta _{i,j}\), we have \(\hat{M}^{GLL}_{i,j} = w_j\delta _{i,j}\), i.e., is diagonal. The diagonality of the mass matrix was crucial in the success of spectral elements in computational seismology.
The spectralelement method has been implemented for anisotropic, visco and poroelastic wave propagation [61, 252, 253] and the advent of collaborative codes and platforms [254, Appendix A] has encouraged its application in several studies of regional and global seismology [6, 255,256,257]. This method has also been widely used in conjunction with adjoint methods [258, 259].
5.5 Finitevolume methods
The finitevolume method for elastic wave propagation was initially proposed by Dormy and Tarantola [260] for the velocitydisplacement formulation (28) and later by Tadi [261] for the secondorder formulation (15).
In [260], the main motivation to introduce the finitevolume method was to generalize minimum grid, secondorder finite differences [120] to unstructured grids and irregular boundaries. The key idea was to use the divergence theorem to obtain derivative estimates of a field from its values at surrounding grid points, rather than Taylor series expansions. On the other hand, the main concern in [261] was the enforcement of traction boundary conditions.
By using the ADER method [73, 74] and a reconstruction algorithm to introduce highorder numerical fluxes, Dumbser et al. [262] have obtained higher accuracy both in space and time. Later on, Zhang and coauthors [263, 264] proposed a highorder finitevolume method that combines the reconstruction algorithm from [262] and the element subdivision algorithm from the spectral volume method [265]. The finitevolume method has been used in studies of dynamic rupture [266], hypoelastic [267], and poroelastic media [268].
As in [269], let us introduce the finitevolume methods through the onedimensional conservation law
Given a uniform spatial grid with spacing \(\Delta x\), let \(\mathcal {C}_j = [x_{j1/2},x_{j+1/2}]\) be a grid cell (or finite volume) centered at node \(x_j\). By integrating both sides of (91) over \(\mathcal {C}_j\), we find
A subsequent integration from \(t_n\) to \(t_{n+1}\) yields
which can be written as
where
is the average approximation of the unknown field \(u(x,t_n)\) at \(\mathcal {C}_j\), while
are the average fluxes at \(x_{j\pm 1/2}\). Assuming that \(F_{j\pm 1/2}^n\) approximately depends only on the adjacent average values \(U_j^n\) and \(U_{j\pm 1}^n\), we arrive at the finitevolume approximation of (94):
where the numericalflux function \(\mathcal {F}(U_,U_+)\) approximates the average fluxes (96). For instance, let us consider the linear case \(f(u)=au\) with \(a>0\), which is a oneway wave equation. Taking into account that the information propagates from the left to the right for \(a>0\), an effective choice is the upwind flux \(\mathcal {F}(U_,U_+) = f(U_)=aU_\), leading to the scheme
which coincides with the classical upwind finitedifference method. In the case where a may change sign, we choose \(\mathcal {F}(U_,U_+) = \max \{a,0\}U_ + \min \{a,0\}U_+\), so that
The jumps \(\Delta U_{j1/2} = U_{j}^nU^n_{j1}\) and \(\Delta U_{j+1/2} = U_{j+1}^nU^n_{j}\) can be interpreted as waves moving across cells \(\mathcal {C}_j\) and \(\mathcal {C}_{j+1}\) with opposite senses; in general, the numerical flux is driven by the solution of a Riemann problem [269].
Let us now consider the 1D elastic wave equation (67) in the homogeneous case, which can be written in a matrix form similar to (91);
From the eigenvalue decomposition , the vector satisfies
We can apply the upwind scheme (99) to either \(w_+\) or \(w_\):
The matrix form of (102) yields an upwind scheme for \({{\varvec{w}}}\):
By multiplying both sides of (103) by on the left and replacing the jumps \(\Delta {{\varvec{W}}}_{j\pm 1/2}^n\) with the jumps in terms of the average approximations of \({{\varvec{u}}}(x,t_n)\), we arrive at the scheme
for the original field \({{\varvec{u}}}\), where
The extension of the finitevolume method to 2D and 3D can be obtained through the divergence theorem [2, 260].
5.6 Discontinuous Galerkin methods
The discontinuous Galerkin method (DG) incorporates the concept of numerical fluxes across element interfaces from the finitevolume method into the finiteelement framework. In particular, computations are done on reference element to increase computational efficiency. It is wellsuited for parallelization due to the local character of the scheme and low amount of communication. Because continuity between elements is not required, the choice of spatial meshes is more flexible. On the other hand, these methods require more degrees of freedom than continuous methods. In the acoustic case, for instance, each node from an internal edge is associated with two or more local degrees of freedom, rather than a single global degree of freedom.
As finitevolume methods, DG was initially designed for transport problems [270, 271]. Interior penalty methods, another class of discontinuous Galerkin approximations, were independently developed for elliptic and parabolic problems [272]. While the former is based on suitable approximation of fluxes across elements, the latter concerns weakly imposing continuity between them. We refer to Arnold et al. [273] for a unified framework for these approaches as well as other discontinuous Galerkin formulations.
The earliest DG methods for seismic wave propagation followed the interiorpenalty approach [274,275,276,277,278]. They have been developed for secondorder formulations. However, the most popular DG method in computational seismology is derived from firstorder, conservation law formulations [74, 279]. It employs piecewise highorder polynomial approximation, as spectralelement methods, together with the ADER timeintegration approach. The resulting method achieves arbitrary high approximation order in space and time. In contrast with spectral elements, which rely on Lagrange interpolation functions, ADERDG methods follow a modal rather than nodal approach [2], i.e., they rely on orthogonal polynomial basis functions, in particular for triangular and tetrahedral elements [280, 281]. Hence, these methods benefit from automatic mesh generators of unstructured triangular and tetrahedral meshes, which are usually higher developed than those for quadrilateral and hexahedral elements, for example with optimized mesh partitioning techniques based on graph theory [262]. This allows, for instance, precise digital elevation models for the topography of the free surface.
A more recent version of DG, termed hybridizable discontinuous Galerkin (HDG), employs Lagrange multipliers over element boundaries and can provide a higher convergence rate [88, 100, 282]. As shown in [283], HDG is related to the earlier staggered discontinuous Galerkin methods [284,285,286].
There have been several applications of DG beyond the isotropic wave equation, such as anisotropic [287], viscoelastic [288], and poroelastic [289, 290] waves. A unified Riemann solver has been recently proposed to couple these media [291]. Wilcox et al. [87] consider a velocitystrain (rather than velocitystress) formulation, which allows coupling elastic and acoustic media. As pointed out by [2], DG is very well suited to dynamicrupture problems [292,293,294,295] and has also benefited from the availability of opensource codes [126, 296, 297].
In order to compare spectralelement and discontinuous Galerkin methods [2], let us derive the elemental equations for a nodal upwind DG method for the 1D elastic wave system (100). Let \(\Omega ^e\) be an interior subinterval of the domain and as in (79). We perform the scalar product of both sides of (100) with a test function and integrate by parts in \(\Omega ^e\), so that
where \(x_L^e\) and \(x_R^e\) are the left and right endpoints of \(\Omega ^e\). The latter terms are not present on standard finite and spectralelement methods as they cancel out with contributions from adjacent intervals. In the discontinuous case, adjacent elements are no longer connected through continuity conditions, which are replaced with numerical fluxes. Similarly to (104), the undefined boundary terms of (106) can be approximated as follows (Fig. 4):
By introducing numerical fluxes (107) and the expansion (79) into (106) , we find
where the indices i(R) and i(L) satisfy and , respectively. Equation (108) is the same for the spectralelement method, except that the terms in the righthand side are not present.
5.7 Other methods
We close this section reviewing some families of numerical methods that are conceptually diverse from the ones presented above though their computational implementation may be developed from traditional spatial discretizations.
5.7.1 Physicscompatible numerical methods
Physicscompatible (also called mimetic or conservative) numerical methods are techniques that try to preserve (mimic) the fundamental physical and mathematical properties of continuous physics models in their finitedimensional algebraic representations.
The numerical methods presented above, such as finite differences (FD), finite volumes (FV) and finite elements (FE), evolved separately until recently, but in recent years the need to develop more complex algorithms for solving new challenging real problems prompted the search for better and more robust schemes. Investigations and experience on the computational behavior of standard methods (stability, convergence, numerical errors, and efficiency) demonstrated that solving a physical problem by discrete models reproducing fundamental properties of the original continuum model allows for the best results. Among the important properties to be preserved are topology, conservation of energy, monotonicity, stability, maximum principles, symmetries, and involutions of continuum models. For this purpose, differential geometry, external calculus, and algebraic topology are the main mathematical tools for developing compatible discretizations.
Examples are compatible methods for spatial discretizations, variational and geometric integrators, or conservative finitevolume, finiteelement and spectralelement methods, etc. The design principles for the development of mimetic discretization methods are described in books [298,299,300] and the references therein, while a general introduction and overview of spatial and temporal mimetic/geometric methods can be found in [301,302,303,304,305,306,307].
The general approach in developing compatible numerical schemes is to formulate the PDEs, which describe the continuum models, using invariant firstorder differential operators, such as the divergence of vectors and tensors, the gradient of scalars and vectors, and the curl of vectors. The next step is to work out the compatible discretizations by using equivalent discrete forms of these invariant operators. The divergence, gradient, and curl differential operators satisfy certain integral identities (such as Green’, Gauss’, and Stokes’ theorems) that are closely related to the conservation laws of the continuum models.
Therefore, the equivalent discrete forms of these integral identities are used in building the compatible discrete divergence, gradient, and curl operators since they must satisfy such discrete integral identities. Furthermore, other approaches have also been used, for example, based on algebraic topology, variational principles, or discrete vector calculus as well as for extending the mimetic approach to more general grids including polygonal, polyhedral, locally refined, and nonmatching meshes.
For the sake of clarity, we show below the application of the basic principles of mimetic discretizations using the scalar wave equation (6) as described by Solano–Feo et al. [308].
Let us initially consider a onedimensional grid with points \(x_0,\ldots ,x_N\) and uniform spacing h. We denote the mimetic approximations of a scalar function u at the grid points and their midpoints as and , respectively. We may define the discrete divergence and gradient operators through central finite differences as
which can be written in matrix form as and . The discrete divergence and operators yield grid functions defined at midpoints and node values, respectively (Fig. 5). Left and rightsided approximations should be employed to define the gradient operator at the grid endpoints, and two and threedimensional operators can be constructed with the aid of Kronecker products [299]. Solano–Feo et al. [308] pointed out that these operators satisfy the discrete integral identity
where is a boundary operator, denotes a discrete inner product with weighting matrix , \(d=1,2,\) or 3 is the spatial dimension, () is the diagonal matrix containing quadrature weights of the compound midpoint (3/8 Newton–Cotes) rule, and is the identity matrix.
Let us now proceed to the mimetic approximation to (6), considering the leapfrog scheme in time. By writing \(\Delta u = \text{ div }(\nabla u)\), the Laplacian operator can be approximated by the compound discrete operator , leading to the explicit scheme
where .
More details can be found in [299, 308] and references therein. Mimetic principles have been applied to modeling wavepropagation problems by many authors [309,310,311,312]. Mimetic finite differences are particularly effective to handle topography and boundary conditions [313,314,315].
5.7.2 Cell method
It has been observed that many physical theories have a very similar formal structure from a geometric, algebraic, and analytical point of view. This principle led to the Tonti diagrams [316], a classification scheme of the physical quantities and the physical theories in which they are involved, such as equations of equilibrium, continuity and motion. These equations can be reformulated in a finite grid using basic concepts of algebraic topology such as completely discrete functions defined on a combination of elements of the grid rather than functions in the continuum. It is therefore possible to directly establish a set of algebraic relations between physical variables associated with the geometric elements of the problem and which are suitable for numerical simulations.
The cell method (CM) [317,318,319,320,321] is a computational method based on such direct algebraic formulation developed by Enzo Tonti [317, 322,323,324,325]. Using directly the experimental laws, it avoids discretizing the differential equations used in a continuum formulation, and is physically compatible by construction. CM is therefore a mimetic method.
In practice, the CM at first accepts the idea of an approximate solution and focuses on single limited parts of the analyzed domain: the cells. After dividing the domain into cells (named as primal cell complex) a second subdivision is made, coupling a piece of each cell to each of its nodes. With this last subdivision, a domain area is attributed to each node of the primal cell complex, thus creating a second cell system, called the dual system (Fig. 6). In fact, there is full reciprocity (duality) between the geometric elements of the two systems of cells: a cell of the dual system (considered as “tributary region”) remains connected to each node of the primal system; vice versa: to each node of the dual system correspond cells of the primal system. Therefore the geometric elements of the primal system (points P, lines L, surfaces S, and volumes V) correspond to the geometric elements of the dual system (respectively volumes \({\tilde{V}}\), surfaces \({\tilde{S}}\), lines \({\tilde{L}}\), and points \({\tilde{P}}\)).
The cell method, in addition to its simplicity, has close compatibility with the physical and experimental reality as a consequence of connecting the physical quantities to the geometric elements of the two cell systems with the same logic with which the quantities are investigated experimentally. The association between quantities involved in a physical problem and the geometric elements of the two cell complexes is illustrated and effectively summarized in the Tonti diagrams.
In summary, spatial and temporal quantities are represented by sets of topological entities (cells) of multiple dimensions called primal and dual cell complexes, and a system of inner and outer orientations are assigned to such cell complexes. The physical variables are associated with spatial and temporal elements according to the following classification:

Configuration variables: geometric and kinematic variables that describe the configuration of the (wave) field, such as displacement;

Source variables: static and dynamic variables that describe the sources of the field, such as force and mass flow;

Energy variables: variables that are obtained from the product of configuration and source variables, such as work and kinetic energy.
Configuration variables are associated with elements of the primal cell complex, while source/energy variables are associated with elements of the dual complex. The constitutive and balance laws are then imposed, leading to algebraic equations for the variables of interest.
5.7.3 Homogenization and multiscale methods
Two approaches have been proposed to handle medium heterogeneities that must be taken into account in the wave simulation, but would need a mesh refinement that is impractical to implement. These methods essentially convert the material properties in a fine scale, where relevant variability occurs, into equivalent ones in a coarse scale corresponding to the target wavelength. In general, physical laws may be different in fine and coarse scales [326].
One of these approaches can be seen as a generalization of averaging techniques [327] and lead to the homogenization methods [328,329,330,331,332]. Through asymptotic theory, they obtain effective equations at the macroscopic level that qualitatively account for the fine scales. The asymptotic expansion of order zero usually corresponds to the classical averaging techniques. Though these methods are not restricted to periodic media, they have been mostly developed for rectangular and cuboid grids [333,334,335].
The second approach obtains the effective medium by numerically modeling the fine scales [336]. There are several methods that follow this approach, such as numerical upscaling [337, 338], heterogeneous multiscale method [339, 340], multiscale finite elements [341], multiscale coupling methods [342], and Fast Fourier homogenization [343]. These techniques are especially useful to finely layered, randomly oriented, and fractured media [344, 345].
Homogenization methods have the advantage of a lower computational cost. On the other hand, methods that numerically evaluate the contribution of fine scales to the macroscopic model can be more flexible with respect to the mesh geometry [346].
6 Numerical approximation of boundary conditions
This section concerns the implementation of the freesurface and computational boundary conditions mentioned in Sect. 2.4. They can also be handled directly at the discrete level, rather than being based on the discretization of analytical boundary conditions [29, 347]. An important class of such methods use an artificial layer surrounding the domain to attenuate reflected waves.
6.1 Freesurface boundary conditions
Freesurface conditions can be easily imposed in numerical methods based on variational formulations, such as finite/spectral elements and discontinuous Galerkin methods. As an illustration, let us consider the variational formulation of the elastic wave equations (9) with boundary conditions
where \(\Gamma _1\cup \Gamma _2=\partial \Omega \) and \(\Gamma _1\) denotes the surface boundary. in the space
We have from divergence theorem that, for any \({{\varvec{w}}}\in W\),
The first and second boundary integrals in the righthand side of (114) vanish due to (112a) and (113), respectively, so that we arrive at the same variational formulation as in (37), except that \({{\varvec{w}}}\in W\). A similar result applies to the velocitystress and velocitydisplacement formulations.
Other methods such as finite differences need some strategy to handle zderivatives present on condition (112a). This condition becomes, for instance in the 2D isotropic case,
For a freesurface condition over \(z=0\), the xderivatives can be approximated using grid points over this line. For the zderivatives, one can extend the grid above \(z=0\) and impose the skewsymmetry of the stress components to evaluate the variables over these additional points [119, 157], or to employ onesided finitedifference expansions to avoid extending the grid [348]. Another approach is to use extrapolation based on characteristic variables [118], which has also been used on pseudospectral methods [68, 107, 349]. In the finitevolume method, the freesurface boundary condition may be imposed by solving an inverse Riemann problem [262].
6.2 Absorbing boundary conditions
The classical absorbing boundary conditions were initially implemented on finitedifference methods for the scalar wave equation, with onesided difference formulas at the boundary [24, 28, 32]. Later on, these conditions were implemented on finitedifference methods for the two and threedimensional elastic wave equation [350, 351].
Engquist–Majda conditions (33) have been widely employed by other spatial discretization techniques, such as pseudospectral methods [352, 353], finite elements [35, 354], spectral elements [61, 355, 356], and discontinuous Galerkin methods [88, 285].
Highorder local absorbing boundary conditions have been mostly implemented with finitedifference and finiteelement methods [357,358,359], but have also been considered in other methods [360, 361].
It is worth noting that absorbing boundary conditions often involve firstorder time derivatives, leading to secondorder linear systems of ODEs (41) where the damping matrix is present [98]. We refer to [36] for conditions for firstorder hyperbolic problems.
6.3 Absorbing layers and PML
An alternative to designing nonreflecting boundary conditions is to extend the computational domain by surrounding with a layer where the wave field is subject to some form of filtering that attenuates the waves generated by reflection at the outer layer boundary (Fig. 7). This technique can be traced back to the works of Petschek and Hanson [362, 363] and became popular in exploration geophysics after the method of Cerjan et al. [192]. The latter attenuates the numerical solution at the end of each time step by multiplication of a factor that tapers gradually towards the center of the grid [364], as suggested by the shading pattern in Fg. 7.
Rather than postprocessing the wave field, wave attenuation may be obtained by adopting a modified governing equation in the absorbing layer, as proposed in [364,365,366]. For instance, the acoustic wave equation (7) can be modified in the absorbing layer as follows:
where the parameter \(\gamma ({{\varvec{x}}})\) is chosen to achieve the best amplitude elimination [364]. Sarma et al. [367] developed modified equations for finiteelement methods under the framework of Rayleigh damping.
A disadvantage of absorbing layers is that, while waves going through them may be effectively damped, spurious reflections occur at the interface between the domain and the absorbing layer. This limitation motivated the development of perfectly matched layers (PML), which were originally proposed to electromagnetic waves [368] and later extended to acoustic and elastic waves [44, 369,370,371].
Following [372], let us illustrate a PML for the scalar wave equation (6). Firstly, this equation is rewritten as a firstorder system and is Laplace transformed:
For simplicity, consider the layer portion adjacent to the boundary \(x=0\). In this part of the layer, system (117) is modified as follows:
where \({\hat{u}}_j\) (\(j=1,2,3\)) are auxiliary variables such that \({\hat{u}}={\hat{u}}_1+{\hat{u}}_2+{\hat{u}}_3\), while \(\omega _1\) is a function that vanishes along with its derivative at the interface (for instance, \(\omega _1(x_1)=Ax_1\)). Finally, the equations in time domain are obtained by applying the inverse Laplace transform to (118):
In general, we split the derivative operators and the unknowns on components that are normal and tangential to the boundary and apply a complex change of variables in the normal direction [44, 373]. Moreover, the modified equations may be obtained on secondorder formulations of the wave equation [373].
Later on, the convolutional perfectly matched layer (CPML) was developed to avoid spurious reflections at grazing incidence. This method was originally proposed to the elastic wave equation in the velocitystress formulation [374] and later extended to the displacement formulation [375] and to poroelastic [376] and viscoelastic [377] media. Kristek et al. [378] explored the relationship between PML and CPML.
Another approach that uses an absorbing layer applies highorder local NRBCs on two parallel artificial boundaries, and it is known as doubleabsorbingboundary method [379]. This method has been evaluated in 2D and 3D seismic wavepropagation benchmark problems [380, 381].
7 Numerical errors
Convergence analyses have been proposed for most of the fully discrete methods outlined in the previous section. In the following we list some of these works:
However, convergence analysis usually does not guide the practitioner in the choice of discretization parameters for a wavepropagation simulation. Such an information is mostly provided by stability analysis (often a constituent part of convergence proofs [392]) and dispersion analysis.
7.1 Stability
Numerical stability, or the sensitivity of the numerical solution to perturbations, is an essential feature on numerical wave simulations, where such perturbations should not grow over time. The analysis of numerical stability of timedependent problems is usually done through Von Neumann analysis [393], the matrix method [394], and the energy method [395].
Let us illustrate these analyses with the explicit finitedifference scheme (64) in the absence of source terms. In Von Neumann (or discrete Fourier) analysis, we represent the numerical solution in the form
and refer to the method as stable if the amplification factor \(\xi =u_j^{n+1}/u_j^n=\exp (\alpha \Delta t)\) satisfies \(\xi \le 1\) for any k [393], and unstable otherwise. By substituting (120) into (64), we obtain the following equation for the amplification factor [393, 396]:
The solutions \(\xi = A \pm \sqrt{A^21}\) satisfy \(\xi \le 1\) if the space and time steps \(\Delta x\) and \(\Delta t\) are chosen such that
coinciding with the CFL stability criterion [112]. Similarly as in [396], the amplification factor of the implicit version of scheme (64) in the absence of sources,
satisfies \(\xi ^2(1+4A)2\xi +1=0\), where \(A=r^2\sin (k\Delta x/2)\), hence
Therefore, the implicit scheme (123) is unconditionally stable, i.e., it is stable for any combination of the grid parameters \(\Delta x\) and \(\Delta t\). For this reason, implicit schemes may be an attractive choice despite their higher computational cost. However, one must keep in mind that numerical dispersion, presented in the next section, constrains the choices of the grid parameters for both explicit and implicit methods.
A general form of this procedure can be found in many textbooks (e.g., [397]). The simplicity of Von Neumann analysis has made it the most frequently used tool for stability analysis of finitedifference methods as well as other techniques [80, 277, 398, 399]. However, since the freespace solution in the form (120) is essentially limited to unbounded or periodic domains, boundary conditions are not taken into account. Moreover, the simplicity of Von Neumann analysis is limited to equations with constant coefficients.
While equations for heterogeneous media can be handled by considering the “frozencoefficient” equations [400, 401], the analysis of boundary conditions require alternative techniques. Even though Von Neumann conditions are sufficient in particular wavepropagation problems, in general the boundary conditions are stable only for a certain range of elastic parameters [402].
One of these alternatives is the matrix method, whose mostly well known source is the book by Mitchell [394] as well as other textbooks [401, 403], though its main idea is present in earlier works [404,405,406]. The matrix method analysis is carried out in the physical domain (writing the equations in matrix form) rather than the wave number domain, and has been considered in [153, 156, 240, 261].
Recalling that the matrix form of (64) with homogeneous boundary conditions is , with given in (65), we have the following single step equation:
where . It then follows that , where \(\Vert \cdot \Vert \) denotes a vector norm and its induced matrix norm (i.e., . A necessary (but in general not sufficient) condition for the boundedness of \(\Vert {{\varvec{v}}}_{n}\Vert \) is , where is the spectral radius of .
The eigenvalues of satisfy \(\lambda ^2\mu \lambda +1=0\), where \(\mu \) is an eigenvalue of , thus to ensure \(\lambda \le 1\) we must have \(\mu \le 2\). Since the eigenvalues of are \(22\cos (j\pi /N)\) for \(1\le j\le N1\) [407], it follows that \(r\le 1/\sin ^2((\pi /2)(N1)/N)\), which is nearly the same as condition (122).
A drawback of the matrix method is the need to analyze large matrices, and there are some approaches that alleviate the underlying computational cost. Ilan and Loewenthal [402] restricted the analysis to a portion of the domain close to the boundary. On the other hand, Kamel [408] proposed to seek the largest eigenvalue through power method [228], which is interpreted as updating an initial data through successive time steps.
As pointed out in [401, 409], the condition assures that remains bounded as n increases but, under this condition, may initially increase before decreasing. Griffiths et al. [409] point out that the condition is a sufficient one, and suggest an intermediate condition of the form .
Let us proceed to the energy method, which seeks a discrete quadratic form that does not grow or moderately grows with time and in the same time bounds from above the discrete \(L^2\) norm [410]. In the context of the previous examples, the discrete \(L^2\) norm and inner product are
Let us consider Eq. (1) in the absence of sources with boundary conditions \(u(a)=u(b)=0\). By multiplying both sides of (1) by \(\dot{u}\) and integrating by parts over [a, b], we find
It then follows that
i.e., the quadratic form E(t) (the total energy) is constant over time. Note by writing \(c^2=\mu /\rho \) in analogy with (2) that the first and second terms in E(t) are associated with kinetic and potential energy, respectively. In general, E(t) may not be associated with a physical energy [410, 411].
Analogously to (127), we multiply (64) by the centereddifference approximation \((u_j^{n+1}u_j^{n1})/(2\Delta t)\) and sum from \(j=1\) to \(j=N1\) arriving at the discrete energy conservation
where \((D_+{{\varvec{u}}}_n)_j=(u_{j+1}^nu_j^n)/\Delta x\) for \(1\le j\le N1\). Moreover, we have the (energy) inequality
if (122) holds. Since \(E_h^{n+1/2}\) remains bounded due to (129), so does \(\Vert D_+{{\varvec{u}}}_{n+1/2}\Vert _h\). The details of (129)–(130) are available in Sec. 9.2 of [412], where the general heterogeneous case is considered.
The energy method has been successfully used to analyze problems with freesurface [413], PML [414, 415], and absorbing boundary conditions [28, 37, 379, 411, 416]. Besides finite differences, the analysis with energy method is present in finite [35] and spectral [417] elements, finite volumes [266], and discontinuous Galerkin methods [418]. On the other hand, since this method indirectly bounds some norm of the numerical solution, the stability condition is sufficient, but not necessary [410].
Finally, let us point out that other approaches are very well suited to the stability analysis of boundary conditions, such as the normalmode (also known as GKS or GKSO) analysis [32, 419, 420] and the geometric stability condition [421, 422].
7.2 Dispersion and numerical anisotropy
Dispersion analysis is an important tool for assessing the quality of approximation of numerical methods, providing an estimate of the minimum number of grid points per wavelength required to prevent waves from traveling with incorrect speed. A continuous or discrete wave model is dispersive if the wave speed depends on its wavelength.
Let us initially remain on the same 1D problem as in the previous section, recalling that the planewave solution (5) satisfies the dispersion relation \(\omega =\pm c\kappa \), thus the phase and group velocities,
coincide and are constant. On the other hand, if \(u_j^n = \exp (i({\omega }_ht_n\kappa x_j))\) then scheme (64) in the absence of sources yields
with r defined as in (121). It follows from (132) that the numerical phase and group velocities satisfy
where \(H=\kappa \Delta x/(2\pi )\). Noting that \(\exp (\kappa x)\) has period (wavelength) \(2\pi /\kappa \), we have that \(G = 2\pi /(\kappa \Delta x)=1/H\) is the number of grid points per wavelength.
If \(r=1\), then \({c}_h^{ph}=c^{ph}\) and \({c}_h^{gr}=c^{gr}\), as long as \(H\le 1/2\) (since \(\sin x\) is not invertible for \(0\le x\le L\) if \(L>\pi /2\)). The bound \(H\le 1/2\), or \(G\ge 2\), is known as the Nyquist limit. The result for \(r=1\) is exceptional and is not necessarily observed on less trivial problems [401]. When \(r<1\), numerical and exact phase/groups velocities do not coincide. The dispersion error is illustrated with \(r=1/2\) in Fig. 8. For instance, when \(H=0.2\) (i.e., \(G=5\) grid points per wavelength), the relative errors of phase and group velocity are approximately 5% and 15%, respectively.
A comprehensive review of the dispersion analysis of finitedifference schemes of higher order and spatial dimension is available in [412]. Trefethen presents in [423] a comprehensive review of groupvelocity analysis of finitedifference schemes for the acoustic wave equation, plus a relationship between group velocity and GKS stability for firstorder hyperbolic systems. Numerical dispersion has also been studied beyond the acoustic case [122, 125, 128, 213].
Kosloff and Baysal [60] presented the numerical dispersion relations of 1D and 2D Fourier pseudospectral method using a similar procedure as above, while Fornberg [191] focused on the dispersion of the spatial discretization. Spa et al. [424] considered fully discrete schemes with LaxWendroff and rapid expansion methods. The numerical dispersion in the case of Chebyshev collocation points has not been studied in the classical works, though an analysis of its multidomain version has been recently proposed [425].
The numerical dispersion of finiteelement methods of degree one can be done exactly as finitedifference methods; that is, to plug the discrete plane wave into the finiteelement stencil assuming an infinite, periodic mesh (see, e.g., [213]). For 1D quadratic meshes and certain triangular meshes we must separate the nodes into sets which share the same degrees of freedom and are located at the same cyclically repeating location in the mesh pattern [426]. In this case, the numerical dispersion relation is expressed by an eigenvalue problem, whose solutions are analogous to the acoustic and optical branches from the theory of wave propagation into crystal structures [427, 428]. Finite elements of higher degree lead to a larger number of solutions, and the classical interpretation is that only one eigenvalue is physically meaningful (in the case of the acoustic wave equation), while the others are regarded as spurious modes [227, 429]. For this reason, the use of highorder finite element methods had been discouraged in numerical wave propagation.
Priolo and Seriani [69, 234] performed a dispersion analysis of the 1D spectralelement method with Chebyshev collocation points by solving the discrete problem for a large final time, taking a wavelet as the initial condition and periodic boundary conditions. The final approximate and exact solutions are transformed into the Fourier space and the amplitude and the phase of their ratio is found for several wave numbers and degrees of polynomial approximation. The results are similar to the theoretical estimates presented in [191].
Mulder [430] applied the discrete Fourier transform sampled in the mesh nodes to the spatial operator and matched its eigenpairs with the transformed plane waves and their normalized wave numbers. Under this setting, the spurious modes provide reasonable approximations of particular eigenvectors of the exact operator. On the other hand, the spatial operator must be properly ordered to assure eigenpair matching. It is not trivial to find such an ordering for 2D or 3D problems.
A common practice in the dispersion analysis of spectralelement and discontinuous Galerkin methods is to select the eigenvalue mode that approximates the dispersion relation of the continuous wave equation [235, 277, 412, 431], and locating these modes is also not trivial in general. Cohen et al. [432] use a Taylor series expansion. Abboud and Pinsky [433] writes the amplitudevariable discrete plane wave as a linear combination of discrete plane waves and classify the modes with the dominating coefficient of the combination (see also [434]). Seriani and Oliveira [435] identify these modes by a Rayleigh quotient approximation of the constantamplitude mode. A similar analysis was done for the elastic wave equation [99, 436]. The Rayleighquotient technique has also been employed in other Galerkintype methods [225, 437].
Another related form of error is numerical anisotropy, which is present when the speed of the approximate wave solution depends on the propagation direction in a different fashion than the exact solution’s speed [397, 438, 439].
Let us illustrate numerical anisotropy with the twodimensional version of the previous example. Let be a wave vector with magnitude \(\kappa \) and propagation direction given by the angle \(\theta \). It follows from the dispersion relation \(\omega =\pm c\kappa \) of the scalar wave equation (6) that the phase and group velocity do not depend on \(\theta \). On the other hand, by substituting \(u^n_{j,k}=\exp (i({\omega }_ht_n\kappa (x_j\cos \theta +y_k\sin \theta )))\) into the 2D version of (64) we find
where \(r_x=c\Delta t/\Delta x\) and \(r_y=c\Delta t/\Delta y\). Thus the numerical phase and group velocities will depend on \(\theta \), even if \(r_x=r_y=1\). The detailed study of numerical anisotropy of this scheme is available in [59], and the threedimensional case readily follows by considering .
A convenient way to represent an angledependent dispersion relation is a polar diagram [397]. Similarly to [2], Fig. 9 shows percent phasevelocity errors of the 2D and 3D versions of the finitedifference scheme (64) in polar form.
Numerical dispersion analysis usually assumes homogeneous media and uniform rectangular/cuboid grids, but more general scenarios have also been considered in many studies, such as nonuniform grids [439, 440], interfaces [441,442,443], distorted elements [412, 444, 445], and periodic composite materials [446, 447].
7.2.1 Mass lumping and blending
Finiteelement methods for secondorder wave equations lead to systems of ODEs in the form (41) where the mass matrix is usually nondiagonal. The masslumping technique approximates by a diagonal matrix , allowing the use of explicittime stepping schemes. The classical approach is to rowlump the mass matrix [63, 64, 428], i.e.,
This concept has also been proposed to discretize the same integral formulations that lead to finitevolume methods [448, 449].
In addition to the algebraic form (135), the approximate diagonal mass matrix may be obtained through reduced integration [450]. For highorder finite elements, the natural choice is to employ a Gauss–Lobatto–Legendre quadrature and shift the degrees of freedom so that they coincide with the quadrature nodes [239]. This procedure is followed in GLL spectralelement methods, as mentioned in Sect. 5.4.
Mass lumping significantly affects the numerical dispersion of finite elements. As illustrated in Fig. 10, the numerical phase velocity is higher than the actual phase velocity when a consistent matrix is used but lower when row lumping is employed. Usually the consistent mass matrix produces leading phase and group error, while the lumped mass matrix produces lagging phase and group error [451].
It is natural to seek a combination of lumped and consistent mass matrices that balances the over and undershoots of these approaches, reducing numerical dispersion [213, 428, 452, 453]. For instance, Fig. 11 shows the numerical phase velocity of the optimal blended operators [452] for the same example provided in Fig. 10. The dispersion remains lower than consistent and lumped elements until nearly the limit of \(\pi \) grid points per wavelength for Chebyshev collocation points [454].
An alternative approach is to seek the coefficients of the mass and stiffness matrices that minimize dispersion [254]. The search for optimal operators is well known in the context of finitedifference methods [455,456,457,458] and can be performed in a framework that is valid for most numerical methods [459].
8 Final remarks
Most numerical methods presented in this survey have reached comparable levels of efficiency and scope, and continue to evolve. Multiscale and multiphysics modeling should push for further improvement of these techniques, and community coding shortens the gap between theoretical advances and practical applications.
It is worth noting that some ideas developed for a method have been transferred to others. The concept of staggered grids from finite differences has been useful to pseudospectral methods, which in turn contributed back through curvilinear coordinates. Spectral elements have inspired discontinuous Galerkin methods to seek higher accuracy by using orthogonal polynomials, which is also a contribution from pseudospectral methods. Such an exchange corroborates the relevance of each family of methods to the overall progress of numerical modeling.
References
C. Canuto, M. Hussaini, A. Quarteroni, T. Zang, Spectral Methods: Fundamentals in Single Domains (Springer, New York, 2006)
H. Igel, Computational Seismology: a Practical Introduction (Oxford University Press, Oxford, 2017)
D. Komatitsch, G. Erlebacher, D. Göddeke, D. Michéa, J. Comput. Phys. 229, 7692 (2010)
P. Moczo, J.O.A. Robertsson, L. Eisner, Adv. Geophys. 48, 421 (2007)
E. Padovani, E. Priolo, G. Seriani, J. Comput. Acoust. 2, 371 (1994)
E. Chaljub, D. Komatitsch, J.P. Vilotte, Y. Capdeville, B. Valette, G. Festa, Adv. Geophys. 48, 365 (2007)
D. Givoli, Wave Motion 39, 319 (2004)
J.M. Carcione, G. Herman, A. ten Kroode, Geophysics 67, 1304 (2002)
J. Virieux, H. Calandra, R.E. Plessix, Geophys. Prospect. 59, 794 (2011)
J. Behrens, F. Dias, Philos. Trans. R. Soc. A 373, 20140382 (2015)
J.P. Fouque, J. Garnier, G. Papanicolaou, K. Sølna, Wave Propagation and Time Reversal in Randomly Layered Media (Springer, New York, 2007)
J.M. Carcione, Wave Fields in Real Media: Wave Propagation in Anisotropic, Anelastic, Porous and Electromagnetic Media, 3rd edn. (Elsevier, Oxford, 2015)
A. Eringen, E. Suhubi, Elastodynamics, vol. 2 (Academic Press, New York, 1975)
L. Thomsen, Geophysics 51, 1954 (1986)
J.G. Berryman, Geophysics 44, 896 (1979)
I. Tsvankin, Geophysics 61, 467 (1996)
R. Bloot, J. Schleicher, L.T. Santos, Geophys. J. Int. 192, 1144 (2013)
M.E. Gurtin, E. Sternberg, Arch. Ration. Mech. Anal. 11, 291 (1962)
J.M. Carcione, D. Kosloff, R. Kosloff, Geophys. J. Int. 93, 393 (1988)
J. Kaklamanos, L.G. Baise, E.M. Thompson, L. Dorfmann, Soil Dyn. Earthq. Eng. 69, 207 (2015)
M.A. Biot, J. Acoust. Soc. Am. 28, 168 (1956)
M.A. Biot, J. Acoust. Soc. Am. 28, 179 (1956)
M.A. Biot, J. Appl. Phys. 33, 1482 (1962)
B. Engquist, A. Majda, Math. Comput. 31, 629 (1977)
R.L. Higdon, Math. Comput. 49, 65 (1987)
D. Givoli, J. Comput. Phys. 94, 1 (1991)
R. Clayton, B. Engquist, Bull. Seismol. Soc. Am. 67, 1529 (1977)
A. Bayliss, E. Turkel, Commun. Pure Appl. Math. 33, 707 (1980)
E.L. Lindman, J. Comput. Phys. 18, 66 (1975)
A.C. Reynolds, Geophysics 43, 1099 (1978)
R.G. Keys, Geophysics 50, 892 (1985)
R.L. Higdon, Math. Comput. 47, 437 (1986)
A. Bamberger, B. Chalindar, P. Joly, J.E. Roberts, J.L. Teron, SIAM J. Sci. Stat. Comput. 9, 1016 (1988)
F. Collino, High order absorbing boundary conditions for wave propagation models. Straight line boundary and corner cases, in Proc. of Second International Conference on Mathematical and Numerical Aspects of Wave Propagation, ed. by R. Kleinman, T. Angell, D. Colton, F. Santosa, I. Stakgold (Newark, 1993), p. 161–171
D. Sheen, Math. Comput. 61, 595 (1993)
T. Hagstrom, T. Warburton, Wave Motion 39, 327 (2004)
O. Vacus, Math. Comput. 74, 177 (2005)
J.B. Keller, D. Givoli, J. Comput. Phys. 82, 172 (1989)
D. Givoli, D. Cohen, J. Comput. Phys. 117, 102 (1995)
M.J. Grote, J.B. Keller, SIAM J. Appl. Math. 55, 280 (1995)
T. Hagstrom, S. Hariharan, Appl. Numer. Math. 27, 403 (1998)
P.A. Raviart, J.M. Thomas, Introduction à l’Analyse Numérique des Équations aux Dérivées Partielles (Masson, Paris, 1988)
E. Bécache, P. Joly, C. Tsogka, SIAM J. Numer. Anal. 39, 2109 (2002)
F. Collino, C. Tsogka, Geophysics 66, 294 (2001)
J. Gazdag, Geophysics 46, 854 (1981)
O.C. Zienkiewicz, Y.M. Xie, Earthq. Eng. Struct. Dyn. 20, 871 (1991)
N.E. Wiberg, X. Li, Int. J. Numer. Methods Eng. 46, 1781 (1999)
D.F. Rossi, W.G. Ferreira, W.J. Mansur, A.F.G. Calenzani, Eng. Struct. 80, 118 (2014)
M. Dumbser, M. Käser, E.F. Toro, Geophys. J. Int. 171, 695 (2007)
J. Falk, E. Tessmer, D. Gajewski, Geophys. Prospect. 46, 603 (1998)
E. Tessmer, Geophysics 65, 1290 (2000)
F. Collino, T. Fouquet, P. Joly, Numer. Math. 95, 197 (2003)
P. Joly, J. Rodriguez, SIAM J. Numer. Anal. 43, 825 (2005)
J. Diaz, M.J. Grote, SIAM J. Sci. Comput. 31, 1985 (2009)
U. Ascher, Numerical Methods for Evolutionary Differential Equations (SIAM, Philadelphia, 2008)
M. Olsson, J. Sound Vib. 99, 1 (1985)
J. Chung, J.M. Lee, Int. J. Numer. Methods Eng. 37, 3961 (1994)
Z.S. Alterman, F.C. Karal Jr., Bull. Seismol. Soc. Am. 58, 367 (1968)
R.M. Alford, K.R. Kelly, D.M. Boore, Geophysics 39, 834 (1974)
D.D. Kosloff, E. Baysal, Geophysics 47, 1402 (1982)
D. Komatitsch, C. Barnes, J. Tromp, Geophysics 65, 1251 (2000)
S. Minisini, E. Zhebel, A. Kononov, W.A. Mulder, Geophysics 78, T67 (2013)
O.C. Zienkiewicz, The Finite Element Method, 3rd edn. (McGraw Hill, New York, 1977)
T.J.R. Hughes, The Finite Element Method: Linear Static and Dynamic Finite Element Analysis (PrenticeHall, Englewood Cliffs, 1987)
N.M. Newmark, J. Eng. Mech. Div. 85, 67 (1959)
S.P. Oliveira, J.S. Azevedo, M.J. Porsani, Boll. Geof. Teor. Appl. 59, 223 (2018)
T.J.R. Hughes, Comput. Struct. 6, 313 (1976)
E. Priolo, J.M. Carcione, G. Seriani, J. Acoust. Soc. Am. 95, 681 (1994)
G. Seriani, E. Priolo, Finite Elem. Anal. Des. 16, 337 (1994)
G. Festa, J.P. Vilotte, Geophys. J. Int. 161, 789 (2005)
M.A. Dablain, Geophysics 51, 54 (1986)
P. Lax, B. Wendroff, Commun. Pure Appl. Math. 13, 217 (1960)
E.F. Toro, R.C. Millington, L. A.M. Nejad, Towards very high order Godunov schemes, in Godunov Methods: Theory and Applications, ed. by E.F. Toro (Springer, Boston, 2001), p. 907–940
M. Käser, M. Dumbser, Geophys. J. Int. 166, 855 (2006)
Y. Kondoh, Y. Hosaka, K. Ishii, Comput. Math. Appl. 27, 59 (1994)
D. Yang, M. Lu, R. Wu, J. Peng, Bull. Seismol. Soc. Am. 94, 1982 (2004)
G.R. Shubin, J.B. Bell, SIAM J. Sci. Stat. Comput. 8, 135 (1987)
J.C. Gilbert, P. Joly, Higher order time stepping for second order hyperbolic problems and optimal CFL conditions, in Partial Differential Equations, ed. by R. G., P. N. (Springer, Dordrecht, 2008), p. 67–93
E. Crase, Highorder (space and time) finitedifference modeling of the elastic wave equation, in SEG Annual Meeting (Society of Exploration Geophysicists, Tulsa, 1990), p. 987–991
J.D. De Basabe, M.K. Sen, Geophys. J. Int. 181, 577 (2010)
S. Kim, H. Lim, Appl. Numer. Math. 57, 402 (2007)
F. Santosa, Y.H. Pao, J. Acoust. Soc. Am. 80, 1429 (1986)
K.K. Tamma, R.R. Namburu, Comput. Struct. 30, 1017 (1988)
J.O. Blanch, J.O.A. Robertsson, Geophys. J. Int. 131, 381 (1997)
D. Kosloff, D. Kessler, A.Q. Filho, E. Tessmer, A. Behle, R. Strahilevitz, Geophysics 55, 734 (1990)
M.J. Grote, M. Mehlin, T. Mitkova, SIAM J. Sci. Comput. 37, A747 (2015)
L.C. Wilcox, G. Stadler, C. Burstedde, O. Ghattas, J. Comput. Phys. 229, 9373 (2010)
M. Stanglmeier, N.C. Nguyen, J. Peraire, B. Cockburn, Comput. Methods Appl. Mech. Eng. 300, 748 (2016)
P.W. Sharp, J.M. Fine, J. Comput. Appl. Math. 42, 279 (1992)
J.B. Chen, Geophysics 71, T151 (2006)
M.Z. Qin, W.J. Zhu, Comput. Math. Appl. 22, 85 (1991)
J.M. SanzSerna, M.P. Calvo, Numerical Hamiltonian Problems (Chapman & Hall, London, 1994)
B. Leimkuhler, S. Reich, Simulating Hamiltonian Dynamics (Cambridge University Press, Cambridge, 2004)
J.B. Chen, Geophysics 72, SM115 (2007)
C. Li, J. Liu, B. Chen, Y. Sun, Bull. Seismol. Soc. Am. 110, 754 (2020)
S. HongLing, Q. MengZhao, Commun. Theor. Phys. 41, 329 (2004)
D. Yang, M. Wang, X. Ma, Geophys. J. Int. 196, 560 (2014)
C.G. Makridakis, IMA J. Numer. Anal. 15, 377 (1995)
S.P. Oliveira, G. Seriani, J. Comput. Appl. Math. 234, 1717 (2010)
B. Cockburn, Z. Fu, A. Hungria, L. Ji, M.A. Sánchez, F.J. Sayas, J. Sci. Comput. 75, 597 (2018)
R. Skeel, G. Zhang, T. Schlick, SIAM J. Sci. Comput. 18, 203 (1997)
S.M. Serbin, Appl. Math. Comput. 5, 75 (1979)
C. Chu, P.L. Stoffa, Geophysics 77, T57 (2012)
G.A. Baker, V.A. Dougalis, S.M. Serbin, Numer. Math. 35, 127 (1980)
H. TalEzer, SIAM J. Numer. Anal. 23, 11 (1986)
R.C. Pestana, P.L. Stoffa, Geophysics 75, T121 (2010)
D. Kosloff, Filho A. Queiroz, E. Tessmer, A. Behle, Geophys. Prospect. 37, 383 (1989)
H. TalEzer, J.M. Carcione, D. Kosloff, Geophysics 55, 1366 (1990)
G.A. Baker, J.H. Bramble, ESAIM Math. Model. Numer. Anal. 13, 75 (1979)
V.A. Dougalis, S.M. Serbin, Int. J. Numer. Methods Eng. 18, 1613 (1982)
G. Seriani, J. Comput. Acoust. 8, 241 (2000)
R. Courant, K. Friedrichs, H. Lewy, Math. Ann. 100, 32 (1928)
Z.S. Alterman, A. Rotenberg, Bull. Seismol. Soc. Am. 59, 347 (1969)
K.R. Kelly, R.W. Ward, S. Treitel, R.M. Alford, Geophysics 41, 2 (1976)
P.D. Lax, Commun. Pure Appl. Math. 7, 159 (1954)
R. Madariaga, Bull. Seismol. Soc. Am. 66, 639 (1976)
J. Virieux, Geophysics 51, 889 (1986)
A. Bayliss, K.E. Jordan, B.J. LeMesurier, E. Turkel, Bull. Seismol. Soc. Am. 76, 1115 (1986)
A.R. Levander, Geophysics 53, 1425 (1988)
S.A. Magnier, P. Mora, A. Tarantola, Geophysics 59, 1435 (1994)
E.L. Faria, P.L. Stoffa, Geophysics 59, 282 (1994)
H. Igel, P. Mora, B. Riollet, Geophysics 60, 1203 (1995)
B. Han, S.J. Seol, J. Byun, Explor. Geophys. 43, 77 (2012)
J.O.A. Robertsson, J.O. Blanch, W.W. Symes, Geophysics 59, 1444 (1994)
T. Bohlen, F. Wittkamp, Geophys. J. Int. 204, 1781 (2016)
T. Maeda, S. Takemura, T. Furumura, Earth Planets Space 69, 102 (2017)
J. Zhang, Geophys. J. Int. 139, 171 (1999)
Y. Zhang, J. Gao, J. Appl. Geophys. 109, 281 (2014)
R. Itzá, U. IturraránViveros, J.O. Parra, Geophys. J. Int. 206, 1111 (2016)
L. Di Bartolo, C. Dors, W.J. Mansur, Geophys. Prospect. 63, 1097 (2015)
E.H. Saenger, N. Gold, S.A. Shapiro, Wave Motion 31, 77 (2000)
R. Bansal, M.K. Sen, Geophys. Prospect. 56, 293 (2008)
P. Moczo, J. Kristek, V. Vavrycuk, R.J. Archuleta, L. Halada, Bull. Seismol. Soc. Am. 92, 3042 (2002)
J. Kristek, P. Moczo, Bull. Seismol. Soc. Am. 93, 2273 (2003)
R.A. Drainville, L. Curiel, S. Pichardo, J. Acoust. Soc. Am. 146, 4382 (2019)
C. Jastram, E. Tessmer, Geophys. Prospect. 42, 357 (1994)
A. Pitarka, Bull. Seismol. Soc. Am. 89, 54 (1999)
S. Aoi, H. Fujiwara, Bull. Seismol. Soc. Am. 89, 918 (1999)
J. Kristek, P. Moczo, M. Galis, Geophys. J. Int. 183, 1401 (2010)
J. Geiser, Iterative Splitting Methods for Differential Equations (Chapman and Hall/CRC, London, 2011)
J. Douglas Jr., J. Soc. Ind. Appl. Math. 3, 42 (1955)
D.W. Peaceman, H.H. Rachford Jr., J. Soc. Ind. Appl. Math. 3, 28 (1955)
A.A. Samarskii, USSR Comput. Math. Math. Phys. 4, 21 (1964)
J. Douglas Jr., S. Kim, Math. Model. Methods Appl. Sci. 11, 1563 (2001)
M. Lees, J. Soc. Ind. Appl. Math. 10, 610 (1962)
G. Fairweather, A. Mitchell, IMA J. Appl. Math. 1, 309 (1965)
S. McKee, IMA J. Appl. Math. 11, 105 (1973)
M. Ciment, S.H. Leventhal, Math. Comput. 29, 985 (1975)
J. Geiser, HigherOrder Splitting Method for Elastic Wave Propagation. Int. J. Math. Math. Sci. 2008, Article ID 291968, 31 (2008). https://doi.org/10.1155/2008/291968
H. Lim, S. Kim, J. Douglas Jr., Appl. Numer. Math. 57, 194 (2007)
G. Strang, SIAM J. Numer. Anal. 5, 506 (1968)
G.I. Marchuk, Apl. Mat. 13, 103 (1968)
D.A. Voss, A.Q.M. Khaliq, Comput. Math. Appl. 30, 25 (1995)
J.M. Carcione, G. QuirogaGoode, J. Comput. Acoust. 03, 261 (1995)
P.J. van der Houwen, E. Messina, Numer. Algorithms 18, 233 (1998)
S.H. Emerman, W. Schmidt, R.A. Stephen, Geophysics 47, 1521 (1982)
P. Moczo, J. Kristek, M. Gális, The FiniteDifference Modelling of Earthquake Motions: Waves and Ruptures (Cambridge University Press, Cambridge, 2014)
Z. Alterman, R. Nathaniel, Bull. Seismol. Soc. Am. 65, 1697 (1975)
P. Moczo, Geophys. J. Int. 99, 321 (1989)
C. Jastram, A. Behle, Geophys. Prospect. 40, 157 (1992)
S.A.M. Oliveira, Geophysics 68, 672 (2003)
R. Jih, K.L. McLaughlin, Z.A. Der, Geophysics 53, 1045 (1988)
S. Hestholm, B. Ruud, Geophys. Prospect. 42, 371 (1994)
D. Komatitsch, F. Coutel, P. Mora, Geophys. J. Int. 127, 156 (1996)
S. Hestholm, B. Ruud, Geophysics 63, 613 (1998)
W. Zhang, X. Chen, Geophys. J. Int. 167, 337 (2006)
D. Appelö, N.A. Petersson, Commun. Comput. Phys. 5, 84 (2009)
B. Fornberg, Geophysics 53, 625 (1988)
P. Moczo, E. Bystrický, J. Kristek, J.M. Carcione, M. Bouchon, Bull. Seismol. Soc. Am. 87, 1305 (1997)
J. Zahradník, P. Moczo, F. Hron, Bull. Seismol. Soc. Am. 83, 107 (1993)
J. Piraux, B. Lombard, J. Comput. Phys. 168, 227 (2001)
G. Chiavassa, B. Lombard, Commun. Comput. Phys. 13, 985 (2013)
H. Li, W. Zhang, Z. Zhang, X. Chen, Geophys. J. Int. 202, 102 (2015)
D. Gottlieb, S.A. Orszag, Numerical Analysis of Spectral Methods: Theory and Applications (SIAM, Philadelphia, 1977)
B. Fornberg, A Practical Guide to Pseudospectral Methods (Cambridge University Press, Cambridge, 1996)
J.P. Boyd, Chebyshev and Fourier Spectral Methods, 2nd edn. (Dover, New York, 2001)
C. Lanczos, J. Math. Phys. 17, 123 (1938)
S.A. Orszag, Phys. Rev. Lett. 26, 1100 (1971)
H.O. Kreiss, J. Oliger, Tellus 24, 199 (1972)
C. Canuto, M. Hussaini, A. Quarteroni, T. Zang, Spectral Methods: Evolution to Complex Geometries and Applications to Fluid Dynamics (Springer, New York, 2007)
J.O.A. Robertsson, J.O. Blanch, W.W. Symes, C.S. Burrus, Math. Comput. Model. 19, 31 (1994)
X.M. Zhang, K.A. Liu, J.Q. Liu, Chin. J. Geophys. 48, 1234 (2005)
H. Yousefi, A. Noorzad, J. Farjoodi, J. Sci. Comput. 42, 404 (2009)
L. Pahlavan, C. Kassapoglou, Z. Gürdal, Wave Motion 50, 558 (2013)
C.V. Nastos, D.A. Saravanos, Wave Motion 95, 102543 (2020)
B. Pelloni, V.A. Dougalis, Appl. Numer. Math. 37, 95 (2001)
S.A. Orszag, Stud. Appl. Math. 51, 253 (1972)
J.W. Cooley, J.W. Tukey, Math. Comput. 19, 297 (1965)
J.M. Carcione, D. Kosloff, R. Kosloff, Q. J. Mech. Appl. Math. 41, 319 (1988)
J.M. Carcione, D. Kosloff, R. Kosloff, Geophys. J. Int. 95, 597 (1988)
B. Fornberg, Geophysics 52, 483 (1987)
C. Cerjan, D. Kosloff, R. Kosloff, M. Reshef, Geophysics 50, 705 (1985)
G. Raggio, Z. Angew, Math. Mech. 66, 545 (1986)
H. Igel, Geophys. J. Int. 136, 559 (1999)
J.C. Mason, D.C. Handscomb, Chebyshev Polynomials (CRC Press, Boca Raton, 2003)
D. Kosloff, H. TalEzer, J. Comput. Phys. 104, 457 (1993)
J.M. Carcione, Geophysics 59, 1911 (1994)
H. TalEzer, J. Comput. Phys. 67, 145 (1986)
B. Fornberg, SIAM J. Numer. Anal. 27, 904 (1990)
T. Özdenvar, G.A. McMechan, Geophys. J. Int. 126, 819 (1996)
J.M. Carcione, Geophysics 64, 1863 (1999)
T. Furumura, B.L.N. Kennett, M. Furumura, Geophys. J. Int. 135, 845 (1998)
D. Kessler, D. Kosloff, Geophysics 56, 2080 (1991)
E. Tessmer, D. Kessler, D. Kosloff, A. Behle, J. Comput. Phys. 100, 355 (1992)
J.M. Carcione, Numer. Methods Partial Differ. Equ. 10, 771 (1994)
J.M. Carcione, H.B. Helle, G. Seriani, M.P. Plasencia Linares, Geofis. Intern. 44, 123 (2005)
R. Sidler, J.M. Carcione, K. Holliger, Geophys. J. Int. 196, 1134 (2013)
J.M. Carcione, Geophysics 75, A53 (2010)
T. Zhu, J.M. Carcione, Geophys. J. Int. 196, 1787 (2014)
K. Shukla, J.M. Carcione, R.C. Pestana, P. Jaiswal, T. Özdenvar, Comput. Geosci. 126, 31 (2019)
J. Lysmer, L.A. Drake, A finite element method for seismology, in Methods in Computational Physics, ed. by B. Bolt, vol. 11 (Academic Press, New York, 1972), p. 181–216
W.D. Smith, Geophys. J. R. Astron. Soc. 42, 747 (1975)
K. Marfurt, Geophysics 49, 533 (1984)
F.J. Seron, F.J. Sanz, M. Kindelan, J.I. Badal, Commun. Appl. Numer. Methods 6, 359 (1990)
G. Seriani, Wave Motion 39, 351 (2004)
G. Cohen, S. Pernet, Finite Element and Discontinuous Galerkin Methods for Transient Wave Equations (Springer, Dordrecht, 2017)
H. Bao, J. Bielak, O. Ghattas, L. Kallivokas, D. O’Hallaron, J. Shewchuk, J. Xu, Comput. Methods Appl. Mech. Eng. 152, 85 (1998)
K. Koketsu, H. Fujiwara, Y. Ikegami, Pure Appl. Geophys. 161, 2183 (2004)
S. Ham, K.J. Bathe, Comput. Struct. 94, 1 (2012)
M. Komijani, R. Gracie, Comput. Methods Appl. Mech. Eng. 343, 74 (2019)
Y. Chai, K.J. Bathe, Comput. Struct. 237, 106273 (2020)
M. Drolia, M. Mohamed, O. Laghrouche, M. Seaid, A. El Kacimi, Appl. Math. Model. 77, 1273 (2020)
T.J.R. Hughes, J.A. Cottrell, Y. Bazilevs, Comput. Methods Appl. Mech. Eng. 194, 4135 (2005)
T.J.R. Hughes, A. Reali, G. Sangalli, Comput. Methods Appl. Mech. Eng. 197, 4104 (2008)
L. Dedè, C. Jäggli, A. Quarteroni, Comput. Methods Appl. Mech. Eng. 284, 320 (2015)
E. Zampieri, L.F. Pavarino, Comput. Methods Appl. Mech. Eng. 348, 776 (2019)
K. Marfurt, Appendix—analysis of higher order finiteelement methods, in Numerical Modeling of Seismic Wave Propagation, ed. by K. Kelly, K. Marfurt. Geophysics Reprint Series, no. 13 (Soc. of Expl. Geophys., Tulsa, 1990), p. 516–520
G. Dahlquist, A. Björck, Numerical Methods (PrenticeHall, Englewood Cliffs, 1974)
L.N. Trefethen, J.A.C. Weideman, J. Approx. Theory 65, 247 (1991)
H.G. Kraus, Int. J. Numer. Methods Eng. 18, 151 (1982)
A. Patera, J. Comput. Phys. 54, 468 (1984)
K. Korczak, A. Patera, J. Comput. Phys. 62, 361 (1986)
E. Rønquist, A.T. Patera, Int. J. Numer. Methods Eng. 24, 2273 (1987)
E. Priolo, G. Seriani, A numerical investigation of Chebyshev spectral element method for acoustic wave propagation, in Proceedings of the 13th IMACS World Congress on Computational and Applied Mathematics, ed. by R. Vichnevetsky, vol. 2 (Criterion Press, Dublin, 1991), p. 551–556
W. Dauksher, A. Emery, Finite Elem. Anal. Des. 26, 115 (1997)
W. Dauksher, A. Emery, Int. J. Numer. Methods Eng. 45, 1099 (1999)
W. Dauksher, A. Emery, Comput. Methods Appl. Mech. Eng. 188, 217 (2000)
E. Faccioli, F. Maggio, A. Quarteroni, A. Taghan, Geophysics 61, 1160 (1996)
G. Cohen, P. Joly, N. Tordjman, Finite Elem. Anal. Des. 16, 329 (1994)
U. Zrahia, P. BarYoseph, Comput. Methods Appl. Mech. Eng. 116, 135 (1994)
E. Zampieri, A. Tagliani, Comput. Methods Appl. Mech. Eng. 144, 33 (1997)
D. Komatitsch, J.P. Vilotte, Bull. Seismol. Soc. Am. 88, 368 (1998)
R. Hawkins, Geophys. J. Int. 215, 267 (2018)
S. Dong, Z. Yosibash, Comput. Struct. 87, 59 (2009)
J.S. Hesthaven, C.H. Teng, SIAM J. Sci. Comput. 21, 2352 (2000)
D. Komatitsch, R. Martin, J. Tromp, M. Taylor, B. Wingate, J. Comput. Acoust. 9, 703 (2001)
E.D. Mercerat, J.P. Vilotte, F.J. SanchezSesma, Geophys. J. Int. 166, 679 (2006)
R. Pasquetti, F. Rapetti, J. Sci. Comput. 27, 377 (2006)
G. Seriani, C. Su, J. Comput. Acoust. 20(1240004), 19 (2012)
G. Seriani, J. Comput. Acoust. 5, 53 (1997)
G. Seriani, Comput. Methods Appl. Mech. Eng. 164, 235 (1998)
D. Komatitsch, J. Tromp, Geophys. J. Int. 139, 806 (1999)
C. Morency, J. Tromp, Geophys. J. Int. 175, 301 (2008)
A. Idesman, Comput. Methods Appl. Mech. Eng. 317, 970 (2017)
P. Cupillard, E. Delavaud, G. Burgos, G. Festa, J.P. Vilotte, Y. Capdeville, J.P. Montagner, Geophys. J. Int. 188, 1203 (2012)
E. Oral, C. Gélis, L.F. Bonilla, E. Delavaud, Geophys. J. Int. 211, 1494 (2017)
J. Chodacki, Simulation of ground motion in a polish coal mine using spectralelement method. J. Seismol. 24, 363–373 (2020). https://doi.org/10.1007/s1095002009911w
J. Tromp, D. Komatitsch, Q. Liu, Commun. Comput. Phys. 3, 1 (2008)
A. Fichtner, Full Seismic Waveform Modelling and Inversion (Springer, Berlin, 2010)
E. Dormy, A. Tarantola, J. Geophys. Res. Solid Earth 100, 2123 (1995)
M. Tadi, Bull. Seismol. Soc. Am. 94, 1500 (2004)
M. Dumbser, M. Käser, J. De La Puente, Geophys. J. Int. 171, 665 (2007)
W. Zhang, Y. Zhuang, E.T. Chung, Geophys. J. Int. 206, 292 (2016)
W. Zhang, Y. Zhuang, L. Zhang, J. Comput. Phys. 340, 534 (2017)
Z.J. Wang, J. Comput. Phys. 178, 210 (2002)
M. Benjemaa, N. GlinskyOlivier, V.M. CruzAtienza, J. Virieux, S. Piperno, Geophys. J. Int. 171, 271 (2007)
S.T.J. Yu, L. Yang, R.L. Lowe, S.E. Bechtel, Wave Motion 47, 168 (2010)
G.I. Lemoine, M.Y. Ou, R.J. LeVeque, SIAM J. Sci. Comput. 35, B176 (2013)
R.J. LeVeque, FiniteVolume Methods for Hyperbolic Problems (Cambridge University Press, Cambridge, 2002)
W.H. Reed, T.R. Hill, Tech. Rep. Los Alamos Scientific Laboratory (1973)
B. Cockburn, C.W. Shu, Math. Comput. 52, 411 (1989)
D.N. Arnold, SIAM J. Numer. Anal. 19, 742 (1982)
D.N. Arnold, F. Brezzi, B. Cockburn, D. Marini., Discontinuous Galerkin methods for elliptic problems, in Proc. of Discontinuous Galerkin Methods, ed. by B. Cockburn, G.E. Karniadakis, C.W. Shu (Springer, Heidelberg, 2000), p. 89–101
B. Rivière, M.F. Wheeler, Discontinuous finite element methods for acoustic and elastic wave problems, in Contemporary Mathematics, vol. 329 (American Mathematical Society, Providence, 2003), p. 271–282
M.J. Grote, A. Schneebeli, D. Schötzau, SIAM J. Numer. Anal. 44, 2408 (2006)
J.D. De Basabe, M.K. Sen, M.F. Wheeler, Geophys. J. Int. 175, 83 (2008)
P.F. Antonietti, I. Mazzieri, A. Quarteroni, F. Rapetti, Comput. Methods Appl. Mech. Eng. 209, 212 (2012)
R. Ye, M.V. de Hoop, C.L. Petrovitch, L.J. PyrakNolte, L.C. Wilcox, Geophys. J. Int. 205, 1267 (2016)
M. Dumbser, M. Käser, Geophys. J. Int. 167, 319 (2006)
M. Dubiner, J. Sci. Comput. 6, 345 (1991)
B. Cockburn, G.E. Karniadakis, C.W. Shu, The development of discontinuous Galerkin methods, in Discontinuous Galerkin Methods, ed. by B. Cockburn, G.E. Karniadakis, C.W. Shu (Springer, Heidelberg, 2000), p. 3–50
S. Terrana, J.P. Vilotte, L. Guillot, Geophys. J. Int. 213, 574 (2018)
E. Chung, B. Cockburn, G. Fu, SIAM J. Numer. Anal. 52, 915 (2014)
E.T. Chung, B. Engquist, SIAM J. Numer. Anal. 44, 2131 (2006)
E.T. Chung, B. Engquist, SIAM J. Numer. Anal. 47, 3820 (2009)
E.T. Chung, C.Y. Lam, J. Qian, Geophysics 80, T119 (2015)
J. de la Puente, M. Käser, M. Dumbser, H. Igel, Geophys. J. Int. 169, 1210 (2007)
M. Käser, M. Dumbser, J. De La Puente, H. Igel, Geophys. J. Int. 168, 224 (2007)
J. de la Puente, M. Dumbser, M. Käser, H. Igel, Geophysics 73, T77 (2008)
K. Shukla, J.S. Hesthaven, J.M. Carcione, R. Ye, J. de la Puente, P. Jaiswal, Comput. Geosci. 23, 595 (2019)
Q. Zhan, M. Zhuang, Y. Mao, Q.H. Liu, J. Comput. Phys. 402, 108961 (2020)
M. Käser, P.M. Mai, M. Dumbser, Bull. Seismol. Soc. Am. 97, 1570 (2007)
J. de la Puente, J.P. Ampuero, M. Käser, J. Geophys. Res. 114, B10302 (2009)
C. Pelties, J. de la Puente, J.P. Ampuero, G.B. Brietzke, M. Käser, Threedimensional dynamic rupture simulation with a highorder discontinuous Galerkin method on unstructured tetrahedral meshes. J. Geophys. Res. 117, B02309 (2012). https://doi.org/10.1029/2011JB008857
J. Tago, V.M. CruzAtienza, J. Virieux, V. Etienne, F.J. SánchezSesma, J. Geophys. Res. Solid Earth 117, B09312 (2012)
I. Mazzieri, M. Stupazzini, R. Guidotti, C. Smerzini, Int. J. Numer. Methods Eng. 95, 991 (2013)
A. Reinarz, D.E. Charrier, M. Bader, L. Bovard, M. Dumbser, K. Duru, F. Fambri, A.A. Gabriel, J.M. Gallard, S. Köppel, L. Krenz, L. Rannabauer, L. Rezzolla, P. Samfass, M. Tavelli, T. Weinzierl, Comput. Phys. Commun. 107, 251 (2020)
M. Shashkov, Conservative FiniteDifference Methods on General Grids (CRC Press, Boca Raton, 1995)
J. Castillo, G. Miranda, Mimetic Discretization Methods (Chapman and Hall/CRC, New York, 2013)
L. Beirão da Veiga, K. Lipnikov, G. Manzini, The Mimetic Finite Difference Method for Elliptic Problems (Springer, Cham, 2014)
N. Robidoux, S. Steinberg, Comput. Methods. Appl. Math. 11, 23 (2011)
S.H. Christiansen, H.Z. MuntheKaas, B. Owren, Acta Numer. 20, 1 (2011)
P.B. Bochev, J.M. Hyman, Principles of mimetic discretizations of differential operators, in Compatible Spatial Discretizations, ed. by D.N. Arnold, P.B. Bochev, R. Lehoucq, R.A. Nicolaides, M. Shashkov (Springer, New York, 2006), p. 89–119
K. Lipnikov, G. Manzini, M. Shashkov, J. Comput. Phys. 257, 1163 (2014)
J.B. Perot, Annu. Rev. Fluid Mech. 43, 299 (2011)
J. Castillo, J. Hyman, M. Shashkov, S. Steinberg, Appl. Numer. Math. 37, 171 (2001)
E. Hairer, C. Lubich, G. Wanner, Geometric Numerical Integration: StructurePreserving Algorithms for Ordinary Differential Equations (Springer, New York, 2006)
F. SolanoFeo, J.M. GuevaraJordan, O. Rojas, B. Otero, R. Rodriguez, A new mimetic scheme for the acoustic wave equation. J Comput Appl Math 295, 2–12 (2016). https://doi.org/10.1016/j.cam.2015.09.037
O. Rojas, S. Day, J. Castillo, L.A. Dalguer, Geophys. J. Int. 172, 631 (2008)
S. Vandekerckhove, B. Vandewoestyne, H. De Gersem, K. Van Den Abeele, S. Vandewalle, J. Comput. Appl. Math. 259, 65 (2014)
L. Córdova, O. Rojas, B. Otero, J.E. Castillo, J. Comput. Appl. Math. 295, 83 (2016)
J. Castillo, G. Miranda, High order compact mimetic differences and discrete energy decay in 2d wave motions, in Lecture Notes in Computational Science and Engineering, vol. 119, ed. by M.L. Bitencourt, N. Dumont, J.S. Hesthaven (Springer, New York, 2017), p. 293–304
J. de la Puente, M. Ferrer, M. Hanzich, J.E. Castillo, J.M. Cela, Geophysics 79, T125 (2014)
J. Shragge, B. Tapley, Geophysics 82, T183 (2017)
T. Konuk, J. Shragge, Geophysics 85, T45 (2020)
E. Tonti, The Mathematical Structure of Classical and Relativistic Physics: A General Classification Diagram (Springer, New York, 2013)
P. Alotto, F. Freschi, M. Repetto, C. Rosso, The Cell Method for Electrical Engineering and Multiphysics Problems (Springer, Berlin, 2013)
F. Cosmi, Comput. Model. Eng. Sci. 2, 365 (2001)
E. Ferretti, Comput. Model. Eng. Sci. 4, 51 (2003)
M. Marrone, V.F. RodríguezEsquerre, H.E. HernándezFigueroa, Opt. Express 10, 1299 (2002)
M. Pani, F. Taddei, Comput. Model. Eng. Sci. 94, 279 (2013)
E. Tonti, Appl. Math. Model. 1, 37 (1976)
E. Tonti, F. Zarantonello, Comput. Model. Eng. Sci. 64, 37 (2010)
E. Tonti, J. Comput. Phys. 257, 1260 (2014)
E. Tonti, J. Comput. Acoust. 9, 1355 (2001)
E. Weinan, B. Engquist, Not. Am. Math. Soc. 50, 1062 (2003)
G.E. Backus, J. Geophys. Res. 67, 4427 (1962)
N. Gold, S.A. Shapiro, S. Bojinski, T.M. Müller, Geophysics 65, 1837 (2000)
J. Fish, W. Chen, Comput. Methods Appl. Mech. Eng. 193, 4837 (2004)
Y. Capdeville, J.J. Marigo, Geophys. J. Int. 170, 823 (2007)
C. Lin, R. Saleh, B. Milkereit, Q. Liu, Pure Appl. Geophys. 174, 2631 (2017)
A. Fichtner, S.M. Hanasoge, Geophys. J. Int. 209, 353 (2017)
Y. Capdeville, L. Guillot, J.J. Marigo, Geophys. J. Int. 182, 903 (2010)
L. Guillot, Y. Capdeville, J.J. Marigo, Geophys. J. Int. 182, 1438 (2010)
P. Cupillard, Y. Capdeville, Geophys. J. Int. 213, 983 (2018)
V. Grechka, Geophysics 68, 2055 (2003)
T. Vdovina, S.E. Minkoff, O. Korostyshevskaya, Multiscale Model. Simul. 4, 1305 (2005)
O. Korostyshevskaya, S.E. Minkoff, SIAM J. Numer. Anal. 44, 586 (2006)
B. Engquist, H. Holst, O. Runborg, Commun. Math. Sci. 9, 33 (2011)
A. Abdulle, M.J. Grote, Multiscale Model. Simul. 9, 766 (2011)
R.L. Gibson, K. Gao, E. Chung, Y. Efendiev, Geophysics 79, T61 (2014)
M. Li, H. Yu, J. Wang, X. Xia, J. Chen, Int. J. Numer. Methods Eng. 102, 1 (2015)
Y. Capdeville, M. Zhao, P. Cupillard, Wave Motion 54, 170 (2015)
K. Gao, E.T. Chung, R.L. Gibson, S. Fu, Y. Efendiev, Geophysics 80, D385 (2015)
S. Fu, K. Gao, E.T. Chung, J. Appl. Geophys. 170, 103852 (2019)
Y. Cho, R.L. Gibson Jr., J. Lee, C. Shin, J. Appl. Geophys. 164, 140 (2019)
W.D. Smith, J. Comput. Phys. 15, 492 (1974)
J. Kristek, P. Moczo, R.J. Archuleta, Stud. Geophys. Geod. 46, 355 (2002)
E. Tessmer, Geophys. J. Int. 121, 557 (1995)
C.J. Randall, Geophysics 53, 611 (1988)