diff --git a/src/runner.c b/src/runner.c index aa22170b8423721fc8bc13ace324c5c7c439d7e1..5637cde833a7abcb3f60a562f2d9f0388b28b26e 100644 --- a/src/runner.c +++ b/src/runner.c @@ -1504,11 +1504,9 @@ void runner_do_end_force(struct runner *r, struct cell *c, int timer) { * * @param r The runner thread. * @param c The cell. - * @param clear_sorts Should we clear the sort flag and hence trigger a sort ? * @param timer Are we timing this ? */ -void runner_do_recv_part(struct runner *r, struct cell *c, int clear_sorts, - int timer) { +void runner_do_recv_part(struct runner *r, struct cell *c, int timer) { #ifdef WITH_MPI @@ -1524,8 +1522,10 @@ void runner_do_recv_part(struct runner *r, struct cell *c, int clear_sorts, timebin_t time_bin_max = 0; float h_max = 0.f; - /* Clear this cell's sorted mask. */ - if (clear_sorts) c->sorted = 0; +#ifdef SWIFT_DEBUG_CHECKS + if(c->nodeID == engine_rank) + error("Updating a local cell!"); +#endif /* If this cell is a leaf, collect the particle data. */ if (!c->split) { @@ -1552,7 +1552,7 @@ void runner_do_recv_part(struct runner *r, struct cell *c, int clear_sorts, else { for (int k = 0; k < 8; k++) { if (c->progeny[k] != NULL) { - runner_do_recv_part(r, c->progeny[k], clear_sorts, 0); + runner_do_recv_part(r, c->progeny[k], 0); ti_end_min = min(ti_end_min, c->progeny[k]->ti_end_min); ti_end_max = max(ti_end_max, c->progeny[k]->ti_end_max); h_max = max(h_max, c->progeny[k]->h_max); @@ -1603,6 +1603,11 @@ void runner_do_recv_gpart(struct runner *r, struct cell *c, int timer) { timebin_t time_bin_min = num_time_bins; timebin_t time_bin_max = 0; +#ifdef SWIFT_DEBUG_CHECKS + if(c->nodeID == engine_rank) + error("Updating a local cell!"); +#endif + /* If this cell is a leaf, collect the particle data. */ if (!c->split) { @@ -1676,6 +1681,11 @@ void runner_do_recv_spart(struct runner *r, struct cell *c, int timer) { timebin_t time_bin_min = num_time_bins; timebin_t time_bin_max = 0; +#ifdef SWIFT_DEBUG_CHECKS + if(c->nodeID == engine_rank) + error("Updating a local cell!"); +#endif + /* If this cell is a leaf, collect the particle data. */ if (!c->split) { @@ -1942,11 +1952,11 @@ void *runner_main(void *data) { cell_unpack_ti_ends(ci, t->buff); free(t->buff); } else if (t->subtype == task_subtype_xv) { - runner_do_recv_part(r, ci, 1, 1); + runner_do_recv_part(r, ci, 1); } else if (t->subtype == task_subtype_rho) { - runner_do_recv_part(r, ci, 0, 1); + runner_do_recv_part(r, ci, 1); } else if (t->subtype == task_subtype_gradient) { - runner_do_recv_part(r, ci, 0, 1); + runner_do_recv_part(r, ci, 1); } else if (t->subtype == task_subtype_gpart) { runner_do_recv_gpart(r, ci, 1); } else if (t->subtype == task_subtype_spart) {