aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetRegrid/src
diff options
context:
space:
mode:
authorschnetter <>2004-05-29 16:52:00 +0000
committerschnetter <>2004-05-29 16:52:00 +0000
commitb11697e03d2c0977de656aad0f5a961d39f6b120 (patch)
tree420a52962f09bce5bc733afed1d1e4fdec201e3e /Carpet/CarpetRegrid/src
parent90de2b39d1c40ae1d543ec35abeae25c356c4c6e (diff)
Introduce a parameter that allows omitting calling recompose when no
Introduce a parameter that allows omitting calling recompose when no new levels have been activated or removed. darcs-hash:20040529165242-07bb3-5a81b08811c9c7cd16cfdcd84482dd3695c4e6bb.gz
Diffstat (limited to 'Carpet/CarpetRegrid/src')
-rw-r--r--Carpet/CarpetRegrid/src/regrid.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/Carpet/CarpetRegrid/src/regrid.cc b/Carpet/CarpetRegrid/src/regrid.cc
index a7d930689..598583221 100644
--- a/Carpet/CarpetRegrid/src/regrid.cc
+++ b/Carpet/CarpetRegrid/src/regrid.cc
@@ -13,7 +13,7 @@
#include "regrid.hh"
extern "C" {
- static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetRegrid/src/regrid.cc,v 1.42 2004/05/27 12:27:16 schnetter Exp $";
+ static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetRegrid/src/regrid.cc,v 1.43 2004/05/29 18:52:42 schnetter Exp $";
CCTK_FILEVERSION(Carpet_CarpetRegrid_regrid_cc);
}
@@ -62,6 +62,7 @@ namespace CarpetRegrid {
// Steer parameters
+ const int oldnumlevels = refinement_levels;
if (CCTK_EQUALS(activate_levels_on_regrid, "none")) {
// do nothing
@@ -69,7 +70,6 @@ namespace CarpetRegrid {
} else if (CCTK_EQUALS(activate_levels_on_regrid, "fixed")) {
if (cctkGH->cctk_iteration-1 >= activate_next) {
- const int oldnumlevels = refinement_levels;
const int newnumlevels
= min(refinement_levels + num_new_levels, maxreflevels);
assert (newnumlevels>0 && newnumlevels<=maxreflevels);
@@ -100,7 +100,6 @@ namespace CarpetRegrid {
if (! CCTK_IsFunctionAliased("RegridLevel")) {
CCTK_WARN (0, "No thorn has provided the function \"RegridLevel\"");
}
- const int oldnumlevels = refinement_levels;
const int newnumlevels
= RegridLevel (cctkGH, refinement_levels, maxreflevels);
if (newnumlevels>0 && newnumlevels<=maxreflevels) {
@@ -132,6 +131,13 @@ namespace CarpetRegrid {
+ // Return if no change in the grid structure is desired
+ if (keep_same_grid_structure) {
+ return refinement_levels != oldnumlevels;
+ }
+
+
+
int do_recompose;
if (CCTK_EQUALS(refined_regions, "none")) {