diff options
author | Erik Schnetter <schnetter@gmail.com> | 2012-08-22 14:24:20 -0400 |
---|---|---|
committer | Erik Schnetter <schnetter@gmail.com> | 2012-08-22 14:24:20 -0400 |
commit | f99f82d30949225b6938fcf69cac1015ac3a2033 (patch) | |
tree | b1f2c54966d5d666d4e2dffd07337a12f4b2e2fd /Carpet/Carpet/src/Recompose.cc | |
parent | de65419eae1d124bd8bbc766884f45a3764edd71 (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.cc | 29 |
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)); + } + } + } } |