LHPZHX4FMRYBM7NI22QTP3VZDBYFRSNTY3L6BEEFPPF5KWCFFIHQC
DHFIRBK6SZI7R5QBVGMX2M5ADXIVQWNLCVBE6MKVPGHZ4USEC3VQC
KN5Z747NMDBSXQHVGLLYQKCOW5423HDAYDCMIR6RTZZMICMCPN3AC
USPPNUMNL5HU5WEOIWJMIFAX6TBZERVAV67XJUJQ6KSNLG55JAGQC
R5ZPKCVY742K4RWVAJ4O6OGMIYH563GNCSVVSVF2Y66ILIUH7B4AC
NZTFEMGJPN53J34S3MVUCL7TTRB4UG7JQM2R563OAHIRM4QPZOWAC
M5R6KQLXLGYSVKHVAX5AJKD6NYE6IM5Z6WVTR3BTKPJDNNKF3ARAC
722HZ7UFINNE3YKSYKP2NHZ5XEG5QQLQHSKC7PREJZR3EX6RDYUAC
T3TZRPPAIA24I3YL3JFB4XEAYCWU3HJAJUCF7NNIFMP4I5X4SM5QC
BPRNUTY7MHK7LK4EY5MY5OFFG3ABOL7LWXD574L35M74YSQPULFAC
FEMASUBNU32NSG4DNXZX54CGCA57PVRGYO46L3A6F2EJ4BCSJ3SAC
KCIWCVZOHG44WBOLKI2XK33WPHPRI5FWCETF4AOGTPZISKCW3CLQC
33IC3UHCEPZLGS5ACS2JXHGT6CRU5LXU6PM6RDHCERPOIELVRVXQC
WTDXZR735D7JBS4XVLTEXBVFMLSRLZUHZNVHH7ZWVGFGATD6DFNAC
MF53IYPRC7HEG2LRV347PTVBWENVKHMUYN6FIAEVTTVPIXH4FMGQC
R6B5YHARRV34JO6W4GAWBOQ4BW5H6VEKXWMVKJKPWC7MUO4ZYZVQC
A7ETPFXEHA2RM4LINSBVMJJ3G62NF7Q5ZQOKJPNJK3YOQ5WS5HKAC
E3MBKFT4GEFDAGZQQW4OROY5F6FWC46G6MRH54GDYTGO7O5YSRIAC
VIK5E6DBUCP5HGDVHDP6SWTHH7ODEUIGKOGSXR7VLVK46LDD4W6QC
GQVQJCNQNO2KD7ZMC7RESCUAMUAP7OED6CTA6SYLZKQGXKXZ6T3QC
MSBBCXVGD3GRLE5KAI6BKAFRV7SQUWI2SNN43AJAUD3ISRCEXY6QC
U77PE56ICORZNQW33NXGSEMW7GDHCSSZ4EXB6OHBJSHEG6WHYSSQC
YIQN7NJTGEVKW7JZHL6CTH6EPCIXCNBYNURIGXPYZAOUX3VAJQMAC
BVR7DVINVPQG7PA6Z7QYVYNQ43YZL7XCC6AOMSMWMGAAB2Q43STAC
scalargroupdata.valid.at(tl).at(vi).valid_int = false;
scalargroupdata.valid.at(tl).at(vi).valid_outer = true;
scalargroupdata.valid.at(tl).at(vi).valid_ghosts = true;
auto &valid = scalargroupdata.valid.at(tl).at(vi);
valid.valid_int = false;
valid.valid_outer = true;
valid.valid_ghosts = true;
scalargroupdata.why_valid.at(tl).at(vi) = {"SetupGlobals"};
all_invalid &= !coarsegroupdata.valid.at(tl).at(vi).valid_int &&
!coarsegroupdata.valid.at(tl).at(vi).valid_outer &&
!coarsegroupdata.valid.at(tl).at(vi).valid_ghosts;
all_invalid &= !coarsegroupdata.valid.at(tl).at(vi).valid_any();
groupdata.valid.at(tl).at(vi).valid_int = false;
groupdata.valid.at(tl).at(vi).valid_outer = false;
groupdata.valid.at(tl).at(vi).valid_ghosts = false;
groupdata.valid.at(tl).at(vi) = valid_t(false);
groupdata.why_valid.at(tl).at(vi) = {
"MakeNewLevelFromCoarse: coarse grid is all invalid"};
if (!(coarsegroupdata.valid.at(tl).at(vi).valid_int &&
coarsegroupdata.valid.at(tl).at(vi).valid_outer &&
coarsegroupdata.valid.at(tl).at(vi).valid_ghosts)) {
valid_t all_valid;
all_valid.valid_int = true;
all_valid.valid_outer = true;
all_valid.valid_ghosts = true;
if (!coarsegroupdata.valid.at(tl).at(vi).valid_all()) {
valid_t all_valid(true);
groupdata.valid.at(tl).at(vi).valid_int =
coarsegroupdata.valid.at(tl).at(vi).valid_int &&
coarsegroupdata.valid.at(tl).at(vi).valid_outer &&
coarsegroupdata.valid.at(tl).at(vi).valid_ghosts;
groupdata.valid.at(tl).at(vi).valid_outer = false;
groupdata.valid.at(tl).at(vi).valid_ghosts = false;
auto &valid = groupdata.valid.at(tl).at(vi);
valid.valid_int = coarsegroupdata.valid.at(tl).at(vi).valid_all();
valid.valid_outer = false;
valid.valid_ghosts = false;
groupdata.why_valid.at(tl).at(vi) = {
"MakeNewLevelFromCoarse: prolongated"};
all_invalid &= !coarsegroupdata.valid.at(tl).at(vi).valid_int &&
!coarsegroupdata.valid.at(tl).at(vi).valid_outer &&
!coarsegroupdata.valid.at(tl).at(vi).valid_ghosts &&
!groupdata.valid.at(tl).at(vi).valid_int &&
!groupdata.valid.at(tl).at(vi).valid_outer &&
!groupdata.valid.at(tl).at(vi).valid_ghosts;
all_invalid &= !coarsegroupdata.valid.at(tl).at(vi).valid_any() &&
!groupdata.valid.at(tl).at(vi).valid_any();
const bool cond =
coarsegroupdata.valid.at(tl).at(vi).valid_int &&
coarsegroupdata.valid.at(tl).at(vi).valid_outer &&
coarsegroupdata.valid.at(tl).at(vi).valid_ghosts &&
groupdata.valid.at(tl).at(vi).valid_int &&
groupdata.valid.at(tl).at(vi).valid_outer &&
groupdata.valid.at(tl).at(vi).valid_ghosts;
const bool cond = coarsegroupdata.valid.at(tl).at(vi).valid_all() &&
groupdata.valid.at(tl).at(vi).valid_all();
CCTK_VERROR("Found invalid input data: RemakeLevel level %d, "
"variable %s%s: need everything defined, have coarse "
"%s, have current %s",
leveldata.level,
CCTK_FullVarName(groupdata.firstvarindex + vi),
string("_p", tl).c_str(),
string(coarsegroupdata.valid.at(tl).at(vi)).c_str(),
string(groupdata.valid.at(tl).at(vi)).c_str());
CCTK_VERROR(
"Found invalid input data: RemakeLevel level %d, "
"variable %s%s: need everything defined, have coarse "
"%s (%s), have current %s (%s)",
leveldata.level,
CCTK_FullVarName(groupdata.firstvarindex + vi),
string("_p", tl).c_str(),
string(coarsegroupdata.valid.at(tl).at(vi)).c_str(),
string(coarsegroupdata.why_valid.at(tl).at(vi)).c_str(),
string(groupdata.valid.at(tl).at(vi)).c_str(),
string(groupdata.why_valid.at(tl).at(vi)).c_str());
coarsegroupdata.valid.at(tl).at(vi).valid_int &&
coarsegroupdata.valid.at(tl).at(vi).valid_outer &&
coarsegroupdata.valid.at(tl).at(vi).valid_ghosts &&
groupdata.valid.at(tl).at(vi).valid_int &&
groupdata.valid.at(tl).at(vi).valid_outer &&
groupdata.valid.at(tl).at(vi).valid_ghosts;
coarsegroupdata.valid.at(tl).at(vi).valid_all() &&
groupdata.valid.at(tl).at(vi).valid_all();
struct why_valid_t {
string why_int, why_outer, why_ghosts;
why_valid_t() : why_valid_t("<unknown reason>") {}
why_valid_t(const string &why)
: why_int(why), why_outer(why), why_ghosts(why) {}
friend ostream &operator<<(ostream &os, const why_valid_t why) {
return os << "why_valid_t{int:" << why.why_int << ","
<< "outer:" << why.why_outer << ","
<< "ghosts:" << why.why_ghosts << "}";
}
operator string() const {
ostringstream buf;
buf << *this;
return buf.str();
}
};