Repaired GIZMO_SPH after the time integration changes that had been made.
The most important change is the addition of a new method, hydro_timestep_extra
, that is called after the new time step for a particle has been computed, and that passes the physical time step for the next step to the particle.
In GIZMO_SPH
, this method is used to
- store the physical time step in
p->force.dt
. This value is used during the force loop to exchange fluxes between particles - reset a new
p->force.active
flag to an inactive value (0
). This flag is set to an active value (1
) inhydro_init_part
, and is used during the force loop to decide whether or not to exchange flux with particlej
in the asymmetric version of the interaction method.
For all other hydro schemes, this method is empty.
Other changes:
- made sure
benchmarkInteractions
compiles withGIZMO_SPH
- added a compilation flag,
GIZMO_FIX_PARTICLES
, that disables particle movement. If possible, this should be replaced by a corresponding parameter - added some sanity checks on density and pressure values, and a proper treatment of vacuum in the gradient prediction step
This version successfully runs most of the hydro examples (including the Sod tests, Sedov blasts, Kelvin-Helmholtz test, square tests, Gresho vortex), but fails to run the 2D and 3D Noh problem (1D works).