1 Introduction

Nonlinear dispersive systems can be found in many different areas of computational mechanics, ranging from large scale dispersive free surface shallow water flows [12, 28, 62, 87, 93, 94] over multi-phase flows with surface tension [13, 39] down to quantum fluid mechanics [14, 15, 65, 75]. A common difficulty in the above applications is that the nonlinear time-dependent governing partial differential equations (PDE) typically contain either higher order spatial and temporal derivatives, or a subset of elliptic equations, and therefore the integration with simple explicit finite volume and discontinuous Galerkin finite element schemes becomes unfeasible.

Therefore, very recently, there has been an increasing interest in rewriting nonlinear PDE systems with higher order derivatives under the form of nonlinear hyperbolic relaxation systems, which contain at most first order derivatives in space and time, in conjunction with potentially stiff algebraic relaxation source terms. The idea goes back to the seminal work of Cattaneo [25], who proposed a hyperbolic reformulation of the parabolic heat equation. More recent work on the topic also regards the hyperbolic reformulation of advection-diffusion equations [80, 84, 85, 99], of the compressible Navier-Stokes equations [17, 47, 88] as well as hyperbolic reformulations of nonlinear dispersive systems [3, 4, 26, 51, 52, 63, 64, 79, 90]. We would like to point out a particularity of the hyperbolic dispersive system proposed in [3], since it can be derived from the depth averaged compressible Euler equations, while most depth-averaged shallow water systems are usually derived from the governing equations of an incompressible fluid. Also the well-known theory of rational extended thermodynamics [82] makes use of hyperbolic relaxation systems to model the effects of higher order derivative terms.

In this paper we focus in particular on the hyperbolic reformulation of the Serre–Green–Naghdi model introduced by Favrie and Gavrilyuk in [56], as well as on the hyperbolic reformulation of the nonlinear defocusing Schrödinger equation proposed by Dhaouadi et al. in [38]. Both systems were rigorously derived from an extended Lagrangian formalism and therefore have a rather similar mathematical structure. The hyperbolic reformulation of the nonlinear Schrödinger equation [38] has the additional difficulties that it is only weakly hyperbolic in multiple space dimensions and that it is endowed with a curl involution constraint that needs to be properly accounted for. In this paper we will make use of the hyperbolic generalized Lagrangian multiplier (GLM) curl cleaning approach of [27, 46] that goes back to the hyperbolic GLM divergence cleaning technique of Munz et al. for Maxwell and MHD equations, see [35, 83]. In alternative to the GLM method proposed here, also exactly curl-preserving schemes could be used, see e.g. [1, 11, 27, 66, 67, 71], but they require an appropriately staggered mesh and are therefore not as easy to implement in an existing general purpose DG solver as the simple GLM method, which only requires the solution of additional PDEs for the cleaning quantities. The main novelty proposed in the present paper is a new GLM curl cleaning that is also thermodynamically compatible with the conservation of total energy.

To integrate the governing PDE systems under consideration in this paper we will make use of high order accurate explicit discontinuous Galerkin (DG) finite element schemes. The DG framework for hyperbolic conservation laws goes back to the seminal work of Cockburn and Shu [29,30,31,32] and was later generalized to hyperbolic equations with parabolic terms in [5, 6, 33, 34]. The first extension of DG schemes to dispersive PDE of the Korteveg-de-Vries (KdV) type with up to third order spatial derivatives was achieved in [106, 107], while DG schemes for PDE with even higher order spatial derivatives were first tackled in [70]. Discontinuous Galerkin finite element schemes for the solution of nonlinear dispersive Boussinesq-type equations were forwarded in [50, 54, 55]. To overcome the very severe time step restriction of explicit DG schemes applied to dispersive equations, which require the time step to scale with the cube of the mesh spacing (\({\varDelta }t \propto {\varDelta }x^3\)), see [106], fully implicit space-time DG schemes for dispersive problems were introduced in [45]. However, although the resulting schemes are unconditionally stable they are computationally very expensive due to the ill-conditioned algebraic systems that must be solved in each time step. For this reason, in this work we prefer the numerical solution of hyperbolic reformulations of nonlinear dispersive systems, which allow the straightforward use of simple explicit DG schemes for hyperbolic PDE with the usual CFL-type time step restriction, according to which the time step must be chosen proportional to the mesh spacing (\({\varDelta }t \propto {\varDelta }x\)), rather than more complex implicit DG schemes for PDE with higher order derivatives. In alternative to high order DG methods, also high order residual distribution (RD) schemes can be applied to Boussinesq-type equations, see [90].

The rest of this paper is structured as follows: in Sect. 2 we present the two nonlinear dispersive models that we want to study, namely the hyperbolic reformulation of the Serre–Green–Naghdi system of dispersive free surface water waves forwarded by Favrie and Gavrilyuk in [56] and the hyperbolic reformulation of the nonlinear defocusing Schrödinger equation proposed by Dhaouadi et al. in [38]. Compared to the original work on the hyperbolic reformulation of the Serre–Green–Naghdi system [56] in this paper we also add the bottom slope term and design an exactly well-balanced numerical scheme for the resulting system that is capable of preserving stationary lake at rest solutions exactly at the discrete level for arbitrary bottom topography. Compared to the work on the hyperbolic reformulation of the Schrödinger equation [38] in this paper an additional term is added to the system in order to restore Galilean invariance and also the curl involution constraint of the system is explicitly taken into account, which is necessary for the multi-dimensional case. As already mentioned previously, in this paper we will make use of a hyperbolic generalized Lagrangian multiplier (GLM) approach, see [27, 35, 46, 83], which also restores strong hyperbolicity of the system.

In Sect. 3 we present the framework of arbitrary high order derivative (ADER) discontinuous Galerkin finite element schemes used for the numerical solution of the hyperbolic governing PDE systems. Section 4 is devoted to the presentation and discussion of the numerical results obtained for both systems. Wherever possible, we compare with exact, numerical or experimental reference solutions. In Sect. 5 we draw some conclusions and give an outlook to future research.

2 Governing Equations

Throughout this paper we will make use of the Einstein summation convention over two repeated indices. We further denote the time with t and the Cartesian coordinate axes by \(x_k\) for \(k \in \left\{ 1, ... d \right\} \) with d the number of space dimensions. Sometimes we will also make use of the notation \(x := x_1\), \(y := x_2\) and \(\partial _x = \frac{\partial }{\partial x}\).

2.1 A Hyperbolic Reformulation of the Serre–Green–Naghdi Model

The governing PDE system generalizing that proposed in [56] to reformulate the Serre–Green–Naghdi model as a first order hyperbolic system and derived from the extended Lagrangian variational principle reads as follows (see Appendix A for details):

$$\begin{aligned}&\displaystyle \frac{\partial h}{\partial t} + \frac{\partial }{\partial x_k} \left( h v_k \right) = 0, \end{aligned}$$
(1)
$$\begin{aligned}&\displaystyle \frac{\partial h v_i}{\partial t} + \frac{\partial }{\partial x_k} \left( h v_i v_k + \left( \frac{1}{2} g h^2 + h p \right) \delta _{ik} \right) + \left( gh + \frac{3}{2}\frac{h}{\eta } p \right) \frac{\partial b}{\partial x_i} = 0, \end{aligned}$$
(2)
$$\begin{aligned}&\displaystyle \frac{\partial h \eta }{\partial t} + \frac{\partial }{\partial x_k} \left( h \eta v_k \right) + \frac{3}{2} h v_k \frac{\partial b}{\partial x_k} = h w, \end{aligned}$$
(3)
$$\begin{aligned}&\displaystyle \frac{\partial h w }{\partial t} + \frac{\partial }{\partial x_k} \left( h w v_k \right) = \lambda \left( 1 - \frac{\eta }{h} \right) ,\quad \end{aligned}$$
(4)
$$\begin{aligned}&\displaystyle \frac{\partial b}{\partial t} = 0, \end{aligned}$$
(5)

with the nonhydrostatic pressure \(\displaystyle p(h,\eta ) = \frac{\lambda }{3}\, \frac{\eta }{h} \left( 1 - \frac{\eta }{h} \right) \), the gravity constant \(g = 9.81 \, m^2/s\) and where the parameter \(\lambda \) having the dimension \(m^2/s^2\) is a large (compared to the squared velocity of surface waves gh) free parameter which makes the system (1) - (5) tend to the original Serre–Green–Naghdi model in the limit \(\lambda \rightarrow \infty \). The rigorous proof of this fact has been established in [40] in the case of flat bottom. Note that for \(\lambda \rightarrow \infty \) the term \((1-\eta /h) \rightarrow 0\) since \(\eta \rightarrow h\), hence the product will remain finite. Compared to [56] in system (1)–(5) the mild bottom slope terms are added (see Appendix A for details). The system admits the energy conservation law which is a direct consequence of the Noether theorem.

For a hyperbolic reformulation of the Serre–Green–Naghdi model without mild bottom assumption and directly derived from the compressible Euler equations, the reader is referred to [3]. The derivation from the compressible Euler equations presented in [3] can also be used to establish a connection between the square of the sound speed in the compressible medium and the penalty parameter \(\lambda \) used in the model (1)–(5). However, the model proposed in [3] is non-conservative even for flat bottom (see also [51, 52]). In the rest of this paper we sometimes refer to the model (1)–(5) also as the Favrie–Gavrilyuk (FG) model, since it is the extension of [56] to the case of mildly varying bottom.

2.1.1 Eigenstructure

The hyperbolicity of system (1)–(5) was already studied in [56] for the one dimensional case with flat bottom, while here we show the results for the two-dimensional situation with variable bottom. The eigenvalues of system (1)–(5) in \(x_1\) direction are

$$\begin{aligned} \lambda _1 = v_1-a, \qquad \lambda _{2,3,4} = v_1, \qquad \lambda _5 = v_1+a, \qquad \lambda _6 = 0, \end{aligned}$$
(6)

with the celerity \(a = \sqrt{g h + \frac{1}{3} \lambda \frac{\eta ^2}{h^2} } \) and the associated right eigenvectors

$$\begin{aligned} {\mathbf {r}}_1 = \left( \begin{array}{c} 1 \\ v_1-a \\ v_2 \\ \eta \\ w \\ 0 \end{array} \right) , {\mathbf {r}}_2 = \left( \begin{array}{c} 0 \\ 0 \\ 0 \\ 0 \\ 1 \\ 0 \end{array} \right) , {\mathbf {r}}_3 = \left( \begin{array}{c} 0 \\ 0 \\ 1 \\ 0 \\ 0 \\ 0 \end{array} \right) , {\mathbf {r}}_4 = \left( \begin{array}{c} 1 \\ v_1 \\ 0 \\ A \\ 0 \\ 0 \end{array} \right) , {\mathbf {r}}_5 = \left( \begin{array}{c} 1 \\ v_1+a \\ v_2 \\ \eta \\ w \\ 0 \end{array} \right) , \end{aligned}$$
(7)

and

$$\begin{aligned} {\mathbf {r}}_6 = \left( -\frac{3}{2} \frac{B}{T}, \, 0, \, -\frac{3}{2} v_2 \frac{B}{T}, \, - \frac{3}{2} \frac{C}{T}, \, -\frac{3}{2} w \frac{B}{T}, \, 1 \right) ^T, \end{aligned}$$
(8)

with the auxiliary quantities \(A=-\frac{3 g h^3 - \lambda h \eta + 3 \lambda \eta ^2}{\lambda (h-2\eta )}\), \(T = 3 g h^3 - 3 h^2 v_1^2 + \eta ^2 \lambda \), \(B = h(2 g h^2 + \eta \lambda )\) and \(C = h (2 \eta g h^2 + 3 g h^3 - 3 h^2 v_1^2 + 2 \eta ^2 \lambda ) \).

2.1.2 Linear Dispersion Analysis and Comparison with Other Hyperbolic Models

Following [3, 51, 73, 77], we carry out a linear dispersion analysis of the system (1)–(5) for flat bottom, ignoring all terms involving b. To simplify the expressions, we consider only the one-dimensional case and introduce the vector of primitive variables \({\mathbf {V}}=(h,u,\eta ,w)^T\). Rewriting of the governing PDE system in terms of the primitive variables leads to

$$\begin{aligned} \partial _t {\mathbf {V}} + {\mathbf {C}}\left( {\mathbf {V}}\right) \partial _{x}{\mathbf {V}}= {\mathbf {S}}\left( {\mathbf {V}}\right) \end{aligned}$$
(9)

with

$$\begin{aligned} {\mathbf {C}}\left( {\mathbf {V}}\right) = \frac{\partial {\mathbf {V}} }{\partial {\mathbf {U}}} \frac{\partial {\mathbf {F}} }{\partial {\mathbf {V}}}, \qquad \text {and} \qquad \frac{\partial {\mathbf {V}} }{\partial {\mathbf {U}}} = \left( \frac{\partial {\mathbf {U}} }{\partial {\mathbf {V}}} \right) ^{-1}. \end{aligned}$$
(10)

After decomposition of the primitive variables into a stationary component \({\mathbf {V}}_{0}\) plus a small time-dependent fluctuation \({\mathbf {V}}^{\prime }\) and assuming that \({\mathbf {S}}({\mathbf {V}}_0)=0\), we get the linearised system

$$\begin{aligned} \partial _{t}{\mathbf {V}}^{\prime } + {\mathbf {C}}\left( {\mathbf {V}}_{0}\right) \partial _{x}{\mathbf {V}}^{\prime } = {\mathbf {E}}\left( {\mathbf {V}}_{0}\right) {\mathbf {V}}^{\prime }, \qquad {\mathbf {E}}=\frac{\partial {\mathbf {S}}}{\partial {\mathbf {V}}} \end{aligned}$$
(11)

that can be studied using standard Fourier analysis. The ansatz \({\mathbf {V}}^{\prime }\left( x,t\right) = \hat{{\mathbf {V}}} e^{i\left( \kappa x - \omega t\right) }\) with \(i^2 = -1\) leads to

$$\begin{aligned} \partial _{t} {\mathbf {V}}^{\prime } = -i\omega {\mathbf {V}}^{\prime }, \quad \partial _{x} {\mathbf {V}}^{\prime }=i \kappa {\mathbf {V}}^{\prime }. \end{aligned}$$
(12)

Hence, from (11), we obtain

$$\begin{aligned} \left( -\omega {\mathbf {I}} + \kappa {\mathbf {C}}\left( {\mathbf {V}}_{0}\right) +{\mathbf {E}}\left( {\mathbf {V}}_{0}\right) i\right) {\mathbf {V}}^{\prime }=0. \end{aligned}$$
(13)

In particular, taking the rest state \({\mathbf {V}}_{0} = \left( H, 0, H, 0\right) \) the linearised matrix related to system (1)–(5) in primitive variables reads

$$\begin{aligned} {\mathbf {M}}_{0} = \kappa {\mathbf {C}}\left( {\mathbf {V}}_{0}\right) + {\mathbf {E}}\left( {\mathbf {V}}_{0}\right) i = \left( \begin{array}{l@{\quad }l@{\quad }l@{\quad }l} 0 &{} \kappa H &{} 0 &{} 0 \\ \kappa \, g + \frac{1}{3} \frac{k \lambda }{H} &{} 0 &{} -\frac{1}{3} \frac{k \lambda }{H} &{} 0 \\ 0 &{} 0 &{} 0 &{} i \\ \frac{i \lambda }{H^2} &{} 0 &{} -\frac{i \lambda }{H^2} &{} 0 \end{array}\right) . \end{aligned}$$
(14)

The eigenvalue problem \({\mathbf {M}}_{0} {\mathbf {V}}^{\prime } = \omega {\mathbf {V}}^{\prime }\) can be solved numerically, thus obtaining the phase velocity \(C_{p}=\dfrac{\omega }{\kappa }\). For comparison with other available models in the bibliography, it is important to note that the parameter \(\lambda \) is chosen as \(\lambda = 3c^{2} = 3 \alpha ^2 g H\) with c an artificial sound speed, see [3, 51]. The relative error against the phase velocity given by the linear theory of Stokes, \(C_{s}= \sqrt{ g H\frac{\tanh (\kappa H)}{\kappa H} }\), is depicted in Fig. 1 for \(\kappa H \in \left[ 0,3\right] \). The errors obtained for the system in [56] given by (1)–(5) and the hyperbolic Serre–Green–Naghdi model for general bottom topographies proposed in [3] match pretty well, as expected, since both systems are hyperbolic reformulations of the Serre–Green–Naghdi model. The relative errors for the Madsen and Sørensen model [76, 77], which has improved dispersion characteristics, are also included for comparison. Moreover, the right plot in Fig. 1, shows the sensitiveness of the model to variations of \(\lambda \). We observe that the error decreases when increasing the value of the parameter and the error curves almost overlap for large enough values of \(\lambda \).

Fig. 1
figure 1

Relative error of the phase velocity with respect to the linear theory of Stokes for \(k\in [0,3]\). Left: results obtained for \(\lambda =1200, \, H=1,\, g=9.81,\, c^{2}= \alpha ^{2} g H \): black line: Madsen and Sørensen model (MS), see [76, 77]; red line: the Favrie–Gavrilyuk (FG) model [56] studied in this paper; green line: hyperbolic SGN model of Bassi et al. with 6 equations [3]. Right: comparison of the results obtained with the Favrie–Gavrilyuk (FG) model for \(\lambda \in \left\{ 300,600,1200,2400,3600,4800 \right\} \) (Color figure online)

2.2 Hyperbolic Reformulation of the Nonlinear Schrödinger Equation

The first order hyperbolic reformulation of the nonlinear Schrödinger equation according to [38] reads

$$\begin{aligned}&\displaystyle \frac{\partial \rho }{\partial t} + \frac{\partial }{\partial x_k} \left( \rho v_k \right) = 0, \end{aligned}$$
(15)
$$\begin{aligned}&\displaystyle \frac{\partial \rho v_i}{\partial t} + \frac{\partial }{\partial x_k} \left( \rho v_i v_k + P \delta _{ik} + \frac{1}{4 \rho } p_i p_k \right) = 0, \end{aligned}$$
(16)
$$\begin{aligned}&\displaystyle \frac{\partial \rho \eta }{\partial t} + \frac{\partial }{\partial x_k} \left( \rho \eta v_k \right) = \rho w, \end{aligned}$$
(17)
$$\begin{aligned}&\displaystyle \frac{\partial \rho w }{\partial t} + \frac{\partial }{\partial x_k} \left( \rho w v_k - \frac{1}{4 \rho \beta } p_k \right) = \frac{\lambda }{\beta } \left( 1 - \frac{\eta }{\rho } \right) , \end{aligned}$$
(18)
$$\begin{aligned}&\displaystyle \frac{\partial p_k}{\partial t} + \frac{\partial }{\partial x_k} \left( p_m v_m - w \right) + v_m \left( \frac{\partial p_k}{\partial x_m} - \frac{\partial p_m}{\partial x_k} \right) = 0, \end{aligned}$$
(19)

with the total pressure \(P = \frac{1}{2} \rho ^2 - \frac{1}{4 \rho } p_m p_m + \lambda \, \eta \left( 1 - \frac{\eta }{\rho } \right) \) and where \(\lambda \gg 1\) and \(\beta \ll 1\) are two free parameters which make the system (15)–(19) tend to the original hydrodynamic model of the Schrödinger equation in the limit \(\lambda \rightarrow \infty \) and \(\beta \rightarrow 0\). Please note that compared to [38] the governing equation for \({\mathbf {p}}\) is different in this paper, since the term \(v_m \left( \frac{\partial p_k}{\partial x_m} - \frac{\partial p_m}{\partial x_k} \right) \) has been added in order to restore the Galilean invariance of the system, see [27, 47, 60, 92]. We note that the mathematical structure of system (15) is very similar to the one of (1)–(5), apart from the additional field \(p_k\) that was not present in the hyperbolic reformulation of the Serre–Green–Naghdi model. We stress that system (15) is endowed with the curl involution constraint \(\nabla \times {\mathbf {p}}=0\), which is a direct consequence of (15) if the constraint is satisfied by the initial data. Recall that with \({\mathbf {p}}=(p_1,p_2,p_3)^T\) we denote the vector with components \(p_k\). In [38] the hyperbolicity of (15) was only studied in the one-dimensional case. In this paper we present a complete study in three space dimensions, which yields some interesting findings.

2.2.1 Eigenstructure of the Original Weakly Hyperbolic System

The eigenvalues of system (15)–(19) in \(x_1\) direction are

$$\begin{aligned} \lambda _1 = v_1 - c_\lambda , \quad \lambda _2 = v_1 - c_\beta , \quad \lambda _{3,4,5,6,7} = v_1, \quad \lambda _8 = v_1 + c_\beta , \quad \lambda _9 = v_1 + c_\lambda \end{aligned}$$
(20)

with the celerities \(c_\lambda = \sqrt{\rho + \frac{1}{4} \frac{p_2^2 + p_3^2}{\rho ^2} + \lambda \frac{\eta ^2}{\rho ^2} }\) and \(c_\beta = \sqrt{ \frac{1}{4} \frac{p_2^2 + p_3^2}{\rho ^2} + \frac{1}{4 \beta \rho ^2} }\). The associated right eigenvectors read

$$\begin{aligned} {\mathbf {r}}_{1,9} = \left( \begin{array}{c} 1 \\ v_1 \mp c_\lambda \\ v_2 \\ v_3 \\ \eta \\ w \\ \frac{p_1}{\rho } \\ 0 \\ 0 \end{array} \right) , {\mathbf {r}}_{2,8} = \left( \begin{array}{c} 0 \\ 0 \\ p_2 \\ p_3 \\ 0 \\ -\beta ^{-1} \\ \mp 4 \rho c_\beta \\ 0 \\ 0 \end{array} \right) , {\mathbf {r}}_3 = \left( \begin{array}{c} 1 \\ v_1 \\ 0 \\ 0 \\ A \\ B \\ \frac{p_1}{\rho } \\ 0 \\ 0 \end{array} \right) , {\mathbf {r}}_4 = \left( \begin{array}{c} 0 \\ 0 \\ 1 \\ 0 \\ 0 \\ p_2 \\ 0 \\ 0 \\ 0 \end{array} \right) , {\mathbf {r}}_5 = \left( \begin{array}{c} 0 \\ 0 \\ 0 \\ 1 \\ 0 \\ p_3 \\ 0 \\ 0 \\ 0 \end{array} \right) , \end{aligned}$$
(21)

with the auxiliary quantities

$$\begin{aligned} A=\frac{4 \lambda \eta \rho - 4 \rho ^3 - (p_2 + p_3) - 12 \lambda \eta ^2 }{4 \lambda (\rho - 2 \eta )}, \qquad B=w - v_2 p_2 - v_3 p_3. \end{aligned}$$

As one can easily see, two eigenvectors are missing, hence the system (15)–(19) based on [38] is only weakly hyperbolic in the multi-dimensional case. The reason behind this is that the curl involution constraint has not yet been taken into account. In order to fix this issue, in Sect. 2.2.3 we will introduce an augmented system that accounts for the curl involution on \({\mathbf {p}}\) via a hyperbolic generalized Lagrangian multiplied (GLM) curl cleaning approach, which goes back to the ideas forwarded by Munz et al. [35, 83] for divergence-type constraints and in [27, 46] for curl-type constraints.

2.2.2 Stationary Equilibrium Solution in Cylindrical Coordinates

In this section, we derive a two-dimensional stationary equilibrium solution of system (15)–(19). For this purpose, the equations are first rewritten more conveniently in cylindrical coordinates \(r-\phi -z\), with the velocity vector written as \({\mathbf {v}} = (v_r, v_\phi , v_z)\) and the vector field \({\mathbf {p}}=(p_r, p_\phi , p_z)\). A substantially simplified system in radial direction is obtained by assuming \(\partial _\phi = \partial _z = 0\) and \(v_z = p_z = 0\). The final system in radial direction reads as follows:

$$\begin{aligned}&\displaystyle \partial _t \rho + \frac{1}{r} \partial _r (r \rho v_r) = 0, \end{aligned}$$
(22)
$$\begin{aligned}&\displaystyle \partial _t \left( \rho v_r \right) + \partial _r \left( \rho v_r^2 + \frac{p_r^2}{4\rho } + P \right) + \frac{\rho (v_r^2-v_\phi ^2)}{r} + \frac{p_r^2-p_\phi ^2}{4\rho r} =&0, \end{aligned}$$
(23)
$$\begin{aligned}&\displaystyle \partial _t \left( \rho v_\phi \right) + \partial _r \left( \rho v_r v_\phi + \frac{p_r p_\phi }{4 \rho } \right) + \frac{2}{r} \left( \rho v_r v_\phi + \frac{p_r p_\phi }{4 \rho } \right) = 0, \end{aligned}$$
(24)
$$\begin{aligned}&\displaystyle \partial _t \left( \rho \eta \right) + \frac{1}{r} \partial _r (r \rho \eta v_r) = \rho w, \end{aligned}$$
(25)
$$\begin{aligned}&\displaystyle \partial _t \left( \rho w \right) + \frac{1}{r} \partial _r \left( r \rho w v_r - \frac{r}{4 \rho \beta } p_r \right) = \frac{\lambda }{\beta }\left( 1 - \frac{\eta }{\rho } \right) , \qquad \end{aligned}$$
(26)
$$\begin{aligned}&\displaystyle \partial _t p_r + \partial _r \left( {\mathbf {v}} \cdot {\mathbf {p}} - w \right) = 0, \end{aligned}$$
(27)
$$\begin{aligned}&\displaystyle \partial _t p_\phi = 0, \end{aligned}$$
(28)

where in the last two equations the constraint \(\nabla \times {\mathbf {p}}=0\) has been used. We are now looking for a stationary solution, hence \(\partial _t = 0\). We furthermore assume a vortex-type solution with \(v_r=0\) and \(p_\phi = 0\) so that \({\mathbf {v}} \cdot {\mathbf {p}} = 0\). With these hypothesis from (25) we obtain \(w=0\). The above system (22)–(28) thus reduces to the following ODE system in radial direction:

$$\begin{aligned} \partial _r \left( \frac{p_r^2}{4\rho } + P \right) - \frac{\rho v_\phi ^2}{r} + \frac{p_r^2}{4\rho r}= & {} 0, \end{aligned}$$
(29)
$$\begin{aligned} - \frac{1}{r} \partial _r \left( \frac{r}{4 \rho \beta } p_r \right)= & {} \frac{\lambda }{\beta }\left( 1 - \frac{\eta }{\rho } \right) . \end{aligned}$$
(30)

We now prescribe a radial profile for the density \(\rho \) and for the radial component \(p_r\) as follows:

$$\begin{aligned} \rho (r) = \rho _0 + {\hat{\rho }} \, \text {erf} \left( L (r-R) \right) , \end{aligned}$$
(31)

and

$$\begin{aligned} p_r(r) = p_0 \exp \left( - \frac{1}{2} \frac{(r-R)^2}{\sigma ^2} \right) . \end{aligned}$$
(32)

From (30) one then directly obtains the profile \(\eta (r)\) as

$$\begin{aligned} \eta (r) = \rho (r) \left( 1 + \frac{\beta }{\lambda r} \partial _r \left( \frac{r}{4 \rho \beta } p_r(r) \right) \right) , \end{aligned}$$
(33)

while the angular velocity profile \(v_\phi (r)\) is obtained from (29) and reads

$$\begin{aligned} v_\phi (r) = \sqrt{ \frac{p_r^2}{4 \rho ^2} + \frac{r}{\rho } \partial _r \left( \frac{p_r^2}{4\rho } + P \right) }. \end{aligned}$$
(34)

The exact expressions for the profiles of \(\eta (r)\) and \(v_\phi (r)\) can be easily obtained via a computer algebra system and are thus not explicitly reported here.

2.2.3 Augmented GLM Curl Cleaning System

Following the original ideas of Munz et al. [35, 83] concerning hyperbolic divergence cleaning for the Maxwell and MHD equations and their extension to curl involutions in [27, 46], we propose the following augmented system, where eventual curl errors produced by the numerical scheme are transported away by a Maxwell-type subsystem:

(35)
(36)
(37)
(38)
(39)
(40)

with the curl cleaning speed \(a_c=const > 0 \). The additional GLM curl cleaning terms have been highlighted in blue, for convenience. From the last two equations we recover the involution constraint \(\nabla \times {\mathbf {p}} \rightarrow 0\) in the limit \(a_c \rightarrow \infty \). The equations are also compatible with the energy conservation law (see Appendix B), hence the hyperbolic GLM cleaning proposed in this paper is a thermodynamically compatible one, in contrast to the previous hyperbolic GLM cleaning approaches proposed in [27, 35, 37, 46] that were not compatible with the conservation of total energy. Note, however, that the GLM divergence cleaning for MHD proposed in [37] was compatible with the conservation of mathematical entropy.

2.2.4 Eigenstructure of the Augmented GLM System

The eigenvalues of the thermodynamically compatible augmented GLM curl cleaning system (35)–(40) in \(x_1\) direction are

$$\begin{aligned}&\lambda _{1,12} = v_1 \mp c_\lambda , \quad \lambda _{2,11} = v_1 \mp c_\beta , \quad \lambda _{3,10} = v_1 \mp a_c, \nonumber \\&\lambda _{4,9} = v_1 \mp a_c, \quad \lambda _{5,6,7,8} = v_1. \end{aligned}$$
(41)

The associated right eigenvectors are

$$\begin{aligned} {\mathbf {r}}_{1,12}= & {} \left( \begin{array}{c} 1 \\ v_1 \mp c_\lambda \\ v_2 \\ v_3 \\ \eta \\ w \\ \frac{p_1}{\rho } \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \end{array} \right) , {\mathbf {r}}_{2,11} = \left( \begin{array}{c} 0 \\ 0 \\ p_2 \\ p_3 \\ 0 \\ -\beta ^{-1} \\ \mp 4 \rho c_\beta \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \end{array} \right) , {\mathbf {r}}_5 = \left( \begin{array}{c} 1 \\ v_1 \\ 0 \\ 0 \\ A \\ B \\ \frac{p_1}{\rho } \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \end{array} \right) , {\mathbf {r}}_6 = \left( \begin{array}{c} 0 \\ 0 \\ 1 \\ 0 \\ 0 \\ p_2 \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \end{array} \right) , {\mathbf {r}}_7 = \left( \begin{array}{c} 0 \\ 0 \\ 0 \\ 1 \\ 0 \\ p_3 \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \end{array} \right) , \end{aligned}$$
(42)
$$\begin{aligned} {\mathbf {r}}_8= & {} \left( 0, \, 0, \, 0, \, 0, \, 0, \, 0, \, 0, \, 0, \, 0, \, 1, \, 0, \, 0 \right) ^T, \nonumber \\ {\mathbf {r}}_{3,10}= & {} \left( 0, \, 0, \, - \frac{1}{2} p_1 \, p_3, \, \frac{1}{2} p_1 \, p_2, \, 0, \, 0, \, 0, \, \pm 2 \, a_c \, \rho \, p_3, \, \mp 2 \, a_c \, \rho \, p_2, \, 0, \, a_c \, p_2, \, a_c \, p_3 \right) ^T, \nonumber \\ {\mathbf {r}}_{4,9}= & {} \left( p_3, p_3 ( v_1 \mp a_c ), R_3, R_4, p_3 \eta , R_6, R_7, 0, R_9, 0, R_{11}, 0 \right) ^T, \end{aligned}$$
(43)

with the auxiliary quantities

$$\begin{aligned} A= & {} \frac{4 \lambda \eta \rho - 4 \rho ^3 - (p_2 + p_3) - 12 \lambda \eta ^2 }{4 \lambda (\rho - 2 \eta )}, \qquad B=w - v_2 p_2 - v_3 p_3, \\ T= & {} 4 \beta a_c^2 \rho ^2 - \beta p_2^2 - \beta p_3^2 - 1, \qquad \alpha = \rho ^3 + \eta ^2 \lambda , \end{aligned}$$

and

$$\begin{aligned} R_3= & {} \mp \frac{1}{8} p_3 \frac{ \mp 8 T a_c \rho ^2 v_2 + 4 \alpha \beta p_1 p_2 - T p_1 p_2 - p_1 p_2}{\rho ^2 a_c T }, \\ R_4= & {} \mp \frac{1}{8} \frac{-4 T a_c^2 p_1 \rho ^2 \mp 8 T a_c p_3 \rho ^2 v_3 + 4 \alpha \beta p_1 p_3^2 + T p_1 p_2^2 +4 T \alpha p_1 - p_1 p_3^2}{\rho ^2 a_c T }, \\ R_6= & {} \mp \frac{1}{8} p_3 \frac{ \mp 8 T a_c \rho ^2 w + 4 c_0^2 p_1 \rho ^2 -p_1 p_2^2-p_1 p_3^2-4 \alpha p_1 }{\rho ^2 a_c T}, \\ R_7= & {} \frac{1}{2} \frac{p_1 p_3}{\rho T} \left( 4 \alpha \beta + T - 1 \right) , \\ R_9= & {} \frac{1}{2} \, \frac{ -4 a_c^2 \rho ^2 + p_2^2 + p_3^2 + 4 \alpha }{\rho }, \\ R_{11}= & {} \mp \frac{1}{4} \, \frac{ -4 a_c^2 \rho ^2 + p_2^2 + p_3^2 + 4 \alpha }{\rho ^2 }. \end{aligned}$$

For \(p_2 \ne 0\) or \(p_3 \ne 0\) the eigenvectors \({\mathbf {r}}_{3,10}\) are linearly independent of the others and thus the system is strongly hyperbolic. It becomes weakly hyperbolic only for \(p_2=p_3=0\). One immediately realizes that the eigenvectors \({\mathbf {r}}_{1,12}\), \({\mathbf {r}}_{2,11}\) and \({\mathbf {r}}_{5,6,7}\) coincide exactly with those of the original system without GLM curl cleaning.

3 Numerical Method

Both dispersive models (1)–(5) and (35)–(40) can be cast into the following general form

$$\begin{aligned} \frac{\partial {\mathbf {Q}}}{\partial t} + \nabla \cdot {\mathbf {F}}({\mathbf {Q}}) + {\mathbf {B}}({\mathbf {Q}}) \cdot \nabla {\mathbf {Q}}= {\mathbf {S}}({\mathbf {Q}}), \end{aligned}$$
(44)

with the state vector \({\mathbf {Q}}\in {\varOmega }_Q \subset {\mathbb {R}}^m\), the state space \({\varOmega }_Q\), the flux tensor \({\mathbf {F}}({\mathbf {Q}}) = \left( {\mathbf {f}}, {\mathbf {g}}, {\mathbf {h}} \right) \), the nonconservative product \({\mathbf {B}}({\mathbf {Q}}) \cdot \nabla {\mathbf {Q}}= {\mathbf {B}}_1({\mathbf {Q}}) \partial _x {\mathbf {Q}}+ {\mathbf {B}}_2({\mathbf {Q}}) \partial _y {\mathbf {Q}}+ {\mathbf {B}}_3({\mathbf {Q}}) \partial _z {\mathbf {Q}}\) and the algebraic source term \({\mathbf {S}}({\mathbf {Q}})\).

For the numerical simulation of the hyperbolic reformulations of the nonlinear dispersive systems introduced in the previous section, and which can all be cast into the general form (44), we employ the family of high order accurate fully-discrete one-step ADER discontinuous Galerkin schemes with a posteriori subcell finite volume limiter, see e.g. [17, 42, 43, 49, 108]. In the following we provide a brief description of the method. For further details the reader is referred to the above references.

3.1 Fully Discrete One-Step ADER-DG Schemes

The governing PDE systems (1)–(5) and (35)–(40) are discretized on a computational domain \({\varOmega }\) employing a uniform Cartesian grid with elements \({\varOmega }_{i}=\left[ x_{i}-\frac{{\varDelta }x}{2},x_{i}+\frac{{\varDelta }x}{2} \right] \times \left[ y_{i}-\frac{{\varDelta }y}{2},y_{i}+\frac{{\varDelta }y}{2}\right] \) with \({\mathbf {x}}_{i}=\left( x_{i},y_{i}\right) \) the barycenter of \({\varOmega }_{i}\) and \({\varDelta }x\), \({\varDelta }y\) the mesh spacing in x and y direction, respectively. Denoting by \({\mathbf {u}}_h({\mathbf {x}},t^n)\) the discrete solution of (44) written in the space of piecewise polynomials of degree N, the discrete solution within \({\varOmega }_i\) is sought under the form

$$\begin{aligned} {\mathbf {u}}_h({\mathbf {x}},t^n) = \phi _l ({\mathbf {x}})\; \hat{{\mathbf {u}}}^n_{l,i}, \quad {\mathbf {x}} \in {\varOmega }_i. \end{aligned}$$
(45)

Here, \(\phi _l({\mathbf {x}}) = \varphi _{l_1}(\xi ) \varphi _{l_2}(\eta )\) are the basis functions, which are tensor products of one-dimensional basis functions \(\varphi _{l_m}(\chi )\) on the unit interval \(\chi \in {\varOmega }_{\mathrm {ref}}=\left[ 0,1\right] \). The mapping from the reference coordinates \(0 \le \xi , \eta \le 1\) to the physical coordinates reads \(x = x_{i}-\frac{1}{2}{\varDelta }x + \xi {\varDelta }x\) and \(y = y_{i}-\frac{1}{2}{\varDelta }y + \eta {\varDelta }y\). Here, l is a multi-index, referring to the one-dimensional basis functions \(\varphi _{l_{m}}\) to be used in the tensor product. We employ Lagrange interpolation polynomials passing through the Gauss-Legendre quadrature points of a Gaussian quadrature formula with \(N+1\) nodes. This leads by construction to an orthogonal basis. Due to the nodal tensor-product basis, the scheme can be written in a dimension-by-dimension fashion and all operators can be decomposed into products of one-dimensional operators. Multiplication of the governing PDE system (44) by test functions \(\phi _k\), which are identical to the basis functions, and integration over a space-time control volume \({\varOmega }_i \times [t^{n},t^{n+1}]\) leads to

$$\begin{aligned} \int \limits _{t^n}^{t^{n+1}} \int \limits _{{\varOmega }_i } \phi _k \left( \partial _t {\mathbf {Q}} + \nabla \cdot {\mathbf {F}}({\mathbf {Q}})+ \varvec{{\mathbf {B}}}({\mathbf {Q}}) \cdot \nabla {\mathbf {Q}}\right) \,d{\mathbf {x}}\,dt = \int \limits _{t^n}^{t^{n+1}} \int \limits _{{\varOmega }_i } \phi _k \, {\mathbf {S}}\left( {\mathbf {Q}} \right) d{\mathbf {x}}\,dt . \end{aligned}$$
(46)

Using (45) and integrating the flux divergence term by parts in space and the time derivative by parts in time the above weak problem becomes

$$\begin{aligned} \begin{gathered} \left( \, \int \limits _{{\varOmega }_i} \phi _k \phi _l \, d{\mathbf {x}}\right) \left( \hat{{\mathbf {u}}}_{l,i}^{n+1} - \hat{{\mathbf {u}}}_{l,i}^{n} \, \right) + \int \limits _{t^n}^{t^{n+1}} \int \limits _{\partial {\varOmega }_i } \phi _k \left( {\mathcal {G}}\left( {\mathbf {q}}_h^-, {\mathbf {q}}_h^+ \right) + {\mathcal {D}}\left( {\mathbf {q}}_h^-,{\mathbf {q}}_h^+ \right) \right) \cdot {\mathbf {n}} \, dS dt \\ - \int \limits _{t^n}^{t^{n+1}} \int \limits _{{\varOmega }_i } \nabla \phi _k \cdot {\mathbf {F}}({\mathbf {q}}_h) \,d{\mathbf {x}}\,dt + \int \limits _{t^n}^{t^{n+1}} \int \limits _{{\varOmega }_i^{\circ } } \phi _k \mathbf {{\mathbf {B}}}({\mathbf {q}}_h) \cdot \nabla {\mathbf {q}}_h \,d{\mathbf {x}}\,dt = \int \limits _{{\varOmega }_i } \phi _k \mathbf {{\mathbf {S}}}({\mathbf {q}}_h) \,d{\mathbf {x}}\,dt \end{gathered} \end{aligned}$$
(47)

where \({\mathbf {n}}\) is the outward unit normal vector at the cell boundary \(\partial {\varOmega }_{i}\), and \({\mathbf {q}}_h\) is a local space-time predictor whose computation will be explained in the next section. As usual, in the discontinuous Galerkin finite element method the discrete solution may jump across the cell boundaries, which requires the use of Riemann solvers, see e.g. [98] for a broad overview of exact and approximate Riemann solvers. In this paper, we use either the simple Rusanov-type flux

$$\begin{aligned} {\mathcal {G}}\left( {\mathbf {q}}_h^-, {\mathbf {q}}_h^+ \right) \cdot {\mathbf {n}} = \frac{1}{2} \left( {\mathbf {F}}({\mathbf {q}}_h^+) + {\mathbf {F}}({\mathbf {q}}_h^-) \right) \cdot {\mathbf {n}} - \frac{1}{2} s_{\max } \, {\mathbf {I}}_{wb} \, \left( {\mathbf {q}}_h^+ - {\mathbf {q}}_h^- \right) \,, \end{aligned}$$
(48)

with the maximum wavespeed at the interface \(s_{\max } = \max (|\lambda _k({\mathbf {q}}_h^-)|,|\lambda _k({\mathbf {q}}_h^+)|)\) and the matrix \({\mathbf {I}}_{wb} > 0\). For the hyperbolic reformulation of the Schrödinger equation \({\mathbf {I}}_{wb} = {\mathbf {I}}\) is simply chosen equal to the identity matrix, while for the hyperbolic Serre–Green–Naghdi model (1)–(5) \({\mathbf {I}}_{wb}\) needs to be chosen in a special manner in order to make the numerical scheme well-balanced for the lake at rest solution [10, 59, 69], see Sect. 3.3. In alternative, also the more sophisticated generalized Osher-type scheme forwarded in [48] can be used instead of (48). Here, \({\mathbf {q}}_h^-\) and \({\mathbf {q}}_h^+\) denote the boundary-extrapolated values of the space-time predictor from within the element and its neighbor, respectively. The jump terms in the non conservative products at the boundaries are treated via a path conservative scheme as forwarded by Castro, Parés and collaborators in [21, 22, 24, 81, 86], which are based on the theory of Dal Maso, Le Floch and Murat [78] on nonconservative hyperbolic PDE systems. For a more detailed discussion on the topic, see also [23] and references therein. Path-conservative schemes were generalized to higher order DG schemes for the first time in [43, 89]. Based on the path-conservative framework, the construction of so-called well-balanced schemes for shallow water type models is rather straightforward. The jump term in the non-conservative product is computed via a path integral between the two boundary extrapolated values related to the face, \({\mathbf {q}}_h^-\) and \({\mathbf {q}}_h^+\) as

$$\begin{aligned} {\mathcal {D}}\left( {\mathbf {q}}_h^-,{\mathbf {q}}_h^+ \right) \cdot {\mathbf {n}} = \frac{1}{2} \left( \int \limits _{0}^{1} {\mathbf {B}} \left( {\varvec{\psi }}({\mathbf {q}}_h^-,{\mathbf {q}}_h^+,s) \right) \cdot {\mathbf {n}} \, ds \right) \cdot \left( {\mathbf {q}}_h^+ - {\mathbf {q}}_h^-\right) \end{aligned}$$
(49)

where we use the simple straight line segment path

$$\begin{aligned} {\varvec{\psi }} = {\varvec{\alpha }}({\mathbf {q}}_h^-, {\mathbf {q}}_h^+, s) = {\mathbf {q}}_h^- + s \left( {\mathbf {q}}_h^+ - {\mathbf {q}}_h^- \right) \,, \qquad s \in [0,1]. \end{aligned}$$
(50)

In this paper, the path integral (49) is approximated via a simple trapezoidal quadrature rule, which is enough to obtain a well-balanced scheme, as we will see later in Sect. 3.3. In order to achieve an essentially non-oscillatory behaviour at discontinuities and in the regions of strong gradients, the ADER-DG schemes used in this paper are supplemented with an a posteriori subcell finite volume limiter, as detailed in [49, 108].

3.2 Local Space-Time Predictor

The local space-time predictor \({\mathbf {q}}_h({\mathbf {x}},t)\) is obtained via a weak formulation of the governing PDE system in space-time, as proposed in [42, 44]. This allows to avoid the cumbersome Cauchy-Kovalewskaya procedure used in the original ADER finite volume schemes of Toro et al. [20, 96, 97, 100, 101]. The element-local space-time predictor solution is introduced as follows:

$$\begin{aligned} {\mathbf {q}}_h({\varvec{x}},t) = \theta _l({\varvec{x}},t) \, {\hat{{\mathbf {q}}}}_l, \end{aligned}$$
(51)

with the space-time basis functions \(\theta _{l}=\theta _{l}({\mathbf {x}},t) = \varphi _{l_0}(\tau ) \varphi _{l_1}(\xi ) \varphi _{l_2}(\eta )\), which are tensor products of the spatial basis functions already introduced before and an additional nodal basis function for the time dependency, and with \(t = t^n + \tau {\varDelta }t\). Multiplying (44) by a space-time test function \(\theta _{k}\) and integrating over \({\varOmega }_{i}\times \left[ t^{n},t^{n+1}\right] \), one obtains

$$\begin{aligned} \begin{gathered} \int \limits _{t^n}^{t^{n+1}} \int \limits _{{\varOmega }_i } \theta _k \, \partial _t {\mathbf {q}}_h \,d{\mathbf {x}} \, dt + \int \limits _{t^n}^{t^{n+1}} \int \limits _{{\varOmega }_i } \theta _k \, \nabla \cdot {\mathbf {F}}({\mathbf {q}}_h) \,d{\mathbf {x}}\,dt \\ \qquad + \int \limits _{t^n}^{t^{n+1}} \int \limits _{{\varOmega }_i^{\circ } } \theta _k \mathbf {{\mathbf {B}}}({\mathbf {q}}_h ) \cdot \nabla {\mathbf {q}}_h \,d{\mathbf {x}}\,dt = \int \limits _{{\varOmega }_i } \theta _k {\mathbf {S}}({\mathbf {q}}_h ) \,d{\mathbf {x}}\,dt. \end{gathered} \end{aligned}$$
(52)

Integration by parts of the first term in time yields

$$\begin{aligned}&\int \limits _{{\varOmega }_i } \theta _k({\mathbf {x}},t^{n+1}) {\mathbf {q}}_h({\mathbf {x}},t^{n+1}) \,d{\mathbf {x}} - \int \limits _{{\varOmega }_i } \theta _k({\mathbf {x}},t^{n}) {\mathbf {u}}_h({\mathbf {x}},t^{n}) \,d{\mathbf {x}} - \int \limits _{t^n}^{t^{n+1}} \int \limits _{{\varOmega }_i } \partial _t \theta _k \, {\mathbf {q}}_h \,d{\mathbf {x}} \, dt \nonumber \\&\quad +\int \limits _{t^n}^{t^{n+1}} \int \limits _{{\varOmega }_i } \theta _k \, \nabla \cdot {\mathbf {F}}({\mathbf {q}}_h) \,d{\mathbf {x}}\,dt + \int \limits _{t^n}^{t^{n+1}} \int \limits _{{\varOmega }_i^{\circ } } \theta _k \mathbf {{\mathbf {B}}}({\mathbf {q}}_h ) \cdot \nabla {\mathbf {q}}_h \,d{\mathbf {x}}\,dt = \int \limits _{{\varOmega }_i } \theta _k {\mathbf {S}}({\mathbf {q}}_h ) \,d{\mathbf {x}}\,dt, \end{aligned}$$
(53)

which is an element-local system for the unknown degrees of freedom \( {\hat{{\mathbf {q}}}}_k\) of the space-time predictor \({\mathbf {q}}_h({\mathbf {x}},t)\) and which can be computed in terms of the known spatial degrees of freedom \(\hat{{\mathbf {u}}}_{l,i}^n\) of the discrete solution \({\mathbf {u}}_h({\mathbf {x}},t^{n})\). The solution of (53) can be found via a fast-converging iterative fixed point scheme, the convergence of which was proven in [17]. As any explicit numerical method for hyperbolic systems, our scheme is subject to a usual CFL-type time step restriction, requiring

$$\begin{aligned} {\varDelta }t \le \frac{C}{2N+1} \frac{{\varDelta }x}{\max \limits _{k,l,i} \left| \lambda _k \left( \hat{{\mathbf {u}}}_{l,i}^n \right) \right| } \end{aligned}$$
(54)

with \(C < 1\), see [42], and where the maximum is taken over all cells and degrees of freedom in the computational domain. It is clear that (54) contains the parameter \(\lambda \), but the time step scales only linearly in \({\varDelta }x\) and not cubically. Furthermore, the proposed explicit DG scheme does not require the solution of big linear systems, unlike the fully implicit space-time DG scheme for dispersive systems proposed in [45].

3.3 Well-Balanced Property for the Favrie–Gavrilyuk Model with Variable Bottom Topography

In this section we prove the well-balanced property [69, 104] of the first order version of our ADER-DG schemes in one space-dimension, i.e. for \(N=0\) and \(d=1\), which remains the key ingredient of the well-balancing also for higher order schemes since it involves the numerical flux and the jump terms. For high order well-balanced reconstructions see [21, 22, 57, 58]. Later in this section, we also study the well-balanced behavior of the actual implementation of the numerical scheme.

For \(N=0\) we have only one single test and basis function \(\phi _1 = \theta _1 = 1\) and one single degree of freedom in space and time \(\hat{{\mathbf {q}}}_{1,i}^n = \hat{{\mathbf {u}}}_{1,i}^n = {\mathbf {Q}}_i^n\) per cell, which corresponds to the usual cell average \({\mathbf {Q}}_i^n\). The scheme (47) then reduces to the following path-conservative finite volume method:

$$\begin{aligned} {\mathbf {Q}}_i^{n+1}= & {} {\mathbf {Q}}_i^n - \frac{{\varDelta }t}{{\varDelta }x} \left( {\mathcal {G}}\left( {\mathbf {Q}}_i^n, {\mathbf {Q}}_{i+1}^n \right) - {\mathcal {G}}\left( {\mathbf {Q}}_{i-1}^n, {\mathbf {Q}}_{i}^n \right) \right) \nonumber \\&- \frac{{\varDelta }t}{{\varDelta }x} \left( {\mathcal {D}}\left( {\mathbf {Q}}_i^n, {\mathbf {Q}}_{i+1}^n \right) + {\mathcal {D}}\left( {\mathbf {Q}}_{i-1}^n, {\mathbf {Q}}_{i}^n \right) \right) + {\varDelta }t {\mathbf {S}}\left( {\mathbf {Q}}_i^n \right) , \end{aligned}$$
(55)

with the numerical flux and the path-conservative jump term that in one space dimension (\(d=1\)) reduce to

$$\begin{aligned} {\mathcal {G}}\left( {\mathbf {q}}_h^-, {\mathbf {q}}_h^+ \right) = \frac{1}{2} \left( {\mathbf {f}}({\mathbf {q}}_h^+) + {\mathbf {f}}({\mathbf {q}}_h^-) \right) - \frac{1}{2} s_{\max } \, {\mathbf {I}}_{wb} \, \left( {\mathbf {q}}_h^+ - {\mathbf {q}}_h^- \right) \,, \end{aligned}$$
(56)

and

$$\begin{aligned} {\mathcal {D}}\left( {\mathbf {q}}_h^-,{\mathbf {q}}_h^+ \right) = \frac{1}{2} \left( \frac{1}{2} {\mathbf {B}}_1 \left( {\mathbf {q}}_h^- \right) + \frac{1}{2} {\mathbf {B}}_1 \left( {\mathbf {q}}_h^- \right) \right) \cdot \left( {\mathbf {q}}_h^+ - {\mathbf {q}}_h^-\right) . \end{aligned}$$
(57)

Recall that the non-hydrostatic pressure is given by \(p = \frac{\lambda }{3} \frac{\eta }{h} \left( 1 - \frac{\eta }{h} \right) \) and that

$$\begin{aligned} {\mathbf {f}}\left( {\mathbf {Q}}\right) = \left( \begin{array}{c} h v_1 \\ h v_1^2 + h p \\ h v_1 v_2 \\ h v_1 \eta \\ h v_1 w \\ 0 \end{array} \right) , \qquad {\mathbf {B}}_1\left( {\mathbf {Q}}\right) = \left( \begin{array}{c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ g h &{} 0 &{} 0 &{} 0 &{} 0 &{} g h + \frac{3}{2} \frac{h}{\eta } p \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} \frac{3}{2} h v_1 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ \end{array} \right) . \end{aligned}$$
(58)

For the system (1)–(5) the following well-balanced identity matrix has been chosen throughout this paper:

$$\begin{aligned} {\mathbf {I}}_{wb} = \left( \begin{array}{cccccc} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 \\ 0 &{} 1 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 1 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} {\tilde{h}} \\ 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ \end{array} \right) , \qquad \text {with} \qquad {\tilde{h}} = h^- + h^+. \end{aligned}$$
(59)

Lake at rest solutions for system (1)–(5) are characterized by

$$\begin{aligned} \zeta = h + b = const., \qquad v_1 = v_2 = 0, \qquad \eta = h, \qquad w = 0, \end{aligned}$$
(60)

and are stationary solutions of (1)–(5) for arbitrary bottom b. We now prove that the scheme (55) maintains solutions of the type (60) exactly at the discrete level for all times. Since \(\eta = h\) and \(w=0\), it is obvious that the discrete source term \({\mathbf {S}}\left( {\mathbf {Q}}_i^n \right) \) vanishes. We now analyze the numerical flux \({\mathcal {G}}\left( {\mathbf {Q}}_i^n, {\mathbf {Q}}_{i+1}^n \right) \) and the path-conservative jump term \({\mathcal {D}}\left( {\mathbf {Q}}_i^n, {\mathbf {Q}}_{i+1}^n \right) \). For \(\zeta = const.\) and \(\eta = h\) we have \(p=0\) and the following relations for the jumps in h, \(\eta \) and b:

$$\begin{aligned} {\varDelta }\zeta= & {} \zeta ^+ - \zeta ^- = {\varDelta }h + {\varDelta }b = 0, \quad {\varDelta }h = h^+ - h^-, \quad {\varDelta }b = b^+ - b^-, \end{aligned}$$
(61)
$$\begin{aligned} {\varDelta }h= & {} - {\varDelta }b, \qquad {\varDelta }\eta = {\varDelta }h. \end{aligned}$$
(62)

From these relations and \(\eta =h\) we can compute the jump in the conservative variable \(h \eta \) as

$$\begin{aligned} {\varDelta }(h \eta ) = h^+ \eta ^+ - h^- \eta ^- = \eta ^- {\varDelta }h + h^- {\varDelta }\eta + {\varDelta }h {\varDelta }\eta = -2 h^- {\varDelta }b + {\varDelta }b^2. \end{aligned}$$
(63)

We thus obtain for the jump in the state vector

$$\begin{aligned} {\mathbf {q}}_h^+ - {\mathbf {q}}_h^- = \left( \begin{array}{c} - {\varDelta }b \\ 0 \\ 0 \\ -2 h^- {\varDelta }b + {\varDelta }b^2 \\ 0 \\ {\varDelta }b \end{array} \right) \end{aligned}$$
(64)

and with \(p^- = p^+ = 0\) and \(v_1^- = v_1^+ = 0\) the path integral of \({\mathbf {B}}_1\) becomes

$$\begin{aligned} \frac{1}{2} {\mathbf {B}}_1 \left( {\mathbf {q}}_h^- \right) + \frac{1}{2} {\mathbf {B}}_1 \left( {\mathbf {q}}_h^- \right) = \left( \begin{array}{c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ g \frac{1}{2} ( h^- + h^+ ) &{} 0 &{} 0 &{} 0 &{} 0 &{} g \frac{1}{2} ( h^- + h^+ ) \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ \end{array} \right) . \end{aligned}$$
(65)

From (65) and (64) it follows that

$$\begin{aligned} {\mathcal {D}}\left( {\mathbf {q}}_h^-,{\mathbf {q}}_h^+ \right) \cdot {\mathbf {n}} = \frac{1}{2} \left( \frac{1}{2} {\mathbf {B}}_1 \left( {\mathbf {q}}_h^- \right) + \frac{1}{2} {\mathbf {B}}_1 \left( {\mathbf {q}}_h^- \right) \right) \cdot \left( {\mathbf {q}}_h^+ - {\mathbf {q}}_h^-\right) = 0, \end{aligned}$$
(66)

hence the path-conservative jump term vanishes. Next, we analyze the numerical flux (56). Since \(v_1^- = v_1^+ = 0\) and \(p^- = p^+ = 0\) it follows immediately that \({\mathbf {f}}\left( {\mathbf {q}}_h^- \right) = {\mathbf {f}}\left( {\mathbf {q}}_h^+ \right) = 0\). The last term to analyze is the numerical viscosity, for which we obtain

$$\begin{aligned} {\mathbf {I}}_{wb} \cdot \left( {\mathbf {q}}_h^+ - {\mathbf {q}}_h^- \right) = \left( \begin{array}{cccccc} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 \\ 0 &{} 1 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 1 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} {\tilde{h}} \\ 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ \end{array} \right) \cdot \left( \begin{array}{c} - {\varDelta }b \\ 0 \\ 0 \\ -2 h^- {\varDelta }b + {\varDelta }b^2 \\ 0 \\ {\varDelta }b \end{array} \right) = 0, \end{aligned}$$
(67)

since \({\tilde{h}}=h^- + h^+ = 2 h^- - {\varDelta }b\) and thus \(- 2 h^- {\varDelta }b + {\varDelta }b^2 + {\tilde{h}} {\varDelta }b = 0\). Therefore, also the numerical flux \({\mathcal {G}}\left( {\mathbf {q}}_h^-, {\mathbf {q}}_h^+ \right) =0\) vanishes at each element interface. Hence, for lake at rest solutions (60) the scheme (55) reduces to

$$\begin{aligned} {\mathbf {Q}}_i^{n+1} = {\mathbf {Q}}_i^n, \end{aligned}$$
(68)

i.e. lake at rest solutions are exactly preserved at the discrete level, or, in other words, the scheme is well-balanced.

To verify the well-balanced property also numerically, we carry out the following simple test. In a 1D domain \({\varOmega }=[-5,+5]\) we define the following initial condition, with H(x) being the Heaviside function:

$$\begin{aligned} \zeta= & {} 1, \qquad b = \frac{1}{2} \exp \left( - \frac{1}{2} \frac{(x+2.5)^2}{0.5^2} \right) + \frac{1}{2} H(x-2.5), \end{aligned}$$
(69)
$$\begin{aligned} h= & {} \zeta - b, \qquad \eta = h, \qquad v_1 = v_2 = w = 0, \end{aligned}$$
(70)

which is a lake at rest solution (60) of system (1)–(5). The domain \({\varOmega }\) is discretized by 200 equidistant control volumes and simulations are run with the first order scheme (55) using (56) with (59) and (57) until a final time of \(t=2\) using a CFL number of CFL\(=0.5\) and setting \(\lambda =1200\). We report the \(L^\infty \) errors for the variables h, \(v_1\), \(\eta \) and w at time \(t=2\) in Table 1 using single, double and quadruple precision. The computational results clearly show that the method is well-balanced up to machine precision, as expected.

Table 1 Numerical verification of the well-balanced property for a first order DG scheme, \(N=0\), applied to the hyperbolic reformulation of the SGN model (1)–(5). The reported errors refer to the \(L^\infty \) errors for the variables h, \(v_1\), \(\eta \) and w at a final time of \(t=2\)

4 Numerical Results

4.1 Hyperbolic Reformulation of the Serre–Green–Naghdi Model

4.1.1 Numerical Convergence Study

In this section, we simulate the propagation of a solitary wave over a flat bottom in the computational domain \({\varOmega }= [-50,+50] \times [0,+25]\) with final simulation time \(t=2\). Periodic boundary conditions have been imposed everywhere. The amplitude of the soliton is \(A=0.1\), the still water depth is \(H=1\) and initially the soliton is centered in \(x=0\). For all simulations of this section \(\lambda = 6000\) has been chosen. Since the exact solution for a solitary wave of the original SGN model, see e.g. [56], is not an exact solution of the hyperbolic model (1)–(5) we proceed as suggested in [3], i.e. by finding a travelling wave solution in x direction for the hyperbolic model (1)–(5) of the form

$$\begin{aligned} {\mathbf {Q}}(x,t) = {\mathbf {Q}}(\xi ), \qquad \text {with} \qquad \xi = x-V \, t, \end{aligned}$$
(71)

where \(V = \sqrt{ g (H+A) }\) is the velocity of the soliton and the similarity variable is denoted by \(\xi \). Under these assumptions we get \(\partial _t {\mathbf {Q}} = -V \, {\mathbf {Q}}'\) and \(\partial _x {\mathbf {Q}} = {\mathbf {Q}}'\). Hence, the PDE system (44) can be rewritten as

$$\begin{aligned} - V \, {\mathbf {Q}}' + {\mathbf {A}}({\mathbf {Q}}) {\mathbf {Q}}' = {\mathbf {S}}({\mathbf {Q}}) \end{aligned}$$
(72)

with the matrix \({\mathbf {A}}({\mathbf {Q}}) = \partial {\mathbf {f}} / \partial {\mathbf {Q}}+ {\mathbf {B}}_1({\mathbf {Q}})\) containing the flux Jacobian and the non-conservative product. For flat bottom, as considered here, the latter does not contribute. The PDE system (44) finally reduces to the following nonlinear ODE system

$$\begin{aligned} {\mathbf {Q}}' = \left( {\mathbf {A}}({\mathbf {Q}}) - V \, {\mathbf {I}} \right) ^{-1} {\mathbf {S}}({\mathbf {Q}}), \end{aligned}$$
(73)

with initial condition \({\mathbf {Q}}(\xi _0) = ( H, 0, 0, H - \varepsilon , 0, 0 )\) and with \({\mathbf {I}}\) the identity matrix. For our numerical tests we set \(g=9.81\), \(H=1\), \(A=0.1\) and the perturbation \(\varepsilon = 10^{-10}\). The ODE system (73) is solved with a \(6^{\text {th}}\) order DG scheme in time, see [41], in order to provide a highly accurate initial condition for the solitary wave of the hyperbolic SGN system (1)–(5).

We now simulate the propagation of the solitary wave until \(t=2\) using ADER-DG schemes of polynomial approximation degrees \(N=2, 3, 4, 5\) on a sequence of successively refined meshes. The \(L^2\) errors and corresponding numerical convergence rates are shown in Table 2. Overall we find the expected convergence order \(N+1\) of our high order ADER-DG schemes.

Table 2 Numerical convergence results for high order ADER-DG schemes of polynomial approximation degree \(N \in \left\{ 2, 3, 4, 5 \right\} \) for the hyperbolic reformulation of the Serre–Green–Naghdi model (1)–(5) according to [56]. A uniform Cartesian mesh composed of \(N_x \times 4\) elements has been used. The \(L^2\) error norms and corresponding orders os convergence (in bold) refer to the variables \(v_1\), \(\eta \) and w at a final time of \(t=2\)

In order to investigate the dependence of the solutions of the model (1)–(5) on the parameter \(\lambda \) more thoroughly, we use the high order ODE solver [41] in order to calculate the shape of a solitary wave moving with velocity \(V=4\) in still water of depth \(H_0=1\) as a function of \(\lambda \in [75,6000]\), i.e. with \(\lambda \) varying over about two orders of magnitude. The dependence of the shape of the resulting solitary waves on \(\lambda \) is depicted in Fig. 2. One can observe that the shapes for \(\lambda =1200\) and \(\lambda =6000\) match very well. For this reason, if not stated otherwise, in the following numerical experiments we will set \(\lambda =1200\), since \(\lambda =6000\) does not give visible improvements for practical simulations, but due to the CFL condition reduces the time step by more than a factor of 2 compared to the choice \(\lambda =1200\).

Fig. 2
figure 2

Shape of a solitary wave of the model (1)–(5) moving with velocity \(V=4\) in still water of depth \(H_0=1\) as a function of the parameter \(\lambda \)

To give an idea of the computational cost of the approach presented in this paper, we compare it with the cost of a fully implicit space-time DG scheme [45] applied to the dispersive system of Madsen and Sørensen [76] with third order derivatives. The computational setup is the following: we consider the 1D domain \({\varOmega }=[-20,+20]\) with periodic boundary conditions in which a solitary wave with \(H_0=1\) and \(V=4\) is moving, see also Fig. 2 for a graphical representation of the shape of the wave. At time \(t=10\) the exact solution of the problem is given again by the initial condition. We apply the explicit ADER-DG scheme to the hyperbolic model (1)–(5) with \(\lambda =1200\) and the implicit space-time DG scheme [45] to the Madsen and Sørensen model [76], which contains higher order derivatives. In both cases solitary waves with the same parameters are considered (\(H_0=1\), \(V=4\)). Both schemes are nominally fourth order accurate, i.e. with polynomial approximation degree \(N=3\) and the computational mesh used in both simulations is composed of \(N_x=200\) elements. In Table 3 we report the obtained \(L^2\) error norms for h and \(hv_1\) at time \(t=10\) for both schemes, as well as the necessary CPU time and the time per degree of freedom update (TDU). The TDU metric is computed as \(\text {TDU}=\text {WCT}/(N_t N_x (N+1))\), where WCT is the total wall clock time needed for the simulation, \(N_x\) is the number of elements in space, \(N+1\) is the number of degrees of freedom per element and \(N_t\) is the total number of timesteps needed to reach the final time. Both simulations were run in serial on one single CPU core of an Intel i9-7900X workstation with 32 GB of RAM. From the results shown in Table 3 one can see that both methods reach comparable errors in the variable \(hv_1\), but the explicit ADER-DG scheme applied to the hyperbolic model (1)–(5) is about three times faster compared to the fully implicit space-time DG scheme applied to the dispersive model [76]. The cost per single degree of freedom update (TDU) is three orders of magnitude larger for the fully-implicit space-time DG scheme. We expect that in multiple space dimensions and in the context of a parallel implementation on distributed memory machines, the comparison may be even more in favor of the explicit scheme applied to the hyperbolic reformulation of the dispersive system.

Table 3 Comparison of errors and CPU times for the propagation of a solitary wave with \(H_0=1\) and \(V=4\) at time \(t=10\) using the explicit ADER-DG scheme applied to the hyperbolic system (1)–(5) with the fully implicit space-time DG scheme described in [45] applied to the Madsen and Sørensen model [76]. We also report the time needed to update a single degree of freedom for one time step (TDU)

4.1.2 Solitary Wave

As second part of the previous test, we now analyse the propagation of a solitary wave of the original Serre–Green–Naghdi system over a flat bottom for a longer simulation time \(t=100/\sqrt{g(H+A)}\). The exact solution of a solitary wave for the original Serre–Green–Naghdi equation reads

$$\begin{aligned} h(\xi )= & {} H + A \, \text {sech}^2 \left( \frac{\xi }{2} \sqrt{ \frac{3 A}{H^2 (H+A)} } \right) , \end{aligned}$$
(74)
$$\begin{aligned} v_1(\xi )= & {} V \left( 1 - \frac{H}{h(\xi )} \right) , \end{aligned}$$
(75)

with \(\xi = x - V t\) and \(V = \sqrt{g(H+A)}\), see e.g. [56]. As suggested in [38], the remaining variables of the system are set as

$$\begin{aligned} \eta (\xi ) = h(\xi ), \qquad w = -h \partial _x v_1, \qquad v_2 = 0, \qquad b = 0, \end{aligned}$$
(76)

i.e. with \(\eta =h\) the system is initialized so that \(p=0\). For this test we set \(H=1\), \(A=0.2\) and \(\lambda =1200\). The domain is again \({\varOmega }=[-50,+50] \times [0,+25]\) and periodic boundary conditions are defined everywhere. The results obtained with an ADER-DG scheme of polynomial approximation degree \(N=4\) on a uniform Cartesian mesh composed of \(1080 \times 4\) elements after one complete revolution of the soliton are depicted in Fig. 3 and are compared against the exact solution given by (74)–(76). As expected, the shape of the soliton has been well preserved, showing only some small spurious oscillations away from the soliton.

Fig. 3
figure 3

Exact (solid line) and numerical solution (squares) for the solitary wave at time \(t=100/\sqrt{g(H+A)}\). Water depth h (top left), velocity component \(v_1\) (top right), \(\eta \) (bottom left) and w (bottom right)

4.1.3 Solitary Wave Over a Step

The solitary wave over a step benchmark proposed in [93] and also used in [3, 4] is employed as a first test with nontrivial bottom topography aiming to compare the numerical results obtained with experimental data. We consider the computational domain \({\varOmega }=[-16,+16]\times [-1,+1]\) and a bathymetry characterized by a step shaped obstacle of height \(H_{\mathrm {obs}}=0.1\) positioned at \(x_{\mathrm {obs}}=0\). The obstacle has been smoothed employing the error function

$$\begin{aligned} z_{b}= 0.05 \left( \mathrm {erf}(8 x)+1\right) . \end{aligned}$$
(77)

The still water depth is \(H=0.2\) and \(\lambda =1200\) is chosen. A soliton of amplitude \(A=0.0365\) is initially located at \(x_{\mathrm {sol}}=-3\). To generate the initial conditions for the different variables the corresponding ODE system (73) is solved using a \(10^{\mathrm {th}}\) order DG scheme in time. Periodic boundary conditions are defined in y direction while on the left and right boundaries we set the initial data as Dirichlet boundary conditions.

The domain is discretized with 2000 elements in the horizontal direction and the simulation is run with polynomial degree \(N=3\). A 1D cut of the free surface obtained at times \(t\in \left\{ 0,2.148,4.296,6.444,8.592,10.74 \right\} \) is depicted in Fig. 4. As expected, the soliton initially propagates smoothly growing when approaching the bottom step. Then, it splits into two transmitted waves in forward direction. A secondary reflecting wave, followed by a train of small dispersive waves, is generated and propagated in the opposite direction to the incoming soliton. The use of the a posteriori FV limiter results in the damping of the small spurious oscillations appearing in correspondence to the obstacle that could be seen for the hyperbolic dispersive models used in [3, 4]. Figure 5 reports the time evolution of the ratio between the wave amplitude and the still water depth, \(\frac{A}{H}=\frac{h+b-H}{H}\), at the fixed observation points \(x\in \left\{ -9,-3,0,3,6,9 \right\} \). The numerical solution of the model (1)–(5) obtained in this paper agrees well with the results obtained using the alternative hyperbolic reformulations of the SGN model employed in [3, 4, 51]. Moreover, we also observe a good agreement with experimental data.

Fig. 4
figure 4

1D cut along \(y=0\) of the free surface (blue line) and the bottom bathymetry (black line) at times \(t\in \left\{ 0,2.148,4.296,6.444,8.592,10.74 \right\} \) (from left top to right bottom) for the solitary wave over a step test case (Color figure online)

Fig. 5
figure 5

Comparison of the time evolution of numerical results obtained for the soliton over a step test case using the ADER-DG \(N=3\) scheme for the Favrie–Gavrilyuk (FG) model (blue dotted line) against the solution obtained with the hyperbolic SGN model for mild bottom bathymetry (red dashed line), [3, 51, 56], and the experimental data given in [93] (black line) at locations \(x\in \left\{ -9,-3,0,3,6,9 \right\} \) (from left top to right bottom) (Color figure online)

4.1.4 Periodic Waves Over a Submerged Bar

We now study the results obtained for the periodic waves over a submerged bar benchmark presented in [7, 8, 72]. The computational domain is depicted in Fig. 6. The physical domain is enlarged in x-direction to introduce damping zones of length \(L_{\mathrm {rel}}=10\) allowing to define a wavemaker and an absorbing boundary condition guaranteeing a smooth transition between the target solution \({\mathbf {u}}^{*}\) and the solution \({\mathbf {u}}_h\) inside the computational domain. To define the periodic signal at the left boundary a sinusoidal function is employed,

$$\begin{aligned} \begin{gathered} h^*(t) = H+A_\infty \sin (\omega t), \qquad v_{1}^*(t) = A_\infty \sin (\omega t) \sqrt{g (H+A_\infty )}, \\ v_{2}^{*}(t) = 0, \qquad \eta ^{*}(t)= h^*(t), \qquad \quad w^{*}(t) = 0, \end{gathered} \end{aligned}$$
(78)

where the amplitude, \(A_{\infty }\), is selected to match the initial amplitude of the periodic waves given by the experimental data at the wave gauge \(S_{0}=0\) and \(\omega =2\pi /T\) is the angular frequency, T the wave period, also fixed attending to the experimental data. Regarding the absorbing boundary condition we define, as target solution,

$$\begin{aligned} h^{*}(t)= \eta ^{*}(t)=H, \quad u^{*}(t)= w^{*}(t) = 0, \end{aligned}$$
(79)

preventing wave reflection. Inside the relaxation zones the solution in an element \({\varOmega }_i\) is computed as

$$\begin{aligned} \widetilde{{\mathbf {u}}}_h = m_i {\mathbf {u}}_h + (1-m_i){\mathbf {u}}^{*} \end{aligned}$$
(80)

with

$$\begin{aligned} m_i = \sqrt{1-\left( \frac{d_i}{L_{rel}}\right) ^2}, \end{aligned}$$
(81)

\(d_i\) the distance between the barycentre of \({\varOmega }_i\) and the corresponding boundary, \(x_L\) or \(x_R\). Periodic boundary conditions are defined in y direction.

Fig. 6
figure 6

Computational domain and locations of the wave gauges for the periodic waves over a submerged bar test case. Computational domain: \({\varOmega }=[-10,+40]\). Relaxation zones: \({\varOmega }_{L}^{\mathrm {rel}}=[-20,-10]\), \({\varOmega }_{R}^{\mathrm {rel}}=[+40,+50]\). Submerged bar: \(x_a=6\), \(x_b=12\), \(x_c=14\), \(x_d=17\). Locations of the wave gauges: \(S_0=6.0\), \(S_1=10.8\), \(S_2=12.8\), \(S_3=13.8\), \(S_4=14.8\), \(S_5=16.0\), \(S_6=17.6\)

The experimental data available corresponds to two different settings. The first of them, a low frequency test (LF), is characterized by \(A_{\infty }= 0.01\), \(T =2.0205\). Meanwhile, for the high frequency case (HF) we have \(A_{\infty }=1.286E-2 \), \(T =1.2624\). The polynomial degree in both simulations is \(N=3\). The a posteriori subcell finite volume limiter is employed to prevent spurious oscillations, see [17, 49, 108]. The parameter \(\lambda \) is chosen as \(\lambda =1200\).

To analyse the results obtained, we consider six wave gauges located in \(S_1=10.8\), \(S_2=12.8\), \(S_3=13.8\), \(S_4=14.8\), \(S_5=16.0\), \(S_6=17.6\), where the experimental solution is available. The numerical results for the wave amplitude, \(A=h+b-\zeta _0\), are reported in Fig. 7 for the low frequency case and in Fig. 8 for the high frequency test. For the low frequency case, two different mesh resolutions and two different values of \(\lambda \) have been used, in order to show that the obtained numerical results have already reached a good level of independence in terms of mesh spacing and \(\lambda \). For the high frequency testcase, two different values of \(\lambda \) have been used in order to show that the chosen values of \(\lambda \) are large enough for practical simulations. The results are quite satisfactory and comparable with the ones obtained in [3]. The discrepancies, with respect to the experimental data, observed for \(S_{5}\) and \(S_{6}\) in LW may be due to the suboptimal linear dispersive properties of the model considered, see Sect. 2.1.2. To improve these results, models with better dispersion characteristics, like the Madsen & Sørensen model [77], may be employed in a future work.

Fig. 7
figure 7

Time evolution of the wave amplitude A(t) for the low frequency periodic waves over a submerged bar test at wave gauges \(S_1-S_6\). Black dots correspond to experimental data [8], blue solid lines are the numerical results obtained for the model (1)–(5) using an ADER-DG scheme with \(N=3\), a mesh of 2100 elements and parameter \(\lambda =1800\); the red dashed lines represent the solution for a mesh of 2800 elements and \(\lambda =2400\) (Color figure online)

Fig. 8
figure 8

Time evolution of the wave amplitude A(t) for the high frequency periodic waves over a submerged bar test at wave gauges \(S_1-S_6\). Black dots correspond to experimental data [8], blue solid lines are the numerical results obtained for model [56] with variable bottom (1)–(5) using an ADER-DG scheme with \(N=3\), a mesh of 2800 elements and parameter \(\lambda =1200\); red dashed lines are the solution for \(\lambda =2400\) (Color figure online)

4.1.5 Favre Waves

In this section we consider the numerical simulation of so-called Favre waves, which are dispersive shock waves or undular bores developing when a fluid layer with a free surface hits against a wall, see [51, 56] for numerical investigations and [102] for the corresponding experimental studies. The computational domain is \({\varOmega }=[-180,0] \times [-1,+1]\) and it is covered by \(1200 \times 4\) ADER-DG elements of polynomial approximation degree \(N=3\). The initial condition for this test is

$$\begin{aligned} h = H, \quad \eta = H, \quad v_1 = \sqrt{g H} \left( F - \frac{1+\sqrt{1+8F^2}}{4F} \right) , \quad v_2 = w = b = 0 \end{aligned}$$
(82)

where F is the relative Froude number of the impact velocity. As suggested in [56], instead of a wall at \(x=0\) an alternative symmetric impact problem can also be considered. For the subsequent tests we choose the still water depth \(H=1\) and the parameter \(\lambda \) is set to \(\lambda =1200\).

In order to capture the effect of wave breaking, only in this section the following simple wave breaking mechanism is employed, see [3, 51]. For this purpose we modify the governing PDE for hw by adding a source term as follows:

$$\begin{aligned} \frac{\partial h w }{\partial t} + \frac{\partial }{\partial x_k} \left( h w v_k \right) = \lambda \left( 1 - \frac{\eta }{h} \right) - 2 \, \xi B \, h w, \end{aligned}$$
(83)

with

$$\begin{aligned}&\displaystyle B = \max \left( 0, 1 - \frac{\partial _x (hv_1) + \partial _y (hv_2) }{U_1} \right) \left| \partial _x (hv_1) + \partial _y (hv_2) \right| , \end{aligned}$$
(84)
$$\begin{aligned}&\displaystyle U_1 = b_1 \sqrt{g h}, \qquad U_2 = b_2 \sqrt{g h}, \end{aligned}$$
(85)

and the switch function

$$\begin{aligned} \xi = \left\{ \begin{array}{ccc} 0 &{} \quad \text {if} \quad &{} \left| \partial _x (hv_1) + \partial _y (hv_2) \right| < U_2, \\ 1 &{} \quad \text {if} \quad &{} \left| \partial _x (hv_1) + \partial _y (hv_2) \right| \ge U_2. \end{array} \right. \end{aligned}$$
(86)

For our numerical tests we set \(b_1 = 0.5\) and \(b_2 = 0.25\). In Fig. 9 we show the computational results obtained for Froude \(F=1.15\) at a final time of \(t=54\) using two different meshes, one with 1200 elements in x direction and a finer one with 2400 elements in x direction. We can note an excellent agreement of the two solutions with each other, showing that mesh convergence has been reached for this test. In Fig. 10 we compare our numerical results with the experimental data reported in [56, 102]. The upper symbols refer to the amplitude of the first wave, while the lower symbols refer to the amplitude of the trough after the first wave. The agreement between numerical simulations and experimental data is very good up to \(F=1.35\), which is already in the range of Froude numbers where wave breaking occurs. This means that the simple wave breaking mechanism adopted here is valid at least for moderate Froude number flows with breaking waves.

Fig. 9
figure 9

Favre waves at time \(t=54\) for Froude number \(F=1.15\). Numerical results obtained for model (1)–(5) using an ADER-DG scheme with \(N=3\) on a mesh composed of 1200 elements (dashed red line) and on a mesh composed of 2400 elements (solid black line) in x direction (Color figure online)

Fig. 10
figure 10

Favre waves. Comparison of the numerical results obtained with an ADER-DG scheme of polynomial approximation degree \(N=3\) with the experimental data of [56, 102]. For this test the simple wave breaking mechanism (83) has been employed

Fig. 11
figure 11

Sketch of the bathymetry used for the solitary wave run-up onto a plane beach test

4.1.6 Solitary Wave Run-Up onto a Plane Beach

Synolakis [95] carried out laboratory experiments for solitary incident waves to study propagation, breaking and run-up over a planar beach with a slope 1 : 19.85. Since then, many researchers used his data to validate numerical models, as in [3, 51,52,53, 68, 90, 91], among others. Accordingly, this test case is here used to assess the capability of the proposed methodology to describe shoreline motions and wave breaking when it occurs. The bathymetry of the problem is described in Fig. 11. As initial condition we use the solitary wave solution of the genuinely SGN system given by (74)–(75) with

$$\begin{aligned} v_1=0,\quad w=-h\partial _x v_{1}, \text{ and } \eta = \dfrac{1}{2}h\left( 1 + \sqrt{1-\dfrac{12}{\lambda }p} \right) \end{aligned}$$
(87)

where p is the non-hydrostatic pressure known for the SGN model. Note that for practical purposes, this analytical solution of the elliptic SGN model can be used as an approximate solution for the hyperbolised system.

The solitary wave of amplitude \(A=0.3\) and \(H=1\) is placed at the location \(x_{\mathrm {sol}}=25\). The computational domain \({\varOmega }= [-10, +40]\times [-1,1]\) is covered by \(200\times 3\) ADER-DG elements of polynomial approximation degree \(N=3.\) For this test the simple wave breaking mechanism (83)–(85), with the same parameters \(b_1=0.5,\ b_2=0.25\) has been employed. The relaxation speed \(\lambda \) is set to 1200. In order to take into account the glass surface roughness, the usual and simple bottom friction model used for the standard shallow-water equations is adopted via a usual Manning-type friction formula. For this purpose, we modify the governing equation for \(hv_i\) by adding a source term as follows:

$$\begin{aligned} \dfrac{\partial hv_i}{\partial t} + \dfrac{\partial }{\partial x} \left( hv_iv_k + \left( \dfrac{1}{2}gh^2+hp\right) \delta _{ik} \right) + \left( gh + \dfrac{3}{2} \dfrac{h}{\eta } p \right) \dfrac{\partial b}{\partial x_i}=-\tau _i, \end{aligned}$$

with

$$\begin{aligned} \tau _i = n_m^2 g \dfrac{\sqrt{v_1^2+v_2^2}}{h^{4/3}}v_i ,\quad n_m = 4\times 10^{-3}. \end{aligned}$$

The a posteriori subcell finite volume limiter is activated in the presence of spurious oscillations as well as for small values of the total water depth \(h<10^{-2}\). Following [103], we employ a second-order scheme by using a TVD polynomial reconstruction procedure using the MUSCL slope limiter, which takes into account the positivity of the water height, [53], and the well-balancing for equilibrium. The time evolution stage to the half time level is then computed via a standard second-order TVD Runge-Kutta method, [61]. Finally, free-outflow boundary conditions are considered and the CFL number is set to 0.9.

Fig. 12
figure 12

Comparison of the experimental data (dots) and the numerical results (solid blue line) obtained during the run-up at times \(t\in \left\{ 4.7, 6.3, 7.9, 9.5 \right\} \) (from top to bottom) (Color figure online)

Figure 12 depicts the snapshots at times \(t\in \left\{ 4.7, 6.3, 7.9, 9.5 \right\} \). Excellent results are obtained for the arrival time and the amplitude of the wave and for the maximum wave run-up, where the friction terms play an important role. This test shows that the proposed hyperbolic strategy, the chosen breaking mechanism, and the standard friction term from classical shallow water equations perform adequately for the proposed hyperbolic system.

4.1.7 Solitary Wave Over a Gaussian Obstacle

This test run using the FG model is a solitary wave over a Gaussian obstacle in \({\varOmega }=[-5,+35]\times [-10,+10]\). We consider the bathymetry given by

$$\begin{aligned} z_b(x,y) = A_g \exp {\left( -\frac{x^2+y^2}{2 \sigma _g^2}\right) }, \end{aligned}$$
(88)

where \(A_g=0.1\) and \(\sigma _g = 1\). The initial soliton is taken from Test 4.1.3, \(x_{\mathrm {sol}}=-3\), \(A_i = 0.0365\), \(H=0.2\). We run a simulation on a mesh, M1, of \(200 \times 100\) elements with \(N=3\), final integration time \(t=12\) and periodic boundary conditions everywhere. Since neither the exact solution nor experimental data is available, a mesh convergence study has been carried out by considering a refined mesh, M2, made of \(400 \times 200\) elements, using again \(N=3\). The 1D cut for the water depth at \(t=12\) is reported in Fig. 13. The numerical solutions obtained on both meshes match perfectly, hence mesh convergence has been reached for this test. Figure 14 shows the snapshots of the free-surface \(A=h+b\) at different times, \(t\in \left\{ 0,2,5,12 \right\} \). As expected, the soliton is propagated growing in amplitude in correspondence to the obstacle and generating a set of transmissive waves behind the main wave.

Fig. 13
figure 13

Solitary wave over a 2D Gaussian obstacle test. One-dimensional cut of the water depth, h, at \(t=12\). Mesh M1: \({\varDelta }x={\varDelta }y=0.2\) (red dash-dotted line). Mesh M2: \({\varDelta }x={\varDelta }y=0.1\) (black solid line) (Color figure online)

Fig. 14
figure 14

Snapshots of the free-surface \(A=h+b\) for the solitary wave over a 2D Gaussian obstacle test at times \(t\in \left\{ 0,2,5,12 \right\} \) with mesh M2. The bathymetry is represented in grey

4.1.8 Solitary Wave Impinging on a Conical Island

A set of 2D experiments with solitary waves was carried out at the Coastal and Hydraulics Laboratory, Engineer Research and Development Center of the U.S. Army Corps of Engineers, [16]. The laboratory experiment consisted on an idealized representation of Babi Island in the Flores Sea, Indonesia. It should be mentioned that the waves generated in the laboratory are dispersive; hence, as many authors have already done, [51, 74, 105], it constitutes an almost ideal problem to test the accuracy of the model.

The computational domain \({\varOmega }= [-5, +25]\times [0,+30]\) is covered by \(150\times 150\) ADER-DG elements of polynomial approximation degree \(N=3\). The still water depth is \(H=0.32\) and a smoothed conical island centred at \(\mathbf {x_{\mathrm {obs}}}~=~(12.96,13.8)\) and base diameter \(d_{\mathrm {obs}}=7.2\) given by

$$\begin{aligned} \begin{gathered} b(x,y) = 0.33(1+\tanh (d(x,y)/\varsigma )) - H_0,\quad \varsigma =2.65,\quad H_0=0.32, \\ d(x,y) = R_1-\sqrt{3(x-x_0)^2+3(y-y_0)^2} ,\quad R_1=3.6. \end{gathered} \end{aligned}$$
(89)

Four wave gauges \({\mathbf {S}}_1=(9.36,13.8)\), \({\mathbf {S}}_2=(10.36,13.8)\), \({\mathbf {S}}_3=(12.96,11.22)\), \({\mathbf {S}}_4=(15.56,13.8)\), are distributed around the island in order to measure the free surface elevation.

As done in Sect. 4.1.6, the initial condition for \(\rho ,\ v_i,\ w\) and \(\eta \), is a solitary wave of amplitude \(A=0.06\), \(H=0.32\) computed for the original SGN model and centred at \(x_{\mathrm {sol}} = 0\). The wave propagates until \(t=15\) and the breaking mechanism is automatically activated with the same parameters than in all the previous numerical test, \(b_1=0.5\), \(b_2=0.25\). The relaxation speed \(\lambda \) is set to 300. Since the model is constructed with smooth concrete, the friction with the topography is not considered here. Finally, free-outflow boundary conditions are considered and the CFL number is set to 0.9.

Similarly to the test in Sect. 4.1.6, the a posteriori subcell finite volume limiter is employed in the presence of spurious oscillations as well as for values of the total water depth smaller than \(10^{-1}\). During the entire simulation, the subcell finite volume limiter was active for less than the \(4\ \%\) of total elements of the computational domain. That ensures using a robust second-order scheme in a tiny part of the computational domain.

As expected, the approximated solution, Fig. 15, shows two wavefronts splitting in front of the island and colliding behind it. In Fig. 16, it can be found that, overall, the simulated water surface fluctuations agree well with the measured data for both the maximum amplitudes and the arrival time of the waves. Therefore, the proposed methodology seems to be able to reproduce measured wave propagation over an uneven 3D bottom accurately.

Fig. 15
figure 15

Snapshots of the free surface and bathymetry profile at times \(t~\in ~\left\{ 4.5,6.5,8,10\right\} \) (from top left to bottom right)

Fig. 16
figure 16

Comparison of the time evolution of the amplitude, A(t), at wave gauges \({\mathbf {S}}_{1}-{\mathbf {S}}_{4}\) computed using the ADER-DG \({\mathbb {P}}_3\) scheme (solid blue line) against the experimental data (dashed red line) for the solitary wave impinging on a conical island test (Color figure online)

4.2 Hyperbolic Reformulation of the Nonlinear Schrödinger Equation

4.2.1 Numerical Convergence Study and Evolution of Curl Errors

In this section we use the stationary radial solution found in Sect. 2.2.2 in order to carry out a numerical convergence study of the high order ADER schemes proposed in this paper and in order to measure the errors in the involution constraint \(\nabla \times {\mathbf {p}}\) as a function of the GLM curl cleaning speed \(a_c\).

The computational domain is given by \({\varOmega }= [-5,+5] \times [-5,+5]\) and is discretized with a uniform Cartesian mesh of \(N_x \times N_y\) DG elements of polynomial approximation degree \(N \in \left\{ 2, 3, 4, 5 \right\} \). All boundary conditions are periodic. The free parameters for the definition of the stationary vortex-type solution of Sect. 2.2.2 are defined as follows: \(\rho _0 = 2\), \({\hat{\rho }} = 1\), \(L=2\), \(p_0=0.1\), \(\sigma = 0.2\) and \(R=1.5\). The remaining parameters of the model are set to \(\beta = 1\), \(\lambda = 500\) and \(a_c=20\). Simulations are run until a final time of \(t=0.25\) and the \(L^2\) errors of the numerical solution with respect to the exact one are reported in Table 4, together with the observed order of accuracy. From the obtained results we can conclude that, on sufficiently fine meshes, our high order ADER-DG schemes achieve a numerical convergence order of N to \(N+1\) for all quantities.

Table 4 Numerical convergence results for high order ADER-DG schemes of polynomial approximation degree \(N \in \left\{ 2, 3, 4, 5 \right\} \) for the hyperbolic reformulation of the Schrödinger equation (35)–(40) with a fixed cleaning speed of \(a_c=20\) on a uniform Cartesian mesh composed of \(N_x = N_y\) elements. The \(L^2\) error norms and orders (in bold) refer to the variables \(\eta \), w and \(p_1\) at a final time of \(t=0.25\)

We now run this test problem again for a longer time until \(t=2\) using an ADER-DG scheme with \(N=4\) on a uniform Cartesian mesh of \(N_x=N_y=32\) elements and report the time series of the \(L^2\) error in the curl constraint \(\nabla \times {\mathbf {p}}\) for the original system (15)–(19) and of the augmented GLM system (35)–(40) as a function of the GLM cleaning speed \(a_c\). From the results shown in Fig. 17 we can deduce that the curl errors decrease with increasing cleaning speed, as expected. A set of radial cuts through this stationary vortex-type problem is shown in Fig. 18, where the numerical solution obtained with the high order ADER-DG scheme is compared against the exact solution of the problem at time \(t=2\). We can note an excellent agreement between numerical and exact solution.

Fig. 17
figure 17

Time series of the \(L^2\) norm of the curl error in the vector field \({\mathbf {p}}\) as a function of the GLM cleaning speed \(a_c\)

Fig. 18
figure 18

Radial cut through the numerical solution obtained with an ADER-DG scheme (\(N=4\)) on \(32\times 32\) elements along the line \(y=0\) and comparison with the exact solution at time \(t=2\) for density \(\rho \) (top left), velocity component \(v_2\) (top right), \(\eta \) (bottom left) and \(p_1\) (bottom right)

4.2.2 Gray Soliton

In this section we solve the gray soliton test problem, which was introduced and solved with second order TVD finite volume schemes in [38]. In this paper we employ very high order ADER-DG schemes instead. The initial condition is given by

$$\begin{aligned} \rho (x,0)= & {} b_1 - \frac{b_1 - b_3}{\cosh ^2 \left( \sqrt{b_1 - b_3} \, x \right) }, \quad v_1(x,0) = U - \frac{b_1 \sqrt{b_3}}{\rho (x,0)}, \end{aligned}$$
(90)
$$\begin{aligned} \eta (x,0)= & {} \rho (x,0), \quad w(x,0) = -\rho (x,0) \partial _x v_1(x,0), \quad p_1(x,0) = \partial _x \rho (x,0) \end{aligned}$$

and \(v_2 = v_3 = p_2 = p_3 = 0\). The computational domain is \({\varOmega }= [-20,+20] \times [0,+0.5] \) with periodic boundary conditions in all directions. The domain is discretized at the aid of \(1080 \times 10\) elements using an ADER-DG scheme of polynomial approximation degree \(N=4\). According to [38] the parameters of the test problem are chosen as follows: \(b_1 = 1.5\), \(b_3=1\), \(U=2\), while the parameters of the hyperbolic model are set to \(\beta = 10^{-3}\), \(\lambda =2000\) and \(a_c=0\), since the test problem is one-dimensional. Simulations are run until a final time of \(t=20\), when the solitary wave has traveled one period through the domain and has returned to its initial location, so that the exact solution is given by the initial condition. A comparison of the high order ADER-DG solution and the exact solution is shown in Fig. 19. For all depicted variables, which are representative for the system, we can note an excellent agreement between the numerical solution and the exact one. Note that the nominally fifth order ADER-DG scheme with \(N=4\) used in this paper needed only 5,400 degrees of freedom to resolve the solitary wave in x direction, while for the second order TVD scheme employed in [38] a very fine mesh composed of 200,000 elements in x direction was needed. The following \(L^2\) errors were measured at the final time \(t=20\): for the density, \(\rho \), the error was \(6.0462 \cdot 10^{-3}\), for the first velocity component, \(v_1\), it was \(6.3848 \cdot 10^{-3}\), for \(\eta \) it was \(6.0337 \cdot 10^{-3}\) and for \(p_1\) it was \(7.3374 \cdot 10^{-3}\). These results clearly illustrate the benefit of very high order DG schemes for the numerical solution of hyperbolic reformulations of nonlinear dispersive systems over classical second order TVD finite volume schemes.

Fig. 19
figure 19

Exact and numerical solution for the gray soliton at time \(t=20\). Density \(\rho \) (top left), velocity component \(v_1\) (top right), \(\eta \) (bottom left) and \(p_1\) (bottom right)

4.2.3 Dispersive Shock in One Space Dimension

In order to verify our proposed numerical approach and its implementation also in the presence of dispersive shock waves, we first compare the numerical solution obtained with a fourth order ADER-DG scheme (\(N=3\)) in the domain \({\varOmega }= [-250,+250] \times [0,+25]\) on a uniform Cartesian mesh composed of \(10080 \times 4\) elements with the exact solution of the Whitham modulation equations that describe the temporal evolution of the envelope of the dispersive shock wave, see [38]. The parameters of the hyperbolic model are set to \(\beta = 2 \cdot 10^{-5}\), \(\lambda = 300\) and \(a_c=0\), since the test problem is one-dimensional. In Fig. 20 we show a comparison of numerical and exact solution for the fluid density \(\rho \) and for the velocity component \(v_1\) at a final time of \(t=70\). For both variables, an excellent agreement between the exact and the numerical solution can be observed for the envelope.

Fig. 20
figure 20

Solution of a dispersive Riemann problem of the hyperbolic reformulation of the Schrödinger equation [38] and comparison with the exact solution of the Whitham modulation equations for the envelope of the curve at time \(t=70\). Fluid density (left) and velocity component \(v_1\) (right)

4.2.4 Dispersive Shock in Two Space Dimensions

Last but not least, we also carry out a qualitative comparison against experimental results in two dimensions. We start from a fluid initially at rest with \({\mathbf {v}}_k=0\), \(p_k=\partial _k \rho \), \(w=0\) and \(\eta =\rho \). The initial density profile is given in terms of the radius \(r=\sqrt{x^2+y^2}\) by

$$\begin{aligned} \rho (r,0) = \frac{1}{2} \left( \rho _R + \rho _L \right) + \frac{1}{2} \left( \rho _R - \rho _L \right) \tanh \left( \frac{r-R}{\sigma } \right) , \end{aligned}$$
(91)

with \(\rho _L = 2\), \(\rho _R = 1\), \(R=3\) and the smoothing parameter \(\sigma = 0.05\). The computational domain \({\varOmega }= [-8,+8]^2\) is discretized with \(256 \times 256\) uniform Cartesian elements with polynomial approximation degree \(N=3\) and simulations are run until a final time of \(t=0.24\). Also for this test case the parameters of the hyperbolic model with GLM curl cleaning are set to \(\beta = 2 \cdot 10^{-5}\), \(\lambda = 300\) and \(a_c=20\). In Fig. 21 we compare our numerical results against experimental observations published in [65] for a two-dimensional dispersive shock wave developing in a quantum fluid (Bose–Einstein Condensate—BEC). We can observe a good qualitative match between the two solutions.

Fig. 21
figure 21

Density contours at \(t=0.24\) for a dispersive shock wave in 2D. Simulation of the hyperbolic reformulation of the Schrödinger equation with a fourth order ADER-DG scheme (left) and experimental results of [65] obtained for a dispersive shock wave in a Bose–Einstein condensate (right)

5 Conclusion

In this paper we have focused on the solution of first order hyperbolic reformulations of nonlinear dispersive systems using a high order fully discrete one-step ADER discontiuous Galerkin methodology. Two different models derived from an extended Lagrangian variational principle have been considered. The hyperbolic reformulation of the Serre–Green–Naghdi model with flat bottom [56] has been extended to the 2D framework with variable bottom topography. The linear dispersion analysis reported in the present paper allows an easy comparison with other hyperbolic models of nonlinear dispersive water waves. As second system we have selected the defocusing nonlinear Schrödinger equation rewritten in the hyperbolic reformulation proposed in [38]. The extension of the original 1D model to the multi-dimensional framework has shown the necessity of including a new term to restore the Galilean invariance of the system. Moreover, in this paper the model has also been augmented by a hyperbolic GLM curl cleaning approach so that we arrive at a structure preserving scheme that reduces the curl errors that are produced by the underlying numerical method. Let us note that, as an additional benefit of including the curl cleaning terms, the augmented system becomes strongly hyperbolic when the second and third components of the vector field \({\mathbf {p}}\) are non zero, reverting to the eigenstructure of the original system in [38], which was only weakly hyperbolic in the multi-dimensional case in the absence of the GLM curl cleaning terms. The path-conservative ADER-DG methodology has been briefly recalled and combined with an a posteriori subcell finite volume limiter to avoid spurious oscillations in the numerical solution in the presence of discontinuities or strong gradients. For the hyperbolic model of nonlinear dispersive water waves (1)–(5) the well-balanced property of the employed path-conservative scheme has been rigorously proven for the case \(N=0\) for arbitrary bottom topographies. A careful validation of the schemes has been carried out for both systems of equations showing numerical convergence tables of up to sixth order of accuracy. A set of numerical test has been run for each system including a comparison with exact and numerical reference solutions, as well as with available experimental data. The obtained results confirm the effectiveness of using very high order accurate numerical schemes against classical low order finite volume methods which, even in the one-dimensional case, require a very fine grid leading to a prohibitive computational cost in higher space dimensions.

In the future, we plan to apply the numerical method developed in this paper also to other nonlinear dispersive systems, such as the Navier-Stokes-Korteweg system, for which a hyperbolic reformulation is possible by combining the GPR model of continuum mechanics [17, 47, 88] with the hyperbolic reformulation of the nonlinear Schrödinger equation introduced in [38] and studied in the present paper. As further research, we also plan to develop novel structure-preserving semi-implicit schemes on staggered meshes to solve the systems under investigation in this paper, following the ideas outlined in [9, 11, 18, 19], with the aim to preserve the curl constraint exactly at the discrete level.