On a numerical artifact of solving shallow water equations with a discontinuous bottom: Analysis and a nontransonic fix
In this paper, we study a numerical artifact of solving the nonlinear shallow water equations with a discontinuous bottom topography. For various first-order schemes, the numerical solution of the momentum will form a spurious spike at the discontinuous points of the bottom, which should not exist in the exact solution. The height of the spike cannot be reduced even after the mesh is refined. For subsonic problems, this numerical artifact may cause the wrong convergence to a function far away from the exact solution. To explain the formation of the spurious spike, we perform a convergence analysis by proving a Lax–Wendroff type theorem. It is shown that the spurious spike is caused by the numerical viscosity in the computation of the water height at the discontinuous bottom. The height of the spike is proportional to the magnitude of the viscosity constant in the Lax–Friedrichs flux. Motivated by this conclusion, we propose a modified scheme by adopting the central flux at the bottom discontinuity in the equation of mass conservation, and show that this numerical artifact can be removed in many cases. For various numerical tests with nontransonic Riemann solutions, we observe that the modified scheme is able to retrieve the correct convergence.
READ FULL TEXT