Abstract
In this paper, we develop well-balanced arbitrary Lagrangian–Eulerian discontinuous Galerkin (ALE-DG) methods for the shallow water equations, which preserve not only the still water equilibrium but also the moving water equilibrium. Based on the time-dependent linear affine mapping, the ALE-DG method for conservation laws maintains almost all mathematical properties of DG methods on static grids, such as conservation, geometric conservation law (GCL), entropy stability. The main difficulty to obtain the well-balanced property of the ALE-DG method for shallow water equations is that the grid movement and usual time discretization may destroy the equilibrium. By adopting the GCL preserving Runge–Kutta methods and the techniques of well-balanced DG schemes on static grids, we successfully construct the high order well-balanced ALE-DG schemes for the shallow water equations with still and moving water equilibria. Meanwhile, the ALE-DG schemes can also preserve the positivity property at the same time. Numerical experiments in different circumstances are provided to illustrate the well-balanced property, positivity preservation and high order accuracy of these schemes.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
The shallow water equations have been widely used to model flows in the atmosphere, rivers, lakes and oceans as well as gravity waves in a smaller domain. They are especially suitable to model tides which have very large length scales. In one space dimension, the shallow water equations take the form:
where h denotes the water height, u is the velocity of the fluid, b is the bottom topography and g is the gravitational constant. The shallow water equations exactly preserve the still water equilibrium:
which represents a still flat water surface. The shallow water equations also preserve the general moving water equilibrium:
where m, E are the moving water equilibrium variables. The still water equilibrium is just a special case of the moving water equilibrium when the velocity equals zero.
The well-balanced schemes are introduced to preserve exactly, at a discrete level, these equilibrium solutions. An important advantage of the well-balanced schemes is that they can accurately resolve small perturbations to such steady state solutions with relatively coarse meshes. Research on well-balanced numerical methods for the shallow water system has attracted many attentions in the past two decades. Researchers have developed many well-balanced schemes for the shallow water equations to preserve the still water equilibrium, e.g. [3, 25, 31, 34, 36, 38,39,40]. Most of the well-balanced methods which preserve the still water equilibrium cannot preserve the moving water equilibrium, and it is significantly more difficult to obtain well-balanced schemes for the moving water equilibrium. Some well-balanced schemes for the moving water equilibrium have been developed, see [8, 10, 21, 27, 30, 31]. In a recent paper [35], Xing designed a well-balanced discontinuous Galerkin (DG) scheme for arbitrary equilibrium of the shallow water equations. The key idea of this paper is a special way to recover the moving water equilibrium. Another important difficulty in solving the shallow water equations is the appearance of dry areas. The water height may become negative near the wet-dry front and may cause the breakdown of numerical simulations. There are some existing work to overcome this difficulty. In [6, 7], the authors cut off the outgoing numerical flux without reducing the global time step to maintain the positivity of the water height. In [11], a hydrostatic reconstruction scheme based on subcell reconstruction is introduced. Many other techniques can be found in [4, 9, 26]. A very popular technique for high order methods is a simple scaling positivity-preserving limiter, which can preserve the high order accuracy without losing local conservation [40].
The well-balanced schemes for shallow water equations were developed for static computational meshes, but in many applications, numerical methods with a deformable moving mesh are desirable for flexibility. In recent years, well-balanced moving mesh methods have been designed within several different frameworks, which preserve the still water equilibrium. In [44, 45], the authors introduced a new interpolation in finite volume methods to remap the flow variables to the new mesh while keeping the well-balanced property and height positive. In [1, 2], finite volume methods has been coupled pre-balanced ALE form of shallow water equations. In [28], space-time discontinuous DG methods on moving meshes and a new weak form were developed to preserve the steady states. A two-step moving mesh DG scheme was presented in [42], where the well-balanced DG methods with hydrostatic reconstruction on static grids and a remapping were coupled. We will choose the arbitrary Lagrangian–Eulerian discontinuous Galerkin (ALE-DG) method developed by Klingenberg et al. [19, 23] in this paper, which maintains mathematical properties of the DG methods on static grids, such as conservation, geometric conservation law (GCL), entropy stability and high order accuracy. Thereinto, the GCL property of the grid deformation method is essential for the development of well-balanced grid deformation schemes for the shallow water equations. It has been shown in [19] that the GCL property of the ALE-DG method can be satisfied for any time discretization methods with the order greater than or equal to the dimension. Thus the modified total variation diminishing Runge–Kutta (TVD-RK) methods has been introduced to guarantee the GCL property in each stage of Runge–Kutta methods for two or higher dimension cases. Besides, by adopting the time-dependent linear affine mapping, the ALE-DG algorithm requires only very mild Lipschitz continuity of the mesh movement function. Moreover, due to the GCL property, We can keep the water height average positive under suitable time steps, which is consistent with the one in DG methods [40] on static grids.
The DG method is a popular high order method for solving hyperbolic conservation laws. It has been developed and analyzed by Cockburn, Shu et al. in a series of papers, e.g. [12,13,14,15,16] and in a review article [33]. Researchers have developed many well-balanced DG schemes for the shallow water equations, e.g. [17, 18, 22, 28, 35, 39, 41], which can be classified as the hydrostatic reconstruction and special source term treatment schemes roughly. But well-balanced DG methods cannot be generalized to ALE-DG methods directly, due to the mesh movement and the time-dependent approximation space. We find that the GCL preserving fully discrete ALE-DG scheme with the modified TVD-RK methods can be adopted to develop high order accurate well-balanced schemes, also based on the techniques of well-balanced schemes on static grids. The main objective of this paper is to develop high-order accurate positivity-preserving well-balanced ALE-DG methods for the shallow water equations. We will describe the algorithms of the methods preserving the still and moving water equilibria and prove the well-balanced property of the schemes. We mainly concentrate on the formulation and show the feasibility of using ALE-DG methods for solving shallow water equations. We remark that the methods of the grid movement is not investigated in this work. The grid movement is prescribed explicitly and not derived from the computed solution in the numerical examples.
The rest of the paper is organized as follows. In Sect. 2, we give some important notations and properties for the ALE-DG method. In Sect. 3, we present the well-balanced ALE-DG methods for the shallow water equations which preserve the still water equilibrium in two space dimensions by adopting the modified TVD-RK time discretization. One-dimensional case is similar. In Sect. 4, we develop the well-balanced ALE-DG scheme for moving water equilibrium. In Sect. 5, we provide numerical examples both for still water equilibrium and moving water equilibrium to verify the well-balanced property, the positivity preserving property and high order accuracy. Finally, we will give some concluding remarks in Sect. 6. All the technical proof details in this paper are shown in “Appendices A–B”.
2 Notations
In this section, we present the time-dependent cells and finite element spaces in one and two dimensions respectively.
2.1 Mesh Grids for 1D and Notations
We discretize the computational space domain \(\Omega \) into time-dependent cells. We assume that there are given points \(\left\{ x_{j-\frac{1}{2}}^n\right\} _{j=1}^{N+1}\) at time level \(t^n\) and \(\left\{ x_{j-\frac{1}{2}}^{n+1}\right\} _{j=1}^{N+1}\) at \(t^{n+1}\), such that
Then we define straight lines connecting \(x_{j-\frac{1}{2}}^n\) and \(x_{j-\frac{1}{2}}^{n+1}\)
where
The straight lines (2.1) provide time-dependent cells \(K_j(t)=\left[ x_{j-\frac{1}{2}}(t),x_{j+\frac{1}{2}}(t)\right] \) at any time \(t\in \left[ t^n,t^{n+1}\right] \). The size of the j-th cell is denoted by
For any time \(t\in [t^n,t^{n+1}]\) and cell \(K_j(t)\), we define the grid velocity field \(\omega \)
We define the following finite dimensional test function space
where k denotes the polynomial degree and
For \(\psi \in {\mathcal {V}}_h(t)\), the values at the cell boundaries of \(x_{j+\frac{1}{2}}\) is defined by
2.2 Mesh Grids for 2D and Notations
Similarly, we present the time-dependent cells in two dimensions. We assume that there exist triangle meshes \({\mathcal {T}}^n=\bigcup _{j=1}^{N}{\mathcal {K}}_j^n\) at time level \(t^n\) and \({\mathcal {T}}^{n+1}=\bigcup _{j=1}^{N}{\mathcal {K}}_j^{n+1}\) at \(t^{n+1}\) which cover the convex polyhedron domain \(\Omega \) such that
and \(\{{\varvec{x}}_j^n\}_{j=1}^M\) and \(\{{\varvec{x}}_j^{n+1}\}_{j=1}^M\) are the mesh grids at time \(t^n\) and \(t^{n+1}\).
We define the straight lines between the points \({\varvec{x}}_j^n\) and \({\varvec{x}}_j^{n+1}\):
For each pair of triangles \({\mathcal {K}}_j^n\) and \({\mathcal {K}}_j^{n+1}\), assume \({\varvec{x}}_a^n\), \({\varvec{x}}_b^n\), \({\varvec{x}}_c^n\) are three vertices of \({\mathcal {K}}_j^n\) and \({\varvec{x}}_a^{n+1}\), \({\varvec{x}}_b^{n+1}\), \({\varvec{x}}_c^{n+1}\) are corresponding vertices of \({\mathcal {K}}_j^{n+1}\). We can define the time-dependent triangles by
where \(\text{ conv }(\cdot )\) denote the convex hull of a set. The area of cell \({\mathcal {K}}_j(t)\) is denoted by \(\Delta _j(t)\).
We then define the grid velocity field \(\varvec{\omega }({\varvec{x}},t)\) for \(t\in [t^n,t^{n+1}]\). We assume that \(\varvec{\omega }\) is a vector with two components: \(\omega _1\), \(\omega _2\). Each component is a piecewise linear polynomial, such that \(\omega _1,\,\omega _2|_{{\mathcal {K}}_j(t)}\in P^1({\mathcal {K}}_j(t))\). In each cell \({\mathcal {K}}_j(t)\), the components \(\omega _1,\,\omega _2\) are defined as follows:
Here \(|\cdot |\) denotes the matrix determinant. \({\varvec{x}}_a^n,{\varvec{x}}_b^n,{\varvec{x}}_c^n\) are the vertexes of cell \({\mathcal {K}}_j(t)\) and \(\varvec{\omega }_a^n,\varvec{\omega }_b^n,\varvec{\omega }_c^n\) are the grid velocity of these vertexes defined in (2.8) respectively. \(\omega _{i,1}^n\), \(\omega _{i,2}^n\) are the two components of \(\varvec{\omega }_i^n\), for \(i=a,b,c\). The equation (2.10) means that for \(i=1,2\), the four points in three dimensional space, \(({\varvec{x}},\omega _i({\varvec{x}},t)),({\varvec{x}}_a,\omega _{a,i}^n),({\varvec{x}}_b,\omega _{b,i}^n),({\varvec{x}}_c,\omega _{c,i}^n)\) coplanar. The two matrices in (2.10) are both 3 by 3 matrices.
We define the following finite dimensional test function space
where k denotes the polynomial degree and
For \(\psi \in {\mathcal {V}}^{2d}_h(t)\), the values on the boundary of a triangle \({\mathcal {K}}\) is defined by
where the vector \({\varvec{x}}\) is any point on the boundary of the triangle \({\mathcal {K}}\) and the vector \({\varvec{n}}\) is the outer normal vector of the triangle \({\mathcal {K}}\) at the point \({\varvec{x}}\).
3 The Well-Balanced ALE-DG Methods for Still Water Equilibrium
In this section, we present the positivity-preserving well-balanced high-order ALE-DG methods for the shallow water equations which preserve the still water equilibrium. According to the previous work in [19, 23], the ALE-DG methods can maintain almost all the mathematical properties of DG methods on static grids, such as conservation, geometric conservation law (GCL), entropy stability, and optimal error estimates. Our well-balanced ALE-DG methods for the still water equilibrium are mainly based on the GCL property on the moving mesh. We will develop two different well-balanced schemes and introduce their well-balanced property and positivity-preserving property in two dimensions. The one-dimensional case is similar to the two-dimensional case.
3.1 Equations
We first write out the shallow water equations in two dimensions:
where h represents the water height, (u, v) denotes the velocity vector of the fluid, and b is the bottom topography. The still water equilibrium takes the form as follows
The GCL property means that the numerical scheme can preserve constant states, which fit the still water equilibrium very well. Our motivation is to achieve the well-balanced property by using GCL. The first step is to change the variables from conservative variables
to equilibrium variables
where \(\eta \) denotes the surface level. In this case, the time discretization will not destroy the well-balanced property on the moving mesh. For the ease of presentation, we rewrite the shallow water equations (3.1) as follows:
where
Because \(b({\varvec{x}})\) is independent of t, we can easily prove that the solution for (3.1) is the solution for (3.3). The variables in \({\varvec{v}}\) are constants in the case of the still water equilibrium. We denote the numerical solution still by \({\varvec{v}}\) and numerical bottom topography by b for simplicity.
3.2 The Standard ALE-DG Scheme
3.2.1 The Semi-discrete Scheme
For the shallow water equations (3.3), the semi-discrete ALE-DG scheme is the following: Find \({\varvec{v}}\in \varvec{\Pi }_h^{2d}(t)\), for any \(\varvec{\phi }\in \varvec{\Pi }_h^{2d}(t)\),
with
where
-
The operator \(\varvec{:}\) is defined as follows: \(A\varvec{:}B=\sum \limits _{i,j}a_{ij}b_{ij}\) for any matrices \(A=\left[ a_{ij}\right] \) and \(B=\left[ b_{ij}\right] \in {\mathbb {R}}^{n\times m}\).
-
\(\varvec{\omega }=(\omega _1,\omega _2)^T\) is the grid velocity field defined in (2.10).
-
Flux term \({\varvec{G}}(\varvec{\omega },{\varvec{v}})=({\varvec{f}}({\varvec{v}})-\omega _1 {\varvec{v}},{\varvec{h}}({\varvec{v}})-\omega _2 {\varvec{v}})\).
-
The numerical flux \(\widehat{{\varvec{G}}}=\widehat{{\varvec{G}}}(\varvec{\omega },{\varvec{v}}^{int},{\varvec{v}}^{ext},{\varvec{n}})\) is a monotone flux of \({\varvec{G}}(\varvec{\omega },{\varvec{v}})\). We adopt the Lax-Friedrichs flux [19] in this paper:
$$\begin{aligned} \widehat{{\varvec{G}}}(\varvec{\omega },{\varvec{v}}^{int},{\varvec{v}}^{ext}, {\varvec{n}})=({\varvec{G}}(\varvec{\omega },{\varvec{v}}^{int})\cdot {\varvec{n}}+{\varvec{G}}(\varvec{\omega },{\varvec{v}}^{ext})\cdot {\varvec{n}}-\alpha ({\varvec{v}}^{ext}-{\varvec{v}}^{int}))/2, \end{aligned}$$(3.5)where \({\varvec{n}}\) is the outer normal vector, \(\alpha =\max (|((u, v)^T-\varvec{\omega })\cdot {\varvec{n}}|+\sqrt{gh})\) and the maximum is taken in the relevant domain.
3.2.2 The Runge–Kutta Time Discretization
In this paper, we will adopt the total variation diminishing Runge–Kutta (TVD-RK) time discretization method [20, 32]. The time discretization for moving mesh is slightly different with the static mesh, since the test functions will change over time. We first introduce the relationship between the test functions at different time level.
We define the following time-dependent linear mapping, for any interval \(K_j(t)\):
where the matrix \({\varvec{A}}_{{\mathcal {K}}_j(t)}\) is given by
and \({\varvec{x}}_{{\mathcal {K}}_j(t),a}\), \({\varvec{x}}_{{\mathcal {K}}_j(t),b}\), \({\varvec{x}}_{{\mathcal {K}}_j(t),c}\) are the three vertexes of cell \({\mathcal {K}}_j(t)\). Then we define corresponding basis functions. For time t, \({\hat{t}}\in [t^n, t^{n+1}]\), we call \(\phi \in {\mathcal {V}}_h(t)\), \({\hat{\phi }}\in {\mathcal {V}}_h({\hat{t}})\) are corresponding basis functions, if they satisfy that
Now, we write the third order TVD-RK method [32] as follows:
where \({\mathcal {K}}_j^{n,1}={\mathcal {K}}_j^{n+1}={\mathcal {K}}_j(t^{n+1})\), \({\mathcal {K}}_j^{n,2}={\mathcal {K}}_j(\frac{t^n+t^{n+1}}{2})\); \(\varvec{\phi }^{n,1}\), \(\varvec{\phi }^{n+1}\), \(\varvec{\phi }^n\) and \(\varvec{\phi }^{n,2}\) are equivalent in the sense of basis functions defined in (3.8). The spatial discretization \({\mathcal {L}}_j\) is defined in (3.4). Usually, it is obvious that the scheme (3.4) combined with (3.9)–(3.11) can not keep the well-balanced property. We need to have more treatments and will introduce two well-balanced schemes for the still water equilibrium below.
3.3 The Well-Balanced Semi-discrete ALE-DG Schemes
In this subsection, we will introduce the well-balanced modifications based on the standard ALE-DG scheme (3.4). We will introduce two different schemes in this subsection and show their properties in the following subsections.
3.3.1 The Semi-discrete ALE-DG Scheme with Hydrostatic Reconstruction
The semi-discrete scheme is the following: Find \({\varvec{v}}\in \varvec{\Pi }^{2d}_h(t)\), for any \(\varvec{\phi }\in \varvec{\Pi }^{2d}_h(t)\),
with
where
-
The well-balanced numerical flux is given by
$$\begin{aligned} \begin{aligned} \widehat{{\varvec{G}}}^*=&\widehat{{\varvec{G}}}(\varvec{\omega },{\varvec{v}}^{*,int},{\varvec{v}}^{*,ext},{\varvec{n}})\\&+\left( \begin{aligned} \frac{1}{2}(\varvec{\omega }\cdot {\varvec{n}}-\alpha )(\eta ^{*,int}-\eta ^{int})&+\frac{1}{2}(\varvec{\omega }\cdot {\varvec{n}}+\alpha )(\eta ^{*,ext}-\eta ^{ext})\\ (\frac{g}{2}(\eta ^{int}-b^{int})^2&-\frac{g}{2}(h^{*,int})^2)n_1\\ (\frac{g}{2}(\eta ^{int}-b^{int})^2&-\frac{g}{2}(h^{*,int})^2)n_2 \end{aligned} \right) , \end{aligned} \end{aligned}$$(3.13)where \(\widehat{{\varvec{G}}}(\varvec{\omega },{\varvec{v}}^{int},{\varvec{v}}^{ext},{\varvec{n}})\) is defined in (3.5) and \({\varvec{n}}=(n_1,n_2)^T\) is the outer normal vector.
-
\({\varvec{v}}^{*,int/ext}\) and \(h^{*,int/ext}\) are the modified cell boundary values given by
$$\begin{aligned} \begin{aligned} {\varvec{v}}^{*,int}&=(h^{*,int}+b^{int},(hu)^{int},(hv)^{int})^T,\\ {\varvec{v}}^{*,ext}&=(h^{*,ext}+b^{ext},(hu)^{ext},(hv)^{ext})^T,\\ h^{*,int}&=\max (0,\eta ^{int}-\max (b^{int},b^{ext})),\\ h^{*,ext}&=\max (0,\eta ^{ext}-\max (b^{int},b^{ext})). \end{aligned} \end{aligned}$$(3.14)
We note that we change the definition of numerical flux (3.13) in well-balanced scheme (3.12) compared with (3.4).
3.3.2 The Semi-discrete ALE-DG Scheme with Special Source Term Treatment
The ALE-DG scheme with special source term treatment is defined in the following form: find \({\varvec{v}}\in \varvec{\Pi }^{2d}_h(t)\), for any \(\varvec{\phi }=(\zeta ,\psi ,\delta )^T\in \varvec{\Pi }^{2d}_h(t)\),
with
where \(s_j\) denotes the approximation of the source term \(\int _{{\mathcal {K}}_j(t)}-ghb_x\psi \mathrm {d}{\varvec{x}}\) and \(r_j\) denotes the approximation of the source term \(\int _{{\mathcal {K}}_j(t)}-ghb_y\delta \mathrm {d}{\varvec{x}}\). They are defined as follows:
where the notations are defined by
Compared with (3.4), we note that we change the definition of the source term approximation \(\int _{{\mathcal {K}}_j(t)}{\varvec{s}}({\varvec{v}},b)\cdot \varvec{\phi }\,\mathrm {d}{\varvec{x}}\) to \(s_j+r_j\) in well-balanced scheme (3.15).
3.3.3 Well-Balanced Property for Semi-discrete Schemes
For the well-balanced semi-discrete schemes (3.12) and (3.15), we have the following lemma as key of the well-balanced property.
Lemma 3.1
If \({\varvec{v}}\) is equal to the still water equilibrium, then the semi-discrete ALE-DG schemes (3.12) in Sect. 3.3.1 and (3.15) in Sect. 3.3.2 can both be simplified to
where \(\otimes \) is the tensor product such that \(\varvec{\omega }\otimes {\varvec{v}}=\left( \begin{matrix} \omega _1{\varvec{v}}&\omega _2{\varvec{v}} \end{matrix}\right) \) and
In order to show the main idea of the proofs, the one-dimensional cases for schemes (3.12) and (3.15) are given in “Appendices A.1 and A.2” respectively. The two-dimensional case is similar and we omit the corresponding proof in two dimensions.
3.4 The Fully Discrete Schemes and Well-Balanced Property
For the DG schemes on static grids, usually Lemma 3.1 indicate the well-balanced property of the corresponding fully-discrete schemes. But for the ALE-DG schemes, this is not the case. The schemes need the property so-called geometric conservation law (GCL) to maintain the well-balanced property in the temporal discretization.
The GCL is an important property to keep high order accuracy for the grid deformation method. We introduce the GCL briefly and refer [23] for details. If a method satisfies the GCL, that means it can preserve the constant states. In one dimension, [23] proved that for the ALE-DG method for conservation laws, semi-discrete ALE-DG scheme satisfies the GCL and the fully discrete scheme with TVD-RK methods (3.9)-(3.11) satisfies discrete geometric conservation law (dGCL). In two dimensions, a modified TVD-RK methods was presented in [19], where each equation of (3.9)–(3.11) adds a coefficient shown in [19]. For example, the Euler forward time discretization in two dimensions is given as follows
where \(\beta =1+\Delta t(\nabla \cdot \varvec{\omega }^n)\) and \(|{\mathcal {K}}|\) represent the area of the cell \({\mathcal {K}}\). In one dimension, we note that (3.20) and the standard Euler forward scheme are the same, since coefficient
The second equality is due to (2.4) and the third equality is due to (2.2). For the modified TVD-RK methods, the fully discrete scheme has the dGCL property and we refer [19] for its proof.
For the shallow water equations, which are conservation laws with source terms, we adopt the modified TVD-RK method in [19] and similar dGCL property can be proved for ALE-DG methods. This is essential for our proof about the well-balanced property. We show the well-balanced property of the fully-discrete ALE-DG scheme with the Euler forward discretization (3.20) and the well-balanced property about the modified TVD-RK methods is the same.
Proposition 3.2
The semi-discrete ALE-DG schemes (3.12) and (3.15) coupled with the Euler forward scheme (3.20) maintain the still water equilibrium (3.2) exactly.
The main idea of the proof for Proposition 3.2 in one dimension is shown in “Appendix A.3”. The proof in two dimensions is similar and we omit the details for simplicity.
Remark 3.3
Spurious oscillations can occur in numerical solutions of ALE-DG methods when the solution contains discontinuities, so a slope limiter is needed after each time stage of TVD-RK methods. We use the total variation bounded (TVB) limiter presented in [40]. Such limiter on static mesh still works well on moving meshes for ALE-DG methods. Since we have changed the variables of the shallow water equations from \({\varvec{u}}\) to \({\varvec{v}}\) and \({\varvec{v}}\) equals constants for still water equilibrium, so the TVB limiter won’t destroy the well-balanced property.
3.5 The Approximation of the Bottom Topography and Mass Conservation
We haven’t discussed the choice of the bottom topography b in our proposed schemes. Actually, different approximations of the bottom topography won’t affect the well-balanced property but may affect the mass conservation or the positivity-preserving property. We discuss how to choose the approximations of the bottom topography and the mass conservation property in this subsection and the positivity-preserving property will be introduced in the next subsection.
There are some different choices for the approximations of the bottom topography and in [1] has some discussion about it. Two main choices are:
-
1.
\(b\in {\mathcal {V}}_h(t)\) is the \(L^2\) projection of the exact bottom topography.
-
2.
Use the ALE-DG method to remap b on moving meshes, which means that according to equation \(b_t=0\), find \(b\in {\mathcal {V}}_h(t)\), for any \(\delta \in {\mathcal {V}}_h(t)\),
$$\begin{aligned} \frac{\mathrm {d}}{\mathrm {d}t}\int \limits _{{\mathcal {K}}_j(t)}b\delta \,\mathrm {d}{\varvec{x}}=-\int \limits _{{\mathcal {K}}_j(t)}\varvec{\omega } b\cdot \nabla \delta \,\mathrm {d}{\varvec{x}}+\int \limits _{\partial {\mathcal {K}}_j(t)}\widehat{\varvec{\omega } b}\delta ^{int}\,\mathrm {d}s, \end{aligned}$$(3.21)where \(\widehat{\varvec{\omega } b}\) is the numerical flux based on our numerical schemes. In this work, based on the Lax-Friedrichs flux, we set
$$\begin{aligned} \widehat{\varvec{\omega } b}=(\varvec{\omega }(b^{int}+b^{ext})\cdot {\varvec{n}}+\alpha (b^{ext}-b^{int}))/2, \end{aligned}$$(3.22)where we take the same \(\alpha \) in (3.5). We note that (3.21) is semi-discrete scheme, and we choose the same time discretization as \({\varvec{v}}\), i.e. the modified TVD-RK methods in [19].
The first approach is shown in [1] and is thought to be more accurate than the second approach for bottom topography in poor condition. But the first approach don’t have the exactly mass conservation, which means that an accuracy enough integration quadrature must be adopted in computations and don’t have the weak positivity property, which is essential for the robustness of schemes and will be introduced in the next subsection.
We claim that our proposed well-balanced ALE-DG schemes have mass conservation coupled with the numerical bottom. First, we claim that the numerical flux of \(\eta \) is single-valued. This is obvious true for the scheme (3.15) and also true for the scheme (3.12) according to the discussion in (A.3), which means that the scheme (3.12) has single-valued numerical flux for \(\eta \). So we have that our proposed schemes conserve the surface level \(\eta =h+b\). If our schemes conserve the bottom topography b, we can conclude that our schemes have mass conservation. This is obvious true for the scheme (3.21) of b with single-valued numerical flux.
3.6 Positivity-Preserving Property and Limiter
A simple positivity-preserving limiter has been proposed and implemented for the shallow water equations in [40] for the DG method. Such a limiter can keep the water height non-negative under suitable time step size and preserve the local conservation and does not affect the high-order accuracy. The basis of such limiter is a weak positivity property satisfied by the cell average of the water height. In our work, we will show how to couple this limiter with our proposed schemes in one dimension and the two-dimensional case is similar.
We begin with the quadrature rules. Let \(\{{\hat{x}}_j^{(\nu )}\}_{1\le \nu \le L}\) be the Gauss-Lobatto nodes in the interval \(K_j^n\), and \(\{{\hat{\omega }}_\nu \}_{1\le \nu \le L}\) be the associated quadrature weight satisfying
We note that such quadrature rule is only used for the following proof and we denote the set of quadrature points by
3.6.1 The Weak Positivity Property for the Well-Balanced Schemes
We will show the weak positivity property of our schemes (3.12) and (3.15) combined with the Euler forward time discretization (3.20) and the property for the high-order TVD-RK methods are similar with it.
Theorem 3.4
If \(\forall x\in {\mathbb {S}}_{K_j^n}\), \(\eta _j^n(x)-b_j^n(x)>0\) holds, we have
for both two schemes (3.12) and (3.15) with the Euler forward discretization (3.20) under the CFL-type condition
with
where \(\alpha \) is the parameter adopted in the Lax-Friedrichs flux (3.5) and \(\hat{\omega _1}\) is the quadrature weight in (3.23).
The proof of Theorem 3.4 is shown in “Appendix A.4”.
3.6.2 The Positivity-Preserving Limiter
For this part, we mainly refer the results in [40]. Since our numerical methods satisfy the weak positivity property in Theorem 3.4, we can apply a simple scaling limiter to make the values of height at points \(x\in {\mathbb {S}}_{K_j^n}\) positive. We assume \({\bar{h}}_j^n>0\), then the scaling limiter is given by
where \(\epsilon \) is sufficiently small positive numbers to avoid the effect of the round-off error, for example \(\epsilon =\min (10^{-11},{\bar{h}}_j^n)\). Now we get \({\tilde{h}}_j^n(x)>0\) for \(x\in {\mathbb {S}}_{K_j^n}\).
We note that, to preserve the still water equilibrium, we do not change the surface level \(\eta \). We use the idea in [42] and update the bottom \(b_j^n(x)\) by
Such an approach can preserve the still water equilibrium and keep the water height positive at the same time.
4 The Well-Balanced ALE-DG Method for Moving Water Equilibrium
In this section, we will present the well-balanced ALE-DG scheme for the moving water equilibrium. Since there is no general form of the moving water equilibrium states in two dimensions, we only discuss about the one-dimensional case (1.1) in this paper. For the ease of presentation, we denote the shallow water equations (1.1) as follows:
where
The numerical solution is still denoted by \({\varvec{u}}\) with an abuse of notation. Since the mesh grids are moving with time, it is difficult to preserve the moving water equilibrium. In [35], a well-balanced DG scheme has been developed based on hydrostatic reconstruction. Such approach can’t extend to ALE-DG methods directly. Standard TVD-RK time discretization can’t preserve the moving water equilibrium and conserve the mass at the same time. Inspired by the work on the well-balanced scheme for Euler equations with explicitly given equilibrium state in [24], we proposed a well-balanced ALE-DG scheme for moving water equilibrium.
4.1 Preliminary Preparation
4.1.1 Relation Between Conservative and Equilibrium Variables
The variables \({\varvec{u}}=(h,hu)^T\) are called conservative variables and the equilibrium variables \({\varvec{v}}\) for moving water are defined as follows:
For the still water case, the transformation between \({\varvec{u}}\) and \({\varvec{v}}\) is linear. But the transform functions are nonlinear and complicated for the moving water case. It is necessary to find the exactly transform functions between \({\varvec{u}}\) and \({\varvec{v}}\).
-
Given \({\varvec{u}}\) and the bottom function b, the value of \({\varvec{v}}\) can be computed directly. We denote this transform function by \({\varvec{v}}={\varvec{V}}({\varvec{u}},b)\).
-
Given \({\varvec{v}}\) and the bottom function b, the value of \({\varvec{u}}\) can not be computed directly. We mainly follow the idea presented in [35] and present the main idea as follows.
If \(m=0\), the solution is trivial. Next, we assume that \(m\ne 0\). From (4.4), we have
Thus we have
This is a cubic polynomial of h with coefficients determined by \({\varvec{v}}\).
We use the Cardan formula to get three roots for the polynomial. If
we can claim that there are two real roots greater than zero and one real root less then zero. By using this result, we can compute \({\varvec{u}}\) exactly. We denote the two real roots greater than zero by \(r_1\) and \(r_2\), and assume that \(r_1\leqslant r_2\) without loss of generality.
We define the Froude number Fr and the sign function \(\sigma \):
Then we introduce the three different flow states
-
sonic flow: \(\sigma =0\), \(h=r_1=r_2\);
-
subsonic flow: \(\sigma <0\), \(h=r_2\);
-
supersonic flow: \(\sigma >0\), \(h=r_1\).
Finally we get the following lemma.
Lemma 4.1
( [35]) We assume that \({\varvec{v}}\) and b are given suitably such that
If we also know the flow state (sonic, sub- or supersonic), then we can compute the unique solution h exactly. We denote this transform function by \(h=H({\varvec{u}},b,\sigma )\).
We denote the transform function \({\varvec{u}}={\varvec{U}}({\varvec{v}},b,\sigma )=\left( H({\varvec{v}},b,\sigma ),m\right) ^T\).
4.1.2 Definition of Well-Balanced Property on Moving Meshes
Since the meshes are moving with time, the numerical solution must become different with different meshes. So it’s hard to define the well-balanced property on moving meshes. We assume that the desired moving water equilibrium is explicitly given and is denoted by \({\varvec{u}}^d\). We note that such equilibrium states can be obtained according to Sect. 4.1.1 by giving \(({\varvec{v}},b,\sigma )\). Set \({\varvec{u}}^e\) as an approximation of \({\varvec{u}}^d\), which is independent of the flux term and source term of the shallow water equations. For example, the \(L^2\) projection of \({\varvec{u}}^d\) is a choice that meet the conditions. We define the well-balanced property on moving meshes as: if the numerical solution \({\varvec{u}}\) equals \({\varvec{u}}^e\) for all time \(t\ge 0\), we call that the scheme can preserve the moving water equilibrium. Such a definition is reasonable and in our numerical examples in Sect. 5, our proposed scheme can capture the small perturbation to the moving water equilibrium well. Like the still water equilibrium case, considering the mass conservation and the positivity-preserving property, we define \({\varvec{u}}^e\) by using the ALE-DG scheme of \(({\varvec{u}}^d)_t\) instead of \(L^2\) projection in our proposed scheme, which is introduced as follow:
For initialization, we define \({\varvec{u}}^{e,0}=P{\varvec{u}}^d\in \varvec{\Pi }_h(0)\). The way to update \({\varvec{u}}^e\) is by using the ALE-DG scheme of \({\varvec{u}}^e_t=0\): Find \({\varvec{u}}^e\in \varvec{\Pi }_h(t)\), for any \(\varvec{\delta }\in \varvec{\Pi }_h(t)\),
where \(\widehat{\omega {\varvec{u}}^e}\) is the numerical flux, which is given by
We note that \(\widehat{\omega {\varvec{u}}^e}=0\) at the cell boundary when \({\varvec{u}}^d\) is discontinuous, since we assume that the mesh grids must locate exactly at the discontinuity and won’t move i.e. \(\omega =0\).
4.1.3 Hydrostatic Reconstruction
We will use the idea of hydrostatic reconstruction [35] to modify numerical fluxes. First, we define \({\varvec{u}}^r\) by
We can think that \({\varvec{u}}\) is divided into two parts, \({\varvec{u}}^e\) in (4.8) and \({\varvec{u}}^r\). \({\varvec{u}}^e\) represents the equilibrium part and \({\varvec{u}}^r\) denotes the residue part, which means that if \({\varvec{u}}_{ex}\) is in equilibrium state, we have \({\varvec{u}}={\varvec{u}}^e\) and \({\varvec{u}}^r=0\).
Secondly we will modify the cell boundary value of \({\varvec{u}}\). There are two steps to get the modified boundary value \({\varvec{u}}_{j+\frac{1}{2}}^{*,\pm }\):
-
1.
Compute the cell boundary value \({\varvec{u}}_{j+\frac{1}{2}}^{r,\pm }\) of \({\varvec{u}}^r\).
-
2.
Then the modifed boundary value are defined as follow:
$$\begin{aligned} {\varvec{u}}_{j+\frac{1}{2}}^{*,\pm }=\left( \max \left( 0,h_{j+\frac{1}{2}}^{d,\pm }+h_{j+\frac{1}{2}}^{r,\pm }\right) ,m_{j+\frac{1}{2}}^{d,\pm }+m_{j+\frac{1}{2}}^{r,\pm }\right) ^T. \end{aligned}$$(4.11)
We note that although the desired equilibrium states \({\varvec{u}}^d\notin \varvec{\Pi }_h(t)\), it can be discontinuous at the cell boundary due different \(\sigma \) or discontinuous bottom topography. So in the definition, we distinguish its right and left limits as \({\varvec{u}}^{d,\pm }\).
4.1.4 Treatment for the Source Term
As in [35], we define the approximation of the source term \(\int _{K_j(t)}{\varvec{s}}({\varvec{u}},b)\cdot \varvec{\phi }\mathrm {d}x\) by
where \({\varvec{u}}^e\) and \({\varvec{u}}^r\) is defined in (4.8) and (4.10); \({\varvec{u}}_{j+\frac{1}{2}}^{e,\pm }\) are the boundary value of \({\varvec{u}}^e\); \(\varvec{\phi }\) is the test function vector. It can be proved that \(s_j\) has a high-order approximation (See [35] for details).
4.2 Semi-discrete ALE-DG Scheme
The semi-discrete scheme is the following: Find \({\varvec{u}}\in \varvec{\Pi }_h(t)\), for any \(\varvec{\phi }\in \varvec{\Pi }_h(t)\),
with
where
-
\({\varvec{g}}(\omega ,{\varvec{u}})={\varvec{f}}({\varvec{u}})-\omega {\varvec{u}}\);
-
\(\hat{{\varvec{g}}}^l\) and \(\hat{{\varvec{g}}}^r\) are defined as
$$\begin{aligned} \hat{{\varvec{g}}}_{j+\frac{1}{2}}^l= & {} \hat{{\varvec{g}}}(\omega _{j+\frac{1}{2}},{\varvec{u}}_{j+\frac{1}{2}}^{*,-},{\varvec{u}}_{j+\frac{1}{2}}^{*,+})+{\varvec{f}}({\varvec{u}}_{j+\frac{1}{2}}^-)-{\varvec{f}}({\varvec{u}}_{j+\frac{1}{2}}^{*,-}), \end{aligned}$$(4.14)$$\begin{aligned} \hat{{\varvec{g}}}_{j-\frac{1}{2}}^r= & {} \hat{{\varvec{g}}}(\omega _{j-\frac{1}{2}},{\varvec{u}}_{j-\frac{1}{2}}^{*,-},{\varvec{u}}_{j-\frac{1}{2}}^{*,+})+{\varvec{f}}({\varvec{u}}_{j-\frac{1}{2}}^+)-{\varvec{f}}({\varvec{u}}_{j-\frac{1}{2}}^{*,+}); \end{aligned}$$(4.15) -
\({\varvec{u}}_{j+\frac{1}{2}}^{*,\pm }\) are given by (4.11);
-
\(\widehat{{\varvec{g}}}(\omega ,{\varvec{u}}^{*,-},{\varvec{u}}^{*,+})\) is a monotone numerical flux of \({\varvec{g}}(\omega ,{\varvec{u}}^*)\). We use the Lax-Friedrichs flux, which is defined as follow:
$$\begin{aligned} \hat{{\varvec{g}}}(\omega ,{\varvec{u}}^l,{\varvec{u}}^r)=&\frac{1}{2}\left( {\varvec{g}}(\omega ,{\varvec{u}}^l)+{\varvec{g}}(\omega ,{\varvec{u}}^r)-\alpha ({\varvec{u}}^r-{\varvec{u}}^l)\right) , \end{aligned}$$(4.16)$$\begin{aligned} \alpha =&\max _{{\varvec{u}}\in \{{\varvec{u}}^l,{\varvec{u}}^r\}}(|u-\omega |+\sqrt{gh}), \end{aligned}$$(4.17)if \({\varvec{u}}^d\) is continuous at the cell boundary and we use the Roe’s flux in the scheme, which is defined as follow:
$$\begin{aligned}&\hat{{\varvec{g}}}(\omega ,{\varvec{u}}^l,{\varvec{u}}^r)=\frac{1}{2}\left( {\varvec{g}}(\omega ,{\varvec{u}}^l)+{\varvec{g}}(\omega ,{\varvec{u}}^r)-A_\omega ({\varvec{u}}^r-{\varvec{u}}^l)\right) ,\\&A_\omega =R\left( \begin{matrix} |{\hat{q}}-{\hat{c}}| &{} 0\\ 0 &{} |{\hat{q}}+{\hat{c}}| \end{matrix}\right) R^{-1},\quad R=\left( \begin{matrix} 1 &{} 1\\ {\hat{q}}-{\hat{c}} &{}{\hat{q}}+{\hat{c}} \end{matrix}\right) ,\\&{\hat{c}}=\sqrt{g{\hat{h}}},\quad {\hat{h}}=\frac{1}{2}\left( h^l+h^r\right) ,\quad {\hat{q}}=\frac{u^l\sqrt{h^l}+u^r\sqrt{h^r}}{\sqrt{h^l}+\sqrt{h^r}}-\omega , \end{aligned}$$if \({\varvec{u}}^d\) has a stationary shock at the cell boundary.
-
\(s_j\) is defined in (4.12).
Next, similar to the case of the still water equilibrium, we will show the property of the semi-discrete ALE-DG scheme (4.13) is in Lemma 4.2 and its proof in “Appendix B.1”.
Lemma 4.2
If the numerical solution \({\varvec{u}}={\varvec{u}}^e\) where \({\varvec{u}}^e\) is defined in (4.8) and the stationary shocks of \({\varvec{u}}^d\) are all located at the cell boundaries, the semi-discrete ALE-DG scheme (4.13) satisfies
4.3 Fully-Discrete ALE-DG Scheme and Well-Balanced Property
For the time discretization, we adopt the same TVD-RK method (3.9)–(3.11) for the semi-discrete scheme (4.13) of \({\varvec{u}}\) and semi-discrete scheme (4.8) of \({\varvec{u}}^e\) to keep the well-balanced property.
Remark 4.3
We claim that our ALE-DG scheme (4.13) coupled with TVD-RK time discretization conserves the mass. Since \(m^e\) always equals constant, we \(m_{j+\frac{1}{2}}^{*,-}=m_{j+\frac{1}{2}}^{*,+}\). This leads to the numerical flux of h is single-valued. Then we can say our claim holds true.
Since TVD-RK time discretizations are convex combinations of the Euler forward operators, it’s enough to use the fully-discrete ALE-DG scheme with the Euler forward discretization for the proofs in the following two subsections:
combined with
Proposition 4.4
The scheme described in (4.19) maintain the moving water equilibrium exactly, which means that
hold exactly.
The proof of Proposition 4.4 is shown in “Appendix B.2”.
Remark 4.5
We also want to apply the TVB limiter to the numerical solution after each time stage of TVD-RK methods. Different from the well-balanced scheme for still water equations, the TVB limiter may destroy the moving water equilibrium. We use the strategy in [35] on static mesh, which is the same for moving meshes. We divide the TVB limiter into two parts: First, we check if the TVB limiter is needed based on \({\varvec{u}}-{\varvec{u}}^e\); Second, we apply TVB limiter to the ’trouble’ cells found in the first step.
4.4 Positivity Property of the Well-Balanced Scheme for the Moving Water Equilibrium
We want to adopt the same positivity-preserving limiter in [40] to ensure the robustness of our proposed scheme. As shown in [35, 40], the positivity-preserving limiter is based on the weak positivity property of the cell average of water height h. In the following, we will show the weak positivity property of our proposed scheme coupled with Euler forward time discretization (4.19). We can obtain the equation for the cell average of h in the scheme (4.19) as follows
where \(\hat{{\varvec{g}}}^{l/r,[1]}\) denote the first component of \(\hat{{\varvec{g}}}^{l/r}\) and \(\lambda =\frac{\Delta t}{\Delta _j^n}\). Then we introduce the following weak positivity property with Lax-Friedrichs numerical flux (4.16) in (4.22) and its proof is shown in “Appendix B.3”.
Theorem 4.6
If \(\forall x\in {\mathbb {S}}_{K_j^n}\), \(h_j^n(x)>0\) holds, for \({\bar{h}}_j^{n+1}\) calculated from (4.22), we have
for the scheme (4.19) under CFL-type condition
with
where \(h_{j+\frac{1}{2}}^{*,\pm }\) is defined in (4.11).
Now, we can apply the positivity-preserving limiter introduced in Sect. 3.6.2 for both \({\varvec{u}}\) and \({\varvec{u}}^e\) at each TVD-RK stage to keep the water height positive as before. Note that this positivity-preserving limiter preserves the local conservation and does not destroy the high order accuracy.
Moreover, we note that our proposed scheme can keep the water height h positive and preserve the moving water equilibrium at the same time. When the desired equilibrium \({\varvec{u}}^d\) involve low water height or dry area, the limiter may change the numerical solution \({\varvec{u}}^n,{\varvec{u}}^{e,n}\), but we still have \({\varvec{u}}^n={\varvec{u}}^{e,n}\) and \({\varvec{u}}^{r,n}=0\) since we applied the same limiter to \({\varvec{u}}^n,{\varvec{u}}^{e,n}\). So we still can use Lemma 4.2 and Proposition 4.4 to get \({\varvec{u}}^{n+1}={\varvec{u}}^{e,n+1}\) since the assumption of \({\varvec{u}}^n={\varvec{u}}^{e,n}\) still holds true.
4.5 Algorithm
In summary, we will implement our scheme by following steps.
-
1.
Initialization at time \(t=0\) to get \({\varvec{u}}^0\) and \({\varvec{u}}^{e,0}=P{\varvec{u}}^d\).
-
2.
We apply the same TVD-RK methods (3.9)–(3.11) for both \({\varvec{u}}\) and \({\varvec{u}}^e\).
-
3.
For each time stage in TVD-RK methods, we apply the positivity-preserving limiter \(\Theta \) in Sect. 3.6.2 to both \({\varvec{u}}\) and \({\varvec{u}}^{e}\); We apply the TVB limiter in [35] to \({\varvec{u}}\).
-
4.
We compute \({\mathcal {L}}_j^m\) in (4.13) for \({\varvec{u}}\) and (4.8) for \({\varvec{u}}^e\) to finish the spatial discretization.
-
5.
Repeat the steps 2-4 to continue numerical simulations.
5 Numerical Examples
In this section we provide numerical results. We first give some basic settings. The gravitation constant g is taken as \(9.812m/s^2\). In the following numerical examples, to verify the well-balanced property and the positivity-preserving property of the ALE-DG schemes on moving mesh, the grid movement is prescribed explicitly and is not derived from the computed solution. We adopt the moving grid
where \(x_l\) and \(x_r\) are the endpoints of the computational domain in most 1D examples and
where \(t_{end}\) is the stop time and \(x_r,x_l,y_r,y_l\) are the vertexes of the rectangle domain in most 2D examples and \(P^2\) piecewise polynomials in most numerical examples, unless otherwise stated. The CFL number is set as 0.15 for 1D examples according to [35, 40] and 0.1 for 2D examples according to [43].
In Sects. 5.1–5.3, numerical examples are shown to demonstrate the properties of the numerical schemes for the still water equilibrium in 1D and 2D, the moving water equilibrium in 1D respectively. Examples 5.1, 5.6 and 5.10 are well-balanced tests. Examples 5.3, 5.8 and 5.11 are small perturbation tests. Examples 5.2, 5.7 and 5.9 are accuracy tests. Examples 5.4 and 5.12 are positivity-preserving tests.
5.1 Still Water Equilibrium in 1D
Example 5.1
Test for the well-balanced property
The purpose of this example is to verify that our schemes indeed maintain the well-balanced property on moving grid with smooth or discontinuous bottom. We choose two different functions for the bottom topography for \(0\leqslant x\leqslant 1\).
-
Smooth bottom
$$\begin{aligned} b(x)=5e^{-40(x-0.5)^2}. \end{aligned}$$(5.3) -
Discontinuous bottom
$$\begin{aligned} b(x)= {\left\{ \begin{array}{ll} 4,&{} \text {if } \ 0.4\leqslant x\leqslant 0.8,\\ 0,&{} \text {otherwise.} \end{array}\right. } \end{aligned}$$(5.4)
The initial data is
We set stop time \(t_{end}=0.5\) and use \(N=200\) uniform cells at the beginning. We show the \(L^1\) and \(L^\infty \) errors for two cases at different precision. We use the schemes hydrostatic reconstruction (3.12) and special source term (3.15). Table 1 shows the results of two schemes with the smooth bottom (5.3) and Table 2 shows the results of two schemes with the discontinuous bottom (5.4). We can see all results can reach the round-off error, which means the schemes are well-balanced.
Example 5.2
Accuracy test with moving boundary
In this example, we will show that our ALE-DG schemes can achieve high order accuracy for the problem with moving boundary. We choose the following bottom function and initial conditions
with periodic boundary conditions. Since the exact solution is not known explicitly, we use the fifth order finite volume WENO scheme with \(N=12800\) cells to compute a reference solution, and treat this reference solution as the exact solution in computing the numerical errors. We set stop time \(t_{end}=0.1\) and the solution is still smooth. A moving computational domain at each time step is used and the grid velocity is set as follows
The initial mesh is set as uniform mesh. So the mesh at every time step \(t^k\) can be defined as
which is consist with the definition of the grid velocity. The meshes with 25 cells for different time are shown in Fig. 1 for example, where the boundaries move with the speed \(\omega =1\). Since this moving boundary problem is periodic, the boundary movement is easy to be implemented in the current algorithm framework. The \(L^1\) errors are shown in Table 3 for both two schemes, hydrostatic reconstruction (3.12) and special source term (3.15). Figure 2 shows the numerical solutions with 200 cells compared with reference solution. We can see that our schemes can calculate the problem correctly in high-order accurate with moving boundaries.
Example 5.3
A small perturbation test
We will test the situation when a small perturbation added into the still water equilibrium. We first show that our ALE-DG methods can capture the perturbation correctly when involving moving meshes (5.1). Then we will adopt a specific adaptive mesh to show the efficiency of the ALE-DG methods. The initial conditions are
where \(\epsilon \) is the perturbation constant, with the bottom topography
In this example, we consider a quiet small perturbation \(\epsilon =0.001\) and set the stop time as \(t_{end}=0.2\). The transmissive boundary conditions are used in our numerical tests. For the exact solution, the perturbation will propagate to the left and right at the characteristic speeds \(\pm \sqrt{gh}\). The reference solutions computed by the hydrostatic reconstruction scheme with \(N=3000\) cells are plotted in Fig. 3, together with the initial surface level and bottom topography. In Fig. 4, we plot the numerical results by two ALE-DG schemes (3.12) and (3.15) on the coarse mesh with \(N=200\). It shows that both ALE-DG schemes can capture the small perturbation near the equilibrium on the relative coarse meshes.
Then we adopt a special moving grid to compare the ALE-DG method with the DG method on the uniform static grid. We use the hydrostatic reconstruction scheme (3.12) in this test. With \(N=200\) cells, the moving grid is defined as follows. The initial grid is
and the final grid at the stop time \(t_{end}=0.2\) is
Then we define straight lines connecting two meshes and have
and for \(0<t<0.2\)
The moving grid is plotted in Fig. 5. The numerical solutions are shown in Fig. 6. The reference solution is computed by the hydrostatic DG scheme (i.e. the grid velocity \(\omega \equiv 0\) in the ALE-DG scheme (3.12)) on the uniform grid with \(N=3000\) cells. We can see that the ALE-DG solution has better resolution than the DG solution. Additionally, we compute the CPU time in this test. For the solution on moving mesh with 200 cells, the CPU time is 45.28s, which is comparable to the CPU time 41.95s on static mesh with 200 cells. It is also found that with suitable moving mesh, the ALE-DG solution has less numerical dissipation than DG solutions on static mesh and the size of the small perturbation is almost the same as the reference solution.
Example 5.4
Parabolic bowl
This example is used to demonstrate the positivity-preserving ability of our methods. The parabolic bottom is given by
with \(h_0=10\) and \(a=3000\). The computational domain is set as \([-5000,5000]\). The analytical water surface level is given in [40]
where \(\kappa =\sqrt{2gh_0}/a\) and \(B=5\). The exact location of wet/dry front takes the form
We use the exact solution for the initial data and the boundary conditions. The CFL number is set as 0.15, which is little smaller than \({\hat{\omega }}_1=\frac{1}{6}\) and the stop time is set as \(t_{end}=6000\) with 200 cells. In practical computation, in order to avoid the influence of round-off error, we set the minimum of h equals \(10^{-11}\) in condition data. The sufficiently small number \(\epsilon \) in positivity-preserving limiter is set as \(10^{-11}\) too. The numerical solutions and the analytical solutions of the surface level are shown in Fig. 7. The minimum of the water height is shown in Table 4 and it certainly keeps the minimum of the water height. We can see that the numerical solution agree with the analytical solutions very well.
Example 5.5
The dam breaking problem over a rectangular bump
The purpose of this example is to show the capacity of the well-balanced schemes for the situations away from the steady states. The bottom function is
for \(x\in [0,1500]\). The initial conditions are:
We test two cases: \(t_{end}=15\) and \(t_{end}=60\) and set \(N=400\). The reference solution is computed by the hydrostatic reconstruction scheme (3.12) on the uniform grid with \(N=4000\) cells. We plot the figure of surface level \(\eta \) in Figs. 8 and 9 with two schemes (3.12) and (3.15) respectively. It shows that our well-balanced methods still perform well when the solution is far away from the steady states.
5.2 Still Water Equilibrium in 2D
Example 5.6
Test for the well-balanced property
This example is used to verify that our schemes indeed maintain the still water equilibrium for 2D shallow water equations. The two-dimensional bottom is given by
The initial data is \(h(x,y,0)=1-b(x,y)\) and \(hu(x,y,0)=0\), \(hv(x,y,0)=0\). A static uniform criss-triangular mesh with 800 triangles is used at the beginning. We set stop time \(t_{end}=0.1\) and use double and quadruple precision separately. Tables 5 and 6 contain the \(L^1\) errors for h and hu and hv. We can clearly see that the \(L^1\) errors are at the level of round-off errors for different precision.
Example 5.7
Accuracy test in 2D
In this example we will show that our schemes have high order accuracy for a smooth solution. The bottom function and the initial data are given by:
where \((x,y)\in [0,1]\times [0,1]\) with periodic boundary conditions. We set stop time \(t_{end}=0.05\) when the solution is still smooth. We use the same fifth order WENO scheme with an extremely refined mesh consisting of 1600\(\times \)1600 rectangle cells to compute a reference solution, according to [39]. Tables 7 and 8 contain the \(L^1\) errors and orders. We see that ALE-DG schemes can achieve the optimal convergence rate.
Additionally, we compare the CPU time of our scheme (3.12) on the moving mesh defined in (5.2) and the static mesh in this example. We use 3200 triangle cells and the efficiency is comparable: the CPU time is 181.60s on the moving mesh and 178.75s on the static mesh.
Example 5.8
A small perturbation test
In this example, we will test the ability of our schemes to capture the small perturbation of the still water equilibrium in 2D. This is a classical example to show the capability of the well-balanced scheme for the perturbation of the equilibrium state, which was used in [25].
The initial data and the bottom function are given by:
where \((x,y)\in [0,2]\times [0,1]\) and the bottom is an isolated elliptical shaped hump. We show the numerical solution of surface level \(h+b\) with \(2\times 160\times 80\) criss-triangle cells at different times. Note that the wave speed is slower above the hump than elsewhere, leading to a distortion of the initially planar disturbance. In addition, different from the one-dimensional perturbation tests, the left-going pulse has already cleanly left the domain at the first time shown, due to the outflow boundary conditions. We can see that ALE-DG schemes can capture the small perturbation correctly (Fig. 10).
5.3 Moving Water Equilibrium in 1D
Example 5.9
Test for the accuracy
In this example we will test the high order accuracy of our schemes for a smooth solution. We have the following bottom function and initial conditions
with periodic boundary conditions. The exact solution is not known explicitly and we use the fifth order finite volume WENO scheme with \(N=12800\) cells to compute a reference solution [35] in computing the numerical errors. We compute up to \(t_{end}=0.1\) when the solution is still smooth. Table 9 shows the \(L^1\) errors and numerical orders for \({\varvec{u}}\). It is found that ALE-DG scheme has the third order accuracy for piecewise \(P^2\) polynomial basis.
Example 5.10
Test for the well-balanced property
The purpose is to verify that our schemes maintain the well-balanced property. We choose three different moving water equilibrium which are classical cases and have been widely used. The bottom function is given by:
for a channel of length 25 meters. Three cases, subcritical or transcritical flow with or without a steady shock are in exactly equilibrium for the initial condition, which means E and m are constants:
-
(a)
Subcritical flow: The initial condition is \(E=22.06605\) and \(m=4.42\). The boundary condition is \(m=4.42\) at \(x=0\) and \(h=2\) at \(x=25\).
-
(b)
Transcritical flow without a shock: The initial condition is \(E=11.08071\) and \(m=1.53\). The boundary condition is \(m=1.53\) at \(x=0\) and \(h=0.66\) at \(x=25\) when the flow is subsonic.
-
(c)
Transcritical flow with a shock. The initial condition is \(E=4.15408\) when \(x<11.66550\) and \(E=3.38672\) when \(x>11.66550\) and \(m=0.18\). The boundary condition is \(m=0.18\) at \(x=0\) and \(h=0.33\) at \(x=25\).
Here we choose mesh to make sure that \(x=8,12\) and \(x=11.66550\) if there is a shock are located at the cell boundary. For the first two cases, we choose uniform mesh at the beginning and
For the third case, since the equilibrium states on both sides of the shock are not the same, we recover two different equilibrium states and set the one of mesh grids exactly on the shock \(x=11.66550\) and assume this mesh grid unchanged over time. So we choose uniform mesh and shift the point near the shock to \(x=11.66550\) at the beginning and
We compute their solutions until \(t_{end}=5\) using \(N=200\) points. we show the \(L^1\) and \(L^\infty \) errors for the water height h and the discharge hu in Table 10 with two different precision, where we can clearly see that the \(L^1\) and \(L^\infty \) errors are at the level of round-off errors.
Example 5.11
A small perturbation test
In this example, we continue to test the three cases in Example 5.10 to demonstrate that our scheme can capture the small perturbation of moving water equilibrium correctly. Our initial conditions are almost the same as Example 5.10 that we additionally impose a small perturbation of size 0.05 on the h in the interval [5.75, 6.25]. We use transmissive boundary conditions. We take \(N=200\) cells and use the same meshes in Example 5.10. The stopping time \(t_{end}=1.5\) for the first two cases, \(t_{end}=3\) for the third case. We show the numerical results in Figs. 11, 12 and 13 and can clearly see that the propagated small perturbation is captured correctly for the both three cases.
Example 5.12
Riemann problem over a flat bottom
In this example, we want to demonstrate that our ALE-DG well-balanced methods for moving water equilibrium have the positivity-preserving property. We consider Riemann problem containing dry area over a flat bottom, which means \(b(x)\equiv 0\). This example was used in [40]. The initial conditions are given by
We set the computational domain as [-300,300] with transmissive boundary conditions and 200 uniform cells. The analytical solutions can be found in [5]. In practical computation, in order to avoid the influence of round-off error, we set the minimum of h equals \(10^{-11}\) in condition data. The sufficiently small number \(\epsilon \) in positivity-preserving limiter is set as \(10^{-11}\) too. We plot the numerical solution of the water height h at time \(t=4,8,12\) compared with the analytical solutions in Fig. 14. We can see our scheme keeps the height positive and captures the exact solution well. The minimum of the water height is shown in Table 11 and it certainly keeps the minimum of the water height positive.
6 Conclusion
In this paper we developed the well-balanced ALE-DG methods for both still and moving water equilibria of the shallow water equations. For the ALE-DG methods, the well-balanced property is based on the GCL and corresponding modification of time discretization, besides the techniques of DG methods on static grids. For the still water equilibrium, the well-balanced ALE-DG method can be extended to the two-dimensional case. And the well-balanced scheme for the moving water equilibrium is only for the one-dimensional case, since there is no general form of moving water equilibrium in two dimensions. Numerical examples have been given to show the well-balanced property, positivity-preserving property and high order accuracy. In this work, we mainly focus on the scheme design on the moving mesh. The grid movement in all the numerical examples is prescribed and is not derived from the computed solution. The performance of these schemes in applications is also dependent on the mesh optimization for the specific problem and its bottom topography due to the “time-dependent" approximation of the bottom. The methodology of mesh adaptation will be considered in our future work on applications. These techniques in moving water equilibrium part can also be extended to many other balance laws, such as Euler equations etc.
References
Arpaia, L., Ricchiuto, M.: R-adaptation for Shallow Water flows: conservation, well balancedness, efficiency. Comput. Fluids 160, 175–203 (2018)
Arpaia, L., Ricchiuto, M.: Well balanced residual distribution for the ALE spherical shallow water equations on moving adaptive meshes. J. Comput. Phys. 405, 109173 (2020)
Audusse, E., Bouchut, F., Bristeau, M.-O., Klein, R., Perthame, B.: A fast and stable well-balanced scheme with hydrostatic reconstruction for shallow water flows. SIAM J. Sci. Comput. 25, 2050–2065 (2004)
Berthon, C., Marche, F.: A positive preserving high order VFRoe scheme for shallow water equations: a class of relaxation schemes. SIAM J. Sci. Comput. 30, 2587–2612 (2008)
Bokhove, O.: Flooding and drying in discontinuous Galerkin finite-element discretizations of shallow-water equations. Part: 1 one dimension. J. Sci. Comput. 22.1–3, 47–82 (2005)
Bollermann, A., Noelle, S., Lukáčová-Medvid’ová, M.: Finite volume evolution Galerkin methods for the shallow water equations with dry beds. Commun. Comput. Phys. 10(2), 371–404 (2011)
Bollermann, A., Chen, G., Kurganov, A.: A well-balanced reconstruction of wet/dry fronts for the shallow water equations. J. Sci. Comput. 56(2), 267–290 (2013)
Bouchut, F., Morales, T.: A subsonic-well-balanced reconstruction scheme for shallow water flows. SIAM J. Numer. Anal. 48, 1733–1758 (2010)
Brufau, P., Vázquez-Cendón, M.E., García-Navarro, P.: A numerical model for the flooding and drying of irregular domains. Int. J. Numer. Methods Fluids 39, 247–275 (2002)
Castro, M.J., Pardo Milanés, A., Parés, C.: Well-balanced numerical schemes based on a generalized hydrostatic reconstruction technique. Math. Models Methods Appl. Sci. 17(12), 2055–2113 (2007)
Chen, G., Noelle, S.: A new hydrostatic reconstruction scheme based on subcell reconstructions. SIAM J. Numer. Anal. 55(2), 758–784 (2017)
Cockburn, B., Hou, S., Shu, C.-W.: The Runge-Kutta local projection discontinuous Galerkin finite element method for conservation laws IV: the multidimensional case. Math. Comput. 54, 545–581 (1990)
Cockburn, B., Lin, S.-Y., Shu, C.-W.: TVB Runge-Kutta local projection discontinuous Galerkin finite element method for conservation laws III: one-dimensional systems. J. Comput. Phys. 84, 90–113 (1989)
Cockburn, B., Shu, C.-W.: TVB Runge-Kutta local projection discontinuous Galerkin finite element method for conservation laws II: general framework. Math. Comput. 52, 411–435 (1989)
Cockburn, B., Shu, C.-W.: The Runge-Kutta local projection P1-discontinuous Galerkin finite element method for scalar conservation laws. ESAIM Math. Modell. Numer. Anal. 25, 337–361 (1991)
Cockburn, B., Shu, C.-W.: The Runge-Kutta discontinuous Galerkin method for conservation laws V: multidimensional systems. J. Comput. Phys. 141, 199–224 (1998)
Duran, A., Marche, F.: Recent advances on the discontinuous Galerkin method for shallow water equations with topography source terms. Compute. Fluids 101, 88–104 (2014)
Ern, A., Piperno, S., Djadel, K.: A well-balanced Runge-Kutta discontinuous Galerkin method for the shallow-water equations with flooding and drying. Int. J. Numer. Methods Fluids 58, 1–25 (2008)
Fu, P., Schnücke, G., Xia, Y.: Arbitrary Lagrangian-Eulerian discontinuous Galerkin method for conservation laws on moving simplex meshes. Math. Comput. 88, 2221–2255 (2019)
Gottlieb, S., Shu, C.-W., Tadmor, E.: Strong stability-preserving high-order time discretization methods. SIAM Rev. 43, 89–112 (2001)
Jin, S., Wen, X.: Two interface type numerical methods for computing hyperbolic systems with geometrical source terms having concentrations. SIAM J. Sci. Comput. 26, 2079–2101 (2005)
Kesserwani, G., Liang, Q.: Well-balanced RKDG2 solutions to the shallow water equations over irregular domains with wetting and drying. Comput. Fluids 39, 2040–2050 (2010)
Klingenberg, C., Schnücke, G., Xia, Y.: Arbitrary Lagrangian-Eulerian discontinuous Galerkin method for conservation laws: analysis and application in one dimension. Math. Comput. 86, 1203–1232 (2017)
Klingenberg, C., Puppo, G., Semplice, M.: Arbitrary order finite volume well-balanced schemes for the Euler equations with gravity. SIAM J. Sci. Comput. 41(2), A695–A721 (2019)
LeVeque, R.J.: Balancing source terms and flux gradients on high-resolution Godunov methods: the quasi-steady wave-propagation algorithm. J. Comput. Phys 146, 346–365 (1998)
Nielsen, C., Apelt, C.: Parameters affecting the performance of wetting and drying in a two-dimensional finite element long wave hydrodynamic model. J. Hydraul. Eng. 129, 628–636 (2003)
Noelle, S., Xing, Y., Shu, C.-W.: High-order well-balanced finite volume WENO schemes for shallow water equation with moving water. J. Comput. Phys. 226, 29–58 (2007)
Rhebergen, S., Bokhove, O., Van der Vegt, J.J.W.: Discontinuous Galerkin finite element methods for hyperbolic nonconservative partial differential equations. J. Comput. Phys. 227, 1887–1922 (2008)
Rhebergen, S.: Well-balanced R-adaptive and moving mesh space-time discontinuous Galerkin method for the shallow water equations. Oxford Univ. Math. Inst. Tech. Rep. 1757 (2013)
Russo, G.: A well-balanced flux-vector splitting scheme designed for hyperbolic systems of conservation laws with source terms. Comput. Math. Appl. 39, 135–159 (2000)
Russo, G.: Central schemes for conservation laws with application to shallow water equations, pp. 225–246. Milano, Trends and Applications of Mathematics to Mechanics. Springer (2005)
Shu, C.-W., Osher, S.: Efficient implementation of essentially non-oscillatory shock-capturing schemes. J. Comput. Phys. 77, 439–471 (1988)
Shu, C.-W.: High order WENO and DG methods for time-dependent convection-dominated PDEs: a brief survey of several recent developments. J. Comput. Phys. 316, 598–613 (2016)
Vázquez-Cendón, M.E.: Improved treatment of source terms in upwind schemes for the shallow water equations in channels with irregular geometry. J. Comput. Phys. 148, 497–526 (1999)
Xing, Y.: Exactly well-balanced discontinuous Galerkin methods for the shallow water equations with moving water equilibrium. J. Comput. Phys. 257, 536–553 (2014)
Xing, Y., Shu, C.-W.: High order finite difference WENO schemes with the exact conservation property for the shallow water equations. J. Comput. Phys. 208, 206–227 (2005)
Xing, Y., Shu, C.-W.: High order well-balanced finite volume WENO schemes and discontinuous Galerkin methods for a class of hyperbolic systems with source terms. J. Comput. Phys. 214, 567–598 (2006)
Xing, Y., Shu, C.-W.: High-order well-balanced finite difference WENO schemes for a class of hyperbolic systems with source terms. J. Sci. Comput. 27, 477–494 (2006)
Xing, Y., Shu, C.-W.: A new approach of high order well-balanced finite volume WENO schemes and discontinuous Galerkin methods for a class of hyperbolic systems with source terms. Commun. Comput. Phys. 214, 567–598 (2006)
Xing, Y., Zhang, X., Shu, C.-W.: Positivity-preserving high order well-balanced discontinuous Galerkin methods for the shallow water equations. Adv. Water Resour. 33, 1476–1493 (2010)
Xing, Y., Shu, C.-W., Noelle, S.: On the advantage of well-balanced schemes for moving-water equilibria of the shallow water equations. J. Sci. Comput. 48, 339–349 (2011)
Zhang, M., Huang, W., Qiu, J.: A high-order well-balanced positivity-preserving moving mesh DG method for the shallow water equations with non-flat bottom topography. J. Sci. Comput. 87(3), 1–43 (2021)
Zhang, X., Xia, Y., Shu, C.-W.: Maximum-principle-satisfying and positivity-preserving high order discontinuous Galerkin schemes for conservation laws on triangular meshes. J. Sci. Comput. 50, 29–62 (2012)
Zhou, F., Chen, G., Noelle, S., Guo, H.: A well-balanced stable generalized Riemann problem scheme for shallow water equations using adaptive moving unstructured triangular meshes. Int. J. Numer. Methods Fluids 73(3), 266–283 (2013)
Zhou, F., Chen, G., Huang, Y., Yang, J.Z., Feng, H.: An adaptive moving finite volume scheme for modeling flood inundation over dry and complex topography. Water Resour. Res. 49(4), 1914–1928 (2013)
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
W. Zhang: Research supported by National Numerical Windtunnel Project NNW2019ZT4-B08; Y. Xia: Research supported by Science Challenge Project TZZT2019-A2.3, NSFC Grant No. 11871449; Y. Xu: Research supported by National Numerical Windtunnel Project NNW2019ZT4-B08, NSFC Grant No. 12071455, 11722112.
Appendices
Proofs for the Still Water Equilibrium Schemes
In order to show the main idea of the proof, we only show the proofs of the properties in Sect. 3 in one dimensional case. The two-dimensional proofs are similar and we omit the detail for simplicity. In one dimensional case, the flux term is defined by
1.1 Proof of Lemma 3.1 for Scheme (3.12)
We first simplify the numerical flux \(\hat{{\varvec{G}}}^{l,r}\). We denote the two components of the numerical flux \(\hat{{\varvec{G}}}\) by \(\hat{{\varvec{G}}}^{[1]}\) and \(\hat{{\varvec{G}}}^{[2]}\).
We write the specific form of \(\hat{{\varvec{G}}}^{[1],l}\) as follows
Similarly we have
Here without causing conflict, we have omitted the subscript \(j+\frac{1}{2}\) and we note that we don’t use the assumption of still water equilibrium.
Next, since \({\varvec{v}}\) equals the still water equilibrium, i.e. \(h(x)+b(x)=\text{ constant }\) and \(hu(x)=0\). We have \(\eta _{j+\frac{1}{2}}^+=\eta _{j+\frac{1}{2}}^-\) and \((hu)_{j+\frac{1}{2}}^\pm =0\). For the numerical flux of the first equation, we use (A.3) to get
For the numerical flux of the second equation, we have
Here we use the fact that \(hu_{j+\frac{1}{2}}^-=hu_{j+\frac{1}{2}}^+=0\). Similarly, we have
So we combine the results (A.2)–(A.6) and have
Thus we have
where we use the integration by parts to cancel the boundary interface terms. This finishes the proof.
1.2 Proof of Lemma 3.1 for Scheme (3.15)
Since \({\varvec{v}}\) equals the still water equilibrium, i.e. \({\varvec{v}}\) is constant vector, we have
Because \(\widehat{{\varvec{G}}}\) is a monotone flux, then we have
Similarly we have
Then we can compute that
The second equality is due to \(hu=0\) and \(\eta =\text{ constant }\). The sixth equality uses the fact \(\eta =\text{ constant }\).
1.3 Proof of Proposition 3.2
It is sufficient and necessary to prove that if \({\varvec{v}}\) are the still water equilibrium at time \(t=0\), i.e.
then the numerical solution at any time \(t^n\) has to be
Now we will use induction to prove the proposition.
Basic Step: Suppose that the initial data \({\varvec{v}}^0\) are the still water equilibrium, i.e. \(\eta ^0(x)=\text{ constant }\) and \((hu)^0(x)=0\). So \({\varvec{v}}^0\) is true.
Inductive Step: Now we assume the truth of \({\varvec{v}}^k\), for some \(k\in {\mathbb {N}}\) —that is, we assume that
is a true state. From this assumption we want to deduce that
In each time step, we use the Euler forward scheme (3.20). For both two schemes, we can use Lemma 3.1 to simplify the equation in (3.20) and get
where the second equality holds since \({\varvec{v}}^k\) is a constant vector and the third equality is due to the dGCL in [23].
So we prove that \({\varvec{v}}^{k+1}={\varvec{v}}^k\), which is also the still water equilibrium, i.e.
This claim means that the numerical solution \({\varvec{v}}^n\) for \(n\in {\mathbb {N}}\) is in the case of still water equilibrium, thus the fully discrete schemes are well-balanced.
1.4 Proof of Theorem 3.4
According to the results in (A.2) and (A.3), we simplify the numerical flux in (3.12) to get that the numerical scheme for the first equation in (3.12) and (3.15) are the same. Then according to the first equation of (3.12) or (3.15), we write the equation satisfied by the cell average of surface level \(\eta \):
where \(\hat{{\varvec{G}}}^{[1]}\) denote the first component of \(\hat{{\varvec{G}}}\):
and \(\lambda =\frac{\Delta t}{\Delta _j^n}\). Moreover, we write out the equation satisfied by the cell average of bottom topography b:
We denote \(\eta _j-b_j\) by \(h_j\). We firstly decompose \({\bar{h}}_j^{n+1}\) in (A.14) into two parts:
with
We note that \(W_1=0\). This is because the definition of b in (A.16). So we only need to prove \(W_2>0\).
Since we use the Lax-Friedrichs flux in this paper, we first simplify \(\hat{{\varvec{G}}}_{j+\frac{1}{2}}^{[1]}+\widehat{\omega b}_{j+\frac{1}{2}}\) by combining (A.15) and (3.22):
The first equality is due to \(\hat{{\varvec{G}}}_{j+\frac{1}{2}}^{[1]}\) and \(\widehat{\omega b}_{j+\frac{1}{2}}\) use the same \(\alpha \). The inequality is due to the definition of \(\alpha \):
Similarly we have
So we use the Gauss quadrature rule and above inequalities to get
Notice that \({\hat{\omega }}_1={\hat{\omega }}_L\) and \(\lambda <\frac{1}{{\hat{\alpha }}_0}=\frac{{\hat{\omega }}_1}{\alpha }\). Combined with the assumption \(h(x)>0\), for \(x\in {\mathbb {S}}_{K_j^n}\), we proved that \(W_2>0\).
Proofs for the Moving Water Equilibrium Scheme
1.1 Proof of Lemma 4.2
We first prove that \(\hat{{\varvec{g}}}(\omega _{j+\frac{1}{2}},{\varvec{u}}_{j+\frac{1}{2}}^{*,-},{\varvec{u}}_{j+\frac{1}{2}}^{*,+})={\varvec{g}}(\omega _{j+\frac{1}{2}},{\varvec{u}}_{j+\frac{1}{2}}^{d,-})={\varvec{g}}(\omega _{j+\frac{1}{2}},{\varvec{u}}_{j+\frac{1}{2}}^{d,-})\). Under such assumption, we have
With stationary shocks of \({\varvec{u}}^d\) and the assumption \(\omega _{j+\frac{1}{2}}=0\) at the shock, we can calculate that
The first equality is due to (B.1). The second and the third equality is due to \(\omega _{j+\frac{1}{2}}=0\), the property of Roe’s flux that it can exactly solve the Riemann problem [35], and the shock at point \(x_{j+\frac{1}{2}}\) is a stationary shock.
With the continuity of \({\varvec{u}}^d\), we have \({\varvec{u}}_{j+\frac{1}{2}}^{*,\pm }={\varvec{u}}_{j+\frac{1}{2}}^{d,\pm }\) and we have the same conclusion with (B.2) according to the property of the Lax-Friedrichs flux. This means that for all the numerical fluxes,
Now, we have
This is because of the assumption \({\varvec{u}}={\varvec{u}}^e\) and we finish the proof.
1.2 Proof of Proposition 4.4
Similar to previous proof in Proposition 3.2, we will use induction to prove the proposition.
Basic Step: Suppose that \({\varvec{u}}^d\) is the initial condition. Then we have \({\varvec{u}}^0=P{\varvec{u}}^d\) and \({\varvec{u}}^{e,0}=P{\varvec{u}}^d\), which will lead to \({\varvec{u}}^0={\varvec{u}}^{e,0}\). So \({\varvec{u}}^0\) is true.
Inductive Step: Now we assume the truth of \({\varvec{u}}^k\), for some \(k\in {\mathbb {N}}\) —that is, we assume that \({\varvec{u}}^k={\varvec{u}}^{e,k}\) is a true state. From this assumption we want to deduce that \({\varvec{u}}^{k+1}={\varvec{u}}^{e,k+1}\).
Since \({\varvec{u}}^k={\varvec{u}}^{e,k}\), we have \({\varvec{u}}^{r,k}=0\). Use Lemma 4.2, we have
By comparing (4.19) and (4.20), we have
This means \({\varvec{u}}^{k+1}={\varvec{u}}^{e,k+1}\). This finishes the proof that for \(n\in {\mathbb {N}}\) the numerical solution \({\varvec{u}}^n\) is in the case of moving water equilibrium, which means our scheme do preserve the moving water equilibrium.
1.3 Proof of Theorem 4.6
Since we use the Lax-Friedrichs numerical flux, we can write the specific form of \(\hat{{\varvec{g}}}_{j+\frac{1}{2}}^{l,[1]}\):
The first equality is due to \(m^d=m^e\) is constant, which is same as the proof of mass conservation and the inequality is due the definition of \(\alpha \) in (4.17). Similar we simplify \(\hat{{\varvec{g}}}_{j-\frac{1}{2}}^{r,[1]}\) to get
Now we combine (B.5), (B.6) and Gauss-Lobatto quadrature rule, which introduced in (3.6) to simplify (4.22):
This is because the assumption of the theorem that \(h_j^n({\hat{x}}_j^{(\nu )})>0\) and (4.25):
and the assumption of Gauss-Lobatto quadrature rule: \({\hat{x}}_1^{(\nu )}\) and \({\hat{x}}_L^{(\nu )}\) are the cell boundaries of \(K_j^n\) and \({\hat{\omega }}_1={\hat{\omega }}_L\). Now we have proved \({\bar{h}}_j^{n+1}>0\) and finish the proof.
Rights and permissions
About this article
Cite this article
Zhang, W., Xia, Y. & Xu, Y. Positivity-Preserving Well-Balanced Arbitrary Lagrangian–Eulerian Discontinuous Galerkin Methods for the Shallow Water Equations. J Sci Comput 88, 57 (2021). https://doi.org/10.1007/s10915-021-01578-w
Received:
Revised:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10915-021-01578-w