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.
翻译:本文研究了求解具有不连续底部地形的非线性浅水方程时出现的一种数值伪影。对于多种一阶格式,动量数值解会在底部不连续点处形成虚假尖峰,而精确解中本不应存在这一现象。即使加密网格,该尖峰高度也无法降低。对于亚声速问题,这种数值伪影可能导致解收敛到远离精确解的函数。为解释虚假尖峰的成因,我们通过证明Lax-Wendroff型定理进行了收敛性分析。结果表明,虚假尖峰源于在不连续底部处计算水位时引入的数值粘性,其高度与Lax-Friedrichs通量中粘性常数的大小成正比。基于此结论,我们提出一种改进格式,在质量守恒方程中采用底部不连续处的中心通量,并在多数情况下消除了该数值伪影。针对非跨声速Riemann解的多种数值测试表明,改进格式能恢复正确的收敛性。