diff --git a/src/engine.c b/src/engine.c index b5035598e4840a96149acffc217c7c78eb1d53f1..6d2921d80258469922a3ec7e247306519a9fa12f 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