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