From 7c052c00d4dd3e5e0c5c16e96d48331cad0a00a9 Mon Sep 17 00:00:00 2001
From: Matthieu Schaller <matthieu.schaller@durham.ac.uk>
Date: Thu, 3 Mar 2016 15:58:10 +0100
Subject: [PATCH] Also check that the final time is larger than the initial
 time + correct a typo.

---
 examples/main.c |  6 +-----
 src/engine.c    | 12 ++++++++++++
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/examples/main.c b/examples/main.c
index d6a8947ece..edc11bf29c 100644
--- a/examples/main.c
+++ b/examples/main.c
@@ -171,7 +171,7 @@ int main(int argc, char *argv[]) {
       case 'd':
         if (sscanf(optarg, "%f", &dt_min) != 1)
           error("Error parsing minimal timestep.");
-        if (myrank == 0) message("dt_min set to %e.", dt_max);
+        if (myrank == 0) message("dt_min set to %e.", dt_min);
         fflush(stdout);
         break;
       case 'e':
@@ -323,10 +323,6 @@ int main(int argc, char *argv[]) {
             aFactor(&us, UNIT_CONV_ENTROPY), hFactor(&us, UNIT_CONV_ENTROPY));
   }
 
-  /* Check we have sensible time step bounds */
-  if (dt_min > dt_max)
-    error("Minimal time step size must be large than maximal time step size ");
-
   /* Check whether an IC file has been provided */
   if (strcmp(ICfileName, "") == 0)
     error("An IC file name must be provided via the option -f");
diff --git a/src/engine.c b/src/engine.c
index a7c29f1211..e4fd57a7b3 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -1936,6 +1936,18 @@ void engine_init(struct engine *e, struct space *s, float dt, int nr_threads,
   /* Print information about the hydro scheme */
   if (e->nodeID == 0) message("Hydrodynamic scheme: %s", SPH_IMPLEMENTATION);
 
+  /* Check we have sensible time bounds */
+  if (timeBegin >= timeEnd)
+    error(
+        "Final simulation time (t_end = %e) must be larger than the start time "
+        "(t_beg = %e)",
+        timeEnd, timeBegin);
+
+  /* Check we have sensible time step bounds */
+  if (e->dt_min > e->dt_max)
+    error(
+        "Minimal time step size must be smaller than maximal time step size ");
+
   /* Deal with timestep */
   e->timeBase = (timeEnd - timeBegin) / max_nr_timesteps;
   e->ti_current = 0;
-- 
GitLab