diff --git a/src/runner.c b/src/runner.c index 330c9cbc2f473b46f1818213d94197e7164c073a..8bd8fa32528ec8426780657cbf5e6178dc422c9a 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 0b3caac788d19d1098f5bf3496581bdf43d2c87d..8b2b9b500820a36f4e63c5c8633ce692118121e8 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);