f-wave riemann solver

The f-wave Riemann solver employs flux-based wave decomposition (f-waves) for the calculation of Godunov fluxes and does not require the explicit definition of the Roe matrix to enforce conservation. This is an important property in the context of atmospheric flows since the Roe matrix for hyperbolic conservation laws governing atmospheric flows cannot be constructed. The other important feature of the Riemann solver is its ability to incorporate source term due to gravity without introducing discretization errors. Again, in the context of atmospheric flows this is an important advantage. The resulting finite volume scheme is conservative and has the ability to resolve regions of steep gradients accurately. Positivity of scalars is also guaranteed by applying the total variation diminishing (TVD) condition appropriately.

kelvin-helmholtz waves


potential temperature

non-hydrostatic inertia-gravity waves


vertical velocity

comparison with wrf model (warm bubble case)


Time history of the domain maximum potential temperature perturbation. The WRF time history of potential temperature perturbation shows that the unlike the Godunov scheme, the WRF 5th order upwind-biased scheme is not conservative. In the Godunov solution, the value of potential temperature perturbation decreases monotonically, whereas the spurious oscillations in the WRF solution imply the presence of energy sources and sinks, which is physically incorrect.


Time histories of the domain maximum and minimum u-velocity. The u-velocity time histories of the WRF run show the stability problems associated with non-TVD schemes. Although the scheme is upwind-biased with implicit numerical diffusion, it blows up in the absence of filters (artificial viscosity).

details

Ahmad, N., and J. Lindeman, 2007: Euler Solutions using Flux-based Wave Decomposition. International Journal for Numerical Methods in Fluids, 54:1,47-72.

CLAWPACK - Professor Randall J. LeVeque, Univ. of Washington, Seattle

download source code

atmos-claw.tar.gz