aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetIOScalar
diff options
context:
space:
mode:
authorcott <schnetter@cct.lsu.edu>2007-07-05 02:50:00 +0000
committercott <schnetter@cct.lsu.edu>2007-07-05 02:50:00 +0000
commit1ea2bb0e035c99f456b9d3de7fba7a15cc90037a (patch)
tree20e1ffd1f3b48c307ba60c82b2e8054896536506 /Carpet/CarpetIOScalar
parent3f093c146dc1a48276716e0358370536ca491822 (diff)
CarpetIOScalar: Add output criterion "divisor"
Support output criterion "divisor" in CarpetIOScalar. darcs-hash:20070705025022-fff0f-579437f698ea00d3f9835b40c50252cd519d4a98.gz
Diffstat (limited to 'Carpet/CarpetIOScalar')
-rw-r--r--Carpet/CarpetIOScalar/param.ccl1
-rw-r--r--Carpet/CarpetIOScalar/src/ioscalar.cc17
2 files changed, 18 insertions, 0 deletions
diff --git a/Carpet/CarpetIOScalar/param.ccl b/Carpet/CarpetIOScalar/param.ccl
index d4ac7a237..f42087b92 100644
--- a/Carpet/CarpetIOScalar/param.ccl
+++ b/Carpet/CarpetIOScalar/param.ccl
@@ -48,6 +48,7 @@ KEYWORD outScalar_criterion "Criterion to select scalar output intervals, overri
{
"never" :: "Never output"
"iteration" :: "Output every so many iterations"
+ "divisor" :: "Output if iteration mod divisor == 0."
"time" :: "Output every that much coordinate time"
} "iteration"
diff --git a/Carpet/CarpetIOScalar/src/ioscalar.cc b/Carpet/CarpetIOScalar/src/ioscalar.cc
index 4e65f1d87..0c28dd943 100644
--- a/Carpet/CarpetIOScalar/src/ioscalar.cc
+++ b/Carpet/CarpetIOScalar/src/ioscalar.cc
@@ -487,6 +487,23 @@ namespace CarpetIOScalar {
output_this_iteration = false;
}
+ } else if (CCTK_EQUALS (myoutcriterion, "divisor")) {
+
+ int myoutevery = outScalar_every;
+ if (myoutevery == -2) {
+ myoutevery = out_every;
+ }
+ if (myoutevery <= 0) {
+ // output is disabled
+ output_this_iteration = false;
+ } else if ((cctk_iteration % myoutevery) == 0 ) {
+ // we already decided to output this iteration
+ output_this_iteration = true;
+ } else {
+ // we want no output at this iteration
+ output_this_iteration = false;
+ }
+
} else if (CCTK_EQUALS (myoutcriterion, "time")) {
CCTK_REAL myoutdt = outScalar_dt;