We present a new approach to Eulerian computational fluid dynamics that is
designed to work at high Mach numbers encountered in astrophysical hydrodynamic
simulations. The Eulerian fluid conservation equations are solved in an
adaptive frame moving with the fluid where Mach numbers are minimized. The
moving frame approach uses a velocity decomposition technique to define local
kinetic variables while storing the bulk kinetic components in a smoothed
background velocity field that is associated with the grid velocity.
Gravitationally induced accelerations are added to the grid, thereby minimizing
the spurious heating problem encountered in cold gas flows. Separately tracking
local and bulk flow components allows thermodynamic variables to be accurately
calculated in both subsonic and supersonic regions. A main feature of the
algorithm, that is not possible in previous Eulerian implementations, is the
ability to resolve shocks and prevent spurious heating where both the preshock
and postshock Mach numbers are high. The hybrid algorithm combines the high
resolution shock capturing ability of the second-order accurate Eulerian TVD
scheme with a low-diffusion Lagrangian advection scheme. We have implemented a
cosmological code where the hydrodynamic evolution of the baryons is captured
using the moving frame algorithm while the gravitational evolution of the
collisionless dark matter is tracked using a particle-mesh N-body algorithm.
The MACH code is highly suited for simulating the evolution of the IGM where
accurate thermodynamic evolution is needed for studies of the Lyman alpha
forest, the Sunyaev-Zeldovich effect, and the X-ray background. Hydrodynamic
and cosmological tests are described and results presented. The current code is
fast, memory-friendly, and parallelized for shared-memory machines.Comment: 19 pages, 5 figure