Abstract
This paper presents an extension of a recently developed high order finite difference method for the wave equation on a grid with nonconforming interfaces. The stability proof of the existing methods relies on the interpolation operators being normcontracting, which is satisfied by the second and fourth order operators, but not by the sixth order operator. We construct new penalty terms to impose interface conditions such that the stability proof does not require the normcontracting condition. As a consequence, the sixth order accurate scheme is also provably stable. Numerical experiments demonstrate the improved stability and accuracy property.
Introduction
Wave propagation can be modeled by hyperbolic partial differential equations (PDEs). When solving a hyperbolic PDE by a finite difference method, to achieve a certain accuracy a minimum number of grid points per wavelength is required. This number is smaller with a high order method than with a low order method, which makes high order finite difference methods more efficient to solve wave propagation problems on smooth domains, see the pioneering paper [17] for first order hyperbolic PDEs, and the recent work [13] for second order hyperbolic PDEs.
On a uniform grid, high order central finite difference stencils are easily constructed by Taylor expansions [9]. Close to boundaries, onesided stencils can be used. It is important that the boundary closure is accurate, and the numerical scheme is stable. One successful approach is to use a finite difference operator satisfying a summationbyparts (SBP) property [19]. When an SBP operator acts on a grid function, it mimics the integrationbyparts principle in the continuous setting. An energy estimate can be obtained if boundary conditions are imposed appropriately, for example by using the simultaneousapproximationterm (SAT) method [4] or ghost points [30]. A scheme satisfying an energy estimate is called energy stable [11, 12].
Finite difference methods in the basic form can only be used on boxshaped domains. When complex geometry is present, the domain can be partitioned into blocks to resolve the geometrical feature. Each block has four sides and is mapped to a reference domain. If the corners of adjacent blocks meet, we say they are conforming blocks; otherwise they are nonconforming. In addition, a grid interface is conforming if no hanging nodes are present. When partitioning a domain, we can always make the blocks and interfaces conforming. However, in many situations it is desirable to use a more flexible strategy of partition that leads to nonconforming blocks and grid interfaces.
As an example, we consider a wave traveling in a heterogeneous medium with the wave speed varying in space. The wavelength is proportional to the wave speed for a given frequency. For accuracy the grid spacing is determined by the shortest wavelength. If a uniform grid is used in the entire computational domain, then the grid spacing must be small enough to resolve the shortest wavelength, resulting in an unnecessarily fine grid elsewhere. It is then more efficient to construct a grid according to the wavelength in each block, which leads to nonconforming interfaces with hanging nodes.
If only conforming blocks are used, the domain partitioning may end up with many blocks of small size. To use a high order finite difference method, a minimum number of grid points is required in each block due to the stencil width. This then results in unnecessarily many grid points in the small blocks, and consequently a suboptimal performance of the numerical scheme. In such a situation, nonconforming blocks are more appropriate.
In an SBP finite difference method, interface conditions can also be imposed by the SAT method [5, 6] or ghost points [29]. In the SBPSAT framework, wave propagation in a heterogeneous medium with complex geometry is considered in [34]. A stable and accurate multiblock finite difference method with conforming grid interfaces and blocks is presented. The focus in [37] is the numerical treatment of nonconforming interfaces and blocks by using SBPpreserving interpolation operators [16, 22]. Energy stability is proved with an assumption that the interpolation operators are normcontracting. In the same paper [37] , it is verified that not all interpolation operators satisfy this assumption, and instability occurs when the sixth order method is used on a domain with nonconforming, curved interfaces.
In this paper, we construct new penalty terms in the SBPSAT finite difference framework for the numerical interface treatment. The resulting scheme is energy stable even when the interpolation operators are not normcontracting. This extends the provably stable scheme from fourth order accuracy [37] to sixth order accuracy. The technique can be potentially used to construct even higher order schemes, provided that the corresponding SBP operators exist. Another contribution of this paper is the numerical treatment of nonconforming blocks and interfaces on curvilinear grids, where as in [37] such a case is studied on Cartesian grids. We also conduct numerical experiments to verify that the new sixth order scheme is stable with nonconforming, curved interfaces.
The paper is organized as follows. In Sect. 2, we introduce the SBPSAT finite difference method. In Sect. 3, we consider the wave equation on a Cartesian grid and present the new penalty terms for numerical interface treatments. Stability is proved by the energy method. We then generalize the scheme to nonconforming blocks and grid interfaces on curvilinear grids in Sect. 4. Numerical experiments are presented in Sect. 5 to verify the stability and accuracy property of the developed scheme. We draw conclusion in Sect. 6.
SBPSAT Finite Difference Methods
Finite difference operators satisfying an SBP property have been widely used to discretize time dependent PDEs. An SBP operator has central finite difference stencils in the interior, and special onesided stencils at a few grid points near boundaries. The boundary stencils are chosen so that the operator satisfies a summationbyparts property, which is the discrete counterpart of the integrationbyparts principle. With the SAT method imposing boundary and interface conditions, the SBPSAT finite difference method possesses a great advantage: it is possible to prove energy stability for high order accurate schemes for initialboundaryvalue problems.
To introduce the SBPSAT finite difference method, we consider the one dimensional domain [0, 1] discretized by the grid points \(x_j=jh, j=0,1,\ldots ,N\) with a constant grid spacing \(h=1/N\). We use the capital letter, for example, U, to denote a smooth function in [0, 1], and the corresponding small letter, u, to denote its values on the grid \(u=[U(x_0),U(x_1),\ldots ,U(x_N)]^T\).
Definitions of SBP Operators
The SBP concept and the first derivative SBP operator \(D_1\approx \partial /\partial x\) are introduced in [19], and later refined in [32]. Formally it is defined as follows.
Definition 1
A difference operator \(D_1=H^{1}Q\) approximating \(\partial /\partial x\) is a diagonal norm first derivative SBP operator if H is diagonal positive definite and \(Q+Q^T=\text {diag}(\,1,0,\ldots ,0,1)\).
The operator H defines the SBP norm, and leads to the identity
which is the discrete analogue of the integrationbyparts formula
since the norm H is also a quadrature [7, 14].
For the second derivative, we distinguish between a constant coefficient operator \(D_2\approx \partial ^2/\partial x^2\) and a variable coefficient operator \(D_2^{(b)}\approx \partial /\partial x (b(x)\partial /\partial x)\) with a known function \(b(x)>0\).
Definition 2
A difference operator \(D_2=H^{1}(M+BS)\) approximating \(\partial ^2/\partial x^2\) is a diagonal norm second derivative SBP operator if H is diagonal positive definite, M is symmetric positive semidefinite, \(B=\text {diag}(\,1,0,\ldots ,0,1)\), and the first and last row of S approximate \(\partial /\partial x\) at the two boundaries, respectively.
Such an operator is constructed in [25]. It is later found in [3, 23] that the operator M in \(D_2\) satisfies the following property.
Lemma 1
The symmetric positive semidefinite operator M can be written as
where \({\widetilde{M}}\) is also symmetric positive semidefinite, \(\theta >0\) is a constant independent of h, B and S are the same as in Definition 2.
Lemma 1 is often referred to as the borrowing trick, as we can borrow from the positive semidefinite operator M a small, mesh dependent amount, with the resulting operator \({\widetilde{M}}\) still positive semidefinite. This property is essential for energy stability of problems with interfaces or Dirichlet boundary conditions.
For the variable coefficient case we have correspondingly
Definition 3
A difference operatolr \(D_2^{(b)}=H^{1}(M^{(b)}+B^{(b)}S)\) approximating \(\partial /\partial x (b(x)\partial /\partial x)\) is a diagonal norm second derivative variable coefficient SBP operator if H is diagonal positive definite, \(M^{(b)}\) is symmetric positive semidefinite, \(B^{(b)}=\text {diag}(b(x_0),0,\ldots ,0,b(x_N))\), and the first and last row of S approximate \(\partial /\partial x\) at the two boundaries, respectively.
Such an operator is constructed in [22], and the operator \(M^{(b)}\) has the following two important properties [34].
Lemma 2
The symmetric positive semidefinite operator \(M^{(b)}\) can be written as
where \({\widetilde{M}}\) is also symmetric positive semidefinite, \(\sigma >0\) is a constant independent of h, B and S are the same as in Definition 2, and
with a constant l independent of h.
Lemma 2 for the variable coefficient SBP operators is an analogue of Lemma 1 for the constant coefficient case. We note that \(b_m\) is the smallest value of the variable coefficient b(x) on the first and last l grid points. The smaller \(b_m\) is, the less we can borrow from \(M^{(b)}\).
Lemma 3
The SBP operator \(D_2^{(b)}\) is compatible with \(D_1\) if \(M^{(b)}\) can be written as
where \(R^{(b)}\) is symmetric positive semidefinite, and \(B^{(b)}\) is the same as in Definition 3.
Lemma 3 is essential for energy stability when mixed derivatives are present in the equation, for example the wave equation on curvilinear grids and the elastic wave equation.
The definitions and precise forms of the above operators can be found in [19, 21, 22, 25, 32]. These operators have the minimal interior stencil width. In addition, they have the same associated norm H for a given accuracy order. In the stability analysis, we only consider numerical treatment of interface conditions. As a consequence, the operator B in the preceding lemmas only has one nonzero element, corresponding to the terms on the interface.
The interior stencil of an SBP operator is the standard central finite difference stencil with truncation error \({\mathcal {O}}(h^{2p})\). On a few grid points near boundaries, special onesided stencils are used to fulfill the SBP requirement with a larger truncation error \({\mathcal {O}}(h^p)\). Operators \(D_1\) and \(D_2\) with \(p=1,2,3,4\) are constructed in [19, 32] and [25], respectively. The variable coefficient operators \(D_2^{(b)}\) with \(p=1,2,3\) are constructed in [21].
In this paper, we call the above SBP operators \(2p^{th}\) order accurate. When using in a numerical scheme, we also call the scheme \(2p^{th}\)order accurate, even though the truncation error of the numerical scheme may not be \({\mathcal {O}}(h^{2p})\) or \({\mathcal {O}}(h^p)\). In the discussion of accuracy, we make the truncation error of the scheme precise.
The SAT Method
An SBP operator only approximates a certain derivative, but does not impose any boundary condition. The boundary conditions must be imposed carefully so that an energy estimate can be obtained to ensure stability. This can be done by for example the SAT method [4], the projection method [26,27,28] and the ghost points method [29]. In this paper, we choose the SAT method to impose both boundary and interface conditions, since in many cases it is easy to derive an energy estimate. The key ingredient of the SAT method is to add penalty terms to the semidiscretized equation and choose penalty parameters so that an energy estimate is obtained. This technique bears a similarity to the Nitsche’s finite element method [31], and the discontinuous Galerkin method [2, 10]. Detailed discussions of the SBPSAT finite difference methods can be found in [8, 33].
The Wave Equation on a Cartesian Grid
We start by considering the wave equation in two space dimensions in a composite domain \(\Omega = [0,1]^2\) with an interface \(\Gamma \) at \(x=0.5\). The left and right domain are denoted by \(\Omega _u\) and \(\Omega _v\), respectively, and the equations are
At the interface the physical conditions are
For a wellposed problem, suitable boundary conditions must be imposed at the boundaries. As the focus in this paper is the numerical treatment of interface coupling, we exclude discussions on boundary conditions and the corresponding numerical techniques. We refer to [18] for physical boundary conditions, and [24] for the numerical techniques.
To solve (2)–(4), we start by generating a Cartesian grid in each domain independently with \(n_{ux}\times n_{uy}\) grid points in \(\Omega _u\) and \(n_{vx}\times n_{vy}\) grid points in \(\Omega _v\). We are particularly interested in a nonconforming interface when \(n_{uy}\ne n_{vy}\). In this case, the solutions on the interface must be interpolated. We denote \(I_{u2v}\) and \(I_{v2u}\) interpolation operators that interpolate the solution from \(\Omega _u\) to \(\Omega _v\), and from \(\Omega _v\) to \(\Omega _u\), respectively. In the SBPSAT finite difference framework, these operators must satisfy certain conditions so that the scheme could be energy stable.
Definition 4
Let \(H_{u}\) and \(H_{v}\) denote the SBP norms on the interface for the grid in \(\Omega _u\) and \(\Omega _v\), respectively. The interpolation operators \(I_{u2v}\) and \(I_{v2u}\) are normcompatible if
In [37], it is also defined that the interpolation operators are normcontracting if the two operators
are symmetric positive semidefinite, where \(I_u\) and \(I_v\) are identity operators.
Normcompatible interpolation operators are first constructed in [22] for the case of a 1:2 mesh refinement ratio, and are extended to an arbitrary ratio in [16]. The accuracy property of these interpolation operators has a similar fashion as the corresponding SBP operators. More precisely, the interpolation error is \({\mathcal {O}}(h^{2p})\) in the interior of the interface, and \({\mathcal {O}}(h^{p})\) on a few grid points near the edge of the interface. Therefore, the interpolation is exact only for polynomials of order up to \(p1\). In [20], it is proved that it is not possible to construct normcompatible interpolation operators \(I_{u2v}\) and \(I_{v2u}\) such that both interpolate polynomials of order p or higher.
A stable SBPSAT finite difference method for solving (2)–(4) is presented in [37]. Energy stability is proved by assuming the interpolation operators are normcompatible and normcontracting. While the normcompatible condition can be constrained when constructing the operators, it is not easy to take into account the normcontracting condition. In fact, the interpolation operators with higher than fourth order accuracy in [16, 22] are not normcontracting.
Below we present a new way of imposing the interface conditions (4) with the advantage that an energy estimate is obtained without requiring the interpolation operators to be normcontracting. For cleaner notations, terms imposing boundary conditions are omitted.
Equation (2)–(4) are discretized in space as
where
and
The numerical solution vectors u and v approximate the true solution U and V, respectively. The solution vectors are arranged columnwise, i.e. the first few elements of u and v correspond to the solutions on the left boundary of \(\Omega _u\) and \(\Omega _v\), respectively. Most operators in two space dimensions can be extended from the corresponding one dimensional operators by using a Kronecker product \(\otimes \). Such two dimensional operators are denoted by bold letters, with the subscript indicating the spatial direction and the grid function that the operator is associated to. For example, the operator \(\varvec{H_{ux}^{1}}\) equals to \(H_{ux}^{1}\otimes I_{uy}\), where \(H_{ux}^{1}\) is the inverse of the SBP norm in the xdirection acting on u, and \(I_{uy}\) is an identity operator. The operator \(\varvec{E}\) extracts the numerical solution at the interface. \(\varvec{D_u}u\) and \(\varvec{D_v}v\) are SBP approximations of \(U_{xx} + U_{yy}\) and \(V_{xx} + V_{yy}\), respectively.
We compare the above scheme with the ones described in [34, 37] by discussing the penalty terms (8a)(8d). A term like \(\varvec{E_{ux}}u\) used in [34, 37] is broken into two parts: \(1/2\varvec{E_{ux}}u\) in (8b) and \(1/2E_{ux}\otimes I_{v2u}I_{u2v}u\) in (8c). Note the relation between them: \(E_{ux}\otimes I_{v2u}I_{u2v}u\) is just \(\varvec{E_{ux}}u\) interpolated to the grid on the interface of \(\Omega _v\), then interpolated back to the grid of \(\Omega _u\). Since the interpolation is not exact, \(E_{ux}\otimes I_{v2u}I_{u2v}u\) differs from \(\varvec{E_{ux}}u\) by the truncation error of the interpolation operators. It is this change in penalty terms that makes the scheme stable without requiring the interpolation operators to be normcontracting. We summarize the stability result in the following theorem.
Theorem 1
With normcompatible interpolation operators, the semidiscretization (6)(7) is stable for any \(\tau \) such that
where \(\theta \) is the constant in Lemma 1, and \(h_{ux}\) and \(h_{vx}\) are the mesh size in the xdirection in \(\Omega _u\) and \(\Omega _v\), respectively.
Proof
We prove stability by the energy method. Multiplying from the left of (6) by \(u_t^T (H_{ux}\otimes H_{uy})\) and (7) by \(v_t^T (H_{vx}\otimes H_{vy})\), we obtain
We note that the lefthand side of the above equation can be written as the time derivative of a quadratic term. The main idea of deriving an energy estimate is to move all terms on the righthand side to the left, and determine the penalty parameter \(\tau \) so that all terms on the lefthand side can be written as the time derivative of a nonnegative quantity, i.e. the discrete energy.
To do so, we use the borrowing trick in Lemma 1 for the SBP operators in the xdirection, and the normcompatible property (5) of the interpolation operators, to obtain the change of energy \({\mathbf {G}}\) as
where
Clearly, \(\mathbf {G_1}\ge 0\). By Young’s inequality, we have \(\mathbf {G_2}\ge 0\) and \(\mathbf {G_3}\ge 0\) if \(\tau \ge 1/(2\theta h_{ux})\) and \(\tau \ge 1/(2\theta h_{vx})\), respectively. Therefore, the energy is conserved and the scheme is stable when (10) is satisfied. \(\square \)
We note that in the scheme developed in [37] the energy is greater or equal to \({\mathbf {G}}\) in (11), with the inequality resulted from the normcontracting condition.
The Wave Equation on Curvilinear Grids
In this section, we generalize the scheme to problems on curvilinear grids. We consider two cases: conforming blocks and nonconforming blocks, which are illustrated in Fig. 1a, b, respectively.
Numerical Interface Treatment of Conforming Blocks
With only conforming blocks in the domain, the corners of adjacent blocks meet. We consider again the domain \(\Omega =[0,1]^2\) but partitioned into two blocks \(\Omega _u\) and \(\Omega _v\) by a curved interface. The grids are then constructed independently in each block, see an illustration in Fig. 1a. The grids in each block are mapped to a Cartesian grid in a reference domain. The governing equations are also transformed from the physical domain to the reference domain, and the computation is performed in the reference domain. We refer to the textbook [15] for a detailed discussion on grid generation.
The transformed equation in the reference domain can be derived by using the chain rule in calculus. We omit its derivation, and refer to [1]. With (x, y) denoting the coordinate in the reference domain, the unknown variables U and V are governed by the equation
where the Jacobians \(J_U,J_V>0\) and the variable coefficients satisfy \(acb^2>0\) and \(\alpha \gamma \beta ^2>0\). The interface conditions become
on \((x,y)\in \Gamma \). The coefficients in (12) consist of metric derivatives that depend on the geometry of the physical domain and the transformation. The metric derivatives can either be computed analytically, or approximated to sufficient high accuracy. In the experiments in this paper, we choose the latter approach by using a tenth order finite difference stencil, making sure that the approximation of metric terms does not affect the overall accuracy of the numerical scheme.
As shown in [34], the equation (12) together with the interface condition (13) admit a continuous energy estimate, thanks to the positive definiteness of the matrices \(\begin{bmatrix} a&b \\ b&c \end{bmatrix}\) and \(\begin{bmatrix} \alpha&\beta \\ \beta&\gamma \end{bmatrix}\) because of \(acb^2>0\) and \(\alpha \gamma \beta ^2>0\).
The equations in (12) are discretized by using the SBP operators, and the two blocks are patched together by the SAT method. The semidiscretized equations are
where
and
We now clarify the notations in the semidiscretization (14).

1.
The mixedderivative terms: \((bU_y)_x\) is approximated by \(\varvec{D_{1ux}}{\Lambda _b}\varvec{D_{1uy}}u\), where \({\Lambda _b}\) is a diagonal matrix with diagonal entries b(x, y) evaluated on the grid. The operators approximating the other three mixedderivative terms are constructed in a similar way.

2.
The variablecoefficient terms: In general the variable coefficients are functions of both x and y, therefore an operator approximating \((aU_x)_x\) cannot be constructed by a single Kronecker product, but as a sum
$$\begin{aligned} \overline{D_{2ux}^{(a)}}=\sum _{i=1}^{n_{uy}} D_{2ux}^{(a_i)}\otimes E_{uy}^i, \end{aligned}$$where \(a_i\) is \(a(x_i,y)\) evaluated on the grid, and \(E_{uy}^i\) has value one in entry (i, i) and zeros elsewhere. The second derivative operator \(D_{2ux}^{(a_i)}\) is defined in Definition 3 with the operator \(M^{(a_i)}\) satisfying Lemma 2 and 3. The operators approximating the other three variable coefficient terms are constructed in a similar way.

3.
The penalty terms: The two interpolation operators \(I_{u2v}\) and \(I_{v2u}\) constructed in [16, 22] satisfy the normcompatible condition
$$\begin{aligned} H_{uy}I_{v2u}=(H_{vy}I_{u2v})^T. \end{aligned}$$
Similar to the continuous case, the matrices \(\Lambda _u=\begin{bmatrix} \Lambda _a&\Lambda _b \\ \Lambda _b&\Lambda _c \end{bmatrix}\) and \(\Lambda _v=\begin{bmatrix} \Lambda _\alpha&\Lambda _\beta \\ \Lambda _\beta&\Lambda _\gamma \end{bmatrix}\) are positive definite. In fact, the eigenvalues of \(\Lambda _u\) and \(\Lambda _v\) play an important role in the stability analysis. In particular, we will use the smallest eigenvalue
where \(i=1,2,\ldots , n_{ux},\ j=1,2,\ldots , n_{uy},\ k=1,2,\ldots , n_{vx},\ l=1,2,\ldots , n_{vy}\). Note that \(\delta >0\), \(a_{ij}\delta \ge 0\) and \(\alpha _{ij}\delta \ge 0\).
Let \(a_{\max }\), \(b_{\max }\), \(\alpha _{\max }\) and \(\beta _{\max }\) denote the maximum values of the variable coefficients a(x, y), b(x, y), \(\alpha (x,y)\) and \(\beta (x,y)\) evaluated on the interface, respectively. We also denote \(h_{ux}\) and \(h_{vx}\) the mesh size in the xdirection in \(\Omega _u\) and \(\Omega _v\), respectively. Stability of the semidiscretization is given by the following theorem.
Theorem 2
The semidiscretization (14)–(16) is stable if the interpolation operators \(I_{u2v}\) and \(I_{v2u}\) are normcompatible and the penalty parameter \(\tau \) satisfies
where \(\sigma \) is defined in Lemma 2, and \(\delta \) is defined in (17).
Proof
See “Appendix”. \(\square \)
We remark that it is possible to use a penalty parameter that varies on grid points, and such a scheme is proposed in [34] for problems with conforming interfaces. The penalty parameter \(\tau \) used in Theorem 2 corresponds to the largest value on all grid points. We also note that when the penalty parameter is chosen to be equal to the stability limit, accuracy deduction has been observed, and proved in some settings by a normal mode analysis [35]. Though there is no upper bound of \(\tau \) for energy stability, a very large penalty parameter increases the spectral radius of the spatial discretization, and leads to a small time step.
For accuracy, the SBP operators have truncation error \({\mathcal {O}}(h^{2p})\) in the interior and \({\mathcal {O}}(h^p)\) near the boundaries and the interface. The interpolation operators constructed in [16, 22] have truncation error \({\mathcal {O}}(h^{2p})\) in the interior of the interface, and truncation error \({\mathcal {O}}(h^p)\) on a few grid points near the edge of the interface. Therefore, in the semidiscretization (14), the largest truncation error is \({\mathcal {O}}(h^{p2})\) introduced by the first three penalty terms in (15) and (16) because of \(\tau ,\varvec{H_{ux}^{1}},\varvec{H_{uy}^{1}}\sim {\mathcal {O}}(h^{1})\). The truncation error \({\mathcal {O}}(h^{p2})\) is only localized on a few number of grid points at the corner of two adjacent blocks. According to the accuracy analysis in [36], we may expect a rate of convergence \(p+1\) of the semidiscretization (14), the same as the scheme developed in [37]. Note that the \(p+1\) convergence rate is one order lower than the expected convergence rate when the grid interface is conforming. If the interpolation error at the edge could be improved to \({\mathcal {O}}(h^{p+1})\), then the expected rate of convergence would be \(p+2\). However, it is proved in [20] that such normcompatible interpolation operators cannot be constructed.
Numerical Interface Treatment of Nonconforming Blocks
An example of nonconforming blocks is shown in Fig. 1b. The lower left corner of the upper right domain sits in the middle of the right boundary of the left domain. Such an interface configuration is sometimes called a Tjunction interface.
For a Tjunction interface, the interface conditions must be imposed on the glue grid, which is different from what is usually done for conforming blocks. The technique and the corresponding interpolation operators are constructed in [16], and are used for a Tjunction interface on a Cartesian grid in [37]. On a curvilinear grid, the discretization is performed in a similar way, but the grid transformation must be done carefully.
Coordinate transformation is performed blockwise, therefore an interface between two blocks is transformed twice. A common strategy is to transform each block in the physical domain to the unit square in the reference domain. This works well with conforming blocks. However, with nonconforming blocks such as in Fig. 1b the interfaces are transformed differently in different blocks. As a consequence, the transformed equation must be scaled as explained in [16] to obtain an energy stable scheme. The energy stable semidiscretization can then be constructed in a similar way as in the preceding sections.
Numerical Experiments
In this section, numerical experiments are performed to verify the stability and accuracy property of the numerical schemes developed in this paper. The diagonal norm SBP operators used in the numerical experiments can be found in [32] for \(D_1\approx \partial /\partial x\) and in [21] for \(D_2^{(b)}\approx \partial /\partial x (b(x)\partial /\partial x)\). The interpolation operators can be found in [16, 22]. The \(\hbox {L}_2\) errors are computed as the norm of the difference between the exact solution \(u_{ex}\) and the numerical solution \(u_h\) according to
where \(h_{x}\) and \(h_{y}\) are the mesh size in the x and y spatial direction, respectively.
An Extreme Interface
We consider the wave equation on the domain \([\,1,1]\times [0,1]\), separated by the interface \(x = 4\sin (7\pi y)/5\). The domain and mesh are depicted in Fig. 2a, b, respectively. The aim of this experiment is to verify that the scheme is stable even when an interface with a large curvature is present in the domain, but not to test accuracy or convergence rate. As can be seen in Fig. 2b, the mesh is of bad quality due to large distortion.
The wave equation is discretized by the sixth order SBP operators in each subdomain, and patched together by the SAT method using the sixth order interpolation operators [22]. The semidiscretization can be written as a system of ordinary differential equations
where w is the numerical solution, \({\varvec{D}}\) is the spatial discretization operator including boundary and interface terms, and F corresponds to the forcing function and boundary data evaluated on the grid.
First, we use \(21\times 21\) grid points in the left domain and \(41\times 41\) grid points in the right domain, and perform an eigenvalue analysis. Stability requires that all the eigenvalues of \({\varvec{D}}\) are real and nonpositive. In Fig. 3a, we plot the eigenvalues of \({\varvec{D}}\) multiplied by the square of the mesh size in the right domain, denoted by \(\lambda \), and observe that they are indeed real and nonpositive.
Next, we test the scheme with a much finer mesh, \(101\times 101\) grid points in the left domain and \(201\times 201\) grid points in the right domain. Instead of an eigenvalue analysis, we perform a long time simulation by using the manufactured solution
for initial and Neumann boundary data. We choose the classical RungeKutta method as the time integrator, and let the wave propagate for ten temporal periods. The \(\hbox {L}_2\) error at each time step is plotted in Fig. 3b. We observe that the \(\hbox {L}_2\) error is bounded in time.
A TJunction Interface
We consider the same domain \([\,1,1]\times [0,1]\) as in the previous experiment, but with interfaces depicted in Fig. 1b. The interface in the vertical direction is defined by \(x=\sin (3\pi y/2)/3\). The intersection point \((\bar{x},\bar{y})\) of the two interfaces is chosen by letting \(\bar{y}=0.621\). The interface in the horizontal direction is defined by \(y=\sin (\pi x/2)/5+\bar{y}\sin (\pi \sin (3\pi \bar{y}/2)/6)/5\). The numbers of grid points in the left, lower right and upper right domain are \(26\times 52, 26\times 26\) and \(51\times 26\), respectively. Both the blocks and interfaces are nonconforming, see a closeup in Fig. 4a. When refining the mesh, the number of grid points is doubled in each spatial direction in each domain.
To test accuracy and rate of convergence, we use the manufactured solution
to obtain initial and Neumann boundary data, and propagate the wave until \(t=2\). With this analytical solution, there is no forcing term in the equation.
We solve the equation by the fourth and sixth order SBPSAT finite difference method, and use the classical RungeKutta method to integrate in time. Since the interface in this experiment is a Tjunction, we use the fourth and sixth order accurate interpolation operators constructed in [16]. The time step is chosen small enough so that the error in the solution is determined by the spatial discretization. The errors in \(\hbox {L}_2\) norm are shown in Fig. 4b, and the associated rates of convergence are given at the end of each error plot. In the figure, we use new SAT as the legend to denote the results obtained by the scheme in this paper, and old SAT to denote the result obtained by the scheme in [37]. The xaxis label N is the number of grid points in the xdirection in the left domain.
We observe that the fourth and sixth order accurate scheme lead to third and fourth order convergence rate, respectively. This agrees well with the accuracy discussion in the end of Sect. 4.1 in this paper. We note that the sixth order method gives much smaller error than the fourth order methods. In addition, the fourth order method developed in this paper gives a smaller error than the fourth order method in [37]. We have also performed an experiment with the sixth order method in [37] and the numerical solution quickly blows up, indicating that method is unstable. This is not surprising because the energy analysis in [37] requires the normcompatible condition of the interface operators, which is not satisfied by the sixth order operators.
Conclusion
We use the SBPSAT finite difference method to solve the wave equation on a composite domain. The domain is divided by curved interfaces resulting in nonconforming blocks, and the grid is constructed in each block independently resulting in nonconforming grid interfaces. We develop new penalty terms to patch the blocks together by the SAT method. This extends the provably stable scheme from fourth order accuracy [37] to sixth order accuracy. Numerical experiments demonstrate the superiority of the new sixth order accurate scheme. In addition, we find that the new fourth order accurate scheme is more accurate than the fourth order accurate scheme in [37].
We note that eighth order and tenth order interpolation operators are constructed in [16], and can potentially be incorporated into the developed scheme in this paper. However, higher than sixth order accurate SBP operators for second derivative with variable coefficient have not yet been reported.
References
Almquist, M., Karasalo, I., Mattsson, K.: Atmospheric sound propagation over largescale irregular terrain. J. Sci. Comput. 61, 369–397 (2014)
Appelö, D., Hagstrom, T.: A new discontinuous Galerkin formulation for wave equations in secondorder form. SIAM J. Numer. Anal. 53, 2705–2726 (2015)
Appelö, D., Kreiss, G.: Application of a perfectly matched layer to the nonlinear wave equation. Wave Motion 44, 531–548 (2007)
Carpenter, M.H., Gottlieb, D., Abarbanel, S.: Timestable boundary conditions for finitedifference schemes solving hyperbolic systems: methodology and application to highorder compact schemes. J. Comput. Phys. 111, 220–236 (1994)
Carpenter, M.H., Nordström, J., Gottlieb, D.: A stable and conservative interface treatment of arbitrary spatial accuracy. J. Comput. Phys. 148, 341–365 (1999)
Carpenter, M.H., Nordström, J., Gottlieb, D.: Revisiting and extending interface penalties for multidomain summationbyparts operators. J. Sci. Comput. 45, 118–150 (2010)
Del Rey Fernández, D.C., Boom, P.D., Zingg, D.W.: A generalized framework for nodal first derivative summationbyparts operators. J. Comput. Phys. 266, 214–239 (2014)
Del Rey Fernández, D.C., Hicken, J.E., Zingg, D.W.: Review of summationbyparts operators with simultaneous approximation terms for the numerical solution of partial differential equations. Comput. Fluids 95, 171–196 (2014)
Fornberg, B.: Calculation of weights in finite difference formulas. SIAM Rev. 40, 685–691 (1998)
Grote, M.J., Schneebeli, A., Schötzau, D.: Discontinuous Galerkin finite element method for the wave equation. SIAM J. Numer. Anal. 44, 2408–2431 (2006)
Gustafsson, B.: High Order Difference Methods for Time Dependent PDE. Springer, Berlin (2008)
Gustafsson, B., Kreiss, H.O., Oliger, J.: TimeDependent Problems and Difference Methods. Wiley, Hoboken (2013)
Hagstrom, T., Hagstrom, G.: Grid stabilization of highorder onesided differencing II: secondorder wave equations. J. Comput. Phys. 231, 7907–7931 (2012)
Hicken, J.E., Zingg, D.W.: Summationbyparts operators and highorder quadrature. J. Comput. Appl. Math. 237, 111–125 (2013)
Knupp, P., Steinberg, S.: Fundamentals of Grid Generation. CRC Press, Boca Raton (1993)
Kozdon, J.E., Wilcox, L.C.: Stable coupling of nonconforming, highorder finite difference methods. SIAM J. Sci. Comput. 38, A923–A952 (2016)
Kreiss, H.O., Oliger, J.: Comparison of accurate methods for the integration of hyperbolic equations. Tellus XXIV 24, 199–215 (1972)
Kreiss, H.O., Ortiz, O.E., Petersson, N.A.: Initialboundary value problems for second order systems of partial differential equations. ESAIMMath. Model. Num. 46, 559–593 (2012)
Kreiss, H.O., Scherer, G.: Finite element and finite difference methods for hyperbolic partial differential equations, pp. 195–212. In: Symposium proceedings, Mathematical aspects of finite elements in partial differential equations (1974)
Lundquist, T., Nordström, J.: On the suboptimal accuracy of summation–by–parts schemes with non–conforming block interfaces, Linköping University technical report (2016)
Mattsson, K.: Summation by parts operators for finite difference approximations of secondderivatives with variable coefficient. J. Sci. Comput. 51, 650–682 (2012)
Mattsson, K., Carpenter, M.H.: Stable and accurate interpolation operators for highorder multiblock finite difference methods. SIAM J. Sci. Comput. 32, 2298–2320 (2010)
Mattsson, K., Ham, F., Iaccarino, G.: Stable and accurate wavepropagation in discontinuous media. J. Comput. Phys. 227, 8753–8767 (2008)
Mattsson, K., Ham, F., Iaccarino, G.: Stable boundary treatment for the wave equation on secondorder form. J. Sci. Comput. 41, 366–383 (2009)
Mattsson, K., Nordström, J.: Summation by parts operators for finite difference approximations of second derivatives. J. Comput. Phys. 199, 503–540 (2004)
Mattsson, K., Nordström, J.: High order finite difference methods for wave propagation in discontinuous media. J. Comput. Phys. 220, 249–269 (2006)
Olsson, P.: Summation by parts, projections, and stability. I. Math. Comput. 64, 1035–1065 (1995)
Olsson, P.: Summation by parts, projections, and stability. II. Math. Comput. 64, 1473–1493 (1995)
Petersson, N.A., Sjögreen, B.: Stable grid refinement and singular source discretiztion for seismic wave simulations. Commun. Comput. Phys. 8, 1074–1110 (2010)
Sjögreen, B., Petersson, N.A.: A fourth order accurate finite difference scheme for the elastic wave equation in second order formulation. J. Sci. Comput. 52, 17–48 (2012)
Sticko, S., Kreiss, G.: A stabilized Nitsche cut element method for the wave equation. Comput. Methods Appl. Mech. Eng. 309, 364–387 (2016)
Strand, B.: Summation by parts for finite difference approximations for d/dx. J. Comput. Phys. 110, 47–67 (1994)
Svärd, M., Nordström, J.: Review of summationbyparts schemes for initialboundaryvalue problems. J. Comput. Phys. 268, 17–38 (2014)
Virta, K., Mattsson, K.: Acoustic wave propagation in complicated geometries and heterogeneous media. J. Sci. Comput. 61, 90–118 (2014)
Wang, S., Kreiss, G.: Convergence of summationbyparts finite difference methods for the wave equation. J. Sci. Comput. 71, 219–245 (2017)
Wang, S., Nissen, A., Kreiss, G.: Convergence of finite difference methods for the wave equation in two space dimensions. Math. Comput. (Accepted)
Wang, S., Virta, K., Kreiss, G.: High order finite difference methods for the wave equation with nonconforming grid interfaces. J. Sci. Comput. 68, 1002–1028 (2016)
Acknowledgements
The author would like to thank Professor Gunilla Kreiss at Uppsala University for the fruitful discussion and support.
Author information
Authors and Affiliations
Corresponding author
Appendix
Appendix
Stability is proved by the energy method, starting with multiplying the two semidiscretized equations in (14) from the left by \(u_t^T {H_u}\) and \(v_t^T {H_v}\), respectively, where \( {H_u}:=H_{ux}\otimes H_{uy}\) and \( {H_v}:=H_{vx}\otimes H_{vy}\). In the following derivation, we focus on the energy contribution from the first equation in (14) as the energy contribution from the second equation in (14) can be computed in a similar way.
First, we consider the energy contribution from the penalty term \(SAT_u\):
In the final energy estimate, we expect to see that the discrete energy is conserved in time. We note that the first part of the third term in (19) can be written as the time derivative of a quadratic term
With a positive \(\tau \), the above term contributes positively to the discrete energy in terms of \(\varvec{E_{ux}}u\). By using the normcompatible property of the interpolation operators, we find that the first part of the second term in (19) can also be written as the time derivative of a quadratic term
which contributes to the energy positively in terms of \((E_{ux}\otimes I_{u2v})u\). We observe that in (19), there are also terms \(\varvec{E_{ux}S_{ux}}u\) and \(\varvec{E_{ux}D_{1uy}}u\). Therefore, we need the corresponding positive energy contributions, which come from the SBP operators as shown below.
The energy contribution from the two mixedderivative terms is
Note that we have used the equality (1) for \(\varvec{D_{1ux}}\) and \(\varvec{D_{1uy}}\), and have excluded boundary terms that do not correspond to the interface. On the righthand side of (20), the first two terms are volume terms, involving the numerical solution u in the entire domain \(\Omega _u\); the third term is an interface term, involving u on the interface.
The energy contribution from the SBP approximation is
where the two remainder terms are \(\overline{R^{(a)}_{ux}} = \sum _{i=1}^{n_{uy}} {R^{(a_i)}_{ux}}\otimes E^i_{uy}\) and \(\overline{R^{(c)}_{uy}} = \sum _{i=1}^{n_{ux}} {R^{(c_i)}_{uy}}\otimes E^i_{ux}\). On the righthand side of (21), the third is an interface term, while the others are volume terms. For the volume terms in (20) and (21), we have
Next, we split \(\begin{bmatrix} {\Lambda _a}&{ \Lambda _b} \\ {\Lambda _b}&{\Lambda _c} \end{bmatrix}\) into two parts, and obtain
where \({\varvec{I}}\) is an identity operator, and \(\delta \) is defined in (17). The first term in (22) is the time derivative of a nonpositive quantity. From the second term in (22), we need to get quadratic terms for both \(\varvec{E_{ux}D_{1ux}}u\) and \(\varvec{E_{ux}S_{ux}}u\) on the interface. We write
Note that in the above derivation, we use Lemma 3 to obtain (23), and Lemma 2 to obtain (24). We have obtained both the time derivative of quadratic terms for \(\varvec{E_{ux}S_{ux}}u\) and \(\varvec{E_{ux}D_{1ux}}u\).
After a very similar derivation of energy contribution for the second equation in (14), we move all terms to one side and write it in the form \(\frac{d}{dt}{\varvec{G}}=0\). The final step of the energy analysis is to determine the penalty parameter \(\tau \) so that \({\varvec{G}}\) is a discrete energy satisfying \({\varvec{G}}\ge 0\). With some algebraic calculations, we may write the energy contribution from all interface terms as \(x_I^T {\varvec{A}}x_I\), where \(x_I\) is the vector in the form
The matrix \({\varvec{A}}\) is a block matrix in the form \({\varvec{A}}=\begin{bmatrix} \varvec{A_1},&{\varvec{0}}, \\ {\varvec{0}},&\varvec{A_2} \end{bmatrix}\), where
We note that \(\varvec{A_1}\) is symmetric, and each submatrix of \(\varvec{A_1}\) is a diagonal matrix of dimension \(n_{uy}\). Therefore, we can write \(\varvec{A_1}\) as a sum of \(n_{uy}\) matrices, where the \(i^{th}\) matrix takes the \(i^{th}\) diagonal element of each submatrix with all the other elements zero. We then compute the eigenvalues of each matrix, and require them to be nonnegative. By considering \(\varvec{A_2}\) in the same way, we obtain the limit on the penalty parameter for which \({\varvec{A}}\) is positive semidefinite
where \(a_{\max }\), \(b_{\max }\), \(\alpha _{\max }\) and \(\beta _{\max }\) are the maximum of functions a(x, y), b(x, y), \(\alpha (x,y)\) and \(\beta (x,y)\) evaluated on the interface, respectively.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Wang, S. An Improved High Order Finite Difference Method for Nonconforming Grid Interfaces for the Wave Equation. J Sci Comput 77, 775–792 (2018). https://doi.org/10.1007/s1091501807239
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s1091501807239
Keywords
 Second order wave equation
 SBPSAT finite difference
 Nonconforming
 Multiblock
Mathematics Subject Classification
 65M06
 65M12