Skip to content

Repaired GIZMO_SPH after the time integration changes that had been made.

Bert Vandenbroucke requested to merge gizmo_fix into master

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) in hydro_init_part, and is used during the force loop to decide whether or not to exchange flux with particle j in the asymmetric version of the interaction method.

For all other hydro schemes, this method is empty.

Other changes:

  • made sure benchmarkInteractions compiles with GIZMO_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).

Merge request reports