diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2006-06-27 19:16:00 +0000 |
---|---|---|
committer | Erik Schnetter <schnetter@cct.lsu.edu> | 2006-06-27 19:16:00 +0000 |
commit | f37a72321ee586ec326a975e83b18afe9ef0379c (patch) | |
tree | 37dc86f57ed4ebc0db0cbace00de576d8ad2dab8 /Carpet | |
parent | d4fb60ff7880c18d72c07ae33dec583fedf25ef7 (diff) |
CarpetRegrid2: Check number of refinement levels
darcs-hash:20060627191640-dae7b-7ba8608e73c3e4cbe1cede70a8f1c0eee81e3c78.gz
Diffstat (limited to 'Carpet')
-rw-r--r-- | Carpet/CarpetRegrid2/schedule.ccl | 5 | ||||
-rw-r--r-- | Carpet/CarpetRegrid2/src/make.code.defn | 2 | ||||
-rw-r--r-- | Carpet/CarpetRegrid2/src/paramcheck.cc | 34 | ||||
-rw-r--r-- | Carpet/CarpetRegrid2/src/regrid.cc | 3 |
4 files changed, 43 insertions, 1 deletions
diff --git a/Carpet/CarpetRegrid2/schedule.ccl b/Carpet/CarpetRegrid2/schedule.ccl index 7d79922be..9fcd61d0c 100644 --- a/Carpet/CarpetRegrid2/schedule.ccl +++ b/Carpet/CarpetRegrid2/schedule.ccl @@ -1 +1,6 @@ # Schedule definitions for thorn CarpetRegrid2 + +SCHEDULE CarpetRegrid2_ParamCheck AT paramcheck +{ + LANG: C +} "Check parameters" diff --git a/Carpet/CarpetRegrid2/src/make.code.defn b/Carpet/CarpetRegrid2/src/make.code.defn index dbf29da7f..5106b913a 100644 --- a/Carpet/CarpetRegrid2/src/make.code.defn +++ b/Carpet/CarpetRegrid2/src/make.code.defn @@ -1,7 +1,7 @@ # Main make.code.defn file for thorn CarpetRegrid2 # Source files in this directory -SRCS = regrid.cc +SRCS = paramcheck.cc regrid.cc # Subdirectories containing source files SUBDIRS = diff --git a/Carpet/CarpetRegrid2/src/paramcheck.cc b/Carpet/CarpetRegrid2/src/paramcheck.cc new file mode 100644 index 000000000..51830038e --- /dev/null +++ b/Carpet/CarpetRegrid2/src/paramcheck.cc @@ -0,0 +1,34 @@ +#include "cctk.h" +#include "cctk_Arguments.h" +#include "cctk_Parameters.h" + +#include "carpet.hh" + + + +namespace CarpetRegrid2 { + + using namespace Carpet; + + + + extern "C" { + void CarpetRegrid2_ParamCheck (CCTK_ARGUMENTS); + } + + + + void CarpetRegrid2_ParamCheck (CCTK_ARGUMENTS) + { + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + if (num_centres >= 1 and num_levels_1 > maxreflevels or + num_centres >= 2 and num_levels_2 > maxreflevels or + num_centres >= 3 and num_levels_3 > maxreflevels) + { + CCTK_PARAMWARN ("The number of requested refinement levels is larger than the maximum number of levels specified by Carpet::max_refinement_levels"); + } + } + +} // namespace CarpetRegrid2 diff --git a/Carpet/CarpetRegrid2/src/regrid.cc b/Carpet/CarpetRegrid2/src/regrid.cc index d4495e63a..8f9866c77 100644 --- a/Carpet/CarpetRegrid2/src/regrid.cc +++ b/Carpet/CarpetRegrid2/src/regrid.cc @@ -20,6 +20,7 @@ namespace CarpetRegrid2 { using namespace std; + using namespace Carpet; @@ -88,6 +89,8 @@ namespace CarpetRegrid2 { default: assert (0); } + + assert (num_levels <= maxreflevels); } |