amerta: A Python Library for Idealized 1D Saint--Venant Dam-Break Simulation
read the original abstract
The Saint-Venant shallow water equations (SWE) govern depth-integrated free-surface flows arising in dam-break inundation, flood routing, tsunami runup, and estuarine tidal dynamics. Closed-form analytical solutions exist only for highly idealized Riemann configurations, making rigorously verified numerical solvers essential. This work presents amerta, an open-source Python library that solves the one-dimensional frictionless Saint-Venant system on a uniform Cartesian grid using Monotone Upstream-centered Schemes for Conservation Laws (MUSCL) reconstruction with a minmod slope limiter, the Harten-Lax-van Leer-Contact (HLLC) approximate Riemann solver, and two-stage strong-stability-preserving Runge-Kutta (SSP-RK) time integration. Numba just-in-time (JIT) compilation accelerates the performance-critical kernels. The solver is verified end-to-end against the four canonical Riemann configurations: wet-bed dam break, dry-bed dam break, double rarefaction, and double shock. A six-component post-processing pipeline quantifies space-time topology, final-time error norms with empirical quantile decomposition, self-similarity collapse onto the analytical Riemann fan, integral-norm evolution, boundary-flux-corrected mass and energy diagnostics, and phase-plane analysis against analytical wave curves. The implementation conserves discrete mass to floating-point precision, satisfies discrete entropy admissibility identically, and reproduces all four analytical wave-curve geometries to within sub-centimetre accuracy in the depth-velocity phase plane. The complete source code, analytical-solution evaluators, post-processing scripts, and Network Common Data Format (NetCDF) archives are released under the MIT license.
This paper has not been read by Pith yet.
discussion (0)
Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.