diff --git a/src/gravity_properties.c b/src/gravity_properties.c index 79be11a8bab2389c19c58a59851379ea23d5fb3f..928765cc14f856929cb30e936c6044d87b70186a 100644 --- a/src/gravity_properties.c +++ b/src/gravity_properties.c @@ -48,6 +48,9 @@ void gravity_props_init(struct gravity_props *p, p->r_cut_min = parser_get_opt_param_float(params, "Gravity:r_cut_min", gravity_props_default_r_cut_min); + if (p->a_smooth <= 0.) + error("The mesh smoothing scale 'a_smooth' must be > 0."); + /* Time integration */ p->eta = parser_get_param_float(params, "Gravity:eta"); diff --git a/src/runner_doiact_fft.c b/src/runner_doiact_fft.c index 97283542f43a139afbff6073dde7a77cbcf094e2..9bcf69feda6c6d237baa3eaac38ae7c9536b052c 100644 --- a/src/runner_doiact_fft.c +++ b/src/runner_doiact_fft.c @@ -454,6 +454,7 @@ void runner_do_grav_fft(struct runner* r, int timer) { TIMER_TIC; if (cdim[0] != cdim[1] || cdim[0] != cdim[2]) error("Non-square mesh"); + if (a_smooth <= 0.) error("Invalid value of a_smooth"); /* Some useful constants */ const int N = cdim[0]; diff --git a/tests/fft_params.yml b/tests/fft_params.yml index 6938e3658148874e58f50ab768a5e1fbc41d9573..ff32d83d4811162141f8723739bb0c93c992d81b 100644 --- a/tests/fft_params.yml +++ b/tests/fft_params.yml @@ -7,5 +7,5 @@ Gravity: theta: 0.7 # Opening angle (Multipole acceptance criterion) comoving_softening: 0.00001 # Comoving softening length (in internal units). max_physical_softening: 0.00001 # Physical softening length (in internal units). - a_smooth: 0. + a_smooth: 0.00001 r_cut: 0.