Abstract: Conservation laws with source terms often have steady states in which the flux gradients are nonzero but exactly balanced by source terms. Many numerical methods (e.g., fractional step methods) have difficulty preserving such steady states and cannot accurately calculate small perturbations of such states. Here a variant of the wave-propagation algorithm is developed which addresses this problem by introducing a Riemann problem in the center of each grid cell whose flux difference exactly cancels the source term. This leads to modified Riemann problems at the cell edges in which the jump now corresponds to perturbations from the steady state. Computing waves and limiters based on the solution to these Riemann problems gives high-resolution results. The 1D and 2D shallow water equations for flow over arbitrary bottom topography are use as an example, though the ideas apply to many other systems. The method is easily implemented in the software package CLAWPACK.
Conservation Laws Preprint Server <conservation@math.ntnu.no> Last modified: Tue Jan 23 08:43:35 MET 2001