KRJ4HPEPBBQQ6SF4D5R7SHIEC5W6IOQSE4YTEECMOCPTILKO3ZZQC 5A7OHW6V23YT7O3PJKS7J6IKPLXIMCRTW6VIWPZKYMEFRYQX5VZQC 3CP3B7DKC4YAZNE5PMOPZXWBCQMDXYWHZMZUUHDXE5QVKRW2JYCQC MSBBCXVGD3GRLE5KAI6BKAFRV7SQUWI2SNN43AJAUD3ISRCEXY6QC JHHVFKSN2L3YMG4JKXUDS6EBBYCDUDO56LNAZMG4QYS2FFPZF3SQC 722HZ7UFINNE3YKSYKP2NHZ5XEG5QQLQHSKC7PREJZR3EX6RDYUAC B7Y552HZXBV2PD22T7ZXGFJKUYU23A7XDWV4XZK46SGQKX7U45PQC FS7Q6TUHBK5WSRDC3TM6KV2BPGWATRBLDHFGEJ72BR3FRDEOC3WAC XQFT6DACFOMNNXDYUZRGRCMEPWF34KW5PRZ7RVMVJHYCS76JIZSAC extern "C" void CarpetX_SolvePoisson() {
extern "C" void CarpetX_SolvePoisson(const CCTK_INT gi_sol,const CCTK_INT gi_rhs,const CCTK_INT gi_res) {assert(gi_rhs >= 0);assert(gi_sol >= 0);const bool have_res = gi_res >= 0;if (have_res)assert(gi_res >= 0);const int tl = 0;const int vi = 0;
const int gi_rhs = CCTK_GroupIndex("Poisson::rhs");assert(gi_rhs >= 0);const int gi_sol = CCTK_GroupIndex("Poisson::phi");assert(gi_sol >= 0);const int gi_res = CCTK_GroupIndex("Poisson::res");assert(gi_res >= 0);const int tl = 0;const int vi = 0;
const auto &restrict groupdata_res = *leveldata.groupdata.at(gi_res);ress.at(level) = groupdata_res.mfab.at(tl).get();
if (have_res) {const auto &restrict groupdata_res = *leveldata.groupdata.at(gi_res);ress.at(level) = groupdata_res.mfab.at(tl).get();}
for (int level = 0; level < int(ghext->leveldata.size()); ++level)CCTK_VINFO("norm_inf res[%d]: %g", level,double(ress.at(level)->norminf(vi, 0, false, true)));
if (have_res)for (int level = 0; level < int(ghext->leveldata.size()); ++level)CCTK_VINFO("norm_inf res[%d]: %g", level,double(ress.at(level)->norminf(vi, 0, false, true)));
for (int level = 0; level < int(ghext->leveldata.size()); ++level)CCTK_VINFO("norm_inf res[%d]: %g", level,double(ress.at(level)->norminf(vi, 0, false, true)));
if (have_res)for (int level = 0; level < int(ghext->leveldata.size()); ++level)CCTK_VINFO("norm_inf res[%d]: %g", level,double(ress.at(level)->norminf(vi, 0, false, true)));
SolvePoisson();
const int gi_sol = CCTK_GroupIndex("Poisson::phi");assert(gi_sol >= 0);const int gi_rhs = CCTK_GroupIndex("Poisson::rhs");assert(gi_rhs >= 0);const int gi_res = CCTK_GroupIndex("Poisson::res");assert(gi_res >= 0);SolvePoisson(gi_sol, gi_rhs, gi_res);