Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

The shallow water equations are a nonlinear hyperbolic system of conservation laws with a source term due to the topography. In the one-dimensional case, they read

$$\begin{aligned}&\partial _th+\partial _x(hu)=0,\end{aligned}$$
(1)
$$\begin{aligned}&\partial _t(hu)+\partial _x\left( hu^2+\frac{1}{2}gh^2\right) +gh\partial _x z =0, \end{aligned}$$
(2)

where \(t\) denotes the time variable, \(x\) denotes the space variable, \(h\) is the water height, \(u\) is the velocity, \(g\) is the gravitational constant, and \(z\) is the topography of the bottom.

For such a problem, where shocks can form in the solution, finite volume methods have proved to be very effective. Generally, all the unknowns of the system are approximated on the same mesh and the numerical fluxes are computed with an approximate Riemann solver. We refer to [1, 6] for a thorough description and analysis of this approach. Staggered finite volume discretizations for solving nonlinear hyperbolic system of conservation laws have been investigated more recently (see, e.g., [35]). In contrast to the collocated discretization described above, the different unknowns of the system are approximated on staggered meshes. The numerical fluxes can then be computed simply componentwise, using upwind or centered approximations.

In the present paper, we propose an explicit staggered finite volume scheme for the shallow water equations. The scheme is identical to the one in [4] when the topography is flat. We prove a number of properties of the scheme: preservation of the water height positivity, preservation of some particular discrete steady states (well-balanced property), consistency with the entropy inequality. The preservation of the water height positivity is physically relevant and is crucial for the stability, the occurrence of negative quantities leading rapidly to the computation failure. We obtain this positivity for the staggered scheme under a CFL-like condition. The steady states of the shallow water equations are the states \((h,u)\) such that \(hu=cst\) and \(\frac{1}{2}u^2 +g(h+z)=cst\). In particular, the steady states at rest, that is the steady states such that \(u=0\), satisfy \(h+z=cst\). The preservation of these steady states at rest at the discrete level is important since many practical problems are perturbations of such states. With approximate Riemann solvers, this preservation is quite involved [1], whereas it is straightforward in the staggered framework (on uniform grids). The entropy \(\eta \) for the shallow water equations is the sum of the kinetic energy, the potential energy and a term stemming from the topography:

$$\begin{aligned} \eta (h,hu):=\frac{1}{2}h u^2 + \frac{1}{2}g h^2+ghz. \end{aligned}$$
(3)

The entropy inequality reads

$$\begin{aligned} \partial _t\eta (h,hu)+\partial _x G(h,hu)\le 0, \end{aligned}$$
(4)

where the entropy flux \(G\) is defined by

$$\begin{aligned}&G(h,hu):=\left( \frac{1}{2}h u^2 + g h^2\right) u+ghzu \end{aligned}$$
(5)

The staggered scheme does not satisfy a discrete entropy inequality. However, we prove that it is consistent with the global entropy inequalitiy, which guarantees that the discontinuities computed by the scheme are admissible discontinuities.

Finally, we test the staggered scheme on various problems with analytical solutions: a dam break on a wet bed, oscillations in a parabola and a transcritical flow with shock [2]. The results are compared with those of two approximate Riemann solvers (Suliciu/HLLC and kinetic solvers [1]).

The paper is organized as follows. Section 2 describes the staggered scheme and its first properties. Section 3 presents the entropy consistency theorem and Sect. 4 the numerical tests. A brief comparison between the staggered and collocated schemes is made in conclusion.

2 Description of the Scheme

For sake of brevity, we only describe the staggered scheme in the one-dimensional case. The extension to the two-dimensional case is discussed in Remark 2 below. We consider the time interval \((0,T)\) and the space domain \(\varOmega :=(0,L)\) with solid wall boundary conditions (i.e., \(u=0\) at each end of the domain \(\varOmega \)). The time interval is divided into \(N_t\) time steps of length \(\varDelta t\) and, for all \(n\in \{0,\ldots ,N_t\}\), \(t^n:=n\varDelta t\). The domain \(\varOmega \) is divided into \(N_x\) cells of length \(\varDelta x\). The left end, the center and the right end of the \(i\)-th cell are denoted by \(x_{i-\frac{1}{2}}\), \(x_i\) and \(x_{i+\frac{1}{2}}\), respectively. We set \(\fancyscript{M}:=\{1,\ldots ,N_x\}\), \(\fancyscript{E}_{int}:=\{1,\ldots ,N_x-1\}\), \(\fancyscript{E}_b:=\{0,N_x\}\), and \(\fancyscript{E}:=\fancyscript{E}_{int}\cup \fancyscript{E}_b\). The water height \(h\) and the topography \(z\) are discretized at the center of the cells. The approximation of \(h\) at point \(x_i\) and at time \(t^n\) is denoted by \(h_i^n\). The approximation of \(z\) at point \(x_i\) is denoted by \(z_i\). The velocity \(u\) is discretized at the interfaces between the cells. The approximation of \(u\) at point \(x_{i+\frac{1}{2}}\) and at time \(t^n\) is denoted by \(u_{i+\frac{1}{2}}^n\).

The mass conservation equation is discretized with an explicit upwind scheme:

$$\begin{aligned} h_i^{n+1}-h_i^{n}+\frac{\varDelta t}{\varDelta x} \left( q^n_{i+\frac{1}{2}}-q_{i-\frac{1}{2}}^n \right) =0,\qquad \forall i\in \fancyscript{M}, \end{aligned}$$
(6)

where

$$\begin{aligned} q_{i+\frac{1}{2}}^n:={\hat{h}}_{i+\frac{1}{2}}^n u_{i+\frac{1}{2}}^{n},\qquad {\hat{h}}_{i+\frac{1}{2}}^n:={\left\{ \begin{array}{ll} h_i^n &{} \text {if } u_{i+\frac{1}{2}}^n\ge 0 \\ h_{i+1}^n &{} \text {if } u_{i+\frac{1}{2}}^n< 0 \end{array}\right. },\qquad \forall i\in \fancyscript{E}. \end{aligned}$$

The momentum balance equation is discretized with explicit upwind fluxes for the convection term and implicit centered fluxes for the pressure term and topography term:

$$\begin{aligned} h_{i+\frac{1}{2}}^{n+1}u_{i+\frac{1}{2}}^{n+1}-h_{i+\frac{1}{2}}^{n}u_{i+\frac{1}{2}}^{n}&+\frac{\varDelta t}{\varDelta x}\Big [q_{i+1}^n\hat{u}_{i+1}^n-q_{i}^n\hat{u}_{i}^n +\frac{1}{2}g\left[ (h_{i+1}^{n+1})^2 -(h_{i}^{n+1})^2\right] \nonumber \\&\qquad \qquad + gh_{i+\frac{1}{2}}^{n+1}(z_{i+1}-z_i)\Big ]=0,\qquad \forall i\in \fancyscript{E}_{int}, \end{aligned}$$
(7)

where

$$\begin{aligned} h_{i+\frac{1}{2}}^n:=\frac{1}{2}\left( h_i^n+h_{i+1}^n\right) ,\qquad \forall i\in \fancyscript{E}_{int}, \end{aligned}$$
$$\begin{aligned} q_i^n:=\frac{1}{2}\left( q_{i-\frac{1}{2}}^n+q_{i+\frac{1}{2}}^n\right) ,\qquad \hat{u}_{i}^n:={\left\{ \begin{array}{ll} u_{i-\frac{1}{2}}^n &{} \text {if } q_i^n\ge 0 \\ u_{i+\frac{1}{2}}^n &{} \text {if } q_i^n< 0 \end{array}\right. },\qquad \forall i\in \fancyscript{M}. \end{aligned}$$

The discrete boundary conditions are

$$\begin{aligned} u_{i+\frac{1}{2}}^{n+1}=0\quad \forall i\in \fancyscript{E}_b. \end{aligned}$$
(8)

The computation of the discrete unknowns at each time step is completely explicit. First the discrete water heights \(\{h_{i}^{n+1}\}\) are computed with (6), then the discrete velocities \(\{u_{i+\frac{1}{2}}^{n+1}\}\) are computed with (7) (if \(h_{i+\frac{1}{2}}^{n+1}=0\), by convention, \(u_{i+\frac{1}{2}}^{n+1}\) is set to zero). We see immediately that this scheme conserves the mass and, for a flat topography, the total momentum. It is easy to verify that the water height remains nonnegative at time \(t^{n+1}\) under the CFL-like condition

$$\begin{aligned} \varDelta t \le \frac{\varDelta x}{(-u_{i-\frac{1}{2}}^n)^+ +(u_{i+\frac{1}{2}}^n)^+},\quad \forall i\in \fancyscript{M}, \end{aligned}$$
(9)

where, for any \(a\in \mathbb {R}\), \((a)^+:=\max (a,0)\) (similarly, the notation \((a)^-:=\min (a,0)\) will be used in the next section). The steady states at rest are also preserved. Indeed, if \(u_{i+\frac{1}{2}}^n=0\) and \(h_i^n+z_i=cst\) for all \(i\in \{0,\ldots ,N\}\), then \(u_{i+\frac{1}{2}}^{n+1}=0\) and \(h_i^{n+1}+z_i=cst\). At each time step, the Courant number is defined by

$$\begin{aligned} \nu :=\frac{\varDelta t}{\varDelta x} \max _{i\in \fancyscript{M}}\Bigg (\frac{\big |q_{i+\frac{1}{2}}^n+q_{i-\frac{1}{2}}^n\big |}{2h_i^n}+\sqrt{gh_i^n}\Bigg ). \end{aligned}$$
(10)

The numerical simulations show that the staggered scheme is stable under the CFL condition \(\nu <1\).

Remark 1

It is essential to make an implicit discretization of the pressure term in (7). With an explicit discretization (\(\left[ (h_{i+1}^{n})^2 -(h_{i}^{n})^2\right] \) instead of \(\big [(h_{i+1}^{n+1})^2 -(h_{i}^{n+1})^2\big ]\)), the scheme would not be consistent with the entropy inequality. As a consequence, non-entropic shocks might occur in the numerical simulations (see Fig. 2).

Remark 2

The extension of the scheme (6)–(8) to the two-dimensional case is direct with a Cartesian grid. The water height \(h\) and the topography \(z\) are discretized at the center of the cells. The velocity in the \(x\)-direction is discretized at the center of the edges normal to the \(x\)-direction, while the velocity in the \(y\)-direction is discretized at the center of the edges normal to the \(y\)-direction.

Remark 3

The upwind fluxes and the Euler-like time-integration limit the scheme (6)–(8) to first-order accuracy in space and time. Second-order accuracy can be achieved with usual techniques: MUSCL or ENO flux reconstruction, second-order time-integration scheme (for instance, a scheme mixing Heun and Crank-Nicolson discretizations).

Remark 4

Source terms are often added to the momentum equation to model friction phenomena. For instance, the Manning friction term is \(C u|u|/h^{1/3}\), where \(C\) is a given coefficient. In the staggered framework, such a term can be approximated with \(C u_{i+\frac{1}{2}}^{n+1}|u_{i+\frac{1}{2}}^n|/(h_{i+\frac{1}{2}}^{n+1})^{1/3}\).

3 Consistency with the Entropy Inequality

We first establish a balance on the kinetic energy and a balance on the potential and topography energy.

Proposition 1

The discrete solution of the scheme (6)–(7) satisfies, for all \(i\in \fancyscript{E}_{int}\) and all \(n\in \{0,\ldots ,N_t\}\), the balance

$$\begin{aligned}&\frac{1}{2}\frac{\varDelta x}{\varDelta t}\left( h_{i+\frac{1}{2}}^{n+1}(u_{i+\frac{1}{2}}^{n+1})^2-h_{i+\frac{1}{2}}^{n}(u_{i+\frac{1}{2}}^{n})^2\right) +\frac{1}{2}\left( q_{i+1}^n(\hat{u}_{i+1}^n)^2-q_{i}^n(\hat{u}_{i}^n)^2\right) \nonumber \\&\quad \quad \quad \quad + \frac{1}{2}g\left( (h_{i+1}^{n+1})^2 -(h_{i}^{n+1})^2\right) u_{i+\frac{1}{2}}^{n+1}+gh_{i+\frac{1}{2}}^{n+1}u_{i+\frac{1}{2}}^{n+1}(z_{i+1}-z_i) =-R_{i+\frac{1}{2}}^{n+1} \end{aligned}$$
(11)

with

$$\begin{aligned} R_{i+\frac{1}{2}}^{n+1}:=&\frac{1}{2}\frac{\varDelta x}{\varDelta t}h_{i+\frac{1}{2}}^{n+1}\left( u_{i+\frac{1}{2}}^{n+1}-u_{i+\frac{1}{2}}^{n}\right) ^2 +\frac{1}{2}\left( (q_{i+1}^n)^-\left( u_{i+\frac{3}{2}}^{n}-u_{i+\frac{1}{2}}^{n}\right) ^2 \right. \nonumber \\&\left. -\,(q_{i}^n)^+\left( u_{i-\frac{1}{2}}^{n}-u_{i+\frac{1}{2}}^{n}\right) ^2\right) -\left[ (q_{i+1}^n)^-\left( u_{i+\frac{3}{2}}^{n}-u_{i+\frac{1}{2}}^{n}\right) \right. \nonumber \\&\left. -\,(q_{i}^n)^+\left( u_{i-\frac{1}{2}}^{n}-u_{i+\frac{1}{2}}^{n}\right) \right] \left( u_{i+\frac{1}{2}}^{n+1}-u_{i+\frac{1}{2}}^{n}\right) , \end{aligned}$$
(12)

and, for all \(i\in \fancyscript{M}\) and all \(n\in \{0,\ldots ,N_t\}\), the balance

$$\begin{aligned} \frac{\varDelta x}{\varDelta t}\left( \frac{1}{2}g (h_i^{n+1})^2 - \frac{1}{2}g (h_i^{n})^2\right)&+\left( \frac{1}{2}g (\hat{h}_{i+\frac{1}{2}}^n)^2 u_{i+\frac{1}{2}}^{n} - \frac{1}{2}g (\hat{h}_{i-\frac{1}{2}}^n)^2 u_{i-\frac{1}{2}}^{n}\right) \nonumber \\&\quad +\frac{1}{2}g (h_{i}^{n})^2 \left( u_{i+\frac{1}{2}}^{n} - u_{i-\frac{1}{2}}^{n}\right) =-R_i^{n+1} \end{aligned}$$
(13)

with

$$\begin{aligned} R_{i}^{n+1}:=&\frac{1}{2}g\frac{\varDelta x}{\varDelta t}\left( h_i^{n+1}-h_i^{n}\right) ^2+ \frac{1}{2}\left( h_{i+1}^{n}-h_{i}^{n}\right) ^2(u_{i+\frac{1}{2}}^n)^- \nonumber \\&-\frac{1}{2}\left( h_{i-1}^{n}-h_{i}^{n}\right) ^2(u_{i-\frac{1}{2}}^n)^+ + g \left( h_i^{n+1}-h_i^{n}\right) \left( q^n_{i+\frac{1}{2}}-q_{i-\frac{1}{2}}^n \right) . \end{aligned}$$
(14)

Using the above balances we can deduce the following global consistency result.

Theorem 1

Let \(Q_T:=(0,T)\times \varOmega \). Let \((h^{(k)},u^{(k)})_{k\in \mathbb {N}}\) be a sequence of discrete solutions. If the sequence satisfies some estimates (that we do not specify here) and converges in \(L^{p}(Q_T)\times L^{p}(Q_T)\), with \(p\in [1,+\infty )\), then its limit \((h,u)\) satisfy

$$\begin{aligned} \int _{Q_T}\Big (\eta (h,hu)\partial _t\varphi + G(h,hu) \partial _x \varphi \Big )\, \mathrm{d}x\mathrm{d}t \ge 0, \end{aligned}$$
(15)

for all nonnegative test functions \(\varphi \in C^\infty _c(Q_T)\).

Remark 5

A similar consistency study in the case of a flat topography can be found in [4].

Fig. 1
figure 1

Dam break on a wet bed. Water height (left) and velocity (right) around the shock at time \(t=0.1\). The number of cells is \(Nx=1000\)

4 Numerical Tests

4.1 Dam Break on a Wet Bed

The domain is \(\varOmega =[0,1]\) and the topography is flat. The initial velocity is zero and the initial water height is \(h_\mathrm{ini}(x)=1\!\!1_{x<0.5}+0.2 1\!\!1_{x\ge 0.5}\). The solution of this problems consists of a shock and a rarefaction wave. The numerical solution obtained with the staggered scheme is in very good agreement with the exact solution (see Fig. 1). The staggered scheme yields a sharper shock than the kinetic and Suliciu schemes. However, a small overshoot in the water height and the velocity can be observed upstream from the shock for the staggered scheme. This overshoot does not occur in the kinetic and Suliciu schemes. The numerical convergence rate of the staggered scheme in \(L^1\)-norm is slightly less than 0.8 for \(h\) and about 0.8 for \(u\). These convergence rates are comparable to those obtained with the kinetic and Suliciu schemes.

The staggered scheme with an explicit pressure, discussed in Remark 1, has also been tested on the dam break problem. The non-entropic character of this variant is confirmed by the simulations; see the occurrence of a non-entropic shock at the left end of the rarefaction wave in Fig. 2.

Fig. 2
figure 2

Dam break on a wet bed. Water height (left) and velocity (right) at time \(t=0.1\). The number of cells is \(Nx=1000\)

4.2 Oscillations in a Parabola

The domain is \(\varOmega =[-2,2]\). The topography is a parabola \(z(x)=0.5\left( x^2-1\right) \). The initial velocity is zero and the initial water height is \(h_\mathrm{ini}(x)=-z(x+0.5)1\!\!1_{-1.5<x<0.5}\). The solution is periodic in time: the water oscillates in the parabola, the surface remaining planar. The numerical simulations show that the staggered scheme is able to treat accurately dry-wet transitions (see Fig. 3). For this problem, the staggered scheme is even more accurate than the collocated schemes. The numerical convergence rate of the staggered scheme in \(L^1\)-norm is very close to 1 for both \(h\) and \(hu\) and seems slightly better than the kinetic and Suliciu schemes.

Fig. 3
figure 3

Oscillations in a parabola. Water level \(h+z\) at time \(t=2.7\). The right figure is a zoom of the left figure. The number of cells is \(Nx=200\)

4.3 Transcritical Flow with Shock

This problem simulates a flow over a bump. The domain is \(\varOmega =[0,25]\) and the topography is \(z(x)=0.2 - 0.05(x -10)^2 1\!\!1_{8<x<12}\). The initial conditions are \(h_\mathrm{ini}=0.33-z\) and \(u_\mathrm{ini}=0.18/0.33\). At the upstream end of the domain, the discharge is enforced (\(hu(x=0)=0.18\)), while, at the downstream end, the water height is prescribed (\(u(x=25)=0.33\)). After a time long enough (\(t\ge 100\)), the flow reaches a steady state. Upstream from the top of the bump, the flow is subcritical; downstream, it becomes supercritical, then, after a hydraulic jump, it is subcritical again. The staggered scheme reproduces quite accurately the final steady state and captures well the location of the shock. (see Fig. 4). The kinetic and Suliciu schemes seem to yield a slightly better shock profile than the staggered scheme. The numerical convergence rate of the staggered scheme in \(L^1\)-norm is close to 1 for both \(h\) and \(u\), which is comparable to the kinetic and Suliciu schemes.

Fig. 4
figure 4

Transcritical flow with shock. Water level \(h+z\) at time \(t=200\). The right figure is a zoom of the left figure. The number of cells is \(Nx=200\)

5 Conclusion

The staggered scheme is an alternative to the collocated schemes for solving the shallow water equations. The numerical tests demonstrate that the staggered scheme is as accurate and robust as the collocated schemes. The staggered scheme presents the same mathematical guarantees as the collocated schemes. In particular, the staggered scheme is consistent with the global entropy inequality. The componentwise computation of numerical fluxes is simpler than the approximate Riemann solvers and the well-balanced discretization of the topography source term is straightforward on uniform grids.