From cbccdc3a1cd8f837513020072ab7c417c718d202 Mon Sep 17 00:00:00 2001 From: Matthieu Schaller <schaller@strw.leidenuniv.nl> Date: Tue, 18 Dec 2018 11:00:29 +0100 Subject: [PATCH] The time-step limiter should ignore inhibited particles. --- src/runner.c | 3 +++ src/space.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/runner.c b/src/runner.c index 330c9cbc2f..8bd8fa3252 100644 --- a/src/runner.c +++ b/src/runner.c @@ -2401,6 +2401,9 @@ void runner_do_limiter(struct runner *r, struct cell *c, int force, int timer) { struct part *restrict p = &parts[k]; struct xpart *restrict xp = &xparts[k]; + /* Avoid inhibited particles */ + if (part_is_inhibited(p, e)) continue; + /* If the particle will be active no need to wake it up */ if (part_is_active(p, e) && p->wakeup != time_bin_not_awake) p->wakeup = time_bin_not_awake; diff --git a/src/space.c b/src/space.c index 0b3caac788..8b2b9b5008 100644 --- a/src/space.c +++ b/src/space.c @@ -4286,6 +4286,9 @@ void space_check_limiter_mapper(void *map_data, int nr_parts, /* Verify that all limited particles have been treated */ for (int k = 0; k < nr_parts; k++) { + + if (parts[k].time_bin == time_bin_inhibited) continue; + if (parts[k].wakeup == time_bin_awake) error("Particle still woken up! id=%lld", parts[k].id); -- GitLab