From 8ffa6ba3bd0b1ffb981ea22f3fbec48bc1843389 Mon Sep 17 00:00:00 2001 From: Matthieu Schaller <schaller@strw.leidenuniv.nl> Date: Sun, 23 Sep 2018 14:18:32 +0100 Subject: [PATCH] Hook-up the cooling task at the correct level in the tree when gravity is on. --- src/engine.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/engine.c b/src/engine.c index f74ebba0ed..1526718b03 100644 --- a/src/engine.c +++ b/src/engine.c @@ -209,7 +209,17 @@ void engine_make_hierarchical_tasks_common(struct engine *e, struct cell *c) { c->end_force = scheduler_addtask(s, task_type_end_force, task_subtype_none, 0, 0, c, NULL); - if (!is_with_cooling) scheduler_addunlock(s, c->end_force, c->kick2); + if (is_with_cooling) { + + c->cooling = scheduler_addtask(s, task_type_cooling, task_subtype_none, + 0, 0, c, NULL); + + scheduler_addunlock(s, c->end_force, c->cooling); + scheduler_addunlock(s, c->cooling, c->kick2); + + } else { + scheduler_addunlock(s, c->end_force, c->kick2); + } scheduler_addunlock(s, c->kick2, c->timestep); scheduler_addunlock(s, c->timestep, c->kick1); } @@ -239,7 +249,6 @@ void engine_make_hierarchical_tasks_common(struct engine *e, struct cell *c) { void engine_make_hierarchical_tasks_hydro(struct engine *e, struct cell *c) { struct scheduler *s = &e->sched; - const int is_with_cooling = (e->policy & engine_policy_cooling); const int is_with_sourceterms = (e->policy & engine_policy_sourceterms); /* Are we in a super-cell ? */ @@ -271,15 +280,6 @@ void engine_make_hierarchical_tasks_hydro(struct engine *e, struct cell *c) { task_subtype_none, 0, 0, c, NULL); #endif - /* Cooling task */ - if (is_with_cooling) { - c->cooling = scheduler_addtask(s, task_type_cooling, task_subtype_none, - 0, 0, c, NULL); - - scheduler_addunlock(s, c->super->end_force, c->cooling); - scheduler_addunlock(s, c->cooling, c->super->kick2); - } - /* add source terms */ if (is_with_sourceterms) { c->sourceterms = scheduler_addtask(s, task_type_sourceterms, -- GitLab