aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetReduce
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@gmail.com>2013-03-18 16:25:22 -0400
committerErik Schnetter <schnetter@gmail.com>2013-03-18 16:25:22 -0400
commit10d085aa3043a139cc56fb0538bfe4e4741becd9 (patch)
tree02c5ac7a9f2e3a3fb9107e06ba4f2b8a5301035d /Carpet/CarpetReduce
parentafc9bb25ad65041be3705053da280be415f5ca9d (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.ccl4
-rw-r--r--Carpet/CarpetReduce/src/reduce.cc8
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))));