Adaptive Central-Upwind Scheme on Triangular Grids for the Saint-Venant System
Abstract
In this work we develop a robust adaptive well-balanced and positivity-preserving central-upwind scheme on unstructured triangular grids for shallow water equations. The numerical method is an extension of the scheme from [Liu et al.,J. of Comp. Phys, 374 (2018), pp. 213 - 236]. As a part of the adaptive central-upwind algorithm, we obtain local a posteriori error estimator for the efficient mesh refinement strategy. The accuracy, high-resolution and efficiency of new adaptive central-upwind scheme are demonstrated on a number of challenging tests for shallow water models.
keywords:
Saint-Venant system of shallow water equations, central-upwind scheme, well-balanced and positivity-preserving scheme, adaptive algorithm, weak local residual error estimator, unstructured triangular gridAMS subject classification: 76M12, 65M08, 35L65, 86-08, 86A05
1 Introduction
We consider the two-dimensional (2-D) Saint-Venant system of shallow water equations,
(1.1a) | |||
(1.1b) | |||
(1.1c) |
where is the time, and are horizontal spatial coordinates (), is the water height, and are the - and -components of the flow velocity, is the bottom topography, and is the constant gravitational acceleration. The system (1.1a)–(1.1c) was originally proposed in [12], but it is still widely used to model water flow in rivers, lakes and coastal areas, to name a few examples. The Saint-Venant system (1.1a)–(1.1c) is an example of the hyperbolic system of balance/conservation laws. The design of robust and accurate numerical algorithms for the computation of its solutions is important and challenging problem that has been extensively studied in the recent years.
An accurate numerical scheme for shallow water equations (1.1a)–(1.1c) should preserve the physical properties of the flow. For example, i) the numerical method should be positivity preserving, that is, the water height should be nonnegative at all times. The positivity preserving property ensures a robust performance of the algorithm on dry ( is zero) or almost dry ( is near zero) states; ii) in addition, the numerical method for system (1.1a)–(1.1c) should be well-balanced, the method should exactly preserve the “lake-at-rest” solution, This property diminishes the appearance of unphysical oscillations of magnitude proportional to the grid size. In the past decade, several well-balanced [15, 16, 4, 1, 17, 22, 23, 25, 30, 7, 33, 34, 39, 40, 41, 42, 46, 47, 16, 35, 18, 2, 6, 5, 36] and positivity preserving [1, 25, 30, 40, 35, 8, 4, 2, 6, 5, 36] schemes (non exhaustive lists) for shallow water models have been proposed, but only few satisfy both major properties i) and ii) simultaneously.
The traditional numerical methods for system (1.1a)–(1.1c) consider very fine fixed meshes to reconstruct delicate features of the solution. However, this can lead to high computational cost, as well as to a poor accuracy of small scale characteristics of the problem. Therefore, the main goal of this work is to design adaptive numerical algorithm for shallow water equations. In this work, we extend numerical method in [36] to adaptive well-balanced and positivity-preserving central-upwind finite volume method on unstructured triangular grids. The central Nessyahu-Tadmor schemes, their generalization into higher resolution central schemes and semidiscrete central-upwind schemes are a family of efficient and accurate Godunov-type Riemann problem-free projection-evolution finite volume methods for hyperbolic problems. They were originally developed in [38, 31, 28]. The main advantages of these numerical algorithms are the high-resolution, efficiency and their simplicity. The class of central-upwind methods has been successfully used for problems in science and engineering, including, for geophysical flow problems and related models, e.g. [31, 32, 28, 25, 7, 30, 10, 9, 11, 27, 26, 3, 29, 5, 6, 44, 36]. There is some very recent effort on the design of adaptive well-balanced and positivity-preserving central-upwind schemes on quad-tree grids for shallow water models [43, 19], but no research has been done for the development of such adaptive schemes on unstructured triangular grids.
This paper is organized as follows. In Section 2, we briefly review well-balanced positivity-preserving central-upwind scheme on unstructured triangular grids [36] which serves as the underlying discretization for the developed adaptive algorithm. We give summary of the adaptive central-upwind method in Section 3.1. We discuss adaptive mesh refinement strategy in Section 3.2. In Section 3.3, we present adaptive second-order strong stability preserving Runge-Kutta method, employed as a part of time evolution for the adaptive central-upwind scheme. We derive local a posteriori error estimator in Section 3.4 which is used as a robust indicator for the adaptive mesh refinement in our work. Finally, in Section 4, we illustrate the high accuracy and efficiency of the developed adaptive central-upwind scheme on a number of challenging tests for shallow water models.
2 Semi-Discrete Central-Upwind Scheme – an Overview
In this work, we employ the central-upwind scheme discussed in this section as the underlying discretization for the developed adaptive central-upwind algorithm, Section 3. Therefore, in this section, we will briefly review a semi-discrete second-order well-balanced positivity preserving central-upwind scheme on unstructured triangular grids for the Saint-Venant system of shallow water equations [6, 36].
In the first work [6], a new second-order semi-discrete central-upwind scheme was developed for computing the solutions of the system (1.1a)–(1.1c) on unstructured triangular grids. The key ideas in the development of the scheme in [6] were: 1) Change of variables from to variables . This change of variables simplifies the construction of the well-balanced scheme since in the “lake-at-rest” steady-state, it is the equilibrium variable, the water surface (but not the conservative variable, the water height ) that has to stay constant; 2) Replacement of the bottom topography function with its continuous piecewise linear approximation; 3) Design of the special positivity preserving correction of the piecewise linear reconstruction for the water surface ; 4) Development of a special well-balanced finite-volume-type quadrature for the discretization of the cell averages of the geometric source term. The developed scheme in [6], enforced the positivity of the water height , and preserved the “lake-at-rest” steady state in the case of fully submerged bottom topography. In the recent work [36], we further improved the well-balanced property of the scheme from [6], and extended the scheme to accurate and stable simulations of shallow water models with dry or near dry states (e.g., waves arriving or leaving the shore). We will briefly review below the central-upwind scheme from [36].
First, we rewrite the system (1.1a)–(1.1c) in the following equivalent form,
(2.1) |
where the variables and the fluxes and are
and the source term is

As illustrated in Figure 2.1, we denote,
is an unstructured triangulation of the computational domain ;
is a triangular cell of size with the barycenter ;
are the three vertices of ;
are the neighboring triangles that share a common side with ;
is the length of the common side of and , and is its midpoint;
is the outer unit normal to the th side of .
Next, in order to develop the positivity-preserving and well-balanced scheme, the bottom topography is replaced with its continuous piecewise linear approximation given by
where, in the case of continuous bottom topography, . Then, denote:
At time , define by the approximation of the cell averages of the solution,
Then, it can be shown (see [36, 6]), that the semi-discrete second-order central-upwind scheme for the Saint-Venant system (2.1) on triangular grid is given by the following system of ODEs,
(2.2) |
where the numerical fluxes through the edges of the triangular cell are
(2.3) | ||||
Here, and are the reconstructed point values of at the middle points of the edges . To obtain these values [36], first, a piecewise linear reconstruction of the variables is computed as,
(2.4) |
where is the characteristic function of the cell , are the point values of at the cell centers and and are the limited partial derivative. After that, the second and third components of the point values and are obtained from, and ,
See Section 2 in [36] for more details on the reconstruction.
Moreover, to design a well-balanced central-upwind scheme, a special second-order reconstruction of water surface is introduced in [36] which is positivity preserving for the steady-state solutions with partially flooded/dry cells. Hence, the linear approximation for the water surface is updated as follows:
-
•
In the dry cells in which , the corresponding linear pieces for in (2.4) are replaced by,
(2.5) -
•
If is a partially flooded which means , the water surface is reconstructed by using two linear pieces instead of one as,
(2.6) where is a linear reconstruction of the water surface on the wet part of the cell .
-
•
If is a fully flooded , no further modification for the linear approximation (2.4) is needed.
See Section 3 in [36] for more details of the reconstruction of the water surface .
In (2.3), and are the one-sided local speeds of propagation in the directions . These speeds are related to the largest and smallest eigenvalues of the Jacobian matrix , denoted by and , respectively, and are defined by
(2.7) | ||||
where
Remark 2.1
A fully discrete scheme can be obtained by numerically solving the ODE system (2.2), (2.3) using a stable and sufficiently accurate ODE solver. The time-step size on each cell should satisfy the CFL-type condition (see [6]), which can be expressed as,
(2.8) |
where , and are the three corresponding altitudes of the triangle . However, the condition (2.8) can become too restrictive on partially flooded cells. Thus, for partially flooded cells, the “draining” time-step technique is used to ensure the positivity of the scheme without reducing the time step size (2.8), [4, 36]. Namely, first the “draining” time-step is defined by,
where is the first component of the numerical flux given by (2.3). Notice that, for fully flooded cells , while for dry cells . Next, the local “draining” time-step for each edge of the cell is defined as,
(2.9) |
where is the “draining” time-step in the neighboring triangle of and is computed by (2.8), but with the minimum taken there over the flooded cells only. This procedure of the draining time step is a part of the adaptive SSPRK2 time evolution (3.5a)-(3.5b) in Section 3.3.
Finally, the cell average of the source term in (2.2),
has to be discretized in a well-balanced manner [36]:
Quadrature for is
(2.10) | ||||
A similar quadrature for is
(2.11) | ||||
Remark 2.2
Note, that in Section 4, we compare performance of the developed adaptive central-upwind scheme Section 3 with a performance of the central-upwind scheme without adaptivity from [36] (see also brief review above). We use standard SSPRK2 time discretization [20] together with the draining time step for the scheme without adaptivity from [36] in numerical experiments in Section 4.
3 Adaptive Central-Upwind Scheme
The traditional numerical schemes are based on the use of very fine fixed meshes to reconstruct delicate features of the solution. This can lead to high computational cost, as well as poor resolution of all small scale features of the problem. In many engineering and scientific applications, it is beneficial to use adaptive meshes for improving the accuracy of the approximation at a much lower cost. Therefore, in this section, we will introduce an efficient and accurate adaptive central-upwind algorithm.
3.1 Adaptive Central-Upwind Algorithm
The adaptive central-upwind algorithm is described briefly by the following steps.
Step 0. At time , generate the initial uniform grid .
Step 1. On mesh , evolve the cell averages of the solution from time to at the next time level using adaptive central-upwind scheme (3.5a)-(3.5b), see Section 3:
- •
- •
- •
- •
- •
- •
Step 2. On mesh , compute WLR error using (3.14) in Section 3.4 and update the refinement/de-refinement status for each cell/triangle, Section 3.4.
Step 3. Generate the new adaptive mesh at , Section 3.2. This step includes coarsening of some cells, refinement of some cells, and the appropriate projection of the cell averages from the mesh at onto a new adaptive mesh at time , Section 3.2.
Step 4. Repeat Step 1 - Step 3 until final time.
3.2 Adaptive Mesh Refinement/Coarsening
The main idea of the proposed adaptive mesh refinement algorithm is as follows. At time , we start with the given mesh, denoted as , where is a triangular cell of size with the barycenter within the initial mesh , and index is the level of refinement ( corresponds to the mesh with no refinement and for all ). To flag triangular cells in the mesh for the refinement/de-refinement (or coarsening), we use weak local residual (WLR) error estimate, see Section 3.4. We apply “regular refinement” on the triangles flagged for refinement to obtain a new mesh with the refinement level . The “regular refinement” on a fully flooded triangle is obtained by splitting each flagged triangle (“parent” triangle) into four smaller triangles (“children” triangles) by inserting a new node at the mid-point of each edge of the “parent” triangle. We illustrate this idea using Fig. 3.1 (a), where we show an example of splitting a flagged triangle by using the mid-points of the sides to obtain the “children” cells . In addition, the insertion of new nodes on the edges means that non-flagged triangles adjacent to refined triangles get hanging nodes and must also be refined. This is done by inserting a new edge between the hanging node and the opposite corner as illustrated in Fig. 3.1 (b).


In practice, we may want to reach a higher level of refinement for some cells. This happens when those cells have very large WLR error (3.14), and we need to add more data points. We can obtain a finer cell by repeating the refinement for the flagged triangles in the refined mesh to get the mesh with higher level . Fig. 3.2 is the illustration of the “regular refinement” procedure with two levels of refinement.



In the partially flooded cells, Section 2, the approximation of the water surface at each time level consists of two linear pieces, the piece for the wet and for the dry region, see Fig. 3.3. This motivates an idea of the “wet/dry refinement” which uses the boundary between the wet region and the dry region of the cell to refine the partially flooded triangles as shown in the example in Fig. 3.4 (left). Namely, consider a partially flooded triangle which is flagged for the refinement and has three non-flagged neighboring cells in the grid . The segment is the boundary between the wet and dry interface in that triangle. Note that, the location of the nodes and is determined by the second order water surface reconstruction developed in [36], see also Section 2. During “regular refinement” of the partially flooded cell, we first split the flagged cell into a smaller triangle and a quadrilateral using the wet/dry interface . We then continue to refine the quadrilateral by its diagonal. As can be seen in Fig. 3.4 (left), the flagged triangle has three “children” which are either fully flooded or dry. Similarly, as in Fig. 3.1, the appearance of two hanging nodes and on two sides leads to the need of the further splitting of the neighboring cells as presented in Fig. 3.4 (right). The “regular wet/dry refinement” will capture the features of the wet/dry fronts and will minimize number of partially flooded “children” cells. However, this method may give us difficulties in controlling the shape of triangles in the adaptive mesh. In some cases, it may produce “children” cells with unexpected large obtuse angles or very small altitudes, as shown in Fig. 3.5. For cells where such situation happens, we instead use the “regular refinement” for the fully flooded cells as described above.




Very often in the numerical simulations of the wave phenomena, the regions of the domain that need to be refined move with time. Hence, the refinement in some cells may become no longer needed. The de-refinement or coarsening procedure is then introduced to deactivate unnecessarily fine cells in the mesh. The de-refinement is performed by coarsening (by deactivating “children” cells) in the triangles of the mesh flagged for coarsening (and possibly deactivating finer neighboring triangles due to removal of the hanging nodes). At time , “children” cells in the mesh , are deactivated based on the WLR and the corresponding “parent” cell from the mesh is activated back. In order to minimize the complexity of the adaptive grid generation, the de-refinement should be applied on all cells flagged for coarsening prior to the refinement, see for example [21].
The refinement/de-refinement process at time produces a hierarchical system of grids , where , is the grid with the level of refinement obtained by refining the grid . The final mesh is the mesh that is used in the adaptive central-upwind scheme (3.5a)-(3.5b) at time level . After the evolution of the numerical solution from time to time using mesh , we proceed with the generation of a new adaptive grid from the mesh , using WLR in Section 3.4. After a new adaptive mesh is constructed, the obtained cell averages on the mesh need to be projected accurately on the new mesh , using the ideas as summarized briefly below.
Case 1. If a triangle at is the same cell as in the grid , we will keep without any change the cell averages for that triangle at .
Case 2. A cell is obtained by coarsening some finer cells . In order to enforce the conservation, the solution, in the cell , is computed as
where is the solution in .
Case 3. A triangle is obtained from the refinement of the cell . The approximation of the cell averages of the solution at in is obtained using the evaluation of the piecewise linear reconstruction (2.4) of the solution at in the triangle .
3.3 Second-order Adaptive Time Evolution
The CFL-type condition (2.8) is needed due to numerical stability. Hence, use of a global time step in the adaptive algorithm may lead to the time step that can become very small due presence of much finer cells in the mesh. To improve the computational cost of the algorithm, we consider the approach based on the adaptive time step from [13, 14, 37]. The main idea of the adaptive time evolution is that we group cells into different levels based on the cell sizes. After that, we evolve the solution on each cell level individually with its local time step. This approach does not violate the stability of the explicit time discretization scheme as was shown in [13, 37]. Below, we present the brief summary of the adaptive time evolution algorithm based on the second-order strong stability preserving Runge-Kutta methods (SSPRK2) in [20], [13, 14, 37].

The idea and the order of steps of adaptive SSPRK2 are illustrated on the example in Fig. 3.6. First, we group all cells at time in cell levels based on their sizes. We define cell levels at in mesh as follows. A cell belongs to the level , if is the smallest positive integer satisfying,
(3.1) |
where are three altitudes of triangle . Thus, the cell levels with larger index will contain finer cells which will require a smaller time step (2.8) for the evolution from . Next, at , we define the reference time step as the local time step on the coarsest level of cells in the mesh by considering the CFL-type condition (2.8) locally on level . Namely, define first ,
(3.2) |
where are the local one-sided speeds of propagation (2.7) at for sides in the triangle . Then, the reference time step is computed as,
(3.3) |
We set, .
Assume next, that is the number of steps taken on higher levels to evolve from to namely with , . We define the local time step for cells on these levels as,
(3.4) |
where parameter takes into account change in the local one-sided speeds of the propagation,
where are the local one-sided speeds of propagation at of the cell in the level . Therefore, on each cell of level , for each substep of the evolution from to , we apply the following two adaptive steps of SSPRK2 method,
(3.5a) | ||||
(3.5b) |
Here, is the local time step of the cells of level at time (3.4), and is the “draining” time step in cell for the local time step in level . The flux term in (3.5a) -(3.5b) is the flux (2.3) computed at . The source term in (3.5a) -(3.5b) is the source (2.10) - (2.11) computed at with the time step and with the corresponding local “draining” time step . Note that, and .
Remark 3.1
If cells from different cell levels are neighbors, we use linear interpolation in time to match the time levels of such cells, see also Fig. 3.6, for the illustration of the interpolation.
3.4 A Posteriori Error Estimator
Here, using the idea of Weak Local Residual (WLR) from [45, 24], we will derive local error estimator that is used as the robust indicator for the adaptive mesh refinement in our work.
Let us recall that the weak form of the mass conservation equation for the system (2.1) in takes the integral form,
(3.6) |
for all sufficiently smooth test functions with compact support on .
Consider example of localized test function in time and space,
(3.7) |
where , , and are the heights of the triangle/cell . Function is a linear function in time with a local support defined as,
(3.8) |
Function is a “hat function”, namely, a piecewise linear function with compact support over all triangles with common vertex . The function takes value at the vertex and at all other nodes. More precisely, assume that there are triangles , , ,…, which share common vertex . Thus, the function is defined as,
(3.9) |
The quantity is the gradient of the linear piece of restricted to ,
(3.10) | ||||
where and are the three vertices of triangle . Next, define the following piecewise constant approximation for the solution ,
(3.11) |
Now, using the localized test function , (3.7) together with the piecewise constant approximation , (3.11) in (3.6), we can define the weak form of the truncation error, (WLR), which will be used as the error indicator for refinement/de-refinement in the adaptive grid,
(3.12) | ||||
After straightforward calculations, the WLR error on mesh is given by the formula,
(3.13) | ||||
The error in a cell is given by,
(3.14) |
where is the WLR error computed in (3.13) at a node of triangle .
In our numerical experiments, we define an error tolerance, as,
(3.15) |
where is a given problem-dependent constant (see Section 4), and is the WLR error in the triangle , (3.14). The error in each cell is compared to the error tolerance (3.15), and the cell is either “flagged” for refinement/de-refinement or “no-change”.
Note that, in this work, we consider only the equation (1.1a) to obtain WLR error. The full system of shallow water equations can be used to derive WLR too, however it will make the computation of the error indicator more complex and more expensive.
4 Numerical Examples
In this section, we illustrate the performance of the designed adaptive central-upwind scheme. We compare the results of the adaptive central-upwind scheme developed in this work with the results of the central-upwind scheme from [36] on uniform triangular meshes (example of such uniform triangular mesh is outlined in Fig. 4.1). In addition, in all experiments, we compute ratio, , which is the ratio of the CPU times of the central-upwind algorithm without adaptivity to the CPU time of the adaptive central-upwind algorithm. To compare -errors, as well as to compare the CPU times and to compute , we consider uniform mesh and the adaptive mesh with the same size of the smallest cells. More precisely, in Table 4.1, -errors, and in Tables 4.2-4.7, are computed using the uniform meshes and using the corresponding adaptive meshes which are obtained from the coarser uniform mesh ( is the highest level of refinement in the adaptive mesh). In Example 4.1 and the first two cases in Example 4.2 with (4.1)-(4.2), the gravitational acceleration is set, , while in the last case of Example 4.2 with (4.3)-(4.4) and Example 4.3, we take . We set the desingularization parameters and for calculations of the velocity components and to be and , except for the Example 4.2, (4.3)-(4.4), where (see Section 2.1 formula (2.6) in [36]).

4.1 Example 1—Accuracy Test
Here, we consider the example from [6], and we verify experimentally the order of accuracy of the designed adaptive central-upwind scheme. We also compare the computational efficiency of the adaptive central-upwind scheme and the central-upwind scheme without adaptivity on uniform and non-uniform triangular meshes.
We consider the following initial data and the bottom topography,
The computational domain is . A zero-order extrapolation is used at all boundaries. The error tolerance (3.15) for the mesh refinement in this example is set to .
From the result reported in [6], by , the numerical solution reaches the steady state. In Fig. 4.2 (left column), we show the numerical solution of water surface at . The solution is computed using the central-upwind scheme on uniform meshes on Fig. 4.2 (a, b) and using the adaptive central-upwind scheme on Fig. 4.2 (c, d). The adaptive meshes in Fig. 4.2 are obtained from the uniform mesh , Fig. 4.2 (a). The adaptive mesh with one level of refinement (as the highest level of refinement) is on Fig. 4.2 (c), and with two levels of refinement (as the highest level of refinement) is on Fig. 4.2 (d).
Next, in Table 4.1 we compute the -errors of the central-upwind scheme on uniform meshes and of the adaptive central-upwind scheme. To obtain the errors, the reference solution is calculated on the uniform mesh with triangles. In Table 4.2, we present the ratio to compare the computational efficiency of the two methods. From Table 4.1 and Table 4.2, we observe that the adaptive algorithm produces similar accuracy as the scheme on fixed uniform triangular meshes, but at a less computational cost. Also, as expected, the adaptive central-upwind scheme achieves second-order accuracy in space, similar to the central-upwind scheme without adaptivity.




algorithm without adaptivity | adaptive algorithm | |||||||
one level | two levels | |||||||
cells | -error | rate | cells | -error | rate | cells | -error | rate |
2.22e-05 | 11,808 | 2.33e-05 | 10,404 | 3.41e-05 | ||||
4.74e-06 | 2.22 | 46,892 | 5.62e-06 | 2.05 | 40,728 | 5.91e-06 | 2.53 | |
9.84e-07 | 2.26 | 187,726 | 1.55e-06 | 1.85 | 160,846 | 1.54e-06 | 1.94 |
uniform mesh | adaptive mesh | with | adaptive mesh | with | ||
(cells) | (cells) | total | without grid generation | (cells) | total | without grid generation |
11,808 | 2.18 | 2.36 | 10,404 | 2.58 | 2.70 | |
46,892 | 1.85 | 2.05 | 40,728 | 2.48 | 2.62 | |
187,726 | 1.77 | 1.98 | 160,846 | 2.25 | 2.40 | |
average: | 1.93 | 2.13 | 2.44 | 2.57 |
In addition, we will use this example to show that the adaptive central-upwind scheme is also effective on the unstructured triangular meshes. On Fig. 4.3 (left), we plot the numerical solution at computed using the central-upwind method on a non-uniform mesh, Fig. 4.3 (a), the adaptive scheme with one level of refinement, Fig. 4.3 (b) and the adaptive scheme with two levels of refinement, Fig. 4.3 (c). The adaptive meshes on Fig. 4.3 (b, c) are reconstructed from the non-uniform mesh shown on the right Fig. 4.3 (a).



We then recompute the accuracy of the solution, see Table 4.3, and the CPU time ratio, see Table 4.4, obtained by using the non-uniform meshes. From Table 4.3 and Table 4.4, we observe that the advantage of the adaptive scheme is still maintained on non-uniform meshes as it reduces the computational cost of the method. Next, we compare the results presented in Table 4.3 and in Table 4.1. As expected, we see that the errors obtained by using scheme on non-uniform meshes is slightly larger than the ones using the corresponding uniform meshes (with approximately the same number of cells).
algorithm without adaptivity | adaptive algorithm | |||||||
one level | two levels | |||||||
cells | -error | rate | cells | -error | rate | cells | -error | rate |
22,438 | 2.64e-05 | 13,036 | 2.53e-05 | 11,630 | 3.59e-05 | |||
90,434 | 6.53e-06 | 2.02 | 51,656 | 5.98e-06 | 2.08 | 44,400 | 7.06e-06 | 2.35 |
314,708 | 1.15e-06 | 2.51 | 204,044 | 1.68e-06 | 1.83 | 176,278 | 1.60e-06 | 2.14 |
Non-uniform and non-adaptive mesh | adaptive mesh | with | adaptive mesh | with | ||
(cells) | (cells) | total | without grid generation | (cells) | total | without grid generation |
22,438 | 13,036 | 1.86 | 1.94 | 11,630 | 3.77 | 3.90 |
90,434 | 51,656 | 2.20 | 2.20 | 44,400 | 3.34 | 3.43 |
314,708 | 204,044 | 2.45 | 2.57 | 176,278 | 3.36 | 3.46 |
average: | 2.17 | 2.24 | 3.49 | 3.60 |
4.2 Example 2—Well-Balanced Tests and Test with Wet/Dry Interfaces
The first numerical example here was proposed in [33] to test capability of the numerical scheme to accurately resolve small perturbations of a steady state solution. We take a computational domain and the bottom topography,
(4.1) |
The initial conditions describe a flat surface of water with a small perturbation in :
(4.2) |
where is the perturbation height. We have used the zero-order extrapolation at the right and the left boundaries of the domain and the periodic boundary conditions for the top and the bottom ones.
To verify well-balanced property of the adaptive scheme, we first consider a very small perturbation . The adaptive meshes with levels are obtained from a coarse uniform mesh . The threshold for mesh refinement in this example is . We plot as a function of time for the central-upwind scheme without adaptivity on uniform mesh in Fig. 4.4 (a), for the adaptive central-upwind scheme with in Fig. 4.4 (b), and with in Fig. 4.4 (c). The results of the test show that the adaptive scheme is stable and preserves numerically the balance between the fluxes and the source term, similar to the scheme without adaptivity.



In the next numerical test, we take a larger perturbation value . The purpose of this test is to demonstrate the capability of the adaptive algorithm to resolve the small scale features of the solution. In Fig. 4.5, we plot the water surface obtained by the method without adaptivity on two uniform meshes (left) and (right) at and . The computed solutions of the water surface exhibit a right-going disturbance propagating past the hump. We then apply the adaptive algorithm and plot the numerical solution of the water surface on selected meshes at different times in Fig. 4.6 (left) with and in Fig. 4.7 (left) with (the starting grid was a uniform mesh with and the threshold is ). We observe from Fig. 4.5, Fig. 4.6 and Fig. 4.7 that the adaptive central-upwind scheme delivers high resolution of the complex features of a small perturbation of the ”lake-at-rest” steady state. We note also, that by increasing the level of refinement from to , the number of cells in the mesh increases from cells with to cells with , but the accuracy is clearly improved with higher resolution as seen in Fig. 4.6 and Fig. 4.7. We also present the corresponding adaptive meshes in Fig. 4.6 (right) and in Fig. 4.7 (right). Clearly, the meshes are adapted to the behavior of the flow during time evolution from to . This confirms the ability of the WLR error estimator to detect location of the steep local gradients in the solution.















To demonstrate further the advantage of the adaptive scheme, we have compared the CPU times of the central-upwind scheme without adaptivity and with adaptivity for the solution at . The computed ratios are presented in Table 4.5. The computed ratios show that the adaptive central-upwind scheme can reduce the numerical cost by about three times with and by about five times with in comparison with the cost of the algorithm without adaptivity.
uniform mesh (cells) | adaptive mesh (cells) | with | adaptive mesh (cells) | with |
9,127 | 3.50 | 8,274 | 4.06 | |
30,912 | 2.06 | 21,131 | 5.29 | |
108,297 | 3.67 | 66,097 | 6.38 | |
average: | 3.07 | 5.24 |
In the final test, we consider an example with a small perturbation that propagates around an island. Similar examples were considered in [6, 36]. We consider a hump partially submerged in water so that there is a disk-shaped island at the origin, see Fig. 4.8. Hence, the bottom topography is given by
(4.3) |
We consider the following initial condition,
(4.4) |
where is the perturbation height. The homogeneous Neumann boundary conditions are used at all boundaries.

We first obtain the water surface using central-upwind scheme without adaptivity. Different to the results in the submerged plateau case (4.1)-(4.2), the right-going disturbance bends around the island and is being reflected by the island.
We then compare with the performance of the adaptive scheme in this case. The adaptive grids are generated from the uniform mesh using the threshold for one level of refinement and for . In Fig. 4.10 (left) and Fig. 4.11 (left), we plot the results for (left) obtained by the adaptive scheme and the corresponding adaptive meshes (right). The results are similar to the results of the central-upwind scheme without adaptivity in Fig. 4.9. There are no non-physical spurious waves generated at the wet/dry front. The well-balanced property, positivity and stability of the proposed adaptive central-upwind method are maintained with the adaptive mesh refinement. As in previous examples, WLR error estimator accurately detects regions in the domain which are marked for adaptive refinement/coarsening.












Next, in Table 4.6, we present ratio of CPU times to compute the solution at by the central-upwind method without adaptivity and by the adaptive algorithm. In order to compare the computational costs and calculate , we consider uniform and adaptive meshes with the same size of the smallest cells. From Table 4.6, one can see that the adaptive algorithm reduces the CPU times up to four times. In our experiments, we considered only and , but one can consider higher levels of refinement to further enhance the accuracy of the numerical solution at the reduced computational cost.
uniform mesh (cells) | adaptive mesh (cells) | with | adaptive mesh (cells) | with |
11,831 | 1.91 | 6,155 | 3.04 | |
31,050 | 2.08 | 25,753 | 3.14 | |
154,616 | 3.16 | 94,357 | 5.82 | |
average: | 2.38 | 4.00 |
Finally, we illustrate the advantages of WLR error as the error indicator, and hence compare it with another example of the error indicator which uses the unlimited gradients of the water surface , see e.g. [19]. We continue to consider the IVP (1.1a)-(1.1c),(4.1)-(4.2). In Fig. 4.12 (left column), we first present the contour plots of water surface computed at and using the meshes obtained by WLR error indicator, Fig. 4.12 (middle column). The adaptive meshes in Fig. 4.12 (middle and right columns) are reconstructed from the uniform mesh , respectively, by using the WLR error indicator and the gradient indicator. For WLR error, we apply the threshold and refine a cell if local WLR error for levels. For the gradient indicator, a cell is flagged for levels of refinement if it has . From Fig. 4.12, we can observe that the WLR error indicator captures more subtle features of the solution than the error indicator based on the gradient.






4.3 Example 3—Dam Break Test
In example 3 taken from [36], we simulate the propagation of the dam-break flood wave which produces a moving wet/dry fronts over an irregular dry bed with three obstacles. The test allows to verify capability of the proposed adaptive algorithm to handle wet/dry interfaces. The bottom topography is defined by,
(4.5) |
in the computational domain is . At , an upstream reservoir in the region filled with water up to is suddenly released. Hence, the following initial condition is imposed,
(4.6) |
In this example, we consider the friction effects by modifying the governing equation (1.1b) and (1.1c) with the Manning friction terms as follows,
(4.7) |
where is the Manning roughness coefficient. We have used the homogeneous Neumann boundary condition for the left boundary and the solid wall boundary condition for the other boundaries.
We first present the numerical solution computed by applying the central-upwind scheme without the adaptivity [36] on the uniform meshes. Fig. 4.13 and Fig. 4.14 are the 3-D view of the dam-break wave propagation over the initially dry bed obtained respectively on and uniform meshes at different times and . As can be observed from the figures, the water wave spreads from the reservoir and passes the obstacles. In addition, we plot the contour lines of the water depth for the solutions obtained on the uniform meshes (Fig. 4.15) and (Fig. 4.16). The contour lines clearly show the reflections and interactions of waves.




Now, we continue the test for the proposed adaptive central-upwind method with the refined meshes generated from the uniform mesh . The threshold for the grid refinement is set to in this example. In Fig. 4.17 and Fig. 4.18, we show the 3-D view of the simulated water computed by the adaptive scheme on the adaptive meshes with two cases of the highest refinement level and . The behavior of the wave is similar to the result obtained by the central-upwind scheme without adaptivity, see Fig. 4.13 and Fig. 4.14. This means that the adaptive scheme performs well in simulating the wetting/drying processes. There are no non-physical spurious waves appear as a result of the simulation. We also present the contour lines of the water depth obtained on the adaptive meshes with (Fig. 4.19) and (Fig. 4.20). Clearly, the simulated solution captures correctly the reflections and interactions of the waves with no oscillations or disturbances showing up at the wet/dry interfaces. The considered adaptive meshes with are plotted in Fig. 4.21 and with in Fig. 4.22. As we expected, the moving refined/de-refined regions match with the wetting and drying processes in the propagation of the flow.
Finally, we present the ratios at time in Table 4.7. The result in Table 4.7 shows that the average cost for the adaptive central-upwind method is about half of the cost for the central-upwind method without adaptivity. Note that at , the refined region is larger than half of the computational domain, see Fig. 4.21 and Fig. 4.22. Therefore, the numerical cost is not as remarkably reduced with the adaptive grid as the cost in example 2, see Table 4.6. As illustrated, the adaptive central-upwind method preserves the advantages of the well-balanced positivity preserving central-upwind scheme proposed in [36], but at a less computational cost.
















uniform mesh (cells) | adaptive mesh (cells) | with | adaptive mesh (cells) | with |
15,064 | 2.47 | 14,299 | 2.64 | |
59,252 | 1.62 | 54,518 | 2.13 | |
238,485 | 1.53 | 217,075 | 1.69 | |
average: | 1.87 | 2.02 |
5 Conclusion
We have developed a new adaptive well-balanced and positivity preserving central-upwind scheme on unstructured traingular meshes for shallow water equations. The designed scheme is an extension and improvement of the scheme in [36]. In addition, as a part of the adaptive algorithm, we obained a robust local error indicator for the efficient mesh refinement strategy. We conducted several challenging numerical tests for shallow water equations and we demonstrated that the new adaptive central-upwind scheme maintains important stability properties (i.e., well-balanced and positivity-preserving properties) and delivers high-accuracy at a reduced computational cost.
References
- [1] E. Audusse, F. Bouchut, M.-O. Bristeau, R. Klein, and B. Perthame, A fast and stable well-balanced scheme with hydrostatic reconstruction for shallow water flows, SIAM J. Sci. Comput., 25 (2004), pp. 2050–2065 (electronic).
- [2] P. Azerad, J.-L. Guermond, and B. Popov, Well-balanced second-order approximation of the shallow water equation with continuous finite elements, SIAM J. Numer. Anal., 55 (2017), pp. 3203–3224.
- [3] A. Bollermann, G. Chen, A. Kurganov, and S. Noelle, A well-balanced reconstruction of wet/dry fronts for the shallow water equations, J. Sci. Comput., 56 (2013), pp. 267–290.
- [4] A. Bollermann, S. Noelle, and M. Lukáčová-Medviďová, Finite volume evolution Galerkin methods for the shallow water equations with dry beds, Commun. Comput. Phys., 10 (2011), pp. 371–404.
- [5] S. Bryson, Y. Epshteyn, A. Kurganov, and G. Petrova, Central Upwind Scheme on Triangular Grids for the Saint Venant System of Shallow Water Equations, AIP Conference Proceedings, 1389 (2011), pp. 686–689.
- [6] S. Bryson, Y. Epshteyn, A. Kurganov, and G. Petrova, Well-balanced positivity preserving central-upwind scheme on triangular grids for the Saint-Venant system, ESAIM Math. Model. Numer. Anal., 45 (2011), pp. 423–446.
- [7] S. Bryson and D. Levy, Balanced central schemes for the shallow water equations on unstructured grids, SIAM J. Sci. Comput., 27 (2005), pp. 532–552 (electronic).
- [8] S. Bunya, E. J. Kubatko, J. J. Westerink, and C. Dawson, A wetting and drying treatment for the Runge-Kutta discontinuous Galerkin solution to the shallow water equations, Comput. Methods Appl. Mech. Engrg., 198 (2009), pp. 1548–1562.
- [9] A. Chertock, Y. Epshteyn, H. Hu, and A. Kurganov, High-order positivity-preserving hybrid finite-volume-finite-difference methods for chemotaxis systems, Adv. Comput. Math., 44 (2018), pp. 327–350.
- [10] A. Chertock, K. Fellner, A. Kurganov, A. Lorz, and P. A. Markowich, Sinking, merging and stationary plumes in a coupled chemotaxis-fluid model: a high-resolution numerical approach, Journal of Fluid Mechanics, 694 (2012), pp. 155–190.
- [11] A. Chertock, A. Kurganov, and Y. Liu, Central-upwind schemes for the system of shallow water equations with horizontal temperature gradients, Numer. Math., 127 (2014), pp. 595–639.
- [12] A. J. C. de Saint-Venant, Thèorie du mouvement non-permanent des eaux, avec application aux crues des rivière at à l’introduction des marèes dans leur lit., C.R. Acad. Sci. Paris, 73 (1871), pp. 147–154.
- [13] M. O. Domingues, S. M. Gomes, O. Roussel, and K. Schneider, An adaptive multiresolution scheme with local time stepping for evolutionary pdes, Journal of Computational Physics, 227 (2008), pp. 3758–3780.
- [14] R. Donat, M. Martí, A. Martínez-Gavara, and P. Mulet, Well-balanced adaptive mesh refinement for shallow water flows, Journal of Computational Physics, 257 (2014), pp. 937–953.
- [15] U. S. Fjordholm, S. Mishra, and E. Tadmor, Energy preserving and energy stable schemes for the shallow water equations, in Foundations of computational mathematics, Hong Kong 2008, vol. 363 of London Math. Soc. Lecture Note Ser., Cambridge Univ. Press, Cambridge, 2009, pp. 93–139.
- [16] , Well-balanced and energy stable schemes for the shallow water equations with discontinuous topography, J. Comput. Phys., 230 (2011), pp. 5587–5609.
- [17] T. Gallouët, J.-M. Hérard, and N. Seguin, Some approximate Godunov schemes to compute shallow-water equations with topography, Comput. & Fluids, 32 (2003), pp. 479–513.
- [18] D. L. George, Finite volume methods and adaptive refinement for tsunami propagation and inundation, Ph.D, University of Washington, (2006).
- [19] M. A. Ghazizadeh, A. Mohammadian, and A. Kurganov, An adaptive well-balanced positivity preserving central-upwind scheme on quadtree grids for shallow water equations, Computers Fluids, 208 (2020), p. 104633.
- [20] S. Gottlieb, C.-W. Shu, and E. Tadmor, Strong stability-preserving high-order time discretization methods, SIAM Rev., 43 (2001), pp. 89–112.
- [21] N. Hannoun and V. Alexiades, Issues in adaptive mesh refinement implementation, Electronic Journal of Differential Equations, 15 (2007), pp. 141–151.
- [22] S. Jin, A steady-state capturing method for hyperbolic systems with geometrical source terms, M2AN Math. Model. Numer. Anal., 35 (2001), pp. 631–645.
- [23] S. Jin and X. Wen, Two interface-type numerical methods for computing hyperbolic systems with geometrical source terms having concentrations, SIAM J. Sci. Comput., 26 (2005), pp. 2079–2101.
- [24] S. Karni and A. Kurganov, Local error analysis for approximate solutions of hyperbolic conservation laws, Adv. Comput. Math., 22 (2005), pp. 79–99.
- [25] A. Kurganov and D. Levy, Central-upwind schemes for the Saint-Venant system, M2AN Math. Model. Numer. Anal., 36 (2002), pp. 397–425.
- [26] A. Kurganov and Y. Liu, New adaptive artificial viscosity method for hyperbolic systems of conservation laws, J. Comput. Phys., 231 (2012), pp. 8114–8132.
- [27] A. Kurganov and J. Miller, Central-upwind scheme for Savage-Hutter type model of submarine landslides and generated tsunami waves, Comput. Methods Appl. Math., 14 (2014), pp. 177–201.
- [28] A. Kurganov, S. Noelle, and G. Petrova, Semi-discrete central-upwind schemes for hyperbolic conservation laws and Hamilton-Jacobi equations, SIAM J. Sci. Comput., 23 (2001), pp. 707–740.
- [29] A. Kurganov and G. Petrova, Central-upwind schemes on triangular grids for hyperbolic systems of conservation laws, Numer. Methods Partial Differential Equations, 21 (2005), pp. 536–552.
- [30] A. Kurganov and G. Petrova, A second-order well-balanced positivity preserving scheme for the Saint-Venant system, Commun. Math. Sci., 5 (2007), pp. 133–160.
- [31] A. Kurganov and E. Tadmor, New high-resolution central schemes for nonlinear conservation laws and convection-diffusion equations, J. Comput. Phys., 160 (2000), pp. 241–282.
- [32] , New high-resolution semi-discrete central schemes for Hamilton-Jacobi equations, J. Comput. Phys., 160 (2000), pp. 720–742.
- [33] R. LeVeque, Balancing source terms and flux gradients in high-resolution Godunov methods: the quasi-steady wave-propagation algorithm, J. Comput. Phys., 146 (1998), pp. 346–365.
- [34] , Finite volume methods for hyperbolic problems, Cambridge Texts in Applied Mathematics, Cambridge University Press, Cambridge, 2002.
- [35] M. Li, P. Guyenne, F. Li, and L. Xu, A positivity-preserving well-balanced central discontinuous Galerkin method for the nonlinear shallow water equations, J. Sci. Comput., 71 (2017), pp. 994–1034.
- [36] X. Liu, J. Albright, Y. Epshteyn, and A. Kurganov, Well-balanced positivity preserving central-upwind scheme with a novel wet/dry reconstruction on triangular grids for the Saint-Venant system, Journal of Computational Physics, 374 (2018), pp. 213 – 236.
- [37] M. Moreira Lopes, M. O. Domingues, K. Schneider, and O. Mendes, Local time-stepping for adaptive multiresolution using natural extension of runge–kutta methods, Journal of Computational Physics, 382 (2019), pp. 291 – 318.
- [38] H. Nessyahu and E. Tadmor, Nonoscillatory central differencing for hyperbolic conservation laws, J. Comput. Phys., 87 (1990), pp. 408–463.
- [39] S. Noelle, N. Pankratz, G. Puppo, and J. Natvig, Well-balanced finite volume schemes of arbitrary order of accuracy for shallow water flows, J. Comput. Phys., 213 (2006), pp. 474–499.
- [40] B. Perthame and C. Simeoni, A kinetic scheme for the Saint-Venant system with a source term, Calcolo, 38 (2001), pp. 201–231.
- [41] G. Russo, Central schemes for balance laws, in Hyperbolic problems: theory, numerics, applications, Vol. I, II (Magdeburg, 2000), vol. 141 of Internat. Ser. Numer. Math., 140, Birkhäuser, Basel, 2001, pp. 821–829.
- [42] G. Russo, Central schemes for conservation laws with application to shallow water equations, in Trends and applications of mathematics to mechanics: STAMM 2002, S. Rionero and G. Romano (eds.), (2005), pp. 225–246.
- [43] M. L. Sæ tra, A. R. Brodtkorb, and K.-A. Lie, Efficient GPU-implementation of adaptive mesh refinement for the shallow-water equations, J. Sci. Comput., 63 (2015), pp. 23–48.
- [44] H. Shirkhani, A. Mohammadian, O. Seidou, and A. Kurganov, A well-balanced positivity-preserving central-upwind scheme for shallow water equations on unstructured quadrilateral grids, Comput. & Fluids, 126 (2016), pp. 25–40.
- [45] E. Tadmor, Local error estimates for discontinuous solutions of nonlinear hyperbolic equations, SIAM J. Numer. Anal., 28 (1991), pp. 891–906.
- [46] Y. Xing and C.-W. Shu, High order finite difference WENO schemes with the exact conservation property for the shallow water equations, J. Comput. Phys., 208 (2005), pp. 206–227.
- [47] , 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 (2006), pp. 567–598.