diff options
author | Erik Schnetter <schnetter@gmail.com> | 2013-03-18 16:25:22 -0400 |
---|---|---|
committer | Erik Schnetter <schnetter@gmail.com> | 2013-03-18 16:25:22 -0400 |
commit | 10d085aa3043a139cc56fb0538bfe4e4741becd9 (patch) | |
tree | 02c5ac7a9f2e3a3fb9107e06ba4f2b8a5301035d /Carpet/CarpetReduce | |
parent | afc9bb25ad65041be3705053da280be415f5ca9d (diff) |
CarpetReduce: New parameter min_max_time_interpolation
New parameter min_max_time_interpolation to disable time interpolation for min and max reductions.
Diffstat (limited to 'Carpet/CarpetReduce')
-rw-r--r-- | Carpet/CarpetReduce/param.ccl | 4 | ||||
-rw-r--r-- | Carpet/CarpetReduce/src/reduce.cc | 8 |
2 files changed, 11 insertions, 1 deletions
diff --git a/Carpet/CarpetReduce/param.ccl b/Carpet/CarpetReduce/param.ccl index a8cb98f42..eebe95058 100644 --- a/Carpet/CarpetReduce/param.ccl +++ b/Carpet/CarpetReduce/param.ccl @@ -3,3 +3,7 @@ BOOLEAN verbose "Produce screen output while running" STEERABLE=always { } "no" + +BOOLEAN min_max_time_interpolation "Interpolate in time for min/max reductions" STEERABLE=always +{ +} "yes" diff --git a/Carpet/CarpetReduce/src/reduce.cc b/Carpet/CarpetReduce/src/reduce.cc index c3668857b..ca10a7906 100644 --- a/Carpet/CarpetReduce/src/reduce.cc +++ b/Carpet/CarpetReduce/src/reduce.cc @@ -1,4 +1,5 @@ #include <cctk.h> +#include <cctk_Parameters.h> #include <util_ErrorCodes.h> #include <util_Table.h> @@ -1174,6 +1175,8 @@ namespace CarpetReduce { const int num_invars, const int* const invars, const reduction* const red, const int igrid) { + DECLARE_CCTK_PARAMETERS; + assert (cgh); int ierr; @@ -1332,7 +1335,10 @@ namespace CarpetReduce { // Number of necessary time levels CCTK_REAL const level_time = cgh->cctk_time; bool need_time_interp - = (not reduce_arrays + = ((min_max_time_interpolation + or (red->thered() != do_minimum + and red->thered() != do_maximum)) + and not reduce_arrays and (fabs(current_time - level_time) > 1e-12 * (fabs(level_time) + fabs(current_time) + fabs(cgh->cctk_delta_time)))); |