Journal of Scientific Computing

, Volume 77, Issue 2, pp 1278–1302 | Cite as

High-fidelity Sound Propagation in a Varying 3D Atmosphere

  • Ylva Rydin
  • Ken Mattsson
  • Jonatan Werpers
Open Access


A stable and high-order accurate upwind finite difference discretization of the 3D linearized Euler equations is presented. The discretization allows point sources, a varying atmosphere and curved topography. The advective terms are discretized using recently published upwind summation-by-parts (SBP) operators and the boundary conditions are imposed using a penalty technique. The resulting discretization leads to an explicit ODE system. The accuracy and stability properties are verified for a linear hyperbolic problems in 1D, and for the 3D linearized Euler equations. The usage of upwind SBP operators leads to robust and accurate numerical approximations in the presence of point sources and naturally avoids the onset of spurious oscillations.


Finite difference methods Aeroacoustics High-order accuracy Stability Boundary treatment Point sources 

1 Introduction

Numerical methods applicable to computational aeroacoustics is an active research field, requiring a deep knowledge of flow-physics, mathematical modeling, numerical analysis and computer science. A detailed review of the progress of computational aeroacoustics can be found in [10]. Commonly, different models are used for sound generation and sound propagation. Sound generation is a highly non-linear phenomenon while sound propagation over long distances is a mostly linear phenomenon. It is therefore natural to treat these two physical phenomena with different models and numerical techniques. In the present study the main focus is to capture sound propagation over long distances efficiently, under the assumption that the sound source can be accurately modeled as a point-source. Due to the linear nature of long-range sound propagation it can be modeled using the three dimensional (3D) linearized Euler equations. This model can give more accurate results than other commonly used models. Such models include for example, ray-tracing, and diffusion based models (see e.g. [37, 52]). The Euler equations includes effects from variations in the atmosphere and wind that are usually neglected in these types of models [19].

It is well known that compared to first- and second-order accurate methods, higher order methods capture wave dominated phenomena such as sound propagation more efficiently since they, for a given error tolerance, allow a considerable reduction in the degrees of freedom. In particular, high-order finite difference methods (HOFDM) are ideally suited for problems of this type. See the pioneering paper by Kreiss and Oliger [22]. The major difficulty with HOFDM is to obtain a stable boundary treatment, something that has received considerable past attention concerning hyperbolic and parabolic problems. (For examples, see [1, 7, 14, 20, 24, 46]). Another difficulty concerns non-smooth data such as point sources [42].

The main focus in this study is to develop a stable HOFDM for the linearized Euler equations in a 3D varying atmosphere with curved topography in the presence of point sources. A well-proven HOFDM for well-posed initial boundary value problems (IBVP), is to combine summation-by-parts (SBP) operators for approximating derivatives [23, 31, 45], and either the simultaneous-approximation-term (SAT) method [9], or the projection method [32, 40, 41, 42], to impose boundary conditions (BC). Recent examples of the SBP–SAT approach can be found in [5, 15, 21, 27, 28, 36, 38]. The following review papers [13, 49] are highly recommended for those interested in the SBP–SAT methodology. The SBP operators found in literature are essentially central finite difference stencils (see for example [4, 12, 23, 25, 26, 31, 45]). These SBP operators are closed at the boundaries with a careful choice of one-sided difference stencils, to mimic the underlying integration-by-parts formula in a discrete inner product. In this study, central-difference SBP operators defined on a regular equidistant grid will be referred to as standard SBP operators.

For linear IBVP with smooth data (here referring either to physical data or the underlying curvilinear grid) an SBP–SAT approximation constructed from standard SBP operators yields a stable and accurate approximation. For IBVP with non-smooth data or non-linear problems, the exclusive usage of standard SBP operators in combination with SAT or projection does not guarantee an accurate solution, even though the scheme is stable. To damp spurious oscillations, the addition of artificial dissipation is most often necessary. Adding robust and accurate artificial dissipation is far from trivial, and commonly involves tuning of parameters. It is imperative that the addition of artificial dissipation does not destroy the stability and accuracy properties or introduce stiffness, which in practice requires a careful boundary closure of the added artificial dissipation. A procedure for adding artificial dissipation to the standard SBP operators was introduced in [34]. In [27], SBP operators defined on a regular grid with non-central finite difference stencils in the interior are introduced, referred to as upwind SBP operators. An advantage of the upwind operators, compared to standard SBP operators, is that they naturally introduce artificial dissipation.

In acoustics, efficient techniques to truncate unbounded domains is an important topic that deserves special attention. For wave equations, two commonly used techniques to truncate unbounded domains are: local high-order Absorbing Boundary Conditions (ABC) and Perfectly Matched Layers (PML). The latest developments for the ABC and PML methods are nicely summarized in [18]. As mentioned in [6], the generalization of these methods to more general hyperbolic systems such as the linearized Euler equations has not been completely successful. In [3] the PML method was generalized towards the linearized Euler equations with constant background flow but it is unclear if that method can be extended to the case with variable coefficients. An alternative to ABC and PML is found in [11], where a buffer region technique for computing compressible flows on unbounded domains is proposed. An extension of this technique for the linearized Euler equations with variable coefficients is something we would like to address in a coming study. A well-proven, first order accurate, non-reflecting BC for Euler and Navier–Stokes equations is to impose homogeneous characteristic BC (see for example [47, 50]). Since boundary treatment is not the main focus of the present study, we will employ this method.

The main result of this work is the formulation of a stable and high-order accurate upwind SBP–SAT discretization applicable to the linearized Euler equations in a 3D varying atmosphere and topography with a point source. We show that the usage of upwind SBP operators, as compared to standard SBP operators, leads to more accurate and robust approximations, in particular when modeling sound generation from point sources and in wave boundary interactions. The most significant difference between the schemes is observed on coarse grids, where spurious oscillations is the main error source in the standard discretization.

In Sect. 2 the SBP operators are introduced in one dimension (1D). To illustrate some of the difficulties related to the point source in a simple setting, the stability analysis for a 1D hyperbolic system is discussed in Sect. 3. The accuracy properties are verified by performing 1D numerical simulations, including point sources. The extension to the linearized Euler equations in a 3D varying atmosphere is introduced in Sect. 4 and the stability analysis is discussed in Sect. 5. Verification of accuracy and stability by numerical studies of the 3D Euler equations is performed in Sect. 6. Section 7 summarizes the work.

2 The SBP Operators

In this section we introduce the upwind and standard SBP operators and discuss their properties. Before we start, some definitions are needed. Let the inner product for real-valued functions \(u,v \in L^2[x_l,x_r]\) be defined by \((u,v)=\int _{x_l}^{x_r}u\,v\,dx\) and let the corresponding norm be \(\Vert u\Vert ^2=(u,u)\). The domain (\(x_l \le x \le x_r\)) is discretized using the following N equidistant grid points:
$$\begin{aligned} x_i=x_l+(i-1)\,h,\quad i=1,2,\ldots ,N, \quad h=\frac{x_r-x_l}{N-1}\;. \end{aligned}$$
The approximate solution at grid point \(x_i\) is denoted \(v_i\). The discrete solution vector is given by \(v^T=[v_1, v_2, \ldots , v_N]\). We define an inner product for discrete real-valued vector functions \(u,v \in \mathbf {R^{N}}\) by \((u,v)_{H}=u^T\,H\,v\), where H is positive definite. The corresponding norm is \(\Vert v\Vert _{H}^2=v^T\,H\,v\). In the definitions and discretizations the following vectors (and matrix) will be used frequently:
$$\begin{aligned} \begin{array}{ll} \mathbf{x}=[x_1,\, x_2,\ldots , x_{N-1},\,x_N]^T,&{}\quad \mathbf{x}^q=\frac{1}{q\,!}[x_1^q,\, x_2^q,\ldots , x_{N-1}^q,\,x_N^q]^T\\ \mathbf{1}=\mathbf{x}^0=[1,\, 1,\ldots , 1,\,1]^T,&{}\quad \mathbf{0}= \mathbf{x}^{-1}=[0,\, 0,\ldots , 0,\,0]^T\\ e_l = [1,0,\ldots ,0]^T,&{}\quad e_r = [0,\ldots ,0,1]^T\;,\\ B=e_r e_r ^T-e_l e_l ^T\;.&{}\\ \end{array} \end{aligned}$$

2.1 Standard SBP Operators

The standard SBP operators can be found in earlier papers (see e.g. [4, 25, 29, 30, 31, 33, 35]). For completeness we restate the definition for these first derivative SBP operators:

Definition 2.1

A difference operator \(D_1=H^{-1}\left( Q+\frac{B}{2}\right) \), approximating \(\partial /\partial \,x\), using a pth-order accurate interior stencil, is said to be a pth-order diagonal-norm first-derivative SBP operator if the diagonal matrix H defines a discrete inner product, and \(Q+Q^T=0\).

2.2 Upwind SBP Operators

In a recent study [27] diagonal-norm SBP operators with non-central interior stencils were introduced, referred to as upwind SBP operators,

Definition 2.2

The difference operators \(D_{+}=H^{-1}\left( Q_{+}+\frac{B}{2}\right) \) and \(D_{-}=H^{-1}\left( Q_{-}+\frac{B}{2}\right) \) approximating \(\partial /\partial \,x\), using pth-order accurate interior stencils, are said to be pth-order diagonal-norm upwind SBP operators if the diagonal matrix H defines a discrete norm, \(Q_{+}+Q_{-}^T=0\), and \(\frac{Q_{\pm }+Q_{\pm }^T}{2}=\pm S\), where S is negative semi-definite.

One important property of the upwind SBP operators, compared to the standard operators, is the symmetric part of \(Q_\pm \) that when combined with flux splitting techniques, naturally introduce artificial dissipation which damps spurious oscillations. The usage of diagonal-upwind SBP operators in combination with the SAT technique of imposing BC allow for general stability proofs for linear hyperbolic and hyperbolic-parabolic systems of equations (see [27] for details).

2.3 Accuracy of SBP Operators

Let \(\tilde{D}\) denote either a standard SBP operator (i.e., \(D_1\), given by Definition 2.1) or an upwind SBP operator (i.e., \(D_{\pm }\), given by Definition 2.2). The following definition is relevant for the convergence properties of the SBP operators.

Definition 2.3

Let \(\mathbf{x}^q\) be the projection of the polynomial \(\frac{x^q}{q\,!}\) onto the discrete grid-points, i.e., the vector x. We say that \(\tilde{D}\) is pth-order if \(\tilde{D}\mathbf {x}^{q} = q\mathbf {x}^{q-1}\) for \(q=0\ldots p\), in the interior and for \(q=0 \ldots p/2\) or \(q=0 \ldots (p-1)/2\) for odd p, at the boundaries.

It is important to keep in mind that the formal boundary accuracy alone does not dictate the expected convergence rate of the numerical approximation. The expected convergence rate can be shown to be higher. In [48] it is shown that a point-wise stable approximation of an IBVP involving derivatives up to order q yields a convergence rate of order \(q+r\), where r is the order of accuracy at the boundaries. Let p denote the interior accuracy of a diagonal-norm SBP operator (both standard and upwind). The boundary accuracy for diagonal-norm SBP operators is restricted to (p / 2)th-order accuracy when p is even (see [31]), and \((p-1)/2\) when p is odd. The expected convergence rate for first order hyperbolic problems is \((r+1)\)th, and \((r+2)\)th for parabolic problems and second order hyperbolic problems. As an example both the 5th order upwind SBP operator and the 4th order standard SBP operator has \(r=2\) which gives the expected convergence rate 3 for first order hyperbolic IBVP. In the present study point-wise stability is not proven, but the numerical convergence studies presented in Sect. 6 indicate that the expected convergence rates from the assumption of point-wise stability are obtained.

3 A Scalar 1D Case

Since the 3D linearized Euler equations is a hyperbolic system of equations with varying coefficients, the discretization scheme is relativity complex (see Sects. 4 and 5). The motivation for the proposed numerical method is more clearly seen by first analyzing a simplified 1D scalar hyperbolic problem with constant coefficients. This simpler problem shares some of the important numerical difficulties with the full 3D linearized Euler equations, such as the numerical approximation of point sources. After comparing the upwind and standard discretization for the simplified 1D problem we will do a similar comparison for the 3D linearized Euler equations in Sect. 6.

The simplified problem we will be looking at is the following well-posed scalar hyperbolic equation,
$$\begin{aligned} \begin{array}{l l l } u_t+u_x=g(t)\delta (x-x_c),&{}\quad x \in (x_l,\,x_r), &{}\quad t> 0, \\ u=g_l(t),&{}\quad x=x_l,&{}\quad t> 0,\\ u=f(x),&{}\quad x \in [x_l,\,x_r],&{}\quad t=0, \end{array} \end{aligned}$$
including a point source placed at \(x_c\), where \(\delta (x)\) is the delta distribution and the source term function g(t) is a smooth function with \(g(0)=0\). Here f(x) is the initial data and \(g_l(t)\) the boundary data.

3.1 Point Source Discretization

A highly accurate discretization of point sources for hyperbolic problems, based on moment conditions, is introduced in [51]. For a moment condition of order \(M>0\), approximating \(\delta (x-x_c)\) we enforce that,
$$\begin{aligned} (d_,\phi _{m})_H=\phi _{m}(x_c), \quad \phi _{m}(\mathbf {x})=\mathbf {x}^m, \quad m=0,1,\dots ,M-1. \end{aligned}$$
where d is the discretization of \(\delta \). However, these moment conditions alone do not guarantee a high order approximation for hyperbolic problems discretized with standard SBP operators, since there is no damping mechanism for spurious oscillations related to the Nyquist mode, (sometimes referred to as the \(\pi \)-mode). Spurious oscillations are typically triggered by non-smooth features, for example point sources. In [42] a set of additional smoothness conditions were introduced, to prevent spurious oscillations when combining point sources and standard SBP operators. To enforce the smoothness conditions of order \(P>0\) we introduce the following additional constraint
$$\begin{aligned} (d,\phi _{s})_H=0, \quad \phi _{s}=(-1)^i\mathbf {x}_i^{s}, \quad s=0,1 \ldots , P-1, \quad i=1,2,\ldots ,N. \end{aligned}$$
In Fig. 1 we compare the numerical approximations of (2) using standard SBP operators with and without the additional smoothness conditions for the point source (this scheme (5) is introduced in Sect. 3.2). The necessity of the smoothness conditions is obvious from the figure.
Fig. 1

Solutions to (2) with Standard SBP operators (5), (Left) with only moment conditions, (Right) with moment and smoothness conditions

Apart from added complexity, an issue is that the smoothness conditions are constructed for the periodic problem, which introduces some complications if the sources are placed near physical boundaries. In this special case a modified boundary approximation of the smoothness conditions obtained by investigating the singular values of the difference operator is required (See [42] for details). In the present study we introduce an approach which naturally works for sources placed at the boundary.

Our approach is to replace the standard SBP operators (5) with upwind SBP operators (6), recently introduced in [27]. These operators introduce artificial dissipation which removes spurious oscillations without the additional smoothness conditions. In this work, the discretizations of the delta distribution combined with the standard and upwind operators will be denoted \(d_S\) and \(d_U\) respectively. In the standard case the discrete delta distribution \(d_S\) obeys both the smoothness and moment conditions up to the interior accuracy order of the SBP operators in the scheme. In the upwind case the smoothness conditions are unnecessary. Hence, \(d_U\) only obeys the moment conditions.

3.2 Two Different Schemes

In this section, comparison of the standard and the upwind SBP–SAT schemes discretizing (2) is presented. The semi-discrete SBP–SAT approximation of (2) using a standard first derivative SBP operator \(D_1\) is given by,
$$\begin{aligned} \frac{d}{dt}v+D_1v= g(t) d_S(x-x_c) +\tau H^{-1}(v_1-g_l(t))\,, \end{aligned}$$
where \(\tau \) is a penalty parameter chosen for stability and \(d_S\) is the discrete approximation of the delta distribution obeying both the moment and the smoothness conditions introduced in 3.1. The order of the moment and smoothness conditions is chosen to be the same as the accuracy order of \(D_1\).
The semi-discrete SBP–SAT approximation of (2) using an upwind first derivative SBP operator \(D_{-}\) is given by,
$$\begin{aligned} \frac{d}{dt}v+D_{-}v= g(t) d_U(x-x_c) +\tau H^{-1}(v_1-g_l(t))\,. \end{aligned}$$
In this case, the penalty parameter \(\tau \) is the same as in the standard case but the discrete approximation of the delta distribution \(d_U\), only obeys the moment conditions. Hence, in this setting no special conditions are needed when the point source is put near the boundary.

3.3 Stability Analysis

For stability, it is enough to study the homogeneous versions of (5) and (6), i.e., setting g(t) to zero. Therefore, the only difference in the stability analysis of the schemes (5) and (6) arise from the differences between the operators. Multiplying the homogeneous version of (5) by \(v^TH\) and adding the transpose yields,
$$\begin{aligned} \frac{d}{dt}\Vert v\Vert ^2_H=-v^T(Q+Q^T)v +v_1^2-v_N^2+ 2\tau v_1(v_1-g_l(t)). \end{aligned}$$
Stability follows by choosing \(\tau \le -\frac{1}{2}\). It can be shown that \(\tau =-\,1\) is a good choice, since it minimizes the spectral radius and also lead to dual-consistency [8]. By choosing \(\tau =-\,1\) we get the semi-discrete energy estimate
$$\begin{aligned} \frac{d}{dt}\Vert v\Vert _H^2=-v_N^2 + g_l(t)^2 - (v_1-g_l(t))^2. \end{aligned}$$
By the same procedure the upwind discretization (6) yields the energy estimate
$$\begin{aligned} \frac{d}{dt}\Vert v\Vert _H^2= -v^T(Q_-+Q_-^T)v +v_1^2-v_N^2+ 2\tau v_1(v_1-g_l(t)). \end{aligned}$$
Choosing \(\tau = -\,1\) (as in (8)) yields
$$\begin{aligned} \frac{d}{dt}\Vert v\Vert _H^2=- v_N^2 + g_l(t)^2 - (v_1-g_l(t))^2+2v^TSv. \end{aligned}$$
The difference between (8) and (10) is the term \(2v^TSv\) that introduces artificial dissipation.

3.4 Numerical Experiments in 1D

In this section, the accuracy of the standard (5) and upwind (6) discretization schemes are verified, both by a convergence study and by a comparison of the errors at the outflow boundary. In the numerical experiments we consider the source term function,
$$\begin{aligned} g(t)=\frac{p_0}{\sigma \sqrt{2 \pi }} \exp \bigg (-\bigg (\frac{t-t_c}{\sigma }\bigg )^2\bigg ), \end{aligned}$$
with \(x_c= 1 \), \(\sigma =\frac{4}{50}\), \(t_c=\frac{3}{5}\) and \(p_0=1\). The computational domain is given by \(x \in [0,2]\). Both the initial data (f(x)) and boundary data (\(g_l(t)\)) are set to zero. The semi-discretizations are integrated in time using the classical 4th order Runge–Kutta method, with a time step \(dt=0.1h\).
The errors of the SBP–SAT approximations (5) and (6) are verified against an analytic solution. Considering the coordinate change \(\tau =t-(x-x_c)\), the solution to (2) is
$$\begin{aligned} \begin{array}{l l} u_{ref}=g(\tau ), &{}\quad \text{ for } \tau \ge 0, \\ 0, &{}\quad \text{ for } \tau < 0. \end{array} \end{aligned}$$
Figure 2 shows this solution at 3 different times.
Fig. 2

Analytic solution used as reference in the numerical 1D experiments

In the convergence study the solution is integrated to \(t=1\), which is well before the pulse hits the boundary. The convergence rate k is calculated as
$$\begin{aligned} k=log\Big (\frac{e_{(N_2)}}{e_{(N_1)}}\Big )\big /log\Big ( \Big (\frac{N_2-1}{N_1-1}\Big )^{1/dim}\Big ), \end{aligned}$$
where \(e_{(N)}=\Vert u_{ref}-u^{(N)}\Vert _{l_2}\), and dim is the dimension of the problem (in 1D \(dim=1\) and in 3D \(dim=3\)). The convergence results from the standard and upwind SBP schemes are presented in Tables 1 and 2 respectively. Both SBP–SAT approximations converge as expected (since the pulse does not interact with the boundary the interior accuracy of the operators \(k=p\) is expected). This verifies that the smoothness conditions are not necessary when employing upwind SBP operators.
Table 1

\(l_2\)-errors and convergence rates, when solving (5) with the 2nd, 4th, and 6th order standard SBP operators, with smoothness conditions


2nd order

4th order

6th order
































Table 2

\(l_2\)-errors and convergence rates, when solving (6) with the 3rd, 5th and 7th order upwind SBP operators, without smoothness conditions


3rd order

5th order

7th order









\(-\,2.09 \)























In Fig. 3 we compare the errors at the outflow of the upwind approximation (6) with a 5th order upwind operator and the standard approximation (5) with a 4th order standard operator both with \(N = 201\). These operators have the same boundary accuracy and are therefore globally 3rd order accurate. Here, an error is created at the source in both cases but when the pulse leaves the domain, high frequent components of the error are reflected at the boundary in the standard case, while the upwind discretization damps the error completely. (At \(t=2\) the \(l_2\) norm of the error in the upwind case is \(4.23 \times 10^{-10}\)).
Fig. 3

(Left) Error of solution to the standard scheme (5) with both moment and smoothness conditions. (Right) Error of solution to the upwind scheme (6) with only moment conditions. (Note the different scales)

4 Euler Equations

By using the ideal gas law as equation of state, the Euler equations can be written on quasi-linear form as
$$\begin{aligned} \frac{\partial \mathbf {u}}{\partial t} + \hat{\mathbf {A}}(\mathbf {u})\frac{\partial \mathbf {u}}{\partial x}+ \hat{\mathbf {B}}(\mathbf u )\frac{\partial \mathbf u }{\partial y} +\hat{\mathbf{C }}(\mathbf {u})\frac{\partial \mathbf {u}}{\partial z}=\hat{\mathbf{F }}, \end{aligned}$$
where \(\mathbf {u}=(\rho , u, v, w, p)^T\) are the primitive variables. Here \(\rho \) is the density u, v, w the velocity components in the x, y and z direction and p is the pressure. The coefficient matrices are given by,
$$\begin{aligned} \hat{\mathbf{A }}(\mathbf {u})= \begin{bmatrix} u&\rho&0&0&0 \\ 0&u&0&0&\frac{1}{\rho }\\ 0&0&u&0&0 \\ 0&0&0&u&0 \\ 0&\gamma p&0&0&u \end{bmatrix}, \ \ \hat{\mathbf{B }}(\mathbf {u})= \begin{bmatrix} v&0&\rho&0&0 \\ 0&v&0&0&0\\ 0&0&v&0&\frac{1}{\rho } \\ 0&0&0&v&0 \\ 0&0&\gamma p&0&v \end{bmatrix}, \end{aligned}$$
$$\begin{aligned} \hat{\mathbf{C }}(\mathbf {u})= \begin{bmatrix} w&0&0&\rho&0 \\ 0&w&0&0&0\\ 0&0&w&0&0\\ 0&0&0&w&\frac{1}{\rho } \\ 0&0&0&\gamma p&w \end{bmatrix}, \end{aligned}$$
where \(\gamma =1.4\) is the heat capacity ratio for air [2].
To linearize the Euler equations (13) we consider a small perturbation \(\varepsilon \mathbf u ^1\) around a known steady state solution to the full non-linear equations, denoted \(\mathbf u ^0\). This is done by splitting the field into two parts as \(\mathbf u =\mathbf u ^0+\varepsilon \mathbf u ^1\), where \(\mathbf u ^0\) will be referred to as the background state. The vector \(\varepsilon \mathbf u ^1\) is a small perturbation around the background state. The forcing function is also split as \(\hat{\mathbf {F}}=\hat{\mathbf {F}}^0+\varepsilon \hat{\mathbf {F}}^1\) . By linearizing the Euler equations as presented in “Appendix I” the following linear system for \(\mathbf {u}^1\) is obtained
$$\begin{aligned} \frac{\partial \mathbf u ^1}{\partial t} + \hat{\mathbf{A }}(\mathbf u ^0)\frac{\partial \mathbf u ^1}{\partial x}+ \hat{\mathbf{B }}(\mathbf u ^0)\frac{\partial \mathbf u ^1}{\partial y} +\hat{\mathbf{C }}(\mathbf u ^0)\frac{\partial \mathbf u ^1}{\partial z}+\hat{\mathbf{E }}(\mathbf u ^0)\mathbf u ^1=\hat{\mathbf{F }}^1, \end{aligned}$$
$$\begin{aligned} \hat{\mathbf{E }}(\mathbf u ^0)= \begin{bmatrix} u_x^0 +v_y^0 + w_z^0&\rho _x^0&\rho _y^0&\rho _z^0&0 \\ -\frac{p_x^0}{(\rho ^0)^2}&u_x^0&u_y^0&u_z^0&0\\ -\frac{p_y^0}{(\rho ^0)^2}&v_x^0&v_y^0&v_z^0&0\\ -\frac{p_z^0}{(\rho ^0)^2}&w_x^0&w_y^0&w_z^0&0\\ 0&p_x^0&p_y^0&p_z^0&\gamma (u_x^0 +v_y^0 + w_z^0) \end{bmatrix}. \end{aligned}$$
The matrices \(\hat{\mathbf {A}}\), \(\hat{\mathbf {B}}\) and \(\hat{\mathbf {C}}\) can be symmetrized simultaneously (see [2] for further details) by multiplication from the left with
$$\begin{aligned} S_{sym}= \begin{bmatrix} \frac{\sqrt{\gamma }\rho ^0}{c^0}&0&0&0&0 \\ 0&1&0&0&0 \\ 0&0&1&0&0 \\ 0&0&0&1&0 \\ \frac{\rho ^0 c^0}{\sqrt{\gamma }}&0&0&0&\sqrt{\frac{\gamma -1}{\gamma }}\rho ^0 c^0 \end{bmatrix}. \end{aligned}$$
This gives the transformed system
$$\begin{aligned} \mathbf {q}_t+\mathbf {A}\mathbf {q}_x+\mathbf {B}\mathbf {q}_y +\mathbf C {} \mathbf q _z+\mathbf E {} \mathbf q =\mathbf F , \end{aligned}$$
where \(\mathbf {q}=S_{sym}^{-1}\mathbf {u}\) and \(\mathbf {A}\), \(\mathbf {B}\) and \(\mathbf {C}\) are symmetric matrices.

4.1 Background State

When linearizing the Euler equations (13) a known steady state solution to the equations is assumed. Different forcing functions \(\hat{\mathbf {F}}\) are chosen depending on what kind of waves the model targets. For testing purposes, we have followed the sound propagation model in [19], and set the forcing term to zero. This choice does not change the stability analysis, so the model can easily be changed to target other types of waves.

To find simple analytical solutions to the Euler equations which can be used for atmospheric modeling, we restrict the background fields in this study to variations with altitude. In a setting where the bottom boundary (Bo) is parallel to the xy-plane and the altitude increases with z the following analytic solution
$$\begin{aligned} \mathbf {u}^0=\begin{bmatrix} \rho (z) \\ u(z)\\ v(z)\\ 0\\ K \end{bmatrix}, \end{aligned}$$
is obtained. Here \(K>0\) is constant and \(\rho (z) >0\), u(z) and v(z) are real valued functions. With this solution, various cases of wind speeds and speed of sound profiles varying with altitude can be modeled. However, in the case of a curved bottom boundary, we need to add the constraint \(u(z)=0\) and \(v(z)=0 \) when \(z\in Bo\) to obey the wall boundary condition. In this case a realistic analytic background state with wind is difficult to obtain. For the general case, we would need a background state consistent with the model. This can be achieved by an accurate steady state solution to the non-linear Euler equations. However, this is not within the scope of this project.

4.2 Curvilinear Transform

In this section a transform of the Euler equations from a general curvilinear geometry \(\Omega \in (x,y,z)\) to a cuboid domain \(\Omega ' \in (\xi , \eta , \zeta )\) is presented. Consider the mapping
$$\begin{aligned} x= & {} x(\xi ,\eta ,\zeta ),\\ y= & {} y(\xi ,\eta ,\zeta ),\\ z= & {} z(\xi ,\eta ,\zeta ), \end{aligned}$$
which has the Jacobian
$$\begin{aligned} J=x_\xi y_\eta z_\zeta + x_\zeta y_\xi z_\eta +x_\eta y_\zeta z_\xi -x_\xi y_\zeta z_\eta -x_\eta y_\xi z_\zeta -x_\zeta y_\eta z_\xi . \end{aligned}$$
The derivatives in each spatial dimension can be written as
$$\begin{aligned} J \mathbf {q}_x= & {} \mathbf {q}_\xi (y_\eta z_\zeta - y_\zeta z_\eta )+\mathbf {q}_\eta (y_\zeta z_\xi - y_\xi z_\zeta )+ \mathbf {q}_\zeta (y_\xi z_\eta - y_\eta z_\xi ),\\ J \mathbf {q}_y= & {} \mathbf {q}_\xi (x_\zeta z_\eta -x_\eta z_\zeta )+\mathbf {q}_\eta (x_\xi z_\zeta -x_\zeta z_\xi )+ \mathbf {q}_\zeta (x_\eta z_\xi -x_\xi z_\eta ),\\ J \mathbf {q}_z= & {} \mathbf {q}_\xi (x_\eta y_\zeta - x_\zeta y_\eta )+\mathbf {q}_\eta (x_\zeta y_\xi -x_\xi y_\zeta )+ \mathbf {q}_\zeta (x_\xi y_\eta -x_\eta y_\xi ). \end{aligned}$$
This allows rewriting (15) as
$$\begin{aligned} \mathbf {q}_t=-\tilde{\mathbf {A}}\mathbf {q}_\xi -\tilde{\mathbf {B}} \mathbf {q}_\eta -\tilde{\mathbf {C}} \mathbf {q}_\zeta - \mathbf {E}- \frac{F}{J}, \end{aligned}$$
$$\begin{aligned} \tilde{\mathbf {A}}= & {} \frac{\mathbf {A}}{J}(y_\eta z_\zeta -y_\zeta z_\eta )+ \frac{\mathbf {B}}{J}(x_\zeta z_\eta -x_\eta z_\zeta )+ \frac{\mathbf {C}}{J}(x_\eta y_\zeta -x_\zeta y_\eta ),\\ \tilde{\mathbf {B}}= & {} \frac{\mathbf {A}}{J}(y_\zeta z_\xi -y_\xi z_\zeta )+ \frac{\mathbf {B}}{J}(x_\xi z_\zeta - x_\zeta z_\xi )+ \frac{\mathbf {C}}{J}(x_\zeta y_\xi -x_\xi y_\zeta ),\\ \tilde{\mathbf {C}}= & {} \frac{\mathbf {A}}{J}(y_\xi z_\eta - y_\eta z_\xi )+ \frac{\mathbf {B}}{J}(x_\eta z_\xi -x_\xi z_\eta )+ \frac{\mathbf {C}}{J}(x_\xi y_\eta -x_\eta y_\xi ). \end{aligned}$$
These matrices are symmetric since \(\mathbf {A}\), \(\mathbf {B}\) and \(\mathbf {C}\) are symmetric and the metric coefficients are scalar.

4.3 Well-Posed Boundary Conditions

To introduce BC for the Euler equations we denote our 6 boundaries \(W e\) (west), Ea (east), So (south),No (north), Bo (bottom) and \(T o\) (top) as shown in Fig. 4 where the computational 3D domain \(\Omega '\) is \(W e<\xi <Ea\), \(So<\eta <No\) and \(Bo<\zeta <T o\).
Fig. 4

Computational domain \(\Omega '\) in 3D

To model the atmospheres interaction with the ground a wall BC is set at the bottom boundary. At the other boundaries, characteristic boundary conditions (CBC) are imposed. CBC is a first order accurate non-reflecting BC [47, 50] that is well-proven for the compressible Euler and Navier–Stokes equations. In the framework of the linearized Euler equations, the CBC can be written using the following flux splitting,
$$\begin{aligned} \tilde{\mathbf {A}}_\pm= & {} T_A\left( \frac{\Lambda _A \pm |\Lambda _A|}{2}\right) T_A^{T},\\ \tilde{\mathbf {B}}_\pm= & {} T_B\left( \frac{\Lambda _B \pm |\Lambda _B|}{2}\right) T_B^{T},\\ \tilde{\mathbf {C}}_\pm= & {} T_C\left( \frac{\Lambda _C \pm |\Lambda _C|}{2}\right) T_C^{T}, \end{aligned}$$
where \(\Lambda _A\), \(\Lambda _B\) and \(\Lambda _C\) are diagonal matrices. The derivation of these matrices can be found in [43, 44]. Using this splitting, the characteristic BC are written as
$$\begin{aligned} \begin{array}{llll} \tilde{\mathbf {A}}_+\mathbf {q}=0, &{} \quad \mathbf x \in W e , &{} \quad \tilde{\mathbf {A}}_-\mathbf {q}=0, &{} \quad \mathbf x \in Ea,\\ \tilde{\mathbf {B}}_+\mathbf {q}=0, &{} \quad \mathbf x \in So, &{} \quad \tilde{\mathbf {B}}_-\mathbf {q}=0, &{} \quad \mathbf x \in N o, \\ \tilde{\mathbf {C}}_-\mathbf {q}=0, &{} \quad \mathbf x \in T o. &{} &{} \end{array} \end{aligned}$$
At the bottom boundary the normal component of the velocity is set to zero as
$$\begin{aligned} \mathbf {Lq}=0, \quad \mathbf x \in Bo. \end{aligned}$$
Here \(\mathbf {L}=\begin{bmatrix} 0&\zeta _x&\zeta _y&\zeta _z&0 \end{bmatrix}\) where the derivatives of \(\zeta \) can be expressed in terms of derivatives of x, y and z as
$$\begin{aligned} \zeta _x= & {} \frac{1}{J}(y_\xi z_\eta - y_\eta z_\xi ), \\ \zeta _y= & {} \frac{1}{J} (x_\eta z_\xi -x_\xi z_\eta ), \\ \zeta _z= & {} \frac{1}{J}(x_\xi y_\eta - x_\eta y_\xi ). \end{aligned}$$

4.4 The Continuous Energy Analysis

In this section an energy analysis is shown for the Euler equations (16) with the BC in (17) and (18). To simplify the notation in the coming energy analysis, we will assume constant coefficient matrices. We stress that the energy analysis can be performed also for the variable coefficient case (see for example [39]).

The following inner product is used:

Definition 4.1

Let \(\mathbf u,v \in L^2[\Omega ^{1,1,1}_{0,0,0}]\), where \(\mathbf u =[\mathbf u ^{(1)},\mathbf u ^{(2)},\ldots ,\mathbf u ^{(m)}]^T\) and \(\mathbf v =[\mathbf v ^{(1)},\mathbf v ^{(2)},\ldots , \mathbf v ^{(m)}]^T\)are vector valued functions with m components. Further, let the inner product be defined as \((\mathbf u,v )= \int _{0}^{1}\int _{0}^{1}\int _{0}^{1}{} \mathbf u ^T\mathbf v \, dx \, dy \, dz\), with corresponding norm \(||\mathbf u ||^2 =(\mathbf u,u )\).

Multiplying (16) by \(\mathbf {q}^T\), setting data to zero and assuming constant coefficients gives,
$$\begin{aligned} \mathbf q ^T\mathbf q _t=-\mathbf q ^T\tilde{\mathbf {A}}{} \mathbf q _x -\mathbf q ^T\tilde{\mathbf {B}}{} \mathbf q _y-\mathbf q ^T \tilde{\mathbf {C}}{} \mathbf q _z, \end{aligned}$$
By adding (19) and its transpose and integrating over the domain the growth rate
$$\begin{aligned} \frac{\partial }{\partial t} ||\mathbf q ||^2= BT_{W e}+BT_{Ea}+BT_{So}+BT_{No}+BT_{Bo}+BT_{T o}, \end{aligned}$$
is obtained where
$$\begin{aligned} BT_{W e}= & {} \int _{W e} \mathbf q ^T\tilde{\mathbf {A}}{} \mathbf q \, dS, \quad BT_{Ea} =-\int _{Ea} \mathbf q ^T\tilde{\mathbf {A}}{} \mathbf q \, dS, \\ BT_{So}= & {} \int _{So}{} \mathbf q ^T\tilde{\mathbf {B}}{} \mathbf q \, dS, \quad BT_{No} =-\int _{No} \mathbf q ^T\tilde{\mathbf {B}} \mathbf q \, dS, \\ BT_{Bo}= & {} \int _{Bo} \mathbf q ^T\tilde{\mathbf {C}}{} \mathbf q \, dS, \quad BT_{T o}=-\int _{T o}{} \mathbf q ^T\tilde{\mathbf {C}} \mathbf q \, dS. \end{aligned}$$
A bounded energy for (19) requires \(BT_{We},BT_{Ea},BT_{So},BT_{No},BT_{Bo},BT_{To} \le 0\). Well-posedness further requires the correct number of BC, as given by the characteristic variables [17]. Since only two types of BC are employed the energy bound will only be shown at the bottom and top boundary, the other boundaries are treated the same way as the top boundary. By using that \(\tilde{\mathbf {C}}=\tilde{\mathbf {C}}_++\tilde{\mathbf {C}}_-\) and the boundary condition stated in (17) the top boundary term can be written as
$$\begin{aligned} BT_{To}=-\int _{To} (\mathbf {q}^T \tilde{\mathbf {C}}_+ \mathbf {q} +\mathbf {q}^T \tilde{\mathbf {C}}_- \mathbf {q}) \, dS =-\int _{To} \mathbf {q}^T \tilde{\mathbf {C}}_+ \mathbf {q} \, dS \le 0. \end{aligned}$$
To obtain an estimate for the wall BC first shown in [50], using the technique presented in [16] we arrange the flux splitting of \(\tilde{\mathbf {C}}\) so that
$$\begin{aligned} \mathbf {\Lambda _C}=\begin{bmatrix} \mathbf {\Lambda _{C+}}&\\&\mathbf {\Lambda }_{\mathbf {C}0}&\\&\mathbf {\Lambda _{C-} } \end{bmatrix} \text{ and } \mathbf {T}_C=\begin{bmatrix} \mathbf {T_{C+}}&\mathbf {T}_{\mathbf {C}0}&\mathbf {T_{C-}} \end{bmatrix}, \end{aligned}$$
where \(\mathbf {\Lambda _{C+}}>0\), \(\mathbf {\Lambda }_{\mathbf {C}0}=0\) \(\mathbf {\Lambda _{C-}}<0\) and \(\mathbf {T}_C\) is orthogonal. Note that in this case an orthogonal \(\mathbf {T}_C\) exists since the coefficient matrix \(\tilde{\mathbf {C}}\) is symmetric. This allows rewriting (18) as
$$\begin{aligned} \mathbf {T}_\mathbf {C+}^T\mathbf {q}=\mathbf {-RT}_\mathbf {C-}^T \mathbf {q}, \end{aligned}$$
where \(\mathbf {R}=\mathbf {(LT_{C+})}^{-1} \mathbf {(LT_{C-})}\). This gives
$$\begin{aligned} BT_{Bo} = \int _{Bo} \mathbf {q}^T\tilde{\mathbf {C}q}dS = \int _{Bo} \mathbf {q}^T \mathbf {T_{C-}(\Lambda _{C-}+ R}^T \mathbf { \Lambda _{C+} R) T}_\mathbf {C-}^T \mathbf {q}dS \end{aligned}$$
which is negative if \(\mathbf {(\Lambda _{C-}+ R}^T \mathbf {\Lambda _{C+} R)}\) is negative definite. This has been checked for all simulations performed in this work.

5 Semi-Discrete Analysis in 3D

In this section a standard and an upwind energy stable 3D SBP–SAT discretzation of (16) is introduced. To simplify notation in the energy analysis, we will only consider the case with constant background flow. We stress that the energy analysis can be performed also for the variable coefficient case, by a skew-symmetric splitting of the equations (see for example [39]). The skew-symmetric splitting is straightforward and unrelated to the numerical difficulty of imposing well-posed BC and will therefore not be pursued here. Hence, to simplify the notation in the coming energy analysis, \(\mathbf {A}\), \(\mathbf {B}\) and \(\mathbf {C}\) are assumed constant coefficient matrices (here consistent with \(\mathbf {E}=0\)). Before we present the discretizations some necessary definitions and notation are introduced.

5.1 Definitions in 3D

The continuous domain is discretized by \(N_\xi N_\eta N_\zeta \) points where
$$\begin{aligned} \begin{array}{lll} (\xi _i,\eta _j,\zeta _l)=\big (\frac{i-1}{N_\xi -1}, \frac{j-1}{N_\eta -1},\frac{l-1}{N_\zeta -1}\big ), &{} i=1,2,\dots ,N_\xi , &{} \ j=1,2,\dots ,N_\eta , \\ &{}l=1,2,\dots ,N_\zeta . &{} \\ \end{array} \end{aligned}$$
The numerical solution at each grid point \((\xi _i,\eta _j,\zeta _l)\) is an \((m \times 1)\) vector \(q_{ijl}=[q^{(1)}_{(ijl)}, q^{(2)}_{(ijl)} ,..,q^{(m)}_{(ijl)}]\), (in the linearized Euler equations (16) \(m=5\)). At each time step the discrete solution vector is
$$\begin{aligned} q=\left[ q^{(1)}_{111},q^{(1)}_{112}\ldots ,q^{(1)}_{11N_\zeta }, q^{(1)}_{121},\ldots ,q^{(1)}_{1N_\eta N_\zeta },\ldots ,q^{(1)}_{N_\xi N_\eta N_\zeta },q^{(2)}_{111},\ldots ,q^{(m)}_{N_\xi N_\eta N_\zeta }\right] ^T. \end{aligned}$$
For a more compact notation we introduce the Kronecker product:
$$\begin{aligned} C \otimes D =\begin{bmatrix} c_{0,0}D&\dots&c_{0,q-1}D \\ \vdots&\ddots&\vdots \\ c_{p-1,0}D&\dots&c_{p-1,q-1}D \end{bmatrix}, \end{aligned}$$
where C is a \(p \times q\) matrix and D an \(m \times n\) matrix. The Kronecker product fulfills the relations \((A\otimes B)(C \otimes D)=AC\otimes BD\) and \((A\otimes B)^T=A^T \otimes B^T\). Let \(I_n\) be the \(n\times n\) identity matrix for any n. To extend the 1D difference operators to 3D the following notation is introduced. For any \(N_\xi \times N_\xi \) matrix P let
$$\begin{aligned} P_{\xi }=I_m \otimes P \otimes I_{N_\eta } \otimes I_{N_\zeta }. \end{aligned}$$
For any \(N_\eta \times N_\eta \) matrix P let
$$\begin{aligned} P_\eta =I_m \otimes I_{N_\xi } \otimes P \otimes I_{N_\zeta }, \end{aligned}$$
and for any \(N_\zeta \times N_\zeta \) matrix P let
$$\begin{aligned} P_\zeta =I_m \otimes I_{N_\xi } \otimes I_{N_\eta } \otimes P. \end{aligned}$$
Further let the 1D inner product be extended as
$$\begin{aligned} H_{\xi \eta }= & {} H_\xi H_\eta , \quad H_{\xi \zeta }=H_\xi H_ \zeta ,\\ H_{\eta \zeta }= & {} H_\eta H_\zeta , \quad H_{\xi \eta \zeta }=H_\xi H_\eta H_\zeta . \end{aligned}$$
We also extend the vectors \(e_l\) and \(e_r\) to 3D as
$$\begin{aligned} E_{W e}= & {} I_m \otimes e_{l_\xi } \otimes I_{N_\eta } \otimes I_{N_\zeta }, \quad E_{Ea}=I_m \otimes e_{r_\xi } \otimes I_{N_\eta } \otimes I_{N_\zeta }, \\ E_{So}= & {} I_m \otimes I_{N_\xi } \otimes e_{l_\eta } \otimes I_{N_\zeta }, \quad E_{No}=I_m \otimes I_{N_\xi } \otimes e_{r_\eta } \otimes I_{N_\zeta }, \\ E_{Bo}= & {} I_m \otimes I_{N_\xi } \otimes I_{N_\eta } \otimes e_{l_\zeta }, \quad E_{To}=I_m \otimes I_{N_\xi } \otimes I_{N_\eta } \otimes e_{r_\zeta }. \end{aligned}$$
Further let any \(m\times m\) matrix \(\mathbf G \) be extended by
$$\begin{aligned} G=\mathbf {G} \otimes I_{N_3}, \end{aligned}$$
where \(N_3=N_\xi N_\eta N_\zeta \). Let any \((mN_3)\times (mN_3)\) matrix P be extended by
$$\begin{aligned} \begin{array}{ll} P^{(W e)}=E_{W e}^T P E_{W e}, &{}\quad P^{(Ea)}=E_{Ea}^T P E_{Ea}, \\ P^{(So)}=E_{So}^T P E_{So}, &{} \quad P^{(No)}=E_{No}^T P E_{No}, \\ P^{(Bo)}=E_{Bo}^T P E_{Bo}, &{} \quad P^{(T o)}=E_{T o}^T P E_{T o}. \\ \end{array} \end{aligned}$$
Additionally, let any \((m N_3 \times 1)\) vector V be extended at the boundary by
$$\begin{aligned} \begin{array}{ll} V_{W e}=E_{W e}^T V, &{}\quad V_{Ea}=E_{Ea}^T V, \\ V_{So}=E_{So}^T V, &{} \quad V_{No}=E_{No}^T V, \\ V_{Bo}=E_{Bo}^T V, &{} \quad V_{To}=E_{To}^T V. \\ \end{array} \end{aligned}$$

5.2 Stability Analysis

The SBP–SAT discretization of (16) with the BC in (17) and (18) can be written
$$\begin{aligned} q_t=-\tilde{A}D_{1\xi } q-\tilde{B}D_{1\eta } q-\tilde{C}D_{1\zeta } q + SAT, \end{aligned}$$
with the SAT-term
$$\begin{aligned} SAT=SAT_{W e}+SAT_{Ea}+SAT_{So}+SAT_{No}+SAT_{Bo}+SAT_{To}, \end{aligned}$$
$$\begin{aligned} SAT_{W e}= & {} H^{-1}_\xi E_{W e} T_{A}^{(W e)} \tau _{We} \big (T_{A+}^{(We)}\big )^{T} q_{We}, \\ SAT_{Ea}= & {} H^{-1}_\xi E_{Ea} T_A^{(Ea)} \tau _{Ea} \big (T_{A-}^{(Ea)}\big )^{T} q_{Ea},\\ SAT_{So}= & {} H^{-1}_\eta E_{So} T_{B}^{(So)} \tau _{So} \big (T_{B+}^{(So)}\big )^{T} q_{So}, \\ SAT_{No}= & {} H^{-1}_\eta E_{No} T_B^{(No)} \tau _{No} \big (T_{B-}^{(No)}\big )^{T} q_{No}, \\ SAT_{Bo}= & {} H^{-1}_\zeta E_{Bo} T_{C}^{(Bo)}\tau _{Bo} \bigg (\big (T_{C+}^{(Bo)}\big )^{T}-R\big (T_{C-}^{(Bo)}\big )^{T}\bigg ) q_{Bo},\\ SAT_{To}= & {} H^{-1}_\zeta E_{To} T_C^{(To)} \tau _{To} \big (T_{C-}^{(To)}\big )^{To} q_{To},\\ \end{aligned}$$
and \(R=-\big (LT_{C+}^{(Bo)} \big )^{-1}\big (LT_{C-}^{(Bo)}\big )\).

Lemma 1

The scheme (24) is stable if the continuous problem is well-posed and the penalty parameters are chosen as
$$\begin{aligned} \tau _{W e}= & {} \begin{bmatrix} -|\Lambda _{A+}^{(W e)}|\\ 0 \end{bmatrix}, \quad \tau _{So}=\begin{bmatrix} -|\Lambda _{B+}^{(So)}|\\ 0 \end{bmatrix} , \quad \tau _{Bo}=\begin{bmatrix} -|\Lambda _{C+}^{(Bo)}|\\ 0 \end{bmatrix}, \\ \tau _{Ea}= & {} \begin{bmatrix} 0\\ -|\Lambda _{A-}^{(Ea)}| \end{bmatrix}, \quad \tau _{No}=\begin{bmatrix} 0\\ -|\Lambda _{B-}^{(No)}| \end{bmatrix}, \text{ and } \quad \tau _{To}=\begin{bmatrix} 0\\ -|\Lambda _{C-}^{(To)}| \end{bmatrix}. \end{aligned}$$


Multiplying (24) by \( 2q^T H_{\xi \eta \zeta }\) and adding the transpose leads to:
$$\begin{aligned} \frac{\partial }{\partial t}\Vert q\Vert _{H_{\xi \eta \zeta }}^2= BT, \end{aligned}$$
$$\begin{aligned} BT=BT_{W e}+BT_{Ea}+BT_{So}+BT_{No}+BT_{Bo}+BT_{To}. \end{aligned}$$
The discretization is stable if \(BT \le 0\). Since all characteristic boundary terms are treated in a similar manner it is enough to show this for the bottom and top boundary. Due to the SBP property of \(D_{1 \zeta }\) (Definition 2.1) we get
$$\begin{aligned} BT_{Bo}=q_B^TH_{\xi \eta }^{(Bo)} C^{(Bo)} q_{Bo} -2q_{Bo}^TH_{\xi \eta }^{(Bo)}T_{C+}^{(Bo)}|\Lambda _{C+}^{(Bo)}| \bigg (\big (T_{C+}^{(Bo)}\big )^{T}-R\big (T_{C-}^{(Bo)} \big )^{T}\bigg )q_{Bo} \end{aligned}$$
$$\begin{aligned} BT_{To}=-\,q_{To}^TH_{\xi \eta }^{(To)} C^{(To)} q_{To} -2q_{To}^TH_{\xi \eta }^{(To)}T_{C-}^{(To)}| \Lambda _{C-}^{(To)}|\big (T_{C-}^{(To)}\big )^{T} q_{To}. \end{aligned}$$
Using that \(C=T_{C+}|\Lambda _+|(T_{C+})^T-T_{C-} |\Lambda _-|(T_{C-})^T\) leads to,
$$\begin{aligned} BT_{Bo}= & {} -\,q_{Bo}^T\big (\big (T_{C+}^{(Bo)}\big )^{T} -R\big (T_{C-}^{(Bo)}\big )^{T}\big )^TH_{\xi \eta }^{(Bo)} |\Lambda _{C+}^{(Bo)}|\big ( \big (T_{C+}^{(Bo)}\big )^{T} -R\big (T_{C-}^{(Bo)}\big )^{T} \big )q_{Bo} \\&+\,q_{Bo}^TT_{C-}^{(Bo)}H_{\xi \eta }^{(Bo)} \big (R^T|\Lambda _{C+}^{(Bo)}|R-|\Lambda _{C-}^{(Bo)}|\big ) \big (T_{C-}^{(Bo)}\big )^{T}q_{Bo}, \end{aligned}$$
$$\begin{aligned} BT_{To}=-\,q_{To}^TH_{\xi \eta }^{(To)}T_{C+}^{(To)}| \Lambda _{C+}^{(To)}|\big (T_{C+}^{(To)}\big )^{T}q_{To}-q_{To}^TH_{\xi \eta }^{(To)}T_{C-}^{(To)}|\Lambda _{C-}^{(To)} |\big (T_{C-}^{(To)}\big )^{T}q_{To}. \end{aligned}$$
Since well-posedness requires the matrix \(\big (\Lambda _{C-}^{(Bo)}+R^T\Lambda _{C+}^{(Bo)}R\big )\) to be negative definite the discretization (24) is stable if the problem is well-posed. \(\square \)
For the upwind formulation the characteristic variables going left in the domain are discretized with \(D_+\) and the characteristics going to the right with \(D_-\). Therefore, the coefficient matrices are once again split into a positive and a negative part, this time as
$$\begin{aligned} \tilde{A}_{p}= & {} \tilde{A}+|\alpha _A| I_{N_3}, \quad \tilde{A}_{m} =\tilde{A}-|\alpha _A| I_{N_3},\\ \tilde{B}_{p}= & {} \tilde{B}+|\alpha _B| I_{N_3}, \quad \tilde{B}_{m} =\tilde{B}-|\alpha _B| I_{N_3}, \\ \tilde{C}_{p}= & {} \tilde{C}+|\alpha _C| I_{N_3}, \quad \tilde{C}_{m}=\tilde{C}-|\alpha _C| I_{N_3}, \end{aligned}$$
where \(\alpha _A\), \(\alpha _B\) and \(\alpha _C\) are the magnitudes of the globally largest eigenvalues of the matrices \(\tilde{A}\), \(\tilde{B}\) and \(\tilde{C}\). With this splitting, the following upwind discretization is obtained,
$$\begin{aligned} q_t= & {} -\,\tilde{A}_m D^{+}_{\xi }q-\tilde{A}_p D^{-}_{\xi }q -\tilde{B}_m D^{+}_{\eta }q-\tilde{B}_pD^{-}_{\eta }q \nonumber \\&-\,\tilde{C}_pD^{-}_{\zeta }q-\tilde{C}_mD^{-}_{\zeta }q+ SAT, \end{aligned}$$
where the SAT-term is the same as in the standard case (24). This gives the energy estimate
$$\begin{aligned} \frac{d}{dt}\Vert q\Vert _{H_{\xi \eta \zeta }}^2= & {} -\,q^TH_{\eta \zeta }\tilde{A}_m S_\xi q+q^TH_{\eta \zeta }\tilde{A}_pS_\xi q - q^TH_{\xi \zeta }\tilde{B}_m S_\eta q+q^TH_{\xi \zeta } \tilde{B}_pS_\eta q \nonumber \\&-\,q^TH_{\xi \eta }\tilde{C}_m S_\zeta q+q^TH_{\xi \eta }\tilde{C}_p S_\zeta q +BT, \end{aligned}$$
where \(BT<0\) is already shown. The scheme is stable since the additional terms compared to the standard case (24) provides artificial damping.

6 Numerical Experiments in 3D

6.1 Convergence

To verify the accuracy of the discretizations, two convergence tests against numerically obtained reference solutions are performed. One in a setting with a curved bottom boundary, and one with a wind speed that varies with altitude. These tests are not combined into one test since no simple background field with wind on the curved geometry is known to the authors (for this a steady state solution to the Euler equations (13) is required). For time discretization the classical 4th order Runge–Kutta method is used with a time step proportional to the spatial step.
Fig. 5

Reference solution in the first convergence test. The pressure component at \(y= 1000\) from a simulation of 3D Euler equations in a curved domain with a Gaussian pulse as initial condition

The first test, with a curved bottom boundary, is computed in a domain bounded by \(x,y \in [0, 2000] \) and \(z \in [L(x,y),2000]\), where
$$\begin{aligned} L(x,y)=0.1\exp \big ( \Vert \begin{bmatrix} x&y \end{bmatrix}^T - \begin{bmatrix} 2000&2000 \end{bmatrix}^T \Vert ^2/800^2 \big ). \end{aligned}$$
The initial condition in pressure is set as the Gaussian \(p^1=\exp (-\Vert \mathbf {x}- x_c \Vert ^2 /\sigma ^2),\) with \(x_c = \begin{bmatrix} 2000&2000&2000 \end{bmatrix}^T\) and \(\sigma = 4000/7\). The other variables are initially set to zero. For reference solution, a solution to the standard scheme (24) computed with 6th order SBP operators with \(N_{\xi }, N_{\eta },N_{\zeta }=257\) is used. The solution is integrated until \(t=3s\), after the pulse interacts with the wall. The following parameters are used in the simulation
$$\begin{aligned} u^0,v^0,w^0=0 \ \mathrm{m/s}, \quad c^0=340+0.001z \ \mathrm{m/s}, \quad p^0=1.24 \times 10^5 \ \mathrm{Pa}. \end{aligned}$$
Figure 5 shows a cut along the xz-plane of the pressure component in the reference simulation at 4 different times. The resulting convergence rates and errors are displayed in Tables 3 and 4.
Table 3

\(l_2\)-errors and convergence rates with the standard scheme (24) on a curvilinear domain computed against a reference solution in 3D, with 2nd, 4th, and 6th order SBP operators


2nd order

4th order

6th order
































Table 4

\(l_2\)-errors and convergence rates with the upwind scheme (25) on a curvilinear domain computed against a reference solution in 3D, with 3rd, and 5th order SBP operators


3rd order

5th order























Fig. 6

Reference solution of the second convergence test. The pressure component at \(y= 1000\) from a simulation of 3D Euler equations with varying background field with a Gaussian pulse as initial condition

Table 5

\(l_2\)-errors and convergence rates with the standard scheme (24) in a cuboid domain with wind, computed against a reference solution in 3D, for 2nd, 4th, and 6th order SBP operators


2nd order

4th order

6th order
































Table 6

\(l_2\)-errors and convergence rates with the upwind scheme (25) in a cuboid domain with wind computed against a reference solution in 3D, for 3rd, and 5th order SBP operators


3rd order

5th order























In the second test, performed on a cuboid geometry, wind is added to the background field. A convergence test on the domain \(x,y,z \in [0, 2000]\) is run against a reference solution computed with the standard scheme (24) with 6th order SBP operators on a grid with \(N_{\xi }, N_{\eta },N_{\zeta }=257\). The simulation is integrated until \(t=3s\) with the initial pressure \(p^1=\exp (\Vert \mathbf {x}- x_c \Vert ^2 /\sigma ^2),\) \(x_c = \begin{bmatrix} 2000&2000&2000 \end{bmatrix}\), \(\sigma = 4000/14\). The other variables are initially set to zero and the background parameters are
$$\begin{aligned} u^0= & {} 20+0.001z \ \mathrm{m/s}, \quad v^0=20-0.001z \ \mathrm{m/s}, \quad w^0=0 \ \mathrm{m/s} \nonumber \\ c^0= & {} 340+0.001z \ \mathrm{m/s}, \quad p^0=1.24\times 10^5 \ \mathrm{Pa}. \end{aligned}$$
Figure 6 shows snapshots of the pressure component along xz-plane, at 4 different times in the reference simulation. The convergence results are presented in Tables 5 and 6.
Fig. 7

(Left column) The error in the pressure component of (24) with a 4th order standard SBP operator at \(y= 1000\) . (Right column) The error in the pressure component of (25) with 5th order upwind SBP operators at \(y = 1000\). At \(t=20\) the pulse has left the domain and the solution is \(p=0\) in the entire domain

For both settings the scheme with the standard operators shows the expected convergence (\(k^{(2)}=2, \ k^{(4)}=3\) and \(k^{(6)}=4\)), while the upwind scheme shows a convergence rate higher than the expected rates (\(k^{(3)}=2\) and \(k^{(5)}=3\)). We can not explain this higher convergence, however it has been observed in earlier studies with the upwind operators [27].

6.2 Resolution on Coarse Grids

To allow large 3D-simulations it is important to get accurate results on coarse grids. In this case the main difficulties are to resolve non-smooth features, as for example point sources, and to keep the accuracy at the boundaries. To compare the standard (24) and upwind (25) discretizations on coarse grids we perform a test in a setting including a point sound source by adding forcing term \(\mathbf {F} = \delta _3(\mathbf {x-x_c}) g(t)\) in the pressure component. The 3D source discretization \(\delta _3(\mathbf {x-x_c})\) is a product of the 1D point source discretization in each coordinate direction, see [42] for details. The source term function is chosen as \(g(t) = \frac{1}{ \sigma \sqrt{2 \pi }}\exp (-(t-t_c)^2/(2\sigma ^2))\) with \(\sigma =\frac{1}{3.5}\) and \(t_c = 1.8\). In this experiment, the source is placed at \(\mathbf {x_c} =\begin{bmatrix} 1005&1005&1005 \end{bmatrix}^T\). As in 1D, the point source in the standard discretization obeys both smoothness and moment conditions while in the upwind case, only moment conditions are used. The parameter setting is chosen as
$$\begin{aligned} u^0, \ v^0, \ w^0 = 0, \ \mathrm{m/s}, \quad c^0=340 \ \mathrm{m/s}, \quad p^0=1.24\times 10^5 \ \mathrm{Pa}, \end{aligned}$$
on a domain bounded by \(x,y,z \in [0,2000]\) with characteristic BC at all boundaries. The initial condition is set identically to zero in all components. In Fig. 7 we compare the errors in the pressure component when using the 5th order upwind discretization (25) and the 4th order standard discretization (24) with \(N_\xi ,N_\eta ,N_\zeta =33\). These operators have the same boundary accuracy, therefore they are both globally 3rd order accurate. The errors are calculated against a numerically obtained reference solution computed with a 6th order standard discretization with \(N_\xi , N_\eta , N_\zeta = 257\) (see Fig. 8). Note that the errors in the upwind simulation are smaller than in the standard case, both before and after the pulse leaves the domain. This difference is related to spurious oscillations which are triggered at the point source and reflected at the boundaries. In the upwind case, these oscillations are damped by the built in artificial dissipation.
Fig. 8

The pressure component at of the reference solution for the coarse grid test at \(y= 1000\)

In order to illustrate the effect of the artificial dissipation at the boundaries, Fig. 9 displays the discrete energy \(||q||_H\), of the 5th order upwind discretization (25), the 4th order standard discretization (24) both with \(N_\xi ,N_\eta ,N_\zeta =33\) and the reference solution (6th order standard discretization with \(N_\xi ,N_\eta ,N_\zeta =257\)) when the pressure pulse leaves the domain. To isolate the boundary behavior, the simulations are initiated at \(t=3.5s\) with the reference solution at this time as initial condition (see Fig. 8). The parameter setting is the same as in the reference solution (30). The energy remaining in the simulation after the pulse leaves the domain at \(t \approx 7 s\) is an undesired artifact caused mainly by reflected errors at the boundaries and errors from using characteristic BC to model a non-reflecting BC. Figure 9 shows that the energy from the upwind discretization is damped at about the same rate as the reference solution which is dominated by the error from the characteristic BC. The error in the standard discretization is magnitudes larger, and dominated by reflected spurious oscillations.
Fig. 9

Energy decay when the pressure pulse leaves the domain for (25) and (24) and the reference solution

7 Conclusions and Future Work

The main motivation in the present study has been to derive a provably stable high-order accurate SBP–SAT approximation of the linearized Euler equations in a 3D varying atmosphere and curved topography, including point sources. This is achieved by utilizing novel upwind SBP operators with built in artificial damping.

The upwind SBP–SAT discretization of the 3D Euler equations leads to highly robust and accurate approximations, verified through numerical computations in 1D and 3D. Numerical experiments show that in the presence of point sources, the usage of upwind SBP operators efficiently avoid the onset of spurious oscillations. At the boundaries, the upwind SBP–SAT approximation yield a more efficient artificial damping of reflected waves when imposing CBC, as compared to the exclusive usage of central-difference (standard) SBP operators. In a coming study we hope to extend the current model with more accurate non-reflecting boundary conditions. We also aim for an extension of the upwind SBP–SAT methodology towards more general and non-linear problems in 3D, such as the compressible Navier–Stokes equations.


  1. 1.
    Abarbanel, S., Ditkowski, A.: Asymptotically stable fourth-order accurate schemes for the diffusion equation on complex shapes. J. Comput. Phys. 133(2), 279–288 (1997)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Abarbanel, S., Gottlieb, D.: Optimal time splitting for two- and three-dimensional Navier–Stokes equations with mixed derivatives. J. Comput. Phys. 41(1), 1–33 (1981)MathSciNetCrossRefGoogle Scholar
  3. 3.
    Abarbanel, S., Gottlieb, D., Hesthaven, J.S.: Well-posed perfectly matched layers for advective acoustics. J. Comput. Phys. 154(2), 266–283 (1999)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Albin, N., Klarmann, J.: An algorithmic exploration of the existence of high-order summation by parts operators with diagonal norm. J. Sci. Comput. 69(2), 633–650 (2016)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Almquist, M., Mattsson, K., Edvinsson, T.: High-fidelity numerical solution of the time-dependent Dirac equation. J. Comput. Phys. 262, 86–103 (2014)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Appelö, D., Colonius, T.: A high-order super-grid-scale absorbing layer and its application to linear hyperbolic systems. J. Comput. Phys. 228, 4200–4217 (2009)MathSciNetCrossRefGoogle Scholar
  7. 7.
    Bayliss, A., Jordan, K.E., Lemesurier, B.J., Turkel, E.: A fourth order accurate finite difference scheme for the computation of elastic waves. Bull. Seismol. Soc. Am. 76(4), 1115–1132 (1986)Google Scholar
  8. 8.
    Berg, J., Nordström, J.: Superconvergent functional output for time-dependent problems using finite differences on summation-by-parts form. J. Comput. Phys. 231(20), 6846–6860 (2012)MathSciNetCrossRefGoogle Scholar
  9. 9.
    Carpenter, M.H., Gottlieb, D., Abarbanel, S.: Time-stable boundary conditions for finite-difference schemes solving hyperbolic systems: methodology and application to high-order compact schemes. J. Comput. Phys. 111(2), 220–236 (1994)MathSciNetCrossRefGoogle Scholar
  10. 10.
    Colonius, T., Lele, S.K.: Computational aeroacoustics: progress on nonlinear problems of sound generation. Prog. Aerosp. Sci. 40(6), 345–416 (2004)CrossRefGoogle Scholar
  11. 11.
    Colonius, T., Ran, H.: A super-grid-scale model for simulating compressible flow on unbounded domains. J. Comput. Phys. 182(1), 191–212 (2002)CrossRefGoogle Scholar
  12. 12.
    Del Rey Fernández, D.C., Boom, P.D., Zingg, D.W.: A generalized framework for nodal first derivative summation-by-parts operators. J. Comput. Phys. 266, 214–239 (2014)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Del Rey Fernández, D.C., Hicken, J.E., Zingg, D.W.: Review of summation-by-parts operators with simultaneous approximation terms for the numerical solution of partial differential equations. Comput. Fluids 95, 171–196 (2014)MathSciNetCrossRefGoogle Scholar
  14. 14.
    De Rango, S., Zingg, D.W.: A high-order spatial discretization for turbulent aerodynamic computations. AIAA J. 39(7), 1296–1304 (2001)CrossRefGoogle Scholar
  15. 15.
    Erickson, B.A., Nordström, J.: High order accurate adaptive schemes for long time, highly intermittent geophysics problems. J. Comput. Appl. Math. 271, 328–338 (2014)MathSciNetCrossRefGoogle Scholar
  16. 16.
    Eriksson, S.: A dual consistent finite difference method with narrow stencil second derivative operators. J. Sci. Comput. 5(2), 906–940 (2018)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Gustafsson, B., Kreiss, H.-O., Oliger, J.: Time Dependent Problems and Difference Methods. Wiley, Hoboken (1995)zbMATHGoogle Scholar
  18. 18.
    Hagstrom, T., Givoli, D., Rabinovich, D., Bielak, J.: The double absorbing boundary method. J. Comput. Phys. 259(Supplement C), 220–241 (2014)MathSciNetCrossRefGoogle Scholar
  19. 19.
    Heimann, D.: Three-dimensional linearised euler model simulations of sound propagation in idealised urban situations with wind effects. Appl. Acoust. 68(2), 217–237 (2007)CrossRefGoogle Scholar
  20. 20.
    Hesthaven, Jan S.: A stable penalty method for the compressible Navier–Stokes equations: III. Multidimensional domain decomposition schemes. SIAM J. Sci. Comput. 20, 62–93 (1998)MathSciNetCrossRefGoogle Scholar
  21. 21.
    Hicken, J.E.: Output error estimation for summation-by-parts finite-difference schemes. J. Comput. Phys. 231(9), 3828–3848 (2012)MathSciNetCrossRefGoogle Scholar
  22. 22.
    Kreiss, H.-O., Oliger, J.: Comparison of accurate methods for the integration of hyperbolic equations. Tellus XXIV, 199–215 (1972)MathSciNetGoogle Scholar
  23. 23.
    Kreiss, H.-O., Scherer, G.: Finite Element and Finite Difference Methods for Hyperbolic Partial Differential Equations. Mathematical Aspects of Finite Elements in Partial Differential Equations. Academic Press Inc., Cambridge (1974)zbMATHGoogle Scholar
  24. 24.
    Lele, S.K.: Compact finite difference schemes with spectral-like resolution. J. Comput. Phys. 103, 16–42 (1992)MathSciNetCrossRefGoogle Scholar
  25. 25.
    Mattsson, K.: Summation by parts operators for finite difference approximations of second-derivatives with variable coefficients. J. Sci. Comput. 51, 650–682 (2012)MathSciNetCrossRefGoogle Scholar
  26. 26.
    Mattsson, K.: Diagonal-norm summation by parts operators for finite difference approximations of third and fourth derivatives. J. Comput. Phys. 274, 432–454 (2014)MathSciNetCrossRefGoogle Scholar
  27. 27.
    Mattsson, K.: Diagonal-norm upwind SBP operators. J. Comput. Phys. 335, 283–310 (2017)MathSciNetCrossRefGoogle Scholar
  28. 28.
    Mattsson, K., Almquist, M., Carpenter, M.H.: Optimal diagonal-norm SBP operators. J. Comput. Phys. 264, 91–111 (2014)MathSciNetCrossRefGoogle Scholar
  29. 29.
    Mattsson, K., Carpenter, M.H.: Stable and accurate interpolation operators for high-order multi-block finite-difference methods. SIAM J. Sci. Comput. 32(4), 2298–2320 (2010)MathSciNetCrossRefGoogle Scholar
  30. 30.
    Mattsson, K., Ham, F., Iaccarino, G.: Stable and accurate wave propagation in discontinuous media. J. Comput. Phys. 227, 8753–8767 (2008)MathSciNetCrossRefGoogle Scholar
  31. 31.
    Mattsson, K., Nordström, J.: Summation by parts operators for finite difference approximations of second derivatives. J. Comput. Phys. 199(2), 503–540 (2004)MathSciNetCrossRefGoogle Scholar
  32. 32.
    Mattsson, K., Nordström, J.: High order finite difference methods for wave propagation in discontinuous media. J. Comput. Phys. 220, 249–269 (2006)MathSciNetCrossRefGoogle Scholar
  33. 33.
    Mattsson, K., Parisi, F.: Stable and accurate second-order formulation of the shifted wave equation. Commun. Comput. Phys. 7, 103–137 (2010)MathSciNetzbMATHGoogle Scholar
  34. 34.
    Mattsson, K., Svärd, M., Nordström, J.: Stable and accurate artificial dissipation. J. Sci. Comput. 21(1), 57–79 (2004)MathSciNetCrossRefGoogle Scholar
  35. 35.
    Mattsson, K., Svärd, M., Shoeybi, M.: Stable and accurate schemes for the compressible Navier–Stokes equations. J. Comput. Phys. 227(4), 2293–2316 (2008)MathSciNetCrossRefGoogle Scholar
  36. 36.
    Mattsson, K., Werpers, J.: High-fidelity numerical simulation of solitons in the nerve axon. J. Comput. Phys. 305, 793–816 (2016)MathSciNetCrossRefGoogle Scholar
  37. 37.
    Mo, Q., Yeh, H., Lin, M., Manocha, D.: Outdoor sound propagation with analytic ray curve tracer and gaussian beam. J. Acoust. Soc. Am. 141(3), 2289–2299 (2017)CrossRefGoogle Scholar
  38. 38.
    Nissen, A., Kormann, K., Grandin, M., Virta, K.: Stable difference methods for block-oriented adaptive grids. J. Sci. Comput. 65(2), 486–511 (2015)MathSciNetCrossRefGoogle Scholar
  39. 39.
    Nordström, J.: Conservative finite difference formulations, variable coefficients, energy estimates and artificial dissipation. J. Sci. Comput. 29, 375–404 (2006)MathSciNetCrossRefGoogle Scholar
  40. 40.
    Olsson, P.: Summation by parts, projections, and stability I. Math. Comp. 64, 1035 (1995)MathSciNetCrossRefGoogle Scholar
  41. 41.
    Olsson, P.: Summation by parts, projections, and stability II. Math. Comp. 64, 1473 (1995)MathSciNetCrossRefGoogle Scholar
  42. 42.
    Petersson, N.A., O’Reilly, O., Sjögreen, B., Bydlon, S.: Discretizing singular point sources in hyperbolic wave propagation problems. J. Comput. Phys. 321, 532–555 (2016)MathSciNetCrossRefGoogle Scholar
  43. 43.
    Pulliam, T.H.: The Euler Equations. NASA Ames Research Center, Mountain View (1994)Google Scholar
  44. 44.
    Pulliam, T.H., Chaussee, D.S.: A diagonal form of an implicit approximate-factorization algorithm. J. Comput. Physics 39, 341–363 (1981)MathSciNetCrossRefGoogle Scholar
  45. 45.
    Strand, B.: Summation by parts for finite difference approximations for d/dx. J. Comput. Phys. 110, 47–67 (1994)MathSciNetCrossRefGoogle Scholar
  46. 46.
    Strikwerda, J.C.: High-order-accurate schemes for incompressible viscous flow. Int. J. Numer. Methods Fluids 24, 715–734 (1997)MathSciNetCrossRefGoogle Scholar
  47. 47.
    Svärd, M., Carpenter, M.H., Nordström, J.: A stable high-order finite difference scheme for the compressible Navier–Stokes equations, far-field boundary conditions. J. Comput. Phys. 225, 1020–1038 (2008)MathSciNetCrossRefGoogle Scholar
  48. 48.
    Svärd, M., Nordström, J.: On the order of accuracy for difference approximations of initial-boundary value problems. J. Comput. Phys. 218, 333–352 (2006)MathSciNetCrossRefGoogle Scholar
  49. 49.
    Svärd, M., Nordström, J.: Review of summation-by-parts-operators schemes for initial-boundary-value problems. J. Comput. Phys. 268, 17–38 (2014)MathSciNetCrossRefGoogle Scholar
  50. 50.
    Svärd, M., Özcan, H.: Entropy-stable schemes for the euler equations with far-field and wall boundary conditions. J. Sci. Comput. 58(1), 61–89 (2014)MathSciNetCrossRefGoogle Scholar
  51. 51.
    Tornberg, A.-K., Engquist, B.: Numerical approximations of singular source terms in differential equations. J. Comput. Phys. 200(2), 462–488 (2004)MathSciNetCrossRefGoogle Scholar
  52. 52.
    Valeau, V., Picaut, J., Hodgson, M.: On the use of a diffusion equation for room-acoustic prediction. J. Acoust. Soc. Am. 119(3), 1504–1513 (2006)CrossRefGoogle Scholar

Copyright information

© The Author(s) 2018

Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (, 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.

Authors and Affiliations

  1. 1.Department of Information TechnologyUppsala UniversityUppsalaSweden

Personalised recommendations