An Improved Multislope MUSCL Scheme for Solving Shallow Water
Total Page:16
File Type:pdf, Size:1020Kb
An improved multislope MUSCL scheme for solving shallow water equations on unstructured grids Jiaheng Zhaoa,∗, Ilhan Özgen-Xianb, Dongfang Liangc, Tian Wanga,d, Reinhard Hinkelmanna a Chair of Water Resources Management and Modeling of Hydrosystems, Technische Universität Berlin, Germany b Energy Geosciences Division, Lawrence Berkeley National Laboratory, United States c Department of Engineering, University of Cambridge, Cambridge, UK d Institute of Water Resources and Hydro-Electric Engineering, Xi’an University of Technology, Xi’an 710048, China ∗ Corresponding author. E-mail address: [email protected] (J. Zhao). Abstract This paper describes an improved vector manipulation multislope monotone upstreamcentred scheme for conservation laws (MUSCL) reconstruction for solving the shallow water equations on unstructured grids. This improved MUSCL reconstruction method includes a bigger stencil for the interpolation and saves time for determining the geometric relations compared to the original vector manipulation method, so it is computationally more efficient and straightforward to implement. Four examples involving an analytical solution, laboratory experiments and field-scale measurements are used to test the performance of the proposed scheme. It has been proven that the proposed scheme can provide comparable accuracy and higher efficiency compared to the original vector manipulation method. With the increasing of the number of cells, the advantage of the proposed scheme becomes more apparent. Keywords: Finite volume method, MUSCL scheme, Shallow water, Total variation diminishing, Unstructured grids 1. Introduction Monotone upstream-centred scheme for conservation laws (MUSCL) [1] is a well-known approach for achieving highorder accuracy by data reconstruction for solving hyperbolic partial differential equations. In hydrodynamics, many researchers use the MUSCL scheme to solve the two- dimensional shallow water equations (SWEs) due to its monotonicity and high order accuracy (e.g. [2–5]). The MUSCL-type schemes are an extension of the original Godunov scheme [6]. The variable values along the cell edges are extrapolated from the cell centers, and the reconstructed values are stored at the edges to calculate the Riemann flux across the edges. In order to avoid spurious oscillations and produce physically meaningful results, the numerical scheme should be monotonic. The monotonic numerical scheme can be deduced by examining the total variation, which is defined as an over time decreasing summation of the differences between each adjacent cells. Early TVD schemes were derived on structured grids. Directly applying them on unstructured grids often leads to poor results, because the structured grid provides a simple stencil layout for figuring out the upwind and downwind neighbors. On unstructured grids, the upwind and downwind neighbors are often not located along the perpendicular bisector of the edge. This has to be accounted for in MUSCL reconstructions on unstructured grids. On unstructured grids, TVD MUSCL schemes can be divided into monoslope and multislope methods [2]. The monoslope method was initially presented in [7], which calculates a single slope for the entire cell based on the three immediate neighbors of the cell [8]. The multislope method calculates a slope for each edge based on a three-point stencil. Stencils are set up based on the extrapolation in the upwind direction, and the variable values at the upwind point can be interpolated [9,4], or set to the value at the cell center that is closest to the perpendicular bisector of the considered edge. These methods require significant computational effort to determine the upwind cells and the upwind point in the stencil. A poor choice of the upwind point introduces significant numerical errors, even leading to the loss of the TVD property. As discussed in Hou et al. [5], the multislope method can provide a more efficient and straightforward scheme. Although the multislope method may not provide a piecewise linear slope for the considered cell, the reconstructed values only determine the fluxes across the edges and thus will not influence the conservation law. Therefore, the shape of the reconstructed function inside the cell is not of importance for the FVM [5]. The vector based manipulation method is proposed by Buffard and Clain [2], who provide a very straightforward method on complex unstructured grids, especially suitable for multi-dimensional schemes. Based on the idea of Buffard and Clain [2], Hou et al. [5] proposed a new vector based manipulation multislope method. However, in the authors’ previous work [8], it was found that their scheme [5] does not include enough downwind information for the calculation of the downwind slopes, which may lead to the wrong interpolation. In order to overcome this problem, Zhao et al. [8] calculate the down-slope value in the downwind direction, which increases the robustness and accuracy. A new multislope MUSCL method is devised in this work to improve the accuracy, which includes more stencil points to maintain the monotonicity of the scheme in different flow conditions. This study is based on the framework of unstructured Godunov-type cell- centered FVM. The new MUSCL scheme is compared with the scheme in [8] and analytical analyses. 2. Governing equations and numerical model The two-dimensional shallow water equations (SWEs) are derived from the depth-averaged Navier–Stokes equations. They can be written in the conservative vector form as: with vectors defined as where x and y are the Cartesian coordinates, t is time, q represents the unknown variable vector consisting of h, qx and qy denoting the water depth, unit-width discharges in x- and y-directions, respectively. u, v are defined as depth-averaged velocities in x- and y-directions, respectively; f and g are the flux vectors in x- and y-directions, respectively; s is the source term that includes bed slope and friction contributions, z is the bed elevation and cf is the bed roughness coefficient calculated as gn2 /h1/3, g is the gravitational acceleration. Viscous and turbulent flux terms are neglected in this equation. 2.1. Finite volume discretization of SWEs on unstructured grids The shallow water equations (SWEs) in Eq. (1) can be integrated over a cell as where Ω denotes the area of a cell. Applying the divergence theorem and replacing the boundary integral with a sum over all edges, Eq. (4) becomes herein m is the number of edges, l is the length of the edge, and n = (nx, T ny) , is the unit normal vector pointing in the outward normal direction of the boundary edge, F · n is the flux vector normal to the boundary and can be written as The value of q in cell i is updated using the two-stage explicit Runge–Kutta scheme [10–12], where the value at the next time level in cell i, q n+1 i , is updated by with where κ is a function to represent the updating process to a new time level in the considered cell. ∆t is the time step. For this work, the Courant– Friedrichs–Lewy condition is followed for maintaining the stability, where Rn is the minimum distance from the cell center to the edge, CFL is the Courant–Friedrichs–Lewy number. For explicit time marching algorithms CFL ∈ (0, 1]. In this work, CFL = 0.5 is adopted. 3. Multislope MUSCL reconstruction methods The original Godunov’s theorem used cell-averaged values for calculating the flux and slope source terms. This is first order accurate. In order to get higher accuracy, a linear MUSCL reconstruction is usually used to obtain a second-order accurate scheme. Different ways for calculating slopes lead to different types of MUSCL reconstructions that give different performance (cf., e.g., [13–15,12,16–18]). In the multislope method, slopes are calculated towards each edge individually. As shown in Fig. 1, reconstructed values along the conjuncted edge are represented by and . M is the middle point of the edge, N1−3 are the vertices of the left cell, cell averaged values of the left and right cells are represented by qC and qD1, respectively. Based on the work in [5], can be extrapolated from the cell centroid based on a one-dimensional multislope MUSCL by where is the vector from cell centroid C to edge middle point M, and represent the gradients from N3 to cell center and from the cell center to edge center, respectively. Ψ is the limiting function for restricting the reconstruction scheme to satisfy the total variation diminishing condition. The modified Van Albada’s limiter with two arguments a and b from [19] is adopted in this work, Here, e = 10−12 is used to avoid division by zero. 3.1. Vector manipulation methods The two-dimensional multislope MUSCL schemes can be thought as a one- dimensional reconstruction process along the median line linking the cell center and the edge middle point, with the focus on the method for calculating the upwind and downwind slopes of the cell center along the median line. In the aforementioned literatures, slopes constructed by extrapolating the upwind value along the cell centerlines [4,9,3], and the approximated cell averaged method [20] have been studied. Owing to the accuracy and the unphysical reconstruction point location at the edge, the multislope method still needs to be further investigated. Buffard and Clain [2] proposed the vector manipulation methods, where upwind and downwind slopes can be calculated without the gradient calculation for the cells and the interpolation for the upwind points. Hou et al. [5] simplified the original scheme to make the vector manipulation method more straightforward to implement and enhance the robustness and accuracy. As mentioned in [8], the main idea of the vector manipulation method is to reconstruct the slopes from the cell centers to the slopes along the line passing through the cell center and the edge middle point. It has been shown that the methods from [2] and [5] include too much information from the considered cells and may lead to a wrong reconstruction value along the edge center.