diff --git a/src/engine.c b/src/engine.c index fe04187cef69021857a0f6d2e23eba09197bb8e8..e75a8c3f365fcfc8c6ea9899cdc1e4feba5d3422 100644 --- a/src/engine.c +++ b/src/engine.c @@ -3148,6 +3148,18 @@ void engine_marktasks_mapper(void *map_data, int num_elements, if (cell_is_active_hydro(ci, e)) scheduler_activate(s, t); } +#ifdef EXTRA_HYDRO_LOOP + else if (t->type == task_type_self && + t->subtype == task_subtype_gradient) { + if (cell_is_active_hydro(ci, e)) scheduler_activate(s, t); + } + + else if (t->type == task_type_sub_self && + t->subtype == task_subtype_gradient) { + if (cell_is_active_hydro(ci, e)) scheduler_activate(s, t); + } +#endif + /* Activate the gravity drift */ else if (t->type == task_type_self && t->subtype == task_subtype_grav) { if (cell_is_active_gravity(ci, e)) { @@ -3156,10 +3168,11 @@ void engine_marktasks_mapper(void *map_data, int num_elements, } } - else if (t->type == task_type_sub_self && - t->subtype == task_subtype_grav) { - error("Invalid task sub-type encountered"); +#ifdef SWIFT_DEBUG_CHECKS + else { + error("Invalid task type / sub-type encountered"); } +#endif } /* Pair? */ @@ -3175,6 +3188,7 @@ void engine_marktasks_mapper(void *map_data, int num_elements, /* Only activate tasks that involve a local active cell. */ if ((t->subtype == task_subtype_density || + t->subtype == task_subtype_gradient || t->subtype == task_subtype_force) && ((ci_active_hydro && ci->nodeID == engine_rank) || (cj_active_hydro && cj->nodeID == engine_rank))) {