diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2011-11-14 15:13:28 -0500 |
---|---|---|
committer | Barry Wardell <barry.wardell@gmail.com> | 2011-12-14 19:54:54 +0000 |
commit | cb1d0ec7e92d9cd2b7cc528b4e6c909833e49be9 (patch) | |
tree | 7ddec50e13c5450e701396b47bf9562759d9a972 /Carpet/CarpetInterp2 | |
parent | cbac8861045e923cc2c8133bc42b6e81a8abad39 (diff) |
CarpetInterp2: Use level regridding epoch
Use level regridding epoch to determine whether the interpolation
communication scheme has to be recreated.
Diffstat (limited to 'Carpet/CarpetInterp2')
-rw-r--r-- | Carpet/CarpetInterp2/src/fasterp.cc | 23 | ||||
-rw-r--r-- | Carpet/CarpetInterp2/src/fasterp.hh | 1 |
2 files changed, 18 insertions, 6 deletions
diff --git a/Carpet/CarpetInterp2/src/fasterp.cc b/Carpet/CarpetInterp2/src/fasterp.cc index 61383fa69..f0f84da62 100644 --- a/Carpet/CarpetInterp2/src/fasterp.cc +++ b/Carpet/CarpetInterp2/src/fasterp.cc @@ -489,7 +489,10 @@ namespace CarpetInterp2 { fasterp_glocs_t const & locations, int const order_) : order (order_), - regridding_epoch (Carpet::regridding_epoch) + reflevel (Carpet::reflevel), + regridding_epoch (reflevel == -1 ? + Carpet::regridding_epoch : + Carpet::level_regridding_epochs.at(reflevel)) { // Some global properties int const npoints = locations.size(); @@ -565,8 +568,7 @@ namespace CarpetInterp2 { "Interpolation order must be non-negative"); } if (order > max_order) { - CCTK_VWarn (CCTK_WARN_ABORT, - __LINE__, __FILE__, CCTK_THORNSTRING, + CCTK_VWarn (CCTK_WARN_ABORT, __LINE__, __FILE__, CCTK_THORNSTRING, "Interpolation order cannot be larger than max_order=%d; " "order=%d was requested. " "(You can increase the compile time constant max_order " @@ -1056,9 +1058,18 @@ namespace CarpetInterp2 { DECLARE_CCTK_PARAMETERS; // Check regridding epoch - if (regridding_epoch != Carpet::regridding_epoch) { - CCTK_WARN (CCTK_WARN_ALERT, - "The Carpet grid structure was changed since this fasterp_setup was created"); + if (regridding_epoch != (reflevel == -1 ? + Carpet::regridding_epoch : + Carpet::level_regridding_epochs.at(reflevel))) + { + if (reflevel == -1) { + CCTK_VWarn (CCTK_WARN_ABORT, __LINE__, __FILE__, CCTK_THORNSTRING, + "The Carpet grid structure was changed since this fasterp_setup was created"); + } else { + CCTK_VWarn (CCTK_WARN_ABORT, __LINE__, __FILE__, CCTK_THORNSTRING, + "The Carpet grid structure on level %d was changed since this fasterp_setup was created", + reflevel); + } } // Desired time level diff --git a/Carpet/CarpetInterp2/src/fasterp.hh b/Carpet/CarpetInterp2/src/fasterp.hh index 1a58e8222..fb76c0d24 100644 --- a/Carpet/CarpetInterp2/src/fasterp.hh +++ b/Carpet/CarpetInterp2/src/fasterp.hh @@ -277,6 +277,7 @@ namespace CarpetInterp2 { send_descr_t send_descr; int order; + int reflevel; int regridding_epoch; void |