Low Mach number hydrodynamics solver

pyro’s low Mach hydrodynamics solver is designed for atmospheric flows. It captures the effects of stratification on a fluid element by enforcing a divergence constraint on the velocity field. The governing equations are:

\[\begin{split}\frac{\partial \rho}{\partial t} + \nabla \cdot (\rho U) &= 0 \\ \frac{\partial U}{\partial t} + U \cdot \nabla U + \frac{\beta_0}{\rho} \nabla \left ( \frac{p'}{\beta_0} \right ) &= \frac{\rho'}{\rho} g \\ \nabla \cdot (\beta_0 U) = 0\end{split}\]

with \(\nabla p_0 = \rho_0 g\) and \(\beta_0 = p_0^{1/\gamma}\).

As with the incompressible solver, we implement a cell-centered approximate projection method.

The main parameters that affect this solver are:

  • section: [driver]

    option

    value

    description

    cfl

    0.8

  • section: [eos]

    option

    value

    description

    gamma

    1.4

    pres = rho ener (gamma - 1)

  • section: [lm-atmosphere]

    option

    value

    description

    limiter

    2

    limiter (0 = none, 1 = 2nd order, 2 = 4th order)

    proj_type

    2

    what are we projecting? 1 includes -Gp term in U*

    grav

    -2.0

Examples

bubble

The bubble problem places a buoyant bubble in a stratified atmosphere and watches the development of the roll-up due to shear as it rises. This is run as:

./pyro.py lm_atm bubble inputs.bubble