diff --git a/src/cosmology.c b/src/cosmology.c index 09472fd77cd98185ff8799e79f687b6552bcd901..92376903f26b904f21975f92186ea253aab81e03 100644 --- a/src/cosmology.c +++ b/src/cosmology.c @@ -119,6 +119,10 @@ static INLINE double E(double Or, double Om, double Ok, double Ol, double w0, */ double cosmology_get_time_since_big_bang(const struct cosmology *c, double a) { +#ifdef SWIFT_DEBUG_CHECKS + if (a < a_begin) error("Error a can't be smaller than a_begin"); +#endif + /* Time between a_begin and a */ const double delta_t = interp_table(c->time_interp_table, log(a), c->log_a_begin, c->log_a_end); @@ -506,6 +510,10 @@ double cosmology_get_drift_factor(const struct cosmology *c, integertime_t ti_start, integertime_t ti_end) { +#ifdef SWIFT_DEBUG_CHECKS + if (ti_end < ti_start) error("ti_end must be >= ti_start"); +#endif + const double a_start = c->log_a_begin + ti_start * c->time_base; const double a_end = c->log_a_begin + ti_end * c->time_base; @@ -530,6 +538,10 @@ double cosmology_get_grav_kick_factor(const struct cosmology *c, integertime_t ti_start, integertime_t ti_end) { +#ifdef SWIFT_DEBUG_CHECKS + if (ti_end < ti_start) error("ti_end must be >= ti_start"); +#endif + const double a_start = c->log_a_begin + ti_start * c->time_base; const double a_end = c->log_a_begin + ti_end * c->time_base; @@ -554,6 +566,10 @@ double cosmology_get_hydro_kick_factor(const struct cosmology *c, integertime_t ti_start, integertime_t ti_end) { +#ifdef SWIFT_DEBUG_CHECKS + if (ti_end < ti_start) error("ti_end must be >= ti_start"); +#endif + const double a_start = c->log_a_begin + ti_start * c->time_base; const double a_end = c->log_a_begin + ti_end * c->time_base; @@ -579,6 +595,10 @@ double cosmology_get_therm_kick_factor(const struct cosmology *c, integertime_t ti_start, integertime_t ti_end) { +#ifdef SWIFT_DEBUG_CHECKS + if (ti_end < ti_start) error("ti_end must be >= ti_start"); +#endif + const double a_start = c->log_a_begin + ti_start * c->time_base; const double a_end = c->log_a_begin + ti_end * c->time_base; @@ -600,11 +620,18 @@ double cosmology_get_therm_kick_factor(const struct cosmology *c, double cosmology_get_delta_time(const struct cosmology *c, double a1, double a2) { +#ifdef SWIFT_DEBUG_CHECKS + if (a2 < a1) error("Incorrect arguments. a2 must be >= a1"); + if (a1 < c->a_begin) + error("Value of a1 smaller than a_begin(%e)", c->a_begin); + if (a2 > c->a_end) error("Value of a2 larger than a_end(%e)", c->a_end); +#endif + /* Time between a_begin and a1 */ const double t1 = interp_table(c->time_interp_table, log(a1), c->log_a_begin, c->log_a_end); - /* Time between a_begin and a1 */ + /* Time between a_begin and a2 */ const double t2 = interp_table(c->time_interp_table, log(a2), c->log_a_begin, c->log_a_end);