Accelerating self-gravitating hydrodynamics simulations with adaptive force updates
Michael Y. Grudić
Many astrophysical hydrodynamics simulations must account for gravity, and
evaluating the gravitational field at the positions of all resolution elements
can incur significant cost. Typical algorithms update the gravitational field
at the position of each resolution element every time the element is updated
hydrodynamically, but the actual required update frequencies for hydrodynamics
and gravity can be different in general. We show that the gravity calculation
in hydrodynamics simulations can be optimised by only updating gravity on a
timescale dictated by the already-determined maximum timestep for accurate
gravity integration $\Delta t_{\rm grav}$, while staying well within the
typical error budget of hydro schemes and gravity solvers. Our implementation
in the GIZMO code uses the tidal timescale introduced in Grudi\'c & Hopkins
2020 to determine $\Delta t_{\rm grav}$ and the force update frequency in turn,
and uses the jerk evaluated by the gravity solver to construct a predictor of
the acceleration for use between updates. We test the scheme on standard
self-gravitating hydrodynamics test problems, finding solutions very close to
the na\"{i}ve scheme while evaluating far fewer gravity forces, optimising the
simulations. We also demonstrate a $\sim 70\%$ speedup in a STARFORGE MHD GMC
simulation, with larger gains likely in higher-resolution runs. In general,
this scheme introduces a new tunable parameter for obtaining an optimal
compromise between accuracy and computational cost, in conjunction with e.g.
time-step tolerance, numerical resolution, and gravity solver tolerance.