ZARZZPSISIOCXZOWNJQMMQSQPXFSZLDDIDAFY35X2GV37RBB7WUAC
2CFOTSV2LBGHSNOYKKAQC2ONOQ55MBVD4WLAZSK52F4LRZYUEYTAC
NUOLOGCKMF5UOBGBYEOX4O7NQ5AEVVLCH6KRBQRJQXIRDNJ2C2ZQC
T35FSMI7CA2CFZSRLTCZQBT2KDSEPDZD5UAPNNGR4YYAJ67LT4PAC
U77PE56ICORZNQW33NXGSEMW7GDHCSSZ4EXB6OHBJSHEG6WHYSSQC
TVBD244E7Q7WV44CRBTFST535NUP3JAZH6OLL4IKDR3OWEXSU7HAC
722HZ7UFINNE3YKSYKP2NHZ5XEG5QQLQHSKC7PREJZR3EX6RDYUAC
MSBBCXVGD3GRLE5KAI6BKAFRV7SQUWI2SNN43AJAUD3ISRCEXY6QC
2DKSL6DKZAIYQUJGDULORCKU5K4Z5Z3W4RIKQYDSLKMCNQNDZFBAC
BPRNUTY7MHK7LK4EY5MY5OFFG3ABOL7LWXD574L35M74YSQPULFAC
3I2VE3RJ4E4WZZSUGJKOMHP2FKOAZA6SLVMVYE3B54SZCYXGIU4QC
JN2TPHENEBIY2OE5FRCQ2E6QCL6FPVHJHUCP4UODD6DITRVV2LIQC
AI3EWKW32CEIT7YXOT2JZGS4MIOJLYF4E54BAILIAAVAAG6BFB2AC
KCIWCVZOHG44WBOLKI2XK33WPHPRI5FWCETF4AOGTPZISKCW3CLQC
GQVQJCNQNO2KD7ZMC7RESCUAMUAP7OED6CTA6SYLZKQGXKXZ6T3QC
XU5HOJREK4XY4NBCJINLZPKQNKSYOLUDTWR47REFSNQKDOSNDXLQC
BSMJ4V7GV3EOGY4KCSTOJQUOFE2OOCIKQETE4WC2WRNLWBQIBW3QC
A7ETPFXEHA2RM4LINSBVMJJ3G62NF7Q5ZQOKJPNJK3YOQ5WS5HKAC
VMCDMDXKME66ESRMB3PYSUZZH2XG2GIQMEOEKRH33WGCEBPXTWUQC
M5R6KQLXLGYSVKHVAX5AJKD6NYE6IM5Z6WVTR3BTKPJDNNKF3ARAC
5XGIB7XMEZNBLA5ZLQTXRTC3AZ5CTRGMXWBPVMWXG4DPHKWDF4ZAC
24A4OZBZBQ6QXIQ3EOOCQIBTOWRA32TMSQ4CCL3LKIJVJPKZFHVQC
VAF66DTVLDWNG7N2PEQYEH4OH5SPSMFBXKPR2PU67IIM6CVPCJ7AC
GKKJ75HX2ERLVBZVE2CUB6T3J2SUT7R3UKEKTEYNOG43ZKX6X5MQC
BJDGFYBMECTJG7BHLNHLSCUCBVYHAY6OGY37FIJP6JDGNDXQNQVAC
BVR7DVINVPQG7PA6Z7QYVYNQ43YZL7XCC6AOMSMWMGAAB2Q43STAC
2D74GU7KGIN5GTSMCY7752YYQN62T5UY2FIKMWKYVMGKS2CDAJKAC
W4XMGPEHBCV6AAPJBI4SSEMCDB6KKCGRUC2X2F5YLBY22OR3ICPAC
3HPNY5XHNPWR6RVX4LYEVDFJQWSB2CMS7J6XPAKATQ2UPFTXD33QC
USPPNUMNL5HU5WEOIWJMIFAX6TBZERVAV67XJUJQ6KSNLG55JAGQC
FS7Q6TUHBK5WSRDC3TM6KV2BPGWATRBLDHFGEJ72BR3FRDEOC3WAC
UZAKARMGORRQG733ZUPJOEGL5FG243I32NCC2SRSFDCZKUQ5A52QC
T3TZRPPAIA24I3YL3JFB4XEAYCWU3HJAJUCF7NNIFMP4I5X4SM5QC
2XYZZL42IEZHGDJA6NDKGSQKGJP24LOTLFJ6RNHOKWHHSUYIHGKQC
GCJJ35BFUTRWJGWOVVMYNOSXEELH6YYX7FW4XL6QWPUD63TAL5NQC
DHFIRBK6SZI7R5QBVGMX2M5ADXIVQWNLCVBE6MKVPGHZ4USEC3VQC
TUDUMVD5MTJJJGVYVOCALOOKOUYNB7LOFJRCYCZDVGN536JAO2OQC
FEMASUBNU32NSG4DNXZX54CGCA57PVRGYO46L3A6F2EJ4BCSJ3SAC
error_if_invalid(
coarseleveldata, coarsegroupdata, vi, tl, make_valid_all(),
[] { return "MakeNewLevelFromCoarse before prolongation"; });
check_valid(coarseleveldata, coarsegroupdata, vi, tl, [] {
error_if_invalid(coarsegroupdata, vi, tl, make_valid_all(), [] {
return "MakeNewLevelFromCoarse before prolongation";
});
check_valid(coarsegroupdata, vi, tl, [] {
void error_if_invalid(const GHExt::LevelData &leveldata,
const GHExt::CommonGroupData &groupdata, int vi, int tl,
const valid_t &required, const function<string()> &msg) {
void error_if_invalid(const GHExt::LevelData::GroupData &groupdata, int vi,
int tl, const valid_t &required,
const function<string()> &msg) {
void warn_if_invalid(const GHExt::LevelData &leveldata,
const GHExt::CommonGroupData &groupdata, int vi, int tl,
const valid_t &required, const function<string()> &msg) {
void warn_if_invalid(const GHExt::LevelData::GroupData &groupdata, int vi,
int tl, const valid_t &required,
const function<string()> &msg) {
CCTK_VWARN(
CCTK_WARN_ALERT,
"%s: Grid function \"%s\" is invalid on refinement level %d, time "
"level %d; required %s, found %s",
CCTK_VWARN(CCTK_WARN_ALERT,
"%s: Grid function \"%s\" is invalid on refinement level %d, "
"time level %d; required %s, found %s",
void error_if_invalid(const GHExt::CommonGroupData &groupdata, int vi, int tl,
const valid_t &required, const function<string()> &msg) {
void error_if_invalid(const GHExt::GlobalData::ScalarGroupData &groupdata,
int vi, int tl, const valid_t &required,
const function<string()> &msg) {
void warn_if_invalid(const GHExt::CommonGroupData &groupdata, int vi, int tl,
const valid_t &required, const function<string()> &msg) {
void warn_if_invalid(const GHExt::GlobalData::ScalarGroupData &groupdata,
int vi, int tl, const valid_t &required,
const function<string()> &msg) {
error_if_invalid(
fineleveldata, finegroupdata, vi, tl, make_valid_int(),
[] { return "Reflux before refluxing: Fine level data"; });
error_if_invalid(leveldata, groupdata, vi, tl, make_valid_int(), [] {
error_if_invalid(finegroupdata, vi, tl, make_valid_int(), [] {
return "Reflux before refluxing: Fine level data";
});
error_if_invalid(groupdata, vi, tl, make_valid_int(), [] {
error_if_invalid(
fineleveldata, finegroupdata, vi, tl, make_valid_int(),
[] { return "Restrict on fine level before restricting"; });
poison_invalid(fineleveldata, finegroupdata, vi, tl);
check_valid(fineleveldata, finegroupdata, vi, tl,
error_if_invalid(finegroupdata, vi, tl, make_valid_int(), [] {
return "Restrict on fine level before restricting";
});
poison_invalid(finegroupdata, vi, tl);
check_valid(finegroupdata, vi, tl,
poison_invalid(leveldata, groupdata, vi, tl);
check_valid(leveldata, groupdata, vi, tl, [&]() {
poison_invalid(groupdata, vi, tl);
check_valid(groupdata, vi, tl, [&]() {
void error_if_invalid(const GHExt::LevelData &leveldata,
const GHExt::CommonGroupData &groupdata, int vi, int tl,
const valid_t &required, const function<string()> &msg);
void warn_if_invalid(const GHExt::LevelData &leveldata,
const GHExt::CommonGroupData &groupdata, int vi, int tl,
const valid_t &required, const function<string()> &msg);
void poison_invalid(const GHExt::LevelData &leveldata,
const GHExt::LevelData::GroupData &groupdata, int vi,
void error_if_invalid(const GHExt::LevelData ::GroupData &grouppdata, int vi,
int tl, const valid_t &required,
const function<string()> &msg);
void warn_if_invalid(const GHExt::LevelData ::GroupData &grouppdata, int vi,
int tl, const valid_t &required,
const function<string()> &msg);
void poison_invalid(const GHExt::LevelData::GroupData &groupdata, int vi,
void error_if_invalid(const GHExt::CommonGroupData &groupdata, int vi, int tl,
const valid_t &required, const function<string()> &msg);
void warn_if_invalid(const GHExt::CommonGroupData &groupdata, int vi, int tl,
const valid_t &required, const function<string()> &msg);
void error_if_invalid(const GHExt::GlobalData::ScalarGroupData &groupdata,
int vi, int tl, const valid_t &required,
const function<string()> &msg);
void warn_if_invalid(const GHExt::GlobalData::ScalarGroupData &groupdata,
int vi, int tl, const valid_t &required,
const function<string()> &msg);