2HBMXCNDT3QJWGTNHCJX3IBQ7H3QEGFGMELYYO63P3WDPBTP3JWQC
J2F4HBGWAUNOMAQESHEBZHLKN6RVLVF5FY7GYC4Q2N7G2X5X3SQQC
XMX4DDECP653XBW5VLUW3SIUTM7Z7CP7LT67YPCJKKNPIJQQEDTAC
67ABKXMOSVKKVRSSD6QVF4BLBQLZCEAST2UMLLKOBV7WSVTQRSEQC
LAPWK2M55JGEUK5ZGFN5DKUOAV3HJYUBWHO7ZWVU7FBYMCQXHQZAC
GP6UYE5IVVG25EHEMT4EPKFUUWI2QUZSJCRSHOIVTM4AX4IVXBLAC
NUOLOGCKMF5UOBGBYEOX4O7NQ5AEVVLCH6KRBQRJQXIRDNJ2C2ZQC
// Load and calculate
const z4c_vars_noderivs<CCTK_REAL> vars(
kappa1, kappa2, f_mu_L, f_mu_S, eta, //
gf_chi_, gf_gammatxx_, gf_gammatxy_, gf_gammatxz_, gf_gammatyy_,
gf_gammatyz_, gf_gammatzz_, gf_Kh_, gf_Atxx_, gf_Atxy_, gf_Atxz_,
gf_Atyy_, gf_Atyz_, gf_Atzz_,
//
// gf_Gamtx_, gf_Gamty_, gf_Gamtz_,
gf_chi_, gf_chi_, gf_chi_,
//
gf_Theta_, gf_alphaG_, gf_betaGx_, gf_betaGy_, gf_betaGz_, //
p.I);
// Load and calculate
const z4c_vars_noderivs<CCTK_REAL> vars(
kappa1, kappa2, f_mu_L, f_mu_S, eta, //
gf_chi_, gf_gammatxx_, gf_gammatxy_, gf_gammatxz_, gf_gammatyy_,
gf_gammatyz_, gf_gammatzz_, gf_Kh_, gf_Atxx_, gf_Atxy_, gf_Atxz_,
gf_Atyy_, gf_Atyz_, gf_Atzz_,
//
// gf_Gamtx_, gf_Gamty_, gf_Gamtz_,
gf_chi_, gf_chi_, gf_chi_,
//
gf_Theta_, gf_alphaG_, gf_betaGx_, gf_betaGy_, gf_betaGz_, //
p.I);
// Store
vars.g.store(gf_gxx_, gf_gxy_, gf_gxz_, gf_gyy_, gf_gyz_, gf_gzz_, p.I);
vars.k.store(gf_kxx_, gf_kxy_, gf_kxz_, gf_kyy_, gf_kyz_, gf_kzz_, p.I);
gf_alp_(p.I) = vars.alp;
vars.beta.store(gf_betax_, gf_betay_, gf_betaz_, p.I);
});
// Store
vars.g.store(gf_gxx_, gf_gxy_, gf_gxz_, gf_gyy_, gf_gyz_, gf_gzz_, p.I);
vars.k.store(gf_kxx_, gf_kxy_, gf_kxz_, gf_kyy_, gf_kyz_, gf_kzz_, p.I);
gf_alp_(p.I) = vars.alp;
vars.beta.store(gf_betax_, gf_betay_, gf_betaz_, p.I);
});
#warning "TODO: These are wrong!"
loop_all<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dtalp_(p.I) = 0; });
const GF3D<CCTK_REAL, 0, 0, 0> gf_dtkxx_(cctkGH, dtkxx);
const GF3D<CCTK_REAL, 0, 0, 0> gf_dtkxy_(cctkGH, dtkxy);
const GF3D<CCTK_REAL, 0, 0, 0> gf_dtkxz_(cctkGH, dtkxz);
const GF3D<CCTK_REAL, 0, 0, 0> gf_dtkyy_(cctkGH, dtkyy);
const GF3D<CCTK_REAL, 0, 0, 0> gf_dtkyz_(cctkGH, dtkyz);
const GF3D<CCTK_REAL, 0, 0, 0> gf_dtkzz_(cctkGH, dtkzz);
const GF3D<CCTK_REAL, 0, 0, 0> gf_dt2alp_(cctkGH, dt2alp);
const GF3D<CCTK_REAL, 0, 0, 0> gf_dt2betax_(cctkGH, dt2betax);
const GF3D<CCTK_REAL, 0, 0, 0> gf_dt2betay_(cctkGH, dt2betay);
const GF3D<CCTK_REAL, 0, 0, 0> gf_dt2betaz_(cctkGH, dt2betaz);
const z4c_vars<CCTK_REAL> vars(
kappa1, kappa2, f_mu_L, f_mu_S, eta, //
gf_chi_(p.I), gf_dchi_(p.I), gf_ddchi_(p.I), //
gf_gammat_(p.I), gf_dgammat_(p.I), gf_ddgammat_(p.I), //
gf_Kh_(p.I), gf_dKh_(p.I), //
gf_At_(p.I), gf_dAt_(p.I), //
gf_Gamt_(p.I), gf_dGamt_(p.I), //
gf_Theta_(p.I), gf_dTheta_(p.I), //
gf_alphaG_(p.I), gf_dalphaG_(p.I), gf_ddalphaG_(p.I), //
gf_betaG_(p.I), gf_dbetaG_(p.I), gf_ddbetaG_(p.I), //
rho, //
Si, //
Sij);
const z4c_vars<CCTK_REAL> vars(
kappa1, kappa2, f_mu_L, f_mu_S, eta, //
gf_chi_(p.I), gf_dchi_(p.I), gf_ddchi_(p.I), //
gf_gammat_(p.I), gf_dgammat_(p.I), gf_ddgammat_(p.I), //
gf_Kh_(p.I), gf_dKh_(p.I), //
gf_At_(p.I), gf_dAt_(p.I), //
gf_Gamt_(p.I), gf_dGamt_(p.I), //
gf_Theta_(p.I), gf_dTheta_(p.I), //
gf_alphaG_(p.I), gf_dalphaG_(p.I), gf_ddalphaG_(p.I), //
gf_betaG_(p.I), gf_dbetaG_(p.I), gf_ddbetaG_(p.I), //
rho, //
Si, //
Sij);
vars.Gamt_rhs.store(gf_Gamtx_rhs_, gf_Gamty_rhs_, gf_Gamtz_rhs_, p.I);
gf_Theta_rhs_(p.I) = vars.Theta_rhs;
gf_alphaG_rhs_(p.I) = vars.alphaG_rhs;
vars.Gamt_rhs.store(gf_Gamtx_rhs_, gf_Gamty_rhs_, gf_Gamtz_rhs_, p.I);
gf_Theta_rhs_(p.I) = vars.Theta_rhs;
gf_alphaG_rhs_(p.I) = vars.alphaG_rhs;
// ADMBase
#warning "TODO: These are wrong!"
loop_all<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dtkxx_(p.I) = 0; });
loop_all<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dtkxy_(p.I) = 0; });
loop_all<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dtkxz_(p.I) = 0; });
loop_all<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dtkyy_(p.I) = 0; });
loop_all<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dtkyz_(p.I) = 0; });
loop_all<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dtkzz_(p.I) = 0; });
loop_all<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dt2alp_(p.I) = 0; });
loop_all<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dt2betax_(p.I) = 0; });
loop_all<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dt2betay_(p.I) = 0; });
loop_all<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dt2betaz_(p.I) = 0; });
const GF3D<CCTK_REAL, 0, 0, 0> gf_dtkxx_(cctkGH, dtkxx);
const GF3D<CCTK_REAL, 0, 0, 0> gf_dtkxy_(cctkGH, dtkxy);
const GF3D<CCTK_REAL, 0, 0, 0> gf_dtkxz_(cctkGH, dtkxz);
const GF3D<CCTK_REAL, 0, 0, 0> gf_dtkyy_(cctkGH, dtkyy);
const GF3D<CCTK_REAL, 0, 0, 0> gf_dtkyz_(cctkGH, dtkyz);
const GF3D<CCTK_REAL, 0, 0, 0> gf_dtkzz_(cctkGH, dtkzz);
const GF3D<CCTK_REAL, 0, 0, 0> gf_dt2alp_(cctkGH, dt2alp);
// ADMBase
loop_bnd<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dtkxx_(p.I) = 0; });
loop_bnd<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dtkxy_(p.I) = 0; });
loop_bnd<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dtkxz_(p.I) = 0; });
loop_bnd<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dtkyy_(p.I) = 0; });
loop_bnd<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dtkyz_(p.I) = 0; });
loop_bnd<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dtkzz_(p.I) = 0; });
loop_bnd<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dt2alp_(p.I) = 0; });
loop_bnd<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dt2betax_(p.I) = 0; });
loop_bnd<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dt2betay_(p.I) = 0; });
loop_bnd<0, 0, 0>(cctkGH, [&](const PointDesc &p) { gf_dt2betaz_(p.I) = 0; });