Abstract
We review wellbalanced methods for the faithful approximation of solutions of systems of hyperbolic balance laws that are of interest to computational astrophysics. Wellbalanced methods are specialized numerical techniques that guarantee the accurate resolution of nontrivial steadystate solutions, that balance laws prominently feature, and perturbations thereof. We discuss versatile frameworks and techniques for generic systems of balance laws for finite volume and finite difference methods. The principal emphasis of the presentation is on the algorithms and their implementation. Subsequently, we specialize in hydrodynamics’ Euler equations to exemplify the techniques and give an overview of the available wellbalanced methods in the literature, including the classic hydrostatic equilibrium and steady adiabatic flows. The performance of the schemes is evaluated on a selection of test problems.
1 Introduction
Numerical methods for the approximate solution of balance laws play a central role in the simulation of many interesting and challenging phenomena in computational astrophysics. Balance laws take the generic form
where \(\varvec{u}\) is the vector of conserved variables, \({{{\textbf {{\textsf {f}}}}}}\) the flux tensor and \(\varvec{s}\) the vector of source terms, respectively. Examples of balance laws include (ideal) hydrodynamics or Euler equations, (ideal) magnetohydrodynamics, and radiation (magneto)hydrodynamics, as well as their relativistic counterparts. The origin of the source term on the righthand side may be physical (e.g., chemical reactions, external forces, nonideal effects), geometric (e.g., curvilinear coordinates) or both (e.g., curved spacetime).
The faithful modeling of complex astrophysical phenomena with balance laws is generally not feasible with (semi)analytical methods alone. Hence, solutions can only be sought approximately by numerical means. Numerical methods for (hyperbolic) conservation laws, that is, the homogeneous Eq. (1) with \(\varvec{s} \equiv 0\), are in a mature stage of development. We refer, for example, to the recent comprehensive review by Balsara (2017) and references therein. The approximation of balance laws is often not much more involved and can easily be done by supplementing a consistent discretization of the source term \(\varvec{s}\). In this way, highly accurate solution approximations can be obtained efficiently by computational means.
However, there are particular regimes where conventional numerical methods encounter difficulties.^{Footnote 1} Balance laws often possess nontrivial steadystate solutions
where the flux divergence exactly balances the source term. Numerical methods do not necessarily satisfy a discrete version of this subtle equilibrium balance. Consequently, steady states are not resolved exactly but are approximated with an error of the order of the method’s truncation error. To simulate phenomena near steady states, the numerical resolution needs to be high enough such that the continuous pileup of these truncation errors does not obscure the processes of interest during the simulation timeframe. Especially in multidimensional simulations, the required resolution may entail prohibitively high computational costs.
The shortcoming near steady states was realized early on in the development of numerical methods for balance laws. This lead to the suggestion to exploit the steadystate solutions in the discrete representation of the approximate solution (see, e.g., Liu 1979; Glaz and Liu 1984; Glimm et al. 1984; van Leer 1984; Huang and Liu 1986; Roe 1987). The idea is to replace the common (piecewise) polynomial approximate solution representation with a (piecewise) steady one that fulfills the subtle balance Eq. (2) either exactly or approximately. Thereby, only deviations from steady state induce dynamics which is indeed highly desirable. As a matter of fact, this is a generalization of the fundamental property of numerical methods for the homogeneous equations that only deviations from a constant state trigger wave motion. As noted by van Leer (1984), the construction of such steadystate distributions is in general difficult as it requires the local solution of a boundary value problem for Eq. (2). The solvability is challenging and a solution can usually only be obtained numerically. The pioneering work by Mellema et al. (1991), Eulderink and Mellema (1995) suggests constructing an equilibrium subgrid model by locally approximating equivalent initial value problems numerically. For example, such equilibrium subgrid models were successfully constructed for hydrostatic equilibrium by Zingale et al. (2002) and even for general relativity by Kastaun (2006). This led to much improved numerical resolution near equilibrium states.
An additional design principle was introduced by Cargo and LeRoux (1994) to overcome the challenges near steady states. They constructed a scheme for the Euler equations with gravity source terms capable of preserving exactly a discrete form of hydrostatic equilibrium and termed the scheme as wellbalanced (or, in French, “un schéma équilibre”). A wellbalanced numerical method satisfies a discrete form of the equilibrium balance Eq. (2) exactly, independent of the resolution. Therefore, these methods can accurately resolve solutions that are small perturbations of equilibrium data. Many such schemes have been developed since, especially for the shallow water equations with bottom topography used in environmental applications. In the context of the shallow water equations, the wellbalanced property is also referred to as the exact CProperty put forward in a seminal paper by Bermudez and Vazquez (1994). We refer to the comprehensive reviews by Noelle et al. (2009), Xing and Shu (2014), Kurganov (2018), the textbook by Bouchut (2004) and the references therein for further information. An extensive review of wellbalanced and related schemes for many applications can also be found in the textbook by Gosse (2013). Moreover, we refer to Amadori and Gosse (2015) for an extensive theoretical treatment and rigorous numerical analysis of wellbalanced schemes on simple balance laws.
Wellbalanced methods for balance laws commonly used in computational astrophysics have received much attention in the literature recently. Pioneering schemes for the Euler equations have been developed by Cargo and LeRoux (1994), coining the term wellbalanced, and LeVeque et al. (1998), LeVeque and Bale (1999). The latter apply the quasisteady wavepropagation algorithm of LeVeque (1998). Botta et al. (2004) designed a wellbalanced finite volume scheme for numerical weather prediction applications. More recently, a multitude of wellbalanced numerical schemes have been elaborated for the Euler equations in the literature (LeVeque 2010; Xu et al. 2010; Luo et al. 2011; Xing and Shu 2013; Käppeli and Mishra 2014; Vides et al. 2014; Desveaux et al. 2014; Chandrashekar and Klingenberg 2015; Desveaux et al. 2015; Ghosh and Constantinescu 2015; Li and Xing 2016b; Käppeli and Mishra 2016; Li and Xing 2016a; Touma et al. 2016; Ghosh and Constantinescu 2016; Franck and Mendoza 2016; Bispen et al. 2017; Käppeli 2017; Chandrashekar and Zenk 2017; Berberich et al. 2018; Li and Xing 2018b, a; Chertock et al. 2018; Gaburro et al. 2018; Qian et al. 2018; GrosheintzLaval and Käppeli 2019; Popov et al. 2019; Thomann et al. 2019; Klingenberg et al. 2019; Veiga et al. 2019; Varma and Chandrashekar 2019; Krause 2019; Thomann et al. 2020; GrosheintzLaval and Käppeli 2020; Berberich et al. 2019; Padioleau et al. 2019; Kanbar et al. 2020; Castro and Parés 2020; Berberich et al. 2021a, b; Parés and ParésPulido 2021; Li and Gao 2021; Wu and Xing 2021; Edelmann et al. 2021; GómezBueno et al. 2021a, b). Magnetohydrostatic steadystate preserving wellbalanced schemes were devised by Fuchs et al. (2010a, 2010b, 2011). Wellbalanced schemes for relativistic hydrodynamics on curved spacetime were considered by Kastaun (2006), LeFloch and Makhlof (2014), Gosse (2015), LeFloch et al. (2020), Gaburro et al. (2021).
A popular framework for the construction of wellbalanced numerical methods is rooted in the piecewise steady or subgrid equilibrium representation. The framework combines a piecewise steady reconstruction, consisting of an equilibrium subgrid model and a piecewise polynomial equilibriumpreserving reconstruction, and a wellbalanced source term discretization. Many of the aforementioned schemes above have been constructed along these ingredients. In this text, we focus on this framework as it combines conceptual simplicity and versatility in that it applies to a wide range of numerical methods for balance laws ranging from finite volume to discontinuous Galerkin over finite difference methods. For the clarity and conciseness of the presentation, we concentrate on particular flavors of these numerical methods. In particular, we focus the presentation on higherorder Godunovtype finite volume methods and finite difference methods with flux splitting. Moreover, the emphasis of this review is on algorithmic ideas, not necessarily on the underlying theory.
Another versatile framework to construct wellbalanced methods is based on the reformulation of Eq. (1) as a homogeneous quasilinear PDE system of the form
This framework is applied in the context of hyperbolic systems with nonconservative products using the pathconservative finite volume methods (see, e.g., Cargo and LeRoux 1994; Greenberg and LeRoux 1996; Greenberg et al. 1997; Gosse 2000, 2001; Parés and Castro 2004; Parés 2006; Castro et al. 2007, 2008; LeVeque 2010). In this form, a special family of paths in phase space can be constructed such that a wellbalanced method results. These paths can be obtained from the explicit knowledge of the solutions of the Riemann problems of Eq. (3), which may be difficult and expensive in general, or through a socalled generalized hydrostatic reconstruction technique by Castro et al. (2007, 2008). The latter is closely related to the piecewie steady reconstruction technique (Castro and Parés 2020). Furthermore, the framework is able to deal with singular source terms. However, we shall not pursue further the presentation of this theoretically pleasing and elegant framework in this text and redirect the interested reader to the given references. See also the recent comprehensive review by Castro et al. (2017) on this framework.
Before we proceed to the outline, we also mention that wellbalanced methods may be considered as part of the family of socalled structurepreserving methods. These methods are designed such that certain properties of the physical model (i.e., the balance law, the partial differential equation, etc.) are fulfilled in some form at the discrete level. Such properties may be in the form of socalled companion balance or conservation laws that are automatically satisfied at the analytical level. For example, the second law of thermodynamics puts admissibility criteria in the form of entropy conditions on flow discontinuities such as shock waves. The preservation of physical states, e.g., positive mass density, pressure or subluminal velocities. The rotational invariance of the equations of (magneto)hydrodynamics implies the conservation of angular momentum. Faraday’s law, together with the fact that magnetic monopoles have never been observed in nature, imply the solenoidal character of the magnetic field in Maxwell’s equations and magnetohydrodynamics. Selfgravitating flows conserve total momentum and energy. Although consistent numerical methods may fulfill such structures in the infinite resolution limit, this is often unsatisfactory in practice as the needed resolution may result in unaffordable large computational costs. Also, note that near discontinuities, which solutions of balance laws prominently feature, these errors are inevitably of order one. Hence, structurepreserving methods are often not a luxury choice but a necessity. The design of structurepreserving methods that maintain a discrete form of such structures is a rich and challenging line of research on numerical methods for balance/conservation laws. We refer the interested reader to, e.g., Evans and Hawley (1988), Balsara and Spicer (1999), Tóth (2000), Morton and Roe (2001), Tadmor (2003), Mishra and Tadmor (2011), Jiang et al. (2013), Després and Labourasse (2015), Schaal et al. (2015), Katz et al. (2016), Zanotti and Dumbser (2016), Balsara and Kim (2016), Wu and Tang (2017, 2018), Mullen et al. (2021) and references therein.
The text is organized as follows:

Section 2 presents a brief introduction to finite volume methods and motivates the wellbalanced methods on the basis of an extremely simple model equation, namely the linear advection–reaction equation. This is followed by a general framework for the construction of wellbalanced finite volume methods. The procedure is examplified on the Euler equations in spherical symmetry featuring a geometric source term. The section rounds up with a general discussion of wellbalanced methods within finite difference frameworks.

Section 3 focuses on wellbalanced methods for the Euler equations. Several flavors of wellbalanced methods are presented with differing local steadystate determination strategies. The section completes by a battery of numerical test problems on which the performance of wellbalanced methods is commonly assessed.
Before we proceed, let us state that any inadvertent omission or understatement of credit to authors to whom more was due, we humbly offer a sincere apology in advance.
2 Wellbalanced discretization
2.1 Onedimensional methods
We begin by considering a onedimensional system of balance laws in the form
Here \(\varvec{u}\), \(\varvec{f}\) and \(\varvec{s}\) are vectors of m components: \(\varvec{u} = \varvec{u}(x,t)\) is the vector of conserved variables, \(\varvec{f} = \varvec{f}(\varvec{u})\) the vector of flux functions, and \(\varvec{s} = \varvec{s}(\varvec{u})\) the vector of source terms.^{Footnote 2} In the following, we will tacitly assume that

(i)
the system is of hyperbolic nature: the Jacobian of the flux function vector \(A(\varvec{u}) = \frac{\partial \varvec{f}}{\partial \varvec{u}}\) has real eigenvalues and an associated set of linearly independent eigenvectors for all \(\varvec{u}\) of interest,

(ii)
the source term \(\varvec{s}(\varvec{u})\) is not singular: bounded source terms do not change the Rankine–Hugoniot jump conditions of the system.
Next, we outline a standard finite volume discretization of the balance law Eq. (4) in order to introduce our notation and set the stage for the following developments. For further details and precise derivation, we refer to the many excellent textbooks available in the literature, see, e.g., LeVeque (1992, 2002), Godlewski and Raviart (1996), Laney (1998), Hirsch (2007), Toro (2009).
2.2 Finite volume discretization
A standard finite volume method discretizes the spatial domain of interest \(\varOmega = [0,L]\) into a finite number N of control volumes or cells \(\varOmega _{i}=[x_{i1/2},x_{i+1/2}]\) (\(i = 1, \ldots ,N\)). For the ith cell, \(x_{i\pm 1/2}\) denote the left/right cell interfaces and \(x_{i} = (x_{i1/2}+x_{i+1/2})/2\) the cell centers. For ease of presentation, we shall assume a uniform discretization with constant cell size \(\varDelta x=x_{i+1/2}x_{i1/2}\). However, this assumption can easily be relaxed within a finite volume discretization.
Integrating the balance law Eq. (4) over cell \(\varOmega _{i}\) and dividing by the cell size \(\varDelta x\) yields
where we introduced
the cell averages of conserved variables and source terms. We also introduce the convention that a quantity with an overbar denotes a cell average, while one without a point value.
Equation (5) represents an exact evolution equation for the cellaveraged conserved variables. The numerical approximation is introduced by replacing the exact fluxes and source terms by socalled numerical fluxes and source terms:
Here, the \(\overline{\varvec{U}}_{i}\), \(\varvec{F}_{i\pm 1/2}\) and \(\overline{\varvec{S}}_{i}\) denote approximations of the cellaveraged conserved variables, the fluxes through the cell interfaces and the cellaveraged source terms at time t:
In the following, we use the convention that exact solutions are denoted by lower case letters and approximations by upper case letters.
Equation (7) is a generic semidiscrete^{Footnote 3} finite volume discretization in one space dimension. Furthermore, in Eq. (7) we denote the socalled spatial discretization operator by \({\mathcal {L}}(\overline{\varvec{U}})_{i}\). Next, we briefly describe the individual components of a finite volume method. For ease of notation, we suppress the temporal dependency.
2.2.1 Reconstruction \(\mathcal {R}\)
The primary unknowns in a finite volume method are the cell averages. To evaluate the numerical fluxes through cell interfaces and compute cell averages of the source terms, within each cell a subcell profile of the conserved variables \(\varvec{U}_{i}(x)\) has to be reconstructed from the cell averages \(\{\overline{\varvec{U}}_{k}\}\). Because discontinuities may be present in the solution, special care is needed to reconstruct nonoscillatory subcell profiles that avoid spurious Gibbs phenomena.
We denote such a reconstruction procedure \(\mathcal {R}\), which recovers an rth order accurate profile \(Q_{i}(x)\) of a quantity q(x) within cell \(\varOmega _{i}\) from the cell averages \(\{\overline{q}_{k}\}\), by
with
Here \(S_{i} = \{\ldots ,i1,i,i+1,\ldots \}\) is the socalled stencil of the reconstruction for cell \(\varOmega _{i}\), which consists of cell \(\varOmega _{i}\) and a certain number of neighboring cells. For systems, the reconstruction procedure can be applied componentwise to the cell averages of the conserved variables vector
Numerous such reconstruction procedures have been developed in the literature, and a nonexhaustive list includes the Total Variation Diminishing (TVD) and the Monotonic Upwind Scheme for Conservation Laws (MUSCL) methods (see, e.g., van Leer 1979; Harten et al. 1983; Sweby 1984; Laney 1998; LeVeque 2002; Toro 2009), the Piecewise Parabolic Method (PPM) by Colella and Woodward (1984), the Essentially NonOscillatory (ENO) (see, e.g., Harten et al. 1987), Weighted ENO (WENO) (see, e.g., Shu 2009 and references therein) and Central WENO (CWENO) methods (see, e.g., Levy et al. 1999, 2000; Cravero et al. 2018).
For example, a spatially firstorder accurate reconstruction consists of a piecewise constant profile
A spatially secondorder accurate piecewise linear reconstruction à la TVD/MUSCL is given by
where \(D\varvec{U}_{i}\) are some appropriately limited slopes (to avoid monotonicity violation and ensuing spurious oscillations). A popular example is the socalled generalized \(\mathrm {minmod}\) slope limiter family
where \(\theta \in [1,2]\) is a parameter and the \(\mathrm {minmod}\) function is defined by
Equation (14) has to be understood componentwise. For \(\theta = 1\) (\(\theta = 2\)), Eq. (14) reproduces the traditional \(\mathrm {minmod}\) (monotonized centered) limiter (see, e.g., Toro 2009 and references therein for further information). See Fig. 1 for an illustration of a piecewise constant/linear reconstruction.
Straightforward componentwise reconstruction for systems of balance laws may sometimes lead to some undesirable oscillations in the results, especially when strong flow discontinuities interact. In that case, it may prove beneficial to perform the reconstruction in local characteristic variables (see, e.g., Harten et al. 1987; Qiu and Shu 2002; Toro 2009)
where \(L_{i} = L(\overline{\varvec{U}}_{i})\) and \(R_{i} = R(\overline{\varvec{U}}_{i})\) are the matrices of left and right eigenvectors, respectively. The eigenvectors are typically evaluated at the cell average of the ith cell \(\varOmega _{i}\) whose reconstruction is performed, hence the name local.
2.2.2 Numerical fluxes \(\mathcal {F}\)
The numerical fluxes are obtained by resolving the discontinuities at cell interfaces naturally arising from the per cell reconstruction (see Fig. 1). This is commonly done à la Godunov by solving (approximately) the Riemann problem at cell interfaces
where the point values \(\varvec{U}_{i+1/2\pm }\) are the cell interface reconstructed conserved variables
Notice that the value on the left (L)/right (R) of the interface \(x_{i+1/2}\) is obtained from the reconstruction in cell \(\varOmega _{i}\)/\(\varOmega _{i+1}\). The numerical flux is required to be consistent with the physical flux function \(\varvec{f}\), i.e., \(\mathcal {F}(\varvec{U},\varvec{U}) = \varvec{f}(\varvec{U})\), and Lipschitz continuous. The latter is required for accuracy reasons (see, e.g., Harten et al. 1987). Moreover, certain numerical fluxes have the ability to exactly recognize isolated discontinuities such as contacts or shocks in (magneto) hydrodynamics (see, e.g., Toro 2009 for details).
A simple and popular choice for the numerical flux is the socalled Rusanov flux (Rusanov 1962; Toro 2009)
where \(\varvec{F}_{L/R} = \varvec{f}(\varvec{U}_{L/R})\) and \(S_{\text {max}}\) is an estimate of the largest characteristic speed in the solution of the Riemann problem \(S_{\text {max}} = \max _{m} \lambda _{m}\) (\(\lambda _{m}\) are the eigenvalues of the flux Jacobian). This numerical flux is sometimes also called a local Lax–Friedrichs (LLF) flux.
2.2.3 Numerical source terms \(\mathcal {S}\)
For the integration of the source terms, there are essentially two standard methods. The first one is the socalled unsplit method. In this method, the source terms are typically incorporated directly into the spatial discretization operator as tacitly already done in Eq. (7). An accurate approximation of the cell average of the source terms are obtained by numerical integration. Let \({\mathcal {Q}}_{i}\) denote a qth order accurate quadrature rule over the ith cell \(\varOmega _{i}\). The cell average of the source terms are then computed by
where the \(x_{i,\alpha } \in \varOmega _{i}\) and \(\omega _{\alpha }\) denote the \(N_{q}\) quadrature nodes and weights of \({\mathcal {Q}}_{i}\), respectively. Assuming that the point values of the source terms can be evaluated with spatial order of accuracy s, then the resulting discretization is spatially \(\min (q,s)\)th order accurate (provided enough smoothness, of course).^{Footnote 4} A popular example is the secondorder accurate midpoint rule
Higherorder rules are provided, for example, by the GaussLegendre or GaussLobatto quadrature rules (see, e.g., Press et al. 1993).
The second family of methods are the socalled splitting or fractionalstep methods. In these methods, the original problem Eq. (4) is first split (or fractured) into two subproblems of the form:
In this approach, one alternates adroitly between solving the two subproblems A and B. This is indeed a very practical approach: Problem A is a standard (homogeneous) conservation law and Problem B is a simple Ordinary Differential Equation (ODE). For both subproblems, there exist many excellent numerical methods and software libraries which implement them. By extension, this approach allows for straightforward modularization. Next, we catalogue two popular splitting methods.
Let \(S_{A}^{\varDelta t}\) and \(S_{B}^{\varDelta t}\) denote the discrete solution operators that advance a discrete solution \(\overline{\varvec{U}}^{n}\) by a time step \(\varDelta t\) for problems A and B
where the superscript labels the time step and the “star” shall stress the fact that these are only partially evolved states.
An obvious splitting method is then given by
which is firstorder accurate in time (provided that \(S_{A}^{\varDelta t}\) and \(S_{B}^{\varDelta t}\) are at least of that same temporal order). This splitting is sometimes termed as Godunov splitting. A secondorder accurate in time method is given by the socalled Strang splitting
where one sandwiches a full step \(\varDelta t\) with solution operator A between two half steps \(\varDelta t/2\) with solution operator B. Of course, full secondorder accuracy in time requires that the individual solution operators \(S_{A}^{\varDelta t}\) and \(S_{B}^{\varDelta t}\) possess an equivalent or higher order of accuracy.
2.2.4 Time discretization \(\mathcal {T}\)
The semidiscrete evolution equations Eq. (7) for the cell averages \(\overline{\varvec{U}}_{i}\) represent a system of ordinary differential equations that has to be approximately integrated in time. For that purpose, the temporal domain of interest \(T = [t_{i}, t_{f}]\) is discretized into time steps \(\varDelta t^{n} = t^{n+1}  t^{n}\), where the superscripts label the respective time step.
The simplest time integration method is of course the temporally firstorder accurate explicit Euler method
For higherorder time integration, there are essentially two large families of methods: RungeKutta and predictorcorrector methods. A popular representative of the RungeKutta family is the temporally secondorder accurate explicit Heun method
It is a socalled Strong StabilityPreserving Runge–Kutta (SSPRK) method, and it is often labeled by SSPRK2 in the literature (because it is a twostage SSPRK method). These methods have certain desirable stability properties when integrating nonlinear conservation/balance laws (see, e.g., Gottlieb et al. 2001 and references therein). Another very popular method is the thirdorder accurate SSPRK3 method, which is shown below in Eq. (126).
A popular representative of the predictorcorrector methods is the temporally secondorder accurate MUSCLHancock method (van Leer 1984). Possible highorder extensions of this methodology can be achieved by evolution of the solution in the small with help of the Cauchy–Kowalevski procedure (Harten et al. 1987). Another possibility is provided by the socalled Arbitrary DERivative (ADER) methods (see, e.g., Castro and Toro 2008; Toro 2009 and references therein). A distinctive feature of predictorcorrector methods is that they are onestep methods, which makes them extremely attractive in an adaptive mesh refinement context (see, e.g., Balsara 2017).
For time explicit approaches as above, Eqs. (26) and (27), the time step \(\varDelta t^{n}\) is in general required to fulfill a socalled CFL condition of the form (Courant et al. 1928)
where \(S^{n}_{i}\) is the speed of the fastest wave in cell \(\varOmega _{i}\) at time \(t^{n}\) and \(C_{\mathrm {CFL}}\) is the CFL number. The latter needs to fall within a certain range for linear stability.
Time implicit approaches are also possible and especially adapted for socalled stiff problems involving vastly different timescales (see, e.g., Kwatra et al. 2009; Viallet et al. 2011, 2013; Kifonidis and Müller 2012; Miczek et al. 2015 and references therein). Stiffness may originate in the different wave propagation characteristics (such as advective versus acoustic waves), strong chemical reactions and many more.
2.2.5 Assembling a finite volume scheme
A generic finite volume scheme Eq. (7) for the onedimensional balance law Eq. (4) is now easily assembled with the previously described components:

(1)
A spatially rth order accurate reconstruction \(\mathcal {R}\) (Eq. (11)).

(2)
A consistent and Lipschitz continuous numerical flux function \(\mathcal {F}\) (Eq. (17)).

(3)
An unsplit source terms discretization \(\mathcal {S}\) (Eq. (20)) based on sth order accurate point value evaluations and a qth order accurate quadrature rule \({\mathcal {Q}}\).

(4)
A \(\tau \)th order accurate time integrator \(\mathcal {T}\).
This results in a \(\min (q,r,s,\tau )\)th order accurate finite volume scheme (for smooth enough solutions, of course). A similar assemblage can be realized with an appropriate splitting method for the source terms.
However, the approximation of near steady states characterized by the near balance of flux divergence and source term
is quite challenging for such a generic finite volume scheme
It turns out that the steady states of interest are not exactly representable by polynomials used in the reconstruction procedure in general. Therefore the piecewise polynomial reconstruction will introduce truncation errors at every time step. Another issue is that the flux divergence and source term discretizations are commonly computed independently. This further makes the above discrete near balance unlikely.
In the next section, we present a simple illustrating example followed by a general technique to wellbalance such steady states within a finite volume framework.
2.3 Example: linear advection–reaction equation
We now illustrate the issues that can arise when numerically approximating balance laws near steady states. Consider the simple linear advection–reaction equation
modeling the transport of some radioactive material of concentration u(x, t) with constant advection velocity \(a > 0\) and decay rate \(\lambda > 0\).
An exact solution is easily derived with the method of characteristics
where \(u_{0}(x)\) is the initial concentration \(u(x,0) = u_{0}(x)\). The exact solution reflects the anticipated behavior that the initial concentration is advected to the right with velocity a and decays along the way with rate \(\lambda \).
An interesting feature of the above simple model Eq. (29) is that it possesses nontrivial steadystate solutions
which are of the form
for some constant C. The steady states are characterized by a subtle balance between the advection and decay processes. Their spatial variation is ruled by the ratio between the decay and the advection timescale, commonly known as the Damköhler number \(\mathrm {Da} = \frac{\lambda }{a}\).
Let us solve approximately Eq. (29) over the computational domain \(\varOmega = [0,2]\) discretized by N uniform cells \(\varOmega _{i}\) (\(i=1,\dots ,N\)). For illustration, we choose two firstorder accurate finite volume schemes. The first scheme consists of piecewise constant reconstruction Eq. (12), the Rusanov numerical flux Eq. (19), the unsplit source term discretization based on the midpoint rule Eq. (21), and the explicit Euler time integration Eq. (26). Explicitly, this gives the following fully discrete evolution equation for the cellaveraged concentration \(\overline{U}_{i}^{n}\) within cell \(\varOmega _{i}\):
The second scheme employs Godunov splitting Eq. (24) for the source term discretization and reads:
Note that explicit Euler time integration is used in both subproblems. In principle, the exact solution could be used in Eq. (34b), i.e., \(\overline{U}_{i}^{n+1} = e^{ \lambda \varDelta t} \overline{U}_{i}^{*}\). However, this does not affect the following discussion. Without any surprise, an astute reader will recognize here the classical firstorder upwind method for the linear advection equation. Both schemes are firstorder accurate in space and time and are linearly stable provided that the time step \(\varDelta t\) is chosen such that \(0 < \frac{\varDelta t}{\varDelta x} a \le 1\) and \(0< \varDelta t \lambda < 2\).
We fix \(a = \lambda = 1\) and evolve a slightly perturbed steady state Eq. (32) as shown in Fig. 2a for one time unit. The small perturbation centered around \(x = 0.5\) is advected by one unit to the right and its amplitude decays by a factor \(e^{1}\). In the same panel are also shown the approximate results obtained with the unsplit Eq. (33) and split Eq. (34) firstorder schemes. Both schemes show qualitatively correct results. More quantitatively, Fig. 2b displays the equilibrium perturbation, that is, the difference between the solution and the background steady state. We observe that the perturbation is indeed advected by the correct distance by both schemes. However, we also observe that both schemes show significant discrepancies with the expected solution away from the perturbation.
To further highlight the issue, we evolve the unperturbed steady state Eq. (32) for one time unit with both schemes. The results are shown in Fig. 3a. By comparison with Fig. 2b, we see clear evidence that the spurious deviations are due to the inability of both schemes to maintain the steady state discretely. To illustrate the origin of the problem, Fig. 3b shows the exact steady state together with the cell averages \(\overline{U}_{i}^{0}\) at the initial time for a few cells. The cell averages also correspond to the piecewise constant solution representation within each cell resulting from the firstorder reconstruction. It is clear that these piecewise constant subcell profiles are inadequate to represent the steady state within the cells faithfully. More precisely, the piecewise constant approximation of the exponentially varying steady state Eq. (32) inevitably introduces truncation errors of order \(\mathcal {O}(\varDelta x)\).
Likewise, higherorder polynomial reconstruction procedures of order r introduce truncation errors of order \(\mathcal {O}(\varDelta x^{r})\). Therefore, the schemes will introduce local truncation errors of order \(\mathcal {O}(\varDelta x^{r})\) near nonpolynomial steady states. If the goal is to simulate small perturbations on top of a steady state, the numerical resolution needs to be increased to the point that these local truncation errors do not obscure the phenomena of interest. Similarly, if the goal is to simulate phenomena near a steady state for an extended time (compared to a characteristic timescale on which the steady state would react to equilibrium perturbations), the resolution needs to be increased such that the pileup of these local truncation errors in each time step does not corrupt the phenomena of interest. This increase in resolution may cause prohibitively high computational costs, especially in multiple dimensions.
This inadequacy of standard piecewise reconstruction procedures was realized early on in the development of numerical methods for balance laws. This motivated for example Liu (1979), Glaz and Liu (1984), and van Leer (1984) to replace the piecewise constant reconstruction within each cell
by a piecewise steady reconstruction
which fulfills the steady state Eq. (31)
and matches with the ith cell’s average
Note that this equilibrium subcell profile \(U_{eq,i}^{n}(x)\) depends on the cell under consideration and may be adapted in each time step. Hence the subscripts “eq” and “i”, and the superscript “n”. Since the steady states of the considered linear advection–reaction equation are known explicitly Eq. (32), the desired piecewise steady reconstruction is of the form
and the constant \(C_{i}\) is simply fixed by matching with the ith cell’s average Eq. (38)
Plugging this reconstruction into the unsplit firstorder scheme gives
Analogously for the split firstorder scheme, one obtains
Let’s evolve the unperturbed steady state with the split and unsplit schemes using the above piecewise steady reconstruction Eq. (36). The resulting equilibrium perturbation at final time \(t_{f} = 1\) is shown in Fig. 4a. By comparison with Fig. 3a, we observe that the piecewise steady reconstruction does not improve the situation for the split scheme. Actually, the spurious equilibrium deviations are even slightly worse in this example. In contrast, the unsplit scheme with piecewise steady reconstruction preserves the steady state down to machine precision (\(\approx 10^{16}\) for the double precision floatingpoint representation used in the computations). Figure 4b displays the results for the slightly perturbed steady state. The split scheme evolves the perturbation faithfully, but is afflicted by the scheme’s local truncation errors at the steady state. On the other hand, the unsplit scheme not only advect the bump very well; it additionally relaxes back to the steady state once the perturbation passed through.
A straightforward computation shows that the unsplit firstorder scheme with piecewise steady reconstruction is exact for the advection–reaction equation’s steady states Eq. (32). Cargo and LeRoux (1994) subsequently coined the term wellbalanced for numerical schemes with the property of preserving a discrete form of certain steady states exactly. In the above derivation, we implicitly fixed some choices within the scheme. When fixing the equilibrium subcell profile \(U_{eq,i}(x)\), we chose exact integration in Eq. (38) to match with the ith cell average. Instead, a quadrature rule, e.g., the midpoint rule, could be used. Similarly, we chose the exact solution Eq. (39) as the equilibrium subcell profile. As suggested by Roe (1987), Mellema et al. (1991) and Eulderink and Mellema (1995), one could chose an approximate solution Eq. (37) as the equilibrium subcell profile. In the next section, we present a general framework for the construction of wellbalanced highorder finite volume schemes. At the root, it is based on a highorder generalization of the piecewise steady reconstruction idea.
We remark that fractional step or splitting methods could also be adapted to improve their performance near steady states. This can be achieved by carefully matching the boundary conditions used in the conservation law evolution Eq. (22a) and the source term integration Eq. (22b). However, we shall not pursue this idea in the sequel, and we refer to LeVeque (1986, 2002) and references therein for a general procedure.
2.4 Wellbalanced finite volume schemes
From the linear advection–reaction example, we see that the idea of a piecewise steady solution representation can lead to a finite volume scheme capable of preserving a steady state exactly, i.e., a wellbalanced finite volume scheme. In the following, we present a simple recipe for constructing arbitrarily highorder wellbalanced finite volume schemes in a systematic manner. The recipe relies on a highorder generalization of the piecewise steady reconstruction and a special discretization of the source terms guaranteeing the discrete preservation of steady states. We stress that the recipe is a humbly distilled version of the methodologies found in the vast literature about wellbalanced finite volume schemes given in Sect. 1.
The principle of wellbalanced finite volume methods based on piecewise steady reconstruction is to decompose the solution into an equilibrium part and a (not necessarily small^{Footnote 5}) perturbation part
where the equilibrium part \(\varvec{u}_{eq}(x)\) fulfills the steadystate balance
One obvious requirement for the piecewise steady reconstruction is thus the ability to compute such steady states. It turns out that this is difficult in general. However, we will tacitly assume that the differential equation Eq. (44) can be solved (exactly or approximately) for certain steady states
Here \(\epsilon \) denotes the spatial order of accuracy of the computed equilibrium solution. If Eq. (44) can be solved analytically for certain steady states, we may slightly abuse the notation and set \(\epsilon = \infty \).
Solving for equilibrium is usually the main challenge when designing a wellbalanced scheme. The difficulty depends strongly on the considered balance law and the associated steady states. For the linear advection–reaction equation, there is only one steady state Eq. (39) and it is known analytically. The Euler equations of fluid dynamics feature a myriad of steady states. We will look at one particular class that arises when considering the Euler equations in spherical symmetry in Sect. 2.5. Section 3 will look at the steady states that occur when the considered fluid is subject to gravitational forces. Luckily, one is generally not interested in all possible steady states within one practical simulation. Hence, it is often sufficient to design wellbalanced schemes for certain stationary states of practical interest. The solvability of Eq. (44) is then restricted to these cases to which we will refer loosely as the steady states of interest in the following.
Next, we describe the modifications to the standard reconstruction and source term integration procedures of Godunovtype finite volume schemes for the homogeneous equations to build a wellbalanced scheme for the steady states of interest. This involves the subtle correction of the reconstruction and source term integration that somehow incorporates the steady states of interest. We repeat the obvious that the following developments evidently hinge on the computability of the steady states of interest.
2.4.1 Piecewise steady reconstruction \(\mathcal{WR}\)
As in a standard finite volume scheme, within each cell a subcell profile \(\varvec{U}_{i}(x)\) has to be reconstructed from the cell averages \(\{\overline{\varvec{U}}_{k}\}\). A piecewise steady reconstruction \(\mathcal{WR}\) is then given by the decomposition
where \(\varvec{U}_{eq,i}(x)\) and \(\delta \varvec{U}_{i}(x)\) denote the local equilibrium and perturbation reconstruction parts in cell \(\varOmega _{i}\), respectively. The stencil of the piecewise steady reconstruction is denoted as previously by \(S_{i}\). We now describe each part in detail.
Within each cell \(\varOmega _{i}\), the local equilibrium reconstruction \(\varvec{U}_{eq,i}(x)\) is determined by fitting an equilibrium solution \(\varvec{U}_{eq}(x)\) among the steady states of interest to the cell average \(\overline{\varvec{U}}_{i}\). Since the cell average \(\overline{\varvec{U}}_{i}\) may be arbitrarily far from a steady state of interest, this is done in two substeps. The first substep consists of projecting \(\overline{\varvec{U}}_{i}\) onto a cell average \(\overline{\varvec{U}}_{eq,i}\) consistent with the steady states of interest. The second substep determines the local equilibrium reconstruction \(\varvec{U}_{eq,i}(x)\) in cell \(\varOmega _{i}\) by matching an equilibrium profile Eq. (45) to the equilibrium projected cell average \(\overline{\varvec{U}}_{eq,i}\)
where \({\mathcal {Q}}_{i}\) denotes a qth order accurate quadrature rule over cell \(\varOmega _{i}\). We allow that the matching Eq. (47) is done exactly (using exact integration) and again slightly abuse the notation by setting \(q = \infty \). For instance, the matching was done exactly with Eq. (38) in the linear advection–reaction example of Sect. 2.3. This results in a \(\min (\epsilon , q)\)th order accurate local equilibrium reconstruction within each cell. However, the difficulty of this equilibrium projection and matching depends strongly on the balance law and steady states of interest. Some concrete examples are provided in Sects. 2.5 and 3. In addition, it is important to realize that not every given cell average must correspond to an equilibrium among the steady states of interest. Indeed, the solution may be far from a steady state. Therefore, the possibility that the local equilibrium reconstruction does not succeed must be taken into account. In that case, the local equilibrium reconstruction is simply set to zero \(\varvec{U}_{eq,i}(x) \equiv 0\).
The local equilibrium perturbation \(\delta \varvec{U}_{i}(x)\) within each cell \(\varOmega _{i}\) is obtained by extrapolating the cell’s local equilibrium profile \(\varvec{U}_{eq,i}(x)\) to neighboring cells, where it is compared with their cell averages. This senses how much the neighboring cells are perturbed with respect to the equilibrium in cell \(\varOmega _{i}\). Cellaverages of these equilibrium perturbations can then be fed to any standard rth order accurate piecewise polynomial reconstruction procedure to recover a local equilibrium perturbation profile as
Like for the standard reconstruction procedure Eq. (16), the equilibrium perturbation reconstruction can also be performed in local characteristic variables.
The piecewise steady reconstruction \({\mathcal{WR}}\) (Eq. (46)) is illustrated in Fig. 5 for a scalar quantity. The reconstruction is \(\min (\epsilon , q, r)\)th order accurate close or far from the steady states of interest (for smooth enough solutions, of course). It is intuitively clear that the local equilibrium perturbation \(\delta \varvec{U}_{i}(x)\) vanishes if cell averages of a steady state of interest are fed to the piecewise steady reconstruction. Hence, a \(\min (\epsilon , q)\)th order accurate discrete form of the steady states of interest is exactly reconstructed by the piecewise steady reconstruction. A proof is sketched in Sect. 2.4.3. Also note that if we set \(\varvec{U}_{eq,i}(x) \equiv 0\), then \({\mathcal{WR}}\) automatically reduces to the standard piecewise polynomial reconstruction procedure \(\mathcal {R}\). This is important in practice when there exists no solution of Eq. (47), i.e., no local equilibrium solution matching with the given cell’s average is found.
A possible variation of the piecewise steady reconstruction found in the literature is given by
which separates the solution into local equilibrium and relative perturbation parts (e.g., Chandrashekar and Klingenberg 2015; Berberich et al. 2019). The local equilibrium reconstruction \(\varvec{U}_{eq,i}(x)\) is obtained with the same two substeps as above. The local relative equilibrium perturbation is computed by
where the expression is to be understood componentwise. One drawback of this form is that it does not automatically reduce to a standard reconstruction if (some components of) the local equilibrium \(\varvec{U}_{eq,i}(x)\) vanishes. In that case, one simply switches to a standard reconstruction (of these components) with some additional implementation logic. If the reconstruction is not sensitive to the shift with a constant,
for any constant C and cell averages \(\{\overline{Q}_{k}\}\), then Eq. (49) can be rewritten as
and the relative equilibrium perturbation Eq. (50) as
Most reconstruction methods possess property Eq. (51) because nonoscillating behavior is usually enforced by limiting first and higher derivatives of the reconstruction polynomial and these are not affected by the addition of a constant. Both forms of the relative piecewise steady reconstruction share similar properties to the “absolute” one Eq. (46). An example is given in Sect. 3.3.1.
2.4.2 Wellbalanced source term discretization \(\mathcal{WS}\mathcal{}\)
A direct numerical integration of the source term as in Eq. (20) will in general not lead to a wellbalanced scheme. Instead, one uses the previously introduced piecewise steady reconstruction that decomposes the solution into an equilibrium and a perturbation part to perform the following seemingly frivolous manipulation
which simply adds and subtracts the source term evaluated with the local equilibrium reconstruction \(\varvec{U}_{eq,i}\) within cell \(\varOmega _{i}\). As suggested, e.g., by Huang and Liu (1986), Audusse et al. (2004), and Botta et al. (2004), the equilibrium part fulfills the steadystate balance by construction,
and can be trivially integrated by applying the fundamental theorem of calculus. The cell average of the source term Eq. (54) can therefore be approximated by applying exact integration to the equilibrium part and numerical integration to the perturbation part as follows
Here \({\mathcal {Q}}_{i}\) denotes a qth order accurate quadrature rule over cell \(\varOmega _{i}\). Note that \({\mathcal {Q}}_{i}\) may be different from the quadrature rule used in the piecewise steady reconstruction. We will refer to it with the same symbol since the same quadrature rule is typically used.
Equation (56) results in a \(\min (\epsilon ,q,r,s)\)th order accurate discretization of the source term. At a steady state of interest (i.e., \(\varvec{U}_{i} \equiv \varvec{U}_{eq,i}\)), Eq. (56) reduces to
As we will see below, this is crucial for the wellbalanced property of the scheme. Moreover, note that if the local equilibrium reconstruction part \(\varvec{U}_{eq,i}(x)\) vanishes, the above source term discretization automatically reduces to the standard one in Eq. (20). This is again important in practice when no local equilibrium matching with the given cell average is found (i.e., no solution to Eq. (47) is found).
An alternative form of the wellbalanced source discretization is based on Richardson extrapolation. The idea is to write the source term as
which has to be understood componentwise. The fact that the equilibrium part \(\varvec{U}_{eq,i}\) fulfills the steadystate balance by construction is used in the second equality. However, note that rewriting the source term in this way may not be possible for all the components of a particular system of balance laws, because they are trivially fulfilled at the steady states of interest. Hence, they are not relevant for the construction of a wellbalanced scheme and can be discretized in a standard way. For the sake of presentation, we ignore this subtlety in the derivation of the wellbalanced source term discretization based on this form. An illustrative example of this alternative wellbalanced source term discretization is provided in Sect. 3.3.1.
Consider the following secondorder approximation of the cellaveraged source term based on the form above
where we introduce the symbol \(T_{i}\) for this particular quadrature rule (due to its resemblance with the trapezoidal rule). At a steady state of interest \(\varvec{U}_{i} \equiv \varvec{U}_{eq,i}\), this clearly reduces to Eq. (57) which is again crucial for wellbalancing as we shall see below. Unfortunately, it is still only a secondorder source term discretization. To overcome this limitation, Noelle et al. (2006) ingeniously suggest to use Richardson extrapolation. Let us introduce a composite quadrature rule based on Eq. (59). The cell \(\varOmega _{i}\) is subdivided in \(N_{c}\) uniform subintervals \(\varOmega _{i}^{j} = [x_{i,j1/2} , x_{i,j+1/2}]\) of size \(h = \varDelta x / N_{c}\) with \(x_{i,j1/2} = x_{i1/2} + j h\) (\(j=0, \dots , N_{c}\)). By applying the quadrature rule \(T_{i}\) to each subinterval and summing up, we obtain the following composite quadrature rule
This again reduces to Eq. (57) at a steady state of interest by telescoping of the sum, but it is still only secondorder accurate. However, Noelle et al. (2006) note that the quadrature rule \(T_{i}\) is also symmetric and therefore possesses an asymptotic error expansion of the form
for any (smooth enough) function f. Richardson extrapolation then combines the \(T_{i}^{N_{c}}\) to cancel out increasingly higher error terms in the expansion. For example, fourth and a sixthorder accurate quadrature rules are readily obtained:
Thus, arbitrary highorder wellbalanced source term discretizations can be obtained from the alternative form Eq. (59). Although it possesses similar properties as the wellbalanced source term discretization Eq. (56), one drawback of the alternative form is that it does not automatically reduce to a standard source term discretization in case the local equilibrium part vanishes in the piecewise steady reconstruction (i.e., no solution to Eq. (47) is found). However, this can easily be handled with some additional implementation logic.
2.4.3 Assembling a wellbalanced finite volume scheme
A wellbalanced finite volume scheme Eq. (7) for the onedimensional balance law Eq. (4) is now easily assembled with the formerly described components:

(1)
A \(\min (\epsilon ,q,r)\)th order accurate piecewise steady reconstruction \({\mathcal{WR}}\) (Eq. (46), Eq. (49) or Eq. (52)).

(2)
A consistent and Lipschitz continuous numerical flux function \(\mathcal {F}\) (Eq. (17)).

(3)
An unsplit \(\min (\epsilon ,q,r,s)\)th order accurate wellbalanced source term discretization \(\mathcal{WS}\mathcal{}\) (Eq. (56) or Eqs. (60) and (62)).

(4)
A \(\tau \)th order accurate time integrator \(\mathcal {T}\).
This results in a \(\min (\epsilon ,q,r,s,\tau )\)th order accurate wellbalanced finite volume scheme (for smooth enough solutions). The scheme preserves exactly a \(\min (\epsilon ,q)\)th order accurate discrete form of the steady states of interest (up to machine precision). Furthermore, such a wellbalanced scheme automatically falls back to a standard highorder finite volume scheme if the local equilibrium reconstruction part vanishes.^{Footnote 6} This guarantee is important in practice since one is assured that if the piecewise steady reconstruction fails to determine a local equilibrium profile (because it may not exist), the scheme reduces decently to a standard scheme without any loss of accuracy and robustness.
To round off this section, we demonstrate the wellbalanced property of such a scheme, that is, its ability to preserve exactly (up to machine precision) a discrete form \(\varvec{U}_{eq}(x)\) of the steady states of interest \(\varvec{u}_{eq}(x)\) it was designed for.^{Footnote 7} For simplicity, we assume that both \(\varvec{u}_{eq}(x)\) and its approximation \(\varvec{U}_{eq}(x)\) are continuous. As we shall see below, this requirement can easily be waived. Let the scheme be given cell averages \(\{\overline{\varvec{U}}_{i}\}\) of such a steady state of interest. These cell averages are computed from a given steady state \(\varvec{u}_{eq}(x)\) approximated discretely by \(\varvec{U}_{eq}(x)\) with
where \({\mathcal {Q}}_{i}\) denotes the same qth order quadrature rule as used when matching the local equilibrium profile with the cell averages in the piecewise steady reconstruction Eq. (47). We shall term such initial data as wellprepared initial data. Given such wellprepared initial data, we reciprocally assume that the local equilibrium reconstruction Eq. (47) recovers within every cell \(\varOmega _{i}\) the restriction of \(\varvec{U}_{eq}(x)\) in respective cell,
and that its extrapolation over the computational domain \(\varOmega \) recovers \(\varvec{U}_{eq}(x)\) everywhere, i.e.,
Of course, this assumption needs to be verified for the particular balance law and steady states of interest, and represents the core challenge in the construction of a wellbalanced scheme. Taking this assumption for granted, it is obvious that the piecewise steady reconstruction \({\mathcal{WR}}\) (Eq. (46)) recovers the given steady state \(\varvec{U}_{eq}(x)\) in every cell as the local equilibrium perturbation vanishes everywhere, i.e., \(\delta \varvec{U}_{i}(x) \equiv 0\), and we have
The same holds true for the alternative piecewise steady reconstructions Eq. (49) or Eq. (52)) with slightly adapted arguments. For the numerical flux, we therefore have
due to the fitting of the piecewise steady reconstruction \({\mathcal{WR}}\) at every cell interface
Similarly for the source term discretization \(\mathcal{WS}\mathcal{}\) Eq. (56), we have
The alternative source term discretization Eqs. (60) and (62) likewise reduces to the above expression. Plugging Eqs. (67) and (69) into Eq. (7), one obtains
and therefore the scheme is wellbalanced as claimed, i.e., it preserves a \(\min (\epsilon , q)\)th order accurate discrete form of the steady states of interest exactly (up to machine precision).
We assumed that the steady states of interest and their discrete approximation are continuous in Eq. (68). However, it is straightforward to generalize the wellbalanced scheme (and the above demonstration) to steady states with stationary discontinuities located at cell interfaces. For this purpose, some mild additional requirements for the numerical flux function \(\mathcal {F}\) and the standard piecewise polynomial reconstruction procedure \(\mathcal {R}\) are necessary: (i) the numerical flux \(\mathcal {F}\) has to be able to resolve exactly the (stationary) discontinuities allowed by the steady states of interest, and (ii) the reconstruction procedure \(\mathcal {R}\) has to reduce to a piecewise constant reconstruction near isolated discontinuities at cell interfaces. Both requirements ensure that at the stationary discontinuities the numerical flux agrees with the exact flux like in Eq. (66).
2.5 Example: the Euler equations in spherical symmetry
As a simple and practical example of the construction of a wellbalanced finite volume scheme, we consider the Euler equations in spherical symmetry
expressing the conservation of mass, momentum and energy. Here r is the radial coordinate, \(\rho \) the mass density, v the radial velocity, \(E = \rho e + \frac{1}{2} \rho v^{2}\) the total fluid energy composed of internal and kinetic energy densities, and p the pressure. The latter is related to the density \(\rho \) and specific internal energy e through an equation of state \(p = p(\rho ,e)\).
A computationally convenient form of Eq. (70) is given by
where the vector of conserved variables, fluxes and source terms are
and the area and volume functions are
This form is particularly convenient because the fluxes take exactly the same form as in the onedimensional planar geometry case. Hence, the same numerical fluxes can directly be used. The drawback of this form is the introduction of a geometric source term that becomes singular near the origin. Furthermore, note that the source term may depend nonlinearly on the conserved variables through the equation of state.
A particular steady state of Eq. (70) and Eq. (71) is a resting fluid with uniform density and pressure profile. It is of course highly desirable that a numerical scheme faithfully reproduces this seemingly trivial equilibrium. The steady state of interest \(\varvec{u}_{eq}\) is therefore simply
where \(\rho _{eq} = {\text {const}}\) is the constant density and \(\rho e_{eq} = {\text {const}}\) the constant internal energy density, respectively. It clearly fulfills
where \(p_{eq} = p(\rho _{eq},\rho e_{eq}) = \text {const}\) is the constant equilibrium pressure.
A straightforward discretization of Eq. (71) on a spherical domain \(D = [R_{0},R_{1}]\), \(0 \le R_{0} < R_{1}\), with a semidiscrete finite volume method gives for the ith cell
Here \(\overline{\varvec{U}}_{i}\) denotes the approximate cell average of the conserved variables over a (spherical shell) cell \(\varOmega _{i} = [r_{i1/2},r_{i+1/2}]\) with inner/outer radius \(r_{i\pm 1/2}\) of volume \(\varDelta V_{i} = V(r_{i+1/2})  V(r_{i1/2})\)
The fluxes through the inner/outer (spherical shell) cell boundary of area \(A_{i\pm 1/2} = A(r_{i\pm 1/2})\) are approximated by a numerical flux function
e.g., the Rusanov flux Eq. (19), and the cell interface extrapolated point values of the conserved variables \(\varvec{U}_{i\pm 1/2}/\varvec{U}_{i\pm 1/2+}\) are obtained from a reconstruction procedure. For simplicity of the example, let’s fix spatial accuracy to second order by choosing a piecewise linear reconstruction centered at the (spherical shell) cell center^{Footnote 8}\(r_{i} = (r_{i1/2} + r_{i+1/2})/2\),
where \(S_{i} = \{i1,i,i+1\}\) is the stencil and the limited slopes can be computed with the generalized \(\mathrm {minmod}\) slope Eq. (14). Accordingly, we also choose the secondorder accurate midpoint quadrature rule^{Footnote 9} for approximating integrals of a function f over a (spherical shell) cell \(\varOmega _{i}\):
This immediately gives the following (naive) discretization of the geometric source term
where \(p_{i}\) is the pressure at the cell center. The latter is simply obtained by evaluating the piecewise linearly reconstructed conserved variables Eq. (79) at cell center
with
where the peculiarity that cell averages correspond to point values at cell center up to secondorder accuracy is especially apparent. This concludes the description of a plainvanilla finite volume scheme for the Euler equations in spherical symmetry.
We now construct a wellbalanced finite volume scheme capable of preserving a resting fluid Eq. (74) exactly following the recipe in Sect. 2.4 based on the just described scheme. First, we need to devise a piecewise steady reconstruction procedure for the resting fluid equilibrium, i.e., our steady state of interest we wish to preserve. We begin with the local equilibrium reconstruction part. The first substep in the local equilibrium reconstruction is the projection of the cell averages onto equilibrium cell averages consistent with the resting fluid equilibrium. This substep is necessary because the averages could be arbitrarily far from the steady state of interest (i.e., nonvanishing radial momentum and kinetic energy densities), and it is simply accomplished by
The equilibrium cell average of the density is simply set to the cellaveraged density and the equilibrium cell average of the momentum density is set to zero as is consistent with the steady state of interest. An expression for the cell average of the internal energy density is provided by Eq. (83). Although this is only spatially secondorder accurate in general, it becomes exact when the fluid is at rest, thereby establishing consistency with the steady state of interest Eq. (74). The second substep is then to match a local equilibrium reconstruction \(\varvec{U}_{eq,i}(r)\) to the cell’s \(\varOmega _{i}\) average equilibrium projected conserved variables \(\overline{\varvec{U}}_{eq,i}\) as in Eq. (47). This is indeed trivial given the constant nature of the considered steady state of interest
The local equilibrium perturbation reconstruction Eq. (48) is then
where we used that \(\varvec{U}_{eq,i}(r)\) is a simple constant, i.e.,
As result, we obtain the following piecewise steady reconstruction
In the last equality, we used again that \(\varvec{U}_{eq,i}(r)\) is simply a constant.
However, the above piecewise steady reconstruction can be much simplified. The limited slopes \(D\delta \varvec{U}_{i}\) can be reduced with the following observation
which means that the equilibrium \(\overline{\varvec{U}}_{eq,i}\) drops out in the computation of the slopes Eq. (14). Hence, we have that the limited slopes of the local equilibrium perturbation reconstruction in Eq. (86) reduce to the slopes used in the standard piecewise linear reconstruction Eq. (79): \(D\delta \varvec{U}_{i} = D\varvec{U}_{i}\). Now by combining this result with Eq. (86) and plugging it into Eq. (88), we obtain that the piecewise steady reconstruction simplifies to the standard piecewise linear reconstruction:
Of course, this is not surprising as we simply subtract a constant from the data to be (piecewise linearly) reconstructed. It is nevertheless a welcome simplification when implementing the present scheme.
Finally, we construct the appropriate wellbalanced source term discretization with Eq. (56):
We substituted the midpoint rule Eq. (80) in the second equality, and we used the fact that the pressure computed from the piecewise steady \(\varvec{U}_{i}(r)\) and the local equilibrium reconstruction \(\varvec{U}_{eq,i}(r)\) coincide at the cell center \(r_{i}\) in the third equality (see Eqs. (82) and (83)).
It is now straightforward to show that the just derived source term discretization Eq. (91) is indeed able to preserve a resting fluid with uniform density and pressure exactly. Hence, we have designed a wellbalanced scheme for this particular steady state. This is confirmed by the numerical results displayed in Fig. 6.
We remark that the above spatially secondorder accurate source term discretization Eq. (91) is wellknown among the practitioners in the field (see, e.g., Mönchmeyer and Müller 1989; Li 2003; Skinner and Ostriker 2010; Wang and Johnsen 2013). The above expression for the geometric source term can also be motivated from the derivation of the momentum equation Eq. (72) which expresses the pressure gradient in Eq. (70b) with the following simple application of the product rule
Expressing \(\frac{\partial A}{\partial V}\) in a discrete finite volume sense then immediately gives Eq. (91). However, the here described discretization is in principle extensible to arbitrary spatial orders of accuracy. It would be interesting to combine the above with highorder reconstruction procedures for orthogonal curvilinear coordinates devised by Mignone (2014) and Shadab et al. (2019) together with specifically designed weighted^{Footnote 10} Gauss quadrature rules.
2.6 Extension to several space dimensions
We now extend the onedimensional recipe in Sect. 2.4 to build arbitrarily highorder wellbalanced finite volume schemes for multidimensional systems of balance laws
where \(\varvec{u}=\varvec{u}(\varvec{x},t)\) is the vector of conserved variables, \({\textbf {\textsf {f}}}={\textbf {\textsf {f}}}(\varvec{u})\) the flux tensor and \(\varvec{s}=\varvec{s}(\varvec{u})\) the vector of source terms. As in the onedimensional case, we tacitly assume that (i) the system is of hyperbolic nature (the Jacobian of the flux tensor \(\varvec{n} \cdot \frac{\partial {\textbf {\textsf {f}}}}{\partial \varvec{u}}\) is diagonalizable with real eigenvalues for any direction \(\varvec{n}\)) and that (ii) the source term is not singular. For ease of presentation, we focus on the twodimensional case in Cartesian coordinates
where \(\varvec{f}=\varvec{f}(\varvec{u})\) and \(\varvec{g}=\varvec{g}(\varvec{u})\) are the vectors of fluxes in x and ydirection, i.e., the components of the flux tensor \({\textbf {\textsf {f}}}=[{\textbf {\textsf {f}}},\varvec{g}]^{T}\) in Cartesian coordinates. However, the extension to three dimensions and other coordinate systems is straightforward.
In the following subsection, we begin by concisely describing a standard finite volume discretization of the balance law Eq. (93) to introduce our notation. More comprehensive descriptions can be found in the excellent textbooks listed at the end of Sect. 2.1. The extension of the onedimensional recipe to design wellbalanced schemes in several space dimensions is presented in the subsequent subsections.
2.6.1 Finite volume discretization
We consider a rectangular spatial domain \(\varOmega = [x_{\min },x_{\max }] \times [y_{\min },y_{\max }]\) discretized uniformly (for ease of presentation) by \(N_{x}\) and \(N_{y}\) cells or finite volumes in x and ydirection, respectively. The cells are labeled by \(\varOmega _{i,j} = \varOmega _{i} \times \varOmega _{j} = [x_{i1/2},x_{i+1/2}] \times [y_{j1/2},y_{j+1/2}]\), the constant cell sizes by \(\varDelta x = x_{i+1/2}  x_{i1/2}\) and \(\varDelta y = y_{j+1/2}  y_{j1/2}\), and the cell volumes by \(\left \varOmega _{i,j} \right = \varDelta x \varDelta y\). We also introduce a nondirectional cell size \(h = \max (\varDelta x, \varDelta y)\) for convenience. The \(x_{i} = (x_{i1/2} + x_{i+1/2})/2\) and \(y_{j} = (y_{j1/2} + y_{j+1/2})/2\) denote the cell centers.
A semidiscrete finite volume scheme for the numerical approximation of Eq. (94) then takes the following form
where the \(\overline{\varvec{U}}_{i,j}\) denote the approximate cell averages of the conserved variables,
the \(\varvec{F}_{i\pm 1/2,j}\) and \(\varvec{G}_{i,j\pm 1/2}\) are approximate facial averages of the fluxes through the cell boundary in respective direction,
and the \(\overline{\varvec{S}}_{i,j}\) are approximate cell averages of the source term
The next paragraphs compactly describe the components of a generic finite volume scheme in several space dimensions. For the sake of presentation, we suppress the temporal dependence of the quantities.
Reconstruction The first task is to reconstruct an accurate subcell profile from the cellaveraged conserved variables. We denote such an rth order accurate piecewise polynomial reconstruction procedure by
where \(S_{i,j}\) denotes the stencil of the reconstruction for cell \(\varOmega _{i,j}\). Many such reconstruction procedures have been developed in the literature and we refer to the references previously mentioned in Sect. 2.2.1. For example, the stencil for a spatially firstorder accurate piecewise constant consists only of the cell itself \(S_{i,j} = \left\{ \overline{\varvec{U}}_{i,j} \right\} \). For a spatially secondorder accurate piecewise linear reconstruction, the stencil includes the four adjacent cells \(S_{i,j} = \left\{ \overline{\varvec{U}}_{i ,j } ,\overline{\varvec{U}}_{i1,j } ,\overline{\varvec{U}}_{i+1,j } ,\overline{\varvec{U}}_{i ,j1} ,\overline{\varvec{U}}_{i ,j+1} \right\} \).
Numerical fluxes The numerical fluxes through the cell faces are obtained by numerical integration of onedimensional numerical fluxes. The facially averaged numerical fluxes in xdirection are given by
where \({\mathcal {Q}}_{i+1/2,j}\) denotes a qth order accurate quadrature rule with \(N_{q}\) nodes \(y_{j,\beta } \in \varOmega _{j}\) and weights \(\omega _{\beta }\), and \(\mathcal {F}\) is a onedimensional numerical flux formula in xdirection (see Sect. 2.2.2). Likewise, the facially averaged numerical fluxes in ydirection are given by
where \({\mathcal {Q}}_{i,j+1/2}\) denotes a qth order accurate quadrature rule with \(N_{q}\) nodes \(x_{i,\alpha } \in \varOmega _{i}\) and weights \(\omega _{\alpha }\), and \(\mathcal {G}\) is a onedimensional numerical flux formula in ydirection. In general, the numerical flux formulas in respective direction are often obtained by appropriate rotation of a onedimensional flux formula in xdirection (see, e.g., Toro 2009 for details).
Numerical source terms We shall consider only unsplit methods for the numerical integration of the source terms. The cellaveraged numerical source terms are then given by
where \({\mathcal {Q}}_{i,j}\) denotes a qth order accurate quadrature rule with \(N_{q} \times N_{q}\) nodes \(x_{i,\alpha } \in \varOmega _{i}\), \(y_{j,\beta } \in \varOmega _{j}\) and weights \(\omega _{\alpha }\), \(\omega _{\beta }\) in x and ydirection, respectively. If we assume that the point values of the source term can be evaluated with spatial order of accuracy s, then this gives a spatially \(\min (q,s)\)th order discretization of the source term (provided enough smoothness).
In practice, the same quadrature rules are often used in the numerical flux integration along the x and ydirection. A tensor product quadrature rule is typically used for the numerical source term integration. For first and secondorder accuracy, the midpoint rule is the quadrature rule of choice. Beyond secondorder accuracy, \(N_{q}\)point GaussLegendre or GaussLobatto quadrature rules are usually used (\(N_{q} > 1\)).
Time discretization The semidiscrete evolution Eq. (95) can be integrated with \(\tau \)th order in time as in the onedimensional case (see Sect. 2.2.4).
This concludes the brief description of a standard \(\min (q,r,s,\tau )\)order accurate finite volume scheme in several space dimensions (for smooth enough solutions). We refer again to the excellent textbooks in the literature for precise derivations and generalizations (curvilinear coordinates, unstructured meshes, etc.).
2.6.2 Steady states
Balance laws in several space dimensions too admit nontrivial steady states. As in the onedimensional case, the numerical approximation of solutions near a steady state characterized by a delicate balance is generally challenging for standard finite volume schemes. The underlying reason is again twofold. First, standard reconstruction procedures are not well suited to represent steadystate solutions and, second, the source term discretization is performed independently from the discrete flux divergence. Both conspire that steady states are only preserved up to truncation errors. Hence, the numerical resolution needs to be high enough over the entire simulation duration such that the physical phenomena of interest are not affected by these truncation errors. The required resolution in several dimensions may then quickly lead to prohibitively high computational costs.
Although truncation errors are at the very essence of numerical approximation, it is again highly desirable to design schemes that preserve exactly a discrete form of the steady states; even more so than in one dimension. The onedimensional recipe based on piecewise steady reconstruction naturally extends to designing wellbalanced schemes in multiple dimensions. The principle is again to decompose the solution into equilibrium and (not necessarily small) perturbation parts
where the equilibrium part \(\varvec{u}_{eq}(x,y)\) fulfills the steady state balance
As before, the piecewise steady reconstruction requires the computability of such multidimensional steady states. In general, this is an even more difficult undertaking than in one dimension. However, we again tacitly assume that the differential equation Eq. (104) can be solved for certain steady states of interest,
either exactly (\(\epsilon = \infty \)) or approximately (\(\epsilon < \infty \)). We reiterate that this is the main challenge when designing a wellbalanced finite volume method for a particular system of balance laws. Some concrete examples are given in Sect. 3 for the Euler equations. Taking the above assumption for granted, the construction of a wellbalanced finite volume scheme follows the same recipe as in one dimension. The following subsections describe the ingredients in detail.
Before we proceed, let us stress once more that the following developments crucially hinge on the (exact or approximate) solvability for the multidimensional steady states of interest. We will see some examples for the Euler equations, where this can be achieved for barotropic fluids. In general, however, this is far from obvious. Let us mention here the truly twodimensional wellbalanced schemes developed by Bianchini and Gosse (2018), Gosse and Vauchelet (2020), Gosse (2021) for several balance laws. The latter construct fully twodimensional steady states profiles by solving elliptic boundaryvalue problems and may serve as a guidance for the type of equations of interest in computational astrophysics.
2.6.3 Piecewise steady reconstruction \({\mathcal{WR}}\)
The piecewise steady reconstruction \({\mathcal{WR}}\) of a subcell profile \(\varvec{U}_{i,j}(x)\) within each cell \(\varOmega _{i,j}\) from the associated cell averages \(\overline{\varvec{U}}_{i,j}\) is given by the decomposition
where \(\varvec{U}_{eq,i,j}(x,y)\) and \(\delta \varvec{U}_{i,j}(x,y)\) denote the local equilibrium and perturbation part in cell \(\varOmega _{i,j}\), respectively. Next, we present the construction of each part.
Within each cell \(\varOmega _{i,j}\), the local equilibrium reconstruction \(\varvec{U}_{eq,i,j}(x,y)\) is found by fitting an equilibrium solution \(\varvec{U}_{eq}(x,y)\) among the steady states of interest to the cell average \(\overline{\varvec{U}}_{i,j}\). Because the given cell average \(\overline{\varvec{U}}_{i,j}\) may be arbitrarily far from an equilibrium, we first need to project \(\overline{\varvec{U}}_{i,j}\) onto a cell average \(\overline{\varvec{U}}_{eq,i,j}\) that is consistent with the steady states of interest. The local equilibrium reconstruction \(\varvec{U}_{eq,i,j}(x,y)\) in cell \(\varOmega _{i,j}\) is then determined by matching an equilibrium profile Eq. (105) with the cell average of the equilibrium projected conserved variables \(\overline{\varvec{U}}_{eq,i,j}\)
where \({\mathcal {Q}}_{i,j}\) denotes a qth order accurate quadrature rule over cell \(\varOmega _{i,j}\). Within every cell, we now have a \(\min (\epsilon ,q)\)th order accurate local equilibrium profile (if exact integration is chosen, then \(q=\infty \)). As in the onedimensional case, the difficulty of this step depends strongly on the considered balance law and associated steady states of interest. Moreover, the possibility that no equilibrium profile is found needs to be considered too. In that case, it is again simply set to zero \(\varvec{U}_{eq,i,j} = 0\).
The local equilibrium perturbation \(\delta \varvec{U}_{i,j}(x,y)\) is obtained by extrapolating the local equilibrium profile \(\varvec{U}_{eq,i,j}\) from cell \(\varOmega _{i,j}\) to the neighboring cells, computing the cell average of this extrapolated equilibrium profile, and applying a standard piecewise polynomial reconstruction to the cellaveraged equilibrium perturbations:
Intuitively, this senses how far away the states in the neighboring cells are from the equilibrium \(\varvec{U}_{eq,i,j}\) in cell \(\varOmega _{i,j}\). It is clear that the piecewise steady reconstruction preserves the equilibrium by construction, since the equilibrium perturbation vanishes \(\varvec{\delta U}_{i,j} \equiv 0\), and it is \(\min (\epsilon ,q,r)\)th order accurate at and away from equilibrium (for sufficiently smooth solutions). Likewise, it is obvious that the piecewise steady reconstruction reduces to a standard reconstruction Eq. (99) if \(\varvec{U}_{eq,i,j} \equiv 0\) (e.g., if no local equilibrium is found in Eq. (107)).
The alternative formulations of the piecewise steady reconstruction Eqs. (49) and (51) can also be extended to several space dimensions in a straightforward manner. However, we shall leave this to the interested reader.
2.6.4 Wellbalanced source term discretization \(\mathcal{WS}\mathcal{}\)
As in the onedimensional setting, a direct discretization of the source terms as in Eq. (102) will in general not lead to a wellbalanced scheme. In lieu thereof, we rewrite the source terms as
by trivially adding and subtracting the local equilibrium component and replacing the latter by the equilibrium flux divergence. The wellbalanced source term discretization is then obtained by numerical quadrature as follows
where the divergence theorem is applied to the equilibrium fluxes by numerical integration over the cell boundary. This is clearly a \(\min (\epsilon ,q,r,s)\)th order accurate discretization of the source term. Moreover, note that the above wellbalanced source term discretization seamlessly reduces to a standard discretization if no local equilibrium is found in the piecewise steady reconstruction (i.e., \(\varvec{U}_{eq,i,j} \equiv 0\)).
The alternative wellbalanced source term discretization Eq. (60) and its highorder extension via Richardson extrapolation Eq. (62) can also be generalized to multiple space dimensions. We again leave this to the interested reader.
2.6.5 Assembling a wellbalanced finite volume scheme
A wellbalanced finite volume scheme Eq. (95) for the twodimensional conservation law Eq. (94) is now readily assembled with the previously described ingredients:

(1)
A \(\min (\epsilon ,q,r)\)th order accurate piecewise steady reconstruction \({\mathcal{WR}}\) (Eq. (106)).

(2)
Consistent and Lipschitz continuous numerical flux functions \(\mathcal {F}\) and \(\mathcal {G}\) in x and ydirection, respectively.

(3)
An unsplit \(\min (\epsilon ,q,r,s)\)th order accurate wellbalanced source term discretization \(\mathcal{WS}\mathcal{}\) (Eq. (110)).

(4)
A \(\tau \)th order accurate time integrator \(\mathcal {T}\).
The resulting scheme is a \(\min {(\epsilon ,q,r,s,\tau )}\)th order accurate wellbalanced finite volume scheme for balance laws in two dimensions (for smooth enough solutions). The scheme preserves exactly a \(\min {(\epsilon ,q)}\)th order accurate discrete form of the steady states of interest (up to machine precision). The proof follows the same steps as in the onedimensional case and is not repeated here.
Although we have focussed on the structured twodimensional Cartesian case, wellbalanced schemes can be designed for threedimensional Cartesian and curvilinear meshes following the same recipe. The same applies to unstructured meshes (see, e.g., GrosheintzLaval 2021).
2.7 Wellbalanced finite difference schemes
In this subsection, we focus on the construction of wellbalanced finite difference schemes. Before we begin, we concisely summarize a generic finite difference scheme for onedimensional balance laws. We refer to the excellent available textbooks and review articles for more comprehensive presentations, e.g., Laney (1998), Shu (1998, 2009). Equipped with the basic principles and accompanying notation, we then present a (nonexhaustive) selection of frameworks for wellbalancing finite difference schemes. Further frameworks are developed, for instance, by Bermudez and Vazquez (1994), Gascón and Corberán (2001), Vukovic and Sopta (2002), ČrnjarićŽic et al. (2006), Caselles et al. (2009), Li et al. (2020), Li and Gao (2021) and we refer the interested reader to these references.
2.7.1 Conservative finite difference schemes
A semidiscrete conservative finite difference method approximates the differential form of the balance law Eq. (4) directly by
where the primal unknowns are the point values \(\varvec{U}_{i}\) of the conserved variables at cell centers \(x_{i}\). They approximate the point value of the exact solution \(\varvec{u}(x, t)\) at cell centers:
The \(\varvec{F}_{i\pm 1/2}\) and \(\varvec{S}_{i}\) denote the numerical fluxes through the cell interfaces and the numerical source term at cell centers, respectively. We briefly describe these components in the following paragraphs. Since we consider semidiscrete schemes, we will drop the time dependence for ease of presentation.
Flux reconstruction The numerical fluxes at cell interfaces \(\varvec{F}_{i\pm 1/2}\) are assumed to be consistent with the physical flux function \(\varvec{f}\) and Lipschitz continuous. The flux difference in Eq. (111) is constructed to be an (rth order) accurate approximation of the flux divergence in Eq. (4) at cell centers:
The numerical fluxes \(\varvec{F}_{i\pm 1/2}\) approximate the cell interface values \(\varvec{h}(x_{i\pm 1/2})\) of a certain function \(\varvec{h}(x)\) implicitly defined by
The above definition implies that the cell averages of this function \(\varvec{h}(x)\) are given by
So the approximation of \(\varvec{h}(x)\) boils down to a reconstruction problem. The same reconstruction procedures \(\mathcal {R}\) as in finite volume methods can be used. Hence, an rth order accurate approximation of \(\varvec{h}(x_{i\pm 1/2})\) is readily computed:
One can show that the discrete flux divergence Eq. (113) is then an rth order accurate approximation of the flux divergence at cell centers. Note that this may seem surprising as Eq. (113) looks like a simple secondorder centered finite difference approximation (ensuring the crucial conservative character of the scheme). Unfortunately, beyond secondorder accuracy (\(r > 2\)), this accuracy claim is only valid for uniform or smooth grids (see, e.g., Merriman 2003; Shu 2009).
For the subsequent developments, we have to slightly refine the so far introduced notation for the reconstruction procedures in Sect. 2.2.1. The reconstruction of some quantity Q within cell \(\varOmega _{i}\) from cell averages \(\{\overline{Q}_{k}\}\) over the cell’s stencil \( S_{i}\) can be written as
where the \(c_{i,l}\) denote the reconstruction coefficients. In general, these depend on the evaluation location \(x \in \varOmega _{i}\) and on certain socalled smoothness measures of the reconstruction data \(\{\overline{Q}_{k}\}_{k \in S_{i}}\) to guarantee nonoscillatory behavior. For smooth data, these coefficients tend towards optimal constants that maximize the accuracy of the reconstruction. Instead of using the data of the quantity to reconstruct, the smoothness measures can be based on the cell averages of some other quantity^{Footnote 11}\(\{\overline{W}_{k}\}\)
where the second argument of the reconstruction procedure is now a set of couples \(\{(\overline{Q}_{k},\overline{W}_{k})\}_{k \in S_{i}}\). The first element is the cell average of the quantity to reconstruct and the second element is the cell average of the quantity on which the smoothness measures are based.
For finite difference schemes, a straightforward componentwise flux reconstruction for (systems of) balance laws may also lead to spurious oscillations, especially at high orders of accuracy and when strong flow discontinuities interact. Then a reconstruction in local characteristic variables as described at the end of Sect. 2.2.1 can be advantageous (see, e.g., Jiang and Shu 1996; Balsara and Shu 2000; Qiu and Shu 2002).
Flux splitting For numerical stability, upwinding is introduced by splitting the flux into right(\(+\)) and left(−) propagating contributions
The characteristic values of \(\frac{\partial \varvec{f}^{+}}{\partial \varvec{u}}\) are all nonnegative and the characteristic values of \(\frac{\partial \varvec{f}^{}}{\partial \varvec{u}}\) are all nonpositive, i.e.,
A popular flux splitting is the (local) LaxFriedrichs flux splitting
with
The fluxes can then be discretized according to the wave direction as
The right going flux contribution \(\varvec{F}^{+}_{i+1/2}\) is biased one cell to the left from the cell interface \(x_{i+1/2}\) by using the reconstruction stencil \(S_{i}\). Accordingly, the left going flux contribution \(\varvec{F}^{}_{i+1/2+}\) is biased one cell to the right from the cell interface \(x_{i+1/2}\) by using the reconstruction stencil \(S_{i+1}\). The complete upwinded numerical flux is then simply the sum of both contributions
The maximum in Eq. (122) can either be taken globally over the whole grid \(\{\varvec{U}_{i}\}\) or locally, for example, over the flux reconstruction stencils \(S_{i} \cup S_{i+1}\). Note that \(\alpha \) can be interpreted as a parameter introducing artificial viscosity into the scheme, ensuring its numerical stability (see, e.g., Laney 1998).
Numerical source term The numerical source term \(\varvec{S}_{i}\) is a pointvalue evaluated at cell centers such that it is an (sth order) accurate approximation:
Time integration The semidiscrete evolution equations Eq. (111) for the point values \(\varvec{U}_{i}\) can be approximately integrated in time by \(\tau \)th order accurate ODE solvers. Also for highorder finite difference schemes, the SSP RungeKutta methods are often used in practice. One popular example is the temporally thirdorder accurate SSP RungeKutta (SSPRK3) method
where \({\mathcal {L}}\) denotes the spatial discretization operator in Eq. (111).
This completes the short description of a standard \(\min (r,s,\tau )\)th order accurate finite difference scheme. The extension to several space dimensions is achieved by discretizing the flux divergence direction by direction. A significant computational advantage of finite difference schemes over finite volume schemes is that the multidimensional reconstruction procedures and quadrature rules are avoided entirely. The price of this advantage is the restriction to uniform or smooth curvilinear grids. We refer to the references given earlier for further details and developments. Next, we have a closer look at what happens near steady states.
2.7.2 Steady states
Standard finite difference schemes alike have troubles in preserving steadystate solutions in general. The fundamental cause of these troubles is analogous to finite volume methods: the source term discretization is independent of the discrete flux divergence. The consequence, in turn, is that steady states are generally preserved only up to truncation errors, requiring the numerical resolution to be high enough that they do not obscure the phenomena of interest.
The objective of wellbalanced finite difference schemes is to preserve a discrete form of certain steadystate solutions. To do this, it is tacitly assumed, as for finite volume schemes, that the differential equation Eq. (44) can be solved (exactly or approximately) for the steady states of interest Eq. (45). The following subsections introduce a selection of frameworks for building wellbalanced finite difference schemes for onedimensional balance laws. Multidimensional balance laws can be treated by straightforwardly extending the onedimensional building blocks.
2.7.3 Wellbalanced finite difference schemes based on source term decomposition
A framework for the construction of highorder wellbalanced finite difference schemes for a class of balance laws was developed by Xing and Shu (2005, 2006a, 2013), Li and Xing (2018b). The framework can also be applied to finite volume and discontinuous Galerkin methods (see, e.g., Xing and Shu 2006b; Noelle et al. 2009).
The framework assumes that each source term component can be (analytically) decomposed as follows
where \(s_{m}\) denotes the mth component of the source term \(\varvec{s}(\varvec{u},x)\).^{Footnote 12} The functions \(b_{m} = b_{m}(x)\) are supposed to depend only on space and the \(a_{m} = a_{m} \left( \varvec{\nu }, x \right) \) depend additionally on socalled equilibrium variables denoted by \(\varvec{\nu }\). The latter are function of the conserved variables and space, i.e., \(\varvec{\nu } = \varvec{\nu }(\varvec{u}, x)\), and they are required to become constant at the steady states of interest \(\varvec{U}_{eq}\)
explaining the name equilibrium variables. Similarly, the functions \(a_{m}\) are assumed to become spatially constant for \(\varvec{U}_{eq}\):
As a result, such a source term decomposition clearly has the following property at a steady state of interest \(\varvec{U}_{eq}\):
which obviously implies that
Although these assumptions may seem rather restrictive, a broad class of balance laws and associated steady states possess such a source term decomposition. We will provide some illustrating examples below together with a general recipe.
The key idea is now to mimic the above property at the discrete level to ensure the exact balance at steady states. We begin by discussing the case without flux splitting. Then, this is achieved by approximating the derivative of the function \(b_{m}\) with the same finite difference operator as used for the approximation of the flux divergence Eq. (113)
with
Note that the above reconstruction uses the mth component of the flux \(f_{m}\) as smoothness measures. This ensures the consistency of the difference operators applied to the flux and source term by construction.^{Footnote 13} An rth order accurate discretization of the mth source term component is thus given by
and the complete source term vector is simply \(\varvec{S}_{i} = [\cdots , S_{m,i}, \cdots ]^{T}\).
Before we discuss the case with flux splitting, we verify that the scheme Eq. (111) and the above source term discretization Eq. (133) is wellbalanced. Suppose that the conserved variables point values \(\varvec{U}_{i}\) are initialized with an equilibrium \(\varvec{U}_{eq}(x)\) fulfilling all the necessary assumptions, that is, \(\varvec{U}_{i} = \varvec{U}_{eq}(x_{i})\). Then Eq. (129) gives immediately at all cell centers \(x_{i}\)
and one verifies that Eq. (130) holds discretely as follows
In the last equality, the consistency of the reconstruction was used (constant functions are reconstructed exactly). Now the semidiscrete update equation Eq. (111) gives for the mth solution component \(U_{m,i}\)
Since this is valid for all the solution components, we conclude that the scheme is wellbalanced as claimed.
Next, we discuss the case with flux splitting Eq. (119) and Eq. (123). Then, the source term is split into a right (\(+\)) and a left (−) contribution as follows
with
Note that the above reconstruction uses the mth component of the left(\(+\))/right(−) propagating flux contributions \(f_{m}^{\pm }\) as smoothness measures. This ensures the consistency of the difference operators applied to the flux and source term by construction.
To guarantee an exact balance, the flux splitting Eq. (121) also needs to be slightly modified. One possibility suggested by Xing and Shu (2006a) is the following:
Due to Eq. (129), this ensures that at steady state the artificial viscosity tends towards zero. Importantly, this does not interfere with the scheme’s design accuracy (see Xing and Shu 2006a). However, the constant \({\widetilde{\alpha }}_{m}\) should be suitably adjusted to maintain enough artificial viscosity for numerical stability. This depends on the concrete application and may require some finetuning. The wellbalancing property with flux splitting can now be shown easily as before.
This ends the description of the wellbalanced finite difference schemes based on source term decomposition. To conclude on this family of schemes, let us give two illustrating examples of balance laws with their corresponding equilibrium variables and source term decomposition.
Example: Linear advection–reaction equation Consider (again) the linear advection–reaction equation
which still has the steadystate solutions
A particular choice for the equilibrium variable of Eq. (137) is
which becomes clearly a constant for the steady states \(U_{eq}(x)\). A source term decomposition of the form Eq. (127) is then given by
with
Example: Euler equations As a slightly more complex example, consider the onedimensional Euler equations describing the motion of fluids subject to a gravitational field with potential \(\phi \). They are given by the conservation of mass, momentum and fluid energy
where the vector of conserved variables, fluxes and source terms are
Here, \(\rho \) is the mass density, \(v_{x}\) the velocity and \(E = \rho e + \frac{1}{2} \rho v_{x}^2\) the total fluid energy density. The pressure p is related to the density \(\rho \) and specific internal energy e by an equation of state \(p = p(\rho , e)\). For steady adiabatic flow, the equilibrium variables are given by (see, e.g., Landau and Lifshitz 1987)
where h and s denote the fluid’s specific enthalpy and entropy, respectively. Let \(\varvec{U}_{eq}(x)\) denote the conserved variables corresponding to some given equilibrium variables \(\varvec{\nu }_{eq}\), i.e., \(\varvec{U}_{eq}(x) = \varvec{u}(\varvec{\nu }_{eq},x)\) is the inverse transformation of the equilibrium variables to conserved variables (see GrosheintzLaval and Käppeli 2020 for a way to compute it). Also, let \(p_{eq}(x)\) denote the corresponding equilibrium pressure. A source term decomposition of the form Eq. (127) is then given by the following. The first component is trivial
with
Li and Xing (2018b) suggest for the second component
with
The third component is already in the desired form
with
The previous two examples suggest the following general recipe for the functions \(a_{m}\) and \(b_{m}\)
where \(\varvec{\nu }_{eq}\) are some fixed equilibrium variables. However, we shall not further discuss the above generic decomposition and refer the interested reader to the original research articles cited at the beginning of this section for the details.
2.7.4 Wellbalanced finite difference schemes based on piecewise steady flux reconstruction
Parés and ParésPulido (2021) recently proposed a framework for designing highorder wellbalanced finite difference schemes for balance laws. It is elegantly based on a piecewise steady flux reconstruction and, as such, is closely related to the finite volume recipe based on piecewise steady reconstruction presented in Sect. 2.4. Unfortunately, the formulation is generally not fully conservative in that if a system of balance laws possesses a conservative subsystem,^{Footnote 14} the method may not reduce to a conservative finite difference method for that subsystem of conservation laws. However, the conservation errors are of the order of the truncation errors and vanish in the infinite resolution limit.
Since highorder finite difference schemes are based on flux reconstructions, the key idea is to decompose the flux into equilibrium and (not necessarily small) perturbation parts
where the equilibrium part \(\varvec{f}(\varvec{u}_{eq}(x))\) fulfills by definition the steadystate balance Eq. (44). Like in the piecewise steady reconstruction used in finite volume schemes, this requires the ability to compute such steady states of interest Eq. (45). Parés and ParésPulido (2021) then subtract the steady state Eq. (44) from the balance law Eq. (4),
and suggest the following semidiscrete finite difference approximation
Next, we describe the Parés and ParésPulido (2021) wellbalanced finite difference scheme in detail. This will especially clarify the double index notation for the numerical equilibrium perturbation fluxes \(\varvec{\delta F}_{i,i\pm 1/2}\).
One begins with the determination of a local equilibrium profile \(\varvec{U}_{eq,i}(x)\) in each cell \(\varOmega _{i}\) by fitting an equilibrium solution \(\varvec{U}_{eq}(x)\) among the steady states of interest to the point value \(\varvec{U}_{i}\). Because \(\varvec{U}_{i}\) may be far from a steady state, it is first projected onto a point value \(\varvec{U}_{eq,i}\) that is consistent with the steady states of interest. Therewith, the local equilibrium profile \(\varvec{U}_{eq,i}(x)\) in cell \(\varOmega _{i}\) is determined by matching an equilibrium profile \(\varvec{U}_{eq}(x)\) to the equilibrium projected point value \(\varvec{U}_{eq,i}\)
such that the profile is anchored at the cell center point value \(\varvec{U}_{eq,i}\)
Note that this is the main difference with the piecewise steady reconstruction, where the local equilibrium profile is matched with the cell average.
The equilibrium perturbation flux divergence \(\varvec{\delta f}\) is discretized to rth order as
where the numerical equilibrium perturbation fluxes \(\varvec{\delta F}_{i,i\pm 1/2}\) approximate the cell interface values \(\varvec{\delta h}_{i}(x_{i\pm 1/2})\) of a certain function \(\varvec{\delta h}_{i}(x)\) implicitly defined by
Following the same principles as in a standard finite difference scheme, the above definition implies that the cell averages of this function \(\varvec{\delta h}_{i}(x)\) are given by
Now the double index notation becomes clear. The first index “i” indicates the cell where the equilibrium reconstruction \(\varvec{U}_{eq,i}(x)\) is anchored. The second index “k” indicates the cell center \(x_{k}\) where the equilibrium perturbation flux is evaluated. Also notice that the equilibrium reconstruction \(\varvec{U}_{eq,i}(x)\) might only be an \(\epsilon \)th order approximation of a true equilibrium \(\varvec{u}_{eq}(x)\), which means that also the cell averages \(\overline{\varvec{\delta h}}_{i,k}\) are only accurate to this precision. An rth order reconstruction procedure is then applied to the cell averages \(\overline{\varvec{\delta h}}_{i,k}\) to obtain the numerical equilibrium perturbation fluxes at cell interfaces
For numerical stability, these numerical fluxes need to be upwinded and this will be explained below. Notice that two reconstructions, \(\varvec{\delta F}_{i,i+1/2}\) and \(\varvec{\delta F}_{i+1,i+1/2}\), have to be computed at every cell interface. In contrast, only one is needed in a standard finite difference scheme.
The numerical perturbation source term \(\varvec{\delta S}_{i}\) is discretized as
Note that \(\varvec{\delta S}_{i}\) does not vanish in general because the solution could be far away from a steady state.
Before we discuss the upwinding of the numerical equilibrium perturbation fluxes, let us verify that the scheme Eq. (154) is indeed wellbalanced. Suppose that we initialize the conserved variables point values \(\varvec{U}_{i}\) with a steady state of interest \(\varvec{U}_{eq}(x)\)
that is, we initialize with wellprepared initial data. The equilibrium projection \(\varvec{U}_{eq,i} = \varvec{U}_{i}\) is trivial. Assuming that for all cells \(\varOmega _{i}\) the local equilibrium reconstruction \(\varvec{U}_{eq,i}(x)\) matches with \(\varvec{U}_{eq}(x)\) at cell centers (i.e., \(\varvec{U}_{eq,i}(x_{i}) = \varvec{U}_{eq}(x_{i})\)), then the equilibrium perturbation flux vanishes at all cell centers (i.e., \(\varvec{f}(\varvec{U}_{k})  \varvec{f}(\varvec{U}_{eq,i}(x_{k})) = 0\)). Any consistent reconstruction procedure will then produce vanishing numerical equilibrium perturbation fluxes at cell interfaces \(\varvec{\delta F}_{i,i\pm 1/2}\) for all cells \(\varOmega _{i}\). Along the same lines, the numerical source term perturbation Eq. (161) vanishes identically. Therefore, the semidiscrete finite difference scheme Eq. (154) gives
and the scheme is wellbalanced as advertised.
For numerical stability, the numerical equilibrium perturbation fluxes have to be properly upwinded. As in a standard finite difference scheme, this is achieved by flux splitting:
The complete upwind numerical equilibrium perturbation fluxes are then
For example, the (local) LaxFriedrichs flux splitting Eq. (121) could be used. It is straightforward to show that flux splitting does not interfere with the wellbalancedness of the scheme.
This concludes the presentation of the highorder wellbalanced finite difference schemes of Parés and ParésPulido (2021). We want to stress the fact that the numerical equilibrium perturbation fluxes at the cell interfaces are not equal in general:
Of course, this is not unexpected for balance laws and their nonconservative character due to their source terms. However, the latter may also be the case for the conservative equations in a system of balance laws. Fortunately, one can show that the conservation errors made by the schemes are of the order of the truncation error and, therefore, tend to vanish with increasing resolution. Moreover, this nonconservation can be avoided for certain balance laws using some finetuning of the artificial viscosity terms in the numerical fluxes. We refer to Parés and ParésPulido (2021) for the intricate details.
3 Wellbalanced methods for the Euler equations
In this section, we showcase the frameworks introduced in Sect. 2. We consider the Euler equations of compressible hydrodynamics as a prototypical example for a system of balance laws. The section starts by introducing the equations and their steady states. This is followed by a classification of wellbalanced schemes for the Euler equations and the presentation of some representative example for each class. The section concludes by presentating several numerical test problems highlithing the performance of the wellbalanced schemes.
3.1 The Euler equations
The Euler equations describe the motion of ideal fluids subject to (gravitational) forces in which thermal conductivity and viscosity are unimportant. They express the conservation of fluid mass, momentum and energy:
Here \(\rho \) is the fluid mass density, \(\varvec{v}\) the velocity and p the pressure. The total fluid energy \(E = \rho e + \frac{\rho }{2} v^{2}\) is composed of internal and kinetic energy densities. The pressure p is related to the density \(\rho \) and the specific internal energy e through an equation of state (EoS) \(p = p(\rho ,e)\). The latter determines all thermodynamic quantities by specifying any two values describing the state.^{Footnote 15}
The source terms on the righthand side of Eqs. (166) model the effect of gravitational forces on the fluid. They are characterized by a gravitational potential, which may either be a given function of the coordinates, \(\phi = \phi (\varvec{x})\), or prescribed by the fluid’s selfgravity depending on the concrete application. In the latter case, the potential is determined by the Poisson equation,
where G is the gravitational constant.
By including the gravitational interaction explicitly into the conservation balance, as opposed to a generic external force, the Euler equations can be written in alternative forms that emphasize their total conservative character. In the case of selfgravitating flows, the momentum source term can be reformulated as the divergence of the gravitational stress tensor, allowing its inclusion into the momentum flux tensor (see, e.g., Shu 1992). Unfortunately, when gravity is described by an external static gravitational potential, the source term in the momentum equations cannot be eliminated. However, the energy Eq. (166c) can be reformulated as
in both cases. Here \(E_{T} = E + E_{G}\) is the total (fluid and gravitational) energy density and \(\varvec{F}_{G}\) represents a “gravitational energy flux”. For a static gravitational field, the gravitational energy density is \(E_{G} = \rho \phi \). If the gravitational potential is prescribed by the fluid’s selfgravity, the gravitational energy density is \(E_{G} = \rho \phi /2\), where the factor 1/2 avoids the doublecounting of pairs of fluid elements. For timeindependent gravitational fields, as is the case at steady states which are our primal concern, this energy flux component becomes \(\varvec{F}_{G} = \rho \varvec{v} \phi \). Hence, the energy equation can be written in conservation form
Below, we will also use a slightly different form that evolves directly the fluid energy E with the gravity source term expressed as follows
For static gravitational fields, the source term can then be discretized such that the total energy \(E_{T}\) is preserved in a straightforward manner. We refer to the developments in Springel (2010), Hanawa (2019), Katz et al. (2016), Mullen et al. (2021) for an indepth discussion and, in particular, the extension to selfgravitating flows.
Before we proceed with a discussion of some interesting steady states of the Euler equations, let us rewrite them in canonical balance law form. For simplicity, we restrict the presentation to a onedimensional setting. The Euler Eqs. (166) then compactly read
where the conserved variables, fluxes, and gravitational source term are given by
Moreover, the primitive variables are denoted by \(\varvec{w} = [\rho , v_{x}, p]^{T}\).
3.2 Steady states of the Euler equations
The Euler Eqs. (166) allow for a myriad of nontrivial steady states. Many interesting astrophysical applications occur near or involve such equilibrium flows. A particular example is hydrostatic equilibrium,
which describes the mechanical balance between pressure and gravity forces. In the case of selfgravity, the hydrostatic equation can be combined with the Poisson Eq. (167) to yield (Landau and Lifshitz 1987)
It must be emphasized that the hydrostatic equilibrium equation only describes a mechanical equilibrium. A certain thermal stratification has to be supplemented to integrate the equations.
Another steadystate example of the Euler Eqs. (166) is provided by steady adiabatic flow. Such steady flows are governed by Bernoulli’s equation (Landau and Lifshitz 1987)
where h is the specific enthalpy. The above relation holds along each streamline, i.e., lines tangent to the velocity of the flow. In general, the constant may take different values for different streamlines. Flows near such steady states are ubiquitous in nature as in accretion and wind phenomena.
However, hydrostatic equilibrium and steady adiabatic flow are just two particular examples. In many astrophysical applications, the flow of interest takes place near more complex equilibrium configurations. One example is rotational hydrostatic equilibrium which describes the balance between pressure, gravitational and centrifugal forces. Under certain conditions, such equilibrium configurations fulfill Eq. (173) with the gravitational potential \(\phi \) replaced by an effective potential \(\varPhi \) including effects of rotation
where \(\varpi \) is the cylindrical radius and \(\varOmega \) (the constant) angular velocity (see, e.g., Tassoul 1978).
The Euler equations are an idealized model for the description of flows. They lack any dissipative processes such as thermal conduction and viscous stresses. Including these effects leads to the Navier–Stokes equations (see, e.g., Landau and Lifshitz 1987). In astrophysical flows, a substantial amount of the energy density, momentum density and stress is in the form of radiation (e.g., photons, neutrinos). Such radiating flows are described by the equation of radiation hydrodynamics (see, e.g., Mihalas and WeibelMihalas 1984; Castor 2004). Similarly, magnetic fields play a prominent role and a fluid model is provided by the equations of magnetohydrodynamics (MHD). These more sophisticated physical models and resulting equations possess even richer classes of nontrivial steady states. For example, radiative hydrostatic equilibrium or twodimensional plasma steady states as described by the GradShafranov equation would be of interest, to name a couple. A (general) relativistic flow description would also be of interest. We hope that the following presentation for the Euler equations can serve as a useful guideline to develop wellbalanced schemes for these extended physical models and their more intricate steady states.
3.3 Wellbalanced methods for the Euler equations
Many wellbalanced schemes for the Euler equations have been developed in the literature. Although the schemes follow different design philosophies, they may be broadly classified based on the steady states of interest they preserve:

1.
A priori known steady states
The steady state of interest is assumed to be globally known.

2.
Barotropic steady states
The steady states of interest assume a certain barotropic relation, effectively imposing a thermal stratification of the equilibrium state.

3.
Discrete steady states
The steady states of interest are built from a consistent discretization of the defining PDE.
The order reflects the successive weakening of the made assumptions about the steady states of interest. Below we classify many of the wellbalanced schemes for the Euler equations that are available in the literature into one of these categories. A representative is also presented for each category. This classification and representative selection is a more or less arbitrary choice of the author and as such is not perfect. For instance, some schemes may be classified in several categories, e.g., any barotropic or discrete steady states type scheme can be reduced to an a priori type scheme by simply freezing the piecewise steady reconstruction. Indeed, a taxonomy that fits it all may not even exist. Nevertheless, we consider it useful for a first, albeit rough, classification.
3.3.1 A priori known steady states
The first category of wellbalanced schemes for the Euler equations that we will discuss assumes that the steady state of interest is globally known. This allows the construction of wellbalanced finite volume, finite difference and discontinuous Galerkin schemes that can preserve any known steady state, making these methods extremely versatile. The only caveat is, of course, that the steady state has to be known a priori. However, this is not such a severe restriction as it may seem as long as the phenomena of interest don’t deviate too much from the fixed steady state.
Several wellbalanced schemes of this category have been developed in the literature:

Ghosh and Constantinescu (2015, 2016) developed highorder wellbalanced finite difference schemes. The schemes are based on the source term decomposition method of Xing and Shu (2013) which is extended to types of equilibria encountered in atmospheric flow simulations. This includes isentropic atmospheres and stratified atmospheres with specified BruntVäisälä frequency.

Li and Xing (2016a) developed highorder wellbalanced finite volume schemes for isothermal and polytropic hydrostatic equilibrium on the basis of the source term decomposition method for finite volume schemes of Xing and Shu (2006b, 2013). Li and Xing (2018b) simplify the original procedure of Xing and Shu (2013) by saving some costly WENO reconstructions in the discrete source term evaluation. This is possible because the discrete source term can be evaluated once at the beginning of the simulation since the equilibrium state is known initially. Furthermore, they extend the formalism to more general steady states including isothermal and polytropic hydrostatic equilibrium. Robust highorder discontinuous Galerkin schemes are developed by Wu and Xing (2021) following the techniques introduced by Li and Xing (2016b). These schemes are capable of balancing any known hydrostatic equilibrium, have a guaranteed positivitypreserving property for general equation of states, and can handle unstructured meshes.

Touma et al. (2016) elaborated a wellbalanced secondorder unstaggered central finite volume scheme that is able to preserve isothermal equilibrium. The necessary backandforth projections between the unstaggered and staggered cells are made equilibriumpreserving by using a variant of the surface gradient method of Zhou et al. (2001). The method provides discrete solutions on a single grid by using a “ghost” staggered grid that is only used in the discrete evolution steps (i.e., it is effectively an unstaggered central scheme).

Bispen et al. (2017) developed wellbalanced secondorder finite volume schemes for low Machnumber applications in atmospheric flow. The schemes are based on an implicitexplicit (IMEX) time discretization coupled with a specialized finite volume discretization of the Euler equations in the low Mach number limit. The wellbalanced property of the schemes is obtained by subtracting the hydrostatic background stratification from the dynamics.

Gaburro et al. (2018) developed ArbitraryLagrangianEulerian (ALE) finite volume schemes on moving nonconforming meshes able to preserve rotational hydrostatic equilibrium. This is accomplished within the wellbalanced pathconservative framework of Castro et al. (2008) where the source terms are treated as nonconservative products combined with a wellbalanced reconstruction operator.

Veiga et al. (2019) developed discontinuous Galerkin schemes that can exactly balance any known equilibrium. Furthermore, they systematically compare the wellbalanced schemes with unbalanced standard schemes regarding the computational cost for increasingly higherorder schemes. They observe that wellbalanced schemes pay off, especially in multidimensional settings.

Berberich et al. (2019) developed secondorder wellbalanced finite volume schemes for arbitrary known hydrostatic equilibrium. The schemes can handle curvilinear grids and general equations of state (see also Berberich et al. 2018). They are based on known nondimensionalized density \(\alpha \) and pressure \(\beta \) functions on which a piecewise steady reconstruction is built and combined with a wellbalanced source term discretization. Hence, they term their formalism the \(\alpha \)\(\beta \) wellbalanced method. Klingenberg et al. (2019) generalize the \(\alpha \)\(\beta \) method to arbitrary orders of accuracy with CWENO reconstruction procedures and Richardson extrapolation for the source term discretization. The latter reconstruction procedures are particularly well suited for the source term discretization as they avoid any negative stencil weights within the cell by construction. Thomann et al. (2020, 2019) combined the \(\alpha \)\(\beta \) method with relaxation Riemann solvers and implicitexplicit (IMEX) time integration tailored for the efficient treatment of low Machnumber flows.

Li and Gao (2021) devised a strategy to build highorder wellbalanced finite difference schemes by introducing specialized nonlinear WENO differential operators which fulfill a certain homogenization condition that guarantees the exact balance between the flux and source terms. The latter are discretized with the source term decomposition method.

Berberich et al. (2021a) designed a general framework to construct highorder wellbalanced finite volume schemes for any known solution of a given hyperbolic system. Their framework also preserves known timedependent solutions, which may be interesting for certain applications such as uncertainty quantification. Kanbar et al. (2020) applied the formalism to unstaggered, secondorder, central finite volume schemes.

Edelmann et al. (2021) propose an interesting comparison of several wellbalanced finite volume solvers for low Machnumber flows that are relevant for multidimensional stellar structure and evolution simulations. Moreover, they developed a multidimensional extension of the Cargo and LeRoux (1994) scheme. They emphasize that when combining wellbalanced schemes with low Mach number solvers, care must be taken not to introduce spurious numerical artifacts. Low Machnumber solvers rely on special numerical flux functions that reduce the unphysical numerical diffusion in low Machnumber regimes. This can interfere negatively with the vanishing diffusion of wellbalanced schemes at steady states.
We next sketch two representative of this category of wellbalanced methods. We opted for the \(\alpha \)\(\beta \) wellbalanced finite volume method for hydrostatic equilibrium of Berberich et al. (2018, 2019) and collaborators. Subsequently, we also briefly describe another method that relies on a slightly different principle than most of the methods of the present category.
3.3.2 \(\alpha \)\(\beta \) wellbalanced method
For simplicity, we consider a onedimensional setting and limit the spatial accuracy to secondorder. The \(\alpha \)\(\beta \) wellbalanced method assumes that the hydrostatic equilibrium Eq. (173) to be preserved is explicitly known in terms of two dimensionless scalar functions \(\alpha (x)\) and \(\beta (x)\),
fulfilling
The constants \(\rho _{0}\) and \(p_{0}\) anchor the equilibrium density and pressure at some reference coordinate \(x_{0}\). The steady state of interest \(\varvec{U}_{eq}(x)\) in Eq. (45) is therefore explicitly known
Here the equilibrium internal energy density is computed from the equilibrium density and pressure through the EoS. A wellbalanced finite volume scheme based on the \(\alpha \)\(\beta \) could now be derived in a straightforward manner along the recipe in Sect. 2.4. However, we now switch to primitive instead of the conserved variables to follow Berberich et al. (2018, 2019)’s original presentation. The steady state of interest is then simply
which also highlights the importance of the functions \(\alpha (x)\) and \(\beta (x)\).
We begin by the piecewise steady reconstruction in primitive variables. Berberich et al. (2018, 2019) use the relative form Eq. (52). Since the steady state of interest is explicitly known, the local equilibrium reconstruction within each cell \(\varOmega _{i}\) is trivial. Indeed, the equilibrium projection and matching steps simplify to a formality
The cellaveraged equilibrium density \(\overline{\rho }_{eq,i}\) and pressure \(\overline{p}_{eq,i}\) or, equivalently, the \(\overline{\alpha }_{i}\) and \(\overline{\beta }_{i}\) can be computed over the whole computational domain once at the beginning of the simulation and stored. The local relative equilibrium perturbation reconstruction Eq. (53) gives
where the velocity and pressure are computed from the cellaveraged conserved variables
The latter choice limits the spatial accuracy to formally secondorder, regardless of whether a higherorder reconstruction procedure \(\mathcal {R}\) is used. Note that the velocity component uses a standard reconstruction since it does not participate in the steady state of interest. If we further assume that the reconstruction procedure fulfills a certain scale invariance property^{Footnote 16}
for any cellaveraged quantity \(\overline{Q}_{k}\) and constant C, we obtain the following final expression of the piecewise steady reconstruction
It is obvious that if equilibrium cellaverages \(\overline{\varvec{W}}_{eq,i}\) are given to the above piecewise steady reconstruction, it reduces to the exact steady state Eq. (180) by construction.
It remains to discuss the wellbalanced source term discretization. Berberich et al. (2018, 2019) use the alternative form Eq. (59). Since only the momentum source term is relevant at the steady state of interest, we directly obtain
Moreover, Berberich et al. (2018, 2019) use the conservative formulation of the total (fluid and gravitational) energy Eq. (169). The complete source term discretization thus reads
It is straightforward to verify that the \(\alpha \)\(\beta \) method is able to preserve any known hydrostatic equilibrium Eq. (179) or Eq. (180). The extension to several space dimension is also uncomplicated (e.g., following the recipe in Sect. 2.6). Extending the method beyond secondorder accuracy is slightly more tricky. The issue stems from the pressure reconstruction Eqs. (182) and (185), which estimates the pressure based on the cellaveraged conserved variables Eq. (183). We refer to Klingenberg et al. (2019) for the details.
3.3.3 Equilibrium truncation error annihilation method
Let us mention another approach that exists as “folklore” among practitioners. An exact balance of an a priori known steady state is simply obtained by subtracting the discretization error at steady state in each time step. At the analytical level and in the infinite resolution limit, this is tantamount to subtracting a zero from the equation (because the steady state fulfills the balance by definition, of course). In semidiscrete evolution form, this simply reads
where \({\mathcal {L}}\) is the spatial discretization operator (see Eqs. (7) and (95) for finite volume) and \(\overline{\varvec{U}}_{eq}\) the explicitly computable cell averages of the known steady state \(\varvec{U}_{eq}\). Similarly, the same can be ported to other spatial discretizations such as finite difference and discontinuous Galerkin methods. For example, this method was used by Dedner et al. (2001) for the simulation of waves in stratified stellar atmospheres. The latter approach is probably easier and computationally cheaper to implement in an existing solver since the equilibrium discretization error \({\mathcal {L}}(\overline{\varvec{U}}_{eq})\) can be calculated once and for all at the beginning of a simulation. However, this approach may interact in less predictable ways within the reconstruction steps than the previously discussed methods such as the \(\alpha \)\(\beta \) method.
3.3.4 Barotropic steady states
The second category of wellbalanced schemes for the Euler equations is designed to preserve barotropic steady states. In barotropic fluids, the density is a function of pressure only. This establishes a thermal equilibrium stratification and that information is directly exploited by the wellbalanced schemes in this category.
A prominent example is provided by isentropic conditions in which the specific entropy is constant. Consider the fundamental thermodynamic relation
where h is the specific enthalpy, T the temperature and s the specific entropy. Hydrostatic equilibrium Eq. (173) under isentropic conditions (\({\mathrm {d}}s = 0\)) then gives
which can be trivially integrated to
Note that this is an explicit expression for hydrostatic equilibrium under isentropic conditions (assuming the gravitational potential is known). Once the constant fixed at some reference coordinate, the hydrostatic stratification is fully determined. Bernoulli’s Eq. (175) is the generalization to steady adiabatic flow.
Along the same lines, isothermal hydrostatic equilibrium is derived from the fundamental thermodynamic relation
where g is the specific Gibbs free energy, yielding
More generally, the expression
is integrable for barotropic fluids and hydrostatic equilibrium takes the form
Here \(\varTheta = \varTheta (\vartheta ,p)\) is a thermodynamic potential depending on the natural variables \(\vartheta \) and p. For example, the general expression encompasses the isentropic (\(\varTheta = h\), \(\vartheta = s\)), the isothermal (\(\varTheta = g\), \(\vartheta = T\)) and the polytropic^{Footnote 17} (\(\varTheta = \frac{\gamma ^{\prime }}{\gamma ^{\prime }  1} \frac{p}{\rho }\), \(\vartheta = K\)) cases.
The above explicit expressions for barotropic hydrostatic equilibrium can then be used for the design of wellbalanced schemes. Many schemes of this category have been developed in the literature:

Botta et al. (2004) designed a wellbalanced secondorder finite volume scheme for isentropic hydrostatic equilibrium as frequently encountered in numerical weather prediction and climate modeling. The scheme is based on a local piecewise steady reconstruction of isentropic hydrostatic states within each grid cell that are adapted to the local thermodynamic conditions at each time step.

Fuchs et al. (2010a) constructed secondorder finite volume schemes that preserve isothermal hydrostatic equilibrium. The schemes use a piecewise linear steady reconstruction of isothermal hydrostatic states explicitly exploiting the exponential stratification of density and pressure. Remarkably, the schemes are also wellbalanced for certain magnetostatic equilibria such as used in the simulation of waves in stellar atmospheres (Rosenthal et al. 2002).

LeVeque (2010) developed a wellbalanced secondorder method for polytropic gas dynamics using the fwave approach of Bale et al. (2002). The particular source term average at cell interfaces to guarantee the exact preservation of steady states is constructed using the theory of path conservative methods. Gundlach and LeVeque (2011) used the approach to study the universality in the runup of shock waves to stellar surfaces. Ahmad and Lindeman (2007) have applied the fwave approach to atmospheric flow problems and they report promising results.

Xu et al. (2010), Luo et al. (2011) constructed symplecticitypreserving gaskinetic schemes for compressible Euler and Navier–Stokes equations with gravity. The secondorder schemes represent the gravitational potential as a piecewise constant with a potential jump at every cell interface. The schemes are designed such that an isothermal hydrostatic state is preserved during the process of particle transport and collision, which necessitates the use of an exact Maxwellian velocity distribution. See also the recent approach by Chen et al. (2020).

Xing and Shu (2013) designed highorder wellbalanced finite difference schemes for isothermal hydrostatic equilibrium. The approach uses the source term decomposition method of Xing and Shu (2006a) (see Sect. 2.7.3) using the special form of isothermal hydrostatic states. Li and Xing (2016b) extend the formalism to discontinuous Galerkin schemes using the source term decomposition of Xing and Shu (2006b).

Käppeli and Mishra (2014), Käppeli (2017) developed secondorder finite volume schemes that retain barotropic hydrostatic states exactly (up to machine precision). The schemes are based on the piecewise steady reconstruction of barotropic hydrostatic states using thermodynamic potentials and are capable of dealing with general EoS. GrosheintzLaval and Käppeli (2019); GrosheintzLaval (2021) extended the schemes to (spatially) arbitrary order of accuracy and unstructured meshes. GrosheintzLaval and Käppeli (2020) generalized the secondorder schemes to adiabatic steady flows.

Chandrashekar and Klingenberg (2015) constructed wellbalanced secondorder finite volume schemes for isothermal and polytropic hydrostatic equilibrium. The schemes rewrite the gravitational source terms in a specific form by exploiting the structure of the equilibrium state (similar to Xing and Shu 2013) and a piecewise steady reconstruction that uses equilibrium scaled variables.

Chandrashekar and Zenk (2017) designed highorder nodal discontinuous Galerkin methods for isothermal and polytropic hydrostatic equilibrium. The schemes use a form of the source term decomposition method as Xing and Shu (2013) combined with GaussLobattoLegendre quadrature rules. The latter choice ensures that at an equilibrium the solution is continuous between the cells and the flux and source discretizations exactly match.

Li and Xing (2018a) developed highorder (modal) discontinuous Galerkin schemes capable of preserving isothermal and polytropic hydrostatic states. The schemes are based on a generalized hydrostatic reconstruction with an equilibrium state recovery technique and a special projection operator guaranteeing the necessary continuity conditions of the numerical fluxes at the cell interfaces and a wellbalanced source term discretization following Xing and Shu (2006c).

GómezBueno et al. (2021a, 2021b) developed a general framework for constructing highorder wellbalanced finite volume schemes for onedimensional balance laws. The schemes are based on a piecewise steady reconstruction that constructs local equilibrium by solving the steadystate defining ODEs numerically. (In general, the schemes could therefore also be classified in the discrete steady state category.) In the context of the Euler equations, highorder wellbalanced schemes for adiabatic sub and supersonic steady flows are designed within the framework. By assuming adiabatic flow, they derive a system of ODEs for the steady states that is then solved numerically to derive the piecewise steady reconstruction.
In the following, we briefly outline a representative out of this category of wellbalanced schemes for barotropic hydrostatic equilibrium. We opt for the wellbalanced finite volume schemes of Käppeli and Mishra (2014), Käppeli (2017) and their higherorder extension by GrosheintzLaval and Käppeli (2019). This (admittedly not entirely impartial) choice is motivated by the versatility of the approach as it seamlessly adapts to any barotropic relation and relies only on fundamental thermodynamic relations (i.e., it works for any EoS). We now follow the recipe from Sect. 2.4 and prepare the necessary ingredients to design a onedimensional wellbalanced finite volume scheme for barotropic hydrostatic equilibrium. The multidimensional case is briefly addressed at the end of the description.
The starting point is to ensure the computability of the steady states of interest. The barotropic hydrostatic equilibrium Eq. (195) immediately gives the following equilibrium profiles
Here \(\vartheta _{0}\), \(\varTheta _{0}\) and \(\phi _{0}\) are the equilibrium’s thermodynamic natural variable and potential, and the gravitational potential evaluated at some reference coordinate \(x_{0}\), respectively. The equilibrium conserved variables are then
where the equilibrium density \(\rho _{eq}(x)\) and internal energy density \(\rho e_{eq}(x)\) are computed through the EoS given the natural variable and thermodynamic potential. Note that we distinguish between the exact \(\varvec{u}_{eq}(x)\) and approximate \(\varvec{U}_{eq}(x)\) steady states of interest (see Eq. (45)). Although this may seem overly pedantic, it takes into account that the gravitational potential \(\phi (x)\) may only be known approximately (say up to order \(\mathcal {O}(\varDelta x^{\epsilon })\)).
The next ingredient is the piecewise steady reconstruction from the cellaveraged conserved variables \(\{\overline{\varvec{U}}_{i}\}\). It consists of reconstructing within each cell \(\varOmega _{i}\) local equilibrium \(\varvec{U}_{eq,i}(x)\) and perturbation \(\delta \varvec{U}_{i}(x)\) parts. The local equilibrium is fixed in two substeps. First, the cell average \(\overline{\varvec{U}}_{i}\) is projected onto a cell average that is consistent with the steady states of interest. This is of course trivial for the density and the momentum components. For the energy component, an estimate of the cellaveraged internal density is needed. A natural choice is provided by
Note that this choice is consistent with the steady states of interest (i.e., it is exact at equilibrium when \(\overline{\rho v}_{x,i} \equiv 0\)). With this we then have the local equilibrium projected cellaveraged conserved variables
The second substep matches a steady state of interest profile Eq. (197) to the equilibrium projected cell averages \(\overline{\varvec{U}}_{eq,i}\) by Eq. (47). To this end, the local equilibrium profiles are anchored at the cell center \(x_{i}\)^{Footnote 18}
where the \(\vartheta _{0,i}\), \(\varTheta _{0,i}\) and \(\phi _{i} = \phi (x_{i})\) are point values of the equilibrium’s natural variable, thermodynamic potential and gravitational potential at cell center. It is assumed that the gravitational potential \(\phi (x)\) can be evaluated anywhere needed, either exactly or approximately (up to some order \(\mathcal {O}(\varDelta x^{\epsilon })\)). The anchor values \(\vartheta _{0,i}\) and \(\varTheta _{0,i}\) are then set by requiring that
In general, Eq. (201) represents a system of two (nonlinear) equations for the anchor values \(\vartheta _{0,i}\) and \(\varTheta _{0,i}\) of the local equilibrium reconstruction profile in cell \(\varOmega _{i}\). The system can efficiently be solved by a (hybrid) Newton method (see, e.g., Press et al. 1993; Dennis and Schnabel 1996). We remark that the derivatives needed for the Jacobian matrix computation in Newton’s method are of thermodynamic nature and provided by any EoS. Moreover, the initial guesses for \(\vartheta _{0,i}\) and \(\varTheta _{0,i}\) can directly be computed from the local equilibrium projected cell averages \(\overline{\varvec{U}}_{eq,i}\) through the EoS, i.e.,
Note that the latter values are secondorder approximation of the values at cell center and are therefore already pretty close to the solution. Furthermore, these initial guesses are already the solution of the system Eq. (201) for a secondorder scheme that uses the midpoint rule. Equipped with the local equilibrium reconstruction,
the local equilibrium perturbation \(\delta \varvec{U}_{i}(x)\) can be computed following the recipe in Sect. 2.4.1. As a result, we obtain a piecewise steady reconstruction \({\mathcal{WR}}\) for barotropic hydrostatic equilibrium. Likewise, the wellbalanced source term discretization is obtained as described in Sect. 2.4.2. The latter can also be constructed such that the scheme is total (fluid and gravitational) energyconserving. This can be achieved either by evolving the total energy Eq. (169) directly or by discretizing the source term in Eq. (170) appropriately.^{Footnote 19}
This concludes the description of the required ingredients to assemble a onedimensional finite volume scheme that preserves a discrete form of barotropic hydrostatic equilibrium. A particularity of that steady state Eq. (195) is its validity in several space dimensions. Therefore, a wellbalanced finite volume scheme for multidimensional barotropic hydrostatic equilibrium can readily be developed according the recipe in Sect. 2.6.
3.3.5 Discrete steady states
The third category of wellbalanced schemes for the Euler equations avoid any assumption on the thermal stratification of the steady states. In effect, they aim at preserving a consistent discretization of the PDE underlying the steady states of interest. For hydrostatic equilibrium, this is
which the methods in this category solve numerically (given the density and gravitational acceleration) for the hydrostatic pressure. Therefore, the methods in this category are, in some sense, truly in the spirit of the piecewise steady reconstruction as early advocated by van Leer (1984), Eulderink and Mellema (1995), Mellema et al. (1991). However, this endeavor is difficult in general, especially in several space dimensions. We will come back briefly to this issue at the end of the section.
Many schemes of this type have been developed in the literature:

LeVeque and Bale (1999) developed secondorder finite volume schemes that preserve hydrostatic equilibrium and steady adiabatic flow (see also LeVeque et al. 1998). The schemes are based on the quasisteady wavepropagation algorithm of LeVeque (1998). The method replaces the piecewise constant solution representation within a cell with two constant states separated by a single discontinuity at the middle of the cell. The jump within the cell is chosen such that it exactly cancels out the source term. This leads to modified Riemann problems at cell interfaces that only encode perturbations from the steady state. The steady states are preserved with secondorder accuracy by construction, and perturbations are propagated with the same accuracy within the wavepropagation algorithm.

Fuchs et al. (2011) presented wellbalanced secondorder finite volume schemes for stratified nonisothermal magnetic atmospheres (see also Fuchs et al. 2010b). The schemes are based on an extension beyond the isothermal case developed by Fuchs et al. (2010a) and are capable of preserving certain nonisothermal magnetostatic equilibria. The schemes are applied to the simulation of waves in the outer solar (chromosphere and corona) and other stellar atmospheres. A similar approach is used by Krause (2019).

Vides et al. (2014) developed a secondorder finite volume schemes for selfgravitating astrophysical flows. Although the schemes are not strictly wellbalanced^{Footnote 20} (according to the authors), they nevertheless display a substantial improvement over a standard scheme. The schemes are based on a relaxationtype Riemann solver that incorporates the gravity source terms, which effectively couples more strongly the fluid to the gravitational forces. Padioleau et al. (2019) extend the method to low Mach number flow regimes and apply it to compressible convection.

Desveaux et al. (2015) constructed a wellbalanced finite volume scheme to capture nonexplicit hydrostatic equilibria (see also Desveaux 2013; Desveaux et al. 2014). It is based on a relaxationtype Riemann solver able to resolve hydrostatic equilibrium by directly including the gravity source terms. The resulting scheme preserves a spatially secondorder accurate discrete form of hydrostatic equilibrium, but perturbations are only evolved with first order accuracy.

Käppeli and Mishra (2016) designed wellbalanced secondorder finite volume schemes for hydrostatic sates. They are based on a local discrete hydrostatic reconstruction that directly integrates the equilibrium pressure given the density and gravity forces (see also Käppeli and Mishra 2015). Popov et al. (2019) present some first applications of the schemes to multidimensional stellar structure calculations. Moreover, they present an improved discretization of the gravity source term in the energy equation that avoids unphysical energy changes when simulating quasistationary convection for extended time periods. GrosheintzLaval (2021) adapted the schemes to semistructured icosahedral grids. Berberich et al. (2021b) generalize the secondorder schemes to arbitrary orders of accuracy.

Franck and Mendoza (2016) constructed wellbalanced asymptoticpreserving finite volume schemes for the Euler equations with gravity and friction source terms. The schemes are based on a Lagrange+remap approach in combination with a relaxation procedure specifically designed to capture the asymptotic limit induced by the friction source term (i.e., the scheme produces consistent and stable approximations for arbitrarily high friction coefficients). Moreover, the schemes are capable of preserving an arbitrary highorder discretization of hydrostatic equilibrium, but perturbations are only evolved with first order accuracy. An extension to twodimensional unstructured meshes is also presented.

Chertock et al. (2018) developed secondorder centralupwind finite volume schemes capable of preserving hydrostatic equilibrium. The schemes are based on a purely conservative reformulation of the equations that avoids the source terms by introducing global fluxes, which essentially corresponds to an integration of the hydrostatic pressure over the whole computational domain. The inherent viscosity of the centralupwind scheme is tweaked by a smooth cutoff function that tends towards zero when the computed solution is locally close to a steady state. See also Gascón and Corberán (2001), Caselles et al. (2009) for a closely related approach.

Varma and Chandrashekar (2019) extended the approach of Chandrashekar and Klingenberg (2015) to arbitrary thermal stratification. To construct the hydrostatic reconstruction and wellbalanced source term discretization, they first rewrite the hydrostatic equilibrium in a particular form and discretize the resulting expressions. Effectively, this allows the parametrization of the assumed subcell thermal equilibrium in the piecewise steady reconstruction.
In the following, we briefly sketch in a onedimensional setting the wellbalanced schemes of Käppeli and Mishra (2016) in their arbitrary highorder formulation by Berberich et al. (2021b). Again, this (to be sure not fully impartial) choice is motivated by the flexibility of the approach as it easily adapts to any EoS. The plan is to prepare all the necessary ingredients to apply the recipe outlined in Sect. 2.4. As mentioned earlier, it is currently a challenge to extend the wellbalanced schemes of this category to the multidimensional case. Some discussion of this issue is provided at the end of the onedimensional description.
First of all, we need to be able to compute the steady states of interest. For onedimensional hydrostatic equilibrium,
we obtain by direct integration
Here, \(\rho _{eq}\) and \(p_{eq}(x)\) denote the hydrostatic density and pressure, and \(p_0{}\) is the pressure at some reference coordinate \(x_{0}\). The equilibrium conserved and primitive variables are then
where the equilibrium energy density \(\rho e_{eq}(x)\) is computed through the EoS. Note that we are again distinguishing the exact \(\varvec{u}_{eq}(x)\) and the approximate \(\varvec{U}_{eq}(x)\) hydrostatic equilibrium state (see Eq. (45)). Both, the equilibrium density and the gravitational potential will be approximated by (polynomial) reconstruction and interpolation (up to some desired accuracy \(\mathcal {O}(\varDelta x^{\epsilon })\)).
The second ingredient is the piecewise steady reconstruction, whose goal is to build accurate equilibrium subcell profiles from the cellaveraged conserved variables \(\{\overline{\varvec{U}}_{i}\}\) that are consistent with the steady states of interest. This local equilibrium profile is found by fitting an equilibrium Eq. (206) to the cell’s average \(\overline{\varvec{U}}_{i}\). The first substep is to perform an equilibrium projection of \(\overline{\varvec{U}}_{i}\) onto a cell average \(\overline{\varvec{U}}_{eq,i}\) consistent with hydrostatic equilibrium. A convenient option is as in the barotropic equilibrium case provided by
where the cellaveraged equilibrium internal energy density is estimated directly from the cell average \(\overline{\varvec{U}}_{i}\) as
This choice is exact at hydrostatic equilibrium \(\overline{\rho v}_{x,i} \equiv 0\) (i.e., it is consistent with the steady states of interest). The second substep matches a hydrostatic equilibrium profile Eq. (205) to the equilibrium projected cell average \(\overline{\varvec{U}}_{eq,i}\) by Eq. (47). For that purpose, the local equilibrium pressure profile \(p_{eq,i}(x)\) is anchored at the cell center \(x_{i}\)^{Footnote 21}
where \(p_{0,i}\) is a point value of the equilibrium pressure at cell center, \(\rho _{eq,i}(x)\) is the local equilibrium density reconstruction and \(\left( {\mathrm {d}}\phi /{\mathrm {d}}x\right) _{i}(x)\) the gravitational acceleration in cell \(\varOmega _{i}\). Before we can evaluate Eq. (209), we have to choose a subcell representation for these quantities. The gravitational acceleration is computed by (polynomially) interpolating the gravitational potential \(\{\phi _{i}\}\) and differentiating (even if the potential is analytically known and the derivative could be evaluated exactly). An obvious choice for the local equilibrium density reconstruction \(\rho _{eq,i}(x)\) is the one provided by the standard reconstruction procedure for the density (Berberich et al. 2021a):
However, other choices are possible. See Fig. 7 for a few possibilities. This influences (unsurprisingly) the accuracy \(\mathcal {O}(\varDelta x^{\epsilon })\) to which the equilibrium profiles are computed and the overall stencil size (Berberich et al. 2021a). Note that since the integrand in Eq. (209) is a simple polynomial, the integral can be easily evaluated analytically. The anchor value \(p_{0,i}\) is then fixed by requiring that the pressure profile Eq. (209) matches with the cellaveraged equilibrium internal energy density
This is a scalar equation for the pressure \(p_{0,i}\) at the cell center and it can be efficiently solved iteratively by, e.g., a (hybrid) Newton method (see, e.g., Press et al. 1993; Dennis and Schnabel 1996). The iteration starts with the pressure estimated from the cellaverage mass and internal energy density Eq. (208) through the EoS. The initial guess is a secondorder approximation of the pressure point value at the cell center and is, therefore, already quite close to the sought solution. Moreover, it can be solved analytically for secondorder accurate schemes or simple EoS like the ideal gas law (arbitrary order). The local equilibrium reconstruction in cell \(\varOmega _{i}\) is then
The local equilibrium perturbation \(\delta \varvec{U}_{i}(x)\) can now be computed as described by the recipe in Sect. 2.4.1. This gives us the complete piecewise steady reconstruction \({\mathcal{WR}}\) for arbitrarily stratified hydrostatic equilibrium. Along the same lines, the wellbalanced source term discretization follows from Sect. 2.4.2:
Remarkably, this is the same discretization as provided by a standard (highorder) finite volume scheme. This is a welcome simplification when implemented into an existing solver. As for the barotropic wellbalanced schemes, the source term in the energy equation can be avoided by either evolving the total (fluid and gravitational) energy or by discretizing appropriately the source terms in Eq. (170). Such total energyconserving schemes are advantageous for the longterm simulation of nearequilibrium configurations.
Unfortunately, the just described onedimensional wellbalanced scheme does not generalize to the multidimensional case in a straightforward manner (e.g., by following the recipe in Sect. 2.6). The culprit is that the discrete (re)construction of the hydrostatic equilibrium profile via approximation of Eq. (205),
is typically dependent on the path \(\varGamma \) (from the reference coordinate \(\varvec{x}_{0}\) to \(\varvec{x}\)). Only under special circumstances, such as constant density or alignment of gravity forces with one coordinate axis, a unique construction of the hydrostatic profile in such a direct way is feasible. As a matter of fact, the numerical integration of the hydrostatic profile via Eq. (214) gives sensible results (i.e., path independent) only if a discrete curl operator applied to the reconstructed integrand (\(\rho _{eq} \nabla \phi \)) vanishes everywhere (i.e., the integrability condition for hydrostatic equilibrium is fulfilled in a discrete sense). Therefore, the direct (line) integration approach seems hopeless. A more promising approach may rely on trying to solve a certain boundary value problem locally:
For example, a relaxation method could solve the elliptical PDE within a cell to construct its local hydrostatic pressure distribution (assuming the pressure in the neighboring cells is given). At an equilibrium state, the hope is that the relaxation approach realizes that the cell’s pressure is in equilibrium with its surrounding cells and local gravity forces. Away from an equilibrium state, certain criteria have to be devised to select a plausible local equilibrium state. However, this is beyond the scope of the present review.
However, let us end the present section on an optimistic note. Although not wellbalanced in a multidimensional sense, it turns out that the above wellbalanced scheme considerably improves the simulation of nearly hydrostatic configurations even in this suboptimal case.
3.4 Numerical examples
In this section, we showcase some typical numerical test problems used to assess the performance of wellbalanced schemes in the context of the Euler equations. We here deliberately focus on standard test problems that are easily replicable by an interested reader wishing to test his or her implementation/scheme. Using wellbalanced schemes in concrete astrophysical applications usually brings in a plethora of complications (initial conditions, appropriate boundary conditions, microphysics, etc.) and goes beyond the scope of this review. Before we proceed, we give general comments on how the problems below are initialized, boundary conditions are handled, the timescale the simulations are run, and how the accuracy is measured.
Given a pointwise defined initial condition in conserved variables \(\varvec{u}^{0} = \varvec{u}^{0}(x)\), the initialization of the simulation depends on the nature of the chosen scheme. For finite volume schemes, the cellaveraged conserved variables at the initial time \(\overline{\varvec{U}}_{i}^{0}\) are computed by (sufficiently accurate) numerical integration
An appropriate multidimensional quadrature rule is used for multidimensional problems. Often, it is convenient to formulate the initial conditions in a different set of variables, such as the primitive variables \(\varvec{w} = [\rho , \varvec{v}, p]^{T}\), and apply a pointwise transformation \(\varvec{u}^{0}(x) = \varvec{u}(\varvec{w}^{0}(x))\) in the above initializations.
Boundary conditions are usually a delicate and strongly applicationdependent matter, even more so when the dynamics of interest occurs close to a steady state. Typically, the local equilibrium profile found in the piecewise steady reconstruction in the last physical cells is extrapolated into an appropriate number of ghost cells. For finite volume schemes, the cell averages in the ghost cells are computed by
Another option is to freeze the data in the ghost cells to the initial equilibrium conditions. In multiple dimensions, the boundary conditions are applied in a directionbydirection manner.
To characterize a timescale on which a model reacts to perturbations of its equilibrium, we define the sound crossing time
where \(c_{s}\) denotes the speed of sound and the integral has to be taken over the extent of the steady state of interest \(\varGamma _{eq}\). The sound crossing time corresponds to the time it takes for a sound wave to propagate back and forth through the equilibrium configuration. It gives a measure of how quickly a steady configuration reacts to any perturbations of its equilibrium.
The accuracy of the schemes is quantified by computing the errors
where \(\Vert .\Vert \) denotes some norm, usually the \(L_{1}\)norm. Here q is a selected quantity of interest (e.g., density, pressure, velocity, ...) and \(q^{\mathrm {ref}}\) is a reference solution. The reference solution is the stationary state to be maintained discretely or a numerically obtained solution on a very fine grid. Although the comparison with a numerically obtained reference solution does not provide rigorous evidence of convergence, it nevertheless indicates a meaningful measure of the errors.
3.4.1 Hydrostatic atmospheres
The simplest setup one can image is that of a onedimensional hydrostatic atmosphere subject to a constant gravitational acceleration g:
Despite its apparent simplicity, it has applications in situations where gravitational forces change slowly with respect to other quantities of interest, such as numerical weather prediction, climate modeling of (exo) planets, and simulation of waves in stellar atmospheres.
As a matter of fact, Eq. (220) describes only a mechanical equilibrium of the atmosphere. To uniquely integrate Eq. (220), one needs in addition to a density \(\rho _{0}\) and pressure \(p_{0}\) at the base of the atmosphere \(x_{0}\) also a thermal stratification. This is simply because the pressure depends on one^{Footnote 22} additional thermodynamic quantity besides density such as the temperature T (\(p = p(\rho ,T)\)) or the specific entropy s (\(p = p(\rho ,s)\)). We assume a monoatomic ideal gas law EoS
where R is the gas constant, \(c_{v}\) the specific heat at constant volume and \(\gamma \) the ratio of specific heats.
For an isothermal atmosphere \(T = T_{0} = {\text {const.}}\), one can then immediately integrate Eq. (220) to yield
Here \(H_{0} = R T_{0}/g\) is the socalled scale height. Similarly, under isentropic conditions \(s = s_{0} = {\text {const.}}\), Eq. (220) can be analytically integrated to
with \(s_{0} = c_{v}\ln (p_{0}/\rho _{0}^{\gamma })\). Note that the isentropic atmosphere has a surface at a finite height while the isothermal one extends to infinity.
Following Käppeli and Mishra (2016), we set the computational domain to \(\varOmega = [0,2]\), and the EoS parameters to \(R = 1\), \(c_{v} = 3R/2\) and \(\gamma = 5/3\). For the isentropic atmosphere, we set the density and pressure to \(\rho _{0} = 1\) and \(p_{0} = 1\) at the base \(x_{0} = 0\). The resulting isentropic atmosphere has a scale height \(H(x) =  \frac{{\mathrm {d}}x}{{\mathrm {d}}\ln P}\) decreasing linearly from \(H(0) = 1\) at the bottom to \(H(2) = 0.2\) at the top and a sound crossing time of \(\tau _{\mathrm {sound}} \approx 4.3\). Similarly for the isothermal atmosphere, we set the density and pressure to \(\rho _{0} = 1\) and \(p_{0} = 1\) at the base \(x_{0} = 0\). The resulting isothermal atmosphere has a constant scale height of \(H_{0} = 1\) and a sound crossing time of \(\tau _{\mathrm {sound}} \approx 3.1\). The density and pressure profiles of both atmospheres are shown in Fig. 8. Similar setups have been used in most (if not all) publications for designing wellbalanced methods for the Euler equations with gravity.
Next, we present several test cases based on the simple setting of isothermal and isentropic hydrostatic atmospheres. The results are obtained with the wellbalanced secondorder finite volume scheme of Käppeli and Mishra (2016), also outlined in Sect. 3.3.3. Below it will be termed as the “wellbalanced (WB) discrete scheme” as it belongs to the category of wellbalanced schemes with an underlying discrete piecewise steady reconstruction. For the sake of comparison, we also show the results obtained with a standard secondorder finite volume scheme obtained by switching off the piecewise steady reconstruction. Below it will be termed the “standard (STD) scheme.”
3.4.2 Wellbalanced property
The first thing to verify is, of course, the wellbalanced property of the scheme: Is it able to preserve the steady state it was designed for up to machine precision? Indeed, due to the finite precision of the computer’s approximation of real numbers, exact balance can, in general, not be expected.
To this end, one initializes the computation with socalled wellprepared initial data, i.e., the discrete steady state that the wellbalanced method is designed to balance. These wellprepared initial conditions are then evolved with the wellbalanced scheme for a certain time characteristic for the considered steady state, e.g., a multiple of the sound crossing time Eq. (218). At the end of the computation, one computes the difference between the initial and final states in some norm (e.g., the \(L_{1}\) norm).
The results of such onedimensional computations with the wellbalanced and the standard scheme are shown in Fig. 9. From the left panel of the figure, it is clear that the wellbalanced scheme maintains the discrete hydrostatic equilibrium down to machine precision. On the other hand, the standard scheme cannot preserve the discrete equilibrium. However, note that the error for the standard scheme gets smaller with increasing resolution.^{Footnote 23} Indeed, in the limit of an extremely high resolution, the unbalanced scheme can also preserve the equilibrium. This is a matter of consistency of the numerical method with the PDE.
The right panel of Fig. 9 shows the evolution of the maximum absolute velocity for a given resolution (\(N = 512\) cells) and up to one hundred sound crossing times. The advantage of wellbalanced methods for longterm integration of nearequilibrium flows becomes quite clear: the local truncation errors of the standard scheme piles up in each step and create spurious flow. Conversely, only the (unavoidable) roundoff errors accumulate for the wellbalanced scheme. This makes such wellbalanced schemes well suited to study numerically natural phenomena that occur on a hydrostatic background.
3.4.3 Wave propagation: shake the base
The next test assesses the ability of a scheme to propagate waves on top of a hydrostatic atmosphere. For brevity, only the results for the isentropic atmosphere are shown. Fuchs et al. (2010a) suggest to excite waves at the bottom of the atmosphere by imposing a periodic velocity perturbation in the lower boundary
where \(m < 1\) is the boundary cell index (i.e., ghost cell index) and A is the amplitude of the perturbation. The simulation is stopped shortly before the excited waves hit the upper boundary at \(t_{f} = 1.8\). Practically, this test is a simplified version of similar setups used in the study of wave propagation in stellar atmospheres (see, e.g., Bogdan et al. 2003; Rosenthal et al. 2002; Fuchs et al. 2010c and references therein).
The setup is run for three amplitudes \(A = 10^{8}, 10^{6}, 10^{1}\) for several resolutions with the wellbalanced/standard scheme. The obtained results are compared with a numerical reference solution computed with the wellbalanced scheme and an \(N = 8192\) resolution. The left panel of Fig. 10 displays the errors in velocity.
For the small amplitude \(A = 10^{8}\) case, we observe the superiority of the wellbalanced versus the standard scheme, i.e., the committed velocity errors are orders of magnitude smaller. The wellbalanced scheme shows a rough secondorder convergence. Although way off, the standard scheme seems to show thirdorder (super)convergence already observed in the wellbalanced property test. The left panel of Fig. 11 shows the velocity profile for the standard and the wellbalanced schemes for N = 512, together with the reference solution. The wellbalanced scheme can resolve the wave pattern very accurately. On the other hand, the standard scheme shows spurious deviations because of its inability to resolve the hydrostatic background properly.
The standard and wellbalanced schemes do equally well for the large amplitude \(A = 10^{1}\) case. Both show an order of convergence close to one, which is expected because the large amplitude waves quickly steepen into sawtooth waves, propagating up the atmosphere. The velocity profile for both schemes and the reference solution are shown in the right panel of Fig. 11. This case shows that the wellbalanced piecewise steady reconstruction does not destroy the shockcapturing properties of the base scheme.
The intermediate amplitude \(A = 10^{6}\) case is interesting. The wellbalanced scheme is clearly superior at low resolutions (\(\le 128\)). The standard scheme shows superconvergence in this regime with roughly order three. This is the regime where the hydrostatic atmosphere dominates the committed error, while the wave pattern is totally unresolved. At higher resolutions (\(> 128\)), the wave pattern dominates the committed error, and the expected secondorder accuracy is recovered. The wellbalanced scheme shows an order of convergence of roughly two over the entire resolution range.
3.4.4 Wave propagation: pressure bump
The next test was introduced by LeVeque and Bale (1999). A pressure perturbation is added at the center of the atmosphere,
which excites two acoustic pulses propagating downwards/upwards. The simulations are stopped shortly before the pulses reach the domain boundaries. An advantage of this setup is that boundary conditions do not play a role, which can be delicate, especially for highorder schemes. For this test, we only show results for the isothermal atmosphere. Similar results are obtained for the isentropic atmosphere.
The setup is also run until \(t_{f} = 0.4\) for three different amplitudes \(A = 10^{8}, 10^{6}, 10^{1}\) and several resolution with the wellbalanced/standard scheme. The results are compared to a numerically obtained reference solution computed with the wellbalanced scheme at an \(N = 8192\) resolution. The right panel of Fig. 10 shows the errors in velocity and Fig. 12 shows the velocity profiles for the small and large amplitudes cases. The figures show clearly that similar conclusions to the preceding test can be drawn. Hence, we do not repeat them here for brevity.
3.4.5 Polytrope
The next series of test problems model considers very simple stellar models known as polytropes. A polytrope is a static configuration of an adiabatic gaseous sphere held together by selfgravitation (see, e.g., Chandrasekhar 1967; Kippenhahn et al. 2012). These model stars are constructed from hydrostatic equilibrium
and Poisson’s equation
in spherical symmetry. Here r is the radial coordinate and G is the gravitational constant.
The purely mechanical equilibrium constraints are supplemented by a thermal equilibrium in the form of a barotropic relation as
A relation of this form is called a polytropic relation with polytropic constant K and polytropic exponent \(\gamma \). Hence the name polytrope. Although a polytropic relation is often only an approximate model, it is an exact relation when the pressure is dominated by a (non or relativistic) completely degenerate electron gas. For instance, the latter is the case in white dwarfs and iron cores of evolved massive stars. With the polytropic relation Eq. (226), Eqs. (224) and (225) can be combined into a single equation
which is known as the Lane–Emden equation. For three values \(\gamma = 6/5, 2, \infty \), the Lane–Emden equation can be solved analytically. Specifically for \(\gamma = 2\), the density and pressure are given by
Here \(\rho _{C}\) is the central density of the polytrope and
The gravitational potential is given by
Note that a \(\gamma =2\) polytrope has a finite surface radius \(r_{\mathrm {surface}} = \pi / \alpha \). Moreover, it fulfills the isentropic equilibrium \(h(r) + \phi (r) = const = 0\) for any \(r \ge 0\).
Following the setup of Käppeli and Mishra (2014), we set the computational domain to a threedimensional cube \(\varOmega = [1/2, +1/2]^{3}\) uniformly discretized by \(N^{3}\) cells. The model constants are set to \(\rho _{C} = G = K = 1\) and we assume an ideal gas law EoS with \(\gamma = 2\). The resulting radial density, pressure and gravitational potential profiles are shown in the left panel of Fig. 13. The polytrope has a sound crossing time from its center \(r = 0\) to \(r = 1/2\) of \(\tau _{\mathrm {sound}} \approx 0.74\). Although the static configuration is built from an inherently threedimensional physical problem, a star, it can also be applied in a Cartesian one and twodimensional setting as a test with nonconstant gravitational acceleration (see, e.g., Li and Xing 2018b, a, 2016a; Qian et al. 2018; GrosheintzLaval and Käppeli 2019; Berberich et al. 2021b). The simulation of a polytrope in a general relativistic context with wellbalanced schemes was also considered by Gosse (2015).
We present several test cases based on the polytrope. We compare the results of a standard, unbalanced scheme with two wellbalanced schemes. The first wellbalanced scheme is the secondorder finite volume scheme of Käppeli and Mishra (2014), also outlined in Sect. 3.3.2, based on a barotropic piecewise hydrostatic reconstruction—termed the barotropic wellbalanced scheme below. The second wellbalanced scheme is the secondorder finite volume scheme of Käppeli and Mishra (2016), also outlined in Sect. 3.3.3, based on a discrete piecewise hydrostatic reconstruction—termed the discrete wellbalanced scheme below. The standard scheme is obtained by switching off the piecewise steady reconstruction in the discrete wellbalanced scheme, resulting in a secondorder finite volume scheme based on piecewise linear reconstruction in primitive variables^{Footnote 24}.
3.4.6 Wellbalanced property
The first verification is again the wellbalanced property of the scheme. The threedimensional simulation is initialized with the hydrostatic polytrope,
with \(r = \sqrt{x^2 + y^2 + z^2}\) using the midpoint rule to compute the cellaveraged conserved variables and is evolved for twenty sound crossing times \(t_{f} = 20 ~ \tau _{\mathrm {sound}} \approx 14.8\) with the three schemes.
We remark that the initial conditions fulfill the isentropic equilibrium \(h + \phi = {\text {const.}}\) exactly in a pointwise fashion. Therefore, the initial cellaverages correspond exactly to the discrete hydrostatic equilibrium preserved by the barotropic wellbalanced scheme.
The errors in density and pressure at final time \(t_{f}\) for the standard unbalanced/barotropic/discrete wellbalanced schemes are summarized in Table 1. We first observe that the barotropic wellbalanced scheme produces errors on the order of the machine precision (for doubleprecision) as is expected. On the other hand, the standard unbalanced scheme suffers from large spurious deviations. This corresponds to the pileup of the truncation errors at each time step. The errors also show the expected behavior with increasing resolution for a secondorder scheme. Interestingly, also the discrete wellbalanced schemes shows errors on the order of the machine precision. It turns out that for the special ideal EoS with a ratio of specific heats \(\gamma = 2\), the discrete wellbalanced scheme preserves isentropic hydrostatic equilibrium (\(h + \phi = {\text {const.}}\)) exactly, even in multiple dimensions, without any requirement of alignment of grid axes and gravity force. As a result, the truncation error vanishes by design for the wellbalanced schemes and only the (unavoidable) roundoff errors sum up. This is further highlighted in Fig. 13, where the maximum absolute radial velocity is shown as a function of time. It is clear that the standard scheme produces spurious deviations from the hydrostatic state.
3.4.7 Wave propagation: pressure bump
To test the capability of the schemes to evolve small perturbations of the multidimensional hydrostatic equilibrium, we add a small Gaussian hump in pressure at the center of the model star
with amplitude \(A = 10^{3}\) and width \(w = 0.1\). The problem is stopped at \(t_{f} = 0.2\) just before the excited waves reach the boundary. A reference solution was computed in onedimensional spherical symmetry using the wellbalanced barotropic scheme with resolution \(N = 8192\).
The errors in radial velocity are displayed in the left panel of Fig. 14. We note that all the schemes show the expected secondorder accuracy. However, we also observe that both wellbalanced schemes show roughly three orders of magnitude smaller errors than the standard unbalanced scheme. Furthermore, we note that the errors for the wellbalanced scheme on the coarsest resolution are smaller than the respective errors of the unbalanced scheme on the finest resolution. This fact is further highlighted in the right panel of Fig. 14 showing scatter plots of radial velocity for the standard scheme at the highest resolution (\(N^{3} = 256^{3}\)), both wellbalanced schemes at the coarsest resolution (\(N^{3} = 32^{3}\)) and the reference solution. This underlines the superiority and computational efficiency of wellbalanced schemes for simulating small disturbances on top of a stationary state, especially in a multidimensional setting. The errors in density and pressure show the same trends.
3.4.8 Wave propagation: explosion
To check the schemes’ robustness and shockcapturing properties, we add a localized overpressure region at the center of the model star
The triggered outward propagating explosion is evolved until \(t_{f} = 0.15\). A reference solution was computed in onedimensional spherical symmetry using the wellbalanced barotropic scheme with resolution \(N = 8192\).
The left panel of Fig. 15 displays the errors in radial velocity as a function of resolution. We observe that all schemes show comparable errors and order of convergence close to unity, as expected for discontinuous solutions. Therefore, we conclude that the piecewise steady reconstruction in both wellbalanced schemes does not diminish the robustness of the standard, base shockcapturing scheme. The errors in density and pressure show similar tendencies. The right panel of Fig. 15 shows scatter plots of radial velocity as a function of radius for all the schemes, including the onedimensional reference solution for comparison. The overpressurized central region quickly expands driving a first strong shock wave outward. As the shock wave moves out, gravity starts to pull back some matter behind it, driving a collapse which then eventually leads to a rebound in the center. This rebound then drives another outward running shock wave. At the final time \(t_{f} = 0.15\), this cycle has been repeated twice (hence the two strong shock waves) and is about to happen again as the matter is pulled back (the negative velocities below \(r < 0.1\)).
Notes
Another commonly encountered regime where difficulties also arise is when the source term becomes stiff, i.e., when the timescales of the considered balance law are hugely disparate. Prominent examples are reacting flows such as in combustion and detonation phenomena. However, we will not tackle this problem in the present text.
In general, the fluxes and source terms may also depend explicitly on space, i.e. \(\varvec{f} = \varvec{f}(\varvec{u},x)\) and \(\varvec{s} = \varvec{s}(\varvec{u},x)\). For sake of notation, we suppress this dependence here.
Semidiscrete because only the spatial domain has been discretized. The time domain is still continuous and will be discretized in a second step.
In principle, the source terms depend on point values of the conserved variables, which are obtained from the reconstruction procedure, making it rth order accurate. However, it could be that the source terms also involve further dependencies requiring approximations, e.g., derivatives of spatial functions, which we assume to be sth order accurate.
Indeed, the solution may be far away from a steady state.
This is of course also true for the alternative piecewise steady reconstructions and source term discretizations with some additional implementation logic handling the fall back to a standard highorder finite volume scheme.
We stress the subtle distinction between the steady state of interest \(\varvec{u}_{eq}(x)\) and its discrete approximation \(\varvec{U}_{eq}(x)\) is necessary because we do not require the steady states of interest to be known analytically (see Eq. (45)). If they are, then we of course simply have \(\varvec{U}_{eq}(x) \equiv \varvec{u}_{eq}(x)\).
Instead of the cell center, the reconstruction could be centered at the centroid of the cell.
Alternatively, the midpoint rule could be replaced by the centroid rule that evaluates the integrand at the centroid of the cell.
The weight function would correspond to the volume element of the considered curvilinear coordinates.
To guarantee accurate and nonoscillatory reconstruction properties, the smoothness of quantity Q should imply smoothness of the other quantity W and reciprocally.
In this subsection, we are explicit about the dependency of the source term on the spatial variable.
If the reconstruction is performed with a local characteristic variables projection, the mth component of the projected flux is simply used as a smoothness measures.
Consider the Euler Eq. (143): the continuity equation is a conservation law, and the momentum and energy equations are balance laws due to gravitational forces.
If the chemical composition is important, values characterizing it need also to be given. We neglect this possibility for the sake of presentation.
A polytropic relation is given by \(p = K \rho ^{\gamma ^{\prime }}\), where K is the polytropic constant and \(\gamma ^{\prime }\) the polytropic exponent (see, e.g., Chandrasekhar 1967).
Basically, any anchor location is fine, but, as we will see below, the cell center is a convenient choice.
To maintain higherorder accuracy (i.e., beyond second), the Richardson extrapolation technique can be applied to the second term on the righthand side of Eq. (170).
In the sense that they don’t preserve certain steady states exactly (up to machine precision).
Any other anchor point is possible. However, the cell center is again a convenient choice.
We neglect any further dependencies such as composition.
Interestingly, the standard secondorder base scheme shows a thirdorder convergence towards the steady state. Such a superconvergence has been observed before and attributed to the fact that the base scheme may be asymptotically high order, i.e., it has a higher order of accuracy at a steady state than its design order of accuracy (see Fjordholm et al. 2011).
Similarly, the standard scheme could be obtained by switching off the piecewise steady reconstruction in the barotropic wellbalanced scheme, resulting in a secondorder finite volume scheme based on piecewise linear reconstruction in conserved variables. However, both standard schemes give similar results and, therefore, only the results obtained with piecewise linear reconstruction in the primitive variables are shown below.
References
Ahmad N, Lindeman J (2007) Euler solutions using fluxbased wave decomposition. Int J Numer Methods Fluids 54(1):47–72. https://doi.org/10.1002/fld.1392
Amadori D, Gosse L (2015) Error estimates for wellbalanced schemes on simple balance laws: onedimensional positiondependent models. SpringerBriefs in Mathematics. Springer, Cham. https://doi.org/10.1007/9783319247854
Audusse E, Bouchut F, Bristeau MO, Klein R, Perthame B (2004) A fast and stable wellbalanced scheme with hydrostatic reconstruction for shallow water flows. SIAM J Sci Comput 25(6):2050–2065. https://doi.org/10.1137/S1064827503431090
Bale DS, LeVeque RJ, Mitran S, Rossmanith JA (2002) A wave propagation method for conservation laws and balance laws with spatially varying flux functions. SIAM J Sci Comput 24(3):955–978. https://doi.org/10.1137/s106482750139738x
Balsara DS (2017) Higherorder accurate spacetime schemes for computational astrophysics–Part I: finite volume methods. Living Rev Comput Astrophys 3:2. https://doi.org/10.1007/s4111501700028
Balsara DS, Kim J (2016) A subluminal relativistic magnetohydrodynamics scheme with ADERWENO predictor and multidimensional Riemann solverbased corrector. J Comput Phys 312:357–384. https://doi.org/10.1016/j.jcp.2016.02.001. arXiv:1602.00633 [astroph.HE]
Balsara DS, Shu CW (2000) Monotonicity preserving weighted essentially nonoscillatory schemes with increasingly high order of accuracy. J Comput Phys 160(2):405–452. https://doi.org/10.1006/jcph.2000.6443
Balsara DS, Spicer DS (1999) A staggered mesh algorithm using high order godunov fluxes to ensure solenoidal magnetic fields in magnetohydrodynamic simulations. J Comput Phys 149(2):270–292. https://doi.org/10.1006/jcph.1998.6153
Berberich JP, Chandrashekar P, Klingenberg C (2018) A general wellbalanced finite volume scheme for Euler equations with gravity. In: Klingenberg C, Westdickenberg M (eds) Theory, numerics and applications of hyperbolic problems I (HYP 2016). Springer Proceedings in Mathematics & Statistics, vol 236. Springer, Cham, pp 151–163. https://doi.org/10.1007/9783319915456_12
Berberich JP, Chandrashekar P, Klingenberg C, Röpke FK (2019) Second order finite volume scheme for Euler equations with gravity which is wellbalanced for general equations of state and grid systems. Commun Comput Phys 26(2):599–630. https://doi.org/10.4208/cicp.oa20180152
Berberich JP, Chandrashekar P, Klingenberg C (2021a) High order wellbalanced finite volume methods for multidimensional systems of hyperbolic balance laws. Comput Fluids 219:104858. https://doi.org/10.1016/j.compfluid.2021.104858
Berberich JP, Käppeli R, Chandrashekar P, Klingenberg C (2021b) High order discretely wellbalanced methods for arbitrary hydrostatic atmospheres. Commun Comput Phys 30(3):666–708. https://doi.org/10.4208/cicp.oa20200153
Bermudez A, Vazquez ME (1994) Upwind methods for hyperbolic conservation laws with source terms. Comput Fluids 23(8):1049–1071. https://doi.org/10.1016/00457930(94)900043
Bianchini R, Gosse L (2018) A truly twodimensional discretization of driftdiffusion equations on cartesian grids. SIAM J Numer Anal 56(5):2845–2870. https://doi.org/10.1137/17M1151353
Bispen G, LukáčováMedvid’ová M, Yelash L (2017) Asymptotic preserving IMEX finite volume schemes for low Mach number Euler equations with gravitation. J Comput Phys 335:222–248. https://doi.org/10.1016/j.jcp.2017.01.020
Bogdan TJ, Carlsson M, Hansteen VH, McMurry A, Rosenthal CS, Johnson M, PettyPowell S, Zita EJ, Stein RF, McIntosh SW, Nordlund Å (2003) Waves in the magnetized solar atmosphere. II. Waves from localized sources in magnetic flux concentrations. ApJ 599(1):626–660. https://doi.org/10.1086/378512
Botta N, Klein R, Langenberg S, Lützenkirchen S (2004) Well balanced finite volume methods for nearly hydrostatic flows. J Comput Phys 196(2):539–565. https://doi.org/10.1016/j.jcp.2003.11.008
Bouchut F (2004) Nonlinear stability of finite volume methods for hyperbolic conservation laws and wellbalanced schemes for sources. Front Math. https://doi.org/10.1007/b93802
Cargo P, LeRoux AY (1994) Un schéma équilibre adapté au modèle d’atmosphère avec termes de gravité. C R Acad Sci Paris 318(1):73–76. https://gallica.bnf.fr/ark:/12148/bpt6k6107970c/f67.item
Caselles V, Donat R, Haro G (2009) Fluxgradient and sourceterm balancing for certain high resolution shockcapturing schemes. Comput Fluids 38(1):16–36. https://doi.org/10.1016/j.compfluid.2007.07.023
Castor JI (2004) Radiation hydrodynamics. Cambridge University Press, Cambridge. https://doi.org/10.1017/cbo9780511536182
Castro MJ, Parés C (2020) Wellbalanced highorder finite volume methods for systems of balance laws. J Sci Comput. https://doi.org/10.1007/s10915020011495
Castro CE, Toro EF (2008) Solvers for the highorder Riemann problem for hyperbolic balance laws. J Comput Phys 227(4):2481–2513. https://doi.org/10.1016/j.jcp.2007.11.013
Castro MJ, Milanés AP, Parés C (2007) Wellbalanced numerical schemes based on a generalized hydrostatic reconstruction technique. Math Models Methods Appl Sci 17(12):2055–2113. https://doi.org/10.1142/s021820250700256x
Castro M, Gallardo JM, LópezGarcÍa JA, Parés C (2008) Wellbalanced high order extensions of Godunov’s method for semilinear balance laws. SIAM J Numer Anal 46(2):1012–1039. https://doi.org/10.1137/060674879
Castro MJ, Morales de Luna T, Parés C (2017) Wellbalanced schemes and pathconservative numerical methods. In: Abgrall R, Shu CW (eds) Handbook of numerical analysis, vol 18. Elsevier, New York, pp 131–175. https://doi.org/10.1016/bs.hna.2016.10.002
Chandrasekhar S (1967) An introduction to the study of stellar structure. Dover Books on Astronomy Series. Dover Publications, Mineola
Chandrashekar P, Klingenberg C (2015) A second order wellbalanced finite volume scheme for Euler equations with gravity. SIAM J Sci Comput 37(3):B382–B402. https://doi.org/10.1137/140984373
Chandrashekar P, Zenk M (2017) Wellbalanced nodal discontinuous Galerkin method for Euler equations with gravity. J Sci Comput 71(3):1062–1093. https://doi.org/10.1007/s109150160339x
Chen S, Guo Z, Xu K (2020) A wellbalanced gas kinetic scheme for Navier–Stokes equations with gravitational potential. Commun Comput Phys 28(3):902–926. https://doi.org/10.4208/cicp.oa20190067
Chertock A, Cui S, Kurganov A, Özcan ŞN, Tadmor E (2018) Wellbalanced schemes for the Euler equations with gravitation: conservative formulation using global fluxes. J Comput Phys 358:36–52. https://doi.org/10.1016/j.jcp.2017.12.026
Colella P, Woodward PR (1984) The piecewise parabolic method (PPM) for gasdynamical simulations. J Comput Phys 54:174–201. https://doi.org/10.1016/00219991(84)901438
Courant R, Friedrichs K, Lewy H (1928) Über die partiellen Differenzengleichungen der mathematischen Physik. Math Ann 100(1):32–74. https://doi.org/10.1007/bf01448839
Cravero I, Puppo G, Semplice M, Visconti G (2018) CWENO: uniformly accurate reconstructions for balance laws. Math Comput 87(312):1689–1719. https://doi.org/10.1090/mcom/3273
ČrnjarićŽic N, Vuković S, Sopta L (2006) On different flux splittings and flux functions in WENO schemes for balance laws. Comput Fluids 35(10):1074–1092. https://doi.org/10.1016/j.compfluid.2005.08.005
Dedner A, Kröner D, Sofronov IL, Wesenberg M (2001) Transparent boundary conditions for MHD simulations in stratified atmospheres. J Comput Phys 171(2):448–478. https://doi.org/10.1006/jcph.2001.6779
Dennis JE, Schnabel RB (1996) Numerical methods for unconstrained optimization and nonlinear equations. Soc Ind Appl Math. https://doi.org/10.1137/1.9781611971200
Després B, Labourasse E (2015) Angular momentum preserving cellcentered Lagrangian and Eulerian schemes on arbitrary grids. J Comput Phys 290:28–54. https://doi.org/10.1016/j.jcp.2015.02.032
Desveaux V (2013) Contribution à l’approximation numérique des systèmes hyperboliques. Theses, Université de Nantes. https://tel.archivesouvertes.fr/tel00915482
Desveaux V, Zenk M, Berthon C, Klingenberg C (2014) A wellbalanced scheme for the Euler equation with a gravitational potential. In: Fuhrmann J, Ohlberger M, Rohde C (eds) Finite volumes for complex applications VIImethods and theoretical aspects. Springer, Berlin, pp 217–226. https://doi.org/10.1007/9783319056845_20
Desveaux V, Zenk M, Berthon C, Klingenberg C (2015) A wellbalanced scheme to capture nonexplicit steady states in the Euler equations with gravity. Int J Numer Methods Fluids 81(2):104–127. https://doi.org/10.1002/fld.4177
Don WS, Li R, Wang BS, Wang Y (2022) A novel and robust scaleinvariant WENO scheme for hyperbolic conservation laws. J Comput Phys 448:110724. https://doi.org/10.1016/j.jcp.2021.110724
Edelmann PVF, Horst L, Berberich JP, Andrassy R, Higl J, Leidi G, Klingenberg C, Röpke FK (2021) Wellbalanced treatment of gravity in astrophysical fluid dynamics simulations at low Mach numbers. A&A 652:A53. https://doi.org/10.1051/00046361/202140653. arXiv:2102.13111 [astroph.SR]
Eulderink F, Mellema G (1995) General relativistic hydrodynamics with a ROE solver. A&AS 110:587. arXiv:astroph/9411056 [astroph]
Evans CR, Hawley JF (1988) Simulation of magnetohydrodynamic flows: a constrained transport model. ApJ 332:659. https://doi.org/10.1086/166684
Fjordholm US, Mishra S, Tadmor E (2011) Wellbalanced and energy stable schemes for the shallow water equations with discontinuous topography. J Comput Phys 230(14):5587–5609. https://doi.org/10.1016/j.jcp.2011.03.042
Franck E, Mendoza LS (2016) Finite volume scheme with local high order discretization of the hydrostatic equilibrium for the Euler equations with external forces. J Sci Comput 69(1):314–354. https://doi.org/10.1007/s1091501601994
Fuchs F, McMurry A, Mishra S, Risebro N, Waagan K (2010a) High order wellbalanced finite volume schemes for simulating wave propagation in stratified magnetic atmospheres. J Comput Phys 229(11):4033–4058. https://doi.org/10.1016/j.jcp.2010.01.038
Fuchs FG, McMurray AD, Mishra S, Waagan K (2010b) Wellbalanced high resolution finite volume schemes for the simulation of wave propagation in threedimensional nonisothermal stratified magnetoatmospheres. Tech. Rep. 201027, Seminar for Applied Mathematics, ETH Zürich, Switzerland. https://www.sam.math.ethz.ch/sam_reports/reports_final/reports2010/201027.pdf
Fuchs FG, McMurry AD, Mishra S, Risebro NH, Waagan K (2010c) Finite volume methods for wave propagation in stratified magnetoatmospheres. Commun Comput Phys 7(3):473–509. https://doi.org/10.4208/cicp.2009.08.154
Fuchs FG, McMurry AD, Mishra S, Waagan K (2011) Simulating waves in the upper solar atmosphere with Surya: a wellbalanced highorder finitevolume code. ApJ 732(2):75. https://doi.org/10.1088/0004637X/732/2/75
Gaburro E, Castro MJ, Dumbser M (2018) Wellbalanced ArbitraryLagrangianEulerian finite volume schemes on moving nonconforming meshes for the Euler equations of gas dynamics with gravity. MNRAS 477(2):2251–2275. https://doi.org/10.1093/mnras/sty542
Gaburro E, Castro MJ, Dumbser M (2021) A well balanced finite volume scheme for general relativity. SIAM J Sci Comput 43(6):B1226–B1251. https://doi.org/10.1137/21m1399154
Gascón L, Corberán JM (2001) Construction of secondorder TVD schemes for nonhomogeneous hyperbolic conservation laws. J Comput Phys 172(1):261–297. https://doi.org/10.1006/jcph.2001.6823
Ghosh D, Constantinescu EM (2015) Wellbalanced formulation of gravitational source terms for conservative finitedifference atmospheric flow solvers. In: Seventh AIAA atmospheric and space environments conference. American Institute of Aeronautics and Astronautics. https://doi.org/10.2514/6.20152889
Ghosh D, Constantinescu EM (2016) Wellbalanced, conservative finite difference algorithm for atmospheric flows. AIAA J 54(4):1370–1385. https://doi.org/10.2514/1.j054580
Glaz HM, Liu TP (1984) The asymptotic analysis of wave interactions and numerical calculations of transonic nozzle flow. Adv Appl Math 5(2):111–146. https://doi.org/10.1016/01968858(84)90006x
Glimm J, Marshall G, Plohr B (1984) A generalized Riemann problem for quasionedimensional gas flows. Adv Appl Math 5(1):1–30. https://doi.org/10.1016/01968858(84)900022
Godlewski E, Raviart PA (1996) Numerical approximation of hyperbolic systems of conservation laws. Springer, New York. https://doi.org/10.1007/9781461207139
GómezBueno I, Castro MJ, Parés C (2021a) Highorder wellbalanced methods for systems of balance laws: a controlbased approach. App Math Comput 394:125820. https://doi.org/10.1016/j.amc.2020.125820
GómezBueno I, Díaz MJC, Parés C, Russo G (2021b) Collocation methods for highorder wellbalanced methods for systems of balance laws. Mathematics 9(15):1799. https://doi.org/10.3390/math9151799
Gosse L (2000) A wellbalanced fluxvector splitting scheme designed for hyperbolic systems of conservation laws with source terms. Comput Math Appl 39(9–10):135–159. https://doi.org/10.1016/s08981221(00)000936
Gosse L (2001) A wellbalanced scheme using nonconservative products designed for hyperbolic systems of conservation laws with source terms. Math Models Methods Appl Sci 11(02):339–365. https://doi.org/10.1142/s021820250100088x
Gosse L (2013) Computing qualitatively correct approximations of balance laws. Springer Milan. https://doi.org/10.1007/9788847028920
Gosse L (2015) Locally inertial approximations of balance laws arising in (1+1)dimensional general relativity. SIAM J Appl Math 75(3):1301–1328. https://doi.org/10.1137/140969889
Gosse L (2021) Diffusive limit of a twodimensional wellbalanced scheme for the free KleinKramers equation. Multiscale Model Simul 19(1):568–587. https://doi.org/10.1137/20M1337077
Gosse L, Vauchelet N (2020) A truly twodimensional, asymptoticpreserving scheme for a discrete model of radiative transfer. SIAM J Numer Anal 58(2):1092–1116. https://doi.org/10.1137/19M1239829
Gottlieb S, Shu CW, Tadmor E (2001) Strong stabilitypreserving highorder time discretization methods. SIAM Rev 43(1):89–112. https://doi.org/10.1137/s003614450036757x
Greenberg JM, LeRoux AY (1996) A wellbalanced scheme for the numerical processing of source terms in hyperbolic equations. SIAM J Numer Anal 33(1):1–16. https://doi.org/10.1137/0733001
Greenberg JM, LeRoux AY, Baraille R, Noussair A (1997) Analysis and approximation of conservation laws with source terms. SIAM J Numer Anal 34(5):1980–2007. https://doi.org/10.1137/s0036142995286751
GrosheintzLaval L (2021) Wellbalanced finite volume methods. PhD thesis, ETH Zurich. https://doi.org/10.3929/ethzb000505334
GrosheintzLaval L, Käppeli R (2019) Highorder wellbalanced finite volume schemes for the Euler equations with gravitation. J Comput Phys 378:324–343. https://doi.org/10.1016/j.jcp.2018.11.018
GrosheintzLaval L, Käppeli R (2020) Wellbalanced finite volume schemes for nearly steady adiabatic flows. J Comput Phys 423:109805. https://doi.org/10.1016/j.jcp.2020.109805
Gundlach C, LeVeque RJ (2011) Universality in the runup of shock waves to the surface of a star. J Fluid Mech 676:237–264. https://doi.org/10.1017/jfm.2011.42
Hanawa T (2019) Conservation of gravitational energy. J Phys Conf Ser 1225:012015. https://doi.org/10.1088/17426596/1225/1/012015
Harten A, Lax PD, van Leer B (1983) On upstream differencing and Godunovtype schemes for hyperbolic conservation laws. SIAM Rev 25(1):35–61. https://doi.org/10.1137/1025002
Harten A, Engquist B, Osher S, Chakravarthy SR (1987) Uniformly high order accurate essentially nonoscillatory schemes, III. J Comput Phys 71(2):231–303. https://doi.org/10.1016/00219991(87)900313
Hirsch C (2007) Numerical computation of internal and external flows: the fundamentals of computational fluid dynamics, vol 1. ButterworthHeinemann. https://doi.org/10.1016/B9780750665940.X50371
Huang L, Liu TP (1986) A conservative, piecewisesteady difference scheme for transonic nozzle flow. Comput Math Appl 12(4–5):377–388. https://doi.org/10.1016/08981221(86)901707
Hunter JD (2007) Matplotlib: a 2d graphics environment. Comput Sci Eng 9(3):90–95. https://doi.org/10.1109/mcse.2007.55
Jiang GS, Shu CW (1996) Efficient implementation of weighted ENO schemes. J Comput Phys 126(1):202–228. https://doi.org/10.1006/jcph.1996.0130
Jiang YF, Belyaev M, Goodman J, Stone JM (2013) A new way to conserve total energy for Eulerian hydrodynamic simulations with selfgravity. New A 19:48–55. https://doi.org/10.1016/j.newast.2012.08.002. arXiv:1208.1795 [astroph.IM]
Kanbar F, Touma R, Klingenberg C (2020) Wellbalanced central schemes for the one and twodimensional Euler systems with gravity. Appl Numer Math 156:608–626. https://doi.org/10.1016/j.apnum.2020.05.010
Käppeli R (2017) A wellbalanced scheme for the Euler equations with gravitation. In: Gosse L, Natalini R (eds) Innovative algorithms and analysis. Springer INdAM Series, vol 16. Springer, Cham, pp 229–241. https://doi.org/10.1007/9783319492629_8
Käppeli R, Mishra S (2014) Wellbalanced schemes for the Euler equations with gravitation. J Comput Phys 259:199–219. https://doi.org/10.1016/j.jcp.2013.11.028
Käppeli R, Mishra S (2015) Wellbalanced schemes for gravitationally stratified media. In: Pogorelov NV, Audit E, Zank GP (eds) Numerical modeling of space plasma flows (ASTRONUM2014). ASP Conference Series, vol 498. Astronomical Society of the Pacific, San Francisco, p 210
Käppeli R, Mishra S (2016) A wellbalanced finite volume scheme for the Euler equations with gravitation. the exact preservation of hydrostatic equilibrium with arbitrary entropy stratification. A&A 587:A94. https://doi.org/10.1051/00046361/201527815
Kastaun W (2006) Highresolution shock capturing scheme for ideal hydrodynamics in general relativity optimized for quasistationary solutions. Phys Rev D 74(12):124024. https://doi.org/10.1103/PhysRevD.74.124024
Katz MP, Zingale M, Calder AC, Swesty FD, Almgren AS, Zhang W (2016) White Dwarf mergers on adaptive meshes. I. Methodology and code verification. ApJ 819(2):94. https://doi.org/10.3847/0004637X/819/2/94. arXiv:1512.06099 [astroph.HE]
Kifonidis K, Müller E (2012) On multigrid solution of the implicit equations of hydrodynamics. Experiments for the compressible Euler equations in general coordinates. A&A 544:A47. https://doi.org/10.1051/00046361/201116979
Kippenhahn R, Weigert A, Weiss A (2012) Stellar structure and evolution. Astronomy and Astrophysics Library. Springer, Berlin. https://doi.org/10.1007/9783642303043
Klingenberg C, Puppo G, Semplice M (2019) Arbitrary order finite volume wellbalanced schemes for the Euler equations with gravity. SIAM J Sci Comput 41(2):A695–A721. https://doi.org/10.1137/18m1196704
Krause G (2019) Hydrostatic equilibrium preservation in MHD numerical simulation with stratified atmospheres. Explicit Godunovtype schemes with MUSCL reconstruction. A&A 631:A68. https://doi.org/10.1051/00046361/201936387
Kurganov A (2018) Finitevolume schemes for shallowwater equations. Acta Numer 27:289–351. https://doi.org/10.1017/s0962492918000028
Kwatra N, Su J, Grétarsson JT, Fedkiw R (2009) A method for avoiding the acoustic time step restriction in compressible flow. J Comput Phys 228(11):4146–4161. https://doi.org/10.1016/j.jcp.2009.02.027
Landau LD, Lifshitz EM (1987) Fluid Mechanics, Course of Theoretical Physics, vol 6, 2nd edn. Pergamon, Oxford. https://doi.org/10.1016/C20130037991
Laney CB (1998) Computational gasdynamics. Cambridge University Press, Cambridge. https://doi.org/10.1017/cbo9780511605604
LeFloch PG, Makhlof H (2014) A geometrypreserving finite volume method for compressible fluids on Schwarzschild spacetime. Commun Comput Phys 15(3):827–852. https://doi.org/10.4208/cicp.291212.160913a
LeFloch PG, Parés C, PimentelGarcía E (2020) A class of wellbalanced algorithms for relativistic fluids on a Schwarzschild background. arXiv eprints arXiv:2011.07587 [math.NA]
LeVeque RJ (1986) Intermediate boundary conditions for timesplit methods applied to hyperbolic partial differential equations. Math Comput 47(175):37. https://doi.org/10.1090/s00255718198608421228
LeVeque RJ (1992) Numerical methods for conservation laws. Birkhäuser, Basel. https://doi.org/10.1007/9783034886291
LeVeque RJ (1998) Balancing source terms and flux gradients in highresolution Godunov methods: the quasisteady wavepropagation algorithm. J Comput Phys 146(1):346–365. https://doi.org/10.1006/jcph.1998.6058
LeVeque RJ (2002) Finite volume methods for hyperbolic problems, vol 31. Cambridge University Press, Cambridge. https://doi.org/10.1017/CBO9780511791253
LeVeque RJ (2010) A wellbalanced pathintegral fwave method for hyperbolic problems with source terms. J Sci Comput 48(1–3):209–226. https://doi.org/10.1007/s1091501094110
LeVeque RJ, Bale DS (1999) Wave propagation methods for conservation laws with source terms. In: Hyperbolic problems: theory, numerics, applications. Birkhäuser, Basel, pp 609–618. https://doi.org/10.1007/9783034887243_12
LeVeque RJ, Mihalas D, Dorfi EA, Müller E (1998) Computational methods for astrophysical fluid flow, SaasFee Advanced Course, vol 27. Springer, Berlin. https://doi.org/10.1007/3540316329
Levy D, Puppo G, Russo G (1999) Central WENO schemes for hyperbolic systems of conservation laws. ESAIM Math Model Numer Anal 33(3):547–571. https://doi.org/10.1051/m2an:1999152
Levy D, Puppo G, Russo G (2000) Compact central WENO schemes for multidimensional conservation laws. SIAM J Sci Comput 22(2):656–672. https://doi.org/10.1137/s1064827599359461
Li S (2003) WENO schemes for cylindrical and spherical geometry. Tech. rep., Los Alamos National Laboratory. http://lanlprimo.hosted.exlibrisgroup.com/LANL:default_scope:01LANL_ALMA51106390580003761
Li G, Xing Y (2016a) High order finite volume WENO schemes for the Euler equations under gravitational fields. J Comput Phys 316:145–163. https://doi.org/10.1016/j.jcp.2016.04.015
Li G, Xing Y (2016b) Wellbalanced discontinuous Galerkin methods for the Euler equations under gravitational fields. J Sci Comput 67(2):493–513. https://doi.org/10.1007/s1091501500935
Li G, Xing Y (2018a) Wellbalanced discontinuous Galerkin methods with hydrostatic reconstruction for the Euler equations with gravitation. J Comput Phys 352:445–462. https://doi.org/10.1016/j.jcp.2017.09.063
Li G, Xing Y (2018b) Wellbalanced finite difference weighted essentially nonoscillatory schemes for the Euler equations with static gravitational fields. Comput Math Appl 75(6):2071–2085. https://doi.org/10.1016/j.camwa.2017.10.015
Li P, Gao Z (2021) Simple high order wellbalanced finite difference WENO schemes for the Euler equations under gravitational fields. J Comput Phys 437:110341. https://doi.org/10.1016/j.jcp.2021.110341
Li P, Don WS, Gao Z (2020) High order wellbalanced finite difference WENO interpolationbased schemes for shallow water equations. Comput Fluids 201:104476. https://doi.org/10.1016/j.compfluid.2020.104476
Liu TP (1979) Quasilinear hyperbolic systems. Commun Math Phys 68(2):141–172. https://doi.org/10.1007/bf01418125
Luo J, Xu K, Liu N (2011) A wellbalanced symplecticitypreserving gaskinetic scheme for hydrodynamic equations under gravitational field. SIAM J Sci Comput 33(5):2356–2381. https://doi.org/10.1137/100803699
Mellema G, Eulderink F, Icke V (1991) Hydrodynamical models of aspherical planetary nebulae. A&A 252:718–732
Merriman B (2003) Understanding the ShuOsher conservative finite difference form. J Sci Comput 19(1/3):309–322. https://doi.org/10.1023/a:1025312210724
Miczek F, Röpke FK, Edelmann PVF (2015) New numerical solver for flows at various Mach numbers. A&A 576:A50. https://doi.org/10.1051/00046361/201425059. arXiv:1409.8289 [astroph.IM]
Mignone A (2014) Highorder conservative reconstruction schemes for finite volume methods in cylindrical and spherical coordinates. J Comput Phys 270:784–814. https://doi.org/10.1016/j.jcp.2014.04.001
Mihalas D, WeibelMihalas B (1984) Foundations of radiation hydrodynamics. Oxford University Press, Oxford
Mishra S, Tadmor E (2011) Constraint preserving schemes using potentialbased fluxes I. Multidimensional transport equations. Commun Comput Phys 9(03):688–710. https://doi.org/10.4208/cicp.030909.091109s
Mönchmeyer R, Müller E (1989) A conservative secondorder difference scheme for curvilinear coordinates—part one—assignment of variables on a staggered grid. A&A 217:351
Morton KW, Roe PL (2001) Vorticitypreserving LaxWendrofftype schemes for the system wave equation. SIAM J Sci Comput 23(1):170–192. https://doi.org/10.1137/s106482759935914x
Mullen PD, Hanawa T, Gammie CF (2021) An extension of the Athena++ framework for fully conservative selfgravitating hydrodynamics. ApJS 252(2):30. https://doi.org/10.3847/15384365/abcfbd. arXiv:2012.01340 [astroph.IM]
Noelle S, Pankratz N, Puppo G, Natvig JR (2006) Wellbalanced finite volume schemes of arbitrary order of accuracy for shallow water flows. J Comput Phys 213(2):474–499. https://doi.org/10.1016/j.jcp.2005.08.019
Noelle S, Xing Y, Shu CW (2009) High order wellbalanced schemes. In: Puppo G, Russo G (eds) Numerical methods for balance laws. Quaderni di Matematica, vol 24. Seconda Universita di Napoli
Padioleau T, Tremblin P, Audit E, Kestener P, Kokh S (2019) A highperformance and portable allmach regime flow solver code with wellbalanced gravity. Application to compressible convection. ApJ 875(2):128. https://doi.org/10.3847/15384357/ab0f2c. arXiv:1903.09043 [physics.compph]
Parés C (2006) Numerical methods for nonconservative hyperbolic systems: a theoretical framework. SIAM J Numer Anal 44(1):300–321. https://doi.org/10.1137/050628052
Parés C, Castro M (2004) On the wellbalance property of Roe’s method for nonconservative hyperbolic systems. Applications to shallowwater systems. ESAIM Math Model Numer Anal 38(5):821–852. https://doi.org/10.1051/m2an:2004041
Parés C, ParésPulido C (2021) Wellbalanced highorder finite difference methods for systems of balance laws. J Comput Phys 425:109880. https://doi.org/10.1016/j.jcp.2020.109880
Popov MV, Walder R, Folini D, Goffrey T, Baraffe I, Constantino T, Geroux C, Pratt J, Viallet M, Käppeli R (2019) A wellbalanced scheme for the simulation toolkit AMaZe: implementation, tests, and first applications to stellar structure. A&A 630:A129. https://doi.org/10.1051/00046361/201834180. arXiv:1909.02428 [astroph.SR]
Press WH, Teukolsky SA, Vetterling WT, Flannery BP (1993) Numerical recipes in FORTRAN: The art of scientific computing, 2nd edn. Cambridge University Press, New York
Qian S, Liu Y, Li G, Yuan L (2018) High order wellbalanced discontinuous Galerkin methods for Euler equations at isentropic equilibrium state under gravitational fields. App Math Comput 329:23–37. https://doi.org/10.1016/j.amc.2018.01.059
Qiu J, Shu CW (2002) On the construction, comparison, and local characteristic decomposition for highorder central WENO schemes. J Comput Phys 183(1):187–209. https://doi.org/10.1006/jcph.2002.7191
Roe PL (1987) Upwind differencing schemes for hyperbolic conservation laws with source terms. In: Carasso C, Serre D, Raviart PA (eds) Nonlinear hyperbolic problems. Lecture Notes in Mathematics, vol 1270. Springer, Berlin, pp 41–51. https://doi.org/10.1007/bfb0078316
Rosenthal CS, Bogdan TJ, Carlsson M, Dorch SBF, Hansteen V, McIntosh SW, McMurry A, Nordlund Å, Stein RF (2002) Waves in the magnetized solar atmosphere. I. Basic processes and internetwork oscillations. ApJ 564(1):508–524. https://doi.org/10.1086/324214
Rusanov VV (1962) The calculation of the interaction of nonstationary shock waves and obstacles. USSR Comput Math Math Phys 1(2):304–320. https://doi.org/10.1016/00415553(62)900629
Schaal K, Bauer A, Chandrashekar P, Pakmor R, Klingenberg C, Springel V (2015) Astrophysical hydrodynamics with a highorder discontinuous Galerkin scheme and adaptive mesh refinement. MNRAS 453(4):4278–4300. https://doi.org/10.1093/mnras/stv1859. arXiv:1506.06140 [astroph.CO]
Shadab MA, Balsara D, Shyy W, Xu K (2019) Fifth order finite volume WENO in general orthogonally—curvilinear coordinates. Comput Fluids 190:398–424. https://doi.org/10.1016/j.compfluid.2019.06.031
Shu FH (1992) The physics of astrophysics, vol II. University Science Books, Sausalito
Shu CW (1998) Essentially nonoscillatory and weighted essentially nonoscillatory schemes for hyperbolic conservation laws. In: Quarteroni A (ed) Advanced numerical approximation of nonlinear hyperbolic equations. Lecture Notes in Mathematics, vol 1697. Springer, Berlin Heidelberg, pp 325–432. https://doi.org/10.1007/bfb0096355
Shu CW (2009) High order weighted essentially nonoscillatory schemes for convection dominated problems. SIAM Rev 51(1):82–126. https://doi.org/10.1137/070679065
Skinner MA, Ostriker EC (2010) The Athena astrophysical magnetohydrodynamics code in cylindrical geometry. ApJS 188:290–311. https://doi.org/10.1088/00670049/188/1/290. arXiv:1004.2487 [astroph.IM]
Springel V (2010) E pur si muove: Galileaninvariant cosmological hydrodynamical simulations on a moving mesh. MNRAS 401:791–851. https://doi.org/10.1111/j.13652966.2009.15715.x. arXiv:0901.4107
Sweby PK (1984) High resolution schemes using flux limiters for hyperbolic conservation laws. SIAM J Numer Anal 21(5):995–1011. https://doi.org/10.1137/0721062
Tadmor E (2003) Entropy stability theory for difference approximations of nonlinear conservation laws and related timedependent problems. Acta Numer 12:451–512. https://doi.org/10.1017/s0962492902000156
Tassoul JL (1978) Theory of rotating stars. Princeton University Press, Princeton. https://doi.org/10.1515/9781400868988
Thomann A, Zenk M, Klingenberg C (2019) A secondorder positivitypreserving wellbalanced finite volume scheme for Euler equations with gravity for arbitrary hydrostatic equilibria. Int J Numer Methods Fluids 89(11):465–482. https://doi.org/10.1002/fld.4703
Thomann A, Puppo G, Klingenberg C (2020) An all speed second order wellbalanced IMEX relaxation scheme for the Euler equations with gravity. J Comput Phys 420:109723. https://doi.org/10.1016/j.jcp.2020.109723
Toro EF (2009) Riemann solvers and numerical methods for fluid dynamics. Springer, Berlin. https://doi.org/10.1007/b79761
Tóth G (2000) The \(\nabla \cdot {{\rm b}}=0\) constraint in shockcapturing magnetohydrodynamics codes. J Comput Phys 161(2):605–652. https://doi.org/10.1006/jcph.2000.6519
Touma R, Koley U, Klingenberg C (2016) Wellbalanced unstaggered central schemes for the Euler equations with gravitation. SIAM J Sci Comput 38(5):B773–B807. https://doi.org/10.1137/140992667
van Leer B (1979) Towards the ultimate conservative difference scheme. V. A secondorder sequel to Godunov’s method. J Comput Phys 32(1):101–136. https://doi.org/10.1016/00219991(79)901451
van Leer B (1984) On the relation between the upwinddifferencing schemes of Godunov, EngquistOsher and Roe. SIAM J Sci Statist Comput 5(1):1–20. https://doi.org/10.1137/0905001
Varma D, Chandrashekar P (2019) A secondorder, discretely wellbalanced finite volume scheme for Euler equations with gravity. Comput Fluids 181:292–313. https://doi.org/10.1016/j.compfluid.2019.02.003
Veiga MH, VelascoRomero DA, Abgrall R, Teyssier R (2019) Capturing nearequilibrium solutions: a comparison between highorder discontinuous Galerkin methods and wellbalanced schemes. Commun Comput Phys 26(1):1–34. https://doi.org/10.4208/cicp.oa20180071
Viallet M, Baraffe I, Walder R (2011) Towards a new generation of multidimensional stellar evolution models: development of an implicit hydrodynamic code. A&A 531:A86. https://doi.org/10.1051/00046361/201016374. arXiv:1103.1524 [astroph.IM]
Viallet M, Baraffe I, Walder R (2013) Comparison of different nonlinear solvers for 2D timeimplicit stellar hydrodynamics. A&A 555:A81. https://doi.org/10.1051/00046361/201220725. arXiv:1305.6581 [astroph.SR]
Vides J, Braconnier B, Audit E, Berthon C, Nkonga B (2014) A Godunovtype solver for the numerical approximation of gravitational flows. Commun Comput Phys 15(1):46–75. https://doi.org/10.4208/cicp.060712.210313a
Virtanen P, Gommers R, Oliphant TE, Haberland M, Reddy T, Cournapeau D, Burovski E, Peterson P, Weckesser W, Bright J, van der Walt SJ, Brett M, Wilson J, Millman KJ, Mayorov N, Nelson ARJ, Jones E, Kern R, Larson E, Carey CJ, Polat I, Feng Y, Moore EW, VanderPlas J, Laxalde D, Perktold J, Cimrman R, Henriksen I, Quintero EA, Harris CR, Archibald AM, Ribeiro AH, Pedregosa F, van Mulbregt P, SciPy 10 Contributors, (2020) SciPy 1.0: fundamental algorithms for scientific computing in python. Nat Methods 17:261–272. https://doi.org/10.1038/s4159201906862
Vukovic S, Sopta L (2002) ENO and WENO schemes with the exact conservation property for onedimensional shallow water equations. J Comput Phys 179(2):593–621. https://doi.org/10.1006/jcph.2002.7076
Wang S, Johnsen E (2013) High order schemes for cylindrical/spherical coordinates with radial symmetry. In: 21st AIAA computational fluid dynamics conference. American Institute of Aeronautics and Astronautics. https://doi.org/10.2514/6.20132430
Wu K, Xing Y (2021) Uniformly highorder structurepreserving discontinuous Galerkin methods for Euler equations with gravitation: Positivity and wellbalancedness. SIAM J Sci Comput 43(1):A472–A510. https://doi.org/10.1137/20m133782x
Wu K, Tang H (2017) Physicalconstraintpreserving central discontinuous Galerkin methods for special relativistic hydrodynamics with a general equation of state. ApJS 228(1):3. https://doi.org/10.3847/15384365/228/1/3. arXiv:1607.08332 [math.NA]
Wu K, Tang H (2018) On physicalconstraintspreserving schemes for special relativistic magnetohydrodynamics with a general equation of state. Z Angew Math Phys. https://doi.org/10.1007/s0003301809799
Xing Y, Shu CW (2005) High order finite difference WENO schemes with the exact conservation property for the shallow water equations. J Comput Phys 208(1):206–227. https://doi.org/10.1016/j.jcp.2005.02.006
Xing Y, Shu CW (2006a) Highorder wellbalanced finite difference WENO schemes for a class of hyperbolic systems with source terms. J Sci Comput 27(1–3):477–494. https://doi.org/10.1007/s109150059027y
Xing Y, Shu CW (2006b) High order wellbalanced finite volume WENO schemes and discontinuous Galerkin methods for a class of hyperbolic systems with source terms. J Comput Phys 214(2):567–598. https://doi.org/10.1016/j.jcp.2005.10.005
Xing Y, Shu CW (2006c) A new approach of high order wellbalanced finite volume WENO schemes and discontinuous Galerkin methods for a class of hyperbolic systems with source terms. Commun Comput Phys 1(1):100–134
Xing Y, Shu CW (2013) High order wellbalanced WENO scheme for the gas dynamics equations under gravitational fields. J Sci Comput 54(2–3):645–662. https://doi.org/10.1007/s1091501295858
Xing Y, Shu CW (2014) A survey of high order schemes for the shallow water equations. J Math Study 47(3):221–249. https://doi.org/10.4208/jms.v47n3.14.01
Xu K, Luo J, Chen S (2010) A wellbalanced kinetic scheme for gas dynamic equations under gravitational field. Adv Appl Math Mech 2(2):200–210. https://doi.org/10.4208/aamm.09m0964
Zanotti O, Dumbser M (2016) Efficient conservative ADER schemes based on WENO reconstruction and spacetime predictor in primitive variables. Comput Astrophys Cosmol 3:1. https://doi.org/10.1186/s406680150014x
Zhou J, Causon D, Mingham C, Ingram D (2001) The surface gradient method for the treatment of source terms in the shallowwater equations. J Comput Phys 168(1):1–25. https://doi.org/10.1006/jcph.2000.6670
Zingale M, Dursi LJ, ZuHone J, Calder AC, Fryxell B, Plewa T, Truran JW, Caceres A, Olson K, Ricker PM, Riley K, Rosner R, Siegel A, Timmes FX, Vladimirova N (2002) Mapping Initial Hydrostatic Models in Godunov Codes. ApJS 143(2):539–565. https://doi.org/10.1086/342754. arXiv:astroph/0208031 [astroph]
Acknowledgements
The work was supported by the Swiss National Science Foundation (SNSF) under Grant 200021169631. The authors acknowledge the computational resources provided by the EULER cluster of ETHZ. All postprocessing and plotting was done using the outstanding Python packages NumPy and SciPy (Virtanen et al. 2020), and Matplotlib (Hunter 2007). Last but not least, we gratefully acknowledge Ewald Müller for his continued encouragement and patience, which was very helpful in writing this review.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Käppeli, R. Wellbalanced methods for computational astrophysics. Living Rev Comput Astrophys 8, 2 (2022). https://doi.org/10.1007/s41115022000146
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s41115022000146
Keywords
 Numerical methods
 Hydrodynamics
 Source terms
 Wellbalanced schemes