aboutsummaryrefslogtreecommitdiff
path: root/Carpet/Carpet
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@gmail.com>2013-02-26 14:40:31 -0500
committerErik Schnetter <schnetter@gmail.com>2013-02-26 14:40:31 -0500
commite79c4e4952f6daf41340ba6b581ff7ad947a5087 (patch)
tree90224dfb9280f1adad72697f0d0b9b2af43096ad /Carpet/Carpet
parentd8d16c1e2536394054e15690c042eb728f640071 (diff)
Carpet: New aliased function GetRegriddingEpochs
Diffstat (limited to 'Carpet/Carpet')
-rw-r--r--Carpet/Carpet/interface.ccl9
-rw-r--r--Carpet/Carpet/src/helpers.cc14
2 files changed, 23 insertions, 0 deletions
diff --git a/Carpet/Carpet/interface.ccl b/Carpet/Carpet/interface.ccl
index 5858a8cbf..e36e64d20 100644
--- a/Carpet/Carpet/interface.ccl
+++ b/Carpet/Carpet/interface.ccl
@@ -264,6 +264,15 @@ PROVIDES FUNCTION GetRegriddingEpoch \
LANGUAGE C
CCTK_INT FUNCTION \
+ GetRegriddingEpochs \
+ (CCTK_POINTER_TO_CONST IN cctkGH, \
+ CCTK_INT IN size, \
+ CCTK_INT ARRAY OUT epochs)
+PROVIDES FUNCTION GetRegriddingEpochs \
+ WITH Carpet_GetRegriddingEpochs \
+ LANGUAGE C
+
+CCTK_INT FUNCTION \
GetRefinementLevel \
(CCTK_POINTER_TO_CONST IN cctkGH)
PROVIDES FUNCTION GetRefinementLevel \
diff --git a/Carpet/Carpet/src/helpers.cc b/Carpet/Carpet/src/helpers.cc
index dfd4d5bb9..a52eb5acd 100644
--- a/Carpet/Carpet/src/helpers.cc
+++ b/Carpet/Carpet/src/helpers.cc
@@ -2,6 +2,7 @@
#include <cctk_FortranString.h>
#include <cctk_Parameters.h>
+#include <algorithm>
#include <cassert>
#include <cstdarg>
#include <cstdio>
@@ -43,6 +44,19 @@ namespace Carpet {
return regridding_epoch;
}
+ // Get current regridding epochs
+ extern "C"
+ CCTK_INT Carpet_GetRegriddingEpochs (CCTK_POINTER_TO_CONST const cctkGH,
+ CCTK_INT const size,
+ CCTK_INT *restrict const epochs)
+ {
+ int const maxrl = min(size, CCTK_INT(level_regridding_epochs.size()));
+ for (int rl=0; rl<maxrl; ++rl) {
+ epochs[rl] = level_regridding_epochs.AT(rl);
+ }
+ return CCTK_INT(level_regridding_epochs.size());
+ }
+
// Get current refinement level
extern "C"
CCTK_INT Carpet_GetRefinementLevel (CCTK_POINTER_TO_CONST const cctkGH)