From 24a05c3dc34b7f3d44b43e772d47072ec95562fe Mon Sep 17 00:00:00 2001
From: Matthieu Schaller <matthieu.schaller@durham.ac.uk>
Date: Wed, 27 Jan 2016 18:06:07 +0000
Subject: [PATCH] With fixdt policy, place the timestep on the timeline.

---
 src/engine.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/engine.c b/src/engine.c
index b5035598e4..6d2921d802 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -2167,8 +2167,14 @@ void engine_init(struct engine *e, struct space *s, float dt, int nr_threads,
   engine_policy(e);
 
   /* Deal with timestep */
-  if(e->policy & engine_policy_fixdt)
+  if(e->policy & engine_policy_fixdt) {
     e->dt_min = e->dt_max;
+
+    /* Put this timestep on the time line */
+    float dt_timeline = e->timeEnd - e->timeBegin;
+    while (e->dt_min < dt_timeline) dt_timeline /= 2.;
+    e->dt_min = e->dt_max = dt_timeline;
+  }
   
 /* Construct types for MPI communications */
 #ifdef WITH_MPI
-- 
GitLab