A New Way to Conserve Total Energy for Eulerian Hydrodynamic Simulations   with Self-Gravity
  We propose a new method to conserve the total energy to round-off error in grid-based codes for hydrodynamic simulations with self-gravity. A formula for the energy flux due to the work done by the the self-gravitational force is given, so the change in total energy can be written in conservative form. Numerical experiments with the code Athena show that the total energy is indeed conserved with our new algorithm and the new algorithm is second order accurate. We have performed a set of tests that show the numerical errors in the traditional, non-conservative algorithm can affect the dynamics of the system. The new algorithm only requires one extra solution of the Poisson equation, as compared to the traditional algorithm which includes self-gravity as a source term. If the Poisson solver takes a negligible fraction of the total simulation time, such as when FFTs are used, the new algorithm is almost as efficient as the original method. This new algorithm is useful in Eulerian hydrodynamic simulations with self-gravity, especially when results are sensitive to small energy errors, as for radiation pressure dominated flow. 
Yan-Fei Jiang, Mikhail Belyaev, Jeremy Goodman, James M. Stone
astro-ph.IM physics.comp-ph