diff --git a/src/cell.c b/src/cell.c index b7c6cd9e3331de333a8e718a6b4ef2a1cabb9c4b..cbf93a694b24929a32f16f30752039a1ba357da2 100644 --- a/src/cell.c +++ b/src/cell.c @@ -2680,7 +2680,7 @@ void cell_recursively_activate_kicks(struct cell *c, struct scheduler *s, if (c->kick1 != NULL) { scheduler_activate(s, c->kick1); scheduler_activate(s, c->kick2); - scheduler_activate(s, c->timestep); + // scheduler_activate(s, c->timestep); } else { #ifdef SWIFT_DEBUG_CHECKS @@ -2710,6 +2710,7 @@ void cell_activate_kicks(struct cell *c, struct scheduler *s, scheduler_activate(s, c->kick2_out); scheduler_activate(s, c->timestep_in); scheduler_activate(s, c->timestep_out); + scheduler_activate(s, c->timestep); cell_recursively_activate_kicks(c, s, e); } diff --git a/src/engine.c b/src/engine.c index d2d2d844bcfe41befe0744e022a22e2877747c79..fe8f1fcff02ca8726c8cd4595e121c38bd0312fa 100644 --- a/src/engine.c +++ b/src/engine.c @@ -2043,14 +2043,14 @@ void engine_skip_force_and_kick(struct engine *e) { if (t->type == task_type_drift_part || t->type == task_type_drift_gpart || t->type == task_type_drift_spart || t->type == task_type_drift_bpart || t->type == task_type_kick1 || t->type == task_type_kick2 || - t->type == task_type_kick1_in || t->type == task_type_kick2_in || - t->type == task_type_kick1_out || t->type == task_type_kick2_out || + t->type == task_type_kick1_in || t->type == task_type_kick2_in || + t->type == task_type_kick1_out || t->type == task_type_kick2_out || t->type == task_type_timestep || t->type == task_type_timestep_in || - t->type == task_type_timestep_out || + t->type == task_type_timestep_out || t->type == task_type_timestep_limiter || t->type == task_type_timestep_sync || t->type == task_type_end_hydro_force || t->type == task_type_cooling || - t->type == task_type_cooling_in || t->type == task_type_cooling_out || + t->type == task_type_cooling_in || t->type == task_type_cooling_out || t->type == task_type_stars_in || t->type == task_type_stars_out || t->type == task_type_star_formation || t->type == task_type_stars_resort || t->type == task_type_extra_ghost || diff --git a/src/engine_maketasks.c b/src/engine_maketasks.c index 409548bb3885bc328041d5b2ffb74f72df7b8a7b..9e0412336dbef250565c9631d7830a6a17fea6bf 100644 --- a/src/engine_maketasks.c +++ b/src/engine_maketasks.c @@ -843,10 +843,8 @@ void engine_add_kicks(struct engine *e, struct cell *c, struct task *kick1_in, scheduler_addunlock(s, kick2_in, c->kick2); scheduler_addunlock(s, c->kick2, kick2_out); - c->timestep = scheduler_addtask(s, task_type_timestep, task_subtype_none, 0, - 0, c, NULL); - scheduler_addunlock(s, timestep_in, c->timestep); - scheduler_addunlock(s, c->timestep, timestep_out); + // scheduler_addunlock(s, timestep_in, c->timestep); + // scheduler_addunlock(s, c->timestep, timestep_out); } else { /* Keep recursing */ @@ -921,6 +919,12 @@ void engine_make_hierarchical_tasks_common(struct engine *e, struct cell *c) { scheduler_addtask(s, task_type_timestep_out, task_subtype_none, 0, /*implicit=*/1, c, NULL); + c->timestep = scheduler_addtask(s, task_type_timestep, task_subtype_none, + 0, 0, c, NULL); + + scheduler_addunlock(s, c->timestep_in, c->timestep); + scheduler_addunlock(s, c->timestep, c->timestep_out); + /* Add the real tasks */ engine_add_kicks(e, c, c->kick1_in, c->kick1_out, c->kick2_in, c->kick2_out, c->timestep_in, c->timestep_out);