aboutsummaryrefslogtreecommitdiff
path: root/Carpet/Carpet/src/Recompose.cc
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@gmail.com>2012-08-22 14:24:20 -0400
committerErik Schnetter <schnetter@gmail.com>2012-08-22 14:24:20 -0400
commitf99f82d30949225b6938fcf69cac1015ac3a2033 (patch)
treeb1f2c54966d5d666d4e2dffd07337a12f4b2e2fd /Carpet/Carpet/src/Recompose.cc
parentde65419eae1d124bd8bbc766884f45a3764edd71 (diff)
CarpetLib: Add routine to self-check regions and superregions
Add routine to self-check the datastructure representing regions and superregion. Call this routine after recomposing.
Diffstat (limited to 'Carpet/Carpet/src/Recompose.cc')
-rw-r--r--Carpet/Carpet/src/Recompose.cc29
1 files changed, 29 insertions, 0 deletions
diff --git a/Carpet/Carpet/src/Recompose.cc b/Carpet/Carpet/src/Recompose.cc
index 8c9758039..b8bba7d96 100644
--- a/Carpet/Carpet/src/Recompose.cc
+++ b/Carpet/Carpet/src/Recompose.cc
@@ -1308,6 +1308,35 @@ namespace Carpet {
} else {
assert (0);
}
+
+ for (size_t m=0; m<superregss.size(); ++m) {
+ for (size_t r=0; r<superregss.AT(m).size(); ++r) {
+ bool const good_superregs = superregss.AT(m).AT(r).check_region(true);
+ if (not good_superregs) {
+ cout << "superregs[" << m << "][" << r << "]:\n"
+ << superregss.AT(m).AT(r) << "\n";
+ cout << "all superregions:\n" << superregss << "\n";
+ CCTK_VWarn(CCTK_WARN_ALERT, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "Superregions failed self-check for map %d superregion %d",
+ int(m), int(r));
+ }
+ }
+ }
+ assert(regss.size() == superregss.size());
+ for (size_t m=0; m<regss.size(); ++m) {
+ for (size_t r=0; r<regss.AT(m).size(); ++r) {
+ bool const good_regs = regss.AT(m).AT(r).check_region(false);
+ if (not good_regs) {
+ cout << "regs[" << m << "][" << r << "]:\n"
+ << regss.AT(m).AT(r) << "\n";
+ cout << "all superregions:\n" << superregss << "\n";
+ cout << "all regions:\n" << regss << "\n";
+ CCTK_VWarn(CCTK_WARN_ALERT, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "Regions failed self-check for map %d superregion %d",
+ int(m), int(r));
+ }
+ }
+ }
}