1. Introduction
We consider one-dimensional systems of balance laws of the form
Here, is the state vector taking values in the space of admissibly states ; is the flux; is a function that takes into account the geometrical source terms that are multiplied by the known function ; and contains algebraic source terms. We suppose that the system is hyperbolic, and therefore the jacobian matrix of the flux has M distinct real eigenvalues.
The system (
1) often admits steady-state solutions that, in most cases, are non-trivial. Moreover, these solutions usually convey significant physical meaning. A paradigmatic example of this is the lake-at-rest solution of the well-known shallow-water equations. The correct preservation of these solutions plays an essential role in any simulation. Well-balanced (or exactly well-balanced) numerical schemes aim to preserve all or at least a relevant set of specific steady-state solutions up to machine precision. A precise definition of well-balanced method is given in
Section 2.
An essential advantage of well-balanced schemes is that they can accurately resolve small perturbations to steady-state solutions with relatively coarse meshes. Indeed, if a numerical method cannot preserve stationary solutions or recover a stationary solution after a perturbation, the oscillations introduced may destroy the numerical solution for long integration times. Additionally, the numerical solution may be lost entirely if the perturbation is in the same order as the discretisation errors introduced by a non well-balanced method. Then, a finer mesh or a higher-order numerical method may be considered. Still, in this case, the computational effort can quickly become excessive. The ability of the numerical scheme to correctly preserve stationary solutions becomes then a matter of paramount importance.
The first effort to preserve stationary solution was originally introduced by Bermúdez and Vázquez-Cendón in [
1] for the sallow water system, where the C-property was defined as the ability of a numerical scheme to solve a set of stationary solutions exactly or, at least, with enhanced accuracy. Since then, multiple works have been published on well-balanced numerical methods [
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34]. It is of interest to highlight the recent work in [
35], where the authors develop high order exactly well-balanced methods for systems of conservation laws for finite volume method with both continuous and discontinuous source terms. A similar strategy is presented in [
36] for finite-difference methods. This paper extends the numerical strategy introduced within the framework of finite volume methods in [
35] to Discontinuous Galerkin (DG) methods, describing a general approach to preserve stationary solutions for general systems of conservation laws.
The DG methods were introduced by Reed and Hill in [
37] and were later extended to nonlinear hyperbolic systems of conservation laws by Cockburn and Shu in a series of publications [
38,
39,
40,
41]. Since then, several authors have proposed DG numerical schemes that are exactly well-balanced for a set of stationary solutions but they mainly focus on a particular system, most commonly the shallow water equations (see [
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53]).
Many hyperbolic systems of conservation laws are frequently numerically approximated with Discontinuous Galerkin methods as they allow to scale the numerical order of accuracy of the scheme quickly, thus providing an excellent resolution with coarse meshes. That makes these schemes especially well-suited when the computational effort is an important issue. A natural approach when discretising hyperbolic systems would be to use the methods of lines, in which all but the time dimension is approximated by the DG approach. The resulting time dimensional system of ODE can be then discretised using explicit methods such as Runge–Kutta [
54,
55,
56,
57,
58,
59,
60]. A more sophisticated approach that allows reaching arbitrary high order in space and time in a fully implicit manner consist on ADER (Arbitrary high order DErivative Riemann problem) approach. The ADER technique was first developed by Toro and Titarev for finite volume methods [
61,
62,
63,
64] and later extended to DG methods [
55,
65,
66]. Since then, it has been widely used in order to solve many hyperbolic systems of conservation laws see [
67,
68,
69,
70,
71,
72]. The recent ADER approach for DG methods is based on a predictor-corrector scheme that computes an approximated predictor solution through a fixed point algorithm locally in each element. With the DG method providing arbitrary high order in space, the combination of both techniques allows one-step fully discrete arbitrary high order in space and time numerical schemes.
The DG and ADER-DG methods have been successfully applied to geophysical flows. In the framework of the one-layer shallow water model, we highlight the work in [
68,
69,
70,
73] among others, and in the multilayer shallow water case in [
74,
75]. More recently, advances on hyperbolic reformulations of nonlinear dispersive shallow water systems that make use of the DG or ADER-DG techniques are found on [
67,
76,
77,
78].
A recurrent problem when high order methods are used is the appearance of spurious oscillations at discontinuities that appear when the hyperbolic system of conservation laws is considered. To avoid that, several limiting techniques exist. For instance, a multi-dimensional and optimal-order detector (MOOD) can be used (see in [
79]). Alternatively, other limiter strategies are the minmod type total variation bounded (TVB) limiter [
38,
80], the moment-based limiter [
81] and the improved moment limiter [
82]. Another approach to limiting is the one based on WENO methodology, mainly developed by Shu, Qiu, and Zhu et al. (see in [
83,
84,
85]). The WENO limiter approach uses a convex combination of all available neighbour polynomials, assigning essentially zero weights to stencils containing discontinuities. This work proposes a limiter procedure based on this method but takes advantage of a well-balanced reconstruction operator that preserves the well-balanced properties of the numerical method.
This paper is organised as follows. In
Section 2, a brief description of the considered numerical schemes are performed, including Runge–Kutta and ADER discretisations in time.
Section 3 describes the followed well-balanced methodology proposed for the numerical schemes studied. Next, in
Section 4, a limiter procedure that preserves the well-balanced features of the numerical schemes is proposed. Then, in
Section 5 some numerical tests are provided for the Shallow water, Burger, Euler with gravity and the hyperbolic dispersive Gavrilyuk–Favrie equations. Finally, some conclusions are given in
Section 6.
2. Discontinuous Galerking Method
We briefly recall the DG method to discretise the general system (
1) for one-spatial domains. We consider a set of element cells
, with constant length
The numerical solution of the PDE (
1) at a given time
t at each subset
is represented by
and is described in terms of piece-wise polynomials of degree
N on the spatial direction. We shall denote by
the space of piece-wise polynomials up to degree
N so that
.
An orthogonal nodal basis is defined by the Lagrange interpolation polynomials over the Gauss–Legendre quadrature nodes on the cell element . We stress that the piece-wise solution may be discontinuous across elements, allowing jump discontinuities at cell interfaces.
Given the element
, the discrete solution
projected on the nodal spatial basis polynomials
reads
with
being the unknown degrees of freedom, and where the Einstein summation convention over two repeated indices has been considered. In this work, we suppose that
is a given function and it is known at every point of the domain. In the subsequent notation, we omit the space dependency of
for the sake of simplicity.
The DG methods results then from multiplying the PDE system (
1) with a polynomial test function
and integrating over the spatial element
. That leads to the following weak formulation where we seek
such that, for all
,
holds for all test functions
. The dependence on
x and
t has been dropped for the sake of compactness. Using (
2), the flux function is integrated by parts and the weak formulation (
3) can be rewritten as
where the first integral contains the so-called element mass matrix, which is diagonal since the DG polynomial basis is orthogonal. Likewise,
denotes the set of all interior points of
. The second integral accounts for the smooth part of the flux, while the last integral accounts for the presence of the continuous source terms. Finally,
describes the jump across element interfaces given by a consistent numerical flux of the homogeneous system
where
and
are the boundary extrapolated states at the left and right of the interface
, respectively. Note that the numerical fluxes are multiplied by the evaluation of the Lagrange base at the cell interfaces,
. In this work, the standard HLL Riemann solver is used. However, the numerical methods described in this work can be easily extended to more accurate Riemann solvers such as the
Polynomial Viscosity Methods or
Rational Viscosity Methods (see [
86,
87,
88,
89]).
Definition 1. Given a continuous stationary solution U of system (1), the semi-discrete numerical scheme (4) is said to be well-balanced (or exactly well-balanced) if the set is an equilibrium of the ODE system, where is the set of nodal spatial points. Note that this definition mimics the one given in [35] or [31] for finite volume methods. It is clear that the semi-discrete method (
4), as it is formulated, is not well-balanced in general. The following section will describe a procedure to define DG well-balanced methods.
The semi-discrete numerical scheme (
4) can be then approximated with any time-marching numerical method. This work uses classical Runge–Kutta methods and the family of one-step ADER-DG methods based on a predictor-corrector scheme. In the next Subsection, a brief description of the aforementioned time discretisation methods is given. The interested reader can be referred to [
38,
39,
40,
41,
80,
90] for DG Runge–Kutta methods or [
67,
68,
69,
70,
71,
72] for ADER-DG methods.
2.1. Runge–Kutta Time Discretization
We first remark that due to the choice of an orthogonal DG polynomial basis, the mass-matrix appearing in the semi-discrete system (
4) is diagonal, and that leads us to write (
4) for each element
and degree of freedom
in the more compact form
where
is the spatial discretization operator. To discretise the time variable
total variation diminishing (TVD) schemes have been considered in this work.
For instance, the third order Runge–Kutta scheme applied to the time interval
being the time-step, reads
2.2. ADER Time Discretization
The predictor-corrector ADER-DG approach leads to a high-order one-step method in both space and time. Here, the high-order accuracy in time is reached with a local space and time predictor guess. The spatial-time predictor
is computed based on a weak formulation of the PDE. Given the known solution
at time
, a Cauchy problem in the cell element is solved without considering interactions between the neighbour elements. The predictor solution is then used in (
4) to compute the numerical solution
at the subsequent time step.
Here, we briefly recall the numerical procedure. Given a space-time control volume
, the predictor solution
is projected onto the local space-time basis,
where again the Einstein notation has been used. If the system (
1) is multiplied by the space-time test function
and integrated over
, it yields
Using Equation (
8), Equation (
9) becomes a nonlinear system for the unknowns
that can be solved via a fixed point algorithm detailed in [
65,
91]. Notice that (
9) is completely local, without any interaction with neighbouring cells. The iterative method converges in
steps at most for linear homogeneous systems [
92].
Finally, the one-step high-order in both space and time ADER-DG method, after replacing
by
in the right-hand side of (
4), and integrating in the time interval
reads
where
Remark 1. DG methods are restricted to the Courant–Friedrichs–Lewy (CFL) condition 4. A Well-Balanced WENO Limiting Procedure
We now detail the limiting procedure employed in this work, based on Zhong and Shu’s work in [
83], where the authors propose a weighted essentially non-oscillatory (WENO) limiter for Runge–Kutta DG methods.
The main difference with our proposal is that we limit the fluctuations with respect to the stationary solutions, denoted by rather than the solution itself. Once the fluctuation has been limited, the numerical solution can be recovered by adding the stationary solution.
The limiter can be seen as a two-steps procedure as in [
83]: in the first stage, the cells that need limiting, or troubled cells, are identified. Then, in the second step, the cells that were deemed as troubled are limited.
For both Runge–Kutta and ADER time-marching discretisation, the limiting procedure is applied a priori and only once at the beginning of each time step.
4.1. Detector of Troubled Cells
We use the TVD minmod limiter detector following ideas detailed in [
41,
83]. We first define
where
denotes the fluctuation with respect to the discrete stationary solution
that has been computed as it is detailed in
Section 3.1,
We also define
where
and
are the evaluation of the polynomial fluctuation
onto the left and right cell interfaces respectively. Then, the minmod is applied as follows:
where
and the following minmod functions are given by
Here, M is a parameter to be properly chosen depending on the PDE system. Finally, a cell is marked as troubled if
4.2. Limiting Procedure
The limiting technique for the cells marked as troubled by the detector described in the previous Subsection is now detailed. The general idea is to reconstruct a new polynomial solution at a troubled cell as a convex combination of its neighbouring polynomials.
If the cell
is deemed troubled, then the first step consist on projecting the fluctuation at each neighbour element
into a first-order DG polynomial with the following form:
that is a first order polynomial that preserves the cell average of
. Here, the sub-index
p denotes the projected polynomial using (
35). We remark that we have used again
to denote the fluctuation with respect to the stationary solution as in (
29). Likewise,
denotes the centre of the element
and the time dependency has been dropped to simplify the notation.
This projected polynomial is then used to rewrite the new polynomial fluctuation on the element
as follows:
where
which ensures that
has the same cell average as
. As we have made use of the fluctuation to calculate the new limited solution, the final limited solution is computed as
The normalized weights for the WENO convex combination in (
36) follows the classical WENO procedure:
The parameters
used in this paper are
and
is set to
The employed values for
r are in
and will be better detailed in the next Subsection. Finally, the smooth indicators
are defined as
Again, we stress that the general limiting procedure described here is applied once per time-step for either Runge–Kutta or ADER time discretisation.
4.3. Double-Loop Limiting Procedure
Even though the component-wise WENO technique is essentially non-oscillatory, the resulting scheme may still generate spurious oscillations, especially at very high order. We, therefore, propose the following strategy.
That finishes the limiting technique description.
Remark 4. It is essential to notice that the stationary solutions considered in this work are smooth, and therefore the detector does not mark cells as troubled. However, let us suppose that roundoff errors or local extremes provoke that an element is marked as troubled in the presence of a stationary solution. In that case, the use of the fluctuation (29) will ensure that the stationary solution is preserved, since the procedure (35)–(38) is exact for the null operator. 5. Numerical Test
In this Section, some numerical experiments are conducted to test the proposed numerical first, second, third and fourth-order schemes for Runge–Kutta and ADER time discretisations.
We consider four systems: Burgers, Shallow water, Euler with gravity and the hyperbolic dispersive Gavrilyuk–Favrie equations. For each system, a brief description is given. Then, we test the ability of the numerical scheme to preserve stationary solutions. Afterwards, some numerical tests consisting of a perturbation of a stationary solution are shown alongside the behaviour of the well-balanced limiter technique proposed in this paper.
The CFL number in (
11) is always set to
, meanwhile the limiter value
M defined in (
33) is set to
except for the problem (
63) that is set to
For the rest of the limiter parameters appearing in
Section 4, we maintain the same values that were defined in that Subsection.
Remark that for the two-spatial domain dispersive system, the CFL condition (
11) for DG methods in the case of two dimensional domains reads
and we set
Besides, for the two dimensional system, the values of the
weights for the limiter are set to
for the central element, and
for the four neighbouring elements.
5.1. Burgers’ Equation
Let us consider the one-dimensional scalar balance law consisting of Burgers’ equation with a source term written in the form (
1) with
whose stationary solutions are given by
and with
a known continuous function.
5.1.1. Preservation of a Stationary Solution
In this numerical experiment we set as initial condition a stationary solution of the form (
43) to ensure the well-balancing properties of the proposed methods for the system (
42). The initial condition considered is given by
The computational domain is
Dirichlet and open boundary conditions were imposed at the left and at the right of the domain, respectively.
Figure 1 shows the error between the computed numerical solutions and the stationary one given by
. As it can be seen in
Figure 1 and
Table 1, the well-balanced methods can preserve the stationary solution at a final time
s.
5.1.2. Perturbed Stationary Solutions
We consider now a perturbation of the stationary solution (
44) given by
The computational domain
is covered with a coarse mesh of
elements. Dirichlet and open boundary conditions are imposed at the left and the right of the domain, respectively. The numerical experiment is run up to time
s with the fourth-order DG method and for both Runge–Kutta and ADER time discretisations.
Figure 2 shows the error between the computed numerical solutions and the stationary one given by
. As it can be seen, once the perturbation has left the domain, the well-balanced numerical scheme is able to recover the stationary solution
, in contrast with the non well-balanced scheme.
5.1.3. Limited Simulation
In this final example, we aim to check the robustness of the proposed limiter technique described in this paper. To do that, we consider the initial condition
The computational domain
is covered with a coarse mesh of
elements. Periodic boundary conditions were imposed everywhere.
Figure 3 shows the numerical approximation of
u with different time-marching discretisations at the final time
s, as well as a reference solution that has been computed by a first order scheme with
20,000 elements. As it can be seen, the proposed schemes provide an accurate approximation without producing any spurious oscillations, even for the case of coarse meshes.
5.1.4. Well-Balanced and Non-Well-Balanced Schemes Comparison
We perform now a comparison between the well-balanced and non-well-balanced schemes for a solution which is not a perturbation of an equilibrium state. Particularly, the following initial condition is considered:
Periodic boundary conditions and 100 discretization points are considered in a computational domain
.
Figure 4 depicts the results for a Runge–Kutta second and third order scheme. The reference solution has been computed using a first order method with 20,000 discretization points. As it can be seen, the results shows that the well-balanced and non well-balanced methods are in fact very similar regardless of the order of the method. Similar results are obtained for ADER time marching methods.
5.2. Shallow Water Equations
Let us consider the one-dimensional shallow water equations written in the form (
1) with
where
is the total water depth,
u is the depth-averaged velocity on the
-direction, and
is the known still water depth that we will suppose to be continuous. Finally,
is the gravitational acceleration. In this case we adapt the well-balanced strategy described in
Section 3 to preserve the stationary solutions corresponding to water at rest:
where
is the free-surface elevation.
A well-balance method could also be design following the ideas described in [
93].
5.2.1. Order of Accuracy Test
We begin by checking numerically the order of accuracy of the numerical scheme for a Runge–Kutta and ADER time discretisation for a second-, third-, and fourth-order schemes. As pointed before, we consider here only a well-balanced method that preserves the water at rest solution adapting the strategy described in
Section 3. The computational domain is
, and periodic boundary conditions are imposed everywhere. We then simulate the propagation of a Gaussian wave, with the initial condition given by
and until the final time
second, with a set of refined meshes.
Table 2 shows the
errors and the numerical convergence rates. The expected convergence order of the Runge–Kutta and ADER DG methods can be observed.
5.2.2. Preserving Stationary Solutions
In this experiment, we set as initial condition a stationary solution of the form (
49) to ensure that the well-balanced methods are able to preserve it up to machine precision, while the non well-balanced methods fail. The initial condition considered is given by
The computational domain is
and Dirichlet boundary conditions are imposed everywhere. As it can be seen in
Figure 5 and
Table 3 and
Table 4, the well-balanced methods are able to preserve the stationary solution at a final time
s for both time-marching discretisations and relative coarse meshes. Again, the numerical solutions are compared with the stationary solution (
51) as reference.
5.2.3. Perturbed Stationary Solutions
We consider now a perturbation of the stationary solution (
51) given by
The computational domain is covered with elements. Dirichlet and free-outflow boundary conditions are imposed at the right and the left of the domain, respectively.
As it can be seen in
Figure 6, the well-balanced scheme can recover the stationary solution at a final time
s with the fourth-order DG method and for both Runge–Kutta and ADER time discretisations. In this case, we plot the difference between the numerically computed free surfaces and the exact stationary (
51), which is zero.
Moreover, in order to show the better performance of a well-balanced method against a non well-balanced method, we propose a similar numerical test on a very coarse mesh composed by 20 elements. Here, we consider the initial condition given by
The numerical computation is then run up to the short time s; the perturbation does not reach boundaries in this case, and therefore periodic boundary conditions were imposed everywhere.
As the perturbation is of the order
,
being the order of the scheme, we can expect that only the well-balanced method yields satisfactory results. In contrast, the non well-balanced scheme introduces oscillations of that order that destroy the solution. Here we only show the numerical results in
Figure 7 for the Runge–Kutta time discretisation. Similar results can be observed for ADER time discretisations.
5.2.4. Limited Simulation
In order to check the robustness of the limiting procedure described in
Section 4.3, we consider now a situation far from the equilibrium, where the use of some limiting technique is mandatory. The computational domain
is covered now with a very refined mesh of
elements. The initial condition is set to
Periodic boundary conditions are imposed to obtain more interactions between waves. Some snapshots of the computed free surface are depicted in
Figure 8. As it can be observed, there are no oscillations at the neighbourhood of the shock waves, which indicates that the limiting approach provides a high overall quality of the computed numerical solution. The solution is depicted alongside a reference solution that has been computed by a first order scheme with
20,000 elements.
Note that the small oscillations appearing with the ADER method could be prevented with an ad hoc tuning of the parameters associated with the limiter described in
Section 4. Here, we have maintained the same parameters for both approaches to compare both Runge–Kutta and ADER methods.
5.3. Compressible Euler Equations with Gravitational Force
We consider the gas dynamic Euler equations written as in (
1):
being the density,
u the velocity,
E the total energy, and
a given continuous gravitational potential. The internal energy
e is given by
. The pressure
is given by
e through the equation of state (ideal gas),
where
is the adiabatic constant that will take the value
unless stated otherwise.
In this work, we will focus on the hydrostatic steady states solutions given by
According to [
35], a family of stationary solutions of (
55) with
are
where
is a given continuous function and
is given by
The numerical methods are then chosen to preserve one of those families given by the choice of
that results in the following set of stationary solutions with
,
5.3.1. Preserving Stationary Solutions
In this experiment, we set as initial condition a stationary solution of the form (
60) to check the well-balancing properties of the proposed methods for the system (
55). The initial condition is given by
The computational domain is
and Dirichlet boundary conditions were imposed everywhere.
Figure 9 shows the error between the compute numerical solutions and the stationary one given by (
61). As it can be seen in
Figure 9 and
Table 5, the well-balanced methods can preserve the stationary solution at a final time
s.
5.3.2. Limited Simulation
We check again the well behaviour of the proposed mixed-order technique described in this paper. To do that, we set
and consider the following discontinuous initial condition given by
Then, we set the values for the two well-known numerical tests:
In both cases, the computational domain
is covered with
elements. The limiter value
M defined in (
33) is set to
and the CFL number to
Free outflow boundary conditions were imposed everywhere.
Figure 10 and
Figure 11 show the results with the fourth order Runge–Kutta and ADER DG methods for the Sod and Lax problems respectively. The numerical results are compared against a reference solution that has been computed using a first order method with
20,000 elements.
5.4. Dispersive Gavrilyuk–Favrie Equations
Finally, we will consider a hyperbolic dispersive shallow water system that was firstly introduced in [
96] for the case of a flat bottom bathymetry, and later extended for the non-flat bottom case in [
78]. The system can be seen as a hyperbolic relaxation approach of the elliptic Serre–Green–Naghdi equations, and is formally deduced from a master Lagrangian formalism. The system for the case of two-spatial domains reads
where
Here,
is the water depth,
is the known still water depth that we will assume to be continuous, and
are the depth averaged velocities at the
and
z direction respectively. Furthermore,
is the non-hydrostatic pressure
is the gravitational acceleration, and
is a large pressure constant parameter that makes the system (
66) formally converges to the elliptic Serre–Green–Naghdi equations [
97] when
Finally,
is an auxiliary equilibrium variable introduced in the relaxation procedure. In the following, we will set
for the numerical test considered.
The system satisfied an extra energy conservation law, and the eigenstructure is fully well known. For more details, the reader is refereed to [
78]. As for Shallow-water equations, we will consider the family of stationary lake at rest solutions given by
where
is the free-surface elevation.
There are many crucial reasons for considering the numerical validation of the proposed methods for that system here: we will validate the proposed numerical methodology for dispersive shallow flows numerical solutions, and the case of two spatial dimensions; the system introduces a non-homogeneous geometrical source term ; the usual steady-states lake at rest solutions for this system contains nonlinear relations between the conserved variables, and that makes standard well-balancing techniques no longer valid to preserve them. Finally, up to our knowledge, this is the first time that a well-balanced high-order method has been proposed for this particular dispersive hyperbolic system.
5.4.1. Preserving Stationary Solutions
In this first numerical experiment, we set as initial condition a stationary solution of the form (
67) to check the well-balancing abilities of the proposed methods for the system (
66). The initial condition considered (see
Figure 12) is given by
The computational domain is
and periodic boundary conditions are imposed. As it can be seen in
Figure 13 and
Figure 14 and
Table 6, the well-balanced methods are able to preserve the stationary solution at a final time
s for both time-marching discretization and relative coarse meshes. Note that the solutions are compared against the stationary solution (
68) as reference.
5.4.2. Limited Simulation
Next, we check the behaviour of the proposed mixed-order technique described in this paper. To do that, we set the following circular dam-break initial condition:
The computational domain
is covered with a mesh of
elements. We set periodic boundary conditions everywhere. Some snapshots of a section at
of the computed free-surface are depicted in
Figure 15 with a fourth-order Runge–Kutta time marching discretization. As it can be observed, the comparison between a limited and a non-limited simulation shows that there is no oscillations at the neighbourhood of the dispersive shock waves. Note that the high-oscillatory and over-amplified waves appearing in
Figure 15 from the unlimited numerical solution, are not of the nature of this hyperbolic dispersive system.
6. Conclusions
We have presented a novel and general technique for preserving stationary solutions for Discontinuous Galerkin methods. This general approach is able to transform standard DG schemes in exactly well-balanced arbitrary high-order Discontinuous Galerkin methods for both Runge–Kutta and ADER time-marching discretisations.
For continuous source terms, the methodology only uses a well-suited definition of a well-balanced reconstruction operator and not on the Riemann-solver. Therefore, the well-balanced technique does not rely on the particular details of the system. That makes the method very general and can be applied to any system of hyperbolic PDEs, as long as the desired stationary solutions to be maintained are known.
Furthermore, the standard WENO limiting procedure is carefully considered. Here, we extend classical ideas to propose a novel WENO limiter that preserve stationary solutions. That makes the final numerical methods proposed here arbitrary high-order, essentially non-oscillatory and well-balanced.
We have tested the numerical methodology derived here with some standard systems, proving the well-balancing properties of the approach, the high-order accuracy, and the general well behaviour of the technique in the presence of strong discontinuities.