Skip to content
  • Matthieu Schaller's avatar
    Merge branch 'gizmo_fix' into 'master' · f7ae078d
    Matthieu Schaller authored
    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`) 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).
    
    See merge request !315
    f7ae078d