aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetRegrid/src
diff options
context:
space:
mode:
authorschnetter <>2004-02-05 08:53:00 +0000
committerschnetter <>2004-02-05 08:53:00 +0000
commit8901dadda0312a002fd81cb1bce50b779ca27520 (patch)
treea14ba7ecce73a5a311d02c4f43a1a10737a13ef3 /Carpet/CarpetRegrid/src
parentd633b1e42940c71895b3cc51d08cd08d4148b343 (diff)
Introduce a keyword parameter that selects between fixed and variable
Introduce a keyword parameter that selects between fixed and variable progressive mesh refinement. darcs-hash:20040205085315-07bb3-08164f32105ec814e53691afac7d88ea8e2099fc.gz
Diffstat (limited to 'Carpet/CarpetRegrid/src')
-rw-r--r--Carpet/CarpetRegrid/src/regrid.cc23
1 files changed, 16 insertions, 7 deletions
diff --git a/Carpet/CarpetRegrid/src/regrid.cc b/Carpet/CarpetRegrid/src/regrid.cc
index 3c6b8b0a7..8f48e7b99 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.34 2004/01/25 14:57:30 schnetter Exp $";
+ static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetRegrid/src/regrid.cc,v 1.35 2004/02/05 09:53:15 schnetter Exp $";
CCTK_FILEVERSION(Carpet_CarpetRegrid_regrid_cc);
}
@@ -78,11 +78,15 @@ namespace CarpetRegrid {
// Steer parameters
- if (activate_newlevels_on_regrid != 0) {
+ if (CCTK_EQUALS(activate_levels_on_regrid, "none")) {
+
+ // do nothing
+
+ } else if (CCTK_EQUALS(activate_levels_on_regrid, "fixed")) {
+
if (cctkGH->cctk_iteration >= activate_next) {
const int newnumlevels
- = min(refinement_levels + activate_newlevels_on_regrid,
- maxreflevels);
+ = min(refinement_levels + num_new_levels, maxreflevels);
assert (newnumlevels>0 && newnumlevels<=maxreflevels);
*const_cast<CCTK_INT*>(&activate_next) = cctkGH->cctk_iteration + 1;
@@ -98,9 +102,9 @@ namespace CarpetRegrid {
("refinement_levels", "CarpetRegrid", param.str().c_str());
}
- }
-
- if (regrid_from_function) {
+
+ } else if (CCTK_EQUALS(activate_levels_on_regrid, "activate or deactivate a variable number of levels, determined by a user-specified function. When this parameter is used, the parameters num_new_levels and activate_next must not be set.")) {
+
if (! CCTK_IsFunctionAliased("RegridLevel")) {
CCTK_WARN (0, "No thorn has provided the function \"RegridLevel\"");
}
@@ -113,6 +117,11 @@ namespace CarpetRegrid {
param << refinement_levels;
CCTK_ParameterSet
("refinement_levels", "CarpetRegrid", param.str().c_str());
+
+ } else {
+
+ assert (0);
+
}