diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2008-09-10 12:12:08 -0400 |
---|---|---|
committer | Erik Schnetter <schnetter@cct.lsu.edu> | 2008-09-26 17:57:02 -0500 |
commit | 9a38df74af0d21b31524af5a2569a40d5f151fe1 (patch) | |
tree | f20ea95d61a26d8663e5f73bdf50aa5e91877fed /Carpet/CarpetInterp2 | |
parent | 16fc1629e154dea56699790e991b289783f1eb4a (diff) |
CarpetInterp2: Add more explicit error checking
Diffstat (limited to 'Carpet/CarpetInterp2')
-rw-r--r-- | Carpet/CarpetInterp2/src/fasterp.cc | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/Carpet/CarpetInterp2/src/fasterp.cc b/Carpet/CarpetInterp2/src/fasterp.cc index fcc874264..19d0eed51 100644 --- a/Carpet/CarpetInterp2/src/fasterp.cc +++ b/Carpet/CarpetInterp2/src/fasterp.cc @@ -425,7 +425,8 @@ namespace CarpetInterp2 { case 11: interpolate<11> (lsh, varptrs, vals); break; default: // Add higher orders here as desired - CCTK_WARN (CCTK_WARN_ABORT, "Interpolation orders larger than 11 are not yet implemented"); + CCTK_WARN (CCTK_WARN_ABORT, + "Interpolation orders larger than 11 are not yet implemented"); assert (0); } } @@ -547,6 +548,20 @@ namespace CarpetInterp2 { "Setting up interpolation for %d grid points", int(locations.size())); + if (order < 0) { + CCTK_WARN (CCTK_WARN_ABORT, + "Interpolation order must be non-negative"); + } + if (order > max_order) { + 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 " + "in thorn CarpetInterp2.)", + max_order, order); + } + // Some global properties int const npoints = locations.size(); int const nprocs = CCTK_nProcs (cctkGH); |