1 Introduction

Water waves and more generally water flows are of great interest in several scientific fields with applications to society issues such as protection of populations (tsunamis, floods, ...) or energy production (water-turbines, ...). Depending on the accuracy that is required in the applications, more or less complex models are used, from fully resolved to averaged equations.

In order to simulate the behaviour of free-surface fluid flows, let us consider the 2D Euler equations for an incompressible free-surface flow under gravity:

figure a

set in the moving domain (see Fig. 1)

$$\begin{aligned} \Omega (t)=\left\{ (x,z)\in \mathbb {R}^2\,\big |\,x\in I,\;z_b(x)\le z\le \hat{\eta }(t,x) \right\} . \end{aligned}$$

Here, \(I=(x_\ell ,x_r)\) is a bounded interval of \(\mathbb {R}\) and \(z_b\) is the given topography (independent from time). The unknowns are the velocity field \(\hat{{\varvec{u}}}=(\hat{u},\hat{w})\), the pressure field \(\hat{p}_{total}\) and the water elevation \(\hat{\eta }\). The water height is deduced from \(\hat{h}(t,x)=\hat{\eta }(t,x)-z_b(x)\). Viscosity effects are not taken into account in this work but we refer to [14] for instance to deal with such terms.

The model is supplemented with kinematic boundary conditions:

$$\begin{aligned} {} {\left\{ \begin{array}{ll} \partial _t\hat{\eta }+\hat{u}_s\partial _x\hat{\eta }-\hat{w}_s=0, \\ \hat{u}_b\partial _xz_b-\hat{w}_b=0, \end{array}\right. } \end{aligned}$$
(2)

as well as

$$\begin{aligned} \hat{p}_{total}\bigl (t,x,\hat{\eta }(t,x)\bigr )=p^{atm}(t,x), \end{aligned}$$
(3)

for some given atmospheric pressure \(p^{atm}(t,x)>0\). Classically, the pressure field is decomposed into three parts:

$$\begin{aligned} \hat{p}_{total}(t,x,z)=\hat{p}_{hydro}(t,x,z)+\hat{q}(t,x,z) \end{aligned}$$

where the hydrostatic part is given by

$$\begin{aligned} \hat{p}_{hydro}(t,x,z)=g(\hat{\eta }(t,x)-z)+p^{atm}(t,x), \end{aligned}$$

and where \(\hat{q}\) is the hydrodynamic pressure field – or commonly referred to as the non-hydrostatic component.

Hydrostatic models such as the nonlinear shallow water equations [26] or the hydrostatic Navier-Stokes equations [3] are based on the assumption \(\hat{q}\equiv 0\).

Given this decomposition, BC (3) is equivalent to

$$\begin{aligned} \hat{q}\bigl (t,x,\hat{\eta }(t,x)\bigr )=0. \end{aligned}$$
(4)
Fig. 1
figure 1

Fluid domain for the Euler equations (1)

In addition to its complex mathematical structure (see e.g. [12, 38, 49]), Model (1) coupled to (2-4) is a real challenge owing to the fact the domain is moving: the water elevation is an unknown in itself. That is why, in spite of the increase of computer performance, reduced-complexity models have been introduced, analysed and discretised. There exists an extensive literature about models approximating the Euler equations under simplifying hypotheses. Depending on the physical phenomena at stake and thus the fluid regime under study, some models turn out to be more accurate than others.

For example, the nonlinear shallow water equations (NLSW) [26, 36, 37, 53] provide relevant results for large wavelengths but seem restrictive in other regimes, in particular due to the absence of dispersive effects. To go further, models were derived in a given regime of magnitude for the nonlinearity (\(\varepsilon \): wave amplitude/water depth ratio) and for the frequency dispersion (\(\mu \): water depth/wavelength ratio). The competition between the two phenomena is responsible for the shape of water waves. Dispersion is necessary for instance for stratified flows or close to coastal areas. Different regimes lead to weakly/fully nonlinear – weakly/fully dispersive models. For example, the NLSW equations correspond to \(\mu =0\) for any \(\varepsilon =\mathcal {O}(1)\).

We may refer to pioneering works e.g. Boussinesq [13] and Peregrine [57], models obtained to improve linear dispersion properties e.g. Madsen & Sorensen [52] and Nwogu [55], models suitable for deep waters [46], ...For reviews of dispersive models, see [43, 45]. A focus will be made below on two systems: the Depth-Averaged Euler (DAE) system described in [1] and the Serre – Green-Naghdi (SGN) equations (see [39, 62]).

It is worth noticing that classic dispersive models, usually written under a Boussinesq form, introduce high order derivatives for two unknowns (water height and velocity). On the contrary, non-hydrostatic pressure models introduce such effects by means of the non-hydrostatic component of the pressure. In [21] a semi-implicit finite difference model for non-hydrostatic free-surface flows is presented based on a vertical discretisation of the 3D free-surface Navier-Stokes equations. A similar approach is used in [63] where again the pressure is decomposed into hydrostatic and non-hydrostatic counterparts and a vertical discretisation is proposed for the 3D system. A more recent work on the subject is [22], where semi-implicit methods are extended to complex free-surface flows that are governed by the full incompressible Navier-Stokes equations and are delimited by solid boundaries and arbitrarily shaped free-surfaces. These approaches are comparable to the multilayer or layer-averaged framework, see for example [5, 50, 60]. In [5] and [60] the multilayer model is deduced by supposing within each layer a constant profile of the horizontal velocity. The multilayer model proposed in  [50] is based on the irrotational hypothesis and that the horizontal velocity is quadratic (within each layer) and continuous at the interfaces. In [6] a numerical study of the linear dispersive celerity shows convergence of the multilayer model. In [35], a hierarchy of layer-averaged models has been derived: it is based on hypotheses made for the vertical velocity and pressure profiles. An explicit linear dispersion relation for each model is provided and authors proved that when the number of layer increases, celerity converges to the exact one given by Euler equations in the Stokes linear theory.

The latter model is considered here. Classic dispersive systems, and in particular DAE and SGN, may be written as a non-hydrostatic system. Readers can refer to [32] for the link between the two approaches. Non-hydrostatic formulation has several advantages from the numerical point of view, especially regarding boundary conditions. Notice that they do not rely on any irrotational assumption.

In recent years, an effort has been made in using hyperbolic approximations of dispersive an non-hydrostatic systems. See for instance [4, 40] where hyperbolic depth-averaged equations use a hyperbolic approximation of a Boussinesq-type equation, or [54] for hyperbolic approximations of the Korteweg–de Vries equations. Other examples, based on non-hydrostatic models are given by [7, 17, 34] where authors proposed different hyperbolic approximations for the SGN equations, or [31, 32] where authors proposed hyperbolic approximations for some well-known non-hydrostatic pressure and Boussinesq-type systems.

In this paper, we will focus on non-hydrostatic models. First, the non-hydrostatic model derived in [1], named DAE, which is an approximation of Euler equations when the frequency dispersion is small, is considered:

$$\begin{aligned} {\left\{ \begin{array}{ll} \partial _th+\partial _x(hu)=0, \\ \partial _t(hu)+\partial _x(h u^2+h q) =-\frac{\gamma ^2}{2}q \partial _xz_b-gh\partial _x\eta -h\partial _x p^{atm}, \\ \partial _t(hw)+\partial _x(h u w)=\gamma q ,\\ \gamma w+h\partial _x u-\frac{\gamma ^2}{2}u\partial _xz_b=0, \end{array}\right. } \end{aligned}$$
(5)

where (uw) is an approximation of \((\hat{u},\hat{w})\) along the water column, q is the non-hydrostatic component of the pressure field and \(\gamma >0\) a parameter. The case \(\gamma =2\) was studied in [16] and simulated in [2]. For a flat topography \(\partial _xz_b\equiv 0\), \(\gamma =\sqrt{3}\) corresponds to the SGN equations [39]. This is a well-known dispersive system that has been extensively studied, see for instance [10, 23, 28, 45]

The SGN model, also studied in [35], is given by

figure b

Moreover, both (5) and (6) are proved in [35] to belong to the same hierarchy of models depending on some orders of approximation for the set of unknownsFootnote 1. Indeed, the key point is the dependence of the solution on the vertical coordinate z.

More precisely, Equations (5) are referred to as \(LDNH_0(1)\) as an approximation of the Euler equations where (uwq) is a \((\mathbb {P}_0,\mathbb {P}_0,\mathbb {P}_1)\) Galerkin approximation of \((\hat{u},\hat{w},\hat{q})\). Likewise, Equations (6) are referred to as \(LDNH_2(1)\) and (uwq) is a \((\mathbb {P}_0,\mathbb {P}_1,\mathbb {P}_2)\) Galerkin approximation of \((\hat{u},\hat{w},\hat{q})\). In particular, (6) has a more accurate linear dispersion relation than (5) for large wavelengths [35, Fig. 2].

Remark that System (6) is made of first-order PDEs which account for conservation of mass (6a) and of momentum (6b-6d). (6e-6f) are diagnostic equations deduced from the incompressibility constraint (1a). There are several equivalent ways to write down the diagnostic equations (6e) and (6f) but this very definition is the only choice that provides a duality relation between the modified “pressure gradient” and the modified “velocity divergence”.

This duality property is crucial from both theoretical and numerical points of view as highlighted in the following. It also allows to specify the boundary conditions:

①:

From the weak formulation associated to the underlying elliptic equation, we deduce the boundary conditions for the pressure fields (see Remark 3 which shows that it is necessary to specify \(q(\partial _x(hq)+q_b\partial _xz_b)\) at each boundary);

②:

We then infer from the numerical point of view how boundary conditions should be naturally imposed by symmetry in the resulting linear system (see § 16.3.2).

For the sake of simplicity and without restrictionsFootnote 2, we will consider in this paper a subcritical flow (which corresponds to the hyperbolic regimeFootnote 3 in the Euler system (1)). Then, Model (6) is supplemented with the following boundary conditions:

  • For the non-hydrostatic pressure, we impose:

    $$\begin{aligned} \text {At }x=x_\ell ,&\partial _x(hq)&=\chi _\ell ; \end{aligned}$$
    (7a)
    $$\begin{aligned} \text {At }x=x_r,&q&=0, \end{aligned}$$
    (7b)

    for some flux \(\chi _\ell \in \mathbb {R}\). The choice of these boundary conditions relies on the weak formulation associated to the underlying elliptic problem (see Remark 3) and on the boundary condition for the topography (7e).

  • For the velocity field and the water height, it depends on the underlying hyperbolic regime. As mentioned above, we consider a subcritical flow so that, following the investigations of § 16.3.2, we impose

    $$\begin{aligned} \text {At }x=x_\ell ,&hu&=Q_u,&hw&=Q_w,&h\sigma&=\frac{Q_w}{\sqrt{3}}; \end{aligned}$$
    (7c)
    $$\begin{aligned} \text {At }x=x_r,&h&=h_r; \end{aligned}$$
    (7d)

    for some constants \(Q_u>0\), \(Q_w\ge 0\) and \(h_r>0\).

We also assume that the topography satisfies the following boundary condition:

$$\begin{aligned} \partial _xz_b(x_\ell )=0. \end{aligned}$$
(7e)

It is shown in § 6.1 that System (6) can be rewritten under three different other formulations (Props. 1, 2 and 3). In particular, Proposition 1 will show that (6) is equivalent to the SGN equations under Boussinesq form, as presented in [45]. Then, from now on, System (6) coupled to boundary conditions (7) will be referred to indifferently as SGN or \(LDNH_2(1)\).

Although Model \(LDNH_2(1)\) has a larger number of unknowns than \(LDNH_0(1)\) (which may provide a richer modelling), the first goal of this paper is to design a numerical method for (6) with a reduced additional computational complexity compared to (5). See [56] for another strategy. The second goal of this paper is to extend the aforementioned numerical method designed for \(LDNH_2(1)\) to its multilayer counterpart \(LDNH_2(L)\) (for some number of layers \(L>1\)) as derived in [35]. Indeed, \(LDNH_2(1)\) relies on the approximation that the horizontal component of the velocity field does not depend on z, i.e. it is constant along the water column. In some cases (for instance when the flow is not shallow), it is necessary to add more degrees of freedom. The Galerkin method used for the semi-discretisation in z leads to \(LDNH_2(L)\) where \(L\) is the number of vertical cells.

The paper is organised as follows: in Sect. 6, we first show some properties of the \(LDNH_2(1)\) model: equivalent formulations (including the relationship with the SGN equations) and associated energy. Secondly, a numerical strategy to solve the monolayer model \(LDNH_2(1)\) is presented: it consists in an iterative algorithm taking into account the gradient-divergence duality. In Sect. 17, the layer-averaged extension \(LDNH_2(L)\) is reformulated with similar differential operators. The previous numerical method is then extended to the multilayer case, still based on the gradient-divergence duality. In Sect. 18, some classic numerical tests are presented to assess these strategies for \(LDNH_2(1)\) and \(LDNH_2(L)\), in particular in terms of accuracy with respect to \(LDNH_0(L)\).

2 Analysis and Numerical Method for the \(LDNH_2(1)\) Model

In this section we first study some of the properties of Model (6), such as some reformulations and its associated energy. Secondly, the design of a numerical discretisation of the model is presented.

2.1 Properties of the Model at the Continuous level

Let us set

$$\begin{aligned} \mathbf {X}= \begin{pmatrix} u \\ w \\ \sigma \end{pmatrix}, \qquad \mathbf {Q}= \begin{pmatrix} q \\ q_b \end{pmatrix}, \qquad \text { and }\qquad \mathbf {S}_h= \begin{pmatrix} -gh\partial _x(z_b+h)-h\partial _x p^{atm}, \\ 0\\ 0 \end{pmatrix}. \end{aligned}$$
(8a)

Let us also define the operators

$$\begin{aligned} \mathop {\nabla _\mathrm {sgn}}\mathbf {Q}= \begin{pmatrix} \partial _x(hq)+q_b\partial _xz_b\\ -q_b \\ -2\sqrt{3}\left( q-\frac{q_b}{2}\right) \end{pmatrix} \qquad \text { and }\qquad \mathop {\nabla _\mathrm {sgn}\cdot }\mathbf {X}= \begin{pmatrix} 2\sqrt{3}\sigma +h\partial _xu \\ w-u\partial _xz_b-\sqrt{3}\sigma \end{pmatrix} \end{aligned}$$
(8b)

and notice that the following duality relation holds

$$\begin{aligned} \mathbf {X}\cdot \mathop {\nabla _\mathrm {sgn}}\mathbf {Q}=\partial _x(hqu)-\mathbf {Q}\cdot (\mathop {\nabla _\mathrm {sgn}\cdot }\mathbf {X}). \end{aligned}$$
(9)

Given these notations, System (6) reads in a compact form

figure c

System (10) has the same mathematical structure as the incompressible Euler equations with variable density except that differential operators are non-standard. Hence, this remark will help to design a similar numerical strategy.

It is shown below that this system can be rewritten under three different other forms (Props. 1, 2 and 3).

First, let us remark that System (10) is nothing but the SGN equations as presented in [45]:

Proposition 1

System (10) can be rewritten under the Boussinesq formulation

$$\begin{aligned} {\left\{ \begin{array}{ll} \partial _th+\partial _x(hu)=0, \\ \bigl (\mathcal {I}_d+\mathcal {T}[h,z_b]\bigr )(\partial _tu+u\partial _xu) +g\partial _x(h+z_b) +\mathcal {Q}[h,z_b]u=-\partial _xp^{atm}, \end{array}\right. } \end{aligned}$$
(11)

where

$$\begin{aligned} \mathcal {T}[h,z_b]v&=\mathcal {R}_1[h,z_b](\partial _xv) +\mathcal {R}_2[h,z_b](v\partial _xz_b), \\ \mathcal {Q}[h,z_b]v&=-2\mathcal {R}_1[h,z_b]\left( {(\partial _xv)}^2\right) +\mathcal {R}_2[h,z_b](v^2\partial ^2_{xx}z_b), \\ \mathcal {R}_1[h,z_b]w&=-\frac{1}{3h}\partial _x(h^3w) -\frac{h}{2}w\partial _xz_b, \\ \mathcal {R}_2[h,z_b]w&=\frac{1}{2h}\partial _x(h^2w)+w\partial _xz_b. \end{aligned}$$

Proof

Indeed, we deduce from (6) that

$$\begin{aligned} \sigma&=-\frac{h\partial _xu}{2\sqrt{3}}, \qquad w=-\frac{h\partial _xu}{2}+u\partial _xz_b, \\ q_b&=-\frac{h^2}{2}\left[ \partial _x\left( \partial _tu+u\partial _xu\right) -2{(\partial _xu)}^2\right] +h\left[ \partial _xz_b\left( \partial _tu+u\partial _xu\right) +u^2\partial ^2_{xx}z_b\right] ,\\ q&=-\frac{h^2}{3}\left[ \partial _x\left( \partial _tu+u\partial _xu\right) -2{(\partial _xu)}^2\right] +\frac{h}{2}\left[ \partial _xz_b\left( \partial _tu+u\partial _xu\right) +u^2\partial ^2_{xx}z_b\right] . \end{aligned}$$

Inserting the two last equalities into (6c) leads to the expected result.\(\square \)

The main difference between the non-hydrostatic formulation (6) and the Boussinesq formulation given in Proposition 1 lies in the order of spatial derivatives (1 vs. 3). The consequence is a larger number of unknowns in (6) (6 vs. 2) but with at most first order derivatives. One key advantage of (6) is that the treatment of boundary conditions is easier as it will be shown later. Moreover, a smaller stencil is needed when one has to approach numerically first order compared to higher order derivatives.

A numerical algorithm to simulate (11) is designed in [11] by introducing a second-order parameterized perturbation and based on the inversion of \(\mathcal {I}_d+\mathcal {T}\). The parameter is set so that the linear dispersion relation is optimised with respect to the Airy relation. The numerical technique consists of a splitting method between the hyperbolic Saint-Venant equations (solved with a finite-volume scheme) and the dispersive part (solved with a finite-difference scheme). An extension to dimension 2 is provided in [47] by replacing the differential operator \(\mathcal {I}_d+\mathcal {T}\) by a time independent “diagonal” approximation. In [28], a Discontinuous Galerkin Finite-Element method is applied.

We also mention the following formulation with high order derivatives of h:

Proposition 2

System (10) also reads

$$\begin{aligned} {\left\{ \begin{array}{ll} \displaystyle \partial _th+\partial _x(hu)=0, \\ \displaystyle \partial _t(hu) +\partial _x\left( hu^2+g\frac{h^2}{2}+\frac{h^2\ddot{h}}{3} +\frac{h^2\dot{u}}{2}\partial _xz_b+\frac{h^2u^2}{2}\partial ^2_{xx}z_b\right) \\ \displaystyle \qquad \quad \, +h\left( g+\frac{\ddot{h}}{2}+\dot{u}\partial _xz_b+u^2\partial ^2_{xx}z_b\right) \partial _xz_b=-h\partial _xp^{atm}. \end{array}\right. } \end{aligned}$$

Here we used the standard notation \(\dot{\xi }\mathrel {\mathop :}=\partial _t\xi +u\partial _x\xi \).

Proof

We deduce from (6)

$$\begin{aligned} \dot{h}&=-h\partial _xu=2\sqrt{3}\sigma =2(w-u\partial _xz_b), \\ q_b&=h\dot{w}=\frac{h\ddot{h}}{2}+h\left[ \partial _t(u\partial _xz_b)+u\partial _x(u\partial _xz_b)\right] , \\ q&=\frac{q_b}{2}+\frac{h\ddot{h}}{12} =\frac{h\ddot{h}}{3}+\frac{h}{2}\left[ \partial _t(u\partial _xz_b)+u\partial _x(u\partial _xz_b)\right] . \end{aligned}$$

\(\square \)

Inserting the two latter equalities into (6c), we obtain the expected result.

Remark 1

For a flat topography, we recover the model studied in [34, 48]. In [48], the model is reformulated by means of the change of variable \((h,hu)\mapsto \left( h,u+\frac{\partial _x(h^2\dot{h})}{3h}\right) \) and solved using a finite-difference method. The numerical technique used in [34] is based on an augmented-Lagrangian approach.

In the framework of projection methods, we exhibit another formulation. The two constraints (10c) can be replaced by applying the divergence (8b) to the momentum equation (10b) (initially divided by h):

Proposition 3

System (10) can be rewritten under the reduced formulation

figure d

Eq. (12c) reads

figure e

Well-posedness of this system is studied in [8].

Remark 2

Notice that only h and u are involved (not w nor \(\sigma \)) in the right hand side of (13).

Moreover, we also notice that \(q_b\) can be expressed directly from (13b)

$$\begin{aligned} \dfrac{q_b}{h}= \frac{1}{4+(\partial _xz_b)^2}\left[ 6\dfrac{q}{h}-\partial _xz_b\dfrac{\partial _x(hq)}{h} + u^2\partial _{xx}^2z_b -\bigl (g\partial _x(z_b+h)+\partial _xp^{atm}\bigr )\partial _xz_b\right] . \end{aligned}$$
(14)

Inserting the latter expression into (13a) provides a unique equation for q:

$$\begin{aligned}&12\frac{1+(\partial _xz_b)^2}{4+(\partial _xz_b)^2}\frac{q}{h} -h\partial _x\left( \frac{4}{4+(\partial _xz_b)^2}\frac{\partial _x(hq)}{h}\right) +\frac{6\partial _xz_b}{4+(\partial _xz_b)^2}\frac{\partial _x(hq)}{h}\\&\qquad -h\partial _x\left( \frac{6\partial _xz_b}{4+(\partial _xz_b)^2}\frac{q}{h}\right) \\&\quad =2h(\partial _xu)^2+h\partial _x\bigl (g\partial _x(z_b+h)+\partial _xp^{atm}\bigr )\\&\qquad +h\partial _x\left( \frac{\partial _xz_b}{4+(\partial _xz_b)^2} \left( u^2\partial _{xx}^2z_b -\bigl (g\partial _x(z_b+h)+\partial _xp^{atm}\bigr )\partial _xz_b\right) \right) . \end{aligned}$$

However, the complexity of the operators in the latter equation made us prefer working with (13).

Remark 3

Whether it be from the theoretical or numerical points of view, the equation of interest is

$$\begin{aligned} -\mathop {\nabla _\mathrm {sgn}\cdot }\left( \frac{1}{h}\mathop {\nabla _\mathrm {sgn}}\mathbf {Q}\right) =\mathbf {f} \end{aligned}$$
(15)

for some right hand side \(\mathbf {f}\). The well-posedness of Eq. (15) is proved in [8] by means of the Lax-Milgram theorem applied under some smoothness hypotheses on the water height h. In particular, straightforward computations show that

$$\begin{aligned} -\int _I \mathop {\nabla _\mathrm {sgn}\cdot }\left( \frac{1}{h}\mathop {\nabla _\mathrm {sgn}}\mathbf {Q}\right) \cdot \widetilde{\mathbf {Q}}\,\mathrm {d}x =-\left[ \widetilde{q}\left( \partial _x(hq)+q_b\partial _xz_b\right) \right] _{\partial I} +\int _I\frac{1}{h} \mathop {\nabla _\mathrm {sgn}}\mathbf {Q}\cdot \mathop {\nabla _\mathrm {sgn}}\widetilde{\mathbf {Q}}\,\mathrm {d}x, \end{aligned}$$

which explains the present choice of boundary conditions (7a-7b).

Finally, we show that thanks to the correct formulation of diagnostic equations (6e) and (6f), associated to the definition (8b) of \(\mathop {\nabla _\mathrm {sgn}\cdot }\mathbf {X}\) that provides the duality relation (9) we can deduce an associated energy for SGN model. It is crucial from both theoretical and numerical points of view as highlighted in the following section, corresponding to the definition of the numerical method.

Proposition 4

Smooth solutions of System (10) satisfy the following energy equality provided \(p^{atm}\) and \(z_b\) do not depend on time:

$$\begin{aligned}&\partial _t\left[ h\left( \frac{|\mathbf {X}|^2}{2} +g\left( z_b(x)+\frac{h}{2}\right) +p^{atm}(x)\right) \right] \\&\qquad +\partial _x\left[ hu\left( \frac{|\mathbf {X}|^2}{2}+g\left( z_b(x)+h\right) +p^{atm}(x)+q\right) \right] =0. \end{aligned}$$

Proof

Let us multiply (6b) by u, (6c) by w and (6d) by \(\sigma \) so that

$$\begin{aligned}&\partial _t\left( h\frac{|\mathbf {X}|^2}{2}\right) +\partial _x\left( hu\frac{|\mathbf {X}|^2}{2}\right) +\frac{|\mathbf {X}|^2}{2}\left[ \partial _th+\partial _x(hu)\right] \\&\qquad +\mathbf {X}\cdot \mathop {\nabla _\mathrm {sgn}}\mathbf {Q}+hu\partial _x(g(h+z_b)+p^{atm})=0. \end{aligned}$$

Using the duality relation (9) as well as Eq. (6a) leads to the expected result.\(\square \)

2.2 Splitting Strategy at the Semi-Discrete Level

Let us write a semi-discretisation of System (10) based on a classic splitting technique for some time step \(\Delta t>0\), like e.g. in [1, 30, 33, 47, 56]. We first consider the hyperbolic stepFootnote 4

$$\begin{aligned} {\left\{ \begin{array}{ll} \dfrac{h^{n+1/2}-h^n}{\Delta t}+\partial _x(h^nu^n)=0, \\ \dfrac{(h\mathbf {X})^{n+1/2}-(h\mathbf {X})^n}{\Delta t} +\partial _x \left( h^nu^n\mathbf {X}^n\right) =\mathbf {S}_{h^n}, \end{array}\right. } \end{aligned}$$
(16)

coupled to boundary conditions (7c) and (7d). Any classic numerical method dedicated to the Shallow Water equations (including well-balanced schemes) can be used to solve it.

Then the dispersive step reads

figure f

which reads as a mixed velocity-pressure Darcy problem. Boundary conditions (7c), (7a) and (7b) are considered. In this paper we investigate a projection-correction approach.

To preserve the order of the method, we can consider the incremental method (see e.g. [41]) which consists of the following modified first step

$$\begin{aligned} {\left\{ \begin{array}{ll} \dfrac{h^{n+1/2}-h^n}{\Delta t}+\partial _x(h^nu^n)=0, \\ \dfrac{(h\mathbf {X})^{n+1/2}-(h\mathbf {X})^n}{\Delta t} +\partial _x \left( h^nu^n\mathbf {X}^n\right) +\mathop {\nabla _\mathrm {sgn}}\mathbf {Q}^n =\mathbf {S}_{h^n}, \end{array}\right. } \end{aligned}$$

(which requires an initialisation of the pressure unlike the non-incremental version) and the modified second step

$$\begin{aligned} {\left\{ \begin{array}{ll} \dfrac{h^{n+1}-h^{n+1/2}}{\Delta t}=0, \\ \dfrac{(h\mathbf {X})^{n+1}-(h\mathbf {X})^{n+1/2}}{\Delta t}+ \mathop {\nabla _\mathrm {sgn}}\left( \mathbf {Q}^{n+1}-\mathbf {Q}^n\right) =0, \\ \mathop {\nabla _\mathrm {sgn}\cdot }\mathbf {X}^{n+1}=\varvec{0}. \end{array}\right. } \end{aligned}$$

This approach does not raise any additional issue, therefore for the sake of simplicity we present the results by considering the splitting strategy (16)-(17).

To make the reading easier, we shall denote from now on: \(\mathbf {X}=\mathbf {X}^{n+1}\) and \(\mathbf {X}^*=\mathbf {X}^{n+1/2}\). System (17) implies

$$\begin{aligned} -\mathop {\nabla _\mathrm {sgn}\cdot }\left( \frac{1}{h^*}\mathop {\nabla _\mathrm {sgn}}\mathbf {Q}\right) =-\frac{\mathop {\nabla _\mathrm {sgn}\cdot }\mathbf {X}^*}{\Delta t}, \end{aligned}$$
(18)

or equivalently, expanding the non-classic operators:

$$\begin{aligned} {\left\{ \begin{array}{ll} 12\dfrac{q}{h^*} -h^*\partial _x\left( \dfrac{\partial _x(h^*q)}{h^*}\right) -6\dfrac{q_b}{h^*} -h^*\partial _x\left( \dfrac{q_b}{h^*}\partial _xz_b\right) = -\dfrac{2\sqrt{3}\sigma ^*+h^*\partial _xu^*}{\Delta t},\\ \left( 4+(\partial _xz_b)^2\right) \dfrac{q_b}{h^*} -6\dfrac{q}{h^*}+\partial _xz_b\dfrac{\partial _x(h^*q)}{h^*} =-\dfrac{w^*-u^*\partial _xz_b-\sqrt{3}\sigma ^*}{\Delta t}. \end{array}\right. } \end{aligned}$$
(18')

We recover the same operators as in the continuous case – see (13), only the right hand side is modified due to the splitting method. Hence the well-posedness investigated in [8] still holds.

Remark 4

The right hand side in (18’) is not of order \(\mathcal {O}(\Delta t^{-1})\) but of order \(\mathcal {O}(1)\). Indeed, inserting the values from the hyperbolic step (16), we get

$$\begin{aligned} \dfrac{2\sqrt{3}\sigma ^*+h^*\partial _xu^*}{\Delta t}&=\dfrac{2\sqrt{3}\sigma ^n+h^n\partial _xu^n}{\Delta t} +\mathcal {O}(1)=\mathcal {O}(1), \\ \dfrac{w^*-u^*\partial _xz_b-\sqrt{3}\sigma ^*}{\Delta t}&=\dfrac{w^n-u^n\partial _xz_b-\sqrt{3}\sigma ^n}{\Delta t}+ \mathcal {O}(1)=\mathcal {O}(1), \end{aligned}$$

since \(2\sqrt{3}\sigma ^n+h^n\partial _xu^n=0\) and \(w^n-u^n\partial _xz_b-\sqrt{3}\sigma ^n=0\), provided initial conditions satisfy the divergence constraints, i.e. initial conditions are well-prepared.

Once Equation (18) is solved for \(\mathbf {Q}\), the velocity field is updated using (17b)

$$\begin{aligned} \mathbf {X}=\mathbf {X}^*-\frac{\Delta t}{h^*}\mathop {\nabla _\mathrm {sgn}}\mathbf {Q}. \end{aligned}$$

2.3 Numerical Method at the Discrete Level

We focus in this section on the discretisation in space of the non-incremental version (16-17). The incremental version does not raise major additional difficulties.

Let us consider a homogeneous Cartesian grid of interval \(I=[x_\ell ,x_r]\) with mesh size \(\Delta x=\frac{x_r-x_\ell }{N}\) for some integer \(N>0\) (see Fig. 2).

Standard approaches for Stokes-like problems rely on a staggered grid with velocity fields at the centre of the cells and pressure fields at the interfaces. A similar approach is also followed in [33]. The specific expression of \(\mathop {\nabla _\mathrm {sgn}}\mathbf {Q}\) in the present problem – see (8b) – induced a different choice, namely a collocated approach with all variables (\(\mathbf {X}\) and \(\mathbf {Q}\)) at the centres of the cells. This choice makes a discrete energy estimate easier to derive.

Fig. 2
figure 2

Collocated mesh

2.3.1 Hyperbolic Step

For the sake of completeness, let us briefly describe the numerical scheme applied to system (16), which consists of the classic shallow water part and two transport equations for w and \(\sigma \).

Here, we considered a high-order Polynomial Viscosity Matrix finite-volume method using a second-order MUSCL state reconstruction operator similar to those proposed in [30, 33]. Moreover, a third-order CWENO –[25] reconstruction has been implemented as well.

The semi-discrete in space high-order path-conservative scheme for System (16) reads as follows

$$\begin{aligned} (h\widetilde{\mathbf {X}})_i'(t) = - \frac{1}{\Delta x} \left( \mathcal {D}_{i+1/2}^{-}(t) + \mathcal {D}_{i-1/2}^{+}(t) + \mathcal {I}_i(t) \right) , \end{aligned}$$

where \(\widetilde{\mathbf {X}}=\left( 1,\mathbf {X}^T\right) ^T\).

Dropping the dependence on time, \(\mathcal {D}_{i+1/2}^\pm \) is given by a Polynomial Viscosity Matrix (PVM) path-conservative scheme

$$\begin{aligned} \mathcal {D}_{i+1/2}^\pm&= \frac{1}{2} \left( \mathbf {F}\left( (h\widetilde{\mathbf {X}})_{i+1/2}^+\right) -\mathbf {F}\left( (h\widetilde{\mathbf {X}})_{i+1/2}^-\right) + \mathbf {S}_{i+1/2}\left( (h\widetilde{\mathbf {X}})_{i+1/2}^+ - (h\widetilde{\mathbf {X}})_{i+1/2}^-\right) \right) \\&\pm \frac{1}{2} \mathcal {Q}_{i+1/2},\\ \mathcal {I}_i&= \mathbf {F}\left( (h\widetilde{\mathbf {X}})_{i+1/2}^-\right) - \mathbf {F}\left( (h\widetilde{\mathbf {X}})_{i-1/2}^+\right) + \int _{\Omega _i} \mathbf {S}\left[ P_{i,(h\widetilde{\mathbf {X}})}(x)\right] \frac{\partial P_{i,(h\widetilde{\mathbf {X}})}(x)}{\partial x}\ \mathrm {d}x. \end{aligned}$$

Here, \(\mathbf {F}(h\widetilde{\mathbf {X}})=hu\widetilde{\mathbf {X}}\) and \(\mathbf {S}(h\widetilde{\mathbf {X}})=(gh,0,0)^t\).

In the expression above, \(\mathcal {Q}_{i+1/2}\) is the numerical viscosity that depends on the choice of the PVM method and \((h\widetilde{\mathbf {X}})_{i+1/2}^\pm \) is computed by means of a reconstruction procedure on the variables to the left (\(^-\)) and right (\(^+\)) of the inter-cell \(x_{i+1/2}\). This is done using a standard MUSCL or CWENO reconstruction operator \(P_{i,(h\widetilde{\mathbf {X}})}(x)\).

The term \(\mathbf {S}_{i+1/2}\left( (h\widetilde{\mathbf {X}})_{i+1/2}^+ - (h\widetilde{\mathbf {X}})_{i+1/2}^-\right) \) accounts for the path-integral of non-conservative terms. In this work, the simple straight-line segment path is chosen, and thus the path-integral can be computed exactly using the midpoint rule. In particular, all the components are zero except the first one that reduces to

$$\begin{aligned} -g\frac{h_{i+1/2}^-+h_{i+1/2}^+}{2} \left( (h+z_b)_{i+1/2}^+- (h+z_b)_{i+1/2}^- \right) . \end{aligned}$$

The viscosity term \(\mathcal {Q}_{i+1/2}\) results from the evaluation of a Roe Matrix at \(x_{i+1/2}\) by a polynomial that interpolates the absolute value function (see [20]). Here we are using a first-degree polynomial that uses some estimation of the slowest (\(S_L\)) and fastest (\(S_R\)) wave speeds. With this choice, the numerical scheme coincides with an extension for non-conservative systems of the standard HLL Riemann-solver.

Finally, the volume integral

$$\begin{aligned} \int _{\Omega _i} \mathbf {S}\left[ P_{i,\mathbf {U}}(x)\right] \frac{\partial P_{i,\mathbf {U}}(x)}{\partial x}\ \mathrm {d}x, \end{aligned}$$

is numerically approximated using any Gaussian quadrature rule of the same order as the scheme.

The considered explicit high-order methods are well-balanced for water at rest solutions

$$\begin{aligned} \eta = cst,\quad u=w=\sigma =0. \end{aligned}$$

The eigenvalues of the hyperbolic operator in (16) are \(u^n\pm \sqrt{gh^n}\) and \(u^n\) (transport equations for w and \(\sigma \)). Therefore, the scheme is linearly L\(^\infty \) stable provided the following condition holds

$$\begin{aligned} \Delta t\le \mathcal {C}_{CFL}\frac{\Delta x}{\max _i \left( |u_i^n|+\sqrt{gh_i^n}\right) }. \end{aligned}$$
(19)

Moreover, the scheme is positive-preserving for the total water depth in the sense that: if \(h_i^n>0\) then \(h_i^{n+1}>0\) for all i.

2.3.2 Non-Hydrostatic Step: Numerical Scheme for the Velocity-Pressure Problem

We could have directly discretised Eqs. (18’). However, in order to recover a discrete energy, we first discretise the velocity-pressure problem (17) and we then deduce a discretisation for (18’) mimicking the continuous level. Finite differences are applied in the present work.

Let us first consider the mixed formulation (17). Denote by \(\mathcal {H}\in \mathcal {M}_{N,N}(\mathbb {R})\) the diagonal matrix with entries \(\mathcal {H}_{i,i}=h_i^*\).

We expect that the discretisation of System (17) has the form

(20)

where

  • \(\overline{\mathcal {H}}\in \mathcal {M}_{3N,3N}(\mathbb {R})\) is block-diagonal with block entries \(\mathcal {H}\in \mathcal {M}_{N,N}(\mathbb {R})\);

  • \(\mathcal {B}\in \mathcal {M}_{3N,2N}(\mathbb {R})\) is an rectangular matrix to be specified;

  • \(\mathbf {U}={(u_i)}_{i\in \{1,\ldots ,N\}}\), \(\mathbf {W}={(w_i)}_{i\in \{1,\ldots ,N\}}\), \({\varvec{\Sigma }}={(\sigma _i)}_{i\in \{1,\ldots ,N\}}\) and \( \mathbf {X}=\begin{pmatrix} \mathbf {U} \\ \mathbf {W} \\ {\varvec{\Sigma }} \end{pmatrix} \);

  • \(\overline{\overline{\varvec{0}}}_{ij}=0\) for \((i,j)\in \{1,\ldots ,2N\}^2\);

  • \(\widehat{\varvec{0}}\in \mathbb {R}^{3N}\) and \(\widetilde{\varvec{0}}\in \mathbb {R}^{2N}\) account for boundary conditions as detailed below.

The matrix in (20) is symmetric due to the duality relation (9). However, a naive approach where Eqs. (17b) and (17c) are discretised independently from each other would lead to a non-symmetric matrix. Hence we first discretise Eq. (17b) as

$$\begin{aligned} \frac{1}{\Delta t}\overline{\mathcal {H}}\mathbf {X}+\mathcal {B}\mathbf {Q}=\frac{1}{\Delta t}\overline{\mathcal {H}}\mathbf {X}^*-\widehat{\varvec{0}}. \end{aligned}$$

Once \(\mathcal {B}\) is built, \(\mathcal {B}^T\mathbf {X}=0\) should be a consistent discretisation of (17c) up to boundary terms.

More precisely, Equation (17b) is discretised for inner cells:

$$\begin{aligned}&\frac{h_i^*\mathbf {X}_i}{\Delta t}+ \begin{pmatrix} \frac{1}{\Delta x}\left( h_{i+1/2}^*\frac{q_{i+1}+q_i}{2} -h_{i-1/2}^*\frac{q_i+q_{i-1}}{2}\right) +{q_b}_i{(\partial _xz_b)}_i \\ -{q_b}_i \\ -2\sqrt{3}\left( q_i-\frac{{q_b}_i}{2}\right) \end{pmatrix}\\&\quad = \frac{h_i^*\mathbf {X}_i^*}{\Delta t}, \qquad i\in \{2,\ldots ,N-1\}. \end{aligned}$$

which leads to

(21)

\(B_{12}\) is diagonal with entries \({(\partial _xz_b)}_i\) while \(B_{11}\) is tridiagonal:

$$\begin{aligned} B_{11}=\frac{1}{\Delta x} \begin{pmatrix} \ddots &{}\ddots &{}\ddots \\ &{} -\frac{h_{i-1/2}^*}{2} &{} \frac{h_{i+1/2}^* -h_{i-1/2}^*}{2} &{} \frac{h_{i+1/2}^*}{2} &{} \\ &{}&{}\ddots &{}\ddots &{}\ddots \end{pmatrix} \end{aligned}$$
(22)

Hence, for inner nodes \(x_i\):

$$\begin{aligned} (\mathcal {B}^T\mathbf {X})_i&=-\left[ \frac{1}{2}\left( h_{i-1/2}^*\frac{u_i-u_{i-1}}{\Delta x} +h_{i+1/2}^*\frac{u_{i+1}-u_i}{\Delta x}\right) +2\sqrt{3}\sigma _i\right] , \\ (\mathcal {B}^T\mathbf {X})_{N+i}&=-\left[ w_i-{(\partial _xz_b)}_iu_i-\sqrt{3}\sigma _i\right] , \end{aligned}$$

which is consistent with (17c).

Boundary conditions. Let us now specify how boundary conditions are incorporated by means of ghost cells. BC (7a) at \(x=x_{1/2}=x_\ell \) is discretised by

$$\begin{aligned} \frac{h_1^*q_1-h_0^*q_0}{\Delta x}=\chi _\ell \implies q_0=\frac{h_1^*q_1-\chi _\ell \Delta x}{h_0^*}. \end{aligned}$$

Hence, the momentum equation for u is discretised in the first cell by:

$$\begin{aligned}&\frac{h_1^*u_1}{\Delta t}+\frac{1}{\Delta x}\left[ h_{3/2}^*\frac{q_1+q_2}{2} -h_{1/2}^*\frac{q_0+q_1}{2}\right] +{q_b}_1{(\partial _xz_b)}_1 =\frac{h_1^*u_1^*}{\Delta t} \\&\qquad \implies \frac{h_1^*u_1}{\Delta t} +\frac{h_{3/2}^*}{2\Delta x}q_2 +\frac{1}{2\Delta x} \left[ h_{3/2}^*-h_{1/2}^*\left( 1+\frac{h_1^*}{h_0^*}\right) \right] q_1 +{q_b}_1{(\partial _xz_b)}_1\\&\qquad =\frac{h_1^*u_1^*}{\Delta t}-\frac{h_{1/2}^*}{2h_0^*}\chi _\ell . \end{aligned}$$

This provides the first line of Matrix \(B_{11}\) as well as \(\widehat{0}_1=-\dfrac{h_{1/2}^*}{2h_0^*}\chi _\ell \). It remains to specify \(h_0^*\). Given that no boundary condition is imposed on h at \(x=x_\ell \), we set \(h_0^*=2h_1^*-h_2^*\).

We then observe that

$$\begin{aligned} (\mathcal {B}^T\mathbf {X})_1=-\frac{1}{2}\left( h_{3/2}^*\frac{u_2-u_1}{\Delta x} +h_{1/2}^*\left( 1+\frac{h_1^*}{h_0^*}\right) \frac{u_1}{\Delta x}\right) . \end{aligned}$$

We remark that if we discretise BC (7c) by

$$\begin{aligned} Q_u=\frac{h_1^*u_1+h_0^*u_0}{2}\implies \frac{u_1-u_0}{\Delta x}=\left( 1+\frac{h_1^*}{h_0^*}\right) \frac{u_1}{\Delta x} -\frac{2Q_u}{h_0^*\Delta x}. \end{aligned}$$

We deduce \(\widetilde{0}_1=\dfrac{h_{1/2}^*}{h_0^*}\dfrac{Q_u}{\Delta x}\). Note that this result implies that imposing \(\partial _x(hq)=\chi \) at some boundary is consistent with prescribing \(hu=Q_u\).

For the boundary conditions at \(x=x_{N+1/2}=x_r\), BC (7b) is discretised by

$$\begin{aligned} \frac{q_N+q_{N+1}}{2}=0, \end{aligned}$$

which means that the momentum equation for u in the last cell becomes

$$\begin{aligned} \frac{h_N^*u_N}{\Delta t}-\frac{h_{N-1/2}^*}{2\Delta x} (q_N+q_{N-1}) +{q_b}_N{(\partial _xz_b)}_N =\frac{h_N^*u_N^*}{\Delta t} . \end{aligned}$$

This yields the last line of \(B_{11}\) and \(\widehat{0}_N=0\). It implies that

$$\begin{aligned} (\mathcal {B}^T\mathbf {X})_N=-h_{N-1/2}^*\frac{u_{N-1}-u_N}{2\Delta x} =-\frac{1}{2}\left( h_{N-1/2}^*\frac{u_N-u_{N-1}}{\Delta x} +h_{N+1/2}^*\frac{u_{N+1}-u_N}{\Delta x}\right) \end{aligned}$$

provided that \(u_{N+1}=u_N\), which is equivalent to imposing

$$\begin{aligned} \partial _xu=0\text { at }x=x_r, \end{aligned}$$

and \(\widetilde{0}_N=0\).

Let us comment the latter result. Imposing \(q=0\) at some boundary is consistent with imposing \(\partial _xu=0\) at the same location. Even if there is no BC required in the hyperbolic problem, it is necessary from the numerical point of view in order to compute the flux at the corresponding interface. We mention that the BC handled in the first step of the algorithm must not be damaged by the second step. Likewise, still for numerical purposes, we impose

$$\begin{aligned} \partial _x w=0, \quad \partial _x\sigma =0 \quad \text { at }x=x_r. \end{aligned}$$

2.3.3 Numerical Scheme for the Pressure Problem

For a resolution of the mixed velocity-pressure problem (20) by means of the Uzawa method, see [8]. In the present paper, we rather combine both equations in (20) to obtain

$$\begin{aligned} \mathcal {B}^T\overline{\mathcal {H}}^{-1}\mathcal {B}\mathbf {Q}={\varvec{f}}\mathrel {\mathop :}=\frac{\mathcal {B}^T\mathbf {X}^*-\widetilde{\varvec{0}}}{\Delta t} -\mathcal {B}^T\overline{\mathcal {H}}^{-1}\widehat{\varvec{0}}, \end{aligned}$$
(23)

which is nothing but a consistent discretisation of the velocity-correction approach (18).

Remark 5

It is crucial that the initial data satisfy at the discrete level \(\mathcal {B}^T\mathbf {X}^*-\widetilde{\varvec{0}}=\varvec{0}\) in order to prevent the propagation of errors of order \(\mathcal {O}(\Delta t^{-1})\) as explained in Remark 4

Notice that Matrix \(\mathcal {C}=\mathcal {B}^T\overline{\mathcal {H}}^{-1}\mathcal {B}\) has the following structure:

(24)

Lemma 1

Matrix \(\mathcal {C}\) is symmetric positive-definite.

Proof

The symmetry comes from the definition \(\mathcal {C}=\mathcal {B}^T\overline{\mathcal {H}}^{-1}\mathcal {B}\). Moreover, we have

$$\begin{aligned} \left\langle \mathcal {C}\mathbf {Q},\mathbf {Q}\right\rangle =\left\langle \mathcal {H}^{-1}\mathcal {B}\mathbf {Q},\mathcal {B}\mathbf {Q}\right\rangle \ge 0 \end{aligned}$$

since \(\mathcal {H}\) is a diagonal matrix with positive entries provided the hyperbolic scheme is positive. Then \(\mathcal {B}\mathbf {Q}=\varvec{0}\implies \mathbf {Q}=\varvec{0}\) as \(\mathcal {B}\) is one-to-one – see (21).

More precisely, (24) provides the following discrete energy

$$\begin{aligned} \langle \mathcal {C}\mathbf {Q},\mathbf {Q}\rangle= & {} \left\langle \mathcal {H}^{-1}{\varvec{q}}_b,{\varvec{q}}_b\right\rangle +12\left\langle \mathcal {H}^{-1}\left( {\varvec{q}}-\frac{{\varvec{q}}_b}{2}\right) , {\varvec{q}}-\frac{{\varvec{q}}_b}{2}\right\rangle \\&+\left\langle \mathcal {H}^{-1}(B_{11}{\varvec{q}}+B_{12}{\varvec{q}}_b),B_{11}{\varvec{q}}+B_{12}{\varvec{q}}_b\right\rangle , \end{aligned}$$

which is consistent with

$$\begin{aligned} \int _I \frac{1}{h^*}|\mathop {\nabla _\mathrm {sgn}}\mathbf {Q}|^2\,\mathrm {d}x =\int _I\frac{1}{h^*}\left[ q_b^2+12\left( q-\frac{q_b}{2}\right) ^2 +\left( \partial _x(h^*q)+q_b\partial _xz_b\right) ^2\right] \mathrm {d}x. \end{aligned}$$

To solve (23), one may apply different strategies. One of them is to apply a direct resolution inverting \(\mathcal {C}\). Another variant is to use the Uzawa method. Here, we shall propose to follow an iterative process of Gauss-Seidel type:

  1. 1.

    \(C_{11}{\varvec{q}}^{k+1}=\frac{1}{\Delta t}{\varvec{f}}-C_{12}{\varvec{q}}_b^k\);

  2. 2.

    \(C_{22}{\varvec{q}}_b^{k+1}=\frac{1}{\Delta t}{\varvec{f}}_b-C_{12}^T{\varvec{q}}^{k+1}\).

This method converges due to Lemma 1. This is the latter method which has been chosen in the present work. Matrix \(C_{11}\) is more or less the same matrix as for the DAE model (5). The extra additional time then corresponds to the iterative process (\(C_{11}\) is factorised once and \(C_{22}\) is diagonal).

Remark 6

Notice that we could explicitly solve the second block of (23):

$$\begin{aligned} {\varvec{q}}_b=C_{22}^{-1}\left( \frac{1}{\Delta t}{\varvec{f}}_b-C_{12}^T{\varvec{q}}\right) \implies (C_{11}-C_{12}C_{22}^{-1}C_{12}^T){\varvec{q}}=\frac{1}{\Delta t} \left( {\varvec{f}}-C_{12}C_{22}^{-1}{\varvec{f}}_b\right) , \end{aligned}$$

which corresponds to a discretisation of (14).

Remark 7

It is easy to check that the numerical scheme is well-balanced for water at rest solutions

$$\begin{aligned} h+z_b=cst.\quad u=w=\sigma =q=q_b=0. \end{aligned}$$

The hyperbolic step for (10a)-(10b) is well-balanced. We refer the reader to [18, 20] for the details.

Since the first step of the numerical scheme is well-balanced for the hydrostatic underlying system, then the proposed iterative process in Lemma 1 yields to the resolution of two homogeneous linear systems with non-singular matrices \(C_{11}\) and \(C_{22}\)

  • \(C_{11}{\varvec{q}}^{k+1}=\mathbf {0}\);

  • \(C_{22}{\varvec{q}}_b^{k+1}=\mathbf {0}\).

Therefore \({\varvec{q}}={\varvec{q}}_b=\mathbf {0},\) and thus the result follows.

2.3.4 Numerical Treatment of Wet-Dry Fronts

In order to ensure the robustness of the algorithm, a wet/dry treatment is needed for small or null values of the water height h. In particular, we use the following strategy:

  1. 1.

    The hydrostatic pressure terms \(g h\partial _x (z_b+h)\) at the horizontal velocity equations are modified for emerging bottoms to avoid spurious pressure forces (see [19]).

  2. 2.

    For the computation of values including a term in the form \(\dfrac{1}{h},\) for very small values of the water height h, we use the idea presented in [44], replacing \(\dfrac{1}{h}\) by

    $$\begin{aligned} \frac{\sqrt{2}h}{\sqrt{{h}^4+\max \left\{ {h}^4,\varepsilon \right\} }}, \end{aligned}$$

    for some threshold \(\varepsilon >0.\) In the tests described in this paper \(\varepsilon \) is set to \(10^{-6}\).

Moreover, let us remark in vacuum situations the iterative process described in Lemma 1 leads to the resolution of two homogeneous linear systems with non-singular matrices \(C_{11}\) and \(C_{22}\)

  • \(C_{11}{\varvec{q}}^{k+1}=\mathbf {0}\);

  • \(C_{22}{\varvec{q}}_b^{k+1}=\mathbf {0}\).

Therefore \({\varvec{q}}={\varvec{q}}_b=\mathbf {0}\) when the water thickness vanishes.

Fig. 3
figure 3

Multilayer description

3 Numerical scheme for the \(LDNH_2(L)\) Model

3.1 Notations and Model

Without any assumption on the shallowness of the flow, we can also approximate the Euler equations (1) by means of a “multilayer” model. The flow is split into arbitrary layers of constant height \(h_\alpha =\frac{h}{L}\) for some integer \(L>0\) (see Fig. 3). We consider the dispersive layer-averaged model derived in [35] under the following reformulation:

$$\begin{aligned}&\partial _th+\partial _x\left( h\overline{\overline{u}}\right) =0, \qquad \overline{\overline{u}}=\sum _{\alpha =1}^{L}\ell _\alpha \overline{u}_\alpha ,\\&\text {and for } \alpha \in \{1,\ldots ,L\}\\&\qquad \partial _t(h_\alpha \overline{u}_\alpha ) +\partial _x\left( h_\alpha \overline{u}_\alpha ^2+h_\alpha \overline{q}_\alpha \right) +\widetilde{u}_{\alpha + 1/2}\Gamma _{\alpha + 1/2}-\partial _xz_{\alpha +1/2}q_{\alpha +1/2} \\&-\widetilde{u}_{\alpha - 1/2}\Gamma _{\alpha - 1/2}+\partial _xz_{\alpha -1/2}q_{\alpha -1/2} =-gh_\alpha \partial _x\eta ,\\&\partial _t(h_\alpha \overline{w}_\alpha )+\partial _x\left( h_\alpha \overline{u}_\alpha \overline{w}_\alpha \right) +\widetilde{w}_{\alpha + 1/2}\Gamma _{\alpha + 1/2}+ q_{\alpha +1/2}-\widetilde{w}_{\alpha - 1/2}\Gamma _{\alpha - 1/2}- q_{\alpha -1/2}=0,\\&\partial _t(h_\alpha \sigma _\alpha ) +\partial _x(h_\alpha \sigma _\alpha \overline{u}_\alpha ) =2\sqrt{3}\left[ \overline{q}_\alpha -\frac{q_{\alpha +1/2}+q_{\alpha -1/2}}{2}\right. \\&~\left. -\Gamma _{\alpha + 1/2}\left( \frac{h_\alpha \partial _x\overline{u}_\alpha }{12} +\frac{\widetilde{w}_{\alpha + 1/2}-\overline{w}_\alpha }{2}\right) +\Gamma _{\alpha - 1/2}\left( \frac{h_\alpha \partial _x\overline{u}_\alpha }{12} +\frac{\overline{w}_\alpha -\widetilde{w}_{\alpha -1/2}}{2}\right) \right] , \end{aligned}$$

together with diagnostic equations

$$\begin{aligned} 2\sqrt{3}\sigma _\alpha +h_\alpha \partial _x\overline{u}_\alpha&=0,&\alpha \in \{1,\ldots ,L\}, \\ \overline{w}_\alpha -\overline{w}_{\alpha -1} -(\overline{u}_\alpha -\overline{u}_{\alpha -1})\partial _x z_{\alpha -1/2} -\sqrt{3}(\sigma _{\alpha -1}+\sigma _\alpha )&=0,&\alpha \in \{2,\ldots ,L\},\\ w_1-u_1\partial _xz_b-\sqrt{3}\sigma _1&=0, \end{aligned}$$

and the boundary condition

$$\begin{aligned} q_{L+1/2}=0. \end{aligned}$$

The mass transfer term is given by

$$\begin{aligned} \Gamma _{\alpha + 1/2}=\sum _{\beta =\alpha +1}^{L} \partial _x\left( h_\beta \left( \overline{u}_\beta -\overline{\overline{u}}\right) \right) . \end{aligned}$$

To close the model, we define

  • \(\widetilde{u}_{\alpha + 1/2}=(1-\gamma _{\alpha +1/2})\overline{u}_{\alpha +1} +\gamma _{\alpha +1/2}\overline{u}_\alpha \);

  • \(\widetilde{w}_{\alpha + 1/2}=(1-\gamma _{\alpha +1/2}) \left( \overline{w}_{\alpha +1}+\frac{h_{\alpha +1}}{2}\partial _x\overline{u}_{\alpha +1}\right) +\gamma _{\alpha +1/2}\left( \overline{w}_\alpha -\frac{h_\alpha }{2}\partial _x\overline{u}_\alpha \right) \);

for any \(\gamma _{\alpha +1/2}\in [0,1]\) such that [35, Prop. 1]

$$\begin{aligned} \left( \gamma _{\alpha +1/2}-\frac{1}{2}\right) \Gamma _{\alpha +1/2}\ge 0. \end{aligned}$$
(25)

Let us recall the properties of this system:

  • Let us set \(\overline{\mathcal {K}}_\alpha =\dfrac{\overline{u}_\alpha ^2+\overline{w}_\alpha ^2+\sigma _\alpha ^2}{2}\). If \((H,\overline{u}_\alpha ,\overline{w}_\alpha ,\overline{q}_\alpha )\) are smooth solutions to the multilayer model, we have under (25)

    $$\begin{aligned} \partial _t\left( \sum _{\alpha =1}^{L}h_\alpha \left( \overline{\mathcal {K}}_\alpha +gz_\alpha +p^{atm}(x) \right) \right) +\partial _x\left( \sum _{\alpha =1}^{L}h_\alpha \overline{u}_\alpha \left( \overline{\mathcal {K}}_\alpha +\overline{q}_\alpha +g\eta +p^{atm}(x) \right) \right) \le 0. \end{aligned}$$
    (26)

    Moreover, if we take \(\gamma _{\alpha +1/2}=\frac{1}{2}\), then (26) is an equality.

  • The monolayer case \(L=1\) reduces to the SGN equations (6).

3.2 Differential Operators

Let us introduce the operators

$$\begin{aligned} \mathbf {X}_\alpha =\begin{pmatrix} \overline{u}_\alpha \\ \overline{w}_\alpha \\ \sigma _\alpha \end{pmatrix}, \qquad \mathbf {Q}_\alpha =\begin{pmatrix}\overline{q}_\alpha \\ q_{\alpha -1/2}\end{pmatrix}, \end{aligned}$$

and

$$\begin{aligned} \mathop {\nabla ^\alpha _{ldnh}}\mathbf {Q}_\alpha&=\begin{pmatrix} \frac{\partial _x(h^*\overline{q}_\alpha )}{L} -q_{\alpha +1/2}\partial _xz_{\alpha +1/2}^* +q_{\alpha -1/2}\partial _xz_{\alpha -1/2}^* \\ q_{\alpha +1/2}-q_{\alpha -1/2} \\ -2\sqrt{3}\left( \overline{q}_\alpha -\frac{q_{\alpha +1/2}+q_{\alpha -1/2}}{2}\right) \end{pmatrix},&\alpha \in \{1,\ldots ,L\},\\ \mathop {\nabla ^\alpha _{ldnh}\cdot }\mathbf {X}_\alpha&= \begin{pmatrix} 2\sqrt{3}\sigma _\alpha +\frac{h^*}{L}\partial _x\overline{u}_\alpha \\ \overline{w}_\alpha -\overline{w}_{\alpha -1} -(\overline{u}_\alpha -\overline{u}_{\alpha -1})\partial _x z_{\alpha -1/2}^* -\sqrt{3}(\sigma _{\alpha -1}+\sigma _\alpha ) \end{pmatrix},&\alpha \in \{2,\ldots ,L\},\\ \mathop {\nabla _{ldnh}^1}\cdot \mathbf {X}_1&= \begin{pmatrix} 2\sqrt{3}\sigma _1+\frac{h^*}{L}\partial _x\overline{u}_1 \\ \overline{w}_1-\overline{u}_1\partial _xz_b-\sqrt{3}\sigma _1 \end{pmatrix}. \end{aligned}$$

We get a global duality relation

$$\begin{aligned} \sum _{\alpha =1}^{L} \mathbf {Q}_\alpha \cdot (\mathop {\nabla ^\alpha _{ldnh}\cdot }\mathbf {X}_\alpha ) =\frac{1}{L}\partial _x(h\overline{q}_\alpha \overline{u}_\alpha ) -\sum _{\alpha =1}^L\mathbf {X}_\alpha \cdot \mathop {\nabla ^\alpha _{ldnh}}\mathbf {Q}_\alpha . \end{aligned}$$
(27)

It is worth noticing that

$$\begin{aligned} \mathop {\nabla ^\alpha _{ldnh}}\mathbf {Q}_\alpha&= \begin{pmatrix} \frac{\partial _x(h^*\overline{q}_\alpha )}{L} \\ 0 \\ -2\sqrt{3}\overline{q}_\alpha \end{pmatrix} + \begin{pmatrix} q_{\alpha -1/2}\partial _xz_{\alpha -1/2}^* \\ -q_{\alpha +1/2} \\ \sqrt{3}q_{\alpha +1/2} \end{pmatrix} - \begin{pmatrix} q_{\alpha +1/2}\partial _xz_{\alpha +1/2}^* \\ -q_{\alpha -1/2} \\ \sqrt{3}q_{\alpha -1/2} \end{pmatrix} + \begin{pmatrix} 0 \\ 0 \\ 2\sqrt{3}q_{\alpha +1/2} \end{pmatrix}, \end{aligned}$$
(28a)

and

$$\begin{aligned} \mathop {\nabla ^\alpha _{ldnh}\cdot }\mathbf {X}_\alpha&= \begin{pmatrix} 2\sqrt{3}\sigma _\alpha +\frac{h^*}{L}\partial _x\overline{u}_\alpha \\ \overline{w}_\alpha -\overline{u}_\alpha \partial _x z_{\alpha -1/2}^*-\sqrt{3}\sigma _\alpha \end{pmatrix} - \begin{pmatrix} 0 \\ \overline{w}_{\alpha -1}-\overline{u}_{\alpha -1}\partial _x z_{\alpha -1/2}^* -\sqrt{3}\sigma _{\alpha -1} \end{pmatrix}\nonumber \\&\quad - \begin{pmatrix} 0 \\ 2\sqrt{3}\sigma _{\alpha -1} \end{pmatrix}. \end{aligned}$$
(28b)

We mention that the divergence operator stated in the present work is not the same as in [35]. We rather provide an equivalent formulation that satisfies the duality relation (27). In particular, \(\sigma _\alpha \) is involved instead of \(\partial _x\overline{u}_\alpha \) which is important for the order of derivatives.

Let us proceed as in the single layer case with a splitting strategy between hyperbolic terms and non-hydrostatic terms. The latter part reads

$$\begin{aligned} {\left\{ \begin{array}{ll} \dfrac{h^*\mathbf {X}_\alpha -h^*\mathbf {X}_\alpha ^*}{L\Delta t} +\mathop {\nabla ^\alpha _{ldnh}}\mathbf {Q}_\alpha =0,\\ \mathop {\nabla ^\alpha _{ldnh}\cdot }\mathbf {X}_\alpha =0, \end{array}\right. } \end{aligned}$$
(29)

which implies

$$\begin{aligned} -\mathop {\nabla ^\alpha _{ldnh}\cdot }\left( \frac{\mathop {\nabla ^\alpha _{ldnh}}\mathbf {Q}_\alpha }{h^*}\right) =-\frac{1}{L\Delta t}\mathop {\nabla ^\alpha _{ldnh}\cdot }\mathbf {X}^*. \end{aligned}$$

The latter equation is expanded as, for \(\alpha \in \{1,\ldots ,L\}\)

$$\begin{aligned}&-h^*\partial _x\left( \frac{\partial _x(h^*\overline{q}_\alpha )}{h^*}\right) +12L^2\frac{\overline{q}_\alpha }{h^*} =-\frac{L}{\Delta t} \left( 2\sqrt{3}\sigma _\alpha ^*+\frac{h^*}{L}\partial _xu_\alpha ^*\right) \nonumber \\&\quad -Lh^*\partial _x\left( \frac{q_{\alpha +1/2}\partial _xz_{\alpha +1/2}^*-q_{\alpha -1/2}\partial _xz_{\alpha -1/2}^*}{h^*} \right) +6L^2\frac{q_{\alpha +1/2}+q_{\alpha -1/2}}{h^*}, \end{aligned}$$
(30a)

then for \(\alpha \in \{2,\ldots ,L\}\)

$$\begin{aligned}&\left( 2-\partial _xz_{\alpha +1/2}^*\partial _xz_{\alpha -1/2}^*\right) \frac{q_{\alpha +1/2}}{h^*} +2\left( 4+(\partial _xz_{\alpha -1/2}^*)^2\right) \frac{q_{\alpha -1/2}}{h^*}\nonumber \\&\qquad +\left( 2-\partial _xz_{\alpha -1/2}^*\partial _x z_{\alpha -3/2}^*\right) \frac{q_{\alpha -3/2}}{h^*}\nonumber \\&\quad =-\frac{1}{L\Delta t}\left( w_\alpha ^*-w_{\alpha -1}^*-(u_\alpha ^*-u_{\alpha -1}^*) \partial _xz_{\alpha -1/2}^*-\sqrt{3}(\sigma _{\alpha -1}^*+\sigma _\alpha ^*)\right) \nonumber \\&\qquad -\frac{\partial _xz_{\alpha -1/2}^*}{L}\frac{\partial _x\bigl (h^*(\overline{q}_\alpha - \overline{q}_{\alpha -1})\bigr )}{h^*}+6\frac{\overline{q}_{\alpha -1}+\overline{q}_\alpha }{h^*}, \end{aligned}$$
(30b)

and finally

$$\begin{aligned}&(2-\partial _x z_{3/2}^*\partial _x z_{1/2}^*)\frac{q_{3/2}}{h^*} +\left( 4+(\partial _x z_{1/2}^*)^2\right) \frac{q_{1/2}}{h^*}\nonumber \\&\quad =-\frac{1}{L\Delta t}\left( w_1^*-u_1^*\partial _xz_b-\sqrt{3}\sigma _1^*\right) -\frac{\partial _xz_b}{L}\frac{\partial _x(h^*\overline{q}_1)}{h^*} +6\frac{\overline{q}_1}{h^*}. \end{aligned}$$
(30c)

Let us remark is that the differential operator for \(\overline{q}_\alpha \) in (30a) is independent from index \(\alpha \). Moreover, up to a coefficient \(L^2\), this operator is the same as in the monolayer case – see (18’).

3.3 Structure of the Fully Discretised Equations

Our goal is to produce an algorithm that only relies on tools designed for the monolayer case. Let us split the gradient matrix \(\mathcal {B}=\mathcal {B}^{1/2}\) from (21) into:

\(B_{11}\) is defined in equation (22) and \(B_{12}^{\alpha -1/2}\) is a \(N\times N\) diagonal matrix with entries \({(\partial _xz_{\alpha -1/2}^*)}_i\). The fact that \(\mathcal {B}_1\) is independent from layer \(\alpha \) (and exactly the same as in the monolayer case) is crucial for what is following.

Hence \(\mathop {\nabla ^\alpha _{ldnh}}\mathbf {Q}_\alpha \) is approximated according to (28a)

$$\begin{aligned} \mathcal {B}_1\overline{\mathbf {Q}}_\alpha +\mathcal {B}_2^{\alpha -1/2}\overline{\mathbf {Q}}_\alpha -\mathcal {B}_2^{\alpha +1/2}\overline{\mathbf {Q}}_{\alpha +1} +\mathcal {R}\overline{\mathbf {Q}}_{\alpha +1} =\mathcal {B}^{\alpha -1/2}\overline{\mathbf {Q}}_\alpha -\mathcal {B}_2^{\alpha +1/2}\overline{\mathbf {Q}}_{\alpha +1} +\mathcal {R}\overline{\mathbf {Q}}_{\alpha +1}, \end{aligned}$$

where

The last two terms account for interactions between layers: the model under investigation does not reduce to a monolayer model in each layer. Hence System (29) is approximated by

where

$$\begin{aligned} \overline{\mathcal {B}}= & {} \begin{pmatrix} \mathcal {B}^{1/2} &{} -\mathcal {B}_2^{3/2} &{} &{} \overline{\varvec{0}} \\ &{} \ddots &{} \ddots &{} &{} \\ &{} &{}\mathcal {B}^{\alpha -1/2} &{} -\mathcal {B}_2^{\alpha +1/2} &{} \\ &{} &{} \ddots &{} \ddots &{}\\ \overline{\varvec{0}} &{} &{} &{} \mathcal {B}^{L-1/2} \end{pmatrix}\in \mathcal {M}_{3NL,2NL}(\mathbb {R}), \quad \\ \overline{\mathcal {R}}= & {} \begin{pmatrix} \overline{\varvec{0}} &{} \mathcal {R}&{} &{} \overline{\varvec{0}}\\ &{} \ddots &{} \ddots &{} &{} \\ &{} &{} \ddots &{} \mathcal {R}\\ \overline{\varvec{0}} &{} &{} &{} \overline{\varvec{0}} \end{pmatrix}\in \mathcal {M}_{3NL,2NL}(\mathbb {R}),\\ \overline{\mathbf {X}}= & {} \begin{pmatrix} \vdots \\ \mathbf {U}_\alpha \\ \mathbf {W}_\alpha \\ {\varvec{\Sigma }}_\alpha \\ \vdots \end{pmatrix}, \quad \mathbf {U}_\alpha = \begin{pmatrix} \overline{u}_{\alpha ,1} \\ \vdots \\ \overline{u}_{\alpha ,N} \end{pmatrix}, \quad \overline{\mathbf {Q}}= \begin{pmatrix} \vdots \\ \overline{\mathbf {Q}}_\alpha \\ \vdots \end{pmatrix}. \end{aligned}$$

It is easy to verify that \(\left( \overline{\mathcal {B}}+\overline{\mathcal {R}}\right) ^T\overline{\mathbf {X}}=\widetilde{\varvec{0}}\) is consistent with (28b). For the treatment of boundary conditions which are incorporated in vectors \(\widehat{\varvec{0}}\) and \(\widetilde{\varvec{0}}\), we refer to the monolayer case (§ 16.3.2). As previously, the symmetry of the global matrix is due to the duality relation (27).

From the discrete velocity-pressure problem, we deduce as previously a discrete pressure problem which reads

$$\begin{aligned} \left( \overline{\mathcal {B}}+\overline{\mathcal {R}}\right) ^T\overline{\mathcal {H}}^{-1}\left( \overline{\mathcal {B}}+\overline{\mathcal {R}}\right) \overline{\mathbf {Q}}=\frac{1}{L\Delta t}\left[ \left( \overline{\mathcal {B}}+\overline{\mathcal {R}}\right) ^T\overline{\mathbf {X}}^*-\widetilde{\varvec{0}}\right] -\left( \overline{\mathcal {B}}+\overline{\mathcal {R}}\right) ^T\overline{\mathcal {H}}^{-1}\widehat{\varvec{0}}. \end{aligned}$$
(31)

Let us set

  • \(\overline{\mathcal {C}} =\left( \overline{\mathcal {B}}+\overline{\mathcal {R}}\right) ^T\overline{\mathcal {H}}^{-1} \left( \overline{\mathcal {B}}+\overline{\mathcal {R}}\right) \in \mathcal {M}_{2NL,2NL}(\mathbb {R})\) which is blockwise tridiagonal, symmetric positive-definite;

  • \(\mathcal {C}^{\alpha -1/2}=\left( \mathcal {B}^{\alpha -1/2}\right) ^T\mathcal {H}^{-1}\mathcal {B}^{\alpha -1/2}\) which has exactly the same structure as \(\mathcal {C}\) in (24) with \(B_{12}\) replaced by \(B_{12}^{\alpha -1/2}\).

The blockwise components of \(\overline{\mathcal {C}}\) are then:

  • \(\mathcal {C}_{1,1}=\mathcal {C}^{1/2}\);

  • For \(\alpha \in \{2,\ldots ,L\}\):

    and

(31) is a consistent discretisation of (30).

3.4 Iterative Scheme

To solve the \(2NL\times 2NL\) linear system (31), we apply an alternating direction-type method. More precisely, it amounts to solving iteratively:

x-direction:

For each layer \(\alpha \), (30a) in \(\overline{q}_\alpha \) knowing \(q_{\alpha +1/2}\) which corresponds to a linear system with matrix \(C_{11}\) given in (24) (the same for all layers which requires a single factorisation for all iterates at each time step):

$$\begin{aligned} C_{11}{\varvec{q}}_\alpha ^{p+1} =\frac{1}{L\Delta t}\left( B_{11}^T\mathbf {U}_\alpha ^* -2\sqrt{3}{\varvec{\Sigma }}_\alpha ^*\right) - C_{12}^{\alpha -1/2}{\varvec{q}}_{\alpha -1/2}^p; \end{aligned}$$
z-direction:

For each node \(x_i\), (30b-30c) in \(q_{\alpha +1/2}\) knowing \(\overline{q}_\alpha \). It is a tridiagonal system with matrix \(\mathcal {S}^{(i)}\) solved by means of the Thomas’ algorithm [64]. Matrix \(\mathcal {S}^{(i)}\) is a \(L\times L\) tridiagonal symmetric positive-definite matrix with

  • \(S^{(i)}_{1,1}=4+{(\partial _xz_{1/2}^*)}_i^2\);

  • For \(\alpha \ge 2\), \(S^{(i)}_{\alpha ,\alpha }=2\left( 4+{(\partial _xz_{\alpha -1/2}^*)}_i^2\right) \) and \(S^{(i)}_{\alpha ,\alpha -1}=S^{(i)}_{\alpha -1,\alpha } =2-{(\partial _xz_{\alpha -1/2}^*)}_i{(\partial _xz_{\alpha -3/2}^*)}_i\).

Indeed, we check that

$$\begin{aligned}&\langle \mathcal {S}^{(i)}\varvec{x},\varvec{x}\rangle =2x_1^2+\left( 2+{(\partial _xz_{L-1/2})}_i^2\right) x_L^2\\&\quad +\sum _{\alpha =2}^{L-1}\left[ 4x_\alpha ^2+2(x_\alpha +x_{\alpha -1})^2 +\left( {(\partial _xz_{\alpha -1/2}^*)}_i x_\alpha -{(\partial _xz_{\alpha -3/2}^*)}_ix_{\alpha -1}\right) ^2\right] \ge 0. \end{aligned}$$

This strategy is equivalent to solving the following system by means of a Gauss-Seidel iterative procedure:

where unknowns have been re-labelled as

Remark 8

It must be underlined that this algorithm can be easily parallelised insofar as each direction (x and z) involves a blockwise diagonal matrix.

4 Numerical Simulations

Let us recall that the stability condition is prescribed by the hyperbolic part of the splitting strategy – see (19) with a CFL number to be specified.

The numerical schemes presented in this paper, namely the resolution of (23) for \(LDNH_2(L=1)\) and the resolution of (31) for \(LDNH_2(L)\), \(L\ge 1\), are assessed by means of some classic test cases and compared to numerical results obtained with the DAE model (5) and its multilayer counterpart described in [35].

It is a well-known fact that dispersive non-hydrostatic models usually require an extra dissipative mechanism to properly treat breaking waves near the coast. Otherwise, artificial overshooting may appear when the wave approaches the shore, see for instance [33].

A breaking criterion as the ones presented in [33] for non-hydrostatic pressure system or in [30] for a two-layer non-hydrostatic pressure system can be easily adapted to the formulations shown in this paper. Nevertheless, we intend here to do a fair comparison of the models \(LDNH_0\) and \(LDNH_2\) by themselves, without any other extra treatment such as breaking. Note that such a breaking criteria would be needed in some cases for very fine meshes, in particular in Tests 18.3 and 18.5.

4.1 Convergence Test

Let us start by a convergence test for both models, \(LDNH_0\) and \(LDNH_2\), in order to assess the numerical strategy and the code. To do so, we consider the propagation of a solitary wave in a rectangular channel with constant topography, that is, a travelling wave that propagates at constant speed, without change in its shape. Let us remark that the particular definition of solitary waves depend on the particular model used, see for instance [61] and the references therein for further details on this topic.

Let us consider here the one layer models (5) and (6). Following [15], solitary waves for these models are given by

$$\begin{aligned} \begin{aligned} h(t,x)&=H_*+A\ {\mathop {\mathrm {sech}}}^2\left( \frac{1}{H_*} \sqrt{\frac{A\gamma }{2(A+H_*)}}(x-ct)\right) , \quad u(t,x)= c \left( 1-\frac{H_*}{h(t,x)} \right) , \\ w(t,x)&=-\frac{cA}{h(t,x)} \sqrt{\frac{A\gamma }{2(A+H_*)}} \ {\mathop {\mathrm {sech}}}^3\left( \frac{1}{H_*}\sqrt{\frac{A\gamma }{2(A+H_*)}}(x-ct)\right) \\&\quad \sinh \left( \frac{1}{H_*}\sqrt{\frac{A\gamma }{2(A+H_*)}}(x-ct)\right) \end{aligned} \end{aligned}$$
(32)

where A and \(H_*\) are constant fixed values, \(c=\sqrt{g(A+H_*)}\) and

  • \(\gamma =2\) in the case of \(LDNH_0\),

  • \(\gamma =3/2\) in the case of \(LDNH_2\).

Here we set \(H_*=1,\) \(A=0.1,\) \(g=1\) and \(z_b=0\).

The propagation of a solitary wave over a long distance is a standard assessment of stability and conservative properties of numerical schemes for Boussinesq-type equations [58, 59, 65]. A solitary wave propagates at constant speed and without change of shape over a horizontal bottom.

The domain is \([-20,20]\). We perform the simulation with different numbers of volume cells at time \(t=0.2\) with a second-order scheme. The results are compared to the reference solution and the errors are shown in Tables 1 and 2. These results show the convergence towards the reference solution at second-order.

Table 1 Test 18.1\(L^1\) errors with the \(LDNH_0\)-soliton and numerical orders of accuracy
Table 2 Test 18.1\(L^1\) errors with the \(LDNH_2\)-soliton and numerical orders of accuracy

4.2 Still Water Steady-State

In this test we consider the same domain and boundary conditions as in the previous test. The topography \(z_b\) is given by

$$\begin{aligned} z_b(x) = 0.9e^{-x^2}-1. \end{aligned}$$

We consider the initial condition given by \(h_0(x)=-z_b(x),\) and the rest of the flow variables are set to zero.

The exact solution is a steady-state with still water, coinciding at all times with the initial condition. We have performed the numerical test for the \(LDNH_2(L)\) system for \(L=1,\ 4\) with increasing number of cells. Tables 3 and 4 show the error observed at time \(T=10,\) with a CFL number set to 0.9. It clearly shows that the scheme is well-balanced since these are all of the order of the machine precision.

Table 3 Test 18.2 – Well-balancing \(L^1\) errors for the still water steady states with the \(LDNH_2(1)\) system
Table 4 Test 18.2 – Well-balancing \(L^1\) errors for the still water steady states with the \(LDNH_2(4)\) system, and \(\varvec{u}=\dfrac{1}{4}\displaystyle \sum _{\alpha =1}^4 u_\alpha ,\ \varvec{w}=\dfrac{1}{4}\displaystyle \sum _{\alpha =1}^4 w_\alpha \)

4.3 Solitary Wave Propagation Over Reefs

A test case propagating a solitary wave over an idealised fringing reef assesses the ability of the model to handle nonlinear dispersive waves, breaking waves and bore propagation. The test configuration includes a fore reef, a flat reef, and an optional reef crest to represent fringing reefs commonly found in a tropical environment. Figure 4 shows a sketch of the laboratory experiments carried out at the O.H. Hinsdale Wave Research Laboratory of Oregon State University. See for instance [66] for more details. The 1D domain [0, 45] is discretised with \(\Delta x=0.045 \ \mathrm {m}\).

Fig. 4
figure 4

Test 18.3 – sketch of the topography

Fig. 5
figure 5

Test 18.3 – comparison between experimental data (red points) and numerical results (solid blue line for \(LDNH_0\) and dashed pink line for \(LDNH_2\)) at times \(t\sqrt{g/H_*}=0,\ 7.8,\ 10,\ 13,\ 17,\ 20.5\ s\) (Color figure online)

A solitary wave of amplitude \(0.5\ \mathrm {m}\) is placed at point \(x=10\ \mathrm {m}\). Finally \(CFL=0.9\) and \(g=9.81\ \mathrm {m}\cdot \mathrm {s}^{-2}\). Free outflow boundary conditions are imposed.

Figure 5 shows snapshots at different times, \(t\sqrt{g/H_*}=t_0\) where \(H_*=1\ \mathrm {m}\). Comparisons between experimental and simulated data allow to validate the numerical approach presented in this paper. Results are shown for \(LDNH_0(L=1)\) and \(LDNH_2(L=1)\) models. The water rushes over the flat reef without producing a pronounced bore-shape. The simulation also captures the offshore component of the rarefaction falls, exposing the reef edge, below the initial water level. The simulations match with experimental data and the \(LDNH_2\) provides slightly better results.

Fig. 6
figure 6

Test 18.4 – sketch of the bathymetry

4.4 Wave Propagation Over a Submerged Bar

The Dingemans experiment [27] of plunging breaking periodic waves over a submerged bar is considered. This case allows to study frequency dispersion characteristics and non-linear interactions. As waves propagate over a submerged bar, multiple phenomena occur, like the appearance of higher harmonics. The 1D domain [0, 30] is discretised with \(\Delta x=0.005\) and the bathymetry is defined on Fig. 6. Locations of the measurement points are specified in Table 5. The CFL number is set to \(\mathcal {C}_{CFL}=0.9\) and the gravity field to \(g=9.81\ \mathrm {m}\cdot \mathrm {s}^{-2}\). We run the numerical test from the “lake at rest” steady state as an initial condition. Boundary conditions correspond to free outflow at \(x=30\) and a sinusoidal wave train for \(\eta \) generated at \(x=0\). This is done as in [30] imposing in a relaxation zone:

$$\begin{aligned} \eta _\ell (t)=A \sin \left( \displaystyle \frac{2\pi }{T}t\right) , \end{aligned}$$

where \(A=0.01\) and \(T=2.02\) denote resp. amplitude and period.

Table 5 Test 18.4 – wave gauge locations

This test produces, up to the front slope, waves with wavenumbers \(k\approx 0.63/H_*\) and \(k\approx 1.58H_*\) respectively, where \(H_*=0.4\) is the typical depth. Fig. 7 shows numerical results of time series of the free surface for Model \(LDNH_0(L)\), for \(L\in \{1,2,4\}\), while Fig. 8 concerns \(LDNH_2(L)\) and Fig. 9 shows comparisons between \(LDNH_0(L=4)\) and \(LDNH_2(L=4)\).

Good agreements with experimental data are observed for all models up to Gauge \(\#4\). Beyond the bar, higher harmonics are released which explains discrepancies. We recover observations from the literature, such as [51] where \(\sigma \)-coordinates are used, or [30] where an enhanced two-layer version of the non-hydrostatic pressure system \(LDNH_0\) is used. The results in [23] with a three-parameter Green-Naghdi model optimised for uneven bottoms, show the same level of agreement. Here, we would like to stress the ability of the proposed models to deal with a wide range of dispersive waves. The main difference between \(LDNH_0(4)\) and \(LDNH_2(4)\), as pictured on Fig. 9, can be seen for gauges \(\#6\) to \(\#8\) where the \(LDNH_2\) model is more accurate.

Fig. 7
figure 7

Test 18.4 – comparison of experiment data (red points) and simulated ones with the model \(LDNH_0\) setting 1 layer (green), 2 layers (blue) and 4 layers (black) (Color figure online)

Fig. 8
figure 8

Test 18.4 – comparison of experiment data (red points) and simulated ones with the model \(LDNH_2\) setting 1 layer (green), 2 layers (blue) and 4 layers (black) (Color figure online)

Fig. 9
figure 9

Test 18.4 – comparison of experiment data (red points) and simulated ones with the model \(LDNH_0\) (blue) and \(LDNH_2\) (black) setting 4 layers (Color figure online)

4.5 Shoaling of a Solitary Wave on a Plane Beach

We finally consider the shoaling of a solitary wave on a beach with a constant slope (1 : 30) as described by Guibourg in [42] and then investigated in [11, 28].

A sketch of the geometry is described on Fig. 10. The initial condition is a solitary wave at location \(x=10\) with amplitude \(A=0.298\), as described in [24, 29]. The computational domain \(\Omega = [0, 27.5]\) is divided into cells of length \(\Delta x = 0.01\). Free-outflow boundary conditions are considered and the CFL number is set to \(\mathcal {C}_{CFL}=0.9\).

We compare Models \(LDNH_0(L)\) and \(LDNH_2(L)\) for \(L\in \{1,2,4\}\). Some temporal series of the free-surface elevation are measured at various locations (see Table 6) and compared with the corresponding numerical results.

Results are shown on Figs. 11. Numerical outputs for \(A=0.289\) predict the shoaling phenomenon during the wave run-up satisfactorily. The output clearly shows better performance for Model \(LDNH_2\), which is expected according to the linear dispersion relation of the continuum models.

Fig. 10
figure 10

Test 18.5 – sketch of the bathymetry used for the shoaling of a solitary wave test problem

5 Conclusion

This paper deals with some numerical approaches to simulate Models \(LDNH_0\) and \(LDNH_2\) introduced in [35]. The main objective is to compare their accuracy when applied to different standard test case scenarios. The \(LDNH_2\) model presented in [35] may be seen as a multilayer extension of the Serre – Green-Naghdi equations. This model was derived from Euler equations assuming linear and quadratic vertical profiles for the vertical velocity and pressure. The \(LDNH_0\) model presented in [35] differs from \(LDNH_2\) due to the assumption of a linear vertical profile for pressure. One of the most attractive properties of the models relies on the increasing accuracy of the linear dispersion relation as the number of layers increases, whereas the model \(LDNH_2\) shows better accuracy than \(LDNH_0\) for the same number of layers.

The \(LDNH_0\) model is solved by using a projection technique similar to the one introduced in [30]. The extension of this technique to \(LDNH_2\) is not straightforward. We proposed a numerical method based on this projection technique to approximate the solution of the \(LDNH_2\) model.

The complexity of the model \(LDNH_2\) requires the design of an efficient strategy to solve it numerically for an increasing number of layers. To this aim, we have exploited here a duality relation at the continuous level. This allows to design an algorithm relying on an iterative process that solves a one-layer case in each iteration.

In particular, the algorithm may be decomposed into two different problems: The first one corresponds to a discrete parabolic problem per layer and the second to a tridiagonal linear system at each point of the horizontal discretisation that couples each layer. Moreover, (i) the matrix of the linear system of the parabolic problem per layer is the same for all layers, and (ii) each tridiagonal linear system at each point of the horizontal discretisation is independent. Then, we can observe that (i) since we have the same matrix for all layers, we may consider, for example, an LU-factorisation to reduce the computational time in all layers and (ii) this implies that, although this is not done in the paper, the proposed technique can be easily parallelised, especially when the number of layers increases.

Table 6 Test 18.5 – position of the wave probes
Fig. 11
figure 11

Test 18.5 with \(A = 0.289\) – blue lines indicate the numerical solution with models \(LDNH_0\) a and \(LDNH_2\) b for different layers; red points represent the experimental measurements at the probe positions

Moreover, the final numerical scheme proposed here is also high-order, well-balanced for the water at rest solution, and positive-preserving for the total water depth. That results in an efficient and robust numerical scheme, even in the presence of wet/dry transitions. It is worth mentioning that, while an extensive literature is dedicated to the numerical resolution of shallow water flows such as the Depth-Averaged Euler equations or the Serre – Green-Naghdi equations, this is the first attempt, up to our knowledge, to design a robust and efficient numerical strategy for the multilayer extension of the SGN equations.

The proposed numerical scheme has been carefully validated, showing the second order of accuracy and comparing it with available experimental data. The obtained results exhibit an excellent fitting with the experiments and show that the proposed strategy is well-suited for most coastal processes: wave propagation, shoaling of the waves, run-up of waves onto a beach, higher dispersive harmonic waves, among others.

In the numerical tests presented in the paper, we can also see that for a fixed number of layers, the \(LDNH_2\) is in many situations more accurate than \(LDNH_0\). This result shows that the \(LDNH_2\) is of interest since the accuracy of both models has been compared by using a generalisation of classic projection techniques.

One should recall that \(LDNH_2\) has twice more pressure unknowns than \(LDNH_0\). Therefore, if we apply a projection method to approximate the solution of \(LDNH_2\), it results in a more expensive algorithm, from the computational point of view, than for \(LDNH_0\). Hence, a fair comparison of both models from the computational point of view is beyond the scope of this paper.

Nevertheless, it is worth mentioning that this paper was aimed to analyse and propose a projection technique as a starting point for designing efficient and robust numerical methods of high-order for multilayer non-hydrostatic systems. As further research, it will be interesting to investigate the development of other numerical strategies for the \(LDNH_2\) model and compare them with the one proposed here. For example, it may be of interest to consider relaxation techniques or rapid numerical methods and pseudo-compressibility approximations, as the ones proposed for one-layer dispersive shallow models in [31, 34] and [9], respectively.