diff options
author | Frank Löffler <knarf@cct.lsu.edu> | 2013-02-07 08:43:27 -0600 |
---|---|---|
committer | Frank Löffler <knarf@cct.lsu.edu> | 2013-02-07 08:43:27 -0600 |
commit | 0e092fd149050a4eaf807aacfae6553e15a27cf8 (patch) | |
tree | d2ce22953f5a724b2acd3661733734fd585b9ba7 /Carpet | |
parent | bcf3bb045b9b26b4daacf39584e6fc25c03da3ad (diff) |
CarpetRegrid2: Allow pseudo-2D domains
Currently CarpetRegrid2 contains two asserts that fail for domains that
are effectively 2D (but defines as 3D arrays, e.g. (nx,ny,1). This patch
makes sure these domains don't trigger the assert by checking for
ilower==iupper.
Diffstat (limited to 'Carpet')
-rw-r--r-- | Carpet/CarpetRegrid2/src/property.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Carpet/CarpetRegrid2/src/property.cc b/Carpet/CarpetRegrid2/src/property.cc index a568e82d9..340b4f22b 100644 --- a/Carpet/CarpetRegrid2/src/property.cc +++ b/Carpet/CarpetRegrid2/src/property.cc @@ -712,11 +712,17 @@ namespace CarpetRegrid2 { bvect const lower_is_almost_outside_upper = bb.lower() > bnd.level_physical_iupper - bnd.min_bnd_dist_incl[1] * bb.stride(); + + // Don't assert for trivial dimensions ( e.g., 2D: (x,y,1) ) + bvect const domain_is_trivial = + bnd.level_physical_ilower == bnd.level_physical_iupper; assert (not any (lower_is_almost_outside_upper and - lower_is_outside_lower)); + lower_is_outside_lower and + not domain_is_trivial) ); assert (not any (upper_is_almost_outside_lower and - upper_is_outside_upper)); + upper_is_outside_upper and + not domain_is_trivial) ); if (any (upper_is_outside_lower or lower_is_outside_upper)) { // The box is completely outside. Ignore it. |