Research Article  Open Access
The Simple Finite Volume LaxWendroff Weighted Essentially Nonoscillatory Schemes for Shallow Water Equations with Bottom Topography
Abstract
A LaxWendrofftype procedure with the high order finite volume simple weighted essentially nonoscillatory (SWENO) scheme is proposed to simulate the onedimensional (1D) and twodimensional (2D) shallow water equations with topography influence in source terms. The system of shallow water equations is discretized using the simple WENO scheme in space and LaxWendroff scheme in time. The idea of LaxWendroff time discretization can avoid part of characteristic decomposition and calculation of nonlinear weights. The type of simple WENO was first developed by Zhu and Qiu in 2016, which is more simple than classical WENO fashion. In order to maintain good, high resolution and nonoscillation for both continuous and discontinuous flow and suit problems with discontinuous bottom topography, we use the same idea of SWENO reconstruction for flux to treat the source term in prebalanced shallow water equations. A range of numerical examples are performed; as a result, comparing with classical WENO reconstruction and RungeKutta time discretization, the simple LaxWendroff WENO schemes can obtain the same accuracy order and escape nonphysical oscillation adjacent strong shock, while bringing less absolute truncation error and costing less CPU time for most problems. These conclusions agree with that of finite difference LaxWendroff WENO scheme for shallow water equations, while finite volume method has more flexible mesh structure compared to finite difference method.
1. Introduction
In this paper, the simple finite volume WENO (weighted essentially nonoscillatory) scheme with LaxWendrofftype time discretization is proposed to numerically solve the system of shallow water equations with bottom topography influence in source terms.
It has been an important work to search for the solutions of nonlinear differential equations due to their rich mathematical structures and features [1–4] as well as important applications in fluid dynamics and plasma physics [5–9]. The solutions of differential equations can be simply divided into two kinds, exact solutions and numerical solutions. For the exact solutions, a great number of methods have been introduced, like Painlevé test, Darboux Transformation, bilinear method, symmetry method [10], and so on [11–19], while for the forced nonlinear differential equations, such as shallow water equations with topography influence in source terms, it is very difficult to get the exact solutions and we have to derive the numerical solutions and analyze the topography forced effect.
WENO is a procedure of spatial discretization for partial differential equation (PDE); in other words, it is a numerical method to discretize the derivative terms in space. The WENO scheme is an important high order accuracy numerical method, especially to simulate strong shocks and contact discontinuous and complicated smooth solutions, as they can keep high order and nonoscillatory characteristic for both continuous and discontinuous solutions. WENO scheme is popularly used in many communities [20–23] in recent years; it has attracted much attention in CFD (computational fluid dynamics); especially for shallow water flows, finite volume WENO scheme made important contributions as more flexibility of mesh shape. Xing and Shu [24] introduced a finite volume WENO wave propagation scheme on rectangular mesh. Lu et al. [25] investigate the performance of finite volume WENO scheme for the system of shallow water equations on unstructured triangle meshes; simulation of a tidal bore on Qiantang river is performed.
In recent years, WENO scheme has been generalized for hyperbolic conservation laws [22, 26, 27] after the first WENO scheme was originally derived in [28] for the thirdorder finite volume frame based on ENO type schemes [29, 30], such as CWENO and hybrid WENO [31] arising from various applications. In 2016, a successful type of WENO [32] was proposed to approximate hyperbolic conservation laws. The new WENO reconstruction is a convex combination of two linear polynomials with a fourthdegree polynomial using the same fivepoint big stencil as in the classic WENO fashion; the linear weights are constants, which are positive, and their summation equals one so they are more simple and easily extended to multidimensions in engineering applications. We call the new type of WENO as simple WENO (SWENO).
For timedependent problems, there are mainly two different ways to approximate derivative with respect to time [33–35]. One common approach is well known ODE solver, such as Euler’ method, RungeKutta method, Adams’ multilevel method, and Radau scheme. These approaches have been popularly used for the advantages of good stability and simplicity in idea and codes. The disadvantage is that the highest accuracy order for total variation diminishing (TVD) RungeKutta method is fourth order. Another way is via the LaxWendrofftype procedure; the idea is converting all the time derivatives into spatial derivatives using PDE and Taylor expansion with respect to time, then discretizing the spatial derivatives using numerical methods. The advantages are smaller stencil and frequent use of the original PDE. The disadvantages are complicated in formulation and coding. Both approaches can produce any order accuracy in time theoretically. The finite volume LaxWendroff time discretization formula is a little simpler than that of the finite difference frame. Qiu and Shu [34] derived a scheme consisting of LaxWendrofftype time discretization and the finite difference WENO scheme in compressible gas dynamics; the scheme has important contributions to reducing CPU cost and maintaining the nonoscillatory characteristic. Lu and Qiu [36] also developed LaxWendroff with finite difference WENO scheme for shallow water equations; similar results were obtained.
In this paper, we developed the fifthorder SWENO finite volume scheme with the thirdorder LaxWendrofftype time discretization to simulate shallow water flows. In the scheme we follow the ideas in [32, 37] about simple finite volume WENO scheme and the algebraic prebalance method for the flux and the source terms [36, 38] in shallow water equations. An outline of the paper is as follows: in Section 2 we describe details of the discretization with finite volume SWENO scheme and LaxWendrofftype time discretization for shallow water equations. In Section 3, a range of 1D and 2D numerical results show that the scheme has accuracy, resolution, efficiency, and robustness. Finally, Section 4 contains conclusions.
2. Description of Numerical Model
2.1. The Shallow Water Equations
The 2D system of shallow water equations with conservative form iswith conservational vector fluxesand source termswhere is the total water depth; and are the depthaveraged water velocities in the  and directions, respectively; is the time; is the gravity constant; is the topography function above; and are derivatives with respect to and ; they are used to describe the bed slopes stresses. Friction on the bottom, wind stress, and Coriolis term could also be considered as parts of source terms.
We rewrite (1) in quasilinear form aswhere The eigenvalues of Jacobian matrixes and areThe normalized right and left eigenvectors of Jacobian matrixes and are as follows:We can easily check that , , which is an important characteristic for hyperbolic conservation law. Neglecting variables in direction, we have the 1D conservative unsteady shallow water equations: Similar way is that we can get Jacobian matrix and other information for 1D case.
2.2. The FifthOrder Finite Volume SWENO Schemes
The fifthorder finite volume SWENO scheme will be used to numerically solve the spatial derivatives of shallow water equations [32, 37]. In this section, the basic procedure of SWENO will be described as short overview for the following 1D scalar hyperbolic conservation law:
Denote as the th cell, a control volume for finite volume method, centered on ; we assume that the grid points are uniform with . For a finite volume scheme, we evolve the proximate average value of at mesh cell in time. Using integral average, the conservation law (10) is rewritten into is approximated by numerical flux . The popular LaxFriedrich flux is used for its simpleness and monotone, which is given by where ; are approximations to of left side and right side at considering the discontinuous solution. We call this process reconstruction; here the reconstructions of interface values depend on the cell averages by the fifthorder SWENO reconstruction procedure.
Only will be introduced in detail as follows. For the fifthorder SWENO scheme, three approximated point values of should be constructed. Choose the first big stencil ; a fourthdegree polynomial can be obtained by requiring the same mean value on the five cells. The first approximated point value for isChoose the second stencil ; another linear polynomial can be obtained with the same idea. The second approximation isChoose the third stencil ; a linear polynomial can be obtained and the third approximation is
Convex combination coefficients are the nonlinear weights. Before that we have to compute the smoothness indicators of the three above polynomials first. For the fifthorder SWENO reconstructions, the convex combination of all these threepoint values is The nonlinear weights are defined by and here is meaningless, just to avoid the denominator to be zero, so is a positive constant and typically , are the linear weights, and “smoothness indicators” are used to measure the smoothness of the three polynomials in cell . The smaller the value of smooth indicator is, the smoother the polynomial is. We use the same smooth indicator formula for degree polynomial in [39]The explicit expression of the three smoothness indicators is given byFor the fifthorder SWENO scheme on uniform mesh, the important idea is that the linear weights are your chosen positive constants; the only condition is that the summation is one. So the procedure of linear weights in classical WENO is avoided, and the negative weights are prevented. In this paper, we use the positive linear weights as
On uniform mesh, the reconstruction of is mirror symmetry on big stencil to that of . For shallow water equations, the reconstruction is operated in local eigenspace for more robust, so the local characteristic decomposition should be used, in which properties of eigenspace and Roe’s averages are needed.
For 2D finite volume case, we cannot simply proceed in a dimensionbydimension fashion as in finite difference method. The spatial surface integration on rectangular cell can be converted to line integration by Gauss theorem. In order to get the fifth order, we can use threepoint Gaussian quadrature for line integration of every rectangular cell like in Figure 1. For example, to calculate numerical flux in direction, three Gaussian point values on every vertical line should be reconstructed from cell average values in direction first, then left and right Gaussian point values should be reconstructed by the SWENO scheme, then the numerical fluxes are calculated, and last the cell average value can be approximated on next time level.
2.3. Prebalance of the Flux and Bottom Topography
We adopt the prebalance of the flux gradients and bottom topography in source term by Rogers et al. [38] using algebraic technique. Taking 1D shallow water equations (9), for example, the prebalanced formulation iswith The main algebraic technique is to separate intowith in which is free surface elevation, the height of water from the still level to free surface elevation; is still water height, the height of water from bottom to still water level; is the total water depth; see Figure 2 [36].
It is easy to verify that modified system (21) and system (9) have the same Jacobian matrix. Then use the finite volume SWENO discretization for (21).
The specific value of the still water level depends on examples; we will describe the chosen datum below. It is perfectly reasonable to choose a fixed horizontal datum elsewhere and derive the prebalanced equations using a stagedischarge approach. Mostly, we choose the still water level between the maximum of bottom function and the minimum of free surface.
2.4. The LaxWendroffType Discretization for 1D Shallow Water Equations
We focus on the procedure of LaxWendrofftype time discretization scheme for 1D prebalanced shallow water equation (21) [33, 34]; for simplicity we still describe (21) asIn this process, SWENO finite volume method will be used. Denote time level as , is time step, and is the approximate average value of on at the th time level. The important idea in LaxWendrofftype time discretization procedure is to replace time derivatives by the spatial derivatives using Taylor expansion and PDE (25) [34]. By a temporal Taylor expansion with respect to time for conservative vector we obtainand the sliding average iswhere means mean value of time derivative in direction, which will be given in detail as follows. In this paper we would like to obtain the thirdorder accuracy in time, so we need to approximate those terms on the right hand side in (27) until the third time derivatives and neglect other terms behind the third time derivatives. Theoretically, we can obtain any accuracy order in time and just need to approximate those terms until the according time derivatives.
Subject to shallow water equation (25), by LaxWendroff type dime discretization, the time derivatives in (26) are turned to the spatial derivatives as follows: The abbreviated form is used like , which means ; the details will be described later. By the way, the above vector source term is easy to be generalized to any dimensions; indeed, as the source term , we only need to handle time derivative as scalar case in practice. For simplicity, we just keep time derivative of source term temporally as follows.
So (26) can be written asThen the sliding average (27) with third order in time will be approximated bywith is approximated by numerical flux , such as . With this form, the finite volume scheme has more flexibility in terms of mesh structure than that of finite difference method [36].
Using the fifthorder SWENO described in Section 2.2, we reconstruct point values at interface ; meantime, we calculate point values of and . We have to point out that only one order lower accuracy approximation for is needed compared with that of , as the extra factor multiplied by the second term in flux in (31). In the same way, we need the third accuracy order of approximation for , which is in the third term in (31). Indeed, for linear polynomial , the first derivative is constant, the second derivative is zero, the nonlinear weights do not need to calculate for reconstruction of , and only the same linear weight is used, which makes the process easier. For example,For the fourthdegree polynomial , the computation is a little more complicated.
In reconstruction of , we also need Jacobian matrixand, for simplicity, let , where , are the two matrixes; is a vector.
In order to fit the scheme to problems with discontinuous or big slop in bottom topography, the bottom topography effect is included in numerical flux. In other words, we use SWENO reconstruction for bottom function and then use Gaussian quadrature for the source terms , in which is known. This method can be generalized to varying bottom topography with time. In and , and have been calculated as part in flux .
For simplicity, we use SWENO5LW3 to denote the scheme with the fifthorder finite volume SWENO scheme in space and the thirdorder LaxWendrofftype method in time and WENO5RK3 to denote classical WENO scheme and the thirdorder RungeKutta methods for comparison.
2.5. The LaxWendroffType Discretization for 2D Shallow Water Equations
In 2D case, we need more information; this section aims to display the frame and idea. For 2D shallow water equationthe sliding average of Taylor expansion isUsing shallow water system (34), by LaxWendroff type dime discretization, the time derivatives in (35) are turned to the spatial derivatives as follows. For simplicity we keep time derivative of source term temporally.Plugging this to the Taylor expansion (35), then the sliding average with the third order in time on a rectangular cell will be approximated bywith and are approximated by numerical fluxes and , for example, . In the fifthorder finite volume SWENO scheme, on rectangle control volume ,Threepoint Gaussian quadrature formula is used for the above line integration. The numerical flux vectors and at Gaussian points , are obtained by the regular fifthorder SWENO finite volume reconstruction and the LaxFriedrich numerical flux as described in Section 2.2, where are the three Gaussian points. Meantime, reconstruction of , and , in the second and third term (38) for Gaussian points on cell interface will be calculated in this procession of SWENO reconstruction. That is, in this procession, we calculate , , in subroutine of SWENO reconstruction.
In the reconstruction, the following Jacobin matrixes are needed, , , which have been mentioned above.withFor source term, we can separate it into two parts; then the derivatives can be dealt with as scalar case as in 1D. Nine points of Gaussian surface integral are used for cell average source term.
3. Numerical Results
In this section, we present numerical results obtained by SWENO5LW3 scheme and WENO5RK3 scheme for a number of 1D and 2D examples for shallow water equations. We shall demonstrate the fifthorder convergence of the scheme in space and compare the numerical results by SWENO5LW3 and WENO5RK3, addressing CPU time and absolute truncation errors in and norm. The parameter gravitation constant . CFL condition number is 0.4 for SWENO5LW3 and 0.6 for WENORK3. Uniform meshes are used.
Example 1 (test for property). In this test case [40, 41], the bottom function is The initial conditions are We choose the still water level at 10, which means still water height , and initial . The ending time is taken as , and continuous boundary condition is used. The surface should remain flat anytime.
In Figure 3, we give the and numerical truncation errors as a function of cost CPU time for water height when cell numbers are 200, 400, 800, and 1500, and log scales are used; we can see that the two lines are crossed; we cannot say which method is absolutely better than the other one, but the accuracy is good and reaches around with double precision support for each scheme, which means both methods can keep property very well. These conclusions are fit to numerical solutions of discharge .
(a)
(b)
Example 2 (test for the accuracy order). In scheme of the fifth order in space and the third order in time, in order to check accuracy order in space, the modified time step should be used to replace regular adaptive time step . Of course, the smooth solution of the test is required.
We use the same test with smooth solution over a sinusoidal hump as Jiang and Shu [41] to check the order accuracy of the 1D scheme. In domain , the bottom function is and the initial data are given by The still water level is taken at 5; in other words, still water height ; is then set uniquely. We compute until time ; when the solution is still smooth, no shocks appear; periodic boundary conditions are adopted. Since the exact solution is unknown, numerical solution on 25600 cells is taken as reference.
In Table 2, the errors and convergence orders by SWENO5LW3 of water depth and the discharge are listed when mesh is refined. errors and orders by WENO5RK3 are also displayed in Table 2 for comparison. It can be seen that both schemes lead to the same fifth order of convergence, and SWENO5LW3 produces more accuracy solutions than WENO5RK3, the errors being an order of magnitude smaller. In Table 1, the numerical errors and orders are shown, which have similar characteristics to measurement.
In Figures 4 and 5, we give the and errors against cost CPU time for water height and discharge when cell numbers are . Log scale for both numerical errors and CPU time is used. In the two figures, the line of SWENO5LW3 is always at the bottom relative to the line of WENO5RK3, which means costing the same CPU time; SWENO5LW3 can get higher accuracy. To get the same error, SWENO5LW3 can save CPU time. For example, when cell number , the cost CPU time of SWENO5LW3 is 114.9 s, while 148.8 s for WENO5RK3 and SWENO5LW3 can save around CPU time. To get the same error, SWENO5LW3 can save more CPU time than .


(a)
(b)
(a)
(b)
Example 3 (dam breaking on a flatbed). The stability of shock capturing must be tested and verified; the dam break problem is a proper test for shallow water flows [40] subjected to continuous boundary condition, and bottom topography is flat , so the source term disappeared. The initial conditions are taken aswith and . The computation is performed on until .
The numerical solutions using the SWENO5LW3 and WENO5RK3 on a mesh with 200 cells are shown in Figure 6, which demonstrate good capturing of shock [42], and no spurious oscillations occurred for both schemes. For CPU time comparison, the value of CPU time is the total CPU time of running 200 times to reduce error; the total CPU time is 5.55 s for SWENO5LW3 and 6.79 s for WENO5RK3 scheme. The conclusion is that the cost CPU time of WENO5RK3 is around 12% more than that of SWENO5LW3 for this test.
(a)
(b)
Example 4 (dam breaking over a rectangular bump). This test [41] is a generalization of above problem; discontinuous bottom topography is added to check the performance of scheme for great slope stress, or even does not exist. On the computational domain , the Riemann bottom topography is given by and the initial data are given by We take still water height , and still water level is 15. We compute up to and with continuous boundary condition. For the final time , the flow has not propagated to the rectangle bump, so the results are similar to above test. For the final time , we have to point out that the surface level is smooth, while the total water height is discontinuous at the exact discontinuous points of bottom topography. The numerical results with 500 cells and reference results with 5000 cells are shown in Figure 7.
The following CPU time is run 20 time; the cost CPU time is 8.34 s for SWENO5LW3 and 9.39 s for WENORK3; also around 13% CPU time is saved by SWENO5LW3.
(a)
(b)
Example 5 (a 2D accuracy test). To check the accuracy order for 2D system of shallow water equations, we use the generalization of Example for the 1D accuracy test [41]. On the unit square , the bottom topography is and the initial data are given by We take the still water height ; 4periodic boundary conditions are subjected in the problem. The time step is modified copying 1D case. Program is performed until time when the solution is still smooth. Numerical solution on cells is taken as reference solution.
Similar numerical and errors and orders are generated by the SWENO5LW3 and WENO5RK3; both schemes get the fifth convergence orders. Because the results are similar to that in [36], we omit the data. In Figure 8, we give the and errors as functions of cost CPU time for . One more time, the line of SWENO5LW3 is at the bottom relative to the line of WENO5RK3. When cell number , the cost CPU time is 10242 s for SWENO5LW3, while being 13465 s for WENO5RK3; SWENO5LW3 can save around CPU time.
(a)
(b)
Example 6 (a small perturbation of 2D steadystate water). A classical problem [38] is used to check the capability of capturing the perturbation of the stationary state for 2D shallow water equations. The function for bottom topography is