Research Article | Open Access
The Simple Finite Volume Lax-Wendroff Weighted Essentially Nonoscillatory Schemes for Shallow Water Equations with Bottom Topography
A Lax-Wendroff-type procedure with the high order finite volume simple weighted essentially nonoscillatory (SWENO) scheme is proposed to simulate the one-dimensional (1D) and two-dimensional (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 Lax-Wendroff scheme in time. The idea of Lax-Wendroff 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 Runge-Kutta time discretization, the simple Lax-Wendroff 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 Lax-Wendroff WENO scheme for shallow water equations, while finite volume method has more flexible mesh structure compared to finite difference method.
In this paper, the simple finite volume WENO (weighted essentially nonoscillatory) scheme with Lax-Wendroff-type 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 , 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  introduced a finite volume WENO wave propagation scheme on rectangular mesh. Lu et al.  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  for the third-order finite volume frame based on ENO type schemes [29, 30], such as CWENO and hybrid WENO  arising from various applications. In 2016, a successful type of WENO  was proposed to approximate hyperbolic conservation laws. The new WENO reconstruction is a convex combination of two linear polynomials with a fourth-degree polynomial using the same five-point 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 time-dependent 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, Runge-Kutta 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) Runge-Kutta method is fourth order. Another way is via the Lax-Wendroff-type 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 Lax-Wendroff time discretization formula is a little simpler than that of the finite difference frame. Qiu and Shu  derived a scheme consisting of Lax-Wendroff-type 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  also developed Lax-Wendroff with finite difference WENO scheme for shallow water equations; similar results were obtained.
In this paper, we developed the fifth-order SWENO finite volume scheme with the third-order Lax-Wendroff-type 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 Lax-Wendroff-type 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 depth-averaged 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 Fifth-Order Finite Volume SWENO Schemes
The fifth-order 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 Lax-Friedrich 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 fifth-order SWENO reconstruction procedure.
Only will be introduced in detail as follows. For the fifth-order SWENO scheme, three approximated point values of should be constructed. Choose the first big stencil ; a fourth-degree 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 fifth-order SWENO reconstructions, the convex combination of all these three-point 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 The explicit expression of the three smoothness indicators is given byFor the fifth-order 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 dimension-by-dimension 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 three-point 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.  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 .
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 stage-discharge approach. Mostly, we choose the still water level between the maximum of bottom function and the minimum of free surface.
2.4. The Lax-Wendroff-Type Discretization for 1D Shallow Water Equations
We focus on the procedure of Lax-Wendroff-type 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 Lax-Wendroff-type time discretization procedure is to replace time derivatives by the spatial derivatives using Taylor expansion and PDE (25) . 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 third-order 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 Lax-Wendroff 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 .
Using the fifth-order 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 fourth-degree 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 SWENO5-LW3 to denote the scheme with the fifth-order finite volume SWENO scheme in space and the third-order Lax-Wendroff-type method in time and WENO5-RK3 to denote classical WENO scheme and the third-order Runge-Kutta methods for comparison.
2.5. The Lax-Wendroff-Type 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 Lax-Wendroff 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 fifth-order finite volume SWENO scheme, on rectangle control volume ,Three-point Gaussian quadrature formula is used for the above line integration. The numerical flux vectors and at Gaussian points , are obtained by the regular fifth-order SWENO finite volume reconstruction and the Lax-Friedrich 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 SWENO5-LW3 scheme and WENO5-RK3 scheme for a number of 1D and 2D examples for shallow water equations. We shall demonstrate the fifth-order convergence of the scheme in space and compare the numerical results by SWENO5-LW3 and WENO5-RK3, addressing CPU time and absolute truncation errors in and norm. The parameter gravitation constant . CFL condition number is 0.4 for SWENO5-LW3 and 0.6 for WENO-RK3. 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 .
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  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 SWENO5-LW3 of water depth and the discharge are listed when mesh is refined. errors and orders by WENO5-RK3 are also displayed in Table 2 for comparison. It can be seen that both schemes lead to the same fifth order of convergence, and SWENO5-LW3 produces more accuracy solutions than WENO5-RK3, 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 SWENO5-LW3 is always at the bottom relative to the line of WENO5-RK3, which means costing the same CPU time; SWENO5-LW3 can get higher accuracy. To get the same error, SWENO5-LW3 can save CPU time. For example, when cell number , the cost CPU time of SWENO5-LW3 is 114.9 s, while 148.8 s for WENO5-RK3 and SWENO5-LW3 can save around CPU time. To get the same error, SWENO5-LW3 can save more CPU time than .
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  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 SWENO5-LW3 and WENO5-RK3 on a mesh with 200 cells are shown in Figure 6, which demonstrate good capturing of shock , 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 SWENO5-LW3 and 6.79 s for WENO5-RK3 scheme. The conclusion is that the cost CPU time of WENO5-RK3 is around 12% more than that of SWENO5-LW3 for this test.
Example 4 (dam breaking over a rectangular bump). This test  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 SWENO5-LW3 and 9.39 s for WENO-RK3; also around 13% CPU time is saved by SWENO5-LW3.
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 . On the unit square , the bottom topography is and the initial data are given by We take the still water height ; 4-periodic 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 SWENO5-LW3 and WENO5-RK3; both schemes get the fifth convergence orders. Because the results are similar to that in , 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 SWENO5-LW3 is at the bottom relative to the line of WENO5-RK3. When cell number , the cost CPU time is 10242 s for SWENO5-LW3, while being 13465 s for WENO5-RK3; SWENO5-LW3 can save around CPU time.
Example 6 (a small perturbation of 2D steady-state water). A classical problem  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