diff --git a/src/engine.c b/src/engine.c index d71f64669852c4eeddb9e1fca4fc1c76698620b7..1f51380c7c6a2a4bd3cea2470967647b29be1f0c 100644 --- a/src/engine.c +++ b/src/engine.c @@ -2951,6 +2951,13 @@ void engine_init_particles(struct engine *e, int flag_entropy_ICs) { if (e->nodeID == 0) message("Computing initial gas densities."); + /* Initialise the softening lengths */ + if (e->policy & engine_policy_self_gravity) { + + for (size_t i = 0; i < s->nr_gparts; ++i) + gravity_init_softening(&s->gparts[i], e->gravity_properties); + } + /* Construct all cells and tasks to start everything */ engine_rebuild(e); diff --git a/src/gravity/Default/gravity.h b/src/gravity/Default/gravity.h index 9ff69357163ca46a3d4b21d048cac465771e047e..312a9b61b1caa97b9ccd9e2c092ca406ab374da2 100644 --- a/src/gravity/Default/gravity.h +++ b/src/gravity/Default/gravity.h @@ -113,9 +113,20 @@ __attribute__((always_inline)) INLINE static void gravity_first_init_gpart( struct gpart* gp) { gp->time_bin = 0; - gp->epsilon = 0.1; // MATTHIEU + gp->epsilon = 0.f; gravity_init_gpart(gp); } +/** + * @brief Initialises the softening of the g-particles + * + * @param gp The particle to act upon + */ +__attribute__((always_inline)) INLINE static void gravity_init_softening( + struct gpart* gp, const struct gravity_props* grav_props) { + + gp->epsilon = grav_props->epsilon; +} + #endif /* SWIFT_DEFAULT_GRAVITY_H */