Next Article in Journal
Revisited Carmichael’s Reduced Totient Function
Next Article in Special Issue
Efficient Time Integration of Nonlinear Partial Differential Equations by Means of Rosenbrock Methods
Previous Article in Journal
Rough Set Approach for Identifying the Combined Effects of Heat and Mass Transfer Due to MHD Nanofluid Flow over a Vertical Rotating Frame
Previous Article in Special Issue
A Convergent Three-Step Numerical Method to Solve a Double-Fractional Two-Component Bose–Einstein Condensate
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Collocation Methods for High-Order Well-Balanced Methods for Systems of Balance Laws

by
Irene Gómez-Bueno
1,*,
Manuel Jesús Castro Díaz
1,
Carlos Parés
1 and
Giovanni Russo
2
1
Departamento de Análisis, Estadística e I.O. y Matemática Aplicada, University of Málaga, Avda. Cervantes, 2, 29071 Málaga, Spain
2
Dipartimento di Matematica ed Informatica, University of Catania, Viale Andrea Doria, 6, 95125 Catania, Italy
*
Author to whom correspondence should be addressed.
Mathematics 2021, 9(15), 1799; https://doi.org/10.3390/math9151799
Submission received: 4 June 2021 / Revised: 24 July 2021 / Accepted: 25 July 2021 / Published: 29 July 2021
(This article belongs to the Special Issue Numerical Methods for Evolutionary Problems)

Abstract

:
In some previous works, two of the authors introduced a technique to design high-order numerical methods for one-dimensional balance laws that preserve all their stationary solutions. The basis of these methods is a well-balanced reconstruction operator. Moreover, they introduced a procedure to modify any standard reconstruction operator, like MUSCL, ENO, CWENO, etc., in order to be well-balanced. This strategy involves a non-linear problem at every cell at every time step that consists in finding the stationary solution whose average is the given cell value. In a recent paper, a fully well-balanced method is presented where the non-linear problems to be solved in the reconstruction procedure are interpreted as control problems. The goal of this paper is to introduce a new technique to solve these local non-linear problems based on the application of the collocation RK methods. Special care is put to analyze the effects of computing the averages and the source terms using quadrature formulas. A general technique which allows us to deal with resonant problems is also introduced. To check the efficiency of the methods and their well-balance property, they have been applied to a number of tests, ranging from easy academic systems of balance laws consisting of Burgers equation with some non-linear source terms to the shallow water equations—without and with Manning friction—or Euler equations of gas dynamics with gravity effects.

1. Introduction

Let us consider a PDE system of the form:
U t ( x , t ) + f ( U ( x , t ) ) x = S ( U ( x , t ) ) H x ( x ) , x R , t > 0 ,
where U ( x , t ) takes values on an open convex set Ω R N , f : Ω R N is the flux function, S : Ω R N , and H is a continuous known function from R to R (possibly the identity function H ( x ) = x ). It is supposed that system (1) is strictly hyperbolic, that is, D f ( U ) = f U ( U ) has N real distinct eigenvalues r 1 ( U ) , , r N ( U ) and associated eigenvectors v 1 , , v N .
Systems of the form (1) have non-trivial stationary solutions that satisfy the ODE system:
f ( U ) x = S ( U ) H x .
A numerical method is said to be well-balanced if it has discrete stationary solutions that approximate all the stationary solutions of the system or, at least, a relevant family of them. The design of numerical methods that have the previous property is of great importance in problems where small perturbations of a stationary solution are going to be considered, like in many geophysical problems. Methods that are well-balanced have been proposed by many authors: for example, References [1,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,35] and their references.
The aim of this work is to introduce a general methodology to build well-balanced high-order finite-volume numerical methods for (1) of the form:
d U ˜ i d t = 1 Δ x F i + 1 2 ( t ) F i 1 2 ( t ) + 1 Δ x S i ,
where:
  • I i = x i 1 2 , x i + 1 2 are the computational cells, whose length Δ x is supposed to be constant for simplicity;
  • U ˜ i ( t ) is the approximation of the average of the exact solution at the ith cell at time t, that is,
    U ˜ i ( t ) 1 Δ x x i 1 2 x i + 1 2 U ( x , t ) d x ;
  • F i + 1 2 = F ( U i + 1 2 t , , U i + 1 2 t , + ) , where F is a consistent numerical flux, and U i + 1 2 t , ± are the reconstructed states at the intercells, i.e.,
    U i + 1 2 t , = P i t ( x i + 1 2 ) , U i + 1 2 t , + = P i + 1 t ( x i + 1 2 ) ,
    where P i t ( x ) is a reconstruction of order p of the solution at the given ith cell, computed from the sequence { U ˜ i ( t ) } :
    P i t ( x ) = P i ( x ; { U ˜ j ( t ) } j S i ) ,
    where S i is the set of cell indices belonging to the stencil associated to P i t ( x ) ;
  • finally,
    S i x i 1 2 x i + 1 2 S ( P i t ( x ) ) H x ( x ) d x .
Given a function U, the following notation will be used to represent its cell averages and the approximations to its cell averages or its point values at the intercells:
U ¯ i = 1 Δ x x i 1 / 2 x i + 1 / 2 U ( x ) d x , U ˜ i U ¯ i , U i + 1 / 2 U ( x i + 1 / 2 ) , i .
Following References [36,37], the well-balanced property of the methods can be transferred to the reconstruction operator:
Definition 1.
A reconstruction operator P i ( x ) is said to be well-balanced for a function U * if
P i ( x ) = U * ( x ) , x [ x i 1 2 , x i + 1 2 ] , i ,
where P i is the approximation of U * computed from the vector of cell-averages { U ¯ i * } of the function U * .
In Reference [37], it has been proved that the numerical method (3) is exactly well-balanced according to Definition 2 if the reconstruction operator is well-balanced for every stationary solution U * and
S i = x i 1 2 x i + 1 2 S ( P i t ( x ) ) H x ( x ) d x .
Definition 2.
The numerical method (3) is said to be exactly well-balanced if the sequence of cell-averages { U ¯ i * } (or the sequence of their approximations { U ˜ i * } if a quadrature formula is used to compute them) of any stationary solution U * of (1) is an equilibrium of the ODE system (3).
Furthermore, in References [36,37], the authors propose a method to build a well-balanced reconstruction operator from any standard one that will be recalled in the next section. As we shall see, the main difficulty in the application of this technique comes from the fact that, at every cell and at every time step, one has to solve a non-linear problem of the form:
Find U such that
f ( U ) x = S ( U ) H x , 1 Δ x x i 1 / 2 x i + 1 / 2 U ( x ) d x = U ˜ i ,
where U ˜ i is an approximation of the average at the i-th cell of the sought solution of (1). Once this problem with given average has been solved at the cell, the solution of (7), that will be denoted by U i * , has to be extended to the whole stencil by solving two Cauchy problems of the form
f ( U ) x = S ( U ) H x , U ( x i + 1 / 2 ) = U i + 1 / 2 .
More precisely, (8) with initial condition U ( x i + 1 / 2 ) = U * ( x i + 1 / 2 ) (resp. with final condition U ( x i 1 / 2 ) = U * ( x i 1 / 2 ) ) has to be solved forward in space (resp. backward in space) in the cells at the right (resp. at the left) of the ith cell in its stencil.
The previous procedure has been applied to balance laws whose stationary solutions are known in implicit or explicit form, so that problems (7) and (8) can be easily solved: see, for example, References [32,38], and the references therein. However, when solving these problems by analytic procedures is not possible, they have to be solved numerically. Please note that the two main difficulties come from the condition on the average in (7) and from the fact that the ODE is not in normal form: special care has to be taken in resonant problems i.e., problems in which the Jacobian matrix of the flux, D f ( U ) becomes singular. When the Jacobian is regular, the ODE system (2) can be written in normal form
U x = D f ( U ) 1 S ( U ) H x ,
and the solution of the problems is easier. At a sonic point, i.e., a point in which one of the eigenvalues vanishes, the ODE system may have no solution or may have more than one.
In recent papers [39,40], a strategy based on the interpretation of (7) as a control problem has been proposed to deal with the first difficulty: the value of U i * at the leftmost intercell of the stencil is the control that has to be selected so that the condition on the average is satisfied. Newton’s method is used to find the control, where the gradient is computed by solving the adjoint problem. A standard ODE solver, namely RK4, is used to solve the state and the adjoint equations, and to extend the solution to the whole stencil.
The first goal of this paper is to present a general framework to design and analyze well-balanced high-order numerical methods in which problems (7) and (8) are numerically solved: the definition of the well-balanced property and a general result that allows one to check it will be stated. The second goal is then to introduce a methodology based on the resolution of (7) and (8) using RK collocation methods that leads to numerical methods that are well-balanced according to the given definition. As we shall see, the condition on the average in (7) will naturally lead to non-linear problems that will be solved by an iterative procedure. Finally, the third goal is to propose a strategy to deal with resonant problems that is general, albeit problem-dependent: this strategy will be illustrated in the particular case of the shallow water system.
The organization of the article is as follows: Section 2 is devoted to state the general framework. Definitions of well-balanced methods and reconstruction operators adapted to the numerical solution of the local problems will be introduced and a general result will be stated showing that well-balanced reconstruction operators lead to well-balanced methods. In Section 3, we introduce a strategy based on the use of RK collocation methods to solve problems (7) and (8), and we show that it leads to numerical schemes that are well-balanced. Section 3 ends with the introduction of the technique that allows us to deal with resonant problems.
In Section 4, a number of numerical tests are presented to analyze the performance of the methods and to check their accuracy and well-balancedness. Some numerical tests for scalar and systems of balance laws are considered: Burgers’ equation with a non-linear source term, the shallow water system—both with and without Manning friction—or the Euler equations of gas dynamics including gravity effects are considered. In addition, we also present some numerical results to check that such numerical methods introduced in this work behave correctly in the presence of critical states. Moreover, we show that the numerical methods are able to preserve subsonic and supersonic moving stationary solutions for the compressible Euler equations with gravitational force. Finally, some conclusions are drawn in Section 5, and further developments are also discussed.

2. Well-Balanced Methods

The following strategy to obtain a reconstruction operator
P i ( x ) = P i ( x ; { U ¯ j } j S i )
that is well-balanced according to Definition 1, from a standard one
Q i ( x ) = Q i ( x ; { U ¯ j } j S i ) ,
was introduced in Reference [36] (see also Algorithm 1):
Algorithm 1 Exactly well-balanced methods. Reconstruction procedure using exact integration.
Given a family of cell values { U ¯ i } , at every cell I i :
  • Find, if possible, a stationary solution U i * ( x ) defined in the stencil of cell I i , j S i I j , such that:
    1 Δ x x i 1 2 x i + 1 2 U i * ( x ) d x = U ¯ i .
    Otherwise, take U i * 0 .
  • Compute the fluctuations { V j } j S i given by
    V j = U ¯ j 1 Δ x x j 1 2 x j + 1 2 U i * ( x ) d x , j S i ,
    and compute the reconstruction operator:
    Q i ( x ) = Q i ( x ; { V j } j S i ) .
  • Finally, define
    P i ( x ) = U i * ( x ) + Q i ( x ) .
According to Reference [36], the reconstruction operator P i is well-balanced if Q i is exact for the null function, conservative if Q i is conservative
1 Δ x x i 1 2 x i + 1 2 P i ( x ) d x = U ¯ i , i ,
and P i is of the same order of accuracy p of Q i provided that the stationary solutions are smooth.
Observe that, if it is impossible to find a stationary solution defined in the stencil that satisfies (10), then the standard reconstruction is used. Please note that this choice does not spoil the well-balanced character of the numerical method: in this case, the cell values in the stencil cannot be the averages of a stationary solution (otherwise, there would be at least one solution U i * ); thus, there is no local equilibrium to preserve. On the other hand, if there is more than one stationary solution defined on the stencil that satisfies (10), a criterion is needed to select one of them. This criterion depends on the particular problem and it will be discussed later.
Notice that the use of quadrature formulas for the computation of the integral (3) appearing in the right-hand side of (4) may destroy the well-balanced property of the method. In Reference [37], the authors proposed to write the source term as follows:
x i 1 2 x i + 1 2 S ( P i t ( x ) ) H x ( x ) d x = f U i t , * ( x i + 1 2 ) f U i t , * ( x i 1 2 ) + x i 1 2 x i + 1 2 ( S ( P i t ( x ) ) S ( U i t , * ( x ) ) H x ( x ) d x ,
where U i t , * is the stationary solution found in (10). Finally, the integral of the source term is approximated as follows:
S i = f U i t , * ( x i + 1 2 ) f U i t , * ( x i 1 2 ) + Δ x m = 1 M b m S ( P i t ( x i m ) ) S ( U i t , * ( x i m ) ) H x ( x i m ) ,
where x i m , b m , m = 1 , , M are, respectively, the nodes and the weights of the quadrature formula chosen in the cell I i , whose order of accuracy s is larger or equal than p. It can be checked that, if the reconstruction operator is well-balanced for U * , then the numerical method (3)–(13) is exactly well-balanced for U * .
If the quadrature formula is used, as well, to compute cell averages, i.e.,
U ¯ i * U ˜ i * = m = 1 M b m U * ( x i m ) ,
the reconstruction algorithm (Algorithm 2) has to be modified as follows (see Reference [37]):
Algorithm 2 Exactly well-balanced methods. Reconstruction procedure using numerical integration.
Given a family of cell values { U ˜ i } , at every cell I i :
1.
Find, if possible, a stationary solution U i * ( x ) defined in the stencil of cell I i , ( j S i I j ) such that
m = 1 M b m U i * ( x i m ) = U ˜ i .
Otherwise, take U i * 0 .
2.
Compute the fluctuations { V j } j S i given by
V j = U ˜ j m = 1 M b m U i * ( x j m ) , j S i ,
and compute the reconstruction operator:
Q i ( x ) = Q i ( x ; { V j } j S i ) .
3.
Define
P i ( x ) = U i * ( x ) + Q i ( x ) .
Again, it can be proved that this reconstruction operator is well-balanced and leads to numerical methods that are well-balanced according to Definition 2.
The main difficulty to implement the well-balanced reconstruction procedure given by Algorithm 2 comes from the first step in which the values at the quadrature points and the intercells of the stationary solution that satisfies (15) have to be computed in the stencil. When it is not possible to solve these problems by analytical procedure, a numerical one is required. In this case, the generic local discrete problem to be solved is the following:
Problem 1 (Local problem (LP)). Given an index i and a state W ˜ Ω , find approximations
U i , j * , m , m = 1 , , M , j S i ; U i * , i ± 1 / 2 ,
of the values
U i * ( x j m ) , m = 1 , , M , j S i ; U i * ( x i ± 1 / 2 ) ,
where U i * is the stationary solution that satisfies
m = 1 M b m U i * ( x i m ) = W ˜ .
Although the approximations to be found depend in general on Δ x and W ˜ , this dependency will not be explicitly written to avoid an excess of notation.
Once a numerical solver has been selected for the local discrete problems, the approximations of the stationary solution satisfying (16) at the quadrature points U i , j * , m and at the intercells U i * , i ± 1 / 2 are used to define the reconstruction operator as follows (Algorithm 3):
Algorithm 3 Well-balanced methods. Reconstruction procedure.
Given a sequence of cell values { U ˜ i } , at every cell I i :
1.
Apply, if possible, the local solver at the i-th cell with W ˜ = U ˜ i to obtain
U i , j * , m , m = 1 , , M , j S i ; U i * , i ± 1 / 2 .
Otherwise, take
U i , j * , m = 0 , m = 1 , , M , j S i ; U i * , i ± 1 / 2 = 0 .
2.
Compute the fluctuations { V j } j S i given by
V j = U ˜ j m = 1 M b m U i , j * , m , j S i ,
and compute:
Q i ( x ) = Q i ( x ; { V j } j S i ) .
3.
Define
P i m = U i , i * , m + Q i ( x i m ) , m = 1 , , M ,
U i 1 / 2 + = U i * , i 1 / 2 + Q i ( x i 1 / 2 ) ,
U i + 1 / 2 = U i * , i + 1 / 2 + Q i ( x i + 1 / 2 ) .
Then, the numerical method is defined by (3) with
S i = f U i * , i + 1 / 2 f U i * , i 1 / 2 + Δ x m = 1 M b m S ( P i m ) S ( U i , i * , m ) H x ( x i m ) ,
where the dependency on t has not been explicitly written to avoid an excess of indices.
The question is now what is the well-balanced property satisfied by the previous method. The following definition is considered:
Definition 3.
The numerical method (3) is said to be well-balanced with order q p if for every stationary solution U * of (1), and, for every Δ x , there exists a discrete stationary solution { U ˜ Δ x , i * } , i.e., an equilibrium of (3), such that
U ¯ i * = U ˜ Δ x , i * + O ( Δ x q ) , i .
In order to illustrate the definition, let us consider some examples. We consider first the equation:
u t + u x = u ,
whose stationary solutions are
u ( x ) = C e x , C R .
The cell-averages will be computed by the mid-point value so that
1 Δ x x i 1 / 2 x i + 1 / 2 u 0 ( x ) d x u 0 ( x i ) .
We consider the upwind numerical flux and different discretizations of the source term:
  • Method 1:
    d u i d t = 1 Δ x e Δ x u i 1 u i .
    This is the first-order well-balanced numerical method based on the well-balanced piecewise constant reconstruction operator described in Algorithm 2. The discrete stationary solutions satisfy
    u i = e Δ x u i 1 , i = 0 , 1 ,
    It is clear then that the set of discrete stationary solutions is given by the point values of the continuous ones:
    { C e x i } , C R ,
    and the numerical method is the exactly well-balanced according to Definition (2).
  • Method 2:
    d u i d t = 1 Δ x u i u i 1 + 1 2 ( u i 1 + u i ) .
    This is the first-order well-balanced numerical method based on the RK2 collocation method that will be introduced in Section 3. The discrete stationary solutions satisfy
    u i = u i 1 + Δ x 2 ( u i 1 + u i ) ,
    which leads to
    u i = 1 + Δ x / 2 1 Δ x / 2 u i 1 , i = 1 , 2 ,
    The set of discrete stationary solutions is given by:
    C 1 + Δ x / 2 1 Δ x / 2 i , C R .
    One has for every C:
    u ( x i ) = C e i Δ x = C 1 + Δ x / 2 1 Δ x / 2 i + O ( Δ x 2 ) , i ,
    so that the numerical method is well-balanced with order 2.
  • Method 3:
    d u i d t = 1 Δ x u i 1 u i + u i 1 .
    This is the numerical method that corresponds to the upwind treatment of the source term (see Reference [41]). The discrete stationary solutions satisfy
    u i = u i 1 + Δ x u i 1 ,
    which leads to
    u i = ( 1 + Δ x ) u i 1 , i = 1 , 2 ,
    The set of discrete stationary solutions is given by:
    C ( 1 + Δ x ) i , C R .
    One has for every C:
    u ( x i ) = C e i Δ x = C ( 1 + Δ x ) i + O ( Δ x ) , i ,
    so that the numerical method is well-balanced with order 1.
  • Consider now the equation
    u t + u 2 2 x = u ,
    whose stationary solutions are
    u = x + c o n s t a n t ,
    and u 0 . Let us consider the numerical method:
    d u i d t = 1 Δ x F i 1 / 2 F i + 1 / 2 + u ¯ i 1 / 2 ,
    where
    u ¯ i + 1 / 2 = u i + u i + 1 2 , F i + 1 / 2 = u i 2 / 2 if u ¯ i + 1 / 2 > 0 ; 0 if u ¯ i + 1 / 2 = 0 ; u i + 1 2 / 2 if u ¯ i + 1 / 2 < 0 .
    The discrete stationary solutions satisfy
    F i 1 / 2 F i + 1 / 2 + Δ x u ¯ i 1 / 2 = 0 .
    Let us see that there are no discrete stationary solutions that change their sign from negative to positive (as it happens with all the stationary solutions)
    u * ( x ) = C + x , C < 0
    if the interval contains point x 0 = C .
    -
    Let us suppose that there exists a discrete stationary solution such that u ¯ i 1 / 2 < 0 , u ¯ i + 1 / 2 > 0 . Then, at the i-th cell, we would have:
    0 = u i 2 2 u i 2 2 + Δ x u ¯ i 1 / 2 u ¯ i 1 / 2 = 0 ,
    which is a contradiction.
    -
    Let us suppose now that u ¯ i 3 / 2 < 0 , u ¯ i 1 / 2 = 0 , u ¯ i + 1 / 2 > 0 . Then, at the i-th cell, we have
    0 = u i 2 2 + Δ x u ¯ i 1 / 2 = u i 2 2 u i = 0 .
    Since u ¯ i 1 / 2 = 0 , we have that u i 1 = 0 , as well. Therefore, at the ( i 1 ) -th cell, we have
    0 = u i 1 2 2 + Δ x u ¯ i 3 / 2 = Δ x u ¯ i 3 / 2 u ¯ i 3 / 2 = 0 ,
    which is again a contradiction.
    Therefore, it is not possible to find discrete stationary solutions that change from negative to positive. The numerical method is not well-balanced in spite of the fact that it is consistent and stable.
Remark 1.
Some authors impose q > p in the definition of well-balanced, i.e., stationary solutions have to be approximated with enhanced accuracy. Please note that, although any standard numerical method of order p will provide approximations of any smooth stationary solution with order of accuracy p, these approximations are not necessarily discrete stationary solutions. This is the case of the fourth example above: although the numerical method will provide first order numerical approximations of the stationary solutions of the form u * ( x ) = x + C with C < 0 , these approximations cannot be discrete stationary solutions.
Remark 2.
From the practical point of view, it is important to know how to compute discrete stationary solutions in order to ’prepare well’ the initial conditions. Think, for instance, of a numerical experiment for Equation (22) with initial condition
u 0 ( x ) = u * ( x ) + δ ( x ) ,
where u * ( x ) is a stationary solution, say u * ( x ) = e x , and δ ( x ) a small perturbation with compact support. If the initial condition is computed by
u i 0 = e x i + δ ( x i ) , i = 1 , 2 ,
and Method 1 is used, the stationary solution will remain unperturbed in regions where the wave generated by the initial perturbation is not arrived. Nevertheless, if Method 2 is used, the numerical solution will move everywhere to fit a discrete stationary solution of the problem. If the amplitude of the initial perturbation is of order O ( Δ x ) , the wave can be lost among the numerical errors at the beginning of the experiment. If, instead, the initial condition is computed using the discrete stationary solution that approximates u * ,
u i 0 = 1 + Δ x / 2 1 Δ x / 2 i + δ ( x i ) , i = 1 , 2
the numerical solution will remain again unperturbed until the arrival of the wave.
According to Definition 3, in order to be well-balanced, a numerical method has to have discrete stationary solutions. Let us discuss what are the equilibria of (3)–(20) when the well-balanced reconstruction operator given by Algorithm 3 is used. To do this, let us first introduce the following discrete version of Definition 1:
Definition 4.
The reconstruction operator defined by Algorithm 3 is said to be well-balanced for a sequence of cell values { U ˜ i } if, for every i,
m = 1 M b m U i , j * , m = U ˜ j , j S i ,
U i + 1 / 2 = U i * , i + 1 / 2 = U i + 1 * , i + 1 / 2 = U i + 1 / 2 + ,
where U i , j * , m , U i * , i ± 1 / 2 is the output given by the solver of local problems for W ˜ = U ˜ i at the ith cell.
In other words, the reconstruction procedure defined by Algorithm 3 is well-balanced for a sequence { U ˜ i } if (a) the cell values are recovered when the quadrature formula is applied to the approximations at the points given by the local solver and (b) the approximations at the intercells do not depend on the stencil.
Like in the continuous case, there is a direct relation between discrete stationary solutions and well-balanced reconstruction operators:
Theorem 1.
If the reconstruction operator described in Algorithm 3 is well-balanced for a sequence of cell values { U ˜ i * } , then the sequence is a discrete stationary solution, i.e., an equilibrium of the ODE system given by (3)–(20).
Proof. 
Let us show that the sequence { U ˜ i * } is an equilibrium of (3)–(20). Due to the well-balancedness of the reconstruction operator, at the ith cell, we have:
V j = U ˜ j * j = 1 M b m U i , j * , m = 0 , j S i ,
so that Q i ( x ) = 0 . Therefore,
P i m = U i , i * , m , m = 1 , , M , U i 1 / 2 + = U i * , i 1 / 2 , U i + 1 / 2 = U i * , i + 1 / 2 .
As a consequence, (20) reduces to
S i = f U i * , i + 1 / 2 f U i * , i 1 / 2 .
On the other hand:
F i + 1 2 F i + 1 2 = F ( U i + 1 2 , U i + 1 2 + ) F ( U i 1 2 , U i 1 2 + ) = F ( U i * , i + 1 / 2 , U i + 1 * , i + 1 / 2 ) F ( U i 1 * , i 1 / 2 , U i * , i 1 / 2 ) = f U i * , i + 1 / 2 f U i * , i 1 / 2 .
In the previous expression, the consistency of the numerical flux and (28) have been used. Therefore, the right-hand side of (3) vanishes.    □
The previous result gives the condition under which a sequence of cell values defines a discrete stationary solution. In order to prove that the method is well-balanced, one has to prove that, given any stationary solution U * and Δ x , it is possible to construct a discrete one that approximates U * with order of accuracy greater or equal than p. If we observe the three first examples above, we see that the discrete stationary solutions satisfy a consistent and well-defined ODE solver of the equation satisfied by the continuous ones
u x = u ,
the exact solver for Method 1, the trapezoidal scheme for Method 2, and forward Euler scheme for Method 3. This is not the case for the fourth example. The following result states that, if there exists an ODE solver of (2) with order of accuracy greater or equal than p that is consistent in some sense with the local problems solver, then the numerical method is well-balanced:
Theorem 2.
Let us suppose that there exists an ODE solver of (2) with order of accuracy q p that, given any stationary solution U * and any value of Δ x , provides approximations
U Δ x , i * , m , m = 1 , , M ; U Δ x * , i + 1 / 2 , i ,
of the values of U * at the quadrature points and the intercells
U * ( x i m ) , m = 1 , , M ; U * ( x i + 1 / 2 ) , i ,
in such a way that, at every cell I i , the solution of the local discrete problem (16) with W ˜ equal to
U ˜ Δ x , i * : = m = 1 M b m U Δ x , i * , m ,
is given by
U i , j * , m = U Δ x , j * , m , m = 1 , , M , j S i ;
U i * , i ± 1 / 2 = U Δ x * , i ± 1 / 2 .
Then, the numerical method (3)–(20) is well-balanced.
Proof. 
The sequence { U ˜ Δ x , i * } given by (29) approaches the cell values of U * with order at least p since both the orders of the ODE solver and the quadrature formula are greater or equal than p. On the other hand, it is obviously well-balanced for the reconstruction operator since
m = 1 M b m U i , j * , m = m = 1 M b m U Δ x , j * , m = U ˜ Δ x , j *
and, furthermore
U i * , i + 1 / 2 = U i + 1 * , i + 1 / 2 = U Δ x * , i + 1 / 2
so that (27) and (28) are satisfied. As a consequence of Theorem 1, { U ˜ Δ x , i * } is a discrete stationary solution, which completes the proof.    □
In a recent paper [39], the ODE solver chosen for (2) was RK4. The local problems were interpreted as control problems in which both the state and the adjoint local problems were solved using RK4, as well, which gave the consistency of both solvers and, thus, the well-balanced property of the method.

3. Collocation Methods

In this paper, we propose to build well-balanced numerical methods for (1) on the basis of collocation RK methods. Remember that these methods admit a double interpretation: on the one hand, they are standard RK methods based on a Butcher tableau
c 1 a 1 , 1 a 1 , s c 2 a 2 , 1 a 2 , s c s a s , 1 a s , s b 1 b s . .
Given an index i 0 , when these methods are applied to a Cauchy problem
U x = G ( x , U ) , U ( x i 0 1 / 2 ) = U i 0 1 / 2 ,
in a uniform mesh of nodes x i + 1 / 2 = x i 1 / 2 + Δ x , i = i 0 , i 0 + 1 , , the numerical solutions are updated as follows:
U i + 1 / 2 = U i 1 / 2 + Δ x Φ Δ x ( U i 1 / 2 ) , i = i 0 , i 0 + 1 ,
where
Φ Δ x ( U i 1 / 2 ) = j = 1 s b j K i j .
Here, K i 1 , , K i s solve the non-linear system
K i j = G x i j , U i 1 / 2 + Δ x l = 1 s a j , l K i l , j = 1 , , s ,
where
x i j = x i 1 / 2 + c j Δ x , j = 1 , , s .
On the other hand, they can be interpreted as follows:
U i + 1 / 2 = P i ( x i + 1 / 2 ) ,
where P i is the only polynomial of degree s that satisfies:
P i ( x i 1 / 2 ) = U i 1 / 2 , P i ( x i j ) = G ( x i j , P i ( x i j ) ) , j = 1 , , s .
We will consider here Gauss-Legendre methods, in which x i 1 , , x i s and b 1 , , b s are, respectively, the quadrature points and the weights of the Gauss quadrature formula in the interval [ x i 1 / 2 , x i + 1 / 2 ] . This quadrature formula will be used to compute the averages at the cells. The order of accuracy of these methods is 2 s .
Because of this double interpretation, it can be easily shown that Gauss methods are symmetric or reversible in the following sense (see Reference [42]):
Φ Δ x Φ Δ x = I d , or equivalently Φ Δ x = Φ Δ x 1 .

3.1. Cauchy Problem Solver

Let us describe how the collocation RK methods will be adapted to solve problems of the form (8). The following algorithm will be used to approximate the solution of a Cauchy problem with initial condition
U * ( x i 0 1 / 2 ) = U i 0 1 / 2
forward and backward in space (Algorithm 4):
Algorithm 4 Numerical solver for the Cauchy problem (8) using collocation RK methods.
  • For i = i 0 , i 0 + 1 ,
    -
    Compute K i m , m = 1 , , s by solving the non-linear system:
    D f U i 1 / 2 + Δ x k = 1 s a m , k K i k K i m = S U i 1 / 2 + Δ x k = 1 s a m , k K i k H x ( x i m ) , m = 1 , , s .
    -
    Compute:
    U i + 1 / 2 = U i 1 / 2 + Δ x m = 1 s b m K i m .
    -
    Compute:
    U i m = U i 1 / 2 + Δ x k = 1 s a m , k K i k , m = 1 , , s .
  • For i = i 0 , i 0 1 , i 0 2 ,
    -
    Compute K i 1 m by solving the non-linear system:
    D f U i 1 / 2 Δ x k = 1 s a m , k K i 1 k K i 1 m = S U i 1 / 2 Δ x k = 1 s a m , k K i 1 k H x ( x i 1 m ) , m = 1 , , s .
    -
    Compute:
    U i 3 / 2 = U i 1 / 2 Δ x m = 1 s b m K i 1 m .
    -
    Compute:
    U i 1 m = U i 1 / 2 Δ x k = 1 s a m , k K i 1 k , m = 1 , , s .
With the notation of Theorem 2, this ODE solver provides the following approximations of a stationary solution U * at the quadrature points and intercells:
U Δ x * , i + 1 / 2 = U i + 1 / 2 , U Δ x , i * , m = U i m , m = 1 , , s , i ,
and the discrete stationary solutions will be then given by
U ˜ Δ x , i * = m = 1 s b m U Δ x , i * , m .
The non-linear systems (38) and (39) are solved by using a fixed-point algorithm. If the Jacobian of the flux function is never singular, this algorithm is equivalent to apply the collocation RK method to the ODE system in normal form (9). When the Jacobian may become singular, special care has to be taken when solving the linear systems involved by the fixed-point algorithm: this difficulty will be discussed in Section 3.6.

3.2. Local Problem Solver

Let us suppose that the stencils are
S i = { i l , , i + r } .
Remember that local problems (LP) consist in, given an index i and a state W ˜ Ω , finding approximations
U i , j * , m , m = 1 , , M , j = i l , , i + r ; U i * , i ± 1 / 2 ,
of the values
U i * ( x j m ) , m = 1 , , M , j i l , , i + r ; U i * ( x i ± 1 / 2 ) ,
where U i * is the stationary solution that satisfies
m = 1 M b m U i * ( x i m ) = W ˜ .
To solve the problem, we look first for an approximation of U i * in the cell I i using the collocation method, i.e., we look for a vector valued polynomial P i of degree s such that:
m = 1 s b m P i ( x i m ) = W ˜ , D f ( P i ( x i m ) ) P i ( x i m ) = S ( P i ( x i m ) ) H x ( x i m ) , m = 1 , , s .
Observe that this system has ( s + 1 ) vector unknowns (the coefficients of the polynomials) and ( s + 1 ) vector equations.
A fixed-point algorithm will be used to solve this system. Once it has been solved, the approximations of U i * at the intercells are computed by evaluating the polynomial P i :
U i 1 / 2 = P i ( x i 1 / 2 ) , U i + 1 / 2 = P i ( x i + 1 / 2 ) .
From these two values, the Cauchy solver described in the previous section will be used to compute the approximations of the stationary solution in the other cells of the stencil.
Using the standard RK notation, the local problem solver is as follows (Algorithm 5):
Algorithm 5 Numerical solver for the local problems (LP) using collocation RK methods.
  • Compute U i 1 / 2 , K i m , m = 1 , , s by solving the system:
    D f U i 1 / 2 + Δ x k = 1 s a m , k K i k K i m = S U i 1 / 2 + Δ x k = 1 s a m , k K i k H x ( x i m ) , m = 1 , , s , m = 1 s b m U i 1 / 2 + Δ x k = 1 s a m , k K i k = W ˜ .
  • Compute:
    U i + 1 / 2 = U i 1 / 2 + Δ x m = 1 s b m K i m ; U i m = U i 1 / 2 + Δ x k = 1 s a m , k K i k , m = 1 , , s .
  • Apply Algorithm 4 forward in space from U i + 1 / 2 to obtain for j = i + 1 , , i + r
    U j + 1 / 2 ; U j m , m = 1 , , s .
  • Apply Algorithm 4 backward in space from U i 1 / 2 to obtain for j = i l , , i 1
    U j 1 / 2 ; U j m , m = 1 , , s .
The output of the solver is then:
U i , j * , m = U j m , m = 1 , , s , j = i l , i + r ; U i * , i 1 / 2 = U i 1 / 2 , U i * , i + 1 / 2 = U i + 1 / 2 .
A fixed-point algorithm is used again to solve the non-linear system (42). A sensible initial guess is given by:
U i 1 / 2 , 0 = W ˜ , K i m , 0 = K , m = 1 , , s ,
where K is the solution of the linear system:
D f ( W ˜ ) K = S ( W ˜ ) H x ( x i ) ,
where x i represents the mid-point of the cell I i . Let us mention again that special care has to be taken if the Jacobian of the flux function may become singular: this difficulty will be discussed in Section 3.6.

3.3. Well-Balanced Property

To prove that the high-order numerical methods are well-balanced, we have to check that the ODE solver and the local problem solver described in the two last subsections are consistent in the sense of the statement of Theorem 2.
Let
U Δ x , i * , m , m = 1 , , s ; U Δ x * , i + 1 / 2
be the approximations of a stationary solution U * at the quadrature points and intercells
U * ( x i m ) , m = 1 , , s ; U * ( x i + 1 / 2 ) ,
provided by the ODE solver described in Section 3.1 in the uniform mesh of nodes x i + 1 / 2 = x i 1 / 2 + Δ x , i = i 0 , i 0 + 1 ,   . Let P i * be the only polynomial of degree s such that:
P i * ( x i 1 / 2 ) = U Δ x * , i 1 / 2 , D f ( P i * ( x i m ) ) x P i * ( x i m ) = S ( P i * ( x i m ) ) H x ( x i m ) , i = 1 , , s .
By the double interpretation of the method, we have:
P i * ( x i m ) = U Δ x , i * , m , m = 1 , , s ; P i * ( x i + 1 / 2 ) = U Δ x * , i + 1 / 2 .
To solve now the local problem at the i-th cell with
W ˜ = U ˜ Δ x , i * = m = 1 s b m U Δ x , i * , m ,
we have to look for a polynomial P i satisfying (41). Obviously, P i * solves this non-linear system; thus, P i = P i * , which implies, in particular,
U i , i * , m = U Δ x , i * , m , m = 1 , , s ;
U i * , i ± 1 / 2 = U Δ x * , i ± 1 / 2 .
The equalities
U i , j * , m = U Δ x , j * , m , m = 1 , , s , j = i + 1 , i + r
are then trivial, since these values are computed by applying Algorithm 4 forward in space from the same value U Δ x , i ± 1 / 2 * , and the equalities
U i , j * , m = U Δ x , j * , m , m = 1 , , s , j = i l , i 1 ,
follow from the symmetry of the collocation method. Therefore, the hypothesis of Theorem 2 is satisfied, and the numerical method is then well-balanced provided that every stationary solution U * can be approximated by the RK collocation method.

3.4. First and Second Order Methods

For second order methods, the MUSCL reconstruction that uses 3-cell centered stencils ( l = r = 1 ) and the second-order 1-stage collocation RK method whose Butcher tableau is
1 / 2 1 / 2 0 1
will be used. The solution of local problems is particularly simple, since (42) reduces to find U i 1 / 2 , K such that
D f U i 1 / 2 + Δ x 2 K = S U i 1 / 2 + Δ x 2 K H x ( x i 1 ) , U i 1 / 2 + Δ x 2 K = W ˜ ,
where
x i 1 = x i 1 / 2 + Δ x 2 = x i .
Therefore, it is enough to solve
D f ( W ˜ ) K = S ( W ˜ ) H x ( x i )
and then define
U i 1 / 2 = W ˜ Δ x 2 K , U i + 1 / 2 = W ˜ + Δ x 2 K , U 0 1 = W ˜ .
Then, the standard method is used forward and bakward in space to compute U 1 1 and U 1 1 .
Finally, for first order numerical method, the trivial pointwise constant reconstruction is considered so that the stencils for the reconstructions consist only of one cell ( l = r = 0 ). The second order collocation method (47) is also used.
Remark 3.
Notice that, since the 1-stage Gauss-Legendre method is second order, the schemes considered here are:
  • First order numerical methods which are well-balanced with order two.
  • Second order numerical methods which are well-balanced with order two.

3.5. Third-Order Methods

The third-order CWENO reconstruction operator will be used here to design third-order methods. This operator uses 3-cell centered stencils, so that l = r = 1 . The fourth-order 2-stage Gauss-Legendre method corresponding to the choices,
a 11 a 12 a 21 a 22 = 1 4 1 4 3 6 1 4 + 3 6 1 4 ,
c 1 = 1 2 3 6 , c 2 = 1 2 + 3 6 , b 1 = b 2 = 1 2 ,
will be used to solve both the local and global problems.
Remark 4.
Notice that, since the 2-stage Gauss-Legendre method is fourth order, we consider third order numerical methods which are well-balanced with order four.

3.6. Resonant Problems

When a fixed-point algorithm is used to solve (38), (39), or (42), one or more linear systems of the form
D f ( W ) K = S ( W ) H x ( x ¯ )
have to be solved at every step, where W is a known state, and x ¯ a quadrature point. If W is a sonic state, i.e., if one of the eigenvalues of D f ( W ) vanishes, the problem is said to be resonant and the system may not have solution or it may have infinitely many ones:
1.
If S ( W ) H x ( x ) does not belong to the image of the linear application defined by the matrix D f ( W ) , the system has no solution.
2.
Otherwise, the system has infinitely many solutions
K * + α R , α R ,
where K * is a particular solution, and R is an eigenvector associated to the null eigenvalue.
Since, when applying RK collocation methods, we are looking for solutions of the differential Equation (2), a solution K of (50) is said to be admissible if there exists a C 1 stationary solution U * such that
U * ( x ¯ ) = W , U x * ( x ¯ ) = K .
In case 1, there are no admissible solutions. If this situation arises when solving a local problem, it will be assumed that the problem has no solution and the standard reconstruction will be used in the corresponding cell.
In case 2, if K is an admissible solution and W is an isolated sonic point of the corresponding smooth stationary solution U * , the following equality is satisfied:
U x * ( x ) = D f ( U * ) 1 S ( U * ) H x ( x ) , x ( x ¯ ε , x ¯ + ε ) { x ¯ } ,
for some ε > 0 . Therefore, the limit
lim x x ¯ D f ( U * ) 1 S ( U * ) H x ( x )
has to exist. If the available information about the PDE system and its stationary solution allows one to compute this limit by any analytic procedure, then the possible values of (51) constitute the set of admissible solutions, and the solution of (50) will then be selected in this set. This technique will be illustrated in the particular case of the shallow water equations in Section 4.3.
Remark 5.
Observe that, if W is sonic and S ( W ) does not belong to the image of D f ( W ) , case 2 can only happen if H x ( x ¯ ) = 0 . In this case, if there exists a C 1 stationary solution U * such that U * ( x ¯ ) = W , then U * ( x ¯ ) would be an admissible solution of (50) which implies that necessarily H x ( x * ) = 0 , i.e., a smooth stationary solution of (1) can only reach a sonic state W such that S ( W ) does not belong to the image of D f ( W ) at a critical point of H. In this case, (51) will imply a 0 / 0 indeterminate form that can be solved by L’Hôpital rule. This is the case for many systems, including the shallow water equations, for which a smooth stationary solution can only reach a sonic (critical) state in the minimum points of the depth function H.

4. Numerical Experiments

Let us describe first the choices that have been made to implement the well-balanced scheme previously described:
  • The second-order 1-stage collocation RK method is chosen for the first and second order well-balanced numerical schemes and the 2-stage Gauss-Legendre collocation method for third order ones.
  • Concerning the quadrature rules, the midpoint rule for first and second order schemes are used, and the 2-point Gauss quadrature rule for third order schemes.
In all the numerical tests, Rusanov numerical flux is chosen and MUSCL (see Reference [43]) and CWENO reconstructions operators (see References [44,45]) are used, respectively, for the second and third order schemes. Finally, TVD Runge-Kutta schemes of first, second, and third [46] are used to integrate the ODE system (3)–(20).
In those problems where the initial condition is a steady state U * , the approximation of its cell averages are computed using a quadrature formula if the exact solution is known, or by approximating the solution of the Cauchy problem (2) with initial condition
U ( a ) = U * ( a ) ,
using the RK collocation method: see Remark 2.
Note that the procedure that we have been describing in this work is quite general and works for a wide class of f, S, and H.
In this section, we will denote the different numerical methods that we compare as follows:
  • NWBMi, i = 1 , 2 , 3 : a standard non-well balanced numerical scheme of order i.
  • WBMi, i = 1 , 2 , 3 : well-balanced scheme of order i with reconstruction operator given by Algorithm 2.
  • CWBMi, i = 1 , 2 , 3 : well-balanced scheme of order i with reconstruction operator Algorithm 3 in which the Cauchy problems are solved following Reference [39].
  • CLWBMi, i = 1 , 2 , 3 : well-balanced scheme of order i with reconstruction operator defined by Algorithm 3 in which Cauchy and local problems are integrated by using the Gauss-Legendre collocation method described in the previous section.
The numerical tests have been run on a laptop with Intel(R) Xeon(R) CPU E3-1220 v3 @ 3.10 GHz with 8 Mb cache using one single core.

4.1. Problem 1: Burgers Equation with a Non-linear Source Term I

We consider the Burgers equation with a non-linear source term:
u t + u 2 2 x = u 2 , x R , t > 0 , u ( x , 0 ) = u 0 ( x ) .
This problem corresponds to the choice
U = u , f ( U ) = u 2 2 , S ( U ) = u 2 , H ( x ) = x .
The stationary solutions satisfy the ODE
u = u ,
whose general solution is
u ( x ) = C e x , C R .
As the expression of the steady states is known, the stationary solution u i * satisfying (15) could be easily computed for any quadrature formula
u i * ( x ) = u i m = 0 M α m i e x m i e x .
Although in this test WBMi can be easily computed, we also consider CWBMi and CLWBMi to compare the efficiency of the methods.

Test 1.1

Let us consider the space interval [ 1 , 1 ] and the time interval [ 0 , 5 ] . u 0 = e x is set as initial condition and the CFL parameter is set to 0.9. The boundary condition is imposed at the left boundary and open boundary conditions at the right boundary.
The convergence criterion chosen in Algorithm 5 is the following: we stop it if the maximum absolute value between the approximations of the values of the stationary solution at the extremes of the cell and the quadrature points of the cells belonging to the stencil for two consecutive iterations is less than a threshold.
In what follows, the tolerance considered to stop Algorithm 5 is ε = 10 15 .
Note that, at the discrete level, the cell-averages of u 0 ( x ) = e x have to be computed. We consider 4 different ways of computing them:
(a)
Exactly computed:
u i 0 = e Δ x 1 Δ x e x i 1 / 2 , i .
(b)
Using a quadrature formula:
u i 0 = m = 0 M α m i e x m i , i .
(c)
The cell averages are approximated by
u i 0 = m = 0 M α m i u h , m * , i , i ,
where u h , m * , i are the approximation the Cauchy problem
u = u , u ( 1 ) = e 1 ,
computed with the standard RK4 method on the mesh selected to solve the control problems described in Reference [39].
(d)
The cell averages are approximated by (55), where now u h , m * , i are the approximation of the exponential at the quadrature points obtained by solving (56) with the RK collocation method.
The numerical methods are integrated until the final time t = 5 , which is more than twice the travel time of a small perturbation of the steady state along the domain. L 1 errors between the initial and final cell-averages will be computed. According to Theorem 1, errors should be of the order of the machine precision (MP) if option (d) is considered to compute the initial condition for CLWBMi, i = 1 , 2 , 3 . Figure 1 (right) shows the errors corresponding to CLWBMi, i = 1 , 2 , 3 for a 200-cell mesh. As expected, they are of the order of MP.
Notice that, in the other cases, if (a), (b), or (c) are used for CLWBMi, i = 1 , 2 , 3 , the errors decrease with Δ x (see Table 1). Thus, if option (b) is chosen and a third order reconstruction operator is used, then the convergence rate is expected to be 4 as errors are generated by the use of the 2-stage collocation RK method for solving the local problems. If option (c) is used, the same convergence rate is expected, and the errors are due to the use of RK4 for computing the initial condition and the use of the 2-stage collocation RK method. Finally, in the case of option (a), the errors are due to the use of both numerical integration and the 2-stage collocation method in the solution of local problems: again, the errors are expected to be of order 4.
Similar results are obtained for first and second-order methods: the order of convergence is two if option (a), (b), and (c) are used since the mid-point method is second-order accurate, and we consider the 1-stage collocation RK method.
Now, we compare the results obtained with NWBMi, WBMi, CWBMi, CLWBMi, i = 1 , 2 , 3 . The cell-averages are computed using option (b) for NWBMi and WBMi, option (c) for CWBMi, and option (d) for CLWBMi. L 1 errors with respect to the initial condition are computed.
Figure 1 shows the differences between the stationary and the numerical solutions obtained with NWBMi and CLWBMi, i = 1 , 2 , 3 . Similar results are obtanied for WBMi and CWBMi, i = 1 , 2 , 3 . Table 2 and Table 3 show the errors corresponding to NWBMi, WBMi, CWBMi, CLWBMi, i = 1 , 2 , 3 .
Notice that the errors for NWBM decrease with Δ x at the expected rate. WBM preserve the exact solution up to MP, as well as CWBM and CLWBM, provided that the tolerance used in the Newton’s method for the former and Algorithm 5 for the latter is small enough. The computational costs are shown in Table 4. Nonetheless, since the goal of carrying out these experiments is to prove that the introduced well-balanced technique works, the implementation is not optimized. It can be seen that the well-balanced reconstruction given by Algorithm 2 increases the computational cost by a factor ranging from 1.5 to 7.5 (see Table 4). On the other hand, the use of Algorithm 3 increases the computational cost by a factor ranging from 1 to 1.8 if collocation RK method are used for solving the local problems and a factor ranging from 1.1 to 3.8 if control techniques with N p = 1 (see Reference [39]) are used. Therefore, the CLWBM schemes introduced in this work are more efficient than the CWBM schemes presented in Reference [39].

4.2. Problem 2: Burgers Equation with a Non-linear Source Term II

We now consider Burgers equation with another non-linear source term:
u t + u 2 2 x = sin ( u ) , x R , t > 0 , u ( x , 0 ) = u 0 ( x ) .
The stationary solutions satisfy the ODE
u = sin ( u ) u .
Note that no simple expression of the stationary solutions is known so (10) has to be computed numerically.

4.2.1. Test 2.1

We consider again the same computational domain, and the system is integrated up to T = 5 . The CFL parameter is imposed to be 0.9 . As initial condition, we consider the stationary solution that corresponds to the solution of the Cauchy problem (58) with
u ( 1 ) = 2 ,
that is approximated by the Gauss-Legendre collocation method. The left boundary condition is set to u ( 1 , t ) = 2 , and open boundary conditions are considered upstream.
Figure 2 shows the differences between the stationary and the numerical solutions computed with NWBMi, i = 1 , 2 , 3 (left) and CLWBMi, i = 1 , 2 , 3 (right), (the figures corresponding to CWBMi, i = 1 , 2 , 3 are similar).
The errors corresponding to NWBMi, CWBMi, and CLWBMi, i = 1 , 2 , 3 , respectively, are shown in Table 5 and Table 6. Computational costs are shown in Table 7. Note that the collocation strategy increases the computational cost from 7.3 to 14, whereas the method proposed in Reference [39] increases the computational cost by a factor ranging from 27 to 40. After the study of these two experiments, one can conclude that the results obtained with the collocation strategy introduced in this paper are better than the ones got by CWBMi, i = 1 , 2 , 3 as described in Reference [39], considering that the errors are similar for both procedures, but the first strategy is much more efficient. Consequently, we will only consider the collocation strategy in the following experiments.

4.2.2. Test 2.2

Now, we consider the evolution of a small perturbation of the previous stationary solution. Thus, the initial solution is set to
u 0 ( x ) = u * ( x ) + 0.3 e 200 ( x + 0.5 ) 2 ,
where u * ( x ) is the previous stationary solution.
Figure 3 shows the difference between the stationary and the numerical solutions computed with NWBMi, i = 1 , 2 , 3 and CLWBMi, i = 1 , 2 , 3 at times t = 0.3 , 5 (the results are similar for CWBMi, i = 1 , 2 , 3 ). In black, we show a reference solution computed on a fine mesh with 12,800 cells using a first order well-balanced method.
Observe that, as expected, the well-balanced methods are able to recover the stationary solution after the perturbation left the domain, while non-well balanced methods introduce an error that remains in the domain. This could be also observed in Table 8, where the errors with respect to the stationary solution at time t = 5 s are shown for the 100-cell mesh.

4.3. Problem 3: Shallow Water Equations

Let us consider now the 1D shallow water system which corresponds to the choices N = 2 , with
U = h q , f ( U ) = q q 2 h + g 2 h 2 , S ( U ) = 0 g h ,
where x corresponds to to the axis of the channel, and t is the time. The unknown h ( x , t ) and q ( x , t ) are the thickness and discharge, respectively; the function H ( x ) is the depth function, and g is the gravity; u = q / h is the depth-averaged velocity, and c = g h .
The eigenvalues of the system are λ ± = u ± c , and the Froude number defined by
F r ( U ) = | u | c ,
characterizes the flow regime: subcritical ( F r > 1 ), critical ( F r = 1 ), or supercritical ( F r > 1 ).
The stationary solutions U * satisfy the ODE system:
q x = 0 , q 2 h + 1 2 g h 2 x = g h H x ,
which can be written as follows:
u 2 + g h h x = g h H x , q x = 0 .
The stationary solutions are given in implicit form by:
q = C 1 , q 2 2 h 2 + g h g H = C 2 , C 1 , C 2 R .
In Reference [38], a family of high-order well-balanced numerical methods was presented, based in the Algorithm 2, in which local problems were solved on the basis of this implicit form. Here, Algorithm 3 with collocation RK methods to solve the local problems is used.
The numerical treatment of resonant situations discussed in Section 3.6 will be illustrated here in the particular case of the shallow water system. It can be easily checked that system (50), which, in our case, becomes
0 1 u 2 + g h 2 u K 1 K 2 = 0 g h H x ( x ) ,
when U * is a critical state, i.e., when u 2 = g h , reduces to:
0 1 0 2 u K 1 K 2 = 0 g h H x ( x ) .
Therefore, the system has solutions only if H x ( x ) = 0 : in this case, the solutions are
K = α [ 1 , 0 ] T , α R .
In fact, it can be shown (see Reference [38], for instance) that a smooth stationary solution can only reach a critical state at a minimum point x c of the depth function H. Differentiating the second relation of (62) with respect to x, and using the relation H x ( x c ) = 0 , one obtains, at x = x c ,
q q x h 2 + h x g q 2 h 3 = 0 ,
which, assuming h x ( x c ) 0 , implies
h c ( q ) = q 2 / 3 g 1 / 3 .
With this information in mind, let us compute the limit
lim x x c g h H x u 2 + g h ,
to determine the value of h x at x c . This is a 0 / 0 indeterminate limit, and L’Hôpital’s rule can be applied. To do this, first, the limit is rewritten as follows:
lim x x c g H x g q 2 h 3 .
Some easy computation leads to
h x ( x c ) = h c ( q ) 4 3 h x ( x c ) q 2 g H x x ( x c ) ;
therefore:
h x ( x c ) = ± h c ( q ) 2 3 q g 1 / 2 H x x ( x c ) = ± h c ( q ) H x x ( x c ) 3 = ± q 2 / 3 H x x ( x c ) 3 g 1 / 3 .
The above expression shows that, if q 0 and H x x ( x c ) 0 , it is h x ( x c ) 0 , thus justifying the assumption used before. Then, the chosen solution of (50) will be
K = ± q 2 / 3 H x x ( x c ) 3 g 1 / 3 , 0 T .
More precisely, when applying Algorithm 5 or Algorithm 4, a threshold ϵ > 0 is selected to detect critical states. If a system (50) has to be solved in which
| F r ( U * ) 1 | < ϵ ,
at a point x ¯ , then
  • If x ¯ is not close to a minimum point of H, it is assumed that is not possible to find a smooth stationary solution that solves the problem and the algorithm is stopped.
  • Otherwise, the selected solution of (50) is
    -
    K = q 2 / 3 H x x ( x ¯ ) 3 g 1 / 3 , 0 T , if h is increasing close to x ¯ ,
    -
    K = q 2 / 3 H x x ( x ¯ ) 3 g 1 / 3 , 0 T , if h is decreasing close to x ¯ ,
    and the algorithm goes on.

4.3.1. Test 3.1: Transcritical Smooth Stationary Solution

The objective with this test is to check the correct behavior of the numerical methods of this work in presence of critical states. Following Reference [38], we consider here a smooth transcrital stationay solution for the 1D shallow water system on the interval [ 0 , 3 ] . The integration time is T = 1 , and the bathymetry is given by
H ( x ) = 0.25 ( 1 + cos ( 5 π ( x + 0.5 ) ) ) if 1.3 x 1.7 , 0 otherwise .
The initial condition corresponds to the solution of the Cauchy problem (61) with initial condition h ( 0 ) = 1.67750727 and q ( 0 ) = 2.5 . It can be checked that it has a critical state at x c = 1.5 . The shallow water system is integrated up to time T = 1 , setting q downstream, and the water height upstream. The difference between the stationary and the numerical solutions computed with NWBMi, i = 1 , 2 , 3 and CLWBMi, i = 1 , 2 , 3 are shown in Figure 4. L 1 Errors are shown in Table 9 and Table 10. Notice that Reference [38] obtained similar results. The computational costs are shown in Table 11.

4.3.2. Test 3.2: Perturbation of a Smooth Transcritical Stationary Solution

In this test, we consider the evolution of a small perturbation of the previous transcritical stationary solution. More precisely, a small perturbation of the water thickness of amplitude Δ h = 0.02 is set at the interval [ 1.1 , 1.2 ] , that is in the subcritical region. Therefore, this perturbation splits in two wawes, one moving downstream and the other upstream, as shown in Figure 5 and Figure 6 at time t = 0.1 s. Figure 5 and Figure 6 show the difference between the stationary and the numerical solutions computed with NWBMi, i = 1 , 2 , 3 and CLWBMi, i = 1 , 2 , 3 at times t = 0.1 , 5 s. A reference solution is also computed using a first order well-balanced method with fine mesh (2000 cells).
Observe that, as in the previous examples, only the well-balanced methods are able to preserve the stationary solution. The non-well-balanced method generates strong perturbations that are bigger than the initial perturbation. Differences between the stationary and the numerical solutions in L 1 -norm at time t = 5 s for a 200-cell mesh are shown in Table 12. Finally, let us point out that the third order well-balanced method presents a small spurious oscillation in the location of the critical point, that disappears with time. This is not the case for the first and second order well-balanced methods.

4.3.3. Test 3.3: Perturbation of a Smooth Subcritical Stationary Solution

Let us consider evolution of a small perturbation of a smooth subcritical stationary solution. The initial condition U 0 ( x ) = ( h 0 ( x ) , q 0 ( x ) ) T is given by:
h 0 ( x ) = h * ( x ) + 0.02 , if   0.7 x 1.0 , h * ( x ) , otherwise ,
q 0 ( x ) = q * ( x ) ,
where U * ( x ) = ( h * ( x ) , q * ( x ) ) T is the solution of the Cauchy problem
q x = 0 , u 2 + g h h x = g h H x , h ( 0 ) = 2 , q ( 0 ) = 3.5 .
The depth function is given again by (69).
Figure 7 shows the differences between the stationary solution and the numerical solutions obtained with NWBMi, i = 1 , 2 , 3 and CLWBMi, i = 1 , 2 , 3 at times t = 0.1 , 5 for h (the graphs are similar for q). A reference solution has been computed with a first order well-balanced scheme on a fine mesh (3200 cells).
Notice that, since the perturbation amplitude is small enough, the well-balanced methods perform much better than the non-well-balanced methods, that generates spurious waves of amplitudes bigger than the original perturbation. In Table 13, the differences with respect to the stationary solution at time t = 5 s are shown for the 100-cell mesh. In order to check the efficiency of the methods, Figure 8 shows the errors in L 1 -norm with respect to the reference solution versus the CPU times in milliseconds for the NWBM2 and CLWBM2 at time t = 1 s, when the perturbation is still in the domain. Similar results have been obtained for the first and third order methods. Notice that the CLWBM are computationally more efficient. See, for instance, that, in order to obtain an error of approximately 2 × 10 4 , the computational cost for the NWBM2 is increased by a factor of about 2.2 with respect to the CLWBM2.

4.4. Problem 4: Shallow Water Equations with Manning Friction

Let us consider the shallow water equations with Manning friction:
h t + q x = 0 , q t + q 2 h + 1 2 g h 2 x = g h H x k q | q | h η .
In the previous, k is the Manning friction coefficient, and η is set to 7 3 .
The stationary solutions satisfy the ODE system
u 2 + g h h x = g h H x k q | q | h η , q x = 0 .
In what follows, we consider some experiments taken from Reference [47].

4.4.1. Test 4.1

Let us consider first a moving equilibria test with constant bathymetry. Therefore, the smooth stationary solutions satisfy
q 2 / h 2 + g h h x = k q | q | h η , q x = 0 .
As in Reference [47], we consider the interval the space interval [ 0 , 1 ] , discretized with 200 cells. Now, we consider a subcritical steady state with q ( 0 ) = 1 and h ( 0 ) a positive root of the non-linear function ξ ( h ) , obtained by integrating (73), given by
ξ ( h ) = q 0 2 η 1 h η 1 h 0 η 1 + g η + 2 h η + 2 h 0 η + 2 + k q 0 | q 0 | ( x x 0 ) ,
where x 0 = Δ x , x = 0 , q 0 = q ( 0 ) and h 0 = h c , with h c defined by
h c = q 0 2 g 1 3 .
In this experiment, k = 1 , which enforces the stiff character of the friction term. As boundary conditions, q is set downstream and h upstream, and the system is integrated up to t = 1 . Due to the stiff character of the friction term, the explicit non-well-balanced methods turn out to be unstable for small values of h and/or big values of k, unless a very small time step is used. If an implicit discretization of the stiff source term is considered, NWBMi, i = 1 , 2 , 3 methods do not explode, yet there is not convergence to any stationary solution. The stability restriction is much less severe for the well-balanced schemes. For these reasons, only the numerical solutions obtained with well-balanced schemes are shown.
Figure 9 shows the discrepancies between the stationary and the numerical solutions at t = 1 s with CLWBMi, i = 1 , 2 , 3 ; Table 14 shows the L 1 errors for a mesh with 200 cells.

4.4.2. Test 4.2

Now, we consider a numerical experiment that corresponds to a small perturbation of the previous stationary solution U * ( x ) = [ h * ( x ) , q * ( x ) ] T :
h 0 ( x ) = h * ( x ) + 0.2 , if   3 7 x 4 7 , h * ( x ) , otherwise ,
q 0 ( x ) = q * ( x ) .
As in Reference [47], we consider a mesh with 100 cells, and the model is run up to t = 9 s.
As in the previous test case, only the well-balanced schemes will be considered. Figure 10 shows the discrepancies between the stationary and the numerical solutions for the water depth computed with CLWBMi, i = 1 , 2 , 3 at the time steps t = 0.06 s and t = 9 s (the figures are similar for q). In black, we plot a reference solution computed with a 1st-order well-balanced scheme with a 1600-cell mesh.
As expected, the stationary solution is preserved by the well-balanced schemes after the perturbation left the domain. Table 15 shows the L 1 errors with respect to the steady state at t = 9 s for 100-cell mesh.

4.4.3. Test 4.3

We end this subsection with two numerical experiments whose objective is show the efficiency of the schemes to preserve steady states that involve a varying bathymetry and friction. In this case, k takes the value of 0.01 and the space domain is again the interval [ 0 , 1 ] . The bathymetry is given by
H ( x ) = 1 1 2 e cos ( 4 π x ) e 1 e e 1 .
The first experiment concerns the preservation of the supercritical stationary solution corresponding to (72) with initial conditions q ( 0 ) = 1 and h ( 0 ) = 0.3 .
Following Reference [47], we take 100 discretization cells, and the numerical simulation of this experiment is run until t = 1 s.
Figure 11 shows the numerical solutions at t = 1 s for NWBMi, i = 1 , 2 , 3 and CLWBMi, i = 1 , 2 , 3 . Notice that NWBM1 is completely wrong: due to the numerical diffusion, the supercritical regime is lost at the right side of the domain, which causes a shock wave traveling to the left (of course, this behavior disappears when the mesh is fine enough). Therefore, in Figure 12, where the differences with the stationary solution are plotted, only the results for NWBMi, i = 2 , 3 and for CLWBMi, i = 1 , 2 , 3 are shown. Table 16 shows the errors corresponding to the different methods for the 100-cell mesh. We also consider a reference solution computed with a well-balanced first order scheme on a 1600-cell mesh.

4.4.4. Test 4.4

Following Reference [47], the very last experiment in this subsection focuses on a perturbation of the aforementioned steady state. The initial condition U 0 ( x ) = [ h 0 ( x ) , q 0 ( x ) ] T is given by:
h 0 ( x ) = h * ( x ) + 0.05 , if   x 2 7 , 3 7 4 7 , 5 7 , h * ( x ) , otherwise ,
q 0 ( x ) = q * ( x ) + 0.5 , if   x 2 7 , 3 7 4 7 , 5 7 , q * ( x ) , otherwise ,
where U * ( x ) = [ h * ( x ) , q * ( x ) ] T is the stationary solution considered in the previous experiment. As in Reference [47], we use a 100-cell mesh for the numerical simulation on the domain [ 0 , 1 ] , and the computations are carried out until the final time t = 2 s.
Observe that there are not big differences among the solutions during for small times. Nevertheless, for the NNWBM1, the supercritical regime is lost on the right of the domain, causing a shock traveling to the left, as in Test 4.3. Figure 13 shows then the differences between the numerical solutions and the stationary solution for h with NWBMi, i = 1 , 2 , 3 at time t = 0.015 and i = 2 , 3 at time t = 2 , and with CLWBMi, i = 1 , 2 , 3 at times t = 0.015 and t = 2 (the plots are similar for q). Again, in black, we plot a reference solution computed on a 1600-cell mesh with a first order well-balanced scheme.
Once more, well-balanced schemes are able to recover the stationary states after the perturbation left the domain. Table 17 shows the differences in L 1 -norm with respect to the stationary solution at time t = 2 s for a mesh with 100 cells.

4.5. Problem 5: Compressible Euler Equations with Gravitational Force

Finally, let us consider the compressible Euler equations for gas dynamics with gravity:
ρ t + ( ρ u ) x = 0 , ( ρ u ) t + ρ u 2 + p x = ρ H x , E t + u ( E + p ) x = ρ u H x .
Here, u is the velocity, p 0 the pressure, ρ 0 the density, q = ρ u the momentum, E the total energy per unit volume, and H ( x ) is the gravitational potential. The internal energy e is defined by ρ e = E 1 2 ρ u 2 , and pressure could be determined from the internal energy using the equation of state. In this work, we suppose an ideal gas; therefore,
p = ( γ 1 ) ρ e ,
γ > 1 being the adiabatic constant. Here, it is set to γ = 1.5 .
Note that (76) is a particular case of (1) with N = 3 ,
U = ρ ρ u E , f ( U ) = ρ u ρ u 2 + p u ( E + p ) , S ( U ) = 0 ρ ρ u .
Supposing that the system is strictly hyperbolic and considering (77), the stationary solutions satisfy the ODE system:
q x = 0 , d U ^ d x = G ( x , U ^ ) ,
where
U ^ = ρ E , G ( x , U ^ ) = ρ c 2 u 2 ρ γ 1 1 + 3 γ 2 u 2 c 2 u 2 H x ,
where c = γ p / ρ is the sound speed, which is valid for stationary regular solution. Notice that, for regular solutions of the Euler equations, the entropy is constant along material lines. So that, for stationary solutions, u s x = 0 , where s denotes the entropy density. Therefore, if u does not vanish, it follows that these stationary solutions are isentropic.

Test 5.1

In this test, we consider the space domain [ 1 , 1 ] , and the system is integrated up to time t = 5 s. The gravity potential is H ( x ) = x .
As initial condition, a supersonic stationary solution corresponding to the solution of the Cauchy problem
q x = 0 , d U ^ d x = G ( x , U ^ ) , ρ ( 1 ) = 1 , q ( 1 ) = 10 , E ( 1 ) = 52
is computed with the Gauss-Legendre collocation method. Density, momentum, and energy is set downstream, and open free boundary conditions upstream. C F L parameter is set to 0.9 .
Figure 14, Figure 15 and Figure 16 show the differences between the stationary and the numerical solutions for NWBMi and CLWBMi, i = 1 , 2 , 3 for ρ , q, and E, respectively; Table 18 shows the errors for for the 100-cell mesh with NWBMi and CLWBMi, i = 1 , 2 , 3 at time t = 5 s. Table 19 shows the computational cost for NWBMi, CWBMi, and CLWBMi, i = 1 , 2 , 3 . Notice that CLWBM are significantly more efficient than CWBM. We have carried out similar experiments with a perturbation of this stationary solution as initial condition, and we obtained the expected results, i.e., only the well-balanced methods are able to exactly recover the steady state solution. For the sake of conciseness, we do not present the tests here.

5. Conclusions

Following Reference [36], we propose a family of well-balanced high-order numerical schemes that can be applied to general 1D balance laws. Note that the main difficulty of the method proposed in Reference [36] comes from the fact that local stationary solutions must be computed at every cell that may require the knowledge of the stationary states. When solving the ODE (2) for the stationary solution is not possible or too costly, the first step has to be computed numerically: what we propose here is to build both the stationary solutions and the local solvers for the first step on the basis of the collocation RK methods. The well-balanced property of these numerical methods is precisely stated, and we have also introduced a general technique that allows us to deal with resonant problems for any 1D systems of balance laws.
We have considered a good number of examples: Burgers equation, shallow water system with friction, and Euler equations with gravity to check the well-balanced property of the methods and to test their efficiency. In some of these test cases, the stationary solutions are known either in implicit or explicit form, while, in others, the only information comes from the ODE (2) that the stationary solutions satisfy: in the former case, we can compare the efficiency of the new implementation, while, in the latter, we can show the generality of the methods.
Although well-balanced schemes are more costly, they are more effective than standard non-well-balanced methods when they are applied to the propagation of small perturbation around an equilibria or when long-time integration is required. Furthermore, the tests show that the strategy based on the collocation RK methods introduced in this work is more efficient than the one presented in Reference [39].
The methods considered here can be applied in principle to any system of balance laws. For instance, in the context of Euler equations, in Reference [48], a first and second order numerical scheme that is well-balanced for particular 1D radial solutions for the Euler equations in cylindrical coordinates has been developed following the strategy proposed by two of the authors that was later reviewed in Reference [37]. It is possible to use the technique described here to extend the methods in Reference [48] to more general source terms and higher-order. This will be considered in a future work.
Futher developments will include applications to:
  • Balance laws (1) with non-regular source terms, that is systems for which H has jump discontinuities.
  • Multidimensional problems.

Author Contributions

Conceptualization, M.J.C.D., I.G.-B., C.P. and G.R.; methodology, M.J.C.D., I.G.-B., C.P. and G.R.; software, I.G.-B.; validation, M.J.C.D., I.G.-B., C.P. and G.R.; formal analysis, M.J.C.D., I.G.-B., C.P. and G.R.; writing—original draft preparation, I.G.-B.; writing—review and editing, M.J.C.D., I.G.-B., C.P. and G.R.; funding acquisition, M.J.C.D., I.G.-B. and C.P. All authors have read and agreed to the published version of the manuscript.

Funding

This research has been partially supported by the Spanish Government and FEDER through the coordinated Research project RTI2018-096064-B-C1, The Junta de Andalucía research project P18-RT-3163, the Junta de Andalucia-FEDER-University of Málaga Research project UMA18-FEDERJA-161 and the University of Málaga. G. Russo acknowledges partial support from ITN-ETN Horizon 2020 Project ModCompShock, “Modeling and Computation of Shocks and Interfaces”, Project Reference 642768, and from the Italian Ministry of University and Research (MIUR), PRIN Project 2017 (No. 2017KKJP4X entitled “Innovative numerical methods for evolutionary partial differential equations and applications”. I. Gómez-Bueno is also supported by a Grant from “El Ministerio de Ciencia, Innovación y Universidades”, Spain (FPU2019/01541).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Audusse, E.; Bouchut, F.; Bristeau, M.O.; Klein, R.; Perthame, B. A fast and stable well-balanced scheme with hydrostatic reconstruction for shallow water flows. SIAM J. Sci. Comput. 2004, 25, 2050–2065. [Google Scholar] [CrossRef]
  2. Bouchut, F. Nonlinear Stability of Finite Volume Methods for Hyperbolic Conservation Laws: And Well-Balanced Schemes for Sources; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2004. [Google Scholar]
  3. Castro, M.; Chacón Rebollo, T.; Fernández-Nieto, E.; Parés, C. On Well-Balanced Finite Volume Methods for Nonconservative Nonhomogeneous Hyperbolic Systems. SIAM J. Sci. Comput. 2007, 29, 1093–1126. [Google Scholar] [CrossRef] [Green Version]
  4. Chacón Rebollo, T.; Delgado, A.; Fernández-Nieto, E. A family of stable numerical solvers for the shallow water equations with source terms. Comput. Methods Appl. Mech. Eng. 2003, 192, 203–225. [Google Scholar] [CrossRef]
  5. Chacón Rebollo, T.; Delgado, A.; Fernández-Nieto, E. Asymptotically balanced schemes for non-homogeneous hyperbolic systems—Application to the Shallow Water equations. C. R. Math. 2004, 338, 85–90. [Google Scholar] [CrossRef]
  6. Varma, R.S.D.; Chandrashekar, P. A second-order well-balanced finite volume scheme for Euler equations with gravity. Comput. Fluids 2018, 181. [Google Scholar] [CrossRef] [Green Version]
  7. Chandrashekar, P.; Zenk, M. Well-Balanced Nodal Discontinuous Galerkin Method for Euler Equations with Gravity. J. Sci. Comput. 2015, 71. [Google Scholar] [CrossRef] [Green Version]
  8. Desveaux, V.; Zenk, M.; Berthon, C.; Klingenberg, C. A well-balanced scheme to capture non-explicit steady states in the Euler equations with gravity. Int. J. Numer. Methods Fluids 2016, 81, 104–127. [Google Scholar] [CrossRef]
  9. Desveaux, V.; Zenk, M.; Berthon, C.; Klingenberg, C. Well-balanced schemes to capture non-explicit steady states. RIPA model. Math. Comput. 2015, 85, 1. [Google Scholar] [CrossRef]
  10. Gosse, L. A well-balanced flux-vector splitting scheme designed for hyperbolic systems of conservation laws with source terms* 1. Comput. Math. Appl. 2000, 39, 135–159. [Google Scholar] [CrossRef] [Green Version]
  11. Gosse, L. A Well-Balanced Scheme Using Non-Conservative Products Designed for Hyperbolic Systems of Conservation Laws With Source Terms. Math. Model. Methods Appl. Sci. 1999, 11. [Google Scholar] [CrossRef] [Green Version]
  12. Gosse, L. Localization effects and measure source terms in numerical schemes for balance laws. Math. Comput. 2002, 71, 553–582. [Google Scholar] [CrossRef] [Green Version]
  13. Käppeli, R.; Mishra, S. Well-balanced schemes for the Euler equations with gravitation. J. Comput. Phys. 2014, 259, 199–219. [Google Scholar] [CrossRef]
  14. Greenberg, J.M.; LeRoux, A.Y. A well-balanced scheme for the numerical processing of source terms in hyperbolic equations. SIAM J. Numer. Anal. 1996, 33, 1–16. [Google Scholar] [CrossRef]
  15. Greenberg, J.; Leroux, A.; Baraille, R.; Noussair, A. Analysis and approximation of conservation laws with source terms. SIAM J. Numer. Anal. 1997, 34, 1980–2007. [Google Scholar] [CrossRef]
  16. LeVeque, R. Balancing source terms and flux gradients in high-resolution Godunov methods: The quasi-steady wave-propagation algorithm. J. Comput. Phys. 1998, 146, 346–365. [Google Scholar] [CrossRef] [Green Version]
  17. Lukacova-Medvidova, M.; Noelle, S.; Kraft, M. Well-balanced finite volume evolution Galerkin methods for the shallow water equations. J. Comput. Phys. 2007, 221, 122–147. [Google Scholar] [CrossRef] [Green Version]
  18. Noelle, S.; Pankratz, N.; Puppo, G.; Natvig, J. Well-balanced finite volume schemes of arbitrary order of accuracy for shallow water flows. J. Comput. Phys. 2006, 213, 474–499. [Google Scholar] [CrossRef]
  19. Noelle, S.; Xing, Y.; Shu, C.W. High-order well-balanced finite volume WENO schemes for shallow water equation with moving water. J. Comput. Phys. 2007, 226, 29–58. [Google Scholar] [CrossRef]
  20. Pelanti, M.; Bouchut, F.; Mangeney, A. A Roe-Type Scheme for Two-Phase Shallow Granular Flows over Variable Topography. ESAIM Math. Model. Numer. Anal. 2008, 42, 851–885. [Google Scholar] [CrossRef] [Green Version]
  21. Perthame, B.; Simeoni, C. A kinetic scheme for the Saint-Venant system with a source term. Calcolo 2001, 38, 201–231. [Google Scholar] [CrossRef]
  22. Perthame, B.; Simeoni, C. Convergence of the upwind interface source method for hyperbolic conservation laws. In Hyperbolic Problems: Theory, Numerics, Applications; Springer: Berlin/Heidelberg, Germany, 2003; pp. 61–78. [Google Scholar]
  23. Russo, G.; Khe, A. High order well balanced schemes for systems of balance laws. Proc. Symp. Appl. Math. 2009, 67, 919–928. [Google Scholar] [CrossRef]
  24. Tang, H.; Tang, T.; Xu, K. A gas-kinetic scheme for shallow-water equations with source terms. Z. Angew. Math. Phys. 2004, 55, 365–382. [Google Scholar] [CrossRef]
  25. Klingenberg, C.; Touma, R.; Koley, U. Well-Balanced Unstaggered Central Schemes for the Euler Equations with Gravitation. SIAM J. Sci. Comput. 2016, 38. [Google Scholar] [CrossRef]
  26. Xing, Y.; Shu, C.W. High order well-balanced finite volume WENO schemes and discontinuous Galerkin methods for a class of hyperbolic systems with source terms. J. Comput. Phys. 2006, 214, 567–598. [Google Scholar] [CrossRef]
  27. Klingenberg, C.; Puppo, G.; Semplice, M. Arbitrary Order Finite Volume Well-Balanced Schemes for the Euler Equations with Gravity. SIAM J. Sci. Comput. 2019, 41, A695–A721. [Google Scholar] [CrossRef] [Green Version]
  28. Kanbar, F.; Touma, R.; Klingenberg, C. Well-balanced Central Schemes for the One and Two-dimensional Euler Systems with Gravity. Appl. Numer. Math. 2020, 156. [Google Scholar] [CrossRef]
  29. Cheng, Y.; Kurganov, A. Moving-water equilibria preserving central-upwind schemes for the shallow water equations. Commun. Math. Sci. 2016, 14, 1643–1663. [Google Scholar] [CrossRef]
  30. Kurganov, A. Finite-volume schemes for shallow-water equations. Acta Numer. 2018, 27, 289–351. [Google Scholar] [CrossRef] [Green Version]
  31. Chertock, A.; Cui, S.; Kurganov, A.; Wu, T. Well-balanced positivity preserving central-upwind scheme for the shallow water system with friction terms. Int. J. Numer. Methods Fluids 2015, 78. [Google Scholar] [CrossRef] [Green Version]
  32. Castro, M.J.; de Luna, T.M.; Parés, C. Well-balanced schemes and path-conservative numerical methods. In Handbook of Numerical Analysis; Elsevier: Amsterdam, The Netherlands, 2017; Volume 18, pp. 131–175. [Google Scholar]
  33. Franck, E.; Mendoza, L.S. Finite volume scheme with local high order discretization of the hydrostatic equilibrium for the euler equations with external forces. J. Sci. Comput. 2016, 69, 314–354. [Google Scholar] [CrossRef] [Green Version]
  34. Grosheintz-Laval, L.; Käppeli, R. Well-balanced finite volume schemes for nearly steady adiabatic flows. J. Comput. Phys. 2020, 423, 109805. [Google Scholar] [CrossRef]
  35. Käppeli, R.; Mishra, S. A well-balanced finite volume scheme for the euler equations with gravitation-the exact preservation of hydrostatic equilibrium with arbitrary entropy stratification. Astron. Astrophys. 2016, 587, A94. [Google Scholar] [CrossRef] [Green Version]
  36. Castro, M.; Gallardo, J.; López-García, J.; Parés, C. Well-Balanced High Order Extensions of Godunov’s Method for Semilinear Balance Laws. SIAM J. Numer. Anal. 2008, 46, 1012–1039. [Google Scholar] [CrossRef]
  37. Castro, M.; Parés, C. Well-Balanced High-Order Finite Volume Methods for Systems of Balance Laws. J. Sci. Comput. 2020, 82. [Google Scholar] [CrossRef]
  38. Castro, M.; López-García, J.; Parés, C. High order exactly well-balanced numerical methods for shallow water systems. J. Comput. Phys. 2013, 246, 242–264. [Google Scholar] [CrossRef]
  39. Gómez-Bueno, I.; Castro, M.J.; Parés, C. High-order well-balanced methods for systems of balance laws: A control-based approach. Appl. Math. Comput. 2021, 394, 125820. [Google Scholar]
  40. Gómez-Bueno, I.; Castro, M.; Parés, C. Well-Balanced Reconstruction Operator for Systems of Balance Laws: Numerical Implementation. In Recent Advances in Numerical Methods for Hyperbolic PDE Systems; Springer: Berlin/Heidelberg, Germany, 2021; pp. 57–77. [Google Scholar]
  41. Bermudez, A.; Vazquez, M.E. Upwind methods for hyperbolic conservation laws with source terms. Comput. Fluids 1994, 23, 1049–1071. [Google Scholar] [CrossRef]
  42. Haier, E.; Lubich, C.; Wanner, G. Geometric Numerical Integration: Structure-Preserving Algorithms for Ordinary Differential Equations; Springer: Berlin/Heidelberg, Germany, 2006. [Google Scholar]
  43. Van Leer, B. Towards the Ultimate Conservative Difference Scheme V. A Second-order Sequel to Godunov’s Method. J. Comput. Phys. 1979, 32, 101–136. [Google Scholar] [CrossRef]
  44. Levy, D.; Puppo, G.; Russo, G. Compact Central WENO Schemes for Multidimensional Conservation Laws. SIAM J. Sci. Comput. 2000, 22. [Google Scholar] [CrossRef] [Green Version]
  45. Cravero, I.; Semplice, M. On the accuracy of WENO and CWENO reconstructions of third order on nonuniform meshes. J. Sci. Comput. 2015, 67. [Google Scholar] [CrossRef] [Green Version]
  46. Gottlieb, S.; Shu, C.W. Total Variation Diminishing Runge-Kutta Schemes. Math. Comput. 1996, 67. [Google Scholar] [CrossRef] [Green Version]
  47. Michel-Dansac, V.; Berthon, C.; Clain, S.; Foucher, F. A well-balanced scheme for the shallow-water equations with topography. Comput. Math. Appl. 2015, 72. [Google Scholar] [CrossRef] [Green Version]
  48. Gaburro, E.; Castro, M.J.; Dumbser, M. Well-balanced Arbitrary-Lagrangian-Eulerian finite volume schemes on moving nonconforming meshes for the Euler equations of gas dynamics with gravity. Mon. Not. R. Astron. Soc. 2018, 477, 2251–2275. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Test 1.1. Differences between the stationary and the numerical solutions at time t = 5 s for a 200-cell mesh.
Figure 1. Test 1.1. Differences between the stationary and the numerical solutions at time t = 5 s for a 200-cell mesh.
Mathematics 09 01799 g001
Figure 2. Test 2.1. Differences between the stationary and the numerical solutions at t = 5 s using a mesh with 100 cells.
Figure 2. Test 2.1. Differences between the stationary and the numerical solutions at t = 5 s using a mesh with 100 cells.
Mathematics 09 01799 g002
Figure 3. Test 2.2. Reference and numerical solutions: differences with the stationary solution at times t = 0.3 , 5 s for a 100-cell mesh.
Figure 3. Test 2.2. Reference and numerical solutions: differences with the stationary solution at times t = 0.3 , 5 s for a 100-cell mesh.
Mathematics 09 01799 g003
Figure 4. Test 3.1. Reference and numerical solutions: differences with the stationary solution at time t = 1 s for the 200-cell mesh.
Figure 4. Test 3.1. Reference and numerical solutions: differences with the stationary solution at time t = 1 s for the 200-cell mesh.
Mathematics 09 01799 g004
Figure 5. Test 3.2. Reference and numerical solutions: differences with the stationary solution at times t = 0.1 , 5 s for h with a 200-cell mesh.
Figure 5. Test 3.2. Reference and numerical solutions: differences with the stationary solution at times t = 0.1 , 5 s for h with a 200-cell mesh.
Mathematics 09 01799 g005
Figure 6. Test 3.2. Reference and numerical solutions: differences with the stationary solution at times t = 0.1 , 5 s for q for a 200-cell mesh.
Figure 6. Test 3.2. Reference and numerical solutions: differences with the stationary solution at times t = 0.1 , 5 s for q for a 200-cell mesh.
Mathematics 09 01799 g006aMathematics 09 01799 g006b
Figure 7. Test 3.3. Reference and numerical solutions: differences with the stationary solution at times t = 0.1 s and t = 5 s for h for a 100-cell mesh.
Figure 7. Test 3.3. Reference and numerical solutions: differences with the stationary solution at times t = 0.1 s and t = 5 s for h for a 100-cell mesh.
Mathematics 09 01799 g007
Figure 8. Test 3.3. Errors in L 1 -norm with respect to the reference solution versus CPU times in milliseconds for the NWBM2 and CLWBM2 at time t = 1 s.
Figure 8. Test 3.3. Errors in L 1 -norm with respect to the reference solution versus CPU times in milliseconds for the NWBM2 and CLWBM2 at time t = 1 s.
Mathematics 09 01799 g008
Figure 9. Test 4.1. Differences between the stationary and the numerical solutions for CLWBMi, i = 1 , 2 , 3 at time t = 1 s for a 200-cell mesh.
Figure 9. Test 4.1. Differences between the stationary and the numerical solutions for CLWBMi, i = 1 , 2 , 3 at time t = 1 s for a 200-cell mesh.
Mathematics 09 01799 g009
Figure 10. Test 4.2. Reference and numerical solutions: differences with the stationary solution for CLWBMi, i = 1 , 2 , 3 , at times t = 0.06 , 9 s for h on a 100-cell mesh.
Figure 10. Test 4.2. Reference and numerical solutions: differences with the stationary solution for CLWBMi, i = 1 , 2 , 3 , at times t = 0.06 , 9 s for h on a 100-cell mesh.
Mathematics 09 01799 g010
Figure 11. Test 4.3. 100-cell numerical solutions and reference solution at time t = 1 s.
Figure 11. Test 4.3. 100-cell numerical solutions and reference solution at time t = 1 s.
Mathematics 09 01799 g011
Figure 12. Test 4.3. Differences between the stationary and the numerical solutions at time t = 1 s with a 100-cell mesh.
Figure 12. Test 4.3. Differences between the stationary and the numerical solutions at time t = 1 s with a 100-cell mesh.
Mathematics 09 01799 g012
Figure 13. Test 4.4. Reference and numerical solutions: differences with the stationary solution at times t = 0.015 , 2 s for h, for a 100-cell mesh.
Figure 13. Test 4.4. Reference and numerical solutions: differences with the stationary solution at times t = 0.015 , 2 s for h, for a 100-cell mesh.
Mathematics 09 01799 g013
Figure 14. Test 5.1. Differences between the stationary and the numerical solutions at time t = 5 s for ρ with a mesh of 100 cells.
Figure 14. Test 5.1. Differences between the stationary and the numerical solutions at time t = 5 s for ρ with a mesh of 100 cells.
Mathematics 09 01799 g014
Figure 15. Test 5.1. Differences between the stationary and the numerical solutions at time t = 5 s for q with a mesh of 100 cells.
Figure 15. Test 5.1. Differences between the stationary and the numerical solutions at time t = 5 s for q with a mesh of 100 cells.
Mathematics 09 01799 g015
Figure 16. Test 5.1. Differences between the stationary and the numerical solutions at time t = 5 s for E with a mesh of 100 cells.
Figure 16. Test 5.1. Differences between the stationary and the numerical solutions at time t = 5 s for E with a mesh of 100 cells.
Mathematics 09 01799 g016
Table 1. Test 1.1. L 1 errors at t = 5 and convergence rates for CLWBM3 when option (a), (b), (c), and (d) are chosen to compute the initial cell averages.
Table 1. Test 1.1. L 1 errors at t = 5 and convergence rates for CLWBM3 when option (a), (b), (c), and (d) are chosen to compute the initial cell averages.
CellsOption (a)Option (b)Option (c)Option (d)
ErrorOrderErrorOrderErrorOrderErrorOrder
51.96 × 10 4 -1.82 × 10 4 -1.46 × 10 4 -4.88 × 10 16 -
101.21 × 10 5 4.0151.12 × 10 5 4.0168.81 × 10 6 4.0547.44 × 10 16 -
207.56 × 10 7 4.0037.01 × 10 7 4.0035.42 × 10 7 4.0233.00 × 10 16 -
404.72 × 10 8 4.0014.38 × 10 8 4.0013.36 × 10 8 4.0117.94 × 10 15 -
802.95 × 10 9 4.0002.74 × 10 9 4.0002.09 × 10 9 4.0069.00 × 10 15 -
1601.84 × 10 10 4.0001.71 × 10 10 4.0001.30 × 10 10 4.0031.23 × 10 14 -
Table 2. Test 1.1. Differences in L 1 -norm with respect to the stationary solution and convergence rates for NWBMi, i = 1 , 2 , 3 .
Table 2. Test 1.1. Differences in L 1 -norm with respect to the stationary solution and convergence rates for NWBMi, i = 1 , 2 , 3 .
CellsNWBM1: ErrorOrderNWBM2: ErrorOrderNWBM3: ErrorOrder
1007.53 × 10 2 -2.44 × 10 3 -7.66 × 10 6 -
2003.78 × 10 2 0.9958.09 × 10 4 1.5919.62 × 10 7 2.993
4001.89 × 10 2 1.0022.16 × 10 4 1.9051.21 × 10 7 2.995
8009.43 × 10 3 1.0005.54 × 10 5 1.9631.51 × 10 8 2.998
Table 3. Test 1.1. Differences in L 1 -norm with respect to the stationary solution for WBMi, CWBMi, CLWBMi, i = 1 , 2 , 3 .
Table 3. Test 1.1. Differences in L 1 -norm with respect to the stationary solution for WBMi, CWBMi, CLWBMi, i = 1 , 2 , 3 .
CellsOrder 1: ErrorOrder 2: ErrorOrder 3: Error
WBMCWBMCLWBMWBMCWBMCLWBMWBMCWBMCLWBM
1004.21 × 10 15 3.55 × 10 15 2.50 × 10 15 8.87 × 10 16 3.63 × 10 16 2.03 × 10 16 3.20 × 10 16 1.43 × 10 14 8.17 × 10 15
2002.90 × 10 15 5.54 × 10 13 2.51 × 10 15 4.42 × 10 16 1.23 × 10 15 1.66 × 10 16 2.54 × 10 16 2.43 × 10 14 1.76 × 10 14
4001.84 × 10 14 2.05 × 10 14 1.12 × 10 15 1.82 × 10 15 3.64 × 10 16 2.89 × 10 16 7.40 × 10 14 4.47 × 10 14 4.45 × 10 14
8004.45 × 10 16 2.67 × 10 15 2.77 × 10 15 1.83 × 10 16 2.03 × 10 16 2.05 × 10 16 2.61 × 10 15 9.48 × 10 14 7.88 × 10 14
Table 4. Test 1.1. Computational times (milliseconds).
Table 4. Test 1.1. Computational times (milliseconds).
CellsOrder (i)NWBMiWBMiCWBMiCLWBMi
120307030
10023060140110
340190240230
12060230100
200240190330280
3110480530520
150180520220
40021005301150720
3350168019801870
11405702020870
8002270204035802820
31080554066005960
Table 5. Test 2.1. Differences in L 1 -norm with respect to the stationary solution and convergence rates for NWBMi, i = 1 , 2 , 3 .
Table 5. Test 2.1. Differences in L 1 -norm with respect to the stationary solution and convergence rates for NWBMi, i = 1 , 2 , 3 .
CellsError ( i = 1 )OrderError ( i = 2 )OrderError ( i = 3 )Order
1002.72 × 10 3 -1.43 × 10 4 -2.53 × 10 5 -
2001.34 × 10 3 1.0212.43 × 10 6 5.8791.74 × 10 8 10.503
4006.58 × 10 4 1.0268.19 × 10 7 1.5691.14 × 10 10 7.250
8003.24 × 10 4 1.0222.34 × 10 7 1.8061.41 × 10 11 3.016
Table 6. Test 2.1. Differences in L 1 -norm with respect to the stationary solution for CWBMi, CLWBMi, i = 1 , 2 , 3 .
Table 6. Test 2.1. Differences in L 1 -norm with respect to the stationary solution for CWBMi, CLWBMi, i = 1 , 2 , 3 .
CellsOrder 1: ErrorOrder 2: ErrorOrder 3: Error
CWBMCLWBMCWBMCLWBMCWBMCLWBM
1009.71 × 10 14 3.00 × 10 15 1.76 × 10 13 6.39 × 10 16 1.99 × 10 13 8.50 × 10 15
2007.56 × 10 15 5.37 × 10 15 3.46 × 10 15 5.15 × 10 16 2.97 × 10 14 2.51 × 10 14
4004.00 × 10 15 5.68 × 10 15 7.53 × 10 16 5.73 × 10 16 3.31 × 10 14 4.85 × 10 14
8005.97 × 10 15 4.63 × 10 15 8.54 × 10 16 5.31 × 10 16 6.63 × 10 14 9.61 × 10 14
Table 7. Test 2.1. Computational cost (milliseconds). t = 5 s.
Table 7. Test 2.1. Computational cost (milliseconds). t = 5 s.
CellsOrder(i)NWBMiCWBMiCLWBMi
110340130
100220690280
3401390490
1301280230
2002602350440
318051901230
Table 8. Test 2.2. Differences in L 1 -norm with respect to the stationary solution for NWBMi, CWBMi, and CLWBMi ( i = 1 , 2 , 3 ) at time t = 5 s.
Table 8. Test 2.2. Differences in L 1 -norm with respect to the stationary solution for NWBMi, CWBMi, and CLWBMi ( i = 1 , 2 , 3 ) at time t = 5 s.
MethodError ( i = 1 )Error ( i = 2 )Error ( i = 3 )
NWBMi2.43 × 10 3 1.71 × 10 3 1.05 × 10 3
CWBMi1.09 × 10 13 4.47 × 10 15 3.34 × 10 14
CLWBMi2.52 × 10 15 1.19 × 10 15 1.24 × 10 14
Table 9. Test 3.1. Differences in L 1 -norm with respect to the stationary solution and convergence rates for NWBMi, i = 1 , 2 , 3 .
Table 9. Test 3.1. Differences in L 1 -norm with respect to the stationary solution and convergence rates for NWBMi, i = 1 , 2 , 3 .
CellsError ( i = 1 )OrderError ( i = 2 )OrderError ( i = 3 )Order
h h h
1004.99 × 10 2 -7.63 × 10 3 -5.99 × 10 3 -
2001.31 × 10 2 1.9231.27 × 10 3 2.5838.86 × 10 4 2.757
4003.87 × 10 3 1.7661.84 × 10 4 2.7906.20 × 10 5 3.838
8001.56 × 10 3 1.3145.31 × 10 5 1.7946.88 × 10 6 3.172
CellsError ( i = 1 )OrderError ( i = 2 )OrderError ( i = 3 )Order
q q q
1001.28 × 10 1 -1.89 × 10 2 -1.72 × 10 2 -
2002.81 × 10 2 2.1883.18 × 10 3 2.5752.35 × 10 3 2.866
4009.29 × 10 3 1.1614.81 × 10 4 2.7242.09 × 10 4 3.489
8004.09 × 10 3 1.1681.37 × 10 4 1.8122.29 × 10 5 3.190
Table 10. Test 3.1. Differences in L 1 -norm with respect to the stationary solution for CLWBMi, i = 1 , 2 , 3 .
Table 10. Test 3.1. Differences in L 1 -norm with respect to the stationary solution for CLWBMi, i = 1 , 2 , 3 .
CellsError (i = 1)Error (i = 2)Error (i = 3)
h q h q h q
1001.46 × 10 15 2.13 × 10 15 2.80 × 10 16 1.44 × 10 15 2.88 × 10 16 3.63 × 10 15
2004.95 × 10 16 3.00 × 10 16 3.03 × 10 15 1.44 × 10 14 3.94 × 10 14 5.53 × 10 14
4002.94 × 10 16 1.74 × 10 15 4.75 × 10 16 1.20 × 10 15 8.89 × 10 14 1.45 × 10 13
8001.50 × 10 15 6.92 × 10 15 3.25 × 10 16 1.21 × 10 15 1.04 × 10 13 1.55 × 10 13
Table 11. Test 3.1. Computational cost (milliseconds). t = 1 s.
Table 11. Test 3.1. Computational cost (milliseconds). t = 1 s.
CellsOrder (i)NWBMiCLWBMi
12030
100230130
370320
13060
200280370
32001100
Table 12. Test 3.2. Differences in L 1 -norm for NWBMi and CLWBMi ( i = 1 , 2 , 3 ) with respect to the stationary solution using a 200-cell mesh at time t = 5 s.
Table 12. Test 3.2. Differences in L 1 -norm for NWBMi and CLWBMi ( i = 1 , 2 , 3 ) with respect to the stationary solution using a 200-cell mesh at time t = 5 s.
MethodError ( i = 1 )Error ( i = 2 )Error ( i = 3 )
h q h q h q
NWBMi1.01 × 10 2 2.13 × 10 2 4.83 × 10 4 2.00 × 10 3 2.70 × 10 4 1.30 × 10 3
CLWBMi5.11 × 10 14 4.32 × 10 16 1.95 × 10 14 6.47 × 10 15 7.89 × 10 14 1.38 × 10 13
Table 13. Test 3.3. Differences in L 1 -norm for NWBMi and CLWBMi ( i = 1 , 2 , 3 ) with respect to the stationary solution for the 100-cell mesh at time t = 5 s.
Table 13. Test 3.3. Differences in L 1 -norm for NWBMi and CLWBMi ( i = 1 , 2 , 3 ) with respect to the stationary solution for the 100-cell mesh at time t = 5 s.
MethodError ( i = 1 )Error ( i = 2 )Error ( i = 3 )
h q h q h q
NWBMi5.08 × 10 2 1.94 × 10 1 9.33 × 10 3 3.51 × 10 2 6.02 × 10 3 2.12 × 10 2
CLWBMi1.81 × 10 15 5.54 × 10 15 1.95 × 10 15 4.45 × 10 15 2.46 × 10 14 5.20 × 10 14
Table 14. Test 4.1. Differences in L 1 -norm with respect to the stationary solution for CLWBMi ( i = 1 , 2 , 3 ) for the 200-cell mesh at time t = 1 s.
Table 14. Test 4.1. Differences in L 1 -norm with respect to the stationary solution for CLWBMi ( i = 1 , 2 , 3 ) for the 200-cell mesh at time t = 1 s.
MethodError ( i = 1 )Error ( i = 2 )Error ( i = 3 )
h q h q h q
CLWBMi2.24 × 10 16 5.06 × 10 16 0.005.56 × 10 19 1.58 × 10 14 3.38 × 10 14
Table 15. Test 4.2. Differences in L 1 -norm with respect to the stationary solution for CLWBMi ( i = 1 , 2 , 3 ) for the 100-cell mesh at time t = 9 s.
Table 15. Test 4.2. Differences in L 1 -norm with respect to the stationary solution for CLWBMi ( i = 1 , 2 , 3 ) for the 100-cell mesh at time t = 9 s.
MethodError ( i = 1 )Error ( i = 2 )Error ( i = 3 )
h q h q h q
CLWBMi2.99 × 10 16 3.97 × 10 16 1.81 × 10 15 2.76 × 10 15 6.50 × 10 14 1.77 × 10 14
Table 16. Test 4.3. Differences in L 1 -norm with respect to the stationary solution for NWBMi and CLWBMi ( i = 1 , 2 , 3 ) for the 100-cell mesh at time t = 1 s.
Table 16. Test 4.3. Differences in L 1 -norm with respect to the stationary solution for NWBMi and CLWBMi ( i = 1 , 2 , 3 ) for the 100-cell mesh at time t = 1 s.
MethodError ( i = 1 )Error ( i = 2 )Error ( i = 3 )
h q h q h q
NWBMi8.28 × 10 1 1.543.61 × 10 3 4.88 × 10 3 3.65 × 10 3 4.30 × 10 4
CLWBMi7.03 × 10 16 5.85 × 10 16 3.22 × 10 17 3.75 × 10 16 2.14 × 10 15 6.87 × 10 15
Table 17. Test 4.4. Differences in L 1 -norm with respect to the stationary solution for NWBMi and CLWBMi ( i = 1 , 2 , 3 ) at time t = 2 s for a 100-cell mesh.
Table 17. Test 4.4. Differences in L 1 -norm with respect to the stationary solution for NWBMi and CLWBMi ( i = 1 , 2 , 3 ) at time t = 2 s for a 100-cell mesh.
MethodError ( i = 1 )Error ( i = 2 )Error ( i = 3 )
h q h q h q
NWBMi2.426.123.57 × 10 3 4.87 × 10 3 1.39 × 10 3 4.30 × 10 4
CLWBMi3.73 × 10 16 3.60 × 10 16 1.80 × 10 15 1.99 × 10 15 2.64 × 10 15 8.93 × 10 15
Table 18. Test 5.1. Differences in L 1 -norm with respect to the stationary solution for NWBMi and CLWBMi ( i = 1 , 2 , 3 ) for the mesh with 100 cells at time t = 5 s.
Table 18. Test 5.1. Differences in L 1 -norm with respect to the stationary solution for NWBMi and CLWBMi ( i = 1 , 2 , 3 ) for the mesh with 100 cells at time t = 5 s.
MethodError ( i = 1 )Error ( i = 2 )Error ( i = 3 )
h
NWBMi2.23 × 10 4 9.41 × 10 5 9.51 × 10 3
CLWBMi6.97 × 10 15 6.58 × 10 14 3.20 × 10 13
q
NWBMi1.45 × 10 4 1.28 × 10 3 5.95 × 10 3
CLWBMi2.22 × 10 15 2.81 × 10 15 2.77 × 10 14
E
NWBMi1.38 × 10 4 1.22 × 10 3 5.78 × 10 3
CLWBMi1.24 × 10 14 8.13 × 10 14 7.15 × 10 13
Table 19. Test 5.1. Computational cost (milliseconds) for the mesh with 100 cells. t = 5 s.
Table 19. Test 5.1. Computational cost (milliseconds) for the mesh with 100 cells. t = 5 s.
Order (i)NWBMiCWBMiCLWBMi
11204480220
225089601440
3670194304750
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Gómez-Bueno, I.; Díaz, M.J.C.; Parés, C.; Russo, G. Collocation Methods for High-Order Well-Balanced Methods for Systems of Balance Laws. Mathematics 2021, 9, 1799. https://doi.org/10.3390/math9151799

AMA Style

Gómez-Bueno I, Díaz MJC, Parés C, Russo G. Collocation Methods for High-Order Well-Balanced Methods for Systems of Balance Laws. Mathematics. 2021; 9(15):1799. https://doi.org/10.3390/math9151799

Chicago/Turabian Style

Gómez-Bueno, Irene, Manuel Jesús Castro Díaz, Carlos Parés, and Giovanni Russo. 2021. "Collocation Methods for High-Order Well-Balanced Methods for Systems of Balance Laws" Mathematics 9, no. 15: 1799. https://doi.org/10.3390/math9151799

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop