diff options
Diffstat (limited to 'Carpet/CarpetRegrid/src/paramcheck.cc')
-rw-r--r-- | Carpet/CarpetRegrid/src/paramcheck.cc | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/Carpet/CarpetRegrid/src/paramcheck.cc b/Carpet/CarpetRegrid/src/paramcheck.cc new file mode 100644 index 000000000..7d85bee1e --- /dev/null +++ b/Carpet/CarpetRegrid/src/paramcheck.cc @@ -0,0 +1,47 @@ +#include <assert.h> + +#include "cctk.h" +#include "cctk_Arguments.h" +#include "cctk_Parameters.h" + +#include "carpet.hh" +#include "regrid.hh" + +static const char* rcsid = "$Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetRegrid/src/paramcheck.cc,v 1.3 2004/08/02 11:42:36 schnetter Exp $"; + +CCTK_FILEVERSION(CarpetRegrid_paramcheck_cc) + +namespace CarpetRegrid { + + using namespace std; + using namespace Carpet; + + int CarpetRegridParamcheck (CCTK_ARGUMENTS) + { + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + if (refinement_levels > maxreflevels) { + CCTK_PARAMWARN ("The parameter CarpetRegrid::refinement_levels is larger than Carpet::max_refinement_levels"); + } + + if (smart_outer_boundaries) { + int type; + const CCTK_INT * const domain_from_coordbase + = (const CCTK_INT *) CCTK_ParameterGet ("domain_from_coordbase", "Carpet", &type); + assert (domain_from_coordbase); + assert (type == PARAMETER_BOOLEAN); + if (! *domain_from_coordbase) { + CCTK_PARAMWARN ("The parameter CarpetRegrid::smart_outer_boundaries can only be used when Carpet::domain_from_coordbase=yes"); + } + if (CCTK_Equals(refined_regions, "manual-coordinate-list")) { + // do nothing + } else { + CCTK_PARAMWARN ("The parameter CarpetRegrid::smart_outer_boundaries can currently only be used when CarpetRegrid::refined_regions is set to \"manual-coordinate-list\""); + } + } + + return 0; + } + +} |