diff options
author | Anton Khirnov <anton@khirnov.net> | 2016-02-28 10:14:07 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2016-02-28 10:14:07 +0100 |
commit | 6134ede52f277d451ce00764fc295f89c368e8e3 (patch) | |
tree | 8c74da07529eb085af87df14d9b71e10b225d620 | |
parent | 3cea759d784721794b9ad0cfa0618fee55032ff5 (diff) |
cartoon+qms
36 files changed, 5796 insertions, 1229 deletions
diff --git a/ML_BSSN/interface.ccl b/ML_BSSN/interface.ccl index ae48008..822e78b 100644 --- a/ML_BSSN/interface.ccl +++ b/ML_BSSN/interface.ccl @@ -2,7 +2,7 @@ implements: ML_BSSN -inherits: ADMBase Boundary GenericFD Grid TmunuBase +inherits: ADMBase Boundary GenericFD Grid QuasiMaximalSlicing TmunuBase @@ -76,10 +76,29 @@ CCTK_REAL ML_lapse type=GF timelevels=3 tags='tensortypealias="Scalar" tensorwei } "ML_lapse" public: -CCTK_REAL ML_dtlapse type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0' +CCTK_REAL ML_Kdot type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorweight=0' { - A -} "ML_dtlapse" + Kdot11, + Kdot12, + Kdot13, + Kdot22, + Kdot23, + Kdot33 +} "ML_Kdot" + +public: +CCTK_REAL ML_Xtdot type=GF timelevels=3 tags='tensortypealias="U" tensorweight=0' +{ + Xtdot1, + Xtdot2, + Xtdot3 +} "ML_Xtdot" + +public: +CCTK_REAL ML_phidot type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0' +{ + phidot +} "ML_phidot" public: CCTK_REAL ML_shift type=GF timelevels=3 tags='tensortypealias="U" tensorweight=0' @@ -112,6 +131,24 @@ CCTK_REAL ML_mom type=GF timelevels=1 tags='tensortypealias="D" tensorweight=0' } "ML_mom" public: +CCTK_REAL ML_term1 type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=0' +{ + term1 +} "ML_term1" + +public: +CCTK_REAL ML_term2 type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=0' +{ + term2 +} "ML_term2" + +public: +CCTK_REAL ML_term3 type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=0' +{ + term3 +} "ML_term3" + +public: CCTK_REAL ML_cons_detg type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=2' { cS @@ -143,12 +180,6 @@ CCTK_REAL ML_curvrhs type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorw } "ML_curvrhs" public: -CCTK_REAL ML_dtlapserhs type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0 Prolongation="None"' -{ - Arhs -} "ML_dtlapserhs" - -public: CCTK_REAL ML_dtshiftrhs type=GF timelevels=3 tags='tensortypealias="U" tensorweight=0 Prolongation="None"' { B1rhs, diff --git a/ML_BSSN/param.ccl b/ML_BSSN/param.ccl index d9d73be..63b9998 100644 --- a/ML_BSSN/param.ccl +++ b/ML_BSSN/param.ccl @@ -82,6 +82,12 @@ CCTK_REAL AlphaDriver "AlphaDriver" } 0 restricted: +CCTK_REAL RDriver "RDriver" +{ + "*:*" :: "" +} 1 + +restricted: CCTK_REAL ShiftBCoeff "Whether to evolve B^i in time" { "*:*" :: "" @@ -100,6 +106,12 @@ CCTK_REAL BetaDriver "BetaDriver" } 0 restricted: +CCTK_REAL WFactor "WFactor" +{ + "*:*" :: "" +} 1 + +restricted: CCTK_REAL LapseAdvectionCoeff "Factor in front of the lapse advection terms in 1+log" { "*:*" :: "" @@ -136,6 +148,12 @@ CCTK_REAL EpsDiss "Dissipation strength" } 0 restricted: +CCTK_REAL KEvolFactor "" +{ + "*:*" :: "" +} 0 + +restricted: CCTK_INT harmonicN "d/dt alpha = - f alpha^n K (harmonic=2, 1+log=1)" { *:* :: "" @@ -225,8 +243,8 @@ KEYWORD apply_dissipation "Whether to apply dissipation to the RHSs" restricted: CCTK_INT ML_BSSN_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars STEERABLE=RECOVER { - 25:25 :: "Number of evolved variables used by this thorn" -} 25 + 24:24 :: "Number of evolved variables used by this thorn" +} 24 restricted: CCTK_INT ML_BSSN_MaxNumArrayEvolvedVars "Number of Array evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_ArrayEvolved_Vars STEERABLE=RECOVER @@ -271,13 +289,13 @@ CCTK_INT ML_BSSN_convertFromADMBaseGamma_calc_every "ML_BSSN_convertFromADMBaseG } 1 restricted: -CCTK_INT ML_BSSN_RHS1_calc_every "ML_BSSN_RHS1_calc_every" STEERABLE=ALWAYS +CCTK_INT ML_BSSN_RHS_calc_every "ML_BSSN_RHS_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 restricted: -CCTK_INT ML_BSSN_RHS2_calc_every "ML_BSSN_RHS2_calc_every" STEERABLE=ALWAYS +CCTK_INT ML_BSSN_lapse_evol_calc_every "ML_BSSN_lapse_evol_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 @@ -343,13 +361,7 @@ CCTK_INT ML_BSSN_convertToADMBaseFakeDtLapseShift_calc_every "ML_BSSN_convertToA } 1 restricted: -CCTK_INT ML_BSSN_constraints1_calc_every "ML_BSSN_constraints1_calc_every" STEERABLE=ALWAYS -{ - *:* :: "" -} 1 - -restricted: -CCTK_INT ML_BSSN_constraints2_calc_every "ML_BSSN_constraints2_calc_every" STEERABLE=ALWAYS +CCTK_INT ML_BSSN_constraints_calc_every "ML_BSSN_constraints_calc_every" STEERABLE=ALWAYS { *:* :: "" } 1 @@ -379,13 +391,13 @@ CCTK_INT ML_BSSN_convertFromADMBaseGamma_calc_offset "ML_BSSN_convertFromADMBase } 0 restricted: -CCTK_INT ML_BSSN_RHS1_calc_offset "ML_BSSN_RHS1_calc_offset" STEERABLE=ALWAYS +CCTK_INT ML_BSSN_RHS_calc_offset "ML_BSSN_RHS_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 restricted: -CCTK_INT ML_BSSN_RHS2_calc_offset "ML_BSSN_RHS2_calc_offset" STEERABLE=ALWAYS +CCTK_INT ML_BSSN_lapse_evol_calc_offset "ML_BSSN_lapse_evol_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 @@ -451,13 +463,7 @@ CCTK_INT ML_BSSN_convertToADMBaseFakeDtLapseShift_calc_offset "ML_BSSN_convertTo } 0 restricted: -CCTK_INT ML_BSSN_constraints1_calc_offset "ML_BSSN_constraints1_calc_offset" STEERABLE=ALWAYS -{ - *:* :: "" -} 0 - -restricted: -CCTK_INT ML_BSSN_constraints2_calc_offset "ML_BSSN_constraints2_calc_offset" STEERABLE=ALWAYS +CCTK_INT ML_BSSN_constraints_calc_offset "ML_BSSN_constraints_calc_offset" STEERABLE=ALWAYS { *:* :: "" } 0 @@ -679,18 +685,6 @@ KEYWORD alpha_bound "Boundary condition to implement" STEERABLE=ALWAYS } "skip" private: -KEYWORD A_bound "Boundary condition to implement" STEERABLE=ALWAYS -{ - "flat" :: "Flat boundary condition" - "none" :: "No boundary condition" - "static" :: "Boundaries held fixed" - "radiative" :: "Radiation boundary condition" - "scalar" :: "Dirichlet boundary condition" - "newrad" :: "Improved radiative boundary condition" - "skip" :: "skip boundary condition code" -} "skip" - -private: KEYWORD beta1_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" @@ -835,18 +829,6 @@ KEYWORD ML_lapse_bound "Boundary condition to implement" STEERABLE=ALWAYS } "none" private: -KEYWORD ML_dtlapse_bound "Boundary condition to implement" STEERABLE=ALWAYS -{ - "flat" :: "Flat boundary condition" - "none" :: "No boundary condition" - "static" :: "Boundaries held fixed" - "radiative" :: "Radiation boundary condition" - "scalar" :: "Dirichlet boundary condition" - "newrad" :: "Improved radiative boundary condition" - "skip" :: "skip boundary condition code" -} "none" - -private: KEYWORD ML_shift_bound "Boundary condition to implement" STEERABLE=ALWAYS { "flat" :: "Flat boundary condition" @@ -979,12 +961,6 @@ CCTK_REAL alpha_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS } 1. private: -CCTK_REAL A_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS -{ - "0:*" :: "outgoing characteristic speed > 0" -} 1. - -private: CCTK_REAL beta1_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" @@ -1057,12 +1033,6 @@ CCTK_REAL ML_lapse_bound_speed "characteristic speed at boundary" STEERABLE=ALWA } 1. private: -CCTK_REAL ML_dtlapse_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS -{ - "0:*" :: "outgoing characteristic speed > 0" -} 1. - -private: CCTK_REAL ML_shift_bound_speed "characteristic speed at boundary" STEERABLE=ALWAYS { "0:*" :: "outgoing characteristic speed > 0" @@ -1183,12 +1153,6 @@ CCTK_REAL alpha_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS } 0. private: -CCTK_REAL A_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS -{ - "*:*" :: "value of limit value is unrestricted" -} 0. - -private: CCTK_REAL beta1_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" @@ -1261,12 +1225,6 @@ CCTK_REAL ML_lapse_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS } 0. private: -CCTK_REAL ML_dtlapse_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS -{ - "*:*" :: "value of limit value is unrestricted" -} 0. - -private: CCTK_REAL ML_shift_bound_limit "limit value for r -> infinity" STEERABLE=ALWAYS { "*:*" :: "value of limit value is unrestricted" @@ -1387,12 +1345,6 @@ CCTK_REAL alpha_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS } 0. private: -CCTK_REAL A_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS -{ - "*:*" :: "unrestricted" -} 0. - -private: CCTK_REAL beta1_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" @@ -1465,12 +1417,6 @@ CCTK_REAL ML_lapse_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS } 0. private: -CCTK_REAL ML_dtlapse_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS -{ - "*:*" :: "unrestricted" -} 0. - -private: CCTK_REAL ML_shift_bound_scalar "Dirichlet boundary value" STEERABLE=ALWAYS { "*:*" :: "unrestricted" diff --git a/ML_BSSN/schedule.ccl b/ML_BSSN/schedule.ccl index 27bda1a..2aa1baf 100644 --- a/ML_BSSN/schedule.ccl +++ b/ML_BSSN/schedule.ccl @@ -13,7 +13,11 @@ STORAGE: ML_curv[timelevels] STORAGE: ML_lapse[timelevels] -STORAGE: ML_dtlapse[timelevels] +STORAGE: ML_Kdot[timelevels] + +STORAGE: ML_Xtdot[timelevels] + +STORAGE: ML_phidot[timelevels] STORAGE: ML_shift[timelevels] @@ -23,6 +27,12 @@ STORAGE: ML_Ham[other_timelevels] STORAGE: ML_mom[other_timelevels] +STORAGE: ML_term1[other_timelevels] + +STORAGE: ML_term2[other_timelevels] + +STORAGE: ML_term3[other_timelevels] + STORAGE: ML_cons_detg[other_timelevels] STORAGE: ML_cons_Gamma[other_timelevels] @@ -31,8 +41,6 @@ STORAGE: ML_cons_traceA[other_timelevels] STORAGE: ML_curvrhs[rhs_timelevels] -STORAGE: ML_dtlapserhs[rhs_timelevels] - STORAGE: ML_dtshiftrhs[rhs_timelevels] STORAGE: ML_Gammarhs[rhs_timelevels] @@ -65,8 +73,6 @@ if (CCTK_EQUALS(my_initial_data, "Minkowski")) schedule ML_BSSN_Minkowski IN ADMBase_InitialData { LANG: C - WRITES: ML_BSSN::A(Everywhere) - WRITES: ML_BSSN::alpha(Everywhere) WRITES: ML_BSSN::At11(Everywhere) WRITES: ML_BSSN::At12(Everywhere) WRITES: ML_BSSN::At13(Everywhere) @@ -142,7 +148,6 @@ if (CCTK_EQUALS(my_initial_data, "ADMBase")) schedule ML_BSSN_InitGamma AT initial BEFORE ML_BSSN_convertFromADMBaseGamma { LANG: C - WRITES: ML_BSSN::A(Everywhere) WRITES: ML_BSSN::B1(Everywhere) WRITES: ML_BSSN::B2(Everywhere) WRITES: ML_BSSN::B3(Everywhere) @@ -158,15 +163,12 @@ if (CCTK_EQUALS(my_initial_data, "ADMBase")) schedule ML_BSSN_convertFromADMBaseGamma AT initial AFTER ML_BSSN_convertFromADMBase { LANG: C - SYNC: ML_dtlapse SYNC: ML_dtshift SYNC: ML_Gamma - READS: ADMBase::dtalp(Everywhere) READS: ADMBase::dtbetax(Everywhere) READS: ADMBase::dtbetay(Everywhere) READS: ADMBase::dtbetaz(Everywhere) READS: grid::r(Everywhere) - READS: ML_BSSN::alpha(Everywhere) READS: ML_BSSN::gt11(Everywhere) READS: ML_BSSN::gt12(Everywhere) READS: ML_BSSN::gt13(Everywhere) @@ -176,7 +178,6 @@ if (CCTK_EQUALS(my_initial_data, "ADMBase")) READS: ML_BSSN::beta1(Everywhere) READS: ML_BSSN::beta2(Everywhere) READS: ML_BSSN::beta3(Everywhere) - WRITES: ML_BSSN::A(Interior) WRITES: ML_BSSN::B1(Interior) WRITES: ML_BSSN::B2(Interior) WRITES: ML_BSSN::B3(Interior) @@ -186,7 +187,7 @@ if (CCTK_EQUALS(my_initial_data, "ADMBase")) } "ML_BSSN_convertFromADMBaseGamma" } -schedule ML_BSSN_RHS1 IN ML_BSSN_evolCalcGroup +schedule ML_BSSN_RHS IN ML_BSSN_evolCalcGroup { LANG: C READS: grid::r(Everywhere) @@ -206,7 +207,6 @@ schedule ML_BSSN_RHS1 IN ML_BSSN_evolCalcGroup READS: ML_BSSN::At22(Everywhere) READS: ML_BSSN::At23(Everywhere) READS: ML_BSSN::At33(Everywhere) - READS: ML_BSSN::A(Everywhere) READS: ML_BSSN::B1(Everywhere) READS: ML_BSSN::B2(Everywhere) READS: ML_BSSN::B3(Everywhere) @@ -225,8 +225,12 @@ schedule ML_BSSN_RHS1 IN ML_BSSN_evolCalcGroup READS: ML_BSSN::beta2(Everywhere) READS: ML_BSSN::beta3(Everywhere) READS: ML_BSSN::trK(Everywhere) - WRITES: ML_BSSN::alpharhs(Interior) - WRITES: ML_BSSN::Arhs(Interior) + WRITES: ML_BSSN::At11rhs(Interior) + WRITES: ML_BSSN::At12rhs(Interior) + WRITES: ML_BSSN::At13rhs(Interior) + WRITES: ML_BSSN::At22rhs(Interior) + WRITES: ML_BSSN::At23rhs(Interior) + WRITES: ML_BSSN::At33rhs(Interior) WRITES: ML_BSSN::B1rhs(Interior) WRITES: ML_BSSN::B2rhs(Interior) WRITES: ML_BSSN::B3rhs(Interior) @@ -239,60 +243,39 @@ schedule ML_BSSN_RHS1 IN ML_BSSN_evolCalcGroup WRITES: ML_BSSN::gt22rhs(Interior) WRITES: ML_BSSN::gt23rhs(Interior) WRITES: ML_BSSN::gt33rhs(Interior) + WRITES: ML_BSSN::Kdot11(Interior) + WRITES: ML_BSSN::Kdot12(Interior) + WRITES: ML_BSSN::Kdot13(Interior) + WRITES: ML_BSSN::Kdot22(Interior) + WRITES: ML_BSSN::Kdot23(Interior) + WRITES: ML_BSSN::Kdot33(Interior) + WRITES: ML_BSSN::phidot(Interior) WRITES: ML_BSSN::phirhs(Interior) + WRITES: ML_BSSN::term1(Interior) + WRITES: ML_BSSN::term2(Interior) + WRITES: ML_BSSN::term3(Interior) WRITES: ML_BSSN::trKrhs(Interior) WRITES: ML_BSSN::Xt1rhs(Interior) WRITES: ML_BSSN::Xt2rhs(Interior) WRITES: ML_BSSN::Xt3rhs(Interior) -} "ML_BSSN_RHS1" + WRITES: ML_BSSN::Xtdot1(Interior) + WRITES: ML_BSSN::Xtdot2(Interior) + WRITES: ML_BSSN::Xtdot3(Interior) +} "ML_BSSN_RHS" -schedule ML_BSSN_RHS2 IN ML_BSSN_evolCalcGroup +schedule ML_BSSN_lapse_evol IN ML_BSSN_evolCalcGroup { LANG: C - READS: grid::r(Everywhere) - READS: TmunuBase::eTtt(Everywhere) - READS: TmunuBase::eTxx(Everywhere) - READS: TmunuBase::eTxy(Everywhere) - READS: TmunuBase::eTxz(Everywhere) - READS: TmunuBase::eTyy(Everywhere) - READS: TmunuBase::eTyz(Everywhere) - READS: TmunuBase::eTzz(Everywhere) - READS: TmunuBase::eTtx(Everywhere) - READS: TmunuBase::eTty(Everywhere) - READS: TmunuBase::eTtz(Everywhere) - READS: ML_BSSN::At11(Everywhere) - READS: ML_BSSN::At12(Everywhere) - READS: ML_BSSN::At13(Everywhere) - READS: ML_BSSN::At22(Everywhere) - READS: ML_BSSN::At23(Everywhere) - READS: ML_BSSN::At33(Everywhere) - READS: ML_BSSN::Xt1(Everywhere) - READS: ML_BSSN::Xt2(Everywhere) - READS: ML_BSSN::Xt3(Everywhere) + READS: QuasiMaximalSlicing::W(Everywhere) READS: ML_BSSN::alpha(Everywhere) - READS: ML_BSSN::phi(Everywhere) - READS: ML_BSSN::gt11(Everywhere) - READS: ML_BSSN::gt12(Everywhere) - READS: ML_BSSN::gt13(Everywhere) - READS: ML_BSSN::gt22(Everywhere) - READS: ML_BSSN::gt23(Everywhere) - READS: ML_BSSN::gt33(Everywhere) - READS: ML_BSSN::beta1(Everywhere) - READS: ML_BSSN::beta2(Everywhere) - READS: ML_BSSN::beta3(Everywhere) READS: ML_BSSN::trK(Everywhere) - WRITES: ML_BSSN::At11rhs(Interior) - WRITES: ML_BSSN::At12rhs(Interior) - WRITES: ML_BSSN::At13rhs(Interior) - WRITES: ML_BSSN::At22rhs(Interior) - WRITES: ML_BSSN::At23rhs(Interior) - WRITES: ML_BSSN::At33rhs(Interior) -} "ML_BSSN_RHS2" + WRITES: ML_BSSN::alpharhs(Interior) +} "ML_BSSN_lapse_evol" if (CCTK_EQUALS(apply_dissipation, "always")) { - schedule ML_BSSN_Dissipation IN ML_BSSN_evolCalcGroup AFTER (ML_BSSN_RHS1 ML_BSSN_RHS2) + schedule ML_BSSN_Dissipation IN ML_BSSN_evolCalcGroup AFTER (ML_BSSN_RHS ML_BSSN_RHS1 ML_BSSN_RHS2) { LANG: C READS: ML_BSSN::At11(Everywhere) @@ -301,14 +284,12 @@ if (CCTK_EQUALS(apply_dissipation, "always")) READS: ML_BSSN::At22(Everywhere) READS: ML_BSSN::At23(Everywhere) READS: ML_BSSN::At33(Everywhere) - READS: ML_BSSN::A(Everywhere) READS: ML_BSSN::B1(Everywhere) READS: ML_BSSN::B2(Everywhere) READS: ML_BSSN::B3(Everywhere) READS: ML_BSSN::Xt1(Everywhere) READS: ML_BSSN::Xt2(Everywhere) READS: ML_BSSN::Xt3(Everywhere) - READS: ML_BSSN::alpha(Everywhere) READS: ML_BSSN::phi(Everywhere) READS: ML_BSSN::gt11(Everywhere) READS: ML_BSSN::gt12(Everywhere) @@ -326,14 +307,12 @@ if (CCTK_EQUALS(apply_dissipation, "always")) READS: ML_BSSN::At22rhs(Everywhere) READS: ML_BSSN::At23rhs(Everywhere) READS: ML_BSSN::At33rhs(Everywhere) - READS: ML_BSSN::Arhs(Everywhere) READS: ML_BSSN::B1rhs(Everywhere) READS: ML_BSSN::B2rhs(Everywhere) READS: ML_BSSN::B3rhs(Everywhere) READS: ML_BSSN::Xt1rhs(Everywhere) READS: ML_BSSN::Xt2rhs(Everywhere) READS: ML_BSSN::Xt3rhs(Everywhere) - READS: ML_BSSN::alpharhs(Everywhere) READS: ML_BSSN::phirhs(Everywhere) READS: ML_BSSN::gt11rhs(Everywhere) READS: ML_BSSN::gt12rhs(Everywhere) @@ -345,8 +324,6 @@ if (CCTK_EQUALS(apply_dissipation, "always")) READS: ML_BSSN::beta2rhs(Everywhere) READS: ML_BSSN::beta3rhs(Everywhere) READS: ML_BSSN::trKrhs(Everywhere) - WRITES: ML_BSSN::alpharhs(Interior) - WRITES: ML_BSSN::Arhs(Interior) WRITES: ML_BSSN::At11rhs(Interior) WRITES: ML_BSSN::At12rhs(Interior) WRITES: ML_BSSN::At13rhs(Interior) @@ -373,7 +350,7 @@ if (CCTK_EQUALS(apply_dissipation, "always")) } "ML_BSSN_Dissipation" } -schedule ML_BSSN_Advect IN ML_BSSN_evolCalcGroup AFTER (ML_BSSN_RHS1 ML_BSSN_RHS2) +schedule ML_BSSN_Advect IN ML_BSSN_evolCalcGroup AFTER (ML_BSSN_RHS ML_BSSN_lapse_evol ML_BSSN_RHS1 ML_BSSN_RHS2) { LANG: C READS: ML_BSSN::At11(Everywhere) @@ -382,14 +359,12 @@ schedule ML_BSSN_Advect IN ML_BSSN_evolCalcGroup AFTER (ML_BSSN_RHS1 ML_BSSN_RHS READS: ML_BSSN::At22(Everywhere) READS: ML_BSSN::At23(Everywhere) READS: ML_BSSN::At33(Everywhere) - READS: ML_BSSN::A(Everywhere) READS: ML_BSSN::B1(Everywhere) READS: ML_BSSN::B2(Everywhere) READS: ML_BSSN::B3(Everywhere) READS: ML_BSSN::Xt1(Everywhere) READS: ML_BSSN::Xt2(Everywhere) READS: ML_BSSN::Xt3(Everywhere) - READS: ML_BSSN::alpha(Everywhere) READS: ML_BSSN::phi(Everywhere) READS: ML_BSSN::gt11(Everywhere) READS: ML_BSSN::gt12(Everywhere) @@ -407,14 +382,12 @@ schedule ML_BSSN_Advect IN ML_BSSN_evolCalcGroup AFTER (ML_BSSN_RHS1 ML_BSSN_RHS READS: ML_BSSN::At22rhs(Everywhere) READS: ML_BSSN::At23rhs(Everywhere) READS: ML_BSSN::At33rhs(Everywhere) - READS: ML_BSSN::Arhs(Everywhere) READS: ML_BSSN::B1rhs(Everywhere) READS: ML_BSSN::B2rhs(Everywhere) READS: ML_BSSN::B3rhs(Everywhere) READS: ML_BSSN::Xt1rhs(Everywhere) READS: ML_BSSN::Xt2rhs(Everywhere) READS: ML_BSSN::Xt3rhs(Everywhere) - READS: ML_BSSN::alpharhs(Everywhere) READS: ML_BSSN::phirhs(Everywhere) READS: ML_BSSN::gt11rhs(Everywhere) READS: ML_BSSN::gt12rhs(Everywhere) @@ -426,8 +399,6 @@ schedule ML_BSSN_Advect IN ML_BSSN_evolCalcGroup AFTER (ML_BSSN_RHS1 ML_BSSN_RHS READS: ML_BSSN::beta2rhs(Everywhere) READS: ML_BSSN::beta3rhs(Everywhere) READS: ML_BSSN::trKrhs(Everywhere) - WRITES: ML_BSSN::alpharhs(Interior) - WRITES: ML_BSSN::Arhs(Interior) WRITES: ML_BSSN::At11rhs(Interior) WRITES: ML_BSSN::At12rhs(Interior) WRITES: ML_BSSN::At13rhs(Interior) @@ -456,8 +427,6 @@ schedule ML_BSSN_Advect IN ML_BSSN_evolCalcGroup AFTER (ML_BSSN_RHS1 ML_BSSN_RHS schedule ML_BSSN_InitRHS AT analysis BEFORE ML_BSSN_evolCalcGroup { LANG: C - WRITES: ML_BSSN::alpharhs(Everywhere) - WRITES: ML_BSSN::Arhs(Everywhere) WRITES: ML_BSSN::At11rhs(Everywhere) WRITES: ML_BSSN::At12rhs(Everywhere) WRITES: ML_BSSN::At13rhs(Everywhere) @@ -489,8 +458,6 @@ if (CCTK_EQUALS(my_rhs_boundary_condition, "static")) schedule ML_BSSN_RHSStaticBoundary IN MoL_CalcRHS { LANG: C - WRITES: ML_BSSN::alpharhs(Boundary) - WRITES: ML_BSSN::Arhs(Boundary) WRITES: ML_BSSN::At11rhs(Boundary) WRITES: ML_BSSN::At12rhs(Boundary) WRITES: ML_BSSN::At13rhs(Boundary) @@ -526,14 +493,12 @@ schedule ML_BSSN_enforce IN MoL_PostStepModify READS: ML_BSSN::At22(Everywhere) READS: ML_BSSN::At23(Everywhere) READS: ML_BSSN::At33(Everywhere) - READS: ML_BSSN::alpha(Everywhere) READS: ML_BSSN::gt11(Everywhere) READS: ML_BSSN::gt12(Everywhere) READS: ML_BSSN::gt13(Everywhere) READS: ML_BSSN::gt22(Everywhere) READS: ML_BSSN::gt23(Everywhere) READS: ML_BSSN::gt33(Everywhere) - WRITES: ML_BSSN::alpha(Everywhere) WRITES: ML_BSSN::At11(Everywhere) WRITES: ML_BSSN::At12(Everywhere) WRITES: ML_BSSN::At13(Everywhere) @@ -548,8 +513,6 @@ if (CCTK_EQUALS(my_boundary_condition, "Minkowski")) schedule ML_BSSN_boundary IN MoL_PostStep { LANG: C - WRITES: ML_BSSN::A(ERROR(BoundaryWithGhosts)) - WRITES: ML_BSSN::alpha(ERROR(BoundaryWithGhosts)) WRITES: ML_BSSN::At11(ERROR(BoundaryWithGhosts)) WRITES: ML_BSSN::At12(ERROR(BoundaryWithGhosts)) WRITES: ML_BSSN::At13(ERROR(BoundaryWithGhosts)) @@ -621,10 +584,8 @@ if (CCTK_EQUALS(dt_lapse_shift_method, "correct")) schedule ML_BSSN_convertToADMBaseDtLapseShift IN ML_BSSN_convertToADMBaseGroup { LANG: C - SYNC: ADMBase::dtlapse SYNC: ADMBase::dtshift READS: grid::r(Everywhere) - READS: ML_BSSN::A(Everywhere) READS: ML_BSSN::B1(Everywhere) READS: ML_BSSN::B2(Everywhere) READS: ML_BSSN::B3(Everywhere) @@ -642,8 +603,6 @@ if (CCTK_EQUALS(dt_lapse_shift_method, "correct")) READS: ML_BSSN::beta1(Everywhere) READS: ML_BSSN::beta2(Everywhere) READS: ML_BSSN::beta3(Everywhere) - READS: ML_BSSN::trK(Everywhere) - WRITES: ADMBase::dtalp(Interior) WRITES: ADMBase::dtbetax(Interior) WRITES: ADMBase::dtbetay(Interior) WRITES: ADMBase::dtbetaz(Interior) @@ -657,14 +616,12 @@ if (CCTK_EQUALS(dt_lapse_shift_method, "correct")) { LANG: C READS: grid::r(Everywhere) - READS: ML_BSSN::A(Everywhere) READS: ML_BSSN::B1(Everywhere) READS: ML_BSSN::B2(Everywhere) READS: ML_BSSN::B3(Everywhere) READS: ML_BSSN::Xt1(Everywhere) READS: ML_BSSN::Xt2(Everywhere) READS: ML_BSSN::Xt3(Everywhere) - READS: ML_BSSN::alpha(Everywhere) READS: ML_BSSN::gt11(Everywhere) READS: ML_BSSN::gt12(Everywhere) READS: ML_BSSN::gt13(Everywhere) @@ -674,8 +631,6 @@ if (CCTK_EQUALS(dt_lapse_shift_method, "correct")) READS: ML_BSSN::beta1(Everywhere) READS: ML_BSSN::beta2(Everywhere) READS: ML_BSSN::beta3(Everywhere) - READS: ML_BSSN::trK(Everywhere) - WRITES: ADMBase::dtalp(ERROR(BoundaryWithGhosts)) WRITES: ADMBase::dtbetax(ERROR(BoundaryWithGhosts)) WRITES: ADMBase::dtbetay(ERROR(BoundaryWithGhosts)) WRITES: ADMBase::dtbetaz(ERROR(BoundaryWithGhosts)) @@ -689,14 +644,12 @@ if (CCTK_EQUALS(dt_lapse_shift_method, "noLapseShiftAdvection")) { LANG: C READS: grid::r(Everywhere) - READS: ML_BSSN::A(Everywhere) READS: ML_BSSN::B1(Everywhere) READS: ML_BSSN::B2(Everywhere) READS: ML_BSSN::B3(Everywhere) READS: ML_BSSN::Xt1(Everywhere) READS: ML_BSSN::Xt2(Everywhere) READS: ML_BSSN::Xt3(Everywhere) - READS: ML_BSSN::alpha(Everywhere) READS: ML_BSSN::gt11(Everywhere) READS: ML_BSSN::gt12(Everywhere) READS: ML_BSSN::gt13(Everywhere) @@ -706,79 +659,17 @@ if (CCTK_EQUALS(dt_lapse_shift_method, "noLapseShiftAdvection")) READS: ML_BSSN::beta1(Everywhere) READS: ML_BSSN::beta2(Everywhere) READS: ML_BSSN::beta3(Everywhere) - READS: ML_BSSN::trK(Everywhere) - WRITES: ADMBase::dtalp(Everywhere) WRITES: ADMBase::dtbetax(Everywhere) WRITES: ADMBase::dtbetay(Everywhere) WRITES: ADMBase::dtbetaz(Everywhere) } "ML_BSSN_convertToADMBaseFakeDtLapseShift" } -schedule group ML_BSSN_constraints1_group in MoL_PseudoEvolution after MoL_PostStep +schedule group ML_BSSN_constraints_group in MoL_PseudoEvolution after MoL_PostStep { -} "ML_BSSN_constraints1" +} "ML_BSSN_constraints" -schedule ML_BSSN_constraints1 in ML_BSSN_constraints1_group -{ - LANG: C - READS: TmunuBase::eTtt(Everywhere) - READS: TmunuBase::eTxx(Everywhere) - READS: TmunuBase::eTxy(Everywhere) - READS: TmunuBase::eTxz(Everywhere) - READS: TmunuBase::eTyy(Everywhere) - READS: TmunuBase::eTyz(Everywhere) - READS: TmunuBase::eTzz(Everywhere) - READS: TmunuBase::eTtx(Everywhere) - READS: TmunuBase::eTty(Everywhere) - READS: TmunuBase::eTtz(Everywhere) - READS: ML_BSSN::At11(Everywhere) - READS: ML_BSSN::At12(Everywhere) - READS: ML_BSSN::At13(Everywhere) - READS: ML_BSSN::At22(Everywhere) - READS: ML_BSSN::At23(Everywhere) - READS: ML_BSSN::At33(Everywhere) - READS: ML_BSSN::Xt1(Everywhere) - READS: ML_BSSN::Xt2(Everywhere) - READS: ML_BSSN::Xt3(Everywhere) - READS: ML_BSSN::alpha(Everywhere) - READS: ML_BSSN::phi(Everywhere) - READS: ML_BSSN::gt11(Everywhere) - READS: ML_BSSN::gt12(Everywhere) - READS: ML_BSSN::gt13(Everywhere) - READS: ML_BSSN::gt22(Everywhere) - READS: ML_BSSN::gt23(Everywhere) - READS: ML_BSSN::gt33(Everywhere) - READS: ML_BSSN::beta1(Everywhere) - READS: ML_BSSN::beta2(Everywhere) - READS: ML_BSSN::beta3(Everywhere) - READS: ML_BSSN::trK(Everywhere) - WRITES: ML_BSSN::H(Interior) -} "ML_BSSN_constraints1" - -schedule ML_BSSN_constraints1_SelectBCs in ML_BSSN_constraints1_bc_group -{ - LANG: C - OPTIONS: level - SYNC: ML_Ham -} "ML_BSSN_constraints1_SelectBCs" - -schedule group ApplyBCs as ML_BSSN_constraints1_ApplyBCs in ML_BSSN_constraints1_bc_group after ML_BSSN_constraints1_SelectBCs -{ -} "Apply BCs for groups set in ML_BSSN_constraints1" - -schedule group ML_BSSN_constraints1_bc_group in ML_BSSN_constraints1_group after ML_BSSN_constraints1 -{ -} "ML_BSSN_constraints1" - -schedule group ML_BSSN_constraints1_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep -{ -} "ML_BSSN_constraints1" - -schedule group ML_BSSN_constraints2_group in MoL_PseudoEvolution after MoL_PostStep -{ -} "ML_BSSN_constraints2" - -schedule ML_BSSN_constraints2 in ML_BSSN_constraints2_group +schedule ML_BSSN_constraints in ML_BSSN_constraints_group { LANG: C READS: TmunuBase::eTtt(Everywhere) @@ -817,32 +708,34 @@ schedule ML_BSSN_constraints2 in ML_BSSN_constraints2_group WRITES: ML_BSSN::cXt1(Interior) WRITES: ML_BSSN::cXt2(Interior) WRITES: ML_BSSN::cXt3(Interior) + WRITES: ML_BSSN::H(Interior) WRITES: ML_BSSN::M1(Interior) WRITES: ML_BSSN::M2(Interior) WRITES: ML_BSSN::M3(Interior) -} "ML_BSSN_constraints2" +} "ML_BSSN_constraints" -schedule ML_BSSN_constraints2_SelectBCs in ML_BSSN_constraints2_bc_group +schedule ML_BSSN_constraints_SelectBCs in ML_BSSN_constraints_bc_group { LANG: C OPTIONS: level SYNC: ML_cons_detg SYNC: ML_cons_Gamma SYNC: ML_cons_traceA + SYNC: ML_Ham SYNC: ML_mom -} "ML_BSSN_constraints2_SelectBCs" +} "ML_BSSN_constraints_SelectBCs" -schedule group ApplyBCs as ML_BSSN_constraints2_ApplyBCs in ML_BSSN_constraints2_bc_group after ML_BSSN_constraints2_SelectBCs +schedule group ApplyBCs as ML_BSSN_constraints_ApplyBCs in ML_BSSN_constraints_bc_group after ML_BSSN_constraints_SelectBCs { -} "Apply BCs for groups set in ML_BSSN_constraints2" +} "Apply BCs for groups set in ML_BSSN_constraints" -schedule group ML_BSSN_constraints2_bc_group in ML_BSSN_constraints2_group after ML_BSSN_constraints2 +schedule group ML_BSSN_constraints_bc_group in ML_BSSN_constraints_group after ML_BSSN_constraints { -} "ML_BSSN_constraints2" +} "ML_BSSN_constraints" -schedule group ML_BSSN_constraints2_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep +schedule group ML_BSSN_constraints_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep { -} "ML_BSSN_constraints2" +} "ML_BSSN_constraints" schedule ML_BSSN_SelectBoundConds in MoL_PostStep { @@ -854,7 +747,6 @@ schedule ML_BSSN_SelectBoundConds in MoL_PostStep SYNC: ML_trace_curv SYNC: ML_curv SYNC: ML_lapse - SYNC: ML_dtlapse SYNC: ML_shift SYNC: ML_dtshift } "select boundary conditions" diff --git a/ML_BSSN/src/Boundaries.cc b/ML_BSSN/src/Boundaries.cc index 345827a..18dd747 100644 --- a/ML_BSSN/src/Boundaries.cc +++ b/ML_BSSN/src/Boundaries.cc @@ -98,17 +98,6 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) CCTK_WARN(0, "Failed to register ML_lapse_bound BC for ML_BSSN::ML_lapse!"); } - if (CCTK_EQUALS(ML_dtlapse_bound, "none" ) || - CCTK_EQUALS(ML_dtlapse_bound, "static") || - CCTK_EQUALS(ML_dtlapse_bound, "flat" ) || - CCTK_EQUALS(ML_dtlapse_bound, "zero" ) ) - { - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, 1, -1, - "ML_BSSN::ML_dtlapse", ML_dtlapse_bound); - if (ierr < 0) - CCTK_WARN(0, "Failed to register ML_dtlapse_bound BC for ML_BSSN::ML_dtlapse!"); - } - if (CCTK_EQUALS(ML_shift_bound, "none" ) || CCTK_EQUALS(ML_shift_bound, "static") || CCTK_EQUALS(ML_shift_bound, "flat" ) || @@ -329,17 +318,6 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) CCTK_WARN(0, "Failed to register alpha_bound BC for ML_BSSN::alpha!"); } - if (CCTK_EQUALS(A_bound, "none" ) || - CCTK_EQUALS(A_bound, "static") || - CCTK_EQUALS(A_bound, "flat" ) || - CCTK_EQUALS(A_bound, "zero" ) ) - { - ierr = Boundary_SelectVarForBC(cctkGH, CCTK_ALL_FACES, 1, -1, - "ML_BSSN::A", A_bound); - if (ierr < 0) - CCTK_WARN(0, "Failed to register A_bound BC for ML_BSSN::A!"); - } - if (CCTK_EQUALS(beta1_bound, "none" ) || CCTK_EQUALS(beta1_bound, "static") || CCTK_EQUALS(beta1_bound, "flat" ) || @@ -520,25 +498,6 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) } - if (CCTK_EQUALS(ML_dtlapse_bound, "radiative")) - { - /* select radiation boundary condition */ - static CCTK_INT handle_ML_dtlapse_bound CCTK_ATTRIBUTE_UNUSED = -1; - if (handle_ML_dtlapse_bound < 0) handle_ML_dtlapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); - if (handle_ML_dtlapse_bound < 0) CCTK_WARN(0, "could not create table!"); - if (Util_TableSetReal(handle_ML_dtlapse_bound , ML_dtlapse_bound_limit, "LIMIT") < 0) - CCTK_WARN(0, "could not set LIMIT value in table!"); - if (Util_TableSetReal(handle_ML_dtlapse_bound ,ML_dtlapse_bound_speed, "SPEED") < 0) - CCTK_WARN(0, "could not set SPEED value in table!"); - - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, 1, handle_ML_dtlapse_bound, - "ML_BSSN::ML_dtlapse", "Radiation"); - - if (ierr < 0) - CCTK_WARN(0, "Failed to register Radiation BC for ML_BSSN::ML_dtlapse!"); - - } - if (CCTK_EQUALS(ML_shift_bound, "radiative")) { /* select radiation boundary condition */ @@ -919,25 +878,6 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) } - if (CCTK_EQUALS(A_bound, "radiative")) - { - /* select radiation boundary condition */ - static CCTK_INT handle_A_bound CCTK_ATTRIBUTE_UNUSED = -1; - if (handle_A_bound < 0) handle_A_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); - if (handle_A_bound < 0) CCTK_WARN(0, "could not create table!"); - if (Util_TableSetReal(handle_A_bound , A_bound_limit, "LIMIT") < 0) - CCTK_WARN(0, "could not set LIMIT value in table!"); - if (Util_TableSetReal(handle_A_bound ,A_bound_speed, "SPEED") < 0) - CCTK_WARN(0, "could not set SPEED value in table!"); - - ierr = Boundary_SelectVarForBC(cctkGH, CCTK_ALL_FACES, 1, handle_A_bound, - "ML_BSSN::A", "Radiation"); - - if (ierr < 0) - CCTK_WARN(0, "Failed to register Radiation BC for ML_BSSN::A!"); - - } - if (CCTK_EQUALS(beta1_bound, "radiative")) { /* select radiation boundary condition */ @@ -1154,23 +1094,6 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) } - if (CCTK_EQUALS(ML_dtlapse_bound, "scalar")) - { - /* select scalar boundary condition */ - static CCTK_INT handle_ML_dtlapse_bound CCTK_ATTRIBUTE_UNUSED = -1; - if (handle_ML_dtlapse_bound < 0) handle_ML_dtlapse_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); - if (handle_ML_dtlapse_bound < 0) CCTK_WARN(0, "could not create table!"); - if (Util_TableSetReal(handle_ML_dtlapse_bound ,ML_dtlapse_bound_scalar, "SCALAR") < 0) - CCTK_WARN(0, "could not set SCALAR value in table!"); - - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, 1, handle_ML_dtlapse_bound, - "ML_BSSN::ML_dtlapse", "scalar"); - - if (ierr < 0) - CCTK_WARN(0, "Failed to register Scalar BC for ML_BSSN::ML_dtlapse!"); - - } - if (CCTK_EQUALS(ML_shift_bound, "scalar")) { /* select scalar boundary condition */ @@ -1511,23 +1434,6 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) } - if (CCTK_EQUALS(A_bound, "scalar")) - { - /* select scalar boundary condition */ - static CCTK_INT handle_A_bound CCTK_ATTRIBUTE_UNUSED = -1; - if (handle_A_bound < 0) handle_A_bound = Util_TableCreate(UTIL_TABLE_FLAGS_CASE_INSENSITIVE); - if (handle_A_bound < 0) CCTK_WARN(0, "could not create table!"); - if (Util_TableSetReal(handle_A_bound ,A_bound_scalar, "SCALAR") < 0) - CCTK_WARN(0, "could not set SCALAR value in table!"); - - ierr = Boundary_SelectVarForBC(cctkGH, CCTK_ALL_FACES, 1, handle_A_bound, - "ML_BSSN::A", "scalar"); - - if (ierr < 0) - CCTK_WARN(0, "Error in registering Scalar BC for ML_BSSN::A!"); - - } - if (CCTK_EQUALS(beta1_bound, "scalar")) { /* select scalar boundary condition */ @@ -1665,11 +1571,6 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) #$bound$#ML_BSSN::ML_lapse_bound_limit = 0.0 #$bound$#ML_BSSN::ML_lapse_bound_scalar = 0.0 -#$bound$#ML_BSSN::ML_dtlapse_bound = "skip" -#$bound$#ML_BSSN::ML_dtlapse_bound_speed = 1.0 -#$bound$#ML_BSSN::ML_dtlapse_bound_limit = 0.0 -#$bound$#ML_BSSN::ML_dtlapse_bound_scalar = 0.0 - #$bound$#ML_BSSN::ML_shift_bound = "skip" #$bound$#ML_BSSN::ML_shift_bound_speed = 1.0 #$bound$#ML_BSSN::ML_shift_bound_limit = 0.0 @@ -1770,11 +1671,6 @@ extern "C" void ML_BSSN_SelectBoundConds(CCTK_ARGUMENTS) #$bound$#ML_BSSN::alpha_bound_limit = 0.0 #$bound$#ML_BSSN::alpha_bound_scalar = 0.0 -#$bound$#ML_BSSN::A_bound = "skip" -#$bound$#ML_BSSN::A_bound_speed = 1.0 -#$bound$#ML_BSSN::A_bound_limit = 0.0 -#$bound$#ML_BSSN::A_bound_scalar = 0.0 - #$bound$#ML_BSSN::beta1_bound = "skip" #$bound$#ML_BSSN::beta1_bound_speed = 1.0 #$bound$#ML_BSSN::beta1_bound_limit = 0.0 diff --git a/ML_BSSN/src/ML_BSSN_Advect.cc b/ML_BSSN/src/ML_BSSN_Advect.cc index 0f8a946..a519fdf 100644 --- a/ML_BSSN/src/ML_BSSN_Advect.cc +++ b/ML_BSSN/src/ML_BSSN_Advect.cc @@ -38,18 +38,12 @@ extern "C" void ML_BSSN_Advect_SelectBCs(CCTK_ARGUMENTS) ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_curvrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_curvrhs."); - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_dtlapserhs","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_dtlapserhs."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_dtshiftrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_dtshiftrhs."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_Gammarhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_Gammarhs."); - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_lapserhs","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_lapserhs."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_log_confacrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_log_confacrhs."); @@ -252,13 +246,11 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, { const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k; // vec_iter_counter+=CCTK_REAL_VEC_SIZE; + if (fabs(y[index]) > 1e-8) + continue; /* Assign local copies of grid functions */ - CCTK_REAL_VEC AL CCTK_ATTRIBUTE_UNUSED = vec_load(A[index]); - CCTK_REAL_VEC alphaL CCTK_ATTRIBUTE_UNUSED = vec_load(alpha[index]); - CCTK_REAL_VEC alpharhsL CCTK_ATTRIBUTE_UNUSED = vec_load(alpharhs[index]); - CCTK_REAL_VEC ArhsL CCTK_ATTRIBUTE_UNUSED = vec_load(Arhs[index]); CCTK_REAL_VEC At11L CCTK_ATTRIBUTE_UNUSED = vec_load(At11[index]); CCTK_REAL_VEC At11rhsL CCTK_ATTRIBUTE_UNUSED = vec_load(At11rhs[index]); CCTK_REAL_VEC At12L CCTK_ATTRIBUTE_UNUSED = vec_load(At12[index]); @@ -325,18 +317,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC PDupwindNthAnti1A CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthSymm1A CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthAnti2A CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthSymm2A CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthAnti3A CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthSymm3A CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDupwindNthAnti1At11 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDupwindNthSymm1At11 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDupwindNthAnti2At11 CCTK_ATTRIBUTE_UNUSED; @@ -480,18 +460,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, { case 2: { - PDupwindNthAnti1A = PDupwindNthAntifdOrder21(&A[index]); - PDupwindNthSymm1A = PDupwindNthSymmfdOrder21(&A[index]); - PDupwindNthAnti2A = PDupwindNthAntifdOrder22(&A[index]); - PDupwindNthSymm2A = PDupwindNthSymmfdOrder22(&A[index]); - PDupwindNthAnti3A = PDupwindNthAntifdOrder23(&A[index]); - PDupwindNthSymm3A = PDupwindNthSymmfdOrder23(&A[index]); - PDupwindNthAnti1alpha = PDupwindNthAntifdOrder21(&alpha[index]); - PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder21(&alpha[index]); - PDupwindNthAnti2alpha = PDupwindNthAntifdOrder22(&alpha[index]); - PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder22(&alpha[index]); - PDupwindNthAnti3alpha = PDupwindNthAntifdOrder23(&alpha[index]); - PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder23(&alpha[index]); PDupwindNthAnti1At11 = PDupwindNthAntifdOrder21(&At11[index]); PDupwindNthSymm1At11 = PDupwindNthSymmfdOrder21(&At11[index]); PDupwindNthAnti2At11 = PDupwindNthAntifdOrder22(&At11[index]); @@ -635,18 +603,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, case 4: { - PDupwindNthAnti1A = PDupwindNthAntifdOrder41(&A[index]); - PDupwindNthSymm1A = PDupwindNthSymmfdOrder41(&A[index]); - PDupwindNthAnti2A = PDupwindNthAntifdOrder42(&A[index]); - PDupwindNthSymm2A = PDupwindNthSymmfdOrder42(&A[index]); - PDupwindNthAnti3A = PDupwindNthAntifdOrder43(&A[index]); - PDupwindNthSymm3A = PDupwindNthSymmfdOrder43(&A[index]); - PDupwindNthAnti1alpha = PDupwindNthAntifdOrder41(&alpha[index]); - PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder41(&alpha[index]); - PDupwindNthAnti2alpha = PDupwindNthAntifdOrder42(&alpha[index]); - PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder42(&alpha[index]); - PDupwindNthAnti3alpha = PDupwindNthAntifdOrder43(&alpha[index]); - PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder43(&alpha[index]); PDupwindNthAnti1At11 = PDupwindNthAntifdOrder41(&At11[index]); PDupwindNthSymm1At11 = PDupwindNthSymmfdOrder41(&At11[index]); PDupwindNthAnti2At11 = PDupwindNthAntifdOrder42(&At11[index]); @@ -790,18 +746,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, case 6: { - PDupwindNthAnti1A = PDupwindNthAntifdOrder61(&A[index]); - PDupwindNthSymm1A = PDupwindNthSymmfdOrder61(&A[index]); - PDupwindNthAnti2A = PDupwindNthAntifdOrder62(&A[index]); - PDupwindNthSymm2A = PDupwindNthSymmfdOrder62(&A[index]); - PDupwindNthAnti3A = PDupwindNthAntifdOrder63(&A[index]); - PDupwindNthSymm3A = PDupwindNthSymmfdOrder63(&A[index]); - PDupwindNthAnti1alpha = PDupwindNthAntifdOrder61(&alpha[index]); - PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder61(&alpha[index]); - PDupwindNthAnti2alpha = PDupwindNthAntifdOrder62(&alpha[index]); - PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder62(&alpha[index]); - PDupwindNthAnti3alpha = PDupwindNthAntifdOrder63(&alpha[index]); - PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder63(&alpha[index]); PDupwindNthAnti1At11 = PDupwindNthAntifdOrder61(&At11[index]); PDupwindNthSymm1At11 = PDupwindNthSymmfdOrder61(&At11[index]); PDupwindNthAnti2At11 = PDupwindNthAntifdOrder62(&At11[index]); @@ -945,18 +889,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, case 8: { - PDupwindNthAnti1A = PDupwindNthAntifdOrder81(&A[index]); - PDupwindNthSymm1A = PDupwindNthSymmfdOrder81(&A[index]); - PDupwindNthAnti2A = PDupwindNthAntifdOrder82(&A[index]); - PDupwindNthSymm2A = PDupwindNthSymmfdOrder82(&A[index]); - PDupwindNthAnti3A = PDupwindNthAntifdOrder83(&A[index]); - PDupwindNthSymm3A = PDupwindNthSymmfdOrder83(&A[index]); - PDupwindNthAnti1alpha = PDupwindNthAntifdOrder81(&alpha[index]); - PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder81(&alpha[index]); - PDupwindNthAnti2alpha = PDupwindNthAntifdOrder82(&alpha[index]); - PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder82(&alpha[index]); - PDupwindNthAnti3alpha = PDupwindNthAntifdOrder83(&alpha[index]); - PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder83(&alpha[index]); PDupwindNthAnti1At11 = PDupwindNthAntifdOrder81(&At11[index]); PDupwindNthSymm1At11 = PDupwindNthSymmfdOrder81(&At11[index]); PDupwindNthAnti2At11 = PDupwindNthAntifdOrder82(&At11[index]); @@ -1100,6 +1032,57 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, default: CCTK_BUILTIN_UNREACHABLE(); } + + double xx = x[index]; + int origin = fabs(xx) < 1e-8; + + PDupwindNthAnti2At11 = origin ? -2 * PDupwindNthAnti1At12 : -2 * At12[index] / xx; + PDupwindNthSymm2At11 = origin ? -2 * PDupwindNthSymm1At12 : -2 * At12[index] / xx; + PDupwindNthAnti2At12 = origin ? PDupwindNthAnti1At11 - PDupwindNthAnti1At22 : (At11[index] - At22[index]) / xx; + PDupwindNthSymm2At12 = origin ? PDupwindNthSymm1At11 - PDupwindNthSymm1At22 : (At11[index] - At22[index]) / xx; + PDupwindNthAnti2At13 = origin ? -PDupwindNthAnti1At23 : - At23[index] / xx; + PDupwindNthSymm2At13 = origin ? -PDupwindNthSymm1At23 : - At23[index] / xx; + PDupwindNthAnti2At22 = origin ? 2 * PDupwindNthAnti1At12 : 2 * At12[index] / xx; + PDupwindNthSymm2At22 = origin ? 2 * PDupwindNthSymm1At12 : 2 * At12[index] / xx; + PDupwindNthAnti2At23 = origin ? PDupwindNthAnti1At13 : At13[index] / xx; + PDupwindNthSymm2At23 = origin ? PDupwindNthSymm1At13 : At13[index] / xx; + PDupwindNthAnti2At33 = 0; + PDupwindNthSymm2At33 = 0; + + PDupwindNthAnti2B1 = 0; + PDupwindNthSymm2B1 = 0; + PDupwindNthAnti2B2 = origin ? PDupwindNthAnti1B1 : B1[index] / xx; + PDupwindNthSymm2B2 = origin ? PDupwindNthSymm1B1 : B1[index] / xx; + PDupwindNthAnti2B3 = 0; + PDupwindNthSymm2B3 = 0; + + PDupwindNthAnti2beta1 = 0; + PDupwindNthSymm2beta1 = 0; + PDupwindNthAnti2beta2 = origin ? PDupwindNthAnti1beta1 : beta1[index] / xx; + PDupwindNthSymm2beta2 = origin ? PDupwindNthSymm1beta1 : beta1[index] / xx; + PDupwindNthAnti2beta3 = 0; + PDupwindNthSymm2beta3 = 0; + + PDupwindNthAnti2gt11 = 0; + PDupwindNthSymm2gt11 = 0; + PDupwindNthAnti2gt12 = origin ? PDupwindNthAnti1gt11 - PDupwindNthAnti1gt22 : (gt11[index] - gt22[index]) / xx; + PDupwindNthSymm2gt12 = origin ? PDupwindNthSymm1gt11 - PDupwindNthSymm1gt22 : (gt11[index] - gt22[index]) / xx; + PDupwindNthAnti2gt13 = 0; + PDupwindNthSymm2gt13 = 0; + PDupwindNthAnti2gt22 = 0; + PDupwindNthSymm2gt22 = 0; + PDupwindNthAnti2gt23 = origin ? PDupwindNthAnti1gt13 : gt13[index] / xx; + PDupwindNthSymm2gt23 = origin ? PDupwindNthSymm1gt13 : gt13[index] / xx; + PDupwindNthAnti2gt33 = 0; + PDupwindNthSymm2gt33 = 0; + + PDupwindNthAnti2phi = 0; + PDupwindNthSymm2phi = 0; + PDupwindNthAnti2trK = 0; + PDupwindNthSymm2trK = 0; + PDupwindNthAnti2Xt2 = origin ? PDupwindNthAnti1Xt1 : Xt1[index] / xx; + PDupwindNthSymm2Xt2 = origin ? PDupwindNthSymm1Xt1 : Xt1[index] / xx; + /* Calculate temporaries and grid functions */ ptrdiff_t dir1 CCTK_ATTRIBUTE_UNUSED = kisgn(beta1L); @@ -1108,8 +1091,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, ptrdiff_t dir3 CCTK_ATTRIBUTE_UNUSED = kisgn(beta3L); - CCTK_REAL_VEC JacPDupwindNthAnti1A CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti1At11 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti1At12 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti1At13 CCTK_ATTRIBUTE_UNUSED; @@ -1133,8 +1114,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, CCTK_REAL_VEC JacPDupwindNthAnti1Xt1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti1Xt2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti1Xt3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthAnti2A CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti2At11 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti2At12 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti2At13 CCTK_ATTRIBUTE_UNUSED; @@ -1158,8 +1137,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, CCTK_REAL_VEC JacPDupwindNthAnti2Xt1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti2Xt2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti2Xt3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthAnti3A CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti3At11 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti3At12 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti3At13 CCTK_ATTRIBUTE_UNUSED; @@ -1183,8 +1160,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, CCTK_REAL_VEC JacPDupwindNthAnti3Xt1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti3Xt2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti3Xt3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthSymm1A CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm1At11 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm1At12 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm1At13 CCTK_ATTRIBUTE_UNUSED; @@ -1208,8 +1183,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, CCTK_REAL_VEC JacPDupwindNthSymm1Xt1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm1Xt2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm1Xt3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthSymm2A CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm2At11 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm2At12 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm2At13 CCTK_ATTRIBUTE_UNUSED; @@ -1233,8 +1206,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, CCTK_REAL_VEC JacPDupwindNthSymm2Xt1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm2Xt2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm2Xt3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthSymm3A CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm3At11 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm3At12 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm3At13 CCTK_ATTRIBUTE_UNUSED; @@ -1261,12 +1232,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, if (use_jacobian) { - JacPDupwindNthAnti1A = - kmadd(J11L,PDupwindNthAnti1A,kmadd(J21L,PDupwindNthAnti2A,kmul(J31L,PDupwindNthAnti3A))); - - JacPDupwindNthAnti1alpha = - kmadd(J11L,PDupwindNthAnti1alpha,kmadd(J21L,PDupwindNthAnti2alpha,kmul(J31L,PDupwindNthAnti3alpha))); - JacPDupwindNthAnti1At11 = kmadd(J11L,PDupwindNthAnti1At11,kmadd(J21L,PDupwindNthAnti2At11,kmul(J31L,PDupwindNthAnti3At11))); @@ -1336,12 +1301,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, JacPDupwindNthAnti1Xt3 = kmadd(J11L,PDupwindNthAnti1Xt3,kmadd(J21L,PDupwindNthAnti2Xt3,kmul(J31L,PDupwindNthAnti3Xt3))); - JacPDupwindNthSymm1A = - kmadd(J11L,PDupwindNthSymm1A,kmadd(J21L,PDupwindNthSymm2A,kmul(J31L,PDupwindNthSymm3A))); - - JacPDupwindNthSymm1alpha = - kmadd(J11L,PDupwindNthSymm1alpha,kmadd(J21L,PDupwindNthSymm2alpha,kmul(J31L,PDupwindNthSymm3alpha))); - JacPDupwindNthSymm1At11 = kmadd(J11L,PDupwindNthSymm1At11,kmadd(J21L,PDupwindNthSymm2At11,kmul(J31L,PDupwindNthSymm3At11))); @@ -1411,12 +1370,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, JacPDupwindNthSymm1Xt3 = kmadd(J11L,PDupwindNthSymm1Xt3,kmadd(J21L,PDupwindNthSymm2Xt3,kmul(J31L,PDupwindNthSymm3Xt3))); - JacPDupwindNthAnti2A = - kmadd(J12L,PDupwindNthAnti1A,kmadd(J22L,PDupwindNthAnti2A,kmul(J32L,PDupwindNthAnti3A))); - - JacPDupwindNthAnti2alpha = - kmadd(J12L,PDupwindNthAnti1alpha,kmadd(J22L,PDupwindNthAnti2alpha,kmul(J32L,PDupwindNthAnti3alpha))); - JacPDupwindNthAnti2At11 = kmadd(J12L,PDupwindNthAnti1At11,kmadd(J22L,PDupwindNthAnti2At11,kmul(J32L,PDupwindNthAnti3At11))); @@ -1486,12 +1439,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, JacPDupwindNthAnti2Xt3 = kmadd(J12L,PDupwindNthAnti1Xt3,kmadd(J22L,PDupwindNthAnti2Xt3,kmul(J32L,PDupwindNthAnti3Xt3))); - JacPDupwindNthSymm2A = - kmadd(J12L,PDupwindNthSymm1A,kmadd(J22L,PDupwindNthSymm2A,kmul(J32L,PDupwindNthSymm3A))); - - JacPDupwindNthSymm2alpha = - kmadd(J12L,PDupwindNthSymm1alpha,kmadd(J22L,PDupwindNthSymm2alpha,kmul(J32L,PDupwindNthSymm3alpha))); - JacPDupwindNthSymm2At11 = kmadd(J12L,PDupwindNthSymm1At11,kmadd(J22L,PDupwindNthSymm2At11,kmul(J32L,PDupwindNthSymm3At11))); @@ -1561,12 +1508,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, JacPDupwindNthSymm2Xt3 = kmadd(J12L,PDupwindNthSymm1Xt3,kmadd(J22L,PDupwindNthSymm2Xt3,kmul(J32L,PDupwindNthSymm3Xt3))); - JacPDupwindNthAnti3A = - kmadd(J13L,PDupwindNthAnti1A,kmadd(J23L,PDupwindNthAnti2A,kmul(J33L,PDupwindNthAnti3A))); - - JacPDupwindNthAnti3alpha = - kmadd(J13L,PDupwindNthAnti1alpha,kmadd(J23L,PDupwindNthAnti2alpha,kmul(J33L,PDupwindNthAnti3alpha))); - JacPDupwindNthAnti3At11 = kmadd(J13L,PDupwindNthAnti1At11,kmadd(J23L,PDupwindNthAnti2At11,kmul(J33L,PDupwindNthAnti3At11))); @@ -1636,12 +1577,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, JacPDupwindNthAnti3Xt3 = kmadd(J13L,PDupwindNthAnti1Xt3,kmadd(J23L,PDupwindNthAnti2Xt3,kmul(J33L,PDupwindNthAnti3Xt3))); - JacPDupwindNthSymm3A = - kmadd(J13L,PDupwindNthSymm1A,kmadd(J23L,PDupwindNthSymm2A,kmul(J33L,PDupwindNthSymm3A))); - - JacPDupwindNthSymm3alpha = - kmadd(J13L,PDupwindNthSymm1alpha,kmadd(J23L,PDupwindNthSymm2alpha,kmul(J33L,PDupwindNthSymm3alpha))); - JacPDupwindNthSymm3At11 = kmadd(J13L,PDupwindNthSymm1At11,kmadd(J23L,PDupwindNthSymm2At11,kmul(J33L,PDupwindNthSymm3At11))); @@ -1713,10 +1648,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, } else { - JacPDupwindNthAnti1A = PDupwindNthAnti1A; - - JacPDupwindNthAnti1alpha = PDupwindNthAnti1alpha; - JacPDupwindNthAnti1At11 = PDupwindNthAnti1At11; JacPDupwindNthAnti1At12 = PDupwindNthAnti1At12; @@ -1763,10 +1694,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, JacPDupwindNthAnti1Xt3 = PDupwindNthAnti1Xt3; - JacPDupwindNthSymm1A = PDupwindNthSymm1A; - - JacPDupwindNthSymm1alpha = PDupwindNthSymm1alpha; - JacPDupwindNthSymm1At11 = PDupwindNthSymm1At11; JacPDupwindNthSymm1At12 = PDupwindNthSymm1At12; @@ -1813,10 +1740,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, JacPDupwindNthSymm1Xt3 = PDupwindNthSymm1Xt3; - JacPDupwindNthAnti2A = PDupwindNthAnti2A; - - JacPDupwindNthAnti2alpha = PDupwindNthAnti2alpha; - JacPDupwindNthAnti2At11 = PDupwindNthAnti2At11; JacPDupwindNthAnti2At12 = PDupwindNthAnti2At12; @@ -1863,10 +1786,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, JacPDupwindNthAnti2Xt3 = PDupwindNthAnti2Xt3; - JacPDupwindNthSymm2A = PDupwindNthSymm2A; - - JacPDupwindNthSymm2alpha = PDupwindNthSymm2alpha; - JacPDupwindNthSymm2At11 = PDupwindNthSymm2At11; JacPDupwindNthSymm2At12 = PDupwindNthSymm2At12; @@ -1913,10 +1832,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, JacPDupwindNthSymm2Xt3 = PDupwindNthSymm2Xt3; - JacPDupwindNthAnti3A = PDupwindNthAnti3A; - - JacPDupwindNthAnti3alpha = PDupwindNthAnti3alpha; - JacPDupwindNthAnti3At11 = PDupwindNthAnti3At11; JacPDupwindNthAnti3At12 = PDupwindNthAnti3At12; @@ -1963,10 +1878,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, JacPDupwindNthAnti3Xt3 = PDupwindNthAnti3Xt3; - JacPDupwindNthSymm3A = PDupwindNthSymm3A; - - JacPDupwindNthSymm3alpha = PDupwindNthSymm3alpha; - JacPDupwindNthSymm3At11 = PDupwindNthSymm3At11; JacPDupwindNthSymm3At12 = PDupwindNthSymm3At12; @@ -2065,13 +1976,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, At33rhsL = kadd(At33rhsL,kmadd(beta1L,JacPDupwindNthAnti1At33,kmadd(beta2L,JacPDupwindNthAnti2At33,kmadd(beta3L,JacPDupwindNthAnti3At33,kmadd(JacPDupwindNthSymm1At33,kfabs(beta1L),kmadd(JacPDupwindNthSymm2At33,kfabs(beta2L),kmul(JacPDupwindNthSymm3At33,kfabs(beta3L)))))))); - alpharhsL = - kmadd(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),alpharhsL); - - ArhsL = - kmadd(ToReal(LapseACoeff),kmsub(kmadd(beta1L,JacPDupwindNthAnti1A,kmadd(beta2L,JacPDupwindNthAnti2A,kmadd(beta3L,JacPDupwindNthAnti3A,kmadd(JacPDupwindNthSymm1A,kfabs(beta1L),kmadd(JacPDupwindNthSymm2A,kfabs(beta2L),kmul(JacPDupwindNthSymm3A,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1trK,kmadd(beta2L,JacPDupwindNthAnti2trK,kmadd(beta3L,JacPDupwindNthAnti3trK,kmadd(JacPDupwindNthSymm1trK,kfabs(beta1L),kmadd(JacPDupwindNthSymm2trK,kfabs(beta2L),kmul(JacPDupwindNthSymm3trK,kfabs(beta3L))))))),ToReal(-1 - + LapseAdvectionCoeff))),ArhsL); - beta1rhsL = kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta1,kmadd(beta2L,JacPDupwindNthAnti2beta1,kmadd(beta3L,JacPDupwindNthAnti3beta1,kmadd(JacPDupwindNthSymm1beta1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta1,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),beta1rhsL); @@ -2095,8 +1999,6 @@ static void ML_BSSN_Advect_Body(const cGH* restrict const cctkGH, const int dir, /* Copy local copies back to grid functions */ vec_store_partial_prepare(i,vecimin,vecimax); - vec_store_nta_partial(alpharhs[index],alpharhsL); - vec_store_nta_partial(Arhs[index],ArhsL); vec_store_nta_partial(At11rhs[index],At11rhsL); vec_store_nta_partial(At12rhs[index],At12rhsL); vec_store_nta_partial(At13rhs[index],At13rhsL); @@ -2128,7 +2030,7 @@ extern "C" void ML_BSSN_Advect(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - + if (verbose > 1) { @@ -2143,14 +2045,10 @@ extern "C" void ML_BSSN_Advect(CCTK_ARGUMENTS) const char* const groups[] = { "ML_BSSN::ML_curv", "ML_BSSN::ML_curvrhs", - "ML_BSSN::ML_dtlapse", - "ML_BSSN::ML_dtlapserhs", "ML_BSSN::ML_dtshift", "ML_BSSN::ML_dtshiftrhs", "ML_BSSN::ML_Gamma", "ML_BSSN::ML_Gammarhs", - "ML_BSSN::ML_lapse", - "ML_BSSN::ML_lapserhs", "ML_BSSN::ML_log_confac", "ML_BSSN::ML_log_confacrhs", "ML_BSSN::ML_metric", @@ -2159,7 +2057,7 @@ extern "C" void ML_BSSN_Advect(CCTK_ARGUMENTS) "ML_BSSN::ML_shiftrhs", "ML_BSSN::ML_trace_curv", "ML_BSSN::ML_trace_curvrhs"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_Advect", 18, groups); + GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_Advect", 14, groups); switch (fdOrder) { diff --git a/ML_BSSN/src/ML_BSSN_Dissipation.cc b/ML_BSSN/src/ML_BSSN_Dissipation.cc index 2f06644..ac22c87 100644 --- a/ML_BSSN/src/ML_BSSN_Dissipation.cc +++ b/ML_BSSN/src/ML_BSSN_Dissipation.cc @@ -38,18 +38,12 @@ extern "C" void ML_BSSN_Dissipation_SelectBCs(CCTK_ARGUMENTS) ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_curvrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_curvrhs."); - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_dtlapserhs","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_dtlapserhs."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_dtshiftrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_dtshiftrhs."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_Gammarhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_Gammarhs."); - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_lapserhs","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_lapserhs."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_log_confacrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_log_confacrhs."); @@ -255,10 +249,6 @@ static void ML_BSSN_Dissipation_Body(const cGH* restrict const cctkGH, const int /* Assign local copies of grid functions */ - CCTK_REAL_VEC AL CCTK_ATTRIBUTE_UNUSED = vec_load(A[index]); - CCTK_REAL_VEC alphaL CCTK_ATTRIBUTE_UNUSED = vec_load(alpha[index]); - CCTK_REAL_VEC alpharhsL CCTK_ATTRIBUTE_UNUSED = vec_load(alpharhs[index]); - CCTK_REAL_VEC ArhsL CCTK_ATTRIBUTE_UNUSED = vec_load(Arhs[index]); CCTK_REAL_VEC At11L CCTK_ATTRIBUTE_UNUSED = vec_load(At11[index]); CCTK_REAL_VEC At11rhsL CCTK_ATTRIBUTE_UNUSED = vec_load(At11rhs[index]); CCTK_REAL_VEC At12L CCTK_ATTRIBUTE_UNUSED = vec_load(At12[index]); @@ -325,12 +315,6 @@ static void ML_BSSN_Dissipation_Body(const cGH* restrict const cctkGH, const int /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC PDdissipationNth1A CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDdissipationNth2A CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDdissipationNth3A CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDdissipationNth1alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDdissipationNth2alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDdissipationNth3alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDdissipationNth1At11 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDdissipationNth2At11 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDdissipationNth3At11 CCTK_ATTRIBUTE_UNUSED; @@ -405,12 +389,6 @@ static void ML_BSSN_Dissipation_Body(const cGH* restrict const cctkGH, const int { case 2: { - PDdissipationNth1A = PDdissipationNthfdOrder21(&A[index]); - PDdissipationNth2A = PDdissipationNthfdOrder22(&A[index]); - PDdissipationNth3A = PDdissipationNthfdOrder23(&A[index]); - PDdissipationNth1alpha = PDdissipationNthfdOrder21(&alpha[index]); - PDdissipationNth2alpha = PDdissipationNthfdOrder22(&alpha[index]); - PDdissipationNth3alpha = PDdissipationNthfdOrder23(&alpha[index]); PDdissipationNth1At11 = PDdissipationNthfdOrder21(&At11[index]); PDdissipationNth2At11 = PDdissipationNthfdOrder22(&At11[index]); PDdissipationNth3At11 = PDdissipationNthfdOrder23(&At11[index]); @@ -485,12 +463,6 @@ static void ML_BSSN_Dissipation_Body(const cGH* restrict const cctkGH, const int case 4: { - PDdissipationNth1A = PDdissipationNthfdOrder41(&A[index]); - PDdissipationNth2A = PDdissipationNthfdOrder42(&A[index]); - PDdissipationNth3A = PDdissipationNthfdOrder43(&A[index]); - PDdissipationNth1alpha = PDdissipationNthfdOrder41(&alpha[index]); - PDdissipationNth2alpha = PDdissipationNthfdOrder42(&alpha[index]); - PDdissipationNth3alpha = PDdissipationNthfdOrder43(&alpha[index]); PDdissipationNth1At11 = PDdissipationNthfdOrder41(&At11[index]); PDdissipationNth2At11 = PDdissipationNthfdOrder42(&At11[index]); PDdissipationNth3At11 = PDdissipationNthfdOrder43(&At11[index]); @@ -565,12 +537,6 @@ static void ML_BSSN_Dissipation_Body(const cGH* restrict const cctkGH, const int case 6: { - PDdissipationNth1A = PDdissipationNthfdOrder61(&A[index]); - PDdissipationNth2A = PDdissipationNthfdOrder62(&A[index]); - PDdissipationNth3A = PDdissipationNthfdOrder63(&A[index]); - PDdissipationNth1alpha = PDdissipationNthfdOrder61(&alpha[index]); - PDdissipationNth2alpha = PDdissipationNthfdOrder62(&alpha[index]); - PDdissipationNth3alpha = PDdissipationNthfdOrder63(&alpha[index]); PDdissipationNth1At11 = PDdissipationNthfdOrder61(&At11[index]); PDdissipationNth2At11 = PDdissipationNthfdOrder62(&At11[index]); PDdissipationNth3At11 = PDdissipationNthfdOrder63(&At11[index]); @@ -645,12 +611,6 @@ static void ML_BSSN_Dissipation_Body(const cGH* restrict const cctkGH, const int case 8: { - PDdissipationNth1A = PDdissipationNthfdOrder81(&A[index]); - PDdissipationNth2A = PDdissipationNthfdOrder82(&A[index]); - PDdissipationNth3A = PDdissipationNthfdOrder83(&A[index]); - PDdissipationNth1alpha = PDdissipationNthfdOrder81(&alpha[index]); - PDdissipationNth2alpha = PDdissipationNthfdOrder82(&alpha[index]); - PDdissipationNth3alpha = PDdissipationNthfdOrder83(&alpha[index]); PDdissipationNth1At11 = PDdissipationNthfdOrder81(&At11[index]); PDdissipationNth2At11 = PDdissipationNthfdOrder82(&At11[index]); PDdissipationNth3At11 = PDdissipationNthfdOrder83(&At11[index]); @@ -727,8 +687,6 @@ static void ML_BSSN_Dissipation_Body(const cGH* restrict const cctkGH, const int } /* Calculate temporaries and grid functions */ - CCTK_REAL_VEC JacPDdissipationNth1A CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDdissipationNth1alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDdissipationNth1At11 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDdissipationNth1At12 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDdissipationNth1At13 CCTK_ATTRIBUTE_UNUSED; @@ -752,8 +710,6 @@ static void ML_BSSN_Dissipation_Body(const cGH* restrict const cctkGH, const int CCTK_REAL_VEC JacPDdissipationNth1Xt1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDdissipationNth1Xt2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDdissipationNth1Xt3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDdissipationNth2A CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDdissipationNth2alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDdissipationNth2At11 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDdissipationNth2At12 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDdissipationNth2At13 CCTK_ATTRIBUTE_UNUSED; @@ -777,8 +733,6 @@ static void ML_BSSN_Dissipation_Body(const cGH* restrict const cctkGH, const int CCTK_REAL_VEC JacPDdissipationNth2Xt1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDdissipationNth2Xt2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDdissipationNth2Xt3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDdissipationNth3A CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDdissipationNth3alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDdissipationNth3At11 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDdissipationNth3At12 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDdissipationNth3At13 CCTK_ATTRIBUTE_UNUSED; @@ -805,12 +759,6 @@ static void ML_BSSN_Dissipation_Body(const cGH* restrict const cctkGH, const int if (use_jacobian) { - JacPDdissipationNth1A = - kmadd(J11L,PDdissipationNth1A,kmadd(J21L,PDdissipationNth2A,kmul(J31L,PDdissipationNth3A))); - - JacPDdissipationNth1alpha = - kmadd(J11L,PDdissipationNth1alpha,kmadd(J21L,PDdissipationNth2alpha,kmul(J31L,PDdissipationNth3alpha))); - JacPDdissipationNth1At11 = kmadd(J11L,PDdissipationNth1At11,kmadd(J21L,PDdissipationNth2At11,kmul(J31L,PDdissipationNth3At11))); @@ -880,12 +828,6 @@ static void ML_BSSN_Dissipation_Body(const cGH* restrict const cctkGH, const int JacPDdissipationNth1Xt3 = kmadd(J11L,PDdissipationNth1Xt3,kmadd(J21L,PDdissipationNth2Xt3,kmul(J31L,PDdissipationNth3Xt3))); - JacPDdissipationNth2A = - kmadd(J12L,PDdissipationNth1A,kmadd(J22L,PDdissipationNth2A,kmul(J32L,PDdissipationNth3A))); - - JacPDdissipationNth2alpha = - kmadd(J12L,PDdissipationNth1alpha,kmadd(J22L,PDdissipationNth2alpha,kmul(J32L,PDdissipationNth3alpha))); - JacPDdissipationNth2At11 = kmadd(J12L,PDdissipationNth1At11,kmadd(J22L,PDdissipationNth2At11,kmul(J32L,PDdissipationNth3At11))); @@ -955,12 +897,6 @@ static void ML_BSSN_Dissipation_Body(const cGH* restrict const cctkGH, const int JacPDdissipationNth2Xt3 = kmadd(J12L,PDdissipationNth1Xt3,kmadd(J22L,PDdissipationNth2Xt3,kmul(J32L,PDdissipationNth3Xt3))); - JacPDdissipationNth3A = - kmadd(J13L,PDdissipationNth1A,kmadd(J23L,PDdissipationNth2A,kmul(J33L,PDdissipationNth3A))); - - JacPDdissipationNth3alpha = - kmadd(J13L,PDdissipationNth1alpha,kmadd(J23L,PDdissipationNth2alpha,kmul(J33L,PDdissipationNth3alpha))); - JacPDdissipationNth3At11 = kmadd(J13L,PDdissipationNth1At11,kmadd(J23L,PDdissipationNth2At11,kmul(J33L,PDdissipationNth3At11))); @@ -1032,10 +968,6 @@ static void ML_BSSN_Dissipation_Body(const cGH* restrict const cctkGH, const int } else { - JacPDdissipationNth1A = PDdissipationNth1A; - - JacPDdissipationNth1alpha = PDdissipationNth1alpha; - JacPDdissipationNth1At11 = PDdissipationNth1At11; JacPDdissipationNth1At12 = PDdissipationNth1At12; @@ -1082,10 +1014,6 @@ static void ML_BSSN_Dissipation_Body(const cGH* restrict const cctkGH, const int JacPDdissipationNth1Xt3 = PDdissipationNth1Xt3; - JacPDdissipationNth2A = PDdissipationNth2A; - - JacPDdissipationNth2alpha = PDdissipationNth2alpha; - JacPDdissipationNth2At11 = PDdissipationNth2At11; JacPDdissipationNth2At12 = PDdissipationNth2At12; @@ -1132,10 +1060,6 @@ static void ML_BSSN_Dissipation_Body(const cGH* restrict const cctkGH, const int JacPDdissipationNth2Xt3 = PDdissipationNth2Xt3; - JacPDdissipationNth3A = PDdissipationNth3A; - - JacPDdissipationNth3alpha = PDdissipationNth3alpha; - JacPDdissipationNth3At11 = PDdissipationNth3At11; JacPDdissipationNth3At12 = PDdissipationNth3At12; @@ -1240,12 +1164,6 @@ static void ML_BSSN_Dissipation_Body(const cGH* restrict const cctkGH, const int At33rhsL = kadd(At33rhsL,kmadd(epsdiss1,JacPDdissipationNth1At33,kmadd(epsdiss2,JacPDdissipationNth2At33,kmul(epsdiss3,JacPDdissipationNth3At33)))); - alpharhsL = - kadd(alpharhsL,kmadd(epsdiss1,JacPDdissipationNth1alpha,kmadd(epsdiss2,JacPDdissipationNth2alpha,kmul(epsdiss3,JacPDdissipationNth3alpha)))); - - ArhsL = - kadd(ArhsL,kmadd(epsdiss1,JacPDdissipationNth1A,kmadd(epsdiss2,JacPDdissipationNth2A,kmul(epsdiss3,JacPDdissipationNth3A)))); - beta1rhsL = kadd(beta1rhsL,kmadd(epsdiss1,JacPDdissipationNth1beta1,kmadd(epsdiss2,JacPDdissipationNth2beta1,kmul(epsdiss3,JacPDdissipationNth3beta1)))); @@ -1266,8 +1184,6 @@ static void ML_BSSN_Dissipation_Body(const cGH* restrict const cctkGH, const int /* Copy local copies back to grid functions */ vec_store_partial_prepare(i,vecimin,vecimax); - vec_store_nta_partial(alpharhs[index],alpharhsL); - vec_store_nta_partial(Arhs[index],ArhsL); vec_store_nta_partial(At11rhs[index],At11rhsL); vec_store_nta_partial(At12rhs[index],At12rhsL); vec_store_nta_partial(At13rhs[index],At13rhsL); @@ -1314,14 +1230,10 @@ extern "C" void ML_BSSN_Dissipation(CCTK_ARGUMENTS) const char* const groups[] = { "ML_BSSN::ML_curv", "ML_BSSN::ML_curvrhs", - "ML_BSSN::ML_dtlapse", - "ML_BSSN::ML_dtlapserhs", "ML_BSSN::ML_dtshift", "ML_BSSN::ML_dtshiftrhs", "ML_BSSN::ML_Gamma", "ML_BSSN::ML_Gammarhs", - "ML_BSSN::ML_lapse", - "ML_BSSN::ML_lapserhs", "ML_BSSN::ML_log_confac", "ML_BSSN::ML_log_confacrhs", "ML_BSSN::ML_metric", @@ -1330,7 +1242,7 @@ extern "C" void ML_BSSN_Dissipation(CCTK_ARGUMENTS) "ML_BSSN::ML_shiftrhs", "ML_BSSN::ML_trace_curv", "ML_BSSN::ML_trace_curvrhs"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_Dissipation", 18, groups); + GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_Dissipation", 14, groups); switch (fdOrder) { diff --git a/ML_BSSN/src/ML_BSSN_InitGamma.cc b/ML_BSSN/src/ML_BSSN_InitGamma.cc index dcfe0c7..50f98da 100644 --- a/ML_BSSN/src/ML_BSSN_InitGamma.cc +++ b/ML_BSSN/src/ML_BSSN_InitGamma.cc @@ -256,8 +256,6 @@ static void ML_BSSN_InitGamma_Body(const cGH* restrict const cctkGH, const int d CCTK_REAL_VEC Xt3L CCTK_ATTRIBUTE_UNUSED = ToReal(0); - CCTK_REAL_VEC AL CCTK_ATTRIBUTE_UNUSED = ToReal(0); - CCTK_REAL_VEC B1L CCTK_ATTRIBUTE_UNUSED = ToReal(0); CCTK_REAL_VEC B2L CCTK_ATTRIBUTE_UNUSED = ToReal(0); @@ -266,7 +264,6 @@ static void ML_BSSN_InitGamma_Body(const cGH* restrict const cctkGH, const int d /* Copy local copies back to grid functions */ vec_store_partial_prepare(i,vecimin,vecimax); - vec_store_nta_partial(A[index],AL); vec_store_nta_partial(B1[index],B1L); vec_store_nta_partial(B2[index],B2L); vec_store_nta_partial(B3[index],B3L); @@ -294,10 +291,9 @@ extern "C" void ML_BSSN_InitGamma(CCTK_ARGUMENTS) } const char* const groups[] = { - "ML_BSSN::ML_dtlapse", "ML_BSSN::ML_dtshift", "ML_BSSN::ML_Gamma"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_InitGamma", 3, groups); + GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_InitGamma", 2, groups); switch (fdOrder) { diff --git a/ML_BSSN/src/ML_BSSN_InitRHS.cc b/ML_BSSN/src/ML_BSSN_InitRHS.cc index caa4531..6a39489 100644 --- a/ML_BSSN/src/ML_BSSN_InitRHS.cc +++ b/ML_BSSN/src/ML_BSSN_InitRHS.cc @@ -284,10 +284,6 @@ static void ML_BSSN_InitRHS_Body(const cGH* restrict const cctkGH, const int dir CCTK_REAL_VEC Xt3rhsL CCTK_ATTRIBUTE_UNUSED = ToReal(0); - CCTK_REAL_VEC alpharhsL CCTK_ATTRIBUTE_UNUSED = ToReal(0); - - CCTK_REAL_VEC ArhsL CCTK_ATTRIBUTE_UNUSED = ToReal(0); - CCTK_REAL_VEC beta1rhsL CCTK_ATTRIBUTE_UNUSED = ToReal(0); CCTK_REAL_VEC beta2rhsL CCTK_ATTRIBUTE_UNUSED = ToReal(0); @@ -302,8 +298,6 @@ static void ML_BSSN_InitRHS_Body(const cGH* restrict const cctkGH, const int dir /* Copy local copies back to grid functions */ vec_store_partial_prepare(i,vecimin,vecimax); - vec_store_nta_partial(alpharhs[index],alpharhsL); - vec_store_nta_partial(Arhs[index],ArhsL); vec_store_nta_partial(At11rhs[index],At11rhsL); vec_store_nta_partial(At12rhs[index],At12rhsL); vec_store_nta_partial(At13rhs[index],At13rhsL); @@ -349,15 +343,13 @@ extern "C" void ML_BSSN_InitRHS(CCTK_ARGUMENTS) const char* const groups[] = { "ML_BSSN::ML_curvrhs", - "ML_BSSN::ML_dtlapserhs", "ML_BSSN::ML_dtshiftrhs", "ML_BSSN::ML_Gammarhs", - "ML_BSSN::ML_lapserhs", "ML_BSSN::ML_log_confacrhs", "ML_BSSN::ML_metricrhs", "ML_BSSN::ML_shiftrhs", "ML_BSSN::ML_trace_curvrhs"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_InitRHS", 9, groups); + GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_InitRHS", 7, groups); switch (fdOrder) { diff --git a/ML_BSSN/src/ML_BSSN_Minkowski.cc b/ML_BSSN/src/ML_BSSN_Minkowski.cc index 5ee070a..9d63f5d 100644 --- a/ML_BSSN/src/ML_BSSN_Minkowski.cc +++ b/ML_BSSN/src/ML_BSSN_Minkowski.cc @@ -285,10 +285,6 @@ static void ML_BSSN_Minkowski_Body(const cGH* restrict const cctkGH, const int d CCTK_REAL_VEC Xt3L CCTK_ATTRIBUTE_UNUSED = ToReal(0); - CCTK_REAL_VEC alphaL CCTK_ATTRIBUTE_UNUSED = ToReal(1); - - CCTK_REAL_VEC AL CCTK_ATTRIBUTE_UNUSED = ToReal(0); - CCTK_REAL_VEC beta1L CCTK_ATTRIBUTE_UNUSED = ToReal(0); CCTK_REAL_VEC beta2L CCTK_ATTRIBUTE_UNUSED = ToReal(0); @@ -303,8 +299,6 @@ static void ML_BSSN_Minkowski_Body(const cGH* restrict const cctkGH, const int d /* Copy local copies back to grid functions */ vec_store_partial_prepare(i,vecimin,vecimax); - vec_store_nta_partial(A[index],AL); - vec_store_nta_partial(alpha[index],alphaL); vec_store_nta_partial(At11[index],At11L); vec_store_nta_partial(At12[index],At12L); vec_store_nta_partial(At13[index],At13L); @@ -350,15 +344,13 @@ extern "C" void ML_BSSN_Minkowski(CCTK_ARGUMENTS) const char* const groups[] = { "ML_BSSN::ML_curv", - "ML_BSSN::ML_dtlapse", "ML_BSSN::ML_dtshift", "ML_BSSN::ML_Gamma", - "ML_BSSN::ML_lapse", "ML_BSSN::ML_log_confac", "ML_BSSN::ML_metric", "ML_BSSN::ML_shift", "ML_BSSN::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_Minkowski", 9, groups); + GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_Minkowski", 7, groups); switch (fdOrder) { diff --git a/ML_BSSN/src/ML_BSSN_RHS.cc b/ML_BSSN/src/ML_BSSN_RHS.cc new file mode 100644 index 0000000..28c80ea --- /dev/null +++ b/ML_BSSN/src/ML_BSSN_RHS.cc @@ -0,0 +1,2668 @@ +/* File produced by Kranc */ + +#define KRANC_C + +#include <assert.h> +#include <math.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include "cctk.h" +#include "cctk_Arguments.h" +#include "cctk_Parameters.h" +#include "GenericFD.h" +#include "Differencing.h" +#include "cctk_Loop.h" +#include "loopcontrol.h" +#include "vectors.h" + +/* Define macros used in calculations */ +#define INITVALUE (42) +#define ScalarINV(x) ((CCTK_REAL)1.0 / (x)) +#define ScalarSQR(x) ((x) * (x)) +#define ScalarCUB(x) ((x) * ScalarSQR(x)) +#define ScalarQAD(x) (ScalarSQR(ScalarSQR(x))) +#define INV(x) (kdiv(ToReal(1.0),x)) +#define SQR(x) (kmul(x,x)) +#define CUB(x) (kmul(x,SQR(x))) +#define QAD(x) (SQR(SQR(x))) + +extern "C" void ML_BSSN_RHS_SelectBCs(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + if (cctk_iteration % ML_BSSN_RHS_calc_every != ML_BSSN_RHS_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_curvrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_curvrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_dtshiftrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_dtshiftrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_Gammarhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_Gammarhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_Kdot","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_Kdot."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_log_confacrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_log_confacrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_metricrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_metricrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_phidot","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_phidot."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_shiftrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_shiftrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_term1","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_term1."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_term2","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_term2."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_term3","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_term3."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_trace_curvrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_trace_curvrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_Xtdot","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_Xtdot."); + return; +} + +static void ML_BSSN_RHS_Body(const cGH* restrict const cctkGH, const int dir, const int face, const CCTK_REAL normal[3], const CCTK_REAL tangentA[3], const CCTK_REAL tangentB[3], const int imin[3], const int imax[3], const int n_subblock_gfs, CCTK_REAL* restrict const subblock_gfs[]) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + + /* Include user-supplied include files */ + + /* Initialise finite differencing variables */ + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = + ToReal(0.333333333333333333333333333333); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = + ToReal(0.666666666666666666666666666667); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = + ToReal(1.33333333333333333333333333333); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = + kmul(dxi,ToReal(0.5)); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = + kmul(dyi,ToReal(0.5)); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = + kmul(dzi,ToReal(0.5)); + + /* Initialize predefined quantities */ + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + + /* Jacobian variable pointers */ + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_derivative_group) == 0)) + { + CCTK_WARN(1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + } + + const CCTK_REAL* restrict jacobian_ptrs[9]; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, + 9, jacobian_ptrs); + + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, + 18, jacobian_derivative_ptrs); + + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + + /* Assign local copies of arrays functions */ + + + + /* Calculate temporaries and arrays functions */ + + /* Copy local copies back to grid functions */ + + /* Loop over the grid points */ + const int imin0=imin[0]; + const int imin1=imin[1]; + const int imin2=imin[2]; + const int imax0=imax[0]; + const int imax1=imax[1]; + const int imax2=imax[2]; + #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter) + CCTK_LOOP3STR(ML_BSSN_RHS, + i,j,k, imin0,imin1,imin2, imax0,imax1,imax2, + cctk_ash[0],cctk_ash[1],cctk_ash[2], + vecimin,vecimax, CCTK_REAL_VEC_SIZE) + { + const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k; + // vec_iter_counter+=CCTK_REAL_VEC_SIZE; + if (fabs(y[index]) > 1e-8) + continue; + + /* Assign local copies of grid functions */ + + CCTK_REAL_VEC alphaL CCTK_ATTRIBUTE_UNUSED = vec_load(alpha[index]); + CCTK_REAL_VEC At11L CCTK_ATTRIBUTE_UNUSED = vec_load(At11[index]); + CCTK_REAL_VEC At12L CCTK_ATTRIBUTE_UNUSED = vec_load(At12[index]); + CCTK_REAL_VEC At13L CCTK_ATTRIBUTE_UNUSED = vec_load(At13[index]); + CCTK_REAL_VEC At22L CCTK_ATTRIBUTE_UNUSED = vec_load(At22[index]); + CCTK_REAL_VEC At23L CCTK_ATTRIBUTE_UNUSED = vec_load(At23[index]); + CCTK_REAL_VEC At33L CCTK_ATTRIBUTE_UNUSED = vec_load(At33[index]); + CCTK_REAL_VEC B1L CCTK_ATTRIBUTE_UNUSED = vec_load(B1[index]); + CCTK_REAL_VEC B2L CCTK_ATTRIBUTE_UNUSED = vec_load(B2[index]); + CCTK_REAL_VEC B3L CCTK_ATTRIBUTE_UNUSED = vec_load(B3[index]); + CCTK_REAL_VEC beta1L CCTK_ATTRIBUTE_UNUSED = vec_load(beta1[index]); + CCTK_REAL_VEC beta2L CCTK_ATTRIBUTE_UNUSED = vec_load(beta2[index]); + CCTK_REAL_VEC beta3L CCTK_ATTRIBUTE_UNUSED = vec_load(beta3[index]); + CCTK_REAL_VEC gt11L CCTK_ATTRIBUTE_UNUSED = vec_load(gt11[index]); + CCTK_REAL_VEC gt12L CCTK_ATTRIBUTE_UNUSED = vec_load(gt12[index]); + CCTK_REAL_VEC gt13L CCTK_ATTRIBUTE_UNUSED = vec_load(gt13[index]); + CCTK_REAL_VEC gt22L CCTK_ATTRIBUTE_UNUSED = vec_load(gt22[index]); + CCTK_REAL_VEC gt23L CCTK_ATTRIBUTE_UNUSED = vec_load(gt23[index]); + CCTK_REAL_VEC gt33L CCTK_ATTRIBUTE_UNUSED = vec_load(gt33[index]); + CCTK_REAL_VEC phiL CCTK_ATTRIBUTE_UNUSED = vec_load(phi[index]); + CCTK_REAL_VEC rL CCTK_ATTRIBUTE_UNUSED = vec_load(r[index]); + CCTK_REAL_VEC term1L CCTK_ATTRIBUTE_UNUSED = vec_load(term1[index]); + CCTK_REAL_VEC term2L CCTK_ATTRIBUTE_UNUSED = vec_load(term2[index]); + CCTK_REAL_VEC term3L CCTK_ATTRIBUTE_UNUSED = vec_load(term3[index]); + CCTK_REAL_VEC trKL CCTK_ATTRIBUTE_UNUSED = vec_load(trK[index]); + CCTK_REAL_VEC Xt1L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt1[index]); + CCTK_REAL_VEC Xt2L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt2[index]); + CCTK_REAL_VEC Xt3L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt3[index]); + + CCTK_REAL_VEC eTttL, eTtxL, eTtyL, eTtzL, eTxxL, eTxyL, eTxzL, eTyyL, eTyzL, eTzzL CCTK_ATTRIBUTE_UNUSED ; + + if (assume_stress_energy_state>=0 ? assume_stress_energy_state : *stress_energy_state) + { + eTttL = vec_load(eTtt[index]); + eTtxL = vec_load(eTtx[index]); + eTtyL = vec_load(eTty[index]); + eTtzL = vec_load(eTtz[index]); + eTxxL = vec_load(eTxx[index]); + eTxyL = vec_load(eTxy[index]); + eTxzL = vec_load(eTxz[index]); + eTyyL = vec_load(eTyy[index]); + eTyzL = vec_load(eTyz[index]); + eTzzL = vec_load(eTzz[index]); + } + else + { + eTttL = ToReal(0.0); + eTtxL = ToReal(0.0); + eTtyL = ToReal(0.0); + eTtzL = ToReal(0.0); + eTxxL = ToReal(0.0); + eTxyL = ToReal(0.0); + eTxzL = ToReal(0.0); + eTyyL = ToReal(0.0); + eTyzL = ToReal(0.0); + eTzzL = ToReal(0.0); + } + + CCTK_REAL_VEC dJ111L, dJ112L, dJ113L, dJ122L, dJ123L, dJ133L, dJ211L, dJ212L, dJ213L, dJ222L, dJ223L, dJ233L, dJ311L, dJ312L, dJ313L, dJ322L, dJ323L, dJ333L, J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L CCTK_ATTRIBUTE_UNUSED ; + + if (use_jacobian) + { + dJ111L = vec_load(dJ111[index]); + dJ112L = vec_load(dJ112[index]); + dJ113L = vec_load(dJ113[index]); + dJ122L = vec_load(dJ122[index]); + dJ123L = vec_load(dJ123[index]); + dJ133L = vec_load(dJ133[index]); + dJ211L = vec_load(dJ211[index]); + dJ212L = vec_load(dJ212[index]); + dJ213L = vec_load(dJ213[index]); + dJ222L = vec_load(dJ222[index]); + dJ223L = vec_load(dJ223[index]); + dJ233L = vec_load(dJ233[index]); + dJ311L = vec_load(dJ311[index]); + dJ312L = vec_load(dJ312[index]); + dJ313L = vec_load(dJ313[index]); + dJ322L = vec_load(dJ322[index]); + dJ323L = vec_load(dJ323[index]); + dJ333L = vec_load(dJ333[index]); + J11L = vec_load(J11[index]); + J12L = vec_load(J12[index]); + J13L = vec_load(J13[index]); + J21L = vec_load(J21[index]); + J22L = vec_load(J22[index]); + J23L = vec_load(J23[index]); + J31L = vec_load(J31[index]); + J32L = vec_load(J32[index]); + J33L = vec_load(J33[index]); + } + + /* Include user supplied include files */ + + /* Precompute derivatives */ + CCTK_REAL_VEC PDstandardNth1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED; + + switch (fdOrder) + { + case 2: + { + PDstandardNth1alpha = PDstandardNthfdOrder21(&alpha[index]); + PDstandardNth2alpha = PDstandardNthfdOrder22(&alpha[index]); + PDstandardNth3alpha = PDstandardNthfdOrder23(&alpha[index]); + PDstandardNth11alpha = PDstandardNthfdOrder211(&alpha[index]); + PDstandardNth22alpha = PDstandardNthfdOrder222(&alpha[index]); + PDstandardNth33alpha = PDstandardNthfdOrder233(&alpha[index]); + PDstandardNth12alpha = PDstandardNthfdOrder212(&alpha[index]); + PDstandardNth13alpha = PDstandardNthfdOrder213(&alpha[index]); + PDstandardNth23alpha = PDstandardNthfdOrder223(&alpha[index]); + PDstandardNth1beta1 = PDstandardNthfdOrder21(&beta1[index]); + PDstandardNth2beta1 = PDstandardNthfdOrder22(&beta1[index]); + PDstandardNth3beta1 = PDstandardNthfdOrder23(&beta1[index]); + PDstandardNth11beta1 = PDstandardNthfdOrder211(&beta1[index]); + PDstandardNth22beta1 = PDstandardNthfdOrder222(&beta1[index]); + PDstandardNth33beta1 = PDstandardNthfdOrder233(&beta1[index]); + PDstandardNth12beta1 = PDstandardNthfdOrder212(&beta1[index]); + PDstandardNth13beta1 = PDstandardNthfdOrder213(&beta1[index]); + PDstandardNth23beta1 = PDstandardNthfdOrder223(&beta1[index]); + PDstandardNth1beta2 = PDstandardNthfdOrder21(&beta2[index]); + PDstandardNth2beta2 = PDstandardNthfdOrder22(&beta2[index]); + PDstandardNth3beta2 = PDstandardNthfdOrder23(&beta2[index]); + PDstandardNth11beta2 = PDstandardNthfdOrder211(&beta2[index]); + PDstandardNth22beta2 = PDstandardNthfdOrder222(&beta2[index]); + PDstandardNth33beta2 = PDstandardNthfdOrder233(&beta2[index]); + PDstandardNth12beta2 = PDstandardNthfdOrder212(&beta2[index]); + PDstandardNth13beta2 = PDstandardNthfdOrder213(&beta2[index]); + PDstandardNth23beta2 = PDstandardNthfdOrder223(&beta2[index]); + PDstandardNth1beta3 = PDstandardNthfdOrder21(&beta3[index]); + PDstandardNth2beta3 = PDstandardNthfdOrder22(&beta3[index]); + PDstandardNth3beta3 = PDstandardNthfdOrder23(&beta3[index]); + PDstandardNth11beta3 = PDstandardNthfdOrder211(&beta3[index]); + PDstandardNth22beta3 = PDstandardNthfdOrder222(&beta3[index]); + PDstandardNth33beta3 = PDstandardNthfdOrder233(&beta3[index]); + PDstandardNth12beta3 = PDstandardNthfdOrder212(&beta3[index]); + PDstandardNth13beta3 = PDstandardNthfdOrder213(&beta3[index]); + PDstandardNth23beta3 = PDstandardNthfdOrder223(&beta3[index]); + PDstandardNth1gt11 = PDstandardNthfdOrder21(>11[index]); + PDstandardNth2gt11 = PDstandardNthfdOrder22(>11[index]); + PDstandardNth3gt11 = PDstandardNthfdOrder23(>11[index]); + PDstandardNth11gt11 = PDstandardNthfdOrder211(>11[index]); + PDstandardNth22gt11 = PDstandardNthfdOrder222(>11[index]); + PDstandardNth33gt11 = PDstandardNthfdOrder233(>11[index]); + PDstandardNth12gt11 = PDstandardNthfdOrder212(>11[index]); + PDstandardNth13gt11 = PDstandardNthfdOrder213(>11[index]); + PDstandardNth23gt11 = PDstandardNthfdOrder223(>11[index]); + PDstandardNth1gt12 = PDstandardNthfdOrder21(>12[index]); + PDstandardNth2gt12 = PDstandardNthfdOrder22(>12[index]); + PDstandardNth3gt12 = PDstandardNthfdOrder23(>12[index]); + PDstandardNth11gt12 = PDstandardNthfdOrder211(>12[index]); + PDstandardNth22gt12 = PDstandardNthfdOrder222(>12[index]); + PDstandardNth33gt12 = PDstandardNthfdOrder233(>12[index]); + PDstandardNth12gt12 = PDstandardNthfdOrder212(>12[index]); + PDstandardNth13gt12 = PDstandardNthfdOrder213(>12[index]); + PDstandardNth23gt12 = PDstandardNthfdOrder223(>12[index]); + PDstandardNth1gt13 = PDstandardNthfdOrder21(>13[index]); + PDstandardNth2gt13 = PDstandardNthfdOrder22(>13[index]); + PDstandardNth3gt13 = PDstandardNthfdOrder23(>13[index]); + PDstandardNth11gt13 = PDstandardNthfdOrder211(>13[index]); + PDstandardNth22gt13 = PDstandardNthfdOrder222(>13[index]); + PDstandardNth33gt13 = PDstandardNthfdOrder233(>13[index]); + PDstandardNth12gt13 = PDstandardNthfdOrder212(>13[index]); + PDstandardNth13gt13 = PDstandardNthfdOrder213(>13[index]); + PDstandardNth23gt13 = PDstandardNthfdOrder223(>13[index]); + PDstandardNth1gt22 = PDstandardNthfdOrder21(>22[index]); + PDstandardNth2gt22 = PDstandardNthfdOrder22(>22[index]); + PDstandardNth3gt22 = PDstandardNthfdOrder23(>22[index]); + PDstandardNth11gt22 = PDstandardNthfdOrder211(>22[index]); + PDstandardNth22gt22 = PDstandardNthfdOrder222(>22[index]); + PDstandardNth33gt22 = PDstandardNthfdOrder233(>22[index]); + PDstandardNth12gt22 = PDstandardNthfdOrder212(>22[index]); + PDstandardNth13gt22 = PDstandardNthfdOrder213(>22[index]); + PDstandardNth23gt22 = PDstandardNthfdOrder223(>22[index]); + PDstandardNth1gt23 = PDstandardNthfdOrder21(>23[index]); + PDstandardNth2gt23 = PDstandardNthfdOrder22(>23[index]); + PDstandardNth3gt23 = PDstandardNthfdOrder23(>23[index]); + PDstandardNth11gt23 = PDstandardNthfdOrder211(>23[index]); + PDstandardNth22gt23 = PDstandardNthfdOrder222(>23[index]); + PDstandardNth33gt23 = PDstandardNthfdOrder233(>23[index]); + PDstandardNth12gt23 = PDstandardNthfdOrder212(>23[index]); + PDstandardNth13gt23 = PDstandardNthfdOrder213(>23[index]); + PDstandardNth23gt23 = PDstandardNthfdOrder223(>23[index]); + PDstandardNth1gt33 = PDstandardNthfdOrder21(>33[index]); + PDstandardNth2gt33 = PDstandardNthfdOrder22(>33[index]); + PDstandardNth3gt33 = PDstandardNthfdOrder23(>33[index]); + PDstandardNth11gt33 = PDstandardNthfdOrder211(>33[index]); + PDstandardNth22gt33 = PDstandardNthfdOrder222(>33[index]); + PDstandardNth33gt33 = PDstandardNthfdOrder233(>33[index]); + PDstandardNth12gt33 = PDstandardNthfdOrder212(>33[index]); + PDstandardNth13gt33 = PDstandardNthfdOrder213(>33[index]); + PDstandardNth23gt33 = PDstandardNthfdOrder223(>33[index]); + PDstandardNth1phi = PDstandardNthfdOrder21(&phi[index]); + PDstandardNth2phi = PDstandardNthfdOrder22(&phi[index]); + PDstandardNth3phi = PDstandardNthfdOrder23(&phi[index]); + PDstandardNth11phi = PDstandardNthfdOrder211(&phi[index]); + PDstandardNth22phi = PDstandardNthfdOrder222(&phi[index]); + PDstandardNth33phi = PDstandardNthfdOrder233(&phi[index]); + PDstandardNth12phi = PDstandardNthfdOrder212(&phi[index]); + PDstandardNth13phi = PDstandardNthfdOrder213(&phi[index]); + PDstandardNth23phi = PDstandardNthfdOrder223(&phi[index]); + PDstandardNth1trK = PDstandardNthfdOrder21(&trK[index]); + PDstandardNth2trK = PDstandardNthfdOrder22(&trK[index]); + PDstandardNth3trK = PDstandardNthfdOrder23(&trK[index]); + PDstandardNth1Xt1 = PDstandardNthfdOrder21(&Xt1[index]); + PDstandardNth2Xt1 = PDstandardNthfdOrder22(&Xt1[index]); + PDstandardNth3Xt1 = PDstandardNthfdOrder23(&Xt1[index]); + PDstandardNth1Xt2 = PDstandardNthfdOrder21(&Xt2[index]); + PDstandardNth2Xt2 = PDstandardNthfdOrder22(&Xt2[index]); + PDstandardNth3Xt2 = PDstandardNthfdOrder23(&Xt2[index]); + PDstandardNth1Xt3 = PDstandardNthfdOrder21(&Xt3[index]); + PDstandardNth2Xt3 = PDstandardNthfdOrder22(&Xt3[index]); + PDstandardNth3Xt3 = PDstandardNthfdOrder23(&Xt3[index]); + break; + } + + case 4: + { + PDstandardNth1alpha = PDstandardNthfdOrder41(&alpha[index]); + PDstandardNth2alpha = PDstandardNthfdOrder42(&alpha[index]); + PDstandardNth3alpha = PDstandardNthfdOrder43(&alpha[index]); + PDstandardNth11alpha = PDstandardNthfdOrder411(&alpha[index]); + PDstandardNth22alpha = PDstandardNthfdOrder422(&alpha[index]); + PDstandardNth33alpha = PDstandardNthfdOrder433(&alpha[index]); + PDstandardNth12alpha = PDstandardNthfdOrder412(&alpha[index]); + PDstandardNth13alpha = PDstandardNthfdOrder413(&alpha[index]); + PDstandardNth23alpha = PDstandardNthfdOrder423(&alpha[index]); + PDstandardNth1beta1 = PDstandardNthfdOrder41(&beta1[index]); + PDstandardNth2beta1 = PDstandardNthfdOrder42(&beta1[index]); + PDstandardNth3beta1 = PDstandardNthfdOrder43(&beta1[index]); + PDstandardNth11beta1 = PDstandardNthfdOrder411(&beta1[index]); + PDstandardNth22beta1 = PDstandardNthfdOrder422(&beta1[index]); + PDstandardNth33beta1 = PDstandardNthfdOrder433(&beta1[index]); + PDstandardNth12beta1 = PDstandardNthfdOrder412(&beta1[index]); + PDstandardNth13beta1 = PDstandardNthfdOrder413(&beta1[index]); + PDstandardNth23beta1 = PDstandardNthfdOrder423(&beta1[index]); + PDstandardNth1beta2 = PDstandardNthfdOrder41(&beta2[index]); + PDstandardNth2beta2 = PDstandardNthfdOrder42(&beta2[index]); + PDstandardNth3beta2 = PDstandardNthfdOrder43(&beta2[index]); + PDstandardNth11beta2 = PDstandardNthfdOrder411(&beta2[index]); + PDstandardNth22beta2 = PDstandardNthfdOrder422(&beta2[index]); + PDstandardNth33beta2 = PDstandardNthfdOrder433(&beta2[index]); + PDstandardNth12beta2 = PDstandardNthfdOrder412(&beta2[index]); + PDstandardNth13beta2 = PDstandardNthfdOrder413(&beta2[index]); + PDstandardNth23beta2 = PDstandardNthfdOrder423(&beta2[index]); + PDstandardNth1beta3 = PDstandardNthfdOrder41(&beta3[index]); + PDstandardNth2beta3 = PDstandardNthfdOrder42(&beta3[index]); + PDstandardNth3beta3 = PDstandardNthfdOrder43(&beta3[index]); + PDstandardNth11beta3 = PDstandardNthfdOrder411(&beta3[index]); + PDstandardNth22beta3 = PDstandardNthfdOrder422(&beta3[index]); + PDstandardNth33beta3 = PDstandardNthfdOrder433(&beta3[index]); + PDstandardNth12beta3 = PDstandardNthfdOrder412(&beta3[index]); + PDstandardNth13beta3 = PDstandardNthfdOrder413(&beta3[index]); + PDstandardNth23beta3 = PDstandardNthfdOrder423(&beta3[index]); + PDstandardNth1gt11 = PDstandardNthfdOrder41(>11[index]); + PDstandardNth2gt11 = PDstandardNthfdOrder42(>11[index]); + PDstandardNth3gt11 = PDstandardNthfdOrder43(>11[index]); + PDstandardNth11gt11 = PDstandardNthfdOrder411(>11[index]); + PDstandardNth22gt11 = PDstandardNthfdOrder422(>11[index]); + PDstandardNth33gt11 = PDstandardNthfdOrder433(>11[index]); + PDstandardNth12gt11 = PDstandardNthfdOrder412(>11[index]); + PDstandardNth13gt11 = PDstandardNthfdOrder413(>11[index]); + PDstandardNth23gt11 = PDstandardNthfdOrder423(>11[index]); + PDstandardNth1gt12 = PDstandardNthfdOrder41(>12[index]); + PDstandardNth2gt12 = PDstandardNthfdOrder42(>12[index]); + PDstandardNth3gt12 = PDstandardNthfdOrder43(>12[index]); + PDstandardNth11gt12 = PDstandardNthfdOrder411(>12[index]); + PDstandardNth22gt12 = PDstandardNthfdOrder422(>12[index]); + PDstandardNth33gt12 = PDstandardNthfdOrder433(>12[index]); + PDstandardNth12gt12 = PDstandardNthfdOrder412(>12[index]); + PDstandardNth13gt12 = PDstandardNthfdOrder413(>12[index]); + PDstandardNth23gt12 = PDstandardNthfdOrder423(>12[index]); + PDstandardNth1gt13 = PDstandardNthfdOrder41(>13[index]); + PDstandardNth2gt13 = PDstandardNthfdOrder42(>13[index]); + PDstandardNth3gt13 = PDstandardNthfdOrder43(>13[index]); + PDstandardNth11gt13 = PDstandardNthfdOrder411(>13[index]); + PDstandardNth22gt13 = PDstandardNthfdOrder422(>13[index]); + PDstandardNth33gt13 = PDstandardNthfdOrder433(>13[index]); + PDstandardNth12gt13 = PDstandardNthfdOrder412(>13[index]); + PDstandardNth13gt13 = PDstandardNthfdOrder413(>13[index]); + PDstandardNth23gt13 = PDstandardNthfdOrder423(>13[index]); + PDstandardNth1gt22 = PDstandardNthfdOrder41(>22[index]); + PDstandardNth2gt22 = PDstandardNthfdOrder42(>22[index]); + PDstandardNth3gt22 = PDstandardNthfdOrder43(>22[index]); + PDstandardNth11gt22 = PDstandardNthfdOrder411(>22[index]); + PDstandardNth22gt22 = PDstandardNthfdOrder422(>22[index]); + PDstandardNth33gt22 = PDstandardNthfdOrder433(>22[index]); + PDstandardNth12gt22 = PDstandardNthfdOrder412(>22[index]); + PDstandardNth13gt22 = PDstandardNthfdOrder413(>22[index]); + PDstandardNth23gt22 = PDstandardNthfdOrder423(>22[index]); + PDstandardNth1gt23 = PDstandardNthfdOrder41(>23[index]); + PDstandardNth2gt23 = PDstandardNthfdOrder42(>23[index]); + PDstandardNth3gt23 = PDstandardNthfdOrder43(>23[index]); + PDstandardNth11gt23 = PDstandardNthfdOrder411(>23[index]); + PDstandardNth22gt23 = PDstandardNthfdOrder422(>23[index]); + PDstandardNth33gt23 = PDstandardNthfdOrder433(>23[index]); + PDstandardNth12gt23 = PDstandardNthfdOrder412(>23[index]); + PDstandardNth13gt23 = PDstandardNthfdOrder413(>23[index]); + PDstandardNth23gt23 = PDstandardNthfdOrder423(>23[index]); + PDstandardNth1gt33 = PDstandardNthfdOrder41(>33[index]); + PDstandardNth2gt33 = PDstandardNthfdOrder42(>33[index]); + PDstandardNth3gt33 = PDstandardNthfdOrder43(>33[index]); + PDstandardNth11gt33 = PDstandardNthfdOrder411(>33[index]); + PDstandardNth22gt33 = PDstandardNthfdOrder422(>33[index]); + PDstandardNth33gt33 = PDstandardNthfdOrder433(>33[index]); + PDstandardNth12gt33 = PDstandardNthfdOrder412(>33[index]); + PDstandardNth13gt33 = PDstandardNthfdOrder413(>33[index]); + PDstandardNth23gt33 = PDstandardNthfdOrder423(>33[index]); + PDstandardNth1phi = PDstandardNthfdOrder41(&phi[index]); + PDstandardNth2phi = PDstandardNthfdOrder42(&phi[index]); + PDstandardNth3phi = PDstandardNthfdOrder43(&phi[index]); + PDstandardNth11phi = PDstandardNthfdOrder411(&phi[index]); + PDstandardNth22phi = PDstandardNthfdOrder422(&phi[index]); + PDstandardNth33phi = PDstandardNthfdOrder433(&phi[index]); + PDstandardNth12phi = PDstandardNthfdOrder412(&phi[index]); + PDstandardNth13phi = PDstandardNthfdOrder413(&phi[index]); + PDstandardNth23phi = PDstandardNthfdOrder423(&phi[index]); + PDstandardNth1trK = PDstandardNthfdOrder41(&trK[index]); + PDstandardNth2trK = PDstandardNthfdOrder42(&trK[index]); + PDstandardNth3trK = PDstandardNthfdOrder43(&trK[index]); + PDstandardNth1Xt1 = PDstandardNthfdOrder41(&Xt1[index]); + PDstandardNth2Xt1 = PDstandardNthfdOrder42(&Xt1[index]); + PDstandardNth3Xt1 = PDstandardNthfdOrder43(&Xt1[index]); + PDstandardNth1Xt2 = PDstandardNthfdOrder41(&Xt2[index]); + PDstandardNth2Xt2 = PDstandardNthfdOrder42(&Xt2[index]); + PDstandardNth3Xt2 = PDstandardNthfdOrder43(&Xt2[index]); + PDstandardNth1Xt3 = PDstandardNthfdOrder41(&Xt3[index]); + PDstandardNth2Xt3 = PDstandardNthfdOrder42(&Xt3[index]); + PDstandardNth3Xt3 = PDstandardNthfdOrder43(&Xt3[index]); + break; + } + + case 6: + { + PDstandardNth1alpha = PDstandardNthfdOrder61(&alpha[index]); + PDstandardNth2alpha = PDstandardNthfdOrder62(&alpha[index]); + PDstandardNth3alpha = PDstandardNthfdOrder63(&alpha[index]); + PDstandardNth11alpha = PDstandardNthfdOrder611(&alpha[index]); + PDstandardNth22alpha = PDstandardNthfdOrder622(&alpha[index]); + PDstandardNth33alpha = PDstandardNthfdOrder633(&alpha[index]); + PDstandardNth12alpha = PDstandardNthfdOrder612(&alpha[index]); + PDstandardNth13alpha = PDstandardNthfdOrder613(&alpha[index]); + PDstandardNth23alpha = PDstandardNthfdOrder623(&alpha[index]); + PDstandardNth1beta1 = PDstandardNthfdOrder61(&beta1[index]); + PDstandardNth2beta1 = PDstandardNthfdOrder62(&beta1[index]); + PDstandardNth3beta1 = PDstandardNthfdOrder63(&beta1[index]); + PDstandardNth11beta1 = PDstandardNthfdOrder611(&beta1[index]); + PDstandardNth22beta1 = PDstandardNthfdOrder622(&beta1[index]); + PDstandardNth33beta1 = PDstandardNthfdOrder633(&beta1[index]); + PDstandardNth12beta1 = PDstandardNthfdOrder612(&beta1[index]); + PDstandardNth13beta1 = PDstandardNthfdOrder613(&beta1[index]); + PDstandardNth23beta1 = PDstandardNthfdOrder623(&beta1[index]); + PDstandardNth1beta2 = PDstandardNthfdOrder61(&beta2[index]); + PDstandardNth2beta2 = PDstandardNthfdOrder62(&beta2[index]); + PDstandardNth3beta2 = PDstandardNthfdOrder63(&beta2[index]); + PDstandardNth11beta2 = PDstandardNthfdOrder611(&beta2[index]); + PDstandardNth22beta2 = PDstandardNthfdOrder622(&beta2[index]); + PDstandardNth33beta2 = PDstandardNthfdOrder633(&beta2[index]); + PDstandardNth12beta2 = PDstandardNthfdOrder612(&beta2[index]); + PDstandardNth13beta2 = PDstandardNthfdOrder613(&beta2[index]); + PDstandardNth23beta2 = PDstandardNthfdOrder623(&beta2[index]); + PDstandardNth1beta3 = PDstandardNthfdOrder61(&beta3[index]); + PDstandardNth2beta3 = PDstandardNthfdOrder62(&beta3[index]); + PDstandardNth3beta3 = PDstandardNthfdOrder63(&beta3[index]); + PDstandardNth11beta3 = PDstandardNthfdOrder611(&beta3[index]); + PDstandardNth22beta3 = PDstandardNthfdOrder622(&beta3[index]); + PDstandardNth33beta3 = PDstandardNthfdOrder633(&beta3[index]); + PDstandardNth12beta3 = PDstandardNthfdOrder612(&beta3[index]); + PDstandardNth13beta3 = PDstandardNthfdOrder613(&beta3[index]); + PDstandardNth23beta3 = PDstandardNthfdOrder623(&beta3[index]); + PDstandardNth1gt11 = PDstandardNthfdOrder61(>11[index]); + PDstandardNth2gt11 = PDstandardNthfdOrder62(>11[index]); + PDstandardNth3gt11 = PDstandardNthfdOrder63(>11[index]); + PDstandardNth11gt11 = PDstandardNthfdOrder611(>11[index]); + PDstandardNth22gt11 = PDstandardNthfdOrder622(>11[index]); + PDstandardNth33gt11 = PDstandardNthfdOrder633(>11[index]); + PDstandardNth12gt11 = PDstandardNthfdOrder612(>11[index]); + PDstandardNth13gt11 = PDstandardNthfdOrder613(>11[index]); + PDstandardNth23gt11 = PDstandardNthfdOrder623(>11[index]); + PDstandardNth1gt12 = PDstandardNthfdOrder61(>12[index]); + PDstandardNth2gt12 = PDstandardNthfdOrder62(>12[index]); + PDstandardNth3gt12 = PDstandardNthfdOrder63(>12[index]); + PDstandardNth11gt12 = PDstandardNthfdOrder611(>12[index]); + PDstandardNth22gt12 = PDstandardNthfdOrder622(>12[index]); + PDstandardNth33gt12 = PDstandardNthfdOrder633(>12[index]); + PDstandardNth12gt12 = PDstandardNthfdOrder612(>12[index]); + PDstandardNth13gt12 = PDstandardNthfdOrder613(>12[index]); + PDstandardNth23gt12 = PDstandardNthfdOrder623(>12[index]); + PDstandardNth1gt13 = PDstandardNthfdOrder61(>13[index]); + PDstandardNth2gt13 = PDstandardNthfdOrder62(>13[index]); + PDstandardNth3gt13 = PDstandardNthfdOrder63(>13[index]); + PDstandardNth11gt13 = PDstandardNthfdOrder611(>13[index]); + PDstandardNth22gt13 = PDstandardNthfdOrder622(>13[index]); + PDstandardNth33gt13 = PDstandardNthfdOrder633(>13[index]); + PDstandardNth12gt13 = PDstandardNthfdOrder612(>13[index]); + PDstandardNth13gt13 = PDstandardNthfdOrder613(>13[index]); + PDstandardNth23gt13 = PDstandardNthfdOrder623(>13[index]); + PDstandardNth1gt22 = PDstandardNthfdOrder61(>22[index]); + PDstandardNth2gt22 = PDstandardNthfdOrder62(>22[index]); + PDstandardNth3gt22 = PDstandardNthfdOrder63(>22[index]); + PDstandardNth11gt22 = PDstandardNthfdOrder611(>22[index]); + PDstandardNth22gt22 = PDstandardNthfdOrder622(>22[index]); + PDstandardNth33gt22 = PDstandardNthfdOrder633(>22[index]); + PDstandardNth12gt22 = PDstandardNthfdOrder612(>22[index]); + PDstandardNth13gt22 = PDstandardNthfdOrder613(>22[index]); + PDstandardNth23gt22 = PDstandardNthfdOrder623(>22[index]); + PDstandardNth1gt23 = PDstandardNthfdOrder61(>23[index]); + PDstandardNth2gt23 = PDstandardNthfdOrder62(>23[index]); + PDstandardNth3gt23 = PDstandardNthfdOrder63(>23[index]); + PDstandardNth11gt23 = PDstandardNthfdOrder611(>23[index]); + PDstandardNth22gt23 = PDstandardNthfdOrder622(>23[index]); + PDstandardNth33gt23 = PDstandardNthfdOrder633(>23[index]); + PDstandardNth12gt23 = PDstandardNthfdOrder612(>23[index]); + PDstandardNth13gt23 = PDstandardNthfdOrder613(>23[index]); + PDstandardNth23gt23 = PDstandardNthfdOrder623(>23[index]); + PDstandardNth1gt33 = PDstandardNthfdOrder61(>33[index]); + PDstandardNth2gt33 = PDstandardNthfdOrder62(>33[index]); + PDstandardNth3gt33 = PDstandardNthfdOrder63(>33[index]); + PDstandardNth11gt33 = PDstandardNthfdOrder611(>33[index]); + PDstandardNth22gt33 = PDstandardNthfdOrder622(>33[index]); + PDstandardNth33gt33 = PDstandardNthfdOrder633(>33[index]); + PDstandardNth12gt33 = PDstandardNthfdOrder612(>33[index]); + PDstandardNth13gt33 = PDstandardNthfdOrder613(>33[index]); + PDstandardNth23gt33 = PDstandardNthfdOrder623(>33[index]); + PDstandardNth1phi = PDstandardNthfdOrder61(&phi[index]); + PDstandardNth2phi = PDstandardNthfdOrder62(&phi[index]); + PDstandardNth3phi = PDstandardNthfdOrder63(&phi[index]); + PDstandardNth11phi = PDstandardNthfdOrder611(&phi[index]); + PDstandardNth22phi = PDstandardNthfdOrder622(&phi[index]); + PDstandardNth33phi = PDstandardNthfdOrder633(&phi[index]); + PDstandardNth12phi = PDstandardNthfdOrder612(&phi[index]); + PDstandardNth13phi = PDstandardNthfdOrder613(&phi[index]); + PDstandardNth23phi = PDstandardNthfdOrder623(&phi[index]); + PDstandardNth1trK = PDstandardNthfdOrder61(&trK[index]); + PDstandardNth2trK = PDstandardNthfdOrder62(&trK[index]); + PDstandardNth3trK = PDstandardNthfdOrder63(&trK[index]); + PDstandardNth1Xt1 = PDstandardNthfdOrder61(&Xt1[index]); + PDstandardNth2Xt1 = PDstandardNthfdOrder62(&Xt1[index]); + PDstandardNth3Xt1 = PDstandardNthfdOrder63(&Xt1[index]); + PDstandardNth1Xt2 = PDstandardNthfdOrder61(&Xt2[index]); + PDstandardNth2Xt2 = PDstandardNthfdOrder62(&Xt2[index]); + PDstandardNth3Xt2 = PDstandardNthfdOrder63(&Xt2[index]); + PDstandardNth1Xt3 = PDstandardNthfdOrder61(&Xt3[index]); + PDstandardNth2Xt3 = PDstandardNthfdOrder62(&Xt3[index]); + PDstandardNth3Xt3 = PDstandardNthfdOrder63(&Xt3[index]); + break; + } + + case 8: + { + PDstandardNth1alpha = PDstandardNthfdOrder81(&alpha[index]); + PDstandardNth2alpha = PDstandardNthfdOrder82(&alpha[index]); + PDstandardNth3alpha = PDstandardNthfdOrder83(&alpha[index]); + PDstandardNth11alpha = PDstandardNthfdOrder811(&alpha[index]); + PDstandardNth22alpha = PDstandardNthfdOrder822(&alpha[index]); + PDstandardNth33alpha = PDstandardNthfdOrder833(&alpha[index]); + PDstandardNth12alpha = PDstandardNthfdOrder812(&alpha[index]); + PDstandardNth13alpha = PDstandardNthfdOrder813(&alpha[index]); + PDstandardNth23alpha = PDstandardNthfdOrder823(&alpha[index]); + PDstandardNth1beta1 = PDstandardNthfdOrder81(&beta1[index]); + PDstandardNth2beta1 = PDstandardNthfdOrder82(&beta1[index]); + PDstandardNth3beta1 = PDstandardNthfdOrder83(&beta1[index]); + PDstandardNth11beta1 = PDstandardNthfdOrder811(&beta1[index]); + PDstandardNth22beta1 = PDstandardNthfdOrder822(&beta1[index]); + PDstandardNth33beta1 = PDstandardNthfdOrder833(&beta1[index]); + PDstandardNth12beta1 = PDstandardNthfdOrder812(&beta1[index]); + PDstandardNth13beta1 = PDstandardNthfdOrder813(&beta1[index]); + PDstandardNth23beta1 = PDstandardNthfdOrder823(&beta1[index]); + PDstandardNth1beta2 = PDstandardNthfdOrder81(&beta2[index]); + PDstandardNth2beta2 = PDstandardNthfdOrder82(&beta2[index]); + PDstandardNth3beta2 = PDstandardNthfdOrder83(&beta2[index]); + PDstandardNth11beta2 = PDstandardNthfdOrder811(&beta2[index]); + PDstandardNth22beta2 = PDstandardNthfdOrder822(&beta2[index]); + PDstandardNth33beta2 = PDstandardNthfdOrder833(&beta2[index]); + PDstandardNth12beta2 = PDstandardNthfdOrder812(&beta2[index]); + PDstandardNth13beta2 = PDstandardNthfdOrder813(&beta2[index]); + PDstandardNth23beta2 = PDstandardNthfdOrder823(&beta2[index]); + PDstandardNth1beta3 = PDstandardNthfdOrder81(&beta3[index]); + PDstandardNth2beta3 = PDstandardNthfdOrder82(&beta3[index]); + PDstandardNth3beta3 = PDstandardNthfdOrder83(&beta3[index]); + PDstandardNth11beta3 = PDstandardNthfdOrder811(&beta3[index]); + PDstandardNth22beta3 = PDstandardNthfdOrder822(&beta3[index]); + PDstandardNth33beta3 = PDstandardNthfdOrder833(&beta3[index]); + PDstandardNth12beta3 = PDstandardNthfdOrder812(&beta3[index]); + PDstandardNth13beta3 = PDstandardNthfdOrder813(&beta3[index]); + PDstandardNth23beta3 = PDstandardNthfdOrder823(&beta3[index]); + PDstandardNth1gt11 = PDstandardNthfdOrder81(>11[index]); + PDstandardNth2gt11 = PDstandardNthfdOrder82(>11[index]); + PDstandardNth3gt11 = PDstandardNthfdOrder83(>11[index]); + PDstandardNth11gt11 = PDstandardNthfdOrder811(>11[index]); + PDstandardNth22gt11 = PDstandardNthfdOrder822(>11[index]); + PDstandardNth33gt11 = PDstandardNthfdOrder833(>11[index]); + PDstandardNth12gt11 = PDstandardNthfdOrder812(>11[index]); + PDstandardNth13gt11 = PDstandardNthfdOrder813(>11[index]); + PDstandardNth23gt11 = PDstandardNthfdOrder823(>11[index]); + PDstandardNth1gt12 = PDstandardNthfdOrder81(>12[index]); + PDstandardNth2gt12 = PDstandardNthfdOrder82(>12[index]); + PDstandardNth3gt12 = PDstandardNthfdOrder83(>12[index]); + PDstandardNth11gt12 = PDstandardNthfdOrder811(>12[index]); + PDstandardNth22gt12 = PDstandardNthfdOrder822(>12[index]); + PDstandardNth33gt12 = PDstandardNthfdOrder833(>12[index]); + PDstandardNth12gt12 = PDstandardNthfdOrder812(>12[index]); + PDstandardNth13gt12 = PDstandardNthfdOrder813(>12[index]); + PDstandardNth23gt12 = PDstandardNthfdOrder823(>12[index]); + PDstandardNth1gt13 = PDstandardNthfdOrder81(>13[index]); + PDstandardNth2gt13 = PDstandardNthfdOrder82(>13[index]); + PDstandardNth3gt13 = PDstandardNthfdOrder83(>13[index]); + PDstandardNth11gt13 = PDstandardNthfdOrder811(>13[index]); + PDstandardNth22gt13 = PDstandardNthfdOrder822(>13[index]); + PDstandardNth33gt13 = PDstandardNthfdOrder833(>13[index]); + PDstandardNth12gt13 = PDstandardNthfdOrder812(>13[index]); + PDstandardNth13gt13 = PDstandardNthfdOrder813(>13[index]); + PDstandardNth23gt13 = PDstandardNthfdOrder823(>13[index]); + PDstandardNth1gt22 = PDstandardNthfdOrder81(>22[index]); + PDstandardNth2gt22 = PDstandardNthfdOrder82(>22[index]); + PDstandardNth3gt22 = PDstandardNthfdOrder83(>22[index]); + PDstandardNth11gt22 = PDstandardNthfdOrder811(>22[index]); + PDstandardNth22gt22 = PDstandardNthfdOrder822(>22[index]); + PDstandardNth33gt22 = PDstandardNthfdOrder833(>22[index]); + PDstandardNth12gt22 = PDstandardNthfdOrder812(>22[index]); + PDstandardNth13gt22 = PDstandardNthfdOrder813(>22[index]); + PDstandardNth23gt22 = PDstandardNthfdOrder823(>22[index]); + PDstandardNth1gt23 = PDstandardNthfdOrder81(>23[index]); + PDstandardNth2gt23 = PDstandardNthfdOrder82(>23[index]); + PDstandardNth3gt23 = PDstandardNthfdOrder83(>23[index]); + PDstandardNth11gt23 = PDstandardNthfdOrder811(>23[index]); + PDstandardNth22gt23 = PDstandardNthfdOrder822(>23[index]); + PDstandardNth33gt23 = PDstandardNthfdOrder833(>23[index]); + PDstandardNth12gt23 = PDstandardNthfdOrder812(>23[index]); + PDstandardNth13gt23 = PDstandardNthfdOrder813(>23[index]); + PDstandardNth23gt23 = PDstandardNthfdOrder823(>23[index]); + PDstandardNth1gt33 = PDstandardNthfdOrder81(>33[index]); + PDstandardNth2gt33 = PDstandardNthfdOrder82(>33[index]); + PDstandardNth3gt33 = PDstandardNthfdOrder83(>33[index]); + PDstandardNth11gt33 = PDstandardNthfdOrder811(>33[index]); + PDstandardNth22gt33 = PDstandardNthfdOrder822(>33[index]); + PDstandardNth33gt33 = PDstandardNthfdOrder833(>33[index]); + PDstandardNth12gt33 = PDstandardNthfdOrder812(>33[index]); + PDstandardNth13gt33 = PDstandardNthfdOrder813(>33[index]); + PDstandardNth23gt33 = PDstandardNthfdOrder823(>33[index]); + PDstandardNth1phi = PDstandardNthfdOrder81(&phi[index]); + PDstandardNth2phi = PDstandardNthfdOrder82(&phi[index]); + PDstandardNth3phi = PDstandardNthfdOrder83(&phi[index]); + PDstandardNth11phi = PDstandardNthfdOrder811(&phi[index]); + PDstandardNth22phi = PDstandardNthfdOrder822(&phi[index]); + PDstandardNth33phi = PDstandardNthfdOrder833(&phi[index]); + PDstandardNth12phi = PDstandardNthfdOrder812(&phi[index]); + PDstandardNth13phi = PDstandardNthfdOrder813(&phi[index]); + PDstandardNth23phi = PDstandardNthfdOrder823(&phi[index]); + PDstandardNth1trK = PDstandardNthfdOrder81(&trK[index]); + PDstandardNth2trK = PDstandardNthfdOrder82(&trK[index]); + PDstandardNth3trK = PDstandardNthfdOrder83(&trK[index]); + PDstandardNth1Xt1 = PDstandardNthfdOrder81(&Xt1[index]); + PDstandardNth2Xt1 = PDstandardNthfdOrder82(&Xt1[index]); + PDstandardNth3Xt1 = PDstandardNthfdOrder83(&Xt1[index]); + PDstandardNth1Xt2 = PDstandardNthfdOrder81(&Xt2[index]); + PDstandardNth2Xt2 = PDstandardNthfdOrder82(&Xt2[index]); + PDstandardNth3Xt2 = PDstandardNthfdOrder83(&Xt2[index]); + PDstandardNth1Xt3 = PDstandardNthfdOrder81(&Xt3[index]); + PDstandardNth2Xt3 = PDstandardNthfdOrder82(&Xt3[index]); + PDstandardNth3Xt3 = PDstandardNthfdOrder83(&Xt3[index]); + break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); + } + + double xx = x[index]; + int origin = fabs(xx) < 1e-8; + + PDstandardNth2trK = 0; + PDstandardNth2alpha = 0; + PDstandardNth22alpha = origin ? PDstandardNth11alpha : PDstandardNth1alpha / xx; + PDstandardNth12alpha = 0; + PDstandardNth23alpha = 0; + + PDstandardNth2beta1 = 0; + PDstandardNth22beta1 = origin ? PDstandardNth11beta1 / 2 : PDstandardNth1beta1 / xx - beta1[index] / (xx * xx); + PDstandardNth12beta1 = 0; + PDstandardNth23beta1 = 0; + PDstandardNth2beta2 = origin ? PDstandardNth1beta1 : beta1[index] / xx; + PDstandardNth22beta2 = 0; + PDstandardNth12beta2 = origin ? PDstandardNth11beta1 / 2 : PDstandardNth1beta1 / xx - beta1[index] / (xx * xx); + PDstandardNth23beta2 = origin ? PDstandardNth13beta1 : PDstandardNth3beta1 / xx; + PDstandardNth2beta3 = 0; + PDstandardNth22beta3 = origin ? PDstandardNth11beta3 : PDstandardNth1beta3 / xx; + PDstandardNth12beta3 = 0; + PDstandardNth23beta3 = 0; + + PDstandardNth2gt11 = 0; + PDstandardNth22gt11 = origin ? PDstandardNth11gt22 : PDstandardNth1gt11 / xx - 2 * (gt11[index] - gt22[index]) / (xx * xx); + PDstandardNth12gt11 = 0; + PDstandardNth23gt11 = 0; + PDstandardNth2gt12 = origin ? PDstandardNth1gt11 - PDstandardNth1gt22 : (gt11[index] - gt22[index]) / xx; + PDstandardNth22gt12 = 0; + PDstandardNth12gt12 = origin ? (PDstandardNth11gt11 - PDstandardNth11gt22) / 2 : (PDstandardNth1gt11 - PDstandardNth1gt22) / xx - (gt11[index] - gt22[index]) / (xx * xx); + PDstandardNth23gt12 = origin ? PDstandardNth13gt11 - PDstandardNth13gt22 : (PDstandardNth3gt11 - PDstandardNth3gt22) / xx; + PDstandardNth2gt13 = 0; + PDstandardNth22gt13 = origin ? PDstandardNth11gt13 / 2 : PDstandardNth1gt13 / xx - gt13[index] / (xx * xx); + PDstandardNth12gt13 = 0; + PDstandardNth23gt13 = 0; + PDstandardNth2gt22 = 0; + PDstandardNth22gt22 = origin ? PDstandardNth11gt11 : PDstandardNth1gt22 / xx + 2 * (gt11[index] - gt22[index]) / (xx * xx); + PDstandardNth12gt22 = 0; + PDstandardNth23gt22 = 0; + PDstandardNth2gt23 = origin ? PDstandardNth1gt13 : gt13[index] / xx; + PDstandardNth22gt23 = 0; + PDstandardNth12gt23 = origin ? PDstandardNth11gt13 / 2 : PDstandardNth1gt13 / xx - gt13[index] / (xx * xx); + PDstandardNth23gt23 = origin ? PDstandardNth13gt13 : PDstandardNth3gt13 / xx; + PDstandardNth2gt33 = 0; + PDstandardNth22gt33 = origin ? PDstandardNth11gt33 : PDstandardNth1gt33 / xx; + PDstandardNth12gt33 = 0; + PDstandardNth23gt33 = 0; + + PDstandardNth2phi = 0; + PDstandardNth22phi = origin ? PDstandardNth11phi : PDstandardNth1phi / xx; + PDstandardNth12phi = 0; + PDstandardNth23phi = 0; + PDstandardNth2trK = 0; + PDstandardNth2Xt1 = 0; + PDstandardNth2Xt2 = origin ? PDstandardNth1Xt1 : Xt1[index] / xx; + PDstandardNth2Xt3 = 0; + /* Calculate temporaries and grid functions */ + ptrdiff_t dir1 CCTK_ATTRIBUTE_UNUSED = kisgn(beta1L); + + ptrdiff_t dir2 CCTK_ATTRIBUTE_UNUSED = kisgn(beta2L); + + ptrdiff_t dir3 CCTK_ATTRIBUTE_UNUSED = kisgn(beta3L); + + CCTK_REAL_VEC JacPDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3beta1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3beta2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3beta3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED; + + if (use_jacobian) + { + JacPDstandardNth1alpha = + kmadd(J11L,PDstandardNth1alpha,kmadd(J21L,PDstandardNth2alpha,kmul(J31L,PDstandardNth3alpha))); + + JacPDstandardNth1beta1 = + kmadd(J11L,PDstandardNth1beta1,kmadd(J21L,PDstandardNth2beta1,kmul(J31L,PDstandardNth3beta1))); + + JacPDstandardNth1beta2 = + kmadd(J11L,PDstandardNth1beta2,kmadd(J21L,PDstandardNth2beta2,kmul(J31L,PDstandardNth3beta2))); + + JacPDstandardNth1beta3 = + kmadd(J11L,PDstandardNth1beta3,kmadd(J21L,PDstandardNth2beta3,kmul(J31L,PDstandardNth3beta3))); + + JacPDstandardNth1gt11 = + kmadd(J11L,PDstandardNth1gt11,kmadd(J21L,PDstandardNth2gt11,kmul(J31L,PDstandardNth3gt11))); + + JacPDstandardNth1gt12 = + kmadd(J11L,PDstandardNth1gt12,kmadd(J21L,PDstandardNth2gt12,kmul(J31L,PDstandardNth3gt12))); + + JacPDstandardNth1gt13 = + kmadd(J11L,PDstandardNth1gt13,kmadd(J21L,PDstandardNth2gt13,kmul(J31L,PDstandardNth3gt13))); + + JacPDstandardNth1gt22 = + kmadd(J11L,PDstandardNth1gt22,kmadd(J21L,PDstandardNth2gt22,kmul(J31L,PDstandardNth3gt22))); + + JacPDstandardNth1gt23 = + kmadd(J11L,PDstandardNth1gt23,kmadd(J21L,PDstandardNth2gt23,kmul(J31L,PDstandardNth3gt23))); + + JacPDstandardNth1gt33 = + kmadd(J11L,PDstandardNth1gt33,kmadd(J21L,PDstandardNth2gt33,kmul(J31L,PDstandardNth3gt33))); + + JacPDstandardNth1phi = + kmadd(J11L,PDstandardNth1phi,kmadd(J21L,PDstandardNth2phi,kmul(J31L,PDstandardNth3phi))); + + JacPDstandardNth1trK = + kmadd(J11L,PDstandardNth1trK,kmadd(J21L,PDstandardNth2trK,kmul(J31L,PDstandardNth3trK))); + + JacPDstandardNth1Xt1 = + kmadd(J11L,PDstandardNth1Xt1,kmadd(J21L,PDstandardNth2Xt1,kmul(J31L,PDstandardNth3Xt1))); + + JacPDstandardNth1Xt2 = + kmadd(J11L,PDstandardNth1Xt2,kmadd(J21L,PDstandardNth2Xt2,kmul(J31L,PDstandardNth3Xt2))); + + JacPDstandardNth1Xt3 = + kmadd(J11L,PDstandardNth1Xt3,kmadd(J21L,PDstandardNth2Xt3,kmul(J31L,PDstandardNth3Xt3))); + + JacPDstandardNth2alpha = + kmadd(J12L,PDstandardNth1alpha,kmadd(J22L,PDstandardNth2alpha,kmul(J32L,PDstandardNth3alpha))); + + JacPDstandardNth2beta1 = + kmadd(J12L,PDstandardNth1beta1,kmadd(J22L,PDstandardNth2beta1,kmul(J32L,PDstandardNth3beta1))); + + JacPDstandardNth2beta2 = + kmadd(J12L,PDstandardNth1beta2,kmadd(J22L,PDstandardNth2beta2,kmul(J32L,PDstandardNth3beta2))); + + JacPDstandardNth2beta3 = + kmadd(J12L,PDstandardNth1beta3,kmadd(J22L,PDstandardNth2beta3,kmul(J32L,PDstandardNth3beta3))); + + JacPDstandardNth2gt11 = + kmadd(J12L,PDstandardNth1gt11,kmadd(J22L,PDstandardNth2gt11,kmul(J32L,PDstandardNth3gt11))); + + JacPDstandardNth2gt12 = + kmadd(J12L,PDstandardNth1gt12,kmadd(J22L,PDstandardNth2gt12,kmul(J32L,PDstandardNth3gt12))); + + JacPDstandardNth2gt13 = + kmadd(J12L,PDstandardNth1gt13,kmadd(J22L,PDstandardNth2gt13,kmul(J32L,PDstandardNth3gt13))); + + JacPDstandardNth2gt22 = + kmadd(J12L,PDstandardNth1gt22,kmadd(J22L,PDstandardNth2gt22,kmul(J32L,PDstandardNth3gt22))); + + JacPDstandardNth2gt23 = + kmadd(J12L,PDstandardNth1gt23,kmadd(J22L,PDstandardNth2gt23,kmul(J32L,PDstandardNth3gt23))); + + JacPDstandardNth2gt33 = + kmadd(J12L,PDstandardNth1gt33,kmadd(J22L,PDstandardNth2gt33,kmul(J32L,PDstandardNth3gt33))); + + JacPDstandardNth2phi = + kmadd(J12L,PDstandardNth1phi,kmadd(J22L,PDstandardNth2phi,kmul(J32L,PDstandardNth3phi))); + + JacPDstandardNth2trK = + kmadd(J12L,PDstandardNth1trK,kmadd(J22L,PDstandardNth2trK,kmul(J32L,PDstandardNth3trK))); + + JacPDstandardNth2Xt1 = + kmadd(J12L,PDstandardNth1Xt1,kmadd(J22L,PDstandardNth2Xt1,kmul(J32L,PDstandardNth3Xt1))); + + JacPDstandardNth2Xt2 = + kmadd(J12L,PDstandardNth1Xt2,kmadd(J22L,PDstandardNth2Xt2,kmul(J32L,PDstandardNth3Xt2))); + + JacPDstandardNth2Xt3 = + kmadd(J12L,PDstandardNth1Xt3,kmadd(J22L,PDstandardNth2Xt3,kmul(J32L,PDstandardNth3Xt3))); + + JacPDstandardNth3alpha = + kmadd(J13L,PDstandardNth1alpha,kmadd(J23L,PDstandardNth2alpha,kmul(J33L,PDstandardNth3alpha))); + + JacPDstandardNth3beta1 = + kmadd(J13L,PDstandardNth1beta1,kmadd(J23L,PDstandardNth2beta1,kmul(J33L,PDstandardNth3beta1))); + + JacPDstandardNth3beta2 = + kmadd(J13L,PDstandardNth1beta2,kmadd(J23L,PDstandardNth2beta2,kmul(J33L,PDstandardNth3beta2))); + + JacPDstandardNth3beta3 = + kmadd(J13L,PDstandardNth1beta3,kmadd(J23L,PDstandardNth2beta3,kmul(J33L,PDstandardNth3beta3))); + + JacPDstandardNth3gt11 = + kmadd(J13L,PDstandardNth1gt11,kmadd(J23L,PDstandardNth2gt11,kmul(J33L,PDstandardNth3gt11))); + + JacPDstandardNth3gt12 = + kmadd(J13L,PDstandardNth1gt12,kmadd(J23L,PDstandardNth2gt12,kmul(J33L,PDstandardNth3gt12))); + + JacPDstandardNth3gt13 = + kmadd(J13L,PDstandardNth1gt13,kmadd(J23L,PDstandardNth2gt13,kmul(J33L,PDstandardNth3gt13))); + + JacPDstandardNth3gt22 = + kmadd(J13L,PDstandardNth1gt22,kmadd(J23L,PDstandardNth2gt22,kmul(J33L,PDstandardNth3gt22))); + + JacPDstandardNth3gt23 = + kmadd(J13L,PDstandardNth1gt23,kmadd(J23L,PDstandardNth2gt23,kmul(J33L,PDstandardNth3gt23))); + + JacPDstandardNth3gt33 = + kmadd(J13L,PDstandardNth1gt33,kmadd(J23L,PDstandardNth2gt33,kmul(J33L,PDstandardNth3gt33))); + + JacPDstandardNth3phi = + kmadd(J13L,PDstandardNth1phi,kmadd(J23L,PDstandardNth2phi,kmul(J33L,PDstandardNth3phi))); + + JacPDstandardNth3trK = + kmadd(J13L,PDstandardNth1trK,kmadd(J23L,PDstandardNth2trK,kmul(J33L,PDstandardNth3trK))); + + JacPDstandardNth3Xt1 = + kmadd(J13L,PDstandardNth1Xt1,kmadd(J23L,PDstandardNth2Xt1,kmul(J33L,PDstandardNth3Xt1))); + + JacPDstandardNth3Xt2 = + kmadd(J13L,PDstandardNth1Xt2,kmadd(J23L,PDstandardNth2Xt2,kmul(J33L,PDstandardNth3Xt2))); + + JacPDstandardNth3Xt3 = + kmadd(J13L,PDstandardNth1Xt3,kmadd(J23L,PDstandardNth2Xt3,kmul(J33L,PDstandardNth3Xt3))); + + JacPDstandardNth11alpha = + kmadd(dJ111L,PDstandardNth1alpha,kmadd(dJ211L,PDstandardNth2alpha,kmadd(dJ311L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,kmul(J11L,J11L),kmadd(PDstandardNth22alpha,kmul(J21L,J21L),kmadd(PDstandardNth33alpha,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha)),kmul(J21L,kmul(J31L,PDstandardNth23alpha))),ToReal(2)))))))); + + JacPDstandardNth11beta1 = + kmadd(dJ111L,PDstandardNth1beta1,kmadd(dJ211L,PDstandardNth2beta1,kmadd(dJ311L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J11L,J11L),kmadd(PDstandardNth22beta1,kmul(J21L,J21L),kmadd(PDstandardNth33beta1,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1)),kmul(J21L,kmul(J31L,PDstandardNth23beta1))),ToReal(2)))))))); + + JacPDstandardNth11beta2 = + kmadd(dJ111L,PDstandardNth1beta2,kmadd(dJ211L,PDstandardNth2beta2,kmadd(dJ311L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J11L,J11L),kmadd(PDstandardNth22beta2,kmul(J21L,J21L),kmadd(PDstandardNth33beta2,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2)),kmul(J21L,kmul(J31L,PDstandardNth23beta2))),ToReal(2)))))))); + + JacPDstandardNth11beta3 = + kmadd(dJ111L,PDstandardNth1beta3,kmadd(dJ211L,PDstandardNth2beta3,kmadd(dJ311L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J11L,J11L),kmadd(PDstandardNth22beta3,kmul(J21L,J21L),kmadd(PDstandardNth33beta3,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3)),kmul(J21L,kmul(J31L,PDstandardNth23beta3))),ToReal(2)))))))); + + JacPDstandardNth11gt11 = + kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J11L,J11L),kmadd(PDstandardNth22gt11,kmul(J21L,J21L),kmadd(PDstandardNth33gt11,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2)))))))); + + JacPDstandardNth11gt12 = + kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J11L,J11L),kmadd(PDstandardNth22gt12,kmul(J21L,J21L),kmadd(PDstandardNth33gt12,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2)))))))); + + JacPDstandardNth11gt13 = + kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J11L,J11L),kmadd(PDstandardNth22gt13,kmul(J21L,J21L),kmadd(PDstandardNth33gt13,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2)))))))); + + JacPDstandardNth11gt22 = + kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J11L,J11L),kmadd(PDstandardNth22gt22,kmul(J21L,J21L),kmadd(PDstandardNth33gt22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2)))))))); + + JacPDstandardNth11gt23 = + kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J11L,J11L),kmadd(PDstandardNth22gt23,kmul(J21L,J21L),kmadd(PDstandardNth33gt23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2)))))))); + + JacPDstandardNth11gt33 = + kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J11L,J11L),kmadd(PDstandardNth22gt33,kmul(J21L,J21L),kmadd(PDstandardNth33gt33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2)))))))); + + JacPDstandardNth11phi = + kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J11L,J11L),kmadd(PDstandardNth22phi,kmul(J21L,J21L),kmadd(PDstandardNth33phi,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2)))))))); + + JacPDstandardNth22alpha = + kmadd(dJ122L,PDstandardNth1alpha,kmadd(dJ222L,PDstandardNth2alpha,kmadd(dJ322L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,kmul(J12L,J12L),kmadd(PDstandardNth22alpha,kmul(J22L,J22L),kmadd(PDstandardNth33alpha,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmul(J22L,kmul(J32L,PDstandardNth23alpha))),ToReal(2)))))))); + + JacPDstandardNth22beta1 = + kmadd(dJ122L,PDstandardNth1beta1,kmadd(dJ222L,PDstandardNth2beta1,kmadd(dJ322L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J12L,J12L),kmadd(PDstandardNth22beta1,kmul(J22L,J22L),kmadd(PDstandardNth33beta1,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmul(J22L,kmul(J32L,PDstandardNth23beta1))),ToReal(2)))))))); + + JacPDstandardNth22beta2 = + kmadd(dJ122L,PDstandardNth1beta2,kmadd(dJ222L,PDstandardNth2beta2,kmadd(dJ322L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J12L,J12L),kmadd(PDstandardNth22beta2,kmul(J22L,J22L),kmadd(PDstandardNth33beta2,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2)),kmul(J22L,kmul(J32L,PDstandardNth23beta2))),ToReal(2)))))))); + + JacPDstandardNth22beta3 = + kmadd(dJ122L,PDstandardNth1beta3,kmadd(dJ222L,PDstandardNth2beta3,kmadd(dJ322L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J12L,J12L),kmadd(PDstandardNth22beta3,kmul(J22L,J22L),kmadd(PDstandardNth33beta3,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmul(J22L,kmul(J32L,PDstandardNth23beta3))),ToReal(2)))))))); + + JacPDstandardNth22gt11 = + kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J12L,J12L),kmadd(PDstandardNth22gt11,kmul(J22L,J22L),kmadd(PDstandardNth33gt11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2)))))))); + + JacPDstandardNth22gt12 = + kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J12L,J12L),kmadd(PDstandardNth22gt12,kmul(J22L,J22L),kmadd(PDstandardNth33gt12,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2)))))))); + + JacPDstandardNth22gt13 = + kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J12L,J12L),kmadd(PDstandardNth22gt13,kmul(J22L,J22L),kmadd(PDstandardNth33gt13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2)))))))); + + JacPDstandardNth22gt22 = + kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J12L,J12L),kmadd(PDstandardNth22gt22,kmul(J22L,J22L),kmadd(PDstandardNth33gt22,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2)))))))); + + JacPDstandardNth22gt23 = + kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J12L,J12L),kmadd(PDstandardNth22gt23,kmul(J22L,J22L),kmadd(PDstandardNth33gt23,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2)))))))); + + JacPDstandardNth22gt33 = + kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J12L,J12L),kmadd(PDstandardNth22gt33,kmul(J22L,J22L),kmadd(PDstandardNth33gt33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2)))))))); + + JacPDstandardNth22phi = + kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J12L,J12L),kmadd(PDstandardNth22phi,kmul(J22L,J22L),kmadd(PDstandardNth33phi,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2)))))))); + + JacPDstandardNth33alpha = + kmadd(dJ133L,PDstandardNth1alpha,kmadd(dJ233L,PDstandardNth2alpha,kmadd(dJ333L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,kmul(J13L,J13L),kmadd(PDstandardNth22alpha,kmul(J23L,J23L),kmadd(PDstandardNth33alpha,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmul(J23L,kmul(J33L,PDstandardNth23alpha))),ToReal(2)))))))); + + JacPDstandardNth33beta1 = + kmadd(dJ133L,PDstandardNth1beta1,kmadd(dJ233L,PDstandardNth2beta1,kmadd(dJ333L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J13L,J13L),kmadd(PDstandardNth22beta1,kmul(J23L,J23L),kmadd(PDstandardNth33beta1,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmul(J23L,kmul(J33L,PDstandardNth23beta1))),ToReal(2)))))))); + + JacPDstandardNth33beta2 = + kmadd(dJ133L,PDstandardNth1beta2,kmadd(dJ233L,PDstandardNth2beta2,kmadd(dJ333L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,kmul(J13L,J13L),kmadd(PDstandardNth22beta2,kmul(J23L,J23L),kmadd(PDstandardNth33beta2,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmul(J23L,kmul(J33L,PDstandardNth23beta2))),ToReal(2)))))))); + + JacPDstandardNth33beta3 = + kmadd(dJ133L,PDstandardNth1beta3,kmadd(dJ233L,PDstandardNth2beta3,kmadd(dJ333L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J13L,J13L),kmadd(PDstandardNth22beta3,kmul(J23L,J23L),kmadd(PDstandardNth33beta3,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmul(J23L,kmul(J33L,PDstandardNth23beta3))),ToReal(2)))))))); + + JacPDstandardNth33gt11 = + kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J13L,J13L),kmadd(PDstandardNth22gt11,kmul(J23L,J23L),kmadd(PDstandardNth33gt11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2)))))))); + + JacPDstandardNth33gt12 = + kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J13L,J13L),kmadd(PDstandardNth22gt12,kmul(J23L,J23L),kmadd(PDstandardNth33gt12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2)))))))); + + JacPDstandardNth33gt13 = + kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J13L,J13L),kmadd(PDstandardNth22gt13,kmul(J23L,J23L),kmadd(PDstandardNth33gt13,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2)))))))); + + JacPDstandardNth33gt22 = + kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J13L,J13L),kmadd(PDstandardNth22gt22,kmul(J23L,J23L),kmadd(PDstandardNth33gt22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2)))))))); + + JacPDstandardNth33gt23 = + kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J13L,J13L),kmadd(PDstandardNth22gt23,kmul(J23L,J23L),kmadd(PDstandardNth33gt23,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2)))))))); + + JacPDstandardNth33gt33 = + kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J13L,J13L),kmadd(PDstandardNth22gt33,kmul(J23L,J23L),kmadd(PDstandardNth33gt33,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2)))))))); + + JacPDstandardNth33phi = + kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J13L,J13L),kmadd(PDstandardNth22phi,kmul(J23L,J23L),kmadd(PDstandardNth33phi,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2)))))))); + + JacPDstandardNth12alpha = + kmadd(J12L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmadd(dJ112L,PDstandardNth1alpha,kmadd(J22L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ212L,PDstandardNth2alpha,kmadd(J32L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ312L,PDstandardNth3alpha))))))); + + JacPDstandardNth12beta1 = + kmadd(J12L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmadd(dJ112L,PDstandardNth1beta1,kmadd(J22L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ212L,PDstandardNth2beta1,kmadd(J32L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ312L,PDstandardNth3beta1))))))); + + JacPDstandardNth12beta2 = + kmadd(J12L,kmadd(J11L,PDstandardNth11beta2,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2)),kmadd(dJ112L,PDstandardNth1beta2,kmadd(J22L,kmadd(J21L,PDstandardNth22beta2,kmul(J31L,PDstandardNth23beta2)),kmadd(dJ212L,PDstandardNth2beta2,kmadd(J32L,kmadd(J21L,PDstandardNth23beta2,kmul(J31L,PDstandardNth33beta2)),kmul(dJ312L,PDstandardNth3beta2))))))); + + JacPDstandardNth12beta3 = + kmadd(J12L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmadd(dJ112L,PDstandardNth1beta3,kmadd(J22L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ212L,PDstandardNth2beta3,kmadd(J32L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ312L,PDstandardNth3beta3))))))); + + JacPDstandardNth12gt11 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmadd(dJ112L,PDstandardNth1gt11,kmadd(J22L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ212L,PDstandardNth2gt11,kmadd(J32L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ312L,PDstandardNth3gt11))))))); + + JacPDstandardNth12gt12 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmadd(dJ112L,PDstandardNth1gt12,kmadd(J22L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ212L,PDstandardNth2gt12,kmadd(J32L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ312L,PDstandardNth3gt12))))))); + + JacPDstandardNth12gt13 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmadd(dJ112L,PDstandardNth1gt13,kmadd(J22L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ212L,PDstandardNth2gt13,kmadd(J32L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ312L,PDstandardNth3gt13))))))); + + JacPDstandardNth12gt22 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmadd(dJ112L,PDstandardNth1gt22,kmadd(J22L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ212L,PDstandardNth2gt22,kmadd(J32L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ312L,PDstandardNth3gt22))))))); + + JacPDstandardNth12gt23 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmadd(dJ112L,PDstandardNth1gt23,kmadd(J22L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ212L,PDstandardNth2gt23,kmadd(J32L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ312L,PDstandardNth3gt23))))))); + + JacPDstandardNth12gt33 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmadd(dJ112L,PDstandardNth1gt33,kmadd(J22L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ212L,PDstandardNth2gt33,kmadd(J32L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ312L,PDstandardNth3gt33))))))); + + JacPDstandardNth12phi = + kmadd(J12L,kmadd(J11L,PDstandardNth11phi,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi))),kmadd(J11L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmadd(dJ112L,PDstandardNth1phi,kmadd(J22L,kmadd(J21L,PDstandardNth22phi,kmul(J31L,PDstandardNth23phi)),kmadd(dJ212L,PDstandardNth2phi,kmadd(J32L,kmadd(J21L,PDstandardNth23phi,kmul(J31L,PDstandardNth33phi)),kmul(dJ312L,PDstandardNth3phi))))))); + + JacPDstandardNth13alpha = + kmadd(J13L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ113L,PDstandardNth1alpha,kmadd(J23L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ213L,PDstandardNth2alpha,kmadd(J33L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ313L,PDstandardNth3alpha))))))); + + JacPDstandardNth13beta1 = + kmadd(J13L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ113L,PDstandardNth1beta1,kmadd(J23L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ213L,PDstandardNth2beta1,kmadd(J33L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ313L,PDstandardNth3beta1))))))); + + JacPDstandardNth13beta2 = + kmadd(J13L,kmadd(J11L,PDstandardNth11beta2,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmadd(dJ113L,PDstandardNth1beta2,kmadd(J23L,kmadd(J21L,PDstandardNth22beta2,kmul(J31L,PDstandardNth23beta2)),kmadd(dJ213L,PDstandardNth2beta2,kmadd(J33L,kmadd(J21L,PDstandardNth23beta2,kmul(J31L,PDstandardNth33beta2)),kmul(dJ313L,PDstandardNth3beta2))))))); + + JacPDstandardNth13beta3 = + kmadd(J13L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmadd(dJ113L,PDstandardNth1beta3,kmadd(J23L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ213L,PDstandardNth2beta3,kmadd(J33L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ313L,PDstandardNth3beta3))))))); + + JacPDstandardNth13gt11 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ113L,PDstandardNth1gt11,kmadd(J23L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ213L,PDstandardNth2gt11,kmadd(J33L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ313L,PDstandardNth3gt11))))))); + + JacPDstandardNth13gt12 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ113L,PDstandardNth1gt12,kmadd(J23L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ213L,PDstandardNth2gt12,kmadd(J33L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ313L,PDstandardNth3gt12))))))); + + JacPDstandardNth13gt13 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ113L,PDstandardNth1gt13,kmadd(J23L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ213L,PDstandardNth2gt13,kmadd(J33L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ313L,PDstandardNth3gt13))))))); + + JacPDstandardNth13gt22 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ113L,PDstandardNth1gt22,kmadd(J23L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ213L,PDstandardNth2gt22,kmadd(J33L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ313L,PDstandardNth3gt22))))))); + + JacPDstandardNth13gt23 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ113L,PDstandardNth1gt23,kmadd(J23L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ213L,PDstandardNth2gt23,kmadd(J33L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ313L,PDstandardNth3gt23))))))); + + JacPDstandardNth13gt33 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ113L,PDstandardNth1gt33,kmadd(J23L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ213L,PDstandardNth2gt33,kmadd(J33L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ313L,PDstandardNth3gt33))))))); + + JacPDstandardNth13phi = + kmadd(J13L,kmadd(J11L,PDstandardNth11phi,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi))),kmadd(J11L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmadd(dJ113L,PDstandardNth1phi,kmadd(J23L,kmadd(J21L,PDstandardNth22phi,kmul(J31L,PDstandardNth23phi)),kmadd(dJ213L,PDstandardNth2phi,kmadd(J33L,kmadd(J21L,PDstandardNth23phi,kmul(J31L,PDstandardNth33phi)),kmul(dJ313L,PDstandardNth3phi))))))); + + JacPDstandardNth21alpha = + kmadd(J12L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmadd(dJ112L,PDstandardNth1alpha,kmadd(J22L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ212L,PDstandardNth2alpha,kmadd(J32L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ312L,PDstandardNth3alpha))))))); + + JacPDstandardNth21beta1 = + kmadd(J12L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmadd(dJ112L,PDstandardNth1beta1,kmadd(J22L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ212L,PDstandardNth2beta1,kmadd(J32L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ312L,PDstandardNth3beta1))))))); + + JacPDstandardNth21beta2 = + kmadd(J12L,kmadd(J11L,PDstandardNth11beta2,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2)),kmadd(dJ112L,PDstandardNth1beta2,kmadd(J22L,kmadd(J21L,PDstandardNth22beta2,kmul(J31L,PDstandardNth23beta2)),kmadd(dJ212L,PDstandardNth2beta2,kmadd(J32L,kmadd(J21L,PDstandardNth23beta2,kmul(J31L,PDstandardNth33beta2)),kmul(dJ312L,PDstandardNth3beta2))))))); + + JacPDstandardNth21beta3 = + kmadd(J12L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmadd(dJ112L,PDstandardNth1beta3,kmadd(J22L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ212L,PDstandardNth2beta3,kmadd(J32L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ312L,PDstandardNth3beta3))))))); + + JacPDstandardNth21gt11 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmadd(dJ112L,PDstandardNth1gt11,kmadd(J22L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ212L,PDstandardNth2gt11,kmadd(J32L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ312L,PDstandardNth3gt11))))))); + + JacPDstandardNth21gt12 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmadd(dJ112L,PDstandardNth1gt12,kmadd(J22L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ212L,PDstandardNth2gt12,kmadd(J32L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ312L,PDstandardNth3gt12))))))); + + JacPDstandardNth21gt13 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmadd(dJ112L,PDstandardNth1gt13,kmadd(J22L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ212L,PDstandardNth2gt13,kmadd(J32L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ312L,PDstandardNth3gt13))))))); + + JacPDstandardNth21gt22 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmadd(dJ112L,PDstandardNth1gt22,kmadd(J22L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ212L,PDstandardNth2gt22,kmadd(J32L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ312L,PDstandardNth3gt22))))))); + + JacPDstandardNth21gt23 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmadd(dJ112L,PDstandardNth1gt23,kmadd(J22L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ212L,PDstandardNth2gt23,kmadd(J32L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ312L,PDstandardNth3gt23))))))); + + JacPDstandardNth21gt33 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmadd(dJ112L,PDstandardNth1gt33,kmadd(J22L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ212L,PDstandardNth2gt33,kmadd(J32L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ312L,PDstandardNth3gt33))))))); + + JacPDstandardNth23alpha = + kmadd(J13L,kmadd(J12L,PDstandardNth11alpha,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha))),kmadd(J12L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ123L,PDstandardNth1alpha,kmadd(J23L,kmadd(J22L,PDstandardNth22alpha,kmul(J32L,PDstandardNth23alpha)),kmadd(dJ223L,PDstandardNth2alpha,kmadd(J33L,kmadd(J22L,PDstandardNth23alpha,kmul(J32L,PDstandardNth33alpha)),kmul(dJ323L,PDstandardNth3alpha))))))); + + JacPDstandardNth23beta1 = + kmadd(J13L,kmadd(J12L,PDstandardNth11beta1,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ123L,PDstandardNth1beta1,kmadd(J23L,kmadd(J22L,PDstandardNth22beta1,kmul(J32L,PDstandardNth23beta1)),kmadd(dJ223L,PDstandardNth2beta1,kmadd(J33L,kmadd(J22L,PDstandardNth23beta1,kmul(J32L,PDstandardNth33beta1)),kmul(dJ323L,PDstandardNth3beta1))))))); + + JacPDstandardNth23beta2 = + kmadd(J13L,kmadd(J12L,PDstandardNth11beta2,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmadd(dJ123L,PDstandardNth1beta2,kmadd(J23L,kmadd(J22L,PDstandardNth22beta2,kmul(J32L,PDstandardNth23beta2)),kmadd(dJ223L,PDstandardNth2beta2,kmadd(J33L,kmadd(J22L,PDstandardNth23beta2,kmul(J32L,PDstandardNth33beta2)),kmul(dJ323L,PDstandardNth3beta2))))))); + + JacPDstandardNth23beta3 = + kmadd(J13L,kmadd(J12L,PDstandardNth11beta3,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmadd(dJ123L,PDstandardNth1beta3,kmadd(J23L,kmadd(J22L,PDstandardNth22beta3,kmul(J32L,PDstandardNth23beta3)),kmadd(dJ223L,PDstandardNth2beta3,kmadd(J33L,kmadd(J22L,PDstandardNth23beta3,kmul(J32L,PDstandardNth33beta3)),kmul(dJ323L,PDstandardNth3beta3))))))); + + JacPDstandardNth23gt11 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt11,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ123L,PDstandardNth1gt11,kmadd(J23L,kmadd(J22L,PDstandardNth22gt11,kmul(J32L,PDstandardNth23gt11)),kmadd(dJ223L,PDstandardNth2gt11,kmadd(J33L,kmadd(J22L,PDstandardNth23gt11,kmul(J32L,PDstandardNth33gt11)),kmul(dJ323L,PDstandardNth3gt11))))))); + + JacPDstandardNth23gt12 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt12,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ123L,PDstandardNth1gt12,kmadd(J23L,kmadd(J22L,PDstandardNth22gt12,kmul(J32L,PDstandardNth23gt12)),kmadd(dJ223L,PDstandardNth2gt12,kmadd(J33L,kmadd(J22L,PDstandardNth23gt12,kmul(J32L,PDstandardNth33gt12)),kmul(dJ323L,PDstandardNth3gt12))))))); + + JacPDstandardNth23gt13 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt13,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ123L,PDstandardNth1gt13,kmadd(J23L,kmadd(J22L,PDstandardNth22gt13,kmul(J32L,PDstandardNth23gt13)),kmadd(dJ223L,PDstandardNth2gt13,kmadd(J33L,kmadd(J22L,PDstandardNth23gt13,kmul(J32L,PDstandardNth33gt13)),kmul(dJ323L,PDstandardNth3gt13))))))); + + JacPDstandardNth23gt22 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt22,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ123L,PDstandardNth1gt22,kmadd(J23L,kmadd(J22L,PDstandardNth22gt22,kmul(J32L,PDstandardNth23gt22)),kmadd(dJ223L,PDstandardNth2gt22,kmadd(J33L,kmadd(J22L,PDstandardNth23gt22,kmul(J32L,PDstandardNth33gt22)),kmul(dJ323L,PDstandardNth3gt22))))))); + + JacPDstandardNth23gt23 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt23,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ123L,PDstandardNth1gt23,kmadd(J23L,kmadd(J22L,PDstandardNth22gt23,kmul(J32L,PDstandardNth23gt23)),kmadd(dJ223L,PDstandardNth2gt23,kmadd(J33L,kmadd(J22L,PDstandardNth23gt23,kmul(J32L,PDstandardNth33gt23)),kmul(dJ323L,PDstandardNth3gt23))))))); + + JacPDstandardNth23gt33 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt33,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ123L,PDstandardNth1gt33,kmadd(J23L,kmadd(J22L,PDstandardNth22gt33,kmul(J32L,PDstandardNth23gt33)),kmadd(dJ223L,PDstandardNth2gt33,kmadd(J33L,kmadd(J22L,PDstandardNth23gt33,kmul(J32L,PDstandardNth33gt33)),kmul(dJ323L,PDstandardNth3gt33))))))); + + JacPDstandardNth23phi = + kmadd(J13L,kmadd(J12L,PDstandardNth11phi,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi))),kmadd(J12L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmadd(dJ123L,PDstandardNth1phi,kmadd(J23L,kmadd(J22L,PDstandardNth22phi,kmul(J32L,PDstandardNth23phi)),kmadd(dJ223L,PDstandardNth2phi,kmadd(J33L,kmadd(J22L,PDstandardNth23phi,kmul(J32L,PDstandardNth33phi)),kmul(dJ323L,PDstandardNth3phi))))))); + + JacPDstandardNth31alpha = + kmadd(J13L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ113L,PDstandardNth1alpha,kmadd(J23L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ213L,PDstandardNth2alpha,kmadd(J33L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ313L,PDstandardNth3alpha))))))); + + JacPDstandardNth31beta1 = + kmadd(J13L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ113L,PDstandardNth1beta1,kmadd(J23L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ213L,PDstandardNth2beta1,kmadd(J33L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ313L,PDstandardNth3beta1))))))); + + JacPDstandardNth31beta2 = + kmadd(J13L,kmadd(J11L,PDstandardNth11beta2,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmadd(dJ113L,PDstandardNth1beta2,kmadd(J23L,kmadd(J21L,PDstandardNth22beta2,kmul(J31L,PDstandardNth23beta2)),kmadd(dJ213L,PDstandardNth2beta2,kmadd(J33L,kmadd(J21L,PDstandardNth23beta2,kmul(J31L,PDstandardNth33beta2)),kmul(dJ313L,PDstandardNth3beta2))))))); + + JacPDstandardNth31beta3 = + kmadd(J13L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmadd(dJ113L,PDstandardNth1beta3,kmadd(J23L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ213L,PDstandardNth2beta3,kmadd(J33L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ313L,PDstandardNth3beta3))))))); + + JacPDstandardNth31gt11 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ113L,PDstandardNth1gt11,kmadd(J23L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ213L,PDstandardNth2gt11,kmadd(J33L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ313L,PDstandardNth3gt11))))))); + + JacPDstandardNth31gt12 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ113L,PDstandardNth1gt12,kmadd(J23L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ213L,PDstandardNth2gt12,kmadd(J33L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ313L,PDstandardNth3gt12))))))); + + JacPDstandardNth31gt13 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ113L,PDstandardNth1gt13,kmadd(J23L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ213L,PDstandardNth2gt13,kmadd(J33L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ313L,PDstandardNth3gt13))))))); + + JacPDstandardNth31gt22 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ113L,PDstandardNth1gt22,kmadd(J23L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ213L,PDstandardNth2gt22,kmadd(J33L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ313L,PDstandardNth3gt22))))))); + + JacPDstandardNth31gt23 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ113L,PDstandardNth1gt23,kmadd(J23L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ213L,PDstandardNth2gt23,kmadd(J33L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ313L,PDstandardNth3gt23))))))); + + JacPDstandardNth31gt33 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ113L,PDstandardNth1gt33,kmadd(J23L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ213L,PDstandardNth2gt33,kmadd(J33L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ313L,PDstandardNth3gt33))))))); + + JacPDstandardNth32alpha = + kmadd(J13L,kmadd(J12L,PDstandardNth11alpha,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha))),kmadd(J12L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ123L,PDstandardNth1alpha,kmadd(J23L,kmadd(J22L,PDstandardNth22alpha,kmul(J32L,PDstandardNth23alpha)),kmadd(dJ223L,PDstandardNth2alpha,kmadd(J33L,kmadd(J22L,PDstandardNth23alpha,kmul(J32L,PDstandardNth33alpha)),kmul(dJ323L,PDstandardNth3alpha))))))); + + JacPDstandardNth32beta1 = + kmadd(J13L,kmadd(J12L,PDstandardNth11beta1,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ123L,PDstandardNth1beta1,kmadd(J23L,kmadd(J22L,PDstandardNth22beta1,kmul(J32L,PDstandardNth23beta1)),kmadd(dJ223L,PDstandardNth2beta1,kmadd(J33L,kmadd(J22L,PDstandardNth23beta1,kmul(J32L,PDstandardNth33beta1)),kmul(dJ323L,PDstandardNth3beta1))))))); + + JacPDstandardNth32beta2 = + kmadd(J13L,kmadd(J12L,PDstandardNth11beta2,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmadd(dJ123L,PDstandardNth1beta2,kmadd(J23L,kmadd(J22L,PDstandardNth22beta2,kmul(J32L,PDstandardNth23beta2)),kmadd(dJ223L,PDstandardNth2beta2,kmadd(J33L,kmadd(J22L,PDstandardNth23beta2,kmul(J32L,PDstandardNth33beta2)),kmul(dJ323L,PDstandardNth3beta2))))))); + + JacPDstandardNth32beta3 = + kmadd(J13L,kmadd(J12L,PDstandardNth11beta3,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmadd(dJ123L,PDstandardNth1beta3,kmadd(J23L,kmadd(J22L,PDstandardNth22beta3,kmul(J32L,PDstandardNth23beta3)),kmadd(dJ223L,PDstandardNth2beta3,kmadd(J33L,kmadd(J22L,PDstandardNth23beta3,kmul(J32L,PDstandardNth33beta3)),kmul(dJ323L,PDstandardNth3beta3))))))); + + JacPDstandardNth32gt11 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt11,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ123L,PDstandardNth1gt11,kmadd(J23L,kmadd(J22L,PDstandardNth22gt11,kmul(J32L,PDstandardNth23gt11)),kmadd(dJ223L,PDstandardNth2gt11,kmadd(J33L,kmadd(J22L,PDstandardNth23gt11,kmul(J32L,PDstandardNth33gt11)),kmul(dJ323L,PDstandardNth3gt11))))))); + + JacPDstandardNth32gt12 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt12,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ123L,PDstandardNth1gt12,kmadd(J23L,kmadd(J22L,PDstandardNth22gt12,kmul(J32L,PDstandardNth23gt12)),kmadd(dJ223L,PDstandardNth2gt12,kmadd(J33L,kmadd(J22L,PDstandardNth23gt12,kmul(J32L,PDstandardNth33gt12)),kmul(dJ323L,PDstandardNth3gt12))))))); + + JacPDstandardNth32gt13 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt13,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ123L,PDstandardNth1gt13,kmadd(J23L,kmadd(J22L,PDstandardNth22gt13,kmul(J32L,PDstandardNth23gt13)),kmadd(dJ223L,PDstandardNth2gt13,kmadd(J33L,kmadd(J22L,PDstandardNth23gt13,kmul(J32L,PDstandardNth33gt13)),kmul(dJ323L,PDstandardNth3gt13))))))); + + JacPDstandardNth32gt22 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt22,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ123L,PDstandardNth1gt22,kmadd(J23L,kmadd(J22L,PDstandardNth22gt22,kmul(J32L,PDstandardNth23gt22)),kmadd(dJ223L,PDstandardNth2gt22,kmadd(J33L,kmadd(J22L,PDstandardNth23gt22,kmul(J32L,PDstandardNth33gt22)),kmul(dJ323L,PDstandardNth3gt22))))))); + + JacPDstandardNth32gt23 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt23,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ123L,PDstandardNth1gt23,kmadd(J23L,kmadd(J22L,PDstandardNth22gt23,kmul(J32L,PDstandardNth23gt23)),kmadd(dJ223L,PDstandardNth2gt23,kmadd(J33L,kmadd(J22L,PDstandardNth23gt23,kmul(J32L,PDstandardNth33gt23)),kmul(dJ323L,PDstandardNth3gt23))))))); + + JacPDstandardNth32gt33 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt33,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ123L,PDstandardNth1gt33,kmadd(J23L,kmadd(J22L,PDstandardNth22gt33,kmul(J32L,PDstandardNth23gt33)),kmadd(dJ223L,PDstandardNth2gt33,kmadd(J33L,kmadd(J22L,PDstandardNth23gt33,kmul(J32L,PDstandardNth33gt33)),kmul(dJ323L,PDstandardNth3gt33))))))); + } + else + { + JacPDstandardNth1alpha = PDstandardNth1alpha; + + JacPDstandardNth1beta1 = PDstandardNth1beta1; + + JacPDstandardNth1beta2 = PDstandardNth1beta2; + + JacPDstandardNth1beta3 = PDstandardNth1beta3; + + JacPDstandardNth1gt11 = PDstandardNth1gt11; + + JacPDstandardNth1gt12 = PDstandardNth1gt12; + + JacPDstandardNth1gt13 = PDstandardNth1gt13; + + JacPDstandardNth1gt22 = PDstandardNth1gt22; + + JacPDstandardNth1gt23 = PDstandardNth1gt23; + + JacPDstandardNth1gt33 = PDstandardNth1gt33; + + JacPDstandardNth1phi = PDstandardNth1phi; + + JacPDstandardNth1trK = PDstandardNth1trK; + + JacPDstandardNth1Xt1 = PDstandardNth1Xt1; + + JacPDstandardNth1Xt2 = PDstandardNth1Xt2; + + JacPDstandardNth1Xt3 = PDstandardNth1Xt3; + + JacPDstandardNth2alpha = PDstandardNth2alpha; + + JacPDstandardNth2beta1 = PDstandardNth2beta1; + + JacPDstandardNth2beta2 = PDstandardNth2beta2; + + JacPDstandardNth2beta3 = PDstandardNth2beta3; + + JacPDstandardNth2gt11 = PDstandardNth2gt11; + + JacPDstandardNth2gt12 = PDstandardNth2gt12; + + JacPDstandardNth2gt13 = PDstandardNth2gt13; + + JacPDstandardNth2gt22 = PDstandardNth2gt22; + + JacPDstandardNth2gt23 = PDstandardNth2gt23; + + JacPDstandardNth2gt33 = PDstandardNth2gt33; + + JacPDstandardNth2phi = PDstandardNth2phi; + + JacPDstandardNth2trK = PDstandardNth2trK; + + JacPDstandardNth2Xt1 = PDstandardNth2Xt1; + + JacPDstandardNth2Xt2 = PDstandardNth2Xt2; + + JacPDstandardNth2Xt3 = PDstandardNth2Xt3; + + JacPDstandardNth3alpha = PDstandardNth3alpha; + + JacPDstandardNth3beta1 = PDstandardNth3beta1; + + JacPDstandardNth3beta2 = PDstandardNth3beta2; + + JacPDstandardNth3beta3 = PDstandardNth3beta3; + + JacPDstandardNth3gt11 = PDstandardNth3gt11; + + JacPDstandardNth3gt12 = PDstandardNth3gt12; + + JacPDstandardNth3gt13 = PDstandardNth3gt13; + + JacPDstandardNth3gt22 = PDstandardNth3gt22; + + JacPDstandardNth3gt23 = PDstandardNth3gt23; + + JacPDstandardNth3gt33 = PDstandardNth3gt33; + + JacPDstandardNth3phi = PDstandardNth3phi; + + JacPDstandardNth3trK = PDstandardNth3trK; + + JacPDstandardNth3Xt1 = PDstandardNth3Xt1; + + JacPDstandardNth3Xt2 = PDstandardNth3Xt2; + + JacPDstandardNth3Xt3 = PDstandardNth3Xt3; + + JacPDstandardNth11alpha = PDstandardNth11alpha; + + JacPDstandardNth11beta1 = PDstandardNth11beta1; + + JacPDstandardNth11beta2 = PDstandardNth11beta2; + + JacPDstandardNth11beta3 = PDstandardNth11beta3; + + JacPDstandardNth11gt11 = PDstandardNth11gt11; + + JacPDstandardNth11gt12 = PDstandardNth11gt12; + + JacPDstandardNth11gt13 = PDstandardNth11gt13; + + JacPDstandardNth11gt22 = PDstandardNth11gt22; + + JacPDstandardNth11gt23 = PDstandardNth11gt23; + + JacPDstandardNth11gt33 = PDstandardNth11gt33; + + JacPDstandardNth11phi = PDstandardNth11phi; + + JacPDstandardNth22alpha = PDstandardNth22alpha; + + JacPDstandardNth22beta1 = PDstandardNth22beta1; + + JacPDstandardNth22beta2 = PDstandardNth22beta2; + + JacPDstandardNth22beta3 = PDstandardNth22beta3; + + JacPDstandardNth22gt11 = PDstandardNth22gt11; + + JacPDstandardNth22gt12 = PDstandardNth22gt12; + + JacPDstandardNth22gt13 = PDstandardNth22gt13; + + JacPDstandardNth22gt22 = PDstandardNth22gt22; + + JacPDstandardNth22gt23 = PDstandardNth22gt23; + + JacPDstandardNth22gt33 = PDstandardNth22gt33; + + JacPDstandardNth22phi = PDstandardNth22phi; + + JacPDstandardNth33alpha = PDstandardNth33alpha; + + JacPDstandardNth33beta1 = PDstandardNth33beta1; + + JacPDstandardNth33beta2 = PDstandardNth33beta2; + + JacPDstandardNth33beta3 = PDstandardNth33beta3; + + JacPDstandardNth33gt11 = PDstandardNth33gt11; + + JacPDstandardNth33gt12 = PDstandardNth33gt12; + + JacPDstandardNth33gt13 = PDstandardNth33gt13; + + JacPDstandardNth33gt22 = PDstandardNth33gt22; + + JacPDstandardNth33gt23 = PDstandardNth33gt23; + + JacPDstandardNth33gt33 = PDstandardNth33gt33; + + JacPDstandardNth33phi = PDstandardNth33phi; + + JacPDstandardNth12alpha = PDstandardNth12alpha; + + JacPDstandardNth12beta1 = PDstandardNth12beta1; + + JacPDstandardNth12beta2 = PDstandardNth12beta2; + + JacPDstandardNth12beta3 = PDstandardNth12beta3; + + JacPDstandardNth12gt11 = PDstandardNth12gt11; + + JacPDstandardNth12gt12 = PDstandardNth12gt12; + + JacPDstandardNth12gt13 = PDstandardNth12gt13; + + JacPDstandardNth12gt22 = PDstandardNth12gt22; + + JacPDstandardNth12gt23 = PDstandardNth12gt23; + + JacPDstandardNth12gt33 = PDstandardNth12gt33; + + JacPDstandardNth12phi = PDstandardNth12phi; + + JacPDstandardNth13alpha = PDstandardNth13alpha; + + JacPDstandardNth13beta1 = PDstandardNth13beta1; + + JacPDstandardNth13beta2 = PDstandardNth13beta2; + + JacPDstandardNth13beta3 = PDstandardNth13beta3; + + JacPDstandardNth13gt11 = PDstandardNth13gt11; + + JacPDstandardNth13gt12 = PDstandardNth13gt12; + + JacPDstandardNth13gt13 = PDstandardNth13gt13; + + JacPDstandardNth13gt22 = PDstandardNth13gt22; + + JacPDstandardNth13gt23 = PDstandardNth13gt23; + + JacPDstandardNth13gt33 = PDstandardNth13gt33; + + JacPDstandardNth13phi = PDstandardNth13phi; + + JacPDstandardNth21alpha = PDstandardNth12alpha; + + JacPDstandardNth21beta1 = PDstandardNth12beta1; + + JacPDstandardNth21beta2 = PDstandardNth12beta2; + + JacPDstandardNth21beta3 = PDstandardNth12beta3; + + JacPDstandardNth21gt11 = PDstandardNth12gt11; + + JacPDstandardNth21gt12 = PDstandardNth12gt12; + + JacPDstandardNth21gt13 = PDstandardNth12gt13; + + JacPDstandardNth21gt22 = PDstandardNth12gt22; + + JacPDstandardNth21gt23 = PDstandardNth12gt23; + + JacPDstandardNth21gt33 = PDstandardNth12gt33; + + JacPDstandardNth23alpha = PDstandardNth23alpha; + + JacPDstandardNth23beta1 = PDstandardNth23beta1; + + JacPDstandardNth23beta2 = PDstandardNth23beta2; + + JacPDstandardNth23beta3 = PDstandardNth23beta3; + + JacPDstandardNth23gt11 = PDstandardNth23gt11; + + JacPDstandardNth23gt12 = PDstandardNth23gt12; + + JacPDstandardNth23gt13 = PDstandardNth23gt13; + + JacPDstandardNth23gt22 = PDstandardNth23gt22; + + JacPDstandardNth23gt23 = PDstandardNth23gt23; + + JacPDstandardNth23gt33 = PDstandardNth23gt33; + + JacPDstandardNth23phi = PDstandardNth23phi; + + JacPDstandardNth31alpha = PDstandardNth13alpha; + + JacPDstandardNth31beta1 = PDstandardNth13beta1; + + JacPDstandardNth31beta2 = PDstandardNth13beta2; + + JacPDstandardNth31beta3 = PDstandardNth13beta3; + + JacPDstandardNth31gt11 = PDstandardNth13gt11; + + JacPDstandardNth31gt12 = PDstandardNth13gt12; + + JacPDstandardNth31gt13 = PDstandardNth13gt13; + + JacPDstandardNth31gt22 = PDstandardNth13gt22; + + JacPDstandardNth31gt23 = PDstandardNth13gt23; + + JacPDstandardNth31gt33 = PDstandardNth13gt33; + + JacPDstandardNth32alpha = PDstandardNth23alpha; + + JacPDstandardNth32beta1 = PDstandardNth23beta1; + + JacPDstandardNth32beta2 = PDstandardNth23beta2; + + JacPDstandardNth32beta3 = PDstandardNth23beta3; + + JacPDstandardNth32gt11 = PDstandardNth23gt11; + + JacPDstandardNth32gt12 = PDstandardNth23gt12; + + JacPDstandardNth32gt13 = PDstandardNth23gt13; + + JacPDstandardNth32gt22 = PDstandardNth23gt22; + + JacPDstandardNth32gt23 = PDstandardNth23gt23; + + JacPDstandardNth32gt33 = PDstandardNth23gt33; + } + + CCTK_REAL_VEC detgt CCTK_ATTRIBUTE_UNUSED = ToReal(1); + + CCTK_REAL_VEC gtu11 CCTK_ATTRIBUTE_UNUSED = + kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt); + + CCTK_REAL_VEC gtu12 CCTK_ATTRIBUTE_UNUSED = + kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt); + + CCTK_REAL_VEC gtu13 CCTK_ATTRIBUTE_UNUSED = + kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt); + + CCTK_REAL_VEC gtu22 CCTK_ATTRIBUTE_UNUSED = + kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt); + + CCTK_REAL_VEC gtu23 CCTK_ATTRIBUTE_UNUSED = + kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt); + + CCTK_REAL_VEC gtu33 CCTK_ATTRIBUTE_UNUSED = + kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt); + + CCTK_REAL_VEC Gtl111 CCTK_ATTRIBUTE_UNUSED = + kmul(JacPDstandardNth1gt11,ToReal(0.5)); + + CCTK_REAL_VEC Gtl112 CCTK_ATTRIBUTE_UNUSED = + kmul(JacPDstandardNth2gt11,ToReal(0.5)); + + CCTK_REAL_VEC Gtl113 CCTK_ATTRIBUTE_UNUSED = + kmul(JacPDstandardNth3gt11,ToReal(0.5)); + + CCTK_REAL_VEC Gtl122 CCTK_ATTRIBUTE_UNUSED = + kmadd(JacPDstandardNth1gt22,ToReal(-0.5),JacPDstandardNth2gt12); + + CCTK_REAL_VEC Gtl123 CCTK_ATTRIBUTE_UNUSED = + kmul(kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23)),ToReal(0.5)); + + CCTK_REAL_VEC Gtl133 CCTK_ATTRIBUTE_UNUSED = + kmadd(JacPDstandardNth1gt33,ToReal(-0.5),JacPDstandardNth3gt13); + + CCTK_REAL_VEC Gtl211 CCTK_ATTRIBUTE_UNUSED = + kmadd(JacPDstandardNth2gt11,ToReal(-0.5),JacPDstandardNth1gt12); + + CCTK_REAL_VEC Gtl212 CCTK_ATTRIBUTE_UNUSED = + kmul(JacPDstandardNth1gt22,ToReal(0.5)); + + CCTK_REAL_VEC Gtl213 CCTK_ATTRIBUTE_UNUSED = + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)),ToReal(0.5)); + + CCTK_REAL_VEC Gtl222 CCTK_ATTRIBUTE_UNUSED = + kmul(JacPDstandardNth2gt22,ToReal(0.5)); + + CCTK_REAL_VEC Gtl223 CCTK_ATTRIBUTE_UNUSED = + kmul(JacPDstandardNth3gt22,ToReal(0.5)); + + CCTK_REAL_VEC Gtl233 CCTK_ATTRIBUTE_UNUSED = + kmadd(JacPDstandardNth2gt33,ToReal(-0.5),JacPDstandardNth3gt23); + + CCTK_REAL_VEC Gtl311 CCTK_ATTRIBUTE_UNUSED = + kmadd(JacPDstandardNth3gt11,ToReal(-0.5),JacPDstandardNth1gt13); + + CCTK_REAL_VEC Gtl312 CCTK_ATTRIBUTE_UNUSED = + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)),ToReal(0.5)); + + CCTK_REAL_VEC Gtl313 CCTK_ATTRIBUTE_UNUSED = + kmul(JacPDstandardNth1gt33,ToReal(0.5)); + + CCTK_REAL_VEC Gtl322 CCTK_ATTRIBUTE_UNUSED = + kmadd(JacPDstandardNth3gt22,ToReal(-0.5),JacPDstandardNth2gt23); + + CCTK_REAL_VEC Gtl323 CCTK_ATTRIBUTE_UNUSED = + kmul(JacPDstandardNth2gt33,ToReal(0.5)); + + CCTK_REAL_VEC Gtl333 CCTK_ATTRIBUTE_UNUSED = + kmul(JacPDstandardNth3gt33,ToReal(0.5)); + + CCTK_REAL_VEC Gtlu111 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl111,gtu11,kmadd(Gtl112,gtu12,kmul(Gtl113,gtu13))); + + CCTK_REAL_VEC Gtlu112 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl111,gtu12,kmadd(Gtl112,gtu22,kmul(Gtl113,gtu23))); + + CCTK_REAL_VEC Gtlu113 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl111,gtu13,kmadd(Gtl112,gtu23,kmul(Gtl113,gtu33))); + + CCTK_REAL_VEC Gtlu121 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl112,gtu11,kmadd(Gtl122,gtu12,kmul(Gtl123,gtu13))); + + CCTK_REAL_VEC Gtlu122 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl112,gtu12,kmadd(Gtl122,gtu22,kmul(Gtl123,gtu23))); + + CCTK_REAL_VEC Gtlu123 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl112,gtu13,kmadd(Gtl122,gtu23,kmul(Gtl123,gtu33))); + + CCTK_REAL_VEC Gtlu131 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl113,gtu11,kmadd(Gtl123,gtu12,kmul(Gtl133,gtu13))); + + CCTK_REAL_VEC Gtlu132 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl113,gtu12,kmadd(Gtl123,gtu22,kmul(Gtl133,gtu23))); + + CCTK_REAL_VEC Gtlu133 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl113,gtu13,kmadd(Gtl123,gtu23,kmul(Gtl133,gtu33))); + + CCTK_REAL_VEC Gtlu211 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl211,gtu11,kmadd(Gtl212,gtu12,kmul(Gtl213,gtu13))); + + CCTK_REAL_VEC Gtlu212 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl211,gtu12,kmadd(Gtl212,gtu22,kmul(Gtl213,gtu23))); + + CCTK_REAL_VEC Gtlu213 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl211,gtu13,kmadd(Gtl212,gtu23,kmul(Gtl213,gtu33))); + + CCTK_REAL_VEC Gtlu221 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl212,gtu11,kmadd(Gtl222,gtu12,kmul(Gtl223,gtu13))); + + CCTK_REAL_VEC Gtlu222 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl212,gtu12,kmadd(Gtl222,gtu22,kmul(Gtl223,gtu23))); + + CCTK_REAL_VEC Gtlu223 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl212,gtu13,kmadd(Gtl222,gtu23,kmul(Gtl223,gtu33))); + + CCTK_REAL_VEC Gtlu231 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl213,gtu11,kmadd(Gtl223,gtu12,kmul(Gtl233,gtu13))); + + CCTK_REAL_VEC Gtlu232 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl213,gtu12,kmadd(Gtl223,gtu22,kmul(Gtl233,gtu23))); + + CCTK_REAL_VEC Gtlu233 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl213,gtu13,kmadd(Gtl223,gtu23,kmul(Gtl233,gtu33))); + + CCTK_REAL_VEC Gtlu311 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl311,gtu11,kmadd(Gtl312,gtu12,kmul(Gtl313,gtu13))); + + CCTK_REAL_VEC Gtlu312 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl311,gtu12,kmadd(Gtl312,gtu22,kmul(Gtl313,gtu23))); + + CCTK_REAL_VEC Gtlu313 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl311,gtu13,kmadd(Gtl312,gtu23,kmul(Gtl313,gtu33))); + + CCTK_REAL_VEC Gtlu321 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl312,gtu11,kmadd(Gtl322,gtu12,kmul(Gtl323,gtu13))); + + CCTK_REAL_VEC Gtlu322 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl312,gtu12,kmadd(Gtl322,gtu22,kmul(Gtl323,gtu23))); + + CCTK_REAL_VEC Gtlu323 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl312,gtu13,kmadd(Gtl322,gtu23,kmul(Gtl323,gtu33))); + + CCTK_REAL_VEC Gtlu331 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl313,gtu11,kmadd(Gtl323,gtu12,kmul(Gtl333,gtu13))); + + CCTK_REAL_VEC Gtlu332 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl313,gtu12,kmadd(Gtl323,gtu22,kmul(Gtl333,gtu23))); + + CCTK_REAL_VEC Gtlu333 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl313,gtu13,kmadd(Gtl323,gtu23,kmul(Gtl333,gtu33))); + + CCTK_REAL_VEC Gt111 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl111,gtu11,kmadd(Gtl211,gtu12,kmul(Gtl311,gtu13))); + + CCTK_REAL_VEC Gt211 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl111,gtu12,kmadd(Gtl211,gtu22,kmul(Gtl311,gtu23))); + + CCTK_REAL_VEC Gt311 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl111,gtu13,kmadd(Gtl211,gtu23,kmul(Gtl311,gtu33))); + + CCTK_REAL_VEC Gt112 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl112,gtu11,kmadd(Gtl212,gtu12,kmul(Gtl312,gtu13))); + + CCTK_REAL_VEC Gt212 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl112,gtu12,kmadd(Gtl212,gtu22,kmul(Gtl312,gtu23))); + + CCTK_REAL_VEC Gt312 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl112,gtu13,kmadd(Gtl212,gtu23,kmul(Gtl312,gtu33))); + + CCTK_REAL_VEC Gt113 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl113,gtu11,kmadd(Gtl213,gtu12,kmul(Gtl313,gtu13))); + + CCTK_REAL_VEC Gt213 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl113,gtu12,kmadd(Gtl213,gtu22,kmul(Gtl313,gtu23))); + + CCTK_REAL_VEC Gt313 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl113,gtu13,kmadd(Gtl213,gtu23,kmul(Gtl313,gtu33))); + + CCTK_REAL_VEC Gt122 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl122,gtu11,kmadd(Gtl222,gtu12,kmul(Gtl322,gtu13))); + + CCTK_REAL_VEC Gt222 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl122,gtu12,kmadd(Gtl222,gtu22,kmul(Gtl322,gtu23))); + + CCTK_REAL_VEC Gt322 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl122,gtu13,kmadd(Gtl222,gtu23,kmul(Gtl322,gtu33))); + + CCTK_REAL_VEC Gt123 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl123,gtu11,kmadd(Gtl223,gtu12,kmul(Gtl323,gtu13))); + + CCTK_REAL_VEC Gt223 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl123,gtu12,kmadd(Gtl223,gtu22,kmul(Gtl323,gtu23))); + + CCTK_REAL_VEC Gt323 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl123,gtu13,kmadd(Gtl223,gtu23,kmul(Gtl323,gtu33))); + + CCTK_REAL_VEC Gt133 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl133,gtu11,kmadd(Gtl233,gtu12,kmul(Gtl333,gtu13))); + + CCTK_REAL_VEC Gt233 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl133,gtu12,kmadd(Gtl233,gtu22,kmul(Gtl333,gtu23))); + + CCTK_REAL_VEC Gt333 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl133,gtu13,kmadd(Gtl233,gtu23,kmul(Gtl333,gtu33))); + + CCTK_REAL_VEC Xtn1 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2))))); + + CCTK_REAL_VEC Xtn2 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2))))); + + CCTK_REAL_VEC Xtn3 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2))))); + + CCTK_REAL_VEC e4phi CCTK_ATTRIBUTE_UNUSED = IfThen(conformalMethod == + 1,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4)))); + + CCTK_REAL_VEC em4phi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),e4phi); + + CCTK_REAL_VEC g11 CCTK_ATTRIBUTE_UNUSED = kmul(gt11L,e4phi); + + CCTK_REAL_VEC g12 CCTK_ATTRIBUTE_UNUSED = kmul(gt12L,e4phi); + + CCTK_REAL_VEC g13 CCTK_ATTRIBUTE_UNUSED = kmul(gt13L,e4phi); + + CCTK_REAL_VEC g22 CCTK_ATTRIBUTE_UNUSED = kmul(gt22L,e4phi); + + CCTK_REAL_VEC g23 CCTK_ATTRIBUTE_UNUSED = kmul(gt23L,e4phi); + + CCTK_REAL_VEC g33 CCTK_ATTRIBUTE_UNUSED = kmul(gt33L,e4phi); + + CCTK_REAL_VEC detg CCTK_ATTRIBUTE_UNUSED = + knmsub(g22,kmul(g13,g13),knmsub(g11,kmul(g23,g23),kmadd(g33,kmsub(g11,g22,kmul(g12,g12)),kmul(g12,kmul(g13,kmul(g23,ToReal(2))))))); + + CCTK_REAL_VEC gu11 CCTK_ATTRIBUTE_UNUSED = kmul(em4phi,gtu11); + + CCTK_REAL_VEC gu12 CCTK_ATTRIBUTE_UNUSED = kmul(em4phi,gtu12); + + CCTK_REAL_VEC gu13 CCTK_ATTRIBUTE_UNUSED = kmul(em4phi,gtu13); + + CCTK_REAL_VEC gu22 CCTK_ATTRIBUTE_UNUSED = kmul(em4phi,gtu22); + + CCTK_REAL_VEC gu23 CCTK_ATTRIBUTE_UNUSED = kmul(em4phi,gtu23); + + CCTK_REAL_VEC gu33 CCTK_ATTRIBUTE_UNUSED = kmul(em4phi,gtu33); + + CCTK_REAL_VEC ddetg1 CCTK_ATTRIBUTE_UNUSED = + kmul(detgt,kmul(e4phi,kmul(JacPDstandardNth1phi,ToReal(4)))); + + CCTK_REAL_VEC ddetg2 CCTK_ATTRIBUTE_UNUSED = + kmul(detgt,kmul(e4phi,kmul(JacPDstandardNth2phi,ToReal(4)))); + + CCTK_REAL_VEC ddetg3 CCTK_ATTRIBUTE_UNUSED = + kmul(detgt,kmul(e4phi,kmul(JacPDstandardNth3phi,ToReal(4)))); + + CCTK_REAL_VEC G111 CCTK_ATTRIBUTE_UNUSED = + kadd(Gt111,kdiv(kmul(ToReal(0.5),kmadd(g11,kmul(kmadd(ddetg1,gu11,kmadd(ddetg2,gu12,kmul(ddetg3,gu13))),ToReal(-0.333333333333333333333333333333)),kmul(ddetg1,ToReal(2)))),detg)); + + CCTK_REAL_VEC G211 CCTK_ATTRIBUTE_UNUSED = + kadd(Gt211,kdiv(kmul(g11,kmul(kmadd(ddetg1,gu12,kmadd(ddetg2,gu22,kmul(ddetg3,gu23))),ToReal(-0.166666666666666666666666666667))),detg)); + + CCTK_REAL_VEC G311 CCTK_ATTRIBUTE_UNUSED = + kadd(Gt311,kdiv(kmul(g11,kmul(kmadd(ddetg1,gu13,kmadd(ddetg2,gu23,kmul(ddetg3,gu33))),ToReal(-0.166666666666666666666666666667))),detg)); + + CCTK_REAL_VEC G112 CCTK_ATTRIBUTE_UNUSED = + kadd(Gt112,kdiv(kmul(kmadd(g12,kmul(kmadd(ddetg1,gu11,kmadd(ddetg2,gu12,kmul(ddetg3,gu13))),ToReal(-0.333333333333333333333333333333)),ddetg2),ToReal(0.5)),detg)); + + CCTK_REAL_VEC G212 CCTK_ATTRIBUTE_UNUSED = + kadd(Gt212,kdiv(kmul(kmadd(g12,kmul(kmadd(ddetg1,gu12,kmadd(ddetg2,gu22,kmul(ddetg3,gu23))),ToReal(-0.333333333333333333333333333333)),ddetg1),ToReal(0.5)),detg)); + + CCTK_REAL_VEC G312 CCTK_ATTRIBUTE_UNUSED = + kadd(Gt312,kdiv(kmul(g12,kmul(kmadd(ddetg1,gu13,kmadd(ddetg2,gu23,kmul(ddetg3,gu33))),ToReal(-0.166666666666666666666666666667))),detg)); + + CCTK_REAL_VEC G113 CCTK_ATTRIBUTE_UNUSED = + kadd(Gt113,kdiv(kmul(kmadd(g13,kmul(kmadd(ddetg1,gu11,kmadd(ddetg2,gu12,kmul(ddetg3,gu13))),ToReal(-0.333333333333333333333333333333)),ddetg3),ToReal(0.5)),detg)); + + CCTK_REAL_VEC G213 CCTK_ATTRIBUTE_UNUSED = + kadd(Gt213,kdiv(kmul(g13,kmul(kmadd(ddetg1,gu12,kmadd(ddetg2,gu22,kmul(ddetg3,gu23))),ToReal(-0.166666666666666666666666666667))),detg)); + + CCTK_REAL_VEC G313 CCTK_ATTRIBUTE_UNUSED = + kadd(Gt313,kdiv(kmul(kmadd(g13,kmul(kmadd(ddetg1,gu13,kmadd(ddetg2,gu23,kmul(ddetg3,gu33))),ToReal(-0.333333333333333333333333333333)),ddetg1),ToReal(0.5)),detg)); + + CCTK_REAL_VEC G122 CCTK_ATTRIBUTE_UNUSED = + kadd(Gt122,kdiv(kmul(g22,kmul(kmadd(ddetg1,gu11,kmadd(ddetg2,gu12,kmul(ddetg3,gu13))),ToReal(-0.166666666666666666666666666667))),detg)); + + CCTK_REAL_VEC G222 CCTK_ATTRIBUTE_UNUSED = + kadd(Gt222,kdiv(kmul(ToReal(0.5),kmadd(g22,kmul(kmadd(ddetg1,gu12,kmadd(ddetg2,gu22,kmul(ddetg3,gu23))),ToReal(-0.333333333333333333333333333333)),kmul(ddetg2,ToReal(2)))),detg)); + + CCTK_REAL_VEC G322 CCTK_ATTRIBUTE_UNUSED = + kadd(Gt322,kdiv(kmul(g22,kmul(kmadd(ddetg1,gu13,kmadd(ddetg2,gu23,kmul(ddetg3,gu33))),ToReal(-0.166666666666666666666666666667))),detg)); + + CCTK_REAL_VEC G123 CCTK_ATTRIBUTE_UNUSED = + kadd(Gt123,kdiv(kmul(g23,kmul(kmadd(ddetg1,gu11,kmadd(ddetg2,gu12,kmul(ddetg3,gu13))),ToReal(-0.166666666666666666666666666667))),detg)); + + CCTK_REAL_VEC G223 CCTK_ATTRIBUTE_UNUSED = + kadd(Gt223,kdiv(kmul(kmadd(g23,kmul(kmadd(ddetg1,gu12,kmadd(ddetg2,gu22,kmul(ddetg3,gu23))),ToReal(-0.333333333333333333333333333333)),ddetg3),ToReal(0.5)),detg)); + + CCTK_REAL_VEC G323 CCTK_ATTRIBUTE_UNUSED = + kadd(Gt323,kdiv(kmul(kmadd(g23,kmul(kmadd(ddetg1,gu13,kmadd(ddetg2,gu23,kmul(ddetg3,gu33))),ToReal(-0.333333333333333333333333333333)),ddetg2),ToReal(0.5)),detg)); + + CCTK_REAL_VEC G133 CCTK_ATTRIBUTE_UNUSED = + kadd(Gt133,kdiv(kmul(g33,kmul(kmadd(ddetg1,gu11,kmadd(ddetg2,gu12,kmul(ddetg3,gu13))),ToReal(-0.166666666666666666666666666667))),detg)); + + CCTK_REAL_VEC G233 CCTK_ATTRIBUTE_UNUSED = + kadd(Gt233,kdiv(kmul(g33,kmul(kmadd(ddetg1,gu12,kmadd(ddetg2,gu22,kmul(ddetg3,gu23))),ToReal(-0.166666666666666666666666666667))),detg)); + + CCTK_REAL_VEC G333 CCTK_ATTRIBUTE_UNUSED = + kadd(Gt333,kdiv(kmul(ToReal(0.5),kmadd(g33,kmul(kmadd(ddetg1,gu13,kmadd(ddetg2,gu23,kmul(ddetg3,gu33))),ToReal(-0.333333333333333333333333333333)),kmul(ddetg3,ToReal(2)))),detg)); + + CCTK_REAL_VEC K11 CCTK_ATTRIBUTE_UNUSED = + kmadd(At11L,e4phi,kmul(trKL,kmul(g11,ToReal(0.333333333333333333333333333333)))); + + CCTK_REAL_VEC K12 CCTK_ATTRIBUTE_UNUSED = + kmadd(At12L,e4phi,kmul(trKL,kmul(g12,ToReal(0.333333333333333333333333333333)))); + + CCTK_REAL_VEC K13 CCTK_ATTRIBUTE_UNUSED = + kmadd(At13L,e4phi,kmul(trKL,kmul(g13,ToReal(0.333333333333333333333333333333)))); + + CCTK_REAL_VEC K22 CCTK_ATTRIBUTE_UNUSED = + kmadd(At22L,e4phi,kmul(trKL,kmul(g22,ToReal(0.333333333333333333333333333333)))); + + CCTK_REAL_VEC K23 CCTK_ATTRIBUTE_UNUSED = + kmadd(At23L,e4phi,kmul(trKL,kmul(g23,ToReal(0.333333333333333333333333333333)))); + + CCTK_REAL_VEC K33 CCTK_ATTRIBUTE_UNUSED = + kmadd(At33L,e4phi,kmul(trKL,kmul(g33,ToReal(0.333333333333333333333333333333)))); + + CCTK_REAL_VEC Km11 CCTK_ATTRIBUTE_UNUSED = + kmadd(gu11,K11,kmadd(gu12,K12,kmul(gu13,K13))); + + CCTK_REAL_VEC Km12 CCTK_ATTRIBUTE_UNUSED = + kmadd(gu12,K11,kmadd(gu22,K12,kmul(gu23,K13))); + + CCTK_REAL_VEC Km13 CCTK_ATTRIBUTE_UNUSED = + kmadd(gu13,K11,kmadd(gu23,K12,kmul(gu33,K13))); + + CCTK_REAL_VEC Km21 CCTK_ATTRIBUTE_UNUSED = + kmadd(gu11,K12,kmadd(gu12,K22,kmul(gu13,K23))); + + CCTK_REAL_VEC Km22 CCTK_ATTRIBUTE_UNUSED = + kmadd(gu12,K12,kmadd(gu22,K22,kmul(gu23,K23))); + + CCTK_REAL_VEC Km23 CCTK_ATTRIBUTE_UNUSED = + kmadd(gu13,K12,kmadd(gu23,K22,kmul(gu33,K23))); + + CCTK_REAL_VEC Km31 CCTK_ATTRIBUTE_UNUSED = + kmadd(gu11,K13,kmadd(gu12,K23,kmul(gu13,K33))); + + CCTK_REAL_VEC Km32 CCTK_ATTRIBUTE_UNUSED = + kmadd(gu12,K13,kmadd(gu22,K23,kmul(gu23,K33))); + + CCTK_REAL_VEC Km33 CCTK_ATTRIBUTE_UNUSED = + kmadd(gu13,K13,kmadd(gu23,K23,kmul(gu33,K33))); + + CCTK_REAL_VEC Rt11 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gt211,Gtlu211,kmadd(Gt212,Gtlu212,kmadd(Gt213,Gtlu213,kmadd(Gt311,Gtlu311,kmadd(Gt312,Gtlu312,kmadd(Gt313,Gtlu313,kmadd(gt11L,JacPDstandardNth1Xt1,kmadd(gt12L,JacPDstandardNth1Xt2,kmadd(gt13L,JacPDstandardNth1Xt3,kmadd(Gtl111,Xtn1,kmadd(Gtl112,Xtn2,kmadd(Gtl113,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt11,kmadd(gtu12,kadd(JacPDstandardNth12gt11,JacPDstandardNth21gt11),kmadd(gtu22,JacPDstandardNth22gt11,kmadd(gtu33,JacPDstandardNth33gt11,kmadd(gtu23,kadd(JacPDstandardNth32gt11,JacPDstandardNth23gt11),kmul(gtu13,kadd(JacPDstandardNth31gt11,JacPDstandardNth13gt11))))))),ToReal(0.5),kmadd(kmadd(Gt211,Gtlu121,kmadd(Gt212,Gtlu122,kmadd(Gt213,Gtlu123,kmadd(Gt311,Gtlu131,kmadd(Gt312,Gtlu132,kmul(Gt313,Gtlu133)))))),ToReal(2),kmul(kmadd(Gt111,Gtlu111,kmadd(Gt112,Gtlu112,kmul(Gt113,Gtlu113))),ToReal(3)))))))))))))))); + + CCTK_REAL_VEC Rt12 CCTK_ATTRIBUTE_UNUSED = + kmul(ToReal(0.5),kmadd(gt12L,JacPDstandardNth1Xt1,kmadd(gt22L,JacPDstandardNth1Xt2,kmadd(gt23L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth2Xt1,kmadd(gt12L,JacPDstandardNth2Xt2,kmadd(gt13L,JacPDstandardNth2Xt3,kmadd(Gtl112,Xtn1,kmadd(Gtl211,Xtn1,kmadd(Gtl122,Xtn2,kmadd(Gtl212,Xtn2,kmadd(Gtl123,Xtn3,kmadd(Gtl213,Xtn3,knmsub(gtu11,JacPDstandardNth11gt12,knmsub(gtu22,JacPDstandardNth22gt12,knmsub(gtu33,JacPDstandardNth33gt12,knmsub(gtu12,kadd(JacPDstandardNth21gt12,JacPDstandardNth12gt12),knmsub(gtu13,kadd(JacPDstandardNth31gt12,JacPDstandardNth13gt12),knmsub(gtu23,kadd(JacPDstandardNth32gt12,JacPDstandardNth23gt12),kmadd(kmadd(Gt122,Gtlu112,kmadd(Gt123,Gtlu113,kmadd(Gt111,Gtlu121,kmadd(Gt212,Gtlu121,kmadd(Gt222,Gtlu122,kmadd(Gt113,Gtlu123,kmadd(Gt223,Gtlu123,kmadd(Gt312,Gtlu131,kmadd(Gt322,Gtlu132,kmadd(Gt323,Gtlu133,kmadd(Gt111,Gtlu211,kmadd(Gt112,kadd(Gtlu111,kadd(Gtlu122,Gtlu212)),kmadd(Gt113,Gtlu213,kmadd(Gt311,Gtlu231,kmadd(Gt312,Gtlu232,kmadd(Gt313,Gtlu233,kmadd(Gt311,Gtlu321,kmadd(Gt312,Gtlu322,kmul(Gt313,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt211,Gtlu221,kmadd(Gt212,Gtlu222,kmul(Gt213,Gtlu223))),ToReal(4)))))))))))))))))))))); + + CCTK_REAL_VEC Rt13 CCTK_ATTRIBUTE_UNUSED = + kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth1Xt1,kmadd(gt23L,JacPDstandardNth1Xt2,kmadd(gt33L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth3Xt1,kmadd(gt12L,JacPDstandardNth3Xt2,kmadd(gt13L,JacPDstandardNth3Xt3,kmadd(Gtl113,Xtn1,kmadd(Gtl311,Xtn1,kmadd(Gtl123,Xtn2,kmadd(Gtl312,Xtn2,kmadd(Gtl133,Xtn3,kmadd(Gtl313,Xtn3,knmsub(gtu11,JacPDstandardNth11gt13,knmsub(gtu22,JacPDstandardNth22gt13,knmsub(gtu33,JacPDstandardNth33gt13,knmsub(gtu12,kadd(JacPDstandardNth21gt13,JacPDstandardNth12gt13),knmsub(gtu13,kadd(JacPDstandardNth31gt13,JacPDstandardNth13gt13),knmsub(gtu23,kadd(JacPDstandardNth32gt13,JacPDstandardNth23gt13),kmadd(kmadd(Gt123,Gtlu112,kmadd(Gt133,Gtlu113,kmadd(Gt213,Gtlu121,kmadd(Gt223,Gtlu122,kmadd(Gt233,Gtlu123,kmadd(Gt111,Gtlu131,kmadd(Gt313,Gtlu131,kmadd(Gt112,Gtlu132,kmadd(Gt323,Gtlu132,kmadd(Gt333,Gtlu133,kmadd(Gt211,Gtlu231,kmadd(Gt212,Gtlu232,kmadd(Gt213,Gtlu233,kmadd(Gt111,Gtlu311,kmadd(Gt112,Gtlu312,kmadd(Gt113,kadd(Gtlu111,kadd(Gtlu133,Gtlu313)),kmadd(Gt211,Gtlu321,kmadd(Gt212,Gtlu322,kmul(Gt213,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt311,Gtlu331,kmadd(Gt312,Gtlu332,kmul(Gt313,Gtlu333))),ToReal(4)))))))))))))))))))))); + + CCTK_REAL_VEC Rt22 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gt312,Gtlu321,kmadd(Gt322,Gtlu322,kmadd(Gt323,Gtlu323,kmadd(gt12L,JacPDstandardNth2Xt1,kmadd(gt22L,JacPDstandardNth2Xt2,kmadd(gt23L,JacPDstandardNth2Xt3,kmadd(Gtl212,Xtn1,kmadd(Gtl222,Xtn2,kmadd(Gtl223,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt22,kmadd(gtu12,kadd(JacPDstandardNth12gt22,JacPDstandardNth21gt22),kmadd(gtu22,JacPDstandardNth22gt22,kmadd(gtu33,JacPDstandardNth33gt22,kmadd(gtu23,kadd(JacPDstandardNth32gt22,JacPDstandardNth23gt22),kmul(gtu13,kadd(JacPDstandardNth31gt22,JacPDstandardNth13gt22))))))),ToReal(0.5),kmadd(kmadd(Gt312,Gtlu231,kmadd(Gt322,Gtlu232,kmul(Gt323,Gtlu233))),ToReal(2),kmadd(Gt112,kmadd(Gtlu211,ToReal(2),Gtlu121),kmadd(Gt122,kmadd(Gtlu212,ToReal(2),Gtlu122),kmadd(Gt123,kmadd(Gtlu213,ToReal(2),Gtlu123),kmul(kmadd(Gt212,Gtlu221,kmadd(Gt222,Gtlu222,kmul(Gt223,Gtlu223))),ToReal(3)))))))))))))))); + + CCTK_REAL_VEC Rt23 CCTK_ATTRIBUTE_UNUSED = + kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth2Xt1,kmadd(gt23L,JacPDstandardNth2Xt2,kmadd(gt33L,JacPDstandardNth2Xt3,kmadd(gt12L,JacPDstandardNth3Xt1,kmadd(gt22L,JacPDstandardNth3Xt2,kmadd(gt23L,JacPDstandardNth3Xt3,kmadd(Gtl213,Xtn1,kmadd(Gtl312,Xtn1,kmadd(Gtl223,Xtn2,kmadd(Gtl322,Xtn2,kmadd(Gtl233,Xtn3,kmadd(Gtl323,Xtn3,knmsub(gtu11,JacPDstandardNth11gt23,knmsub(gtu22,JacPDstandardNth22gt23,knmsub(gtu33,JacPDstandardNth33gt23,knmsub(gtu12,kadd(JacPDstandardNth21gt23,JacPDstandardNth12gt23),knmsub(gtu13,kadd(JacPDstandardNth31gt23,JacPDstandardNth13gt23),knmsub(gtu23,kadd(JacPDstandardNth32gt23,JacPDstandardNth23gt23),kmadd(kmadd(Gt123,Gtlu133,kmadd(Gt113,Gtlu211,kmadd(Gt123,Gtlu212,kmadd(Gt133,Gtlu213,kmadd(Gt213,Gtlu221,kmadd(Gt223,Gtlu222,kmadd(Gt233,Gtlu223,kmadd(Gt212,Gtlu231,kmadd(Gt313,Gtlu231,kmadd(Gt222,Gtlu232,kmadd(Gt323,Gtlu232,kmadd(Gt223,Gtlu233,kmadd(Gt333,Gtlu233,kmadd(Gt112,kadd(Gtlu131,Gtlu311),kmadd(Gt122,kadd(Gtlu132,Gtlu312),kmadd(Gt123,Gtlu313,kmadd(Gt212,Gtlu321,kmadd(Gt222,Gtlu322,kmul(Gt223,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt312,Gtlu331,kmadd(Gt322,Gtlu332,kmul(Gt323,Gtlu333))),ToReal(4)))))))))))))))))))))); + + CCTK_REAL_VEC Rt33 CCTK_ATTRIBUTE_UNUSED = + kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(gt23L,JacPDstandardNth3Xt2,kmadd(gt33L,JacPDstandardNth3Xt3,kmadd(Gtl313,Xtn1,kmadd(Gtl323,Xtn2,kmadd(Gtl333,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt33,kmadd(gtu12,kadd(JacPDstandardNth12gt33,JacPDstandardNth21gt33),kmadd(gtu22,JacPDstandardNth22gt33,kmadd(gtu33,JacPDstandardNth33gt33,kmadd(gtu23,kadd(JacPDstandardNth32gt33,JacPDstandardNth23gt33),kmul(gtu13,kadd(JacPDstandardNth31gt33,JacPDstandardNth13gt33))))))),ToReal(0.5),kmadd(Gt113,kmadd(Gtlu311,ToReal(2),Gtlu131),kmadd(Gt123,kmadd(Gtlu312,ToReal(2),Gtlu132),kmadd(Gt133,kmadd(Gtlu313,ToReal(2),Gtlu133),kmadd(Gt213,kmadd(Gtlu321,ToReal(2),Gtlu231),kmadd(Gt223,kmadd(Gtlu322,ToReal(2),Gtlu232),kmadd(Gt233,kmadd(Gtlu323,ToReal(2),Gtlu233),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(3))))))))))))))); + + CCTK_REAL_VEC fac1 CCTK_ATTRIBUTE_UNUSED = IfThen(conformalMethod == + 1,kdiv(ToReal(-0.5),phiL),ToReal(1)); + + CCTK_REAL_VEC cdphi1 CCTK_ATTRIBUTE_UNUSED = + kmul(fac1,JacPDstandardNth1phi); + + CCTK_REAL_VEC cdphi2 CCTK_ATTRIBUTE_UNUSED = + kmul(fac1,JacPDstandardNth2phi); + + CCTK_REAL_VEC cdphi3 CCTK_ATTRIBUTE_UNUSED = + kmul(fac1,JacPDstandardNth3phi); + + CCTK_REAL_VEC fac2 CCTK_ATTRIBUTE_UNUSED = IfThen(conformalMethod == + 1,kdiv(ToReal(0.5),kmul(phiL,phiL)),ToReal(0)); + + CCTK_REAL_VEC cdphi211 CCTK_ATTRIBUTE_UNUSED = + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth1phi),kmul(fac1,ksub(JacPDstandardNth11phi,kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt311,JacPDstandardNth3phi,kmul(Gt211,JacPDstandardNth2phi)))))); + + CCTK_REAL_VEC cdphi212 CCTK_ATTRIBUTE_UNUSED = + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,ksub(JacPDstandardNth12phi,kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt312,JacPDstandardNth3phi,kmul(Gt212,JacPDstandardNth2phi)))))); + + CCTK_REAL_VEC cdphi213 CCTK_ATTRIBUTE_UNUSED = + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,ksub(JacPDstandardNth13phi,kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt313,JacPDstandardNth3phi,kmul(Gt213,JacPDstandardNth2phi)))))); + + CCTK_REAL_VEC cdphi222 CCTK_ATTRIBUTE_UNUSED = + kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth2phi),kmul(fac1,kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmsub(Gt322,JacPDstandardNth3phi,JacPDstandardNth22phi))))); + + CCTK_REAL_VEC cdphi223 CCTK_ATTRIBUTE_UNUSED = + kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmsub(Gt323,JacPDstandardNth3phi,JacPDstandardNth23phi))))); + + CCTK_REAL_VEC cdphi233 CCTK_ATTRIBUTE_UNUSED = + kmsub(fac2,kmul(JacPDstandardNth3phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmsub(Gt333,JacPDstandardNth3phi,JacPDstandardNth33phi))))); + + CCTK_REAL_VEC Rphi11 CCTK_ATTRIBUTE_UNUSED = + kmul(ToReal(-2),kadd(cdphi211,kmadd(kmul(cdphi1,cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1)),ToReal(2)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4)))))))))); + + CCTK_REAL_VEC Rphi12 CCTK_ATTRIBUTE_UNUSED = + kmul(ToReal(-2),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4)),ToReal(-2)))))))); + + CCTK_REAL_VEC Rphi13 CCTK_ATTRIBUTE_UNUSED = + kmul(ToReal(-2),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4)),ToReal(-2)))))))); + + CCTK_REAL_VEC Rphi22 CCTK_ATTRIBUTE_UNUSED = + kmul(ToReal(-2),kadd(cdphi222,kmadd(kmul(cdphi2,cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1)),ToReal(2)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4)))))))))); + + CCTK_REAL_VEC Rphi23 CCTK_ATTRIBUTE_UNUSED = + kmul(ToReal(-2),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,kmul(cdphi2,cdphi2))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4)),ToReal(-2)))))))); + + CCTK_REAL_VEC Rphi33 CCTK_ATTRIBUTE_UNUSED = + kmul(ToReal(-2),kadd(cdphi233,kmadd(kmul(cdphi3,cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1)),ToReal(2)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4)),kmul(gtu12,kmadd(cdphi212,ToReal(2),kmul(cdphi1,kmul(cdphi2,ToReal(4)))))))))))))); + + CCTK_REAL_VEC Atm11 CCTK_ATTRIBUTE_UNUSED = + kmadd(At11L,gtu11,kmadd(At12L,gtu12,kmul(At13L,gtu13))); + + CCTK_REAL_VEC Atm21 CCTK_ATTRIBUTE_UNUSED = + kmadd(At11L,gtu12,kmadd(At12L,gtu22,kmul(At13L,gtu23))); + + CCTK_REAL_VEC Atm31 CCTK_ATTRIBUTE_UNUSED = + kmadd(At11L,gtu13,kmadd(At12L,gtu23,kmul(At13L,gtu33))); + + CCTK_REAL_VEC Atm12 CCTK_ATTRIBUTE_UNUSED = + kmadd(At12L,gtu11,kmadd(At22L,gtu12,kmul(At23L,gtu13))); + + CCTK_REAL_VEC Atm22 CCTK_ATTRIBUTE_UNUSED = + kmadd(At12L,gtu12,kmadd(At22L,gtu22,kmul(At23L,gtu23))); + + CCTK_REAL_VEC Atm32 CCTK_ATTRIBUTE_UNUSED = + kmadd(At12L,gtu13,kmadd(At22L,gtu23,kmul(At23L,gtu33))); + + CCTK_REAL_VEC Atm13 CCTK_ATTRIBUTE_UNUSED = + kmadd(At13L,gtu11,kmadd(At23L,gtu12,kmul(At33L,gtu13))); + + CCTK_REAL_VEC Atm23 CCTK_ATTRIBUTE_UNUSED = + kmadd(At13L,gtu12,kmadd(At23L,gtu22,kmul(At33L,gtu23))); + + CCTK_REAL_VEC Atm33 CCTK_ATTRIBUTE_UNUSED = + kmadd(At13L,gtu13,kmadd(At23L,gtu23,kmul(At33L,gtu33))); + + CCTK_REAL_VEC Atu11 CCTK_ATTRIBUTE_UNUSED = + kmadd(Atm11,gtu11,kmadd(Atm12,gtu12,kmul(Atm13,gtu13))); + + CCTK_REAL_VEC Atu12 CCTK_ATTRIBUTE_UNUSED = + kmadd(Atm11,gtu12,kmadd(Atm12,gtu22,kmul(Atm13,gtu23))); + + CCTK_REAL_VEC Atu13 CCTK_ATTRIBUTE_UNUSED = + kmadd(Atm11,gtu13,kmadd(Atm12,gtu23,kmul(Atm13,gtu33))); + + CCTK_REAL_VEC Atu22 CCTK_ATTRIBUTE_UNUSED = + kmadd(Atm21,gtu12,kmadd(Atm22,gtu22,kmul(Atm23,gtu23))); + + CCTK_REAL_VEC Atu23 CCTK_ATTRIBUTE_UNUSED = + kmadd(Atm21,gtu13,kmadd(Atm22,gtu23,kmul(Atm23,gtu33))); + + CCTK_REAL_VEC Atu33 CCTK_ATTRIBUTE_UNUSED = + kmadd(Atm31,gtu13,kmadd(Atm32,gtu23,kmul(Atm33,gtu33))); + + CCTK_REAL_VEC R11 CCTK_ATTRIBUTE_UNUSED = kadd(Rphi11,Rt11); + + CCTK_REAL_VEC R12 CCTK_ATTRIBUTE_UNUSED = kadd(Rphi12,Rt12); + + CCTK_REAL_VEC R13 CCTK_ATTRIBUTE_UNUSED = kadd(Rphi13,Rt13); + + CCTK_REAL_VEC R22 CCTK_ATTRIBUTE_UNUSED = kadd(Rphi22,Rt22); + + CCTK_REAL_VEC R23 CCTK_ATTRIBUTE_UNUSED = kadd(Rphi23,Rt23); + + CCTK_REAL_VEC R33 CCTK_ATTRIBUTE_UNUSED = kadd(Rphi33,Rt33); + + CCTK_REAL_VEC rho CCTK_ATTRIBUTE_UNUSED = + kdiv(kadd(eTttL,kmadd(eTxxL,kmul(beta1L,beta1L),kmadd(eTyyL,kmul(beta2L,beta2L),kmadd(eTzzL,kmul(beta3L,beta3L),kmadd(kmadd(beta2L,eTtyL,kmul(beta3L,eTtzL)),ToReal(-2),kmul(kmadd(beta2L,kmul(beta3L,eTyzL),kmul(beta1L,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL)))),ToReal(2))))))),kmul(alphaL,alphaL)); + + CCTK_REAL_VEC S1 CCTK_ATTRIBUTE_UNUSED = + kdiv(kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL))),alphaL); + + CCTK_REAL_VEC S2 CCTK_ATTRIBUTE_UNUSED = + kdiv(kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmsub(beta3L,eTyzL,eTtyL))),alphaL); + + CCTK_REAL_VEC S3 CCTK_ATTRIBUTE_UNUSED = + kdiv(kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmsub(beta3L,eTzzL,eTtzL))),alphaL); + + CCTK_REAL_VEC trS CCTK_ATTRIBUTE_UNUSED = + kmul(em4phi,kmadd(eTxxL,gtu11,kmadd(eTyyL,gtu22,kmadd(eTzzL,gtu33,kmul(kmadd(eTxyL,gtu12,kmadd(eTxzL,gtu13,kmul(eTyzL,gtu23))),ToReal(2)))))); + + CCTK_REAL_VEC phirhsL CCTK_ATTRIBUTE_UNUSED = + kneg(kmul(IfThen(conformalMethod == + 1,kmul(phiL,ToReal(0.333333333333333333333333333333)),ToReal(-0.166666666666666666666666666667)),kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,knmsub(alphaL,trKL,JacPDstandardNth3beta3))))); + + CCTK_REAL_VEC phidotL CCTK_ATTRIBUTE_UNUSED = + kneg(kmul(IfThen(conformalMethod == + 1,kmul(phiL,ToReal(0.333333333333333333333333333333)),ToReal(-0.166666666666666666666666666667)),kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,knmsub(alphaL,trKL,JacPDstandardNth3beta3))))); + + CCTK_REAL_VEC gt11rhsL CCTK_ATTRIBUTE_UNUSED = + kmadd(alphaL,kmul(At11L,ToReal(-2)),kmadd(gt11L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmul(kmadd(gt11L,JacPDstandardNth1beta1,kmadd(gt12L,JacPDstandardNth1beta2,kmul(gt13L,JacPDstandardNth1beta3))),ToReal(2)))); + + CCTK_REAL_VEC gt12rhsL CCTK_ATTRIBUTE_UNUSED = + kmadd(gt22L,JacPDstandardNth1beta2,kmadd(gt23L,JacPDstandardNth1beta3,kmadd(gt11L,JacPDstandardNth2beta1,kmadd(gt13L,JacPDstandardNth2beta3,kmadd(alphaL,kmul(At12L,ToReal(-2)),kmul(gt12L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth2beta2)))))))); + + CCTK_REAL_VEC gt13rhsL CCTK_ATTRIBUTE_UNUSED = + kmadd(gt23L,JacPDstandardNth1beta2,kmadd(gt33L,JacPDstandardNth1beta3,kmadd(gt11L,JacPDstandardNth3beta1,kmadd(gt12L,JacPDstandardNth3beta2,kmadd(alphaL,kmul(At13L,ToReal(-2)),kmul(gt13L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)))))))); + + CCTK_REAL_VEC gt22rhsL CCTK_ATTRIBUTE_UNUSED = + kmadd(alphaL,kmul(At22L,ToReal(-2)),kmadd(gt22L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmul(kmadd(gt12L,JacPDstandardNth2beta1,kmadd(gt22L,JacPDstandardNth2beta2,kmul(gt23L,JacPDstandardNth2beta3))),ToReal(2)))); + + CCTK_REAL_VEC gt23rhsL CCTK_ATTRIBUTE_UNUSED = + kmadd(gt13L,JacPDstandardNth2beta1,kmadd(gt33L,JacPDstandardNth2beta3,kmadd(gt12L,JacPDstandardNth3beta1,kmadd(gt22L,JacPDstandardNth3beta2,kmadd(alphaL,kmul(At23L,ToReal(-2)),kmul(gt23L,kadd(JacPDstandardNth2beta2,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)))))))); + + CCTK_REAL_VEC gt33rhsL CCTK_ATTRIBUTE_UNUSED = + kmadd(alphaL,kmul(At33L,ToReal(-2)),kmadd(gt33L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmul(kmadd(gt13L,JacPDstandardNth3beta1,kmadd(gt23L,JacPDstandardNth3beta2,kmul(gt33L,JacPDstandardNth3beta3))),ToReal(2)))); + + CCTK_REAL_VEC dotXt1 CCTK_ATTRIBUTE_UNUSED = + kmadd(gtu11,JacPDstandardNth11beta1,kmadd(gtu12,kadd(JacPDstandardNth12beta1,JacPDstandardNth21beta1),kmadd(gtu22,JacPDstandardNth22beta1,kmadd(gtu13,kadd(JacPDstandardNth13beta1,JacPDstandardNth31beta1),kmadd(gtu23,kadd(JacPDstandardNth23beta1,JacPDstandardNth32beta1),kmadd(gtu33,JacPDstandardNth33beta1,kmadd(kmadd(Atu11,JacPDstandardNth1alpha,kmadd(Atu12,JacPDstandardNth2alpha,kmul(Atu13,JacPDstandardNth3alpha))),ToReal(-2),knmsub(JacPDstandardNth2beta1,Xtn2,knmsub(JacPDstandardNth3beta1,Xtn3,kmadd(kmadd(gtu11,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu12,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu13,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn1,kmsub(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667),JacPDstandardNth1beta1),kmul(alphaL,kmadd(ToReal(2),kmadd(Atu11,Gt111,kmadd(Atu22,Gt122,kmadd(Atu33,Gt133,kmadd(kmadd(gtu11,JacPDstandardNth1trK,kmadd(gtu12,JacPDstandardNth2trK,kmul(gtu13,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(Atu12,kmul(Gt112,ToReal(2)),kmadd(Atu13,kmul(Gt113,ToReal(2)),kmadd(Atu23,kmul(Gt123,ToReal(2)),kmul(kmadd(Atu11,cdphi1,kmadd(Atu12,cdphi2,kmul(Atu13,cdphi3))),ToReal(6))))))))),kmul(kmadd(gtu11,S1,kmadd(gtu12,S2,kmul(gtu13,S3))),ToReal(-50.2654824574366918154022941325))))))))))))))); + + CCTK_REAL_VEC dotXt2 CCTK_ATTRIBUTE_UNUSED = + kmadd(gtu11,JacPDstandardNth11beta2,kmadd(gtu12,kadd(JacPDstandardNth12beta2,JacPDstandardNth21beta2),kmadd(gtu22,JacPDstandardNth22beta2,kmadd(gtu13,kadd(JacPDstandardNth13beta2,JacPDstandardNth31beta2),kmadd(gtu23,kadd(JacPDstandardNth23beta2,JacPDstandardNth32beta2),kmadd(gtu33,JacPDstandardNth33beta2,kmadd(kmadd(Atu12,JacPDstandardNth1alpha,kmadd(Atu22,JacPDstandardNth2alpha,kmul(Atu23,JacPDstandardNth3alpha))),ToReal(-2),knmsub(JacPDstandardNth1beta2,Xtn1,knmsub(JacPDstandardNth3beta2,Xtn3,kmadd(kmadd(gtu12,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu22,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu23,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn2,kmsub(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667),JacPDstandardNth2beta2),kmul(alphaL,kmadd(ToReal(2),kmadd(Atu11,Gt211,kmadd(Atu22,Gt222,kmadd(Atu33,Gt233,kmadd(kmadd(gtu12,JacPDstandardNth1trK,kmadd(gtu22,JacPDstandardNth2trK,kmul(gtu23,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(Atu12,kmul(Gt212,ToReal(2)),kmadd(Atu13,kmul(Gt213,ToReal(2)),kmadd(Atu23,kmul(Gt223,ToReal(2)),kmul(kmadd(Atu12,cdphi1,kmadd(Atu22,cdphi2,kmul(Atu23,cdphi3))),ToReal(6))))))))),kmul(kmadd(gtu12,S1,kmadd(gtu22,S2,kmul(gtu23,S3))),ToReal(-50.2654824574366918154022941325))))))))))))))); + + CCTK_REAL_VEC dotXt3 CCTK_ATTRIBUTE_UNUSED = + kmadd(gtu11,JacPDstandardNth11beta3,kmadd(gtu12,kadd(JacPDstandardNth12beta3,JacPDstandardNth21beta3),kmadd(gtu22,JacPDstandardNth22beta3,kmadd(gtu13,kadd(JacPDstandardNth13beta3,JacPDstandardNth31beta3),kmadd(gtu23,kadd(JacPDstandardNth23beta3,JacPDstandardNth32beta3),kmadd(gtu33,JacPDstandardNth33beta3,kmadd(kmadd(Atu13,JacPDstandardNth1alpha,kmadd(Atu23,JacPDstandardNth2alpha,kmul(Atu33,JacPDstandardNth3alpha))),ToReal(-2),knmsub(JacPDstandardNth1beta3,Xtn1,knmsub(JacPDstandardNth2beta3,Xtn2,kmadd(kmadd(gtu13,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu23,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu33,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn3,kmsub(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667),JacPDstandardNth3beta3),kmul(alphaL,kmadd(ToReal(2),kmadd(Atu11,Gt311,kmadd(Atu22,Gt322,kmadd(Atu33,Gt333,kmadd(kmadd(gtu13,JacPDstandardNth1trK,kmadd(gtu23,JacPDstandardNth2trK,kmul(gtu33,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(Atu12,kmul(Gt312,ToReal(2)),kmadd(Atu13,kmul(Gt313,ToReal(2)),kmadd(Atu23,kmul(Gt323,ToReal(2)),kmul(kmadd(Atu13,cdphi1,kmadd(Atu23,cdphi2,kmul(Atu33,cdphi3))),ToReal(6))))))))),kmul(kmadd(gtu13,S1,kmadd(gtu23,S2,kmul(gtu33,S3))),ToReal(-50.2654824574366918154022941325))))))))))))))); + + CCTK_REAL_VEC Xt1rhsL CCTK_ATTRIBUTE_UNUSED = dotXt1; + + CCTK_REAL_VEC Xt2rhsL CCTK_ATTRIBUTE_UNUSED = dotXt2; + + CCTK_REAL_VEC Xt3rhsL CCTK_ATTRIBUTE_UNUSED = dotXt3; + + CCTK_REAL_VEC Xtdot1L CCTK_ATTRIBUTE_UNUSED = dotXt1; + + CCTK_REAL_VEC Xtdot2L CCTK_ATTRIBUTE_UNUSED = dotXt2; + + CCTK_REAL_VEC Xtdot3L CCTK_ATTRIBUTE_UNUSED = dotXt3; + + term1L = + kneg(kmul(em4phi,knmsub(JacPDstandardNth1alpha,Xtn1,knmsub(JacPDstandardNth2alpha,Xtn2,knmsub(JacPDstandardNth3alpha,Xtn3,kmadd(gtu11,kmadd(cdphi1,kmul(JacPDstandardNth1alpha,ToReal(2)),JacPDstandardNth11alpha),kmadd(gtu12,kadd(JacPDstandardNth12alpha,kadd(JacPDstandardNth21alpha,kmadd(cdphi2,kmul(JacPDstandardNth1alpha,ToReal(2)),kmul(cdphi1,kmul(JacPDstandardNth2alpha,ToReal(2)))))),kmadd(gtu22,kmadd(cdphi2,kmul(JacPDstandardNth2alpha,ToReal(2)),JacPDstandardNth22alpha),kmadd(gtu13,kadd(JacPDstandardNth13alpha,kadd(JacPDstandardNth31alpha,kmadd(cdphi3,kmul(JacPDstandardNth1alpha,ToReal(2)),kmul(cdphi1,kmul(JacPDstandardNth3alpha,ToReal(2)))))),kmadd(gtu23,kadd(JacPDstandardNth23alpha,kadd(JacPDstandardNth32alpha,kmadd(cdphi3,kmul(JacPDstandardNth2alpha,ToReal(2)),kmul(cdphi2,kmul(JacPDstandardNth3alpha,ToReal(2)))))),kmul(gtu33,kmadd(cdphi3,kmul(JacPDstandardNth3alpha,ToReal(2)),JacPDstandardNth33alpha)))))))))))); + + term2L = + kmul(alphaL,kmadd(Atm11,Atm11,kmadd(Atm22,Atm22,kmadd(Atm33,Atm33,kmadd(kmul(trKL,trKL),ToReal(0.333333333333333333333333333333),kmul(kmadd(Atm12,Atm21,kmadd(Atm13,Atm31,kmul(Atm23,Atm32))),ToReal(2))))))); + + term3L = ToReal(0); + + CCTK_REAL_VEC dottrK CCTK_ATTRIBUTE_UNUSED = + kadd(term1L,kadd(term2L,kmadd(alphaL,kmul(kadd(rho,trS),ToReal(12.5663706143591729538505735331)),term3L))); + + CCTK_REAL_VEC trKrhsL CCTK_ATTRIBUTE_UNUSED = + kmul(dottrK,ToReal(KEvolFactor)); + + CCTK_REAL_VEC Ats11 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gt211,JacPDstandardNth2alpha,kmadd(Gt311,JacPDstandardNth3alpha,kmadd(alphaL,R11,kmsub(JacPDstandardNth1alpha,kmadd(cdphi1,ToReal(4),Gt111),JacPDstandardNth11alpha)))); + + CCTK_REAL_VEC Ats12 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gt312,JacPDstandardNth3alpha,kmadd(alphaL,R12,ksub(kmadd(JacPDstandardNth2alpha,kmadd(cdphi1,ToReal(2),Gt212),kmul(JacPDstandardNth1alpha,kmadd(cdphi2,ToReal(2),Gt112))),JacPDstandardNth12alpha))); + + CCTK_REAL_VEC Ats13 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gt213,JacPDstandardNth2alpha,kmadd(alphaL,R13,ksub(kmadd(JacPDstandardNth3alpha,kmadd(cdphi1,ToReal(2),Gt313),kmul(JacPDstandardNth1alpha,kmadd(cdphi3,ToReal(2),Gt113))),JacPDstandardNth13alpha))); + + CCTK_REAL_VEC Ats22 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gt122,JacPDstandardNth1alpha,kmadd(Gt322,JacPDstandardNth3alpha,kmadd(alphaL,R22,kmsub(JacPDstandardNth2alpha,kmadd(cdphi2,ToReal(4),Gt222),JacPDstandardNth22alpha)))); + + CCTK_REAL_VEC Ats23 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gt123,JacPDstandardNth1alpha,kmadd(alphaL,R23,ksub(kmadd(JacPDstandardNth3alpha,kmadd(cdphi2,ToReal(2),Gt323),kmul(JacPDstandardNth2alpha,kmadd(cdphi3,ToReal(2),Gt223))),JacPDstandardNth23alpha))); + + CCTK_REAL_VEC Ats33 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gt133,JacPDstandardNth1alpha,kmadd(Gt233,JacPDstandardNth2alpha,kmadd(alphaL,R33,kmsub(JacPDstandardNth3alpha,kmadd(cdphi3,ToReal(4),Gt333),JacPDstandardNth33alpha)))); + + CCTK_REAL_VEC trAts CCTK_ATTRIBUTE_UNUSED = + kmadd(Ats11,gu11,kmadd(Ats22,gu22,kmadd(Ats33,gu33,kmul(kmadd(Ats12,gu12,kmadd(Ats13,gu13,kmul(Ats23,gu23))),ToReal(2))))); + + CCTK_REAL_VEC At11rhsL CCTK_ATTRIBUTE_UNUSED = + kmadd(At11L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g11,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats11),kmadd(kmadd(At11L,JacPDstandardNth1beta1,kmadd(At12L,JacPDstandardNth1beta2,kmul(At13L,JacPDstandardNth1beta3))),ToReal(2),kmul(alphaL,kmadd(At11L,trKL,kmadd(kmadd(At11L,Atm11,kmadd(At12L,Atm21,kmul(At13L,Atm31))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g11,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxxL),ToReal(3.14159265358979323846264338328)))))))))); + + CCTK_REAL_VEC At12rhsL CCTK_ATTRIBUTE_UNUSED = + kmadd(At22L,JacPDstandardNth1beta2,kmadd(At23L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth2beta1,kmadd(At13L,JacPDstandardNth2beta3,kmadd(At12L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth2beta2)),kmadd(em4phi,kmadd(g12,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats12),kmul(alphaL,kmadd(At12L,trKL,kmadd(kmadd(At11L,Atm12,kmadd(At12L,Atm22,kmul(At13L,Atm32))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g12,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxyL),ToReal(3.14159265358979323846264338328))))))))))))); + + CCTK_REAL_VEC At13rhsL CCTK_ATTRIBUTE_UNUSED = + kmadd(At23L,JacPDstandardNth1beta2,kmadd(At33L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth3beta1,kmadd(At12L,JacPDstandardNth3beta2,kmadd(At13L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)),kmadd(em4phi,kmadd(g13,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats13),kmul(alphaL,kmadd(At13L,trKL,kmadd(kmadd(At11L,Atm13,kmadd(At12L,Atm23,kmul(At13L,Atm33))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g13,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxzL),ToReal(3.14159265358979323846264338328))))))))))))); + + CCTK_REAL_VEC At22rhsL CCTK_ATTRIBUTE_UNUSED = + kmadd(At22L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g22,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats22),kmadd(kmadd(At12L,JacPDstandardNth2beta1,kmadd(At22L,JacPDstandardNth2beta2,kmul(At23L,JacPDstandardNth2beta3))),ToReal(2),kmul(alphaL,kmadd(At22L,trKL,kmadd(kmadd(At12L,Atm12,kmadd(At22L,Atm22,kmul(At23L,Atm32))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g22,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTyyL),ToReal(3.14159265358979323846264338328)))))))))); + + CCTK_REAL_VEC At23rhsL CCTK_ATTRIBUTE_UNUSED = + kmadd(At13L,JacPDstandardNth2beta1,kmadd(At33L,JacPDstandardNth2beta3,kmadd(At12L,JacPDstandardNth3beta1,kmadd(At22L,JacPDstandardNth3beta2,kmadd(At23L,kadd(JacPDstandardNth2beta2,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)),kmadd(em4phi,kmadd(g23,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats23),kmul(alphaL,kmadd(At23L,trKL,kmadd(kmadd(At12L,Atm13,kmadd(At22L,Atm23,kmul(At23L,Atm33))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g23,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTyzL),ToReal(3.14159265358979323846264338328))))))))))))); + + CCTK_REAL_VEC At33rhsL CCTK_ATTRIBUTE_UNUSED = + kmadd(At33L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g33,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats33),kmadd(kmadd(At13L,JacPDstandardNth3beta1,kmadd(At23L,JacPDstandardNth3beta2,kmul(At33L,JacPDstandardNth3beta3))),ToReal(2),kmul(alphaL,kmadd(At33L,trKL,kmadd(kmadd(At13L,Atm13,kmadd(At23L,Atm23,kmul(At33L,Atm33))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g33,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTzzL),ToReal(3.14159265358979323846264338328)))))))))); + + CCTK_REAL_VEC Kdot11L CCTK_ATTRIBUTE_UNUSED = + kmadd(G111,JacPDstandardNth1alpha,kmadd(G211,JacPDstandardNth2alpha,kmadd(G311,JacPDstandardNth3alpha,kmsub(alphaL,kmadd(trKL,K11,kmadd(kmadd(K11,Km11,kmadd(K12,Km12,kmul(K13,Km13))),ToReal(-2),R11)),JacPDstandardNth11alpha)))); + + CCTK_REAL_VEC Kdot12L CCTK_ATTRIBUTE_UNUSED = + kmadd(G112,JacPDstandardNth1alpha,kmadd(G212,JacPDstandardNth2alpha,kmadd(G312,JacPDstandardNth3alpha,kmsub(alphaL,kmadd(trKL,K12,kmadd(kmadd(K11,Km21,kmadd(K12,Km22,kmul(K13,Km23))),ToReal(-2),R12)),JacPDstandardNth12alpha)))); + + CCTK_REAL_VEC Kdot13L CCTK_ATTRIBUTE_UNUSED = + kmadd(G113,JacPDstandardNth1alpha,kmadd(G213,JacPDstandardNth2alpha,kmadd(G313,JacPDstandardNth3alpha,kmsub(alphaL,kmadd(trKL,K13,kmadd(kmadd(K11,Km31,kmadd(K12,Km32,kmul(K13,Km33))),ToReal(-2),R13)),JacPDstandardNth13alpha)))); + + CCTK_REAL_VEC Kdot22L CCTK_ATTRIBUTE_UNUSED = + kmadd(G122,JacPDstandardNth1alpha,kmadd(G222,JacPDstandardNth2alpha,kmadd(G322,JacPDstandardNth3alpha,kmsub(alphaL,kmadd(trKL,K22,kmadd(kmadd(K12,Km21,kmadd(K22,Km22,kmul(K23,Km23))),ToReal(-2),R22)),JacPDstandardNth22alpha)))); + + CCTK_REAL_VEC Kdot23L CCTK_ATTRIBUTE_UNUSED = + kmadd(G123,JacPDstandardNth1alpha,kmadd(G223,JacPDstandardNth2alpha,kmadd(G323,JacPDstandardNth3alpha,kmsub(alphaL,kmadd(trKL,K23,kmadd(kmadd(K12,Km31,kmadd(K22,Km32,kmul(K23,Km33))),ToReal(-2),R23)),JacPDstandardNth23alpha)))); + + CCTK_REAL_VEC Kdot33L CCTK_ATTRIBUTE_UNUSED = + kmadd(G133,JacPDstandardNth1alpha,kmadd(G233,JacPDstandardNth2alpha,kmadd(G333,JacPDstandardNth3alpha,kmsub(alphaL,kmadd(trKL,K33,kmadd(kmadd(K13,Km31,kmadd(K23,Km32,kmul(K33,Km33))),ToReal(-2),R33)),JacPDstandardNth33alpha)))); + + CCTK_REAL_VEC eta CCTK_ATTRIBUTE_UNUSED = + kdiv(ToReal(SpatialBetaDriverRadius),kfmax(rL,ToReal(SpatialBetaDriverRadius))); + + CCTK_REAL_VEC theta CCTK_ATTRIBUTE_UNUSED = + kfmin(ToReal(1),kexp(knmsub(rL,ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1)))); + + CCTK_REAL_VEC Ddetgt1 CCTK_ATTRIBUTE_UNUSED = + kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu22,JacPDstandardNth1gt22,kmadd(gtu33,JacPDstandardNth1gt33,kmul(kmadd(gtu12,JacPDstandardNth1gt12,kmadd(gtu13,JacPDstandardNth1gt13,kmul(gtu23,JacPDstandardNth1gt23))),ToReal(2))))); + + CCTK_REAL_VEC Ddetgt2 CCTK_ATTRIBUTE_UNUSED = + kmadd(gtu11,JacPDstandardNth2gt11,kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu33,JacPDstandardNth2gt33,kmul(kmadd(gtu12,JacPDstandardNth2gt12,kmadd(gtu13,JacPDstandardNth2gt13,kmul(gtu23,JacPDstandardNth2gt23))),ToReal(2))))); + + CCTK_REAL_VEC Ddetgt3 CCTK_ATTRIBUTE_UNUSED = + kmadd(gtu11,JacPDstandardNth3gt11,kmadd(gtu22,JacPDstandardNth3gt22,kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gtu12,JacPDstandardNth3gt12,kmadd(gtu13,JacPDstandardNth3gt13,kmul(gtu23,JacPDstandardNth3gt23))),ToReal(2))))); + + CCTK_REAL_VEC beta1rhsL CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC beta2rhsL CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC beta3rhsL CCTK_ATTRIBUTE_UNUSED; + + if (harmonicShift) + { + beta1rhsL = + kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu11,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod + == + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2))),kmadd(gtu12,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod + == + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2))),kmul(gtu13,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod + == + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2))))))))); + + beta2rhsL = + kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu12,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod + == + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2))),kmadd(gtu22,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod + == + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2))),kmul(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod + == + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2))))))))); + + beta3rhsL = + kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu13,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod + == + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2))),kmadd(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod + == + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2))),kmul(gtu33,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod + == + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2))))))))); + } + else + { + beta1rhsL = + kmul(theta,kmul(kadd(Xt1L,kmadd(ksub(B1L,Xt1L),ToReal(ShiftBCoeff),kmul(beta1L,kmul(eta,ToReal(BetaDriver*(-1 + + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); + + beta2rhsL = + kmul(theta,kmul(kadd(Xt2L,kmadd(ksub(B2L,Xt2L),ToReal(ShiftBCoeff),kmul(beta2L,kmul(eta,ToReal(BetaDriver*(-1 + + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); + + beta3rhsL = + kmul(theta,kmul(kadd(Xt3L,kmadd(ksub(B3L,Xt3L),ToReal(ShiftBCoeff),kmul(beta3L,kmul(eta,ToReal(BetaDriver*(-1 + + ShiftBCoeff)))))),ToReal(ShiftGammaCoeff))); + } + + CCTK_REAL_VEC B1rhsL CCTK_ATTRIBUTE_UNUSED = + kmul(knmsub(B1L,kmul(eta,ToReal(BetaDriver)),dotXt1),ToReal(ShiftBCoeff)); + + CCTK_REAL_VEC B2rhsL CCTK_ATTRIBUTE_UNUSED = + kmul(knmsub(B2L,kmul(eta,ToReal(BetaDriver)),dotXt2),ToReal(ShiftBCoeff)); + + CCTK_REAL_VEC B3rhsL CCTK_ATTRIBUTE_UNUSED = + kmul(knmsub(B3L,kmul(eta,ToReal(BetaDriver)),dotXt3),ToReal(ShiftBCoeff)); + + /* Copy local copies back to grid functions */ + vec_store_partial_prepare(i,vecimin,vecimax); + vec_store_nta_partial(At11rhs[index],At11rhsL); + vec_store_nta_partial(At12rhs[index],At12rhsL); + vec_store_nta_partial(At13rhs[index],At13rhsL); + vec_store_nta_partial(At22rhs[index],At22rhsL); + vec_store_nta_partial(At23rhs[index],At23rhsL); + vec_store_nta_partial(At33rhs[index],At33rhsL); + vec_store_nta_partial(B1rhs[index],B1rhsL); + vec_store_nta_partial(B2rhs[index],B2rhsL); + vec_store_nta_partial(B3rhs[index],B3rhsL); + vec_store_nta_partial(beta1rhs[index],beta1rhsL); + vec_store_nta_partial(beta2rhs[index],beta2rhsL); + vec_store_nta_partial(beta3rhs[index],beta3rhsL); + vec_store_nta_partial(gt11rhs[index],gt11rhsL); + vec_store_nta_partial(gt12rhs[index],gt12rhsL); + vec_store_nta_partial(gt13rhs[index],gt13rhsL); + vec_store_nta_partial(gt22rhs[index],gt22rhsL); + vec_store_nta_partial(gt23rhs[index],gt23rhsL); + vec_store_nta_partial(gt33rhs[index],gt33rhsL); + vec_store_nta_partial(Kdot11[index],Kdot11L); + vec_store_nta_partial(Kdot12[index],Kdot12L); + vec_store_nta_partial(Kdot13[index],Kdot13L); + vec_store_nta_partial(Kdot22[index],Kdot22L); + vec_store_nta_partial(Kdot23[index],Kdot23L); + vec_store_nta_partial(Kdot33[index],Kdot33L); + vec_store_nta_partial(phidot[index],phidotL); + vec_store_nta_partial(phirhs[index],phirhsL); + vec_store_nta_partial(term1[index],term1L); + vec_store_nta_partial(term2[index],term2L); + vec_store_nta_partial(term3[index],term3L); + vec_store_nta_partial(trKrhs[index],trKrhsL); + vec_store_nta_partial(Xt1rhs[index],Xt1rhsL); + vec_store_nta_partial(Xt2rhs[index],Xt2rhsL); + vec_store_nta_partial(Xt3rhs[index],Xt3rhsL); + vec_store_nta_partial(Xtdot1[index],Xtdot1L); + vec_store_nta_partial(Xtdot2[index],Xtdot2L); + vec_store_nta_partial(Xtdot3[index],Xtdot3L); + } + CCTK_ENDLOOP3STR(ML_BSSN_RHS); +} + +extern "C" void ML_BSSN_RHS(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + + if (verbose > 1) + { + CCTK_VInfo(CCTK_THORNSTRING,"Entering ML_BSSN_RHS_Body"); + } + + if (cctk_iteration % ML_BSSN_RHS_calc_every != ML_BSSN_RHS_calc_offset) + { + return; + } + + const char* const groups[] = { + "grid::coordinates", + "ML_BSSN::ML_curv", + "ML_BSSN::ML_curvrhs", + "ML_BSSN::ML_dtshift", + "ML_BSSN::ML_dtshiftrhs", + "ML_BSSN::ML_Gamma", + "ML_BSSN::ML_Gammarhs", + "ML_BSSN::ML_Kdot", + "ML_BSSN::ML_lapse", + "ML_BSSN::ML_log_confac", + "ML_BSSN::ML_log_confacrhs", + "ML_BSSN::ML_metric", + "ML_BSSN::ML_metricrhs", + "ML_BSSN::ML_phidot", + "ML_BSSN::ML_shift", + "ML_BSSN::ML_shiftrhs", + "ML_BSSN::ML_term1", + "ML_BSSN::ML_term2", + "ML_BSSN::ML_term3", + "ML_BSSN::ML_trace_curv", + "ML_BSSN::ML_trace_curvrhs", + "ML_BSSN::ML_Xtdot"}; + GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_RHS", 22, groups); + + switch (fdOrder) + { + case 2: + { + GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS", 1, 1, 1); + break; + } + + case 4: + { + GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS", 2, 2, 2); + break; + } + + case 6: + { + GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS", 3, 3, 3); + break; + } + + case 8: + { + GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS", 4, 4, 4); + break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); + } + + GenericFD_LoopOverInterior(cctkGH, ML_BSSN_RHS_Body); + + if (verbose > 1) + { + CCTK_VInfo(CCTK_THORNSTRING,"Leaving ML_BSSN_RHS_Body"); + } +} diff --git a/ML_BSSN/src/ML_BSSN_RHS1.cc b/ML_BSSN/src/ML_BSSN_RHS1.cc index 4609652..7bcd45b 100644 --- a/ML_BSSN/src/ML_BSSN_RHS1.cc +++ b/ML_BSSN/src/ML_BSSN_RHS1.cc @@ -35,18 +35,12 @@ extern "C" void ML_BSSN_RHS1_SelectBCs(CCTK_ARGUMENTS) if (cctk_iteration % ML_BSSN_RHS1_calc_every != ML_BSSN_RHS1_calc_offset) return; CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_dtlapserhs","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_dtlapserhs."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_dtshiftrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_dtshiftrhs."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_Gammarhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_Gammarhs."); - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_lapserhs","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_lapserhs."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_log_confacrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_log_confacrhs."); @@ -252,8 +246,7 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c /* Assign local copies of grid functions */ - CCTK_REAL_VEC AL CCTK_ATTRIBUTE_UNUSED = vec_load(A[index]); - CCTK_REAL_VEC alphaL CCTK_ATTRIBUTE_UNUSED = vec_load(alpha[index]); + CCTK_REAL_VEC alpL CCTK_ATTRIBUTE_UNUSED = vec_load(alp[index]); CCTK_REAL_VEC At11L CCTK_ATTRIBUTE_UNUSED = vec_load(At11[index]); CCTK_REAL_VEC At12L CCTK_ATTRIBUTE_UNUSED = vec_load(At12[index]); CCTK_REAL_VEC At13L CCTK_ATTRIBUTE_UNUSED = vec_load(At13[index]); @@ -274,6 +267,9 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c CCTK_REAL_VEC gt33L CCTK_ATTRIBUTE_UNUSED = vec_load(gt33[index]); CCTK_REAL_VEC phiL CCTK_ATTRIBUTE_UNUSED = vec_load(phi[index]); CCTK_REAL_VEC rL CCTK_ATTRIBUTE_UNUSED = vec_load(r[index]); + CCTK_REAL_VEC term1L CCTK_ATTRIBUTE_UNUSED = vec_load(term1[index]); + CCTK_REAL_VEC term2L CCTK_ATTRIBUTE_UNUSED = vec_load(term2[index]); + CCTK_REAL_VEC term3L CCTK_ATTRIBUTE_UNUSED = vec_load(term3[index]); CCTK_REAL_VEC trKL CCTK_ATTRIBUTE_UNUSED = vec_load(trK[index]); CCTK_REAL_VEC Xt1L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt1[index]); CCTK_REAL_VEC Xt2L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt2[index]); @@ -344,15 +340,9 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC PDstandardNth1alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDstandardNth2alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDstandardNth3alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1alp CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2alp CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3alp CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDstandardNth1beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDstandardNth2beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDstandardNth3beta1 CCTK_ATTRIBUTE_UNUSED; @@ -409,15 +399,9 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c { case 2: { - PDstandardNth1alpha = PDstandardNthfdOrder21(&alpha[index]); - PDstandardNth2alpha = PDstandardNthfdOrder22(&alpha[index]); - PDstandardNth3alpha = PDstandardNthfdOrder23(&alpha[index]); - PDstandardNth11alpha = PDstandardNthfdOrder211(&alpha[index]); - PDstandardNth22alpha = PDstandardNthfdOrder222(&alpha[index]); - PDstandardNth33alpha = PDstandardNthfdOrder233(&alpha[index]); - PDstandardNth12alpha = PDstandardNthfdOrder212(&alpha[index]); - PDstandardNth13alpha = PDstandardNthfdOrder213(&alpha[index]); - PDstandardNth23alpha = PDstandardNthfdOrder223(&alpha[index]); + PDstandardNth1alp = PDstandardNthfdOrder21(&alp[index]); + PDstandardNth2alp = PDstandardNthfdOrder22(&alp[index]); + PDstandardNth3alp = PDstandardNthfdOrder23(&alp[index]); PDstandardNth1beta1 = PDstandardNthfdOrder21(&beta1[index]); PDstandardNth2beta1 = PDstandardNthfdOrder22(&beta1[index]); PDstandardNth3beta1 = PDstandardNthfdOrder23(&beta1[index]); @@ -474,15 +458,9 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c case 4: { - PDstandardNth1alpha = PDstandardNthfdOrder41(&alpha[index]); - PDstandardNth2alpha = PDstandardNthfdOrder42(&alpha[index]); - PDstandardNth3alpha = PDstandardNthfdOrder43(&alpha[index]); - PDstandardNth11alpha = PDstandardNthfdOrder411(&alpha[index]); - PDstandardNth22alpha = PDstandardNthfdOrder422(&alpha[index]); - PDstandardNth33alpha = PDstandardNthfdOrder433(&alpha[index]); - PDstandardNth12alpha = PDstandardNthfdOrder412(&alpha[index]); - PDstandardNth13alpha = PDstandardNthfdOrder413(&alpha[index]); - PDstandardNth23alpha = PDstandardNthfdOrder423(&alpha[index]); + PDstandardNth1alp = PDstandardNthfdOrder41(&alp[index]); + PDstandardNth2alp = 0; //PDstandardNthfdOrder42(&alp[index]); + PDstandardNth3alp = PDstandardNthfdOrder43(&alp[index]); PDstandardNth1beta1 = PDstandardNthfdOrder41(&beta1[index]); PDstandardNth2beta1 = PDstandardNthfdOrder42(&beta1[index]); PDstandardNth3beta1 = PDstandardNthfdOrder43(&beta1[index]); @@ -529,25 +507,19 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c PDstandardNth2gt33 = PDstandardNthfdOrder42(>33[index]); PDstandardNth3gt33 = PDstandardNthfdOrder43(>33[index]); PDstandardNth1phi = PDstandardNthfdOrder41(&phi[index]); - PDstandardNth2phi = PDstandardNthfdOrder42(&phi[index]); + PDstandardNth2phi = 0; //PDstandardNthfdOrder42(&phi[index]); PDstandardNth3phi = PDstandardNthfdOrder43(&phi[index]); PDstandardNth1trK = PDstandardNthfdOrder41(&trK[index]); - PDstandardNth2trK = PDstandardNthfdOrder42(&trK[index]); + PDstandardNth2trK = 0; //PDstandardNthfdOrder42(&trK[index]); PDstandardNth3trK = PDstandardNthfdOrder43(&trK[index]); break; } case 6: { - PDstandardNth1alpha = PDstandardNthfdOrder61(&alpha[index]); - PDstandardNth2alpha = PDstandardNthfdOrder62(&alpha[index]); - PDstandardNth3alpha = PDstandardNthfdOrder63(&alpha[index]); - PDstandardNth11alpha = PDstandardNthfdOrder611(&alpha[index]); - PDstandardNth22alpha = PDstandardNthfdOrder622(&alpha[index]); - PDstandardNth33alpha = PDstandardNthfdOrder633(&alpha[index]); - PDstandardNth12alpha = PDstandardNthfdOrder612(&alpha[index]); - PDstandardNth13alpha = PDstandardNthfdOrder613(&alpha[index]); - PDstandardNth23alpha = PDstandardNthfdOrder623(&alpha[index]); + PDstandardNth1alp = PDstandardNthfdOrder61(&alp[index]); + PDstandardNth2alp = PDstandardNthfdOrder62(&alp[index]); + PDstandardNth3alp = PDstandardNthfdOrder63(&alp[index]); PDstandardNth1beta1 = PDstandardNthfdOrder61(&beta1[index]); PDstandardNth2beta1 = PDstandardNthfdOrder62(&beta1[index]); PDstandardNth3beta1 = PDstandardNthfdOrder63(&beta1[index]); @@ -604,15 +576,9 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c case 8: { - PDstandardNth1alpha = PDstandardNthfdOrder81(&alpha[index]); - PDstandardNth2alpha = PDstandardNthfdOrder82(&alpha[index]); - PDstandardNth3alpha = PDstandardNthfdOrder83(&alpha[index]); - PDstandardNth11alpha = PDstandardNthfdOrder811(&alpha[index]); - PDstandardNth22alpha = PDstandardNthfdOrder822(&alpha[index]); - PDstandardNth33alpha = PDstandardNthfdOrder833(&alpha[index]); - PDstandardNth12alpha = PDstandardNthfdOrder812(&alpha[index]); - PDstandardNth13alpha = PDstandardNthfdOrder813(&alpha[index]); - PDstandardNth23alpha = PDstandardNthfdOrder823(&alpha[index]); + PDstandardNth1alp = PDstandardNthfdOrder81(&alp[index]); + PDstandardNth2alp = PDstandardNthfdOrder82(&alp[index]); + PDstandardNth3alp = PDstandardNthfdOrder83(&alp[index]); PDstandardNth1beta1 = PDstandardNthfdOrder81(&beta1[index]); PDstandardNth2beta1 = PDstandardNthfdOrder82(&beta1[index]); PDstandardNth3beta1 = PDstandardNthfdOrder83(&beta1[index]); @@ -677,19 +643,16 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c ptrdiff_t dir3 CCTK_ATTRIBUTE_UNUSED = kisgn(beta3L); - CCTK_REAL_VEC JacPDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth11beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth11beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth11beta3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth12beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth12beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth12beta3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth13beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth13beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth13beta3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDstandardNth1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1alp CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth1beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth1beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth1beta3 CCTK_ATTRIBUTE_UNUSED; @@ -701,19 +664,16 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth1trK CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDstandardNth21alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth21beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth21beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth21beta3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth22beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth22beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth22beta3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth23beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth23beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth23beta3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDstandardNth2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2alp CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth2beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth2beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth2beta3 CCTK_ATTRIBUTE_UNUSED; @@ -725,19 +685,16 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth2trK CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDstandardNth31alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth31beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth31beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth31beta3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDstandardNth32alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth32beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth32beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth32beta3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth33beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth33beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth33beta3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDstandardNth3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3alp CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth3beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth3beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth3beta3 CCTK_ATTRIBUTE_UNUSED; @@ -752,8 +709,8 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c if (use_jacobian) { - JacPDstandardNth1alpha = - kmadd(J11L,PDstandardNth1alpha,kmadd(J21L,PDstandardNth2alpha,kmul(J31L,PDstandardNth3alpha))); + JacPDstandardNth1alp = + kmadd(J11L,PDstandardNth1alp,kmadd(J21L,PDstandardNth2alp,kmul(J31L,PDstandardNth3alp))); JacPDstandardNth1beta1 = kmadd(J11L,PDstandardNth1beta1,kmadd(J21L,PDstandardNth2beta1,kmul(J31L,PDstandardNth3beta1))); @@ -788,8 +745,8 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth1trK = kmadd(J11L,PDstandardNth1trK,kmadd(J21L,PDstandardNth2trK,kmul(J31L,PDstandardNth3trK))); - JacPDstandardNth2alpha = - kmadd(J12L,PDstandardNth1alpha,kmadd(J22L,PDstandardNth2alpha,kmul(J32L,PDstandardNth3alpha))); + JacPDstandardNth2alp = + kmadd(J12L,PDstandardNth1alp,kmadd(J22L,PDstandardNth2alp,kmul(J32L,PDstandardNth3alp))); JacPDstandardNth2beta1 = kmadd(J12L,PDstandardNth1beta1,kmadd(J22L,PDstandardNth2beta1,kmul(J32L,PDstandardNth3beta1))); @@ -824,8 +781,8 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth2trK = kmadd(J12L,PDstandardNth1trK,kmadd(J22L,PDstandardNth2trK,kmul(J32L,PDstandardNth3trK))); - JacPDstandardNth3alpha = - kmadd(J13L,PDstandardNth1alpha,kmadd(J23L,PDstandardNth2alpha,kmul(J33L,PDstandardNth3alpha))); + JacPDstandardNth3alp = + kmadd(J13L,PDstandardNth1alp,kmadd(J23L,PDstandardNth2alp,kmul(J33L,PDstandardNth3alp))); JacPDstandardNth3beta1 = kmadd(J13L,PDstandardNth1beta1,kmadd(J23L,PDstandardNth2beta1,kmul(J33L,PDstandardNth3beta1))); @@ -860,9 +817,6 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth3trK = kmadd(J13L,PDstandardNth1trK,kmadd(J23L,PDstandardNth2trK,kmul(J33L,PDstandardNth3trK))); - JacPDstandardNth11alpha = - kmadd(dJ111L,PDstandardNth1alpha,kmadd(dJ211L,PDstandardNth2alpha,kmadd(dJ311L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,kmul(J11L,J11L),kmadd(PDstandardNth22alpha,kmul(J21L,J21L),kmadd(PDstandardNth33alpha,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha)),kmul(J21L,kmul(J31L,PDstandardNth23alpha))),ToReal(2)))))))); - JacPDstandardNth11beta1 = kmadd(dJ111L,PDstandardNth1beta1,kmadd(dJ211L,PDstandardNth2beta1,kmadd(dJ311L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J11L,J11L),kmadd(PDstandardNth22beta1,kmul(J21L,J21L),kmadd(PDstandardNth33beta1,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1)),kmul(J21L,kmul(J31L,PDstandardNth23beta1))),ToReal(2)))))))); @@ -872,9 +826,6 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth11beta3 = kmadd(dJ111L,PDstandardNth1beta3,kmadd(dJ211L,PDstandardNth2beta3,kmadd(dJ311L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J11L,J11L),kmadd(PDstandardNth22beta3,kmul(J21L,J21L),kmadd(PDstandardNth33beta3,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3)),kmul(J21L,kmul(J31L,PDstandardNth23beta3))),ToReal(2)))))))); - JacPDstandardNth22alpha = - kmadd(dJ122L,PDstandardNth1alpha,kmadd(dJ222L,PDstandardNth2alpha,kmadd(dJ322L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,kmul(J12L,J12L),kmadd(PDstandardNth22alpha,kmul(J22L,J22L),kmadd(PDstandardNth33alpha,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmul(J22L,kmul(J32L,PDstandardNth23alpha))),ToReal(2)))))))); - JacPDstandardNth22beta1 = kmadd(dJ122L,PDstandardNth1beta1,kmadd(dJ222L,PDstandardNth2beta1,kmadd(dJ322L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J12L,J12L),kmadd(PDstandardNth22beta1,kmul(J22L,J22L),kmadd(PDstandardNth33beta1,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmul(J22L,kmul(J32L,PDstandardNth23beta1))),ToReal(2)))))))); @@ -884,9 +835,6 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth22beta3 = kmadd(dJ122L,PDstandardNth1beta3,kmadd(dJ222L,PDstandardNth2beta3,kmadd(dJ322L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J12L,J12L),kmadd(PDstandardNth22beta3,kmul(J22L,J22L),kmadd(PDstandardNth33beta3,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmul(J22L,kmul(J32L,PDstandardNth23beta3))),ToReal(2)))))))); - JacPDstandardNth33alpha = - kmadd(dJ133L,PDstandardNth1alpha,kmadd(dJ233L,PDstandardNth2alpha,kmadd(dJ333L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,kmul(J13L,J13L),kmadd(PDstandardNth22alpha,kmul(J23L,J23L),kmadd(PDstandardNth33alpha,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmul(J23L,kmul(J33L,PDstandardNth23alpha))),ToReal(2)))))))); - JacPDstandardNth33beta1 = kmadd(dJ133L,PDstandardNth1beta1,kmadd(dJ233L,PDstandardNth2beta1,kmadd(dJ333L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,kmul(J13L,J13L),kmadd(PDstandardNth22beta1,kmul(J23L,J23L),kmadd(PDstandardNth33beta1,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmul(J23L,kmul(J33L,PDstandardNth23beta1))),ToReal(2)))))))); @@ -896,9 +844,6 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth33beta3 = kmadd(dJ133L,PDstandardNth1beta3,kmadd(dJ233L,PDstandardNth2beta3,kmadd(dJ333L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,kmul(J13L,J13L),kmadd(PDstandardNth22beta3,kmul(J23L,J23L),kmadd(PDstandardNth33beta3,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmul(J23L,kmul(J33L,PDstandardNth23beta3))),ToReal(2)))))))); - JacPDstandardNth12alpha = - kmadd(J12L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmadd(dJ112L,PDstandardNth1alpha,kmadd(J22L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ212L,PDstandardNth2alpha,kmadd(J32L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ312L,PDstandardNth3alpha))))))); - JacPDstandardNth12beta1 = kmadd(J12L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmadd(dJ112L,PDstandardNth1beta1,kmadd(J22L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ212L,PDstandardNth2beta1,kmadd(J32L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ312L,PDstandardNth3beta1))))))); @@ -908,9 +853,6 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth12beta3 = kmadd(J12L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmadd(dJ112L,PDstandardNth1beta3,kmadd(J22L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ212L,PDstandardNth2beta3,kmadd(J32L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ312L,PDstandardNth3beta3))))))); - JacPDstandardNth13alpha = - kmadd(J13L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ113L,PDstandardNth1alpha,kmadd(J23L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ213L,PDstandardNth2alpha,kmadd(J33L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ313L,PDstandardNth3alpha))))))); - JacPDstandardNth13beta1 = kmadd(J13L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ113L,PDstandardNth1beta1,kmadd(J23L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ213L,PDstandardNth2beta1,kmadd(J33L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ313L,PDstandardNth3beta1))))))); @@ -920,9 +862,6 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth13beta3 = kmadd(J13L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmadd(dJ113L,PDstandardNth1beta3,kmadd(J23L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ213L,PDstandardNth2beta3,kmadd(J33L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ313L,PDstandardNth3beta3))))))); - JacPDstandardNth21alpha = - kmadd(J12L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmadd(dJ112L,PDstandardNth1alpha,kmadd(J22L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ212L,PDstandardNth2alpha,kmadd(J32L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ312L,PDstandardNth3alpha))))))); - JacPDstandardNth21beta1 = kmadd(J12L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmadd(dJ112L,PDstandardNth1beta1,kmadd(J22L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ212L,PDstandardNth2beta1,kmadd(J32L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ312L,PDstandardNth3beta1))))))); @@ -932,9 +871,6 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth21beta3 = kmadd(J12L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmadd(dJ112L,PDstandardNth1beta3,kmadd(J22L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ212L,PDstandardNth2beta3,kmadd(J32L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ312L,PDstandardNth3beta3))))))); - JacPDstandardNth23alpha = - kmadd(J13L,kmadd(J12L,PDstandardNth11alpha,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha))),kmadd(J12L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ123L,PDstandardNth1alpha,kmadd(J23L,kmadd(J22L,PDstandardNth22alpha,kmul(J32L,PDstandardNth23alpha)),kmadd(dJ223L,PDstandardNth2alpha,kmadd(J33L,kmadd(J22L,PDstandardNth23alpha,kmul(J32L,PDstandardNth33alpha)),kmul(dJ323L,PDstandardNth3alpha))))))); - JacPDstandardNth23beta1 = kmadd(J13L,kmadd(J12L,PDstandardNth11beta1,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ123L,PDstandardNth1beta1,kmadd(J23L,kmadd(J22L,PDstandardNth22beta1,kmul(J32L,PDstandardNth23beta1)),kmadd(dJ223L,PDstandardNth2beta1,kmadd(J33L,kmadd(J22L,PDstandardNth23beta1,kmul(J32L,PDstandardNth33beta1)),kmul(dJ323L,PDstandardNth3beta1))))))); @@ -944,9 +880,6 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth23beta3 = kmadd(J13L,kmadd(J12L,PDstandardNth11beta3,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmadd(dJ123L,PDstandardNth1beta3,kmadd(J23L,kmadd(J22L,PDstandardNth22beta3,kmul(J32L,PDstandardNth23beta3)),kmadd(dJ223L,PDstandardNth2beta3,kmadd(J33L,kmadd(J22L,PDstandardNth23beta3,kmul(J32L,PDstandardNth33beta3)),kmul(dJ323L,PDstandardNth3beta3))))))); - JacPDstandardNth31alpha = - kmadd(J13L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ113L,PDstandardNth1alpha,kmadd(J23L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ213L,PDstandardNth2alpha,kmadd(J33L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ313L,PDstandardNth3alpha))))))); - JacPDstandardNth31beta1 = kmadd(J13L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ113L,PDstandardNth1beta1,kmadd(J23L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ213L,PDstandardNth2beta1,kmadd(J33L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ313L,PDstandardNth3beta1))))))); @@ -956,9 +889,6 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth31beta3 = kmadd(J13L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmadd(dJ113L,PDstandardNth1beta3,kmadd(J23L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ213L,PDstandardNth2beta3,kmadd(J33L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ313L,PDstandardNth3beta3))))))); - JacPDstandardNth32alpha = - kmadd(J13L,kmadd(J12L,PDstandardNth11alpha,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha))),kmadd(J12L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ123L,PDstandardNth1alpha,kmadd(J23L,kmadd(J22L,PDstandardNth22alpha,kmul(J32L,PDstandardNth23alpha)),kmadd(dJ223L,PDstandardNth2alpha,kmadd(J33L,kmadd(J22L,PDstandardNth23alpha,kmul(J32L,PDstandardNth33alpha)),kmul(dJ323L,PDstandardNth3alpha))))))); - JacPDstandardNth32beta1 = kmadd(J13L,kmadd(J12L,PDstandardNth11beta1,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ123L,PDstandardNth1beta1,kmadd(J23L,kmadd(J22L,PDstandardNth22beta1,kmul(J32L,PDstandardNth23beta1)),kmadd(dJ223L,PDstandardNth2beta1,kmadd(J33L,kmadd(J22L,PDstandardNth23beta1,kmul(J32L,PDstandardNth33beta1)),kmul(dJ323L,PDstandardNth3beta1))))))); @@ -970,7 +900,7 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c } else { - JacPDstandardNth1alpha = PDstandardNth1alpha; + JacPDstandardNth1alp = PDstandardNth1alp; JacPDstandardNth1beta1 = PDstandardNth1beta1; @@ -994,7 +924,7 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth1trK = PDstandardNth1trK; - JacPDstandardNth2alpha = PDstandardNth2alpha; + JacPDstandardNth2alp = PDstandardNth2alp; JacPDstandardNth2beta1 = PDstandardNth2beta1; @@ -1018,7 +948,7 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth2trK = PDstandardNth2trK; - JacPDstandardNth3alpha = PDstandardNth3alpha; + JacPDstandardNth3alp = PDstandardNth3alp; JacPDstandardNth3beta1 = PDstandardNth3beta1; @@ -1042,72 +972,54 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth3trK = PDstandardNth3trK; - JacPDstandardNth11alpha = PDstandardNth11alpha; - JacPDstandardNth11beta1 = PDstandardNth11beta1; JacPDstandardNth11beta2 = PDstandardNth11beta2; JacPDstandardNth11beta3 = PDstandardNth11beta3; - JacPDstandardNth22alpha = PDstandardNth22alpha; - JacPDstandardNth22beta1 = PDstandardNth22beta1; JacPDstandardNth22beta2 = PDstandardNth22beta2; JacPDstandardNth22beta3 = PDstandardNth22beta3; - JacPDstandardNth33alpha = PDstandardNth33alpha; - JacPDstandardNth33beta1 = PDstandardNth33beta1; JacPDstandardNth33beta2 = PDstandardNth33beta2; JacPDstandardNth33beta3 = PDstandardNth33beta3; - JacPDstandardNth12alpha = PDstandardNth12alpha; - JacPDstandardNth12beta1 = PDstandardNth12beta1; JacPDstandardNth12beta2 = PDstandardNth12beta2; JacPDstandardNth12beta3 = PDstandardNth12beta3; - JacPDstandardNth13alpha = PDstandardNth13alpha; - JacPDstandardNth13beta1 = PDstandardNth13beta1; JacPDstandardNth13beta2 = PDstandardNth13beta2; JacPDstandardNth13beta3 = PDstandardNth13beta3; - JacPDstandardNth21alpha = PDstandardNth12alpha; - JacPDstandardNth21beta1 = PDstandardNth12beta1; JacPDstandardNth21beta2 = PDstandardNth12beta2; JacPDstandardNth21beta3 = PDstandardNth12beta3; - JacPDstandardNth23alpha = PDstandardNth23alpha; - JacPDstandardNth23beta1 = PDstandardNth23beta1; JacPDstandardNth23beta2 = PDstandardNth23beta2; JacPDstandardNth23beta3 = PDstandardNth23beta3; - JacPDstandardNth31alpha = PDstandardNth13alpha; - JacPDstandardNth31beta1 = PDstandardNth13beta1; JacPDstandardNth31beta2 = PDstandardNth13beta2; JacPDstandardNth31beta3 = PDstandardNth13beta3; - JacPDstandardNth32alpha = PDstandardNth23alpha; - JacPDstandardNth32beta1 = PDstandardNth23beta1; JacPDstandardNth32beta2 = PDstandardNth23beta2; @@ -1315,50 +1227,50 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c kmadd(Atm31,gtu13,kmadd(Atm32,gtu23,kmul(Atm33,gtu33))); CCTK_REAL_VEC rho CCTK_ATTRIBUTE_UNUSED = - kdiv(kadd(eTttL,kmadd(eTxxL,kmul(beta1L,beta1L),kmadd(eTyyL,kmul(beta2L,beta2L),kmadd(eTzzL,kmul(beta3L,beta3L),kmadd(kmadd(beta2L,eTtyL,kmul(beta3L,eTtzL)),ToReal(-2),kmul(kmadd(beta2L,kmul(beta3L,eTyzL),kmul(beta1L,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL)))),ToReal(2))))))),kmul(alphaL,alphaL)); + kdiv(kadd(eTttL,kmadd(eTxxL,kmul(beta1L,beta1L),kmadd(eTyyL,kmul(beta2L,beta2L),kmadd(eTzzL,kmul(beta3L,beta3L),kmadd(kmadd(beta2L,eTtyL,kmul(beta3L,eTtzL)),ToReal(-2),kmul(kmadd(beta2L,kmul(beta3L,eTyzL),kmul(beta1L,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL)))),ToReal(2))))))),kmul(alpL,alpL)); CCTK_REAL_VEC S1 CCTK_ATTRIBUTE_UNUSED = - kdiv(kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL))),alphaL); + kdiv(kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL))),alpL); CCTK_REAL_VEC S2 CCTK_ATTRIBUTE_UNUSED = - kdiv(kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmsub(beta3L,eTyzL,eTtyL))),alphaL); + kdiv(kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmsub(beta3L,eTyzL,eTtyL))),alpL); CCTK_REAL_VEC S3 CCTK_ATTRIBUTE_UNUSED = - kdiv(kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmsub(beta3L,eTzzL,eTtzL))),alphaL); + kdiv(kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmsub(beta3L,eTzzL,eTtzL))),alpL); CCTK_REAL_VEC trS CCTK_ATTRIBUTE_UNUSED = kmul(em4phi,kmadd(eTxxL,gtu11,kmadd(eTyyL,gtu22,kmadd(eTzzL,gtu33,kmul(kmadd(eTxyL,gtu12,kmadd(eTxzL,gtu13,kmul(eTyzL,gtu23))),ToReal(2)))))); CCTK_REAL_VEC phirhsL CCTK_ATTRIBUTE_UNUSED = kneg(kmul(IfThen(conformalMethod == - 1,kmul(phiL,ToReal(0.333333333333333333333333333333)),ToReal(-0.166666666666666666666666666667)),kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,knmsub(alphaL,trKL,JacPDstandardNth3beta3))))); + 1,kmul(phiL,ToReal(0.333333333333333333333333333333)),ToReal(-0.166666666666666666666666666667)),kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,knmsub(alpL,trKL,JacPDstandardNth3beta3))))); CCTK_REAL_VEC gt11rhsL CCTK_ATTRIBUTE_UNUSED = - kmadd(alphaL,kmul(At11L,ToReal(-2)),kmadd(gt11L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmul(kmadd(gt11L,JacPDstandardNth1beta1,kmadd(gt12L,JacPDstandardNth1beta2,kmul(gt13L,JacPDstandardNth1beta3))),ToReal(2)))); + kmadd(alpL,kmul(At11L,ToReal(-2)),kmadd(gt11L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmul(kmadd(gt11L,JacPDstandardNth1beta1,kmadd(gt12L,JacPDstandardNth1beta2,kmul(gt13L,JacPDstandardNth1beta3))),ToReal(2)))); CCTK_REAL_VEC gt12rhsL CCTK_ATTRIBUTE_UNUSED = - kmadd(gt22L,JacPDstandardNth1beta2,kmadd(gt23L,JacPDstandardNth1beta3,kmadd(gt11L,JacPDstandardNth2beta1,kmadd(gt13L,JacPDstandardNth2beta3,kmadd(alphaL,kmul(At12L,ToReal(-2)),kmul(gt12L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth2beta2)))))))); + kmadd(gt22L,JacPDstandardNth1beta2,kmadd(gt23L,JacPDstandardNth1beta3,kmadd(gt11L,JacPDstandardNth2beta1,kmadd(gt13L,JacPDstandardNth2beta3,kmadd(alpL,kmul(At12L,ToReal(-2)),kmul(gt12L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth2beta2)))))))); CCTK_REAL_VEC gt13rhsL CCTK_ATTRIBUTE_UNUSED = - kmadd(gt23L,JacPDstandardNth1beta2,kmadd(gt33L,JacPDstandardNth1beta3,kmadd(gt11L,JacPDstandardNth3beta1,kmadd(gt12L,JacPDstandardNth3beta2,kmadd(alphaL,kmul(At13L,ToReal(-2)),kmul(gt13L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)))))))); + kmadd(gt23L,JacPDstandardNth1beta2,kmadd(gt33L,JacPDstandardNth1beta3,kmadd(gt11L,JacPDstandardNth3beta1,kmadd(gt12L,JacPDstandardNth3beta2,kmadd(alpL,kmul(At13L,ToReal(-2)),kmul(gt13L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)))))))); CCTK_REAL_VEC gt22rhsL CCTK_ATTRIBUTE_UNUSED = - kmadd(alphaL,kmul(At22L,ToReal(-2)),kmadd(gt22L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmul(kmadd(gt12L,JacPDstandardNth2beta1,kmadd(gt22L,JacPDstandardNth2beta2,kmul(gt23L,JacPDstandardNth2beta3))),ToReal(2)))); + kmadd(alpL,kmul(At22L,ToReal(-2)),kmadd(gt22L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmul(kmadd(gt12L,JacPDstandardNth2beta1,kmadd(gt22L,JacPDstandardNth2beta2,kmul(gt23L,JacPDstandardNth2beta3))),ToReal(2)))); CCTK_REAL_VEC gt23rhsL CCTK_ATTRIBUTE_UNUSED = - kmadd(gt13L,JacPDstandardNth2beta1,kmadd(gt33L,JacPDstandardNth2beta3,kmadd(gt12L,JacPDstandardNth3beta1,kmadd(gt22L,JacPDstandardNth3beta2,kmadd(alphaL,kmul(At23L,ToReal(-2)),kmul(gt23L,kadd(JacPDstandardNth2beta2,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)))))))); + kmadd(gt13L,JacPDstandardNth2beta1,kmadd(gt33L,JacPDstandardNth2beta3,kmadd(gt12L,JacPDstandardNth3beta1,kmadd(gt22L,JacPDstandardNth3beta2,kmadd(alpL,kmul(At23L,ToReal(-2)),kmul(gt23L,kadd(JacPDstandardNth2beta2,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)))))))); CCTK_REAL_VEC gt33rhsL CCTK_ATTRIBUTE_UNUSED = - kmadd(alphaL,kmul(At33L,ToReal(-2)),kmadd(gt33L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmul(kmadd(gt13L,JacPDstandardNth3beta1,kmadd(gt23L,JacPDstandardNth3beta2,kmul(gt33L,JacPDstandardNth3beta3))),ToReal(2)))); + kmadd(alpL,kmul(At33L,ToReal(-2)),kmadd(gt33L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmul(kmadd(gt13L,JacPDstandardNth3beta1,kmadd(gt23L,JacPDstandardNth3beta2,kmul(gt33L,JacPDstandardNth3beta3))),ToReal(2)))); CCTK_REAL_VEC dotXt1 CCTK_ATTRIBUTE_UNUSED = - kmadd(gtu11,JacPDstandardNth11beta1,kmadd(gtu12,kadd(JacPDstandardNth12beta1,JacPDstandardNth21beta1),kmadd(gtu22,JacPDstandardNth22beta1,kmadd(gtu13,kadd(JacPDstandardNth13beta1,JacPDstandardNth31beta1),kmadd(gtu23,kadd(JacPDstandardNth23beta1,JacPDstandardNth32beta1),kmadd(gtu33,JacPDstandardNth33beta1,kmadd(kmadd(Atu11,JacPDstandardNth1alpha,kmadd(Atu12,JacPDstandardNth2alpha,kmul(Atu13,JacPDstandardNth3alpha))),ToReal(-2),knmsub(JacPDstandardNth2beta1,Xtn2,knmsub(JacPDstandardNth3beta1,Xtn3,kmadd(kmadd(gtu11,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu12,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu13,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn1,kmsub(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667),JacPDstandardNth1beta1),kmul(alphaL,kmadd(ToReal(2),kmadd(Atu11,Gt111,kmadd(Atu22,Gt122,kmadd(Atu33,Gt133,kmadd(kmadd(gtu11,JacPDstandardNth1trK,kmadd(gtu12,JacPDstandardNth2trK,kmul(gtu13,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(Atu12,kmul(Gt112,ToReal(2)),kmadd(Atu13,kmul(Gt113,ToReal(2)),kmadd(Atu23,kmul(Gt123,ToReal(2)),kmul(kmadd(Atu11,cdphi1,kmadd(Atu12,cdphi2,kmul(Atu13,cdphi3))),ToReal(6))))))))),kmul(kmadd(gtu11,S1,kmadd(gtu12,S2,kmul(gtu13,S3))),ToReal(-50.2654824574366918154022941325))))))))))))))); + kmadd(gtu11,JacPDstandardNth11beta1,kmadd(gtu12,kadd(JacPDstandardNth12beta1,JacPDstandardNth21beta1),kmadd(gtu22,JacPDstandardNth22beta1,kmadd(gtu13,kadd(JacPDstandardNth13beta1,JacPDstandardNth31beta1),kmadd(gtu23,kadd(JacPDstandardNth23beta1,JacPDstandardNth32beta1),kmadd(gtu33,JacPDstandardNth33beta1,kmadd(kmadd(Atu11,JacPDstandardNth1alp,kmadd(Atu12,JacPDstandardNth2alp,kmul(Atu13,JacPDstandardNth3alp))),ToReal(-2),knmsub(JacPDstandardNth2beta1,Xtn2,knmsub(JacPDstandardNth3beta1,Xtn3,kmadd(kmadd(gtu11,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu12,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu13,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn1,kmsub(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667),JacPDstandardNth1beta1),kmul(alpL,kmadd(ToReal(2),kmadd(Atu11,Gt111,kmadd(Atu22,Gt122,kmadd(Atu33,Gt133,kmadd(kmadd(gtu11,JacPDstandardNth1trK,kmadd(gtu12,JacPDstandardNth2trK,kmul(gtu13,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(Atu12,kmul(Gt112,ToReal(2)),kmadd(Atu13,kmul(Gt113,ToReal(2)),kmadd(Atu23,kmul(Gt123,ToReal(2)),kmul(kmadd(Atu11,cdphi1,kmadd(Atu12,cdphi2,kmul(Atu13,cdphi3))),ToReal(6))))))))),kmul(kmadd(gtu11,S1,kmadd(gtu12,S2,kmul(gtu13,S3))),ToReal(-50.2654824574366918154022941325))))))))))))))); CCTK_REAL_VEC dotXt2 CCTK_ATTRIBUTE_UNUSED = - kmadd(gtu11,JacPDstandardNth11beta2,kmadd(gtu12,kadd(JacPDstandardNth12beta2,JacPDstandardNth21beta2),kmadd(gtu22,JacPDstandardNth22beta2,kmadd(gtu13,kadd(JacPDstandardNth13beta2,JacPDstandardNth31beta2),kmadd(gtu23,kadd(JacPDstandardNth23beta2,JacPDstandardNth32beta2),kmadd(gtu33,JacPDstandardNth33beta2,kmadd(kmadd(Atu12,JacPDstandardNth1alpha,kmadd(Atu22,JacPDstandardNth2alpha,kmul(Atu23,JacPDstandardNth3alpha))),ToReal(-2),knmsub(JacPDstandardNth1beta2,Xtn1,knmsub(JacPDstandardNth3beta2,Xtn3,kmadd(kmadd(gtu12,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu22,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu23,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn2,kmsub(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667),JacPDstandardNth2beta2),kmul(alphaL,kmadd(ToReal(2),kmadd(Atu11,Gt211,kmadd(Atu22,Gt222,kmadd(Atu33,Gt233,kmadd(kmadd(gtu12,JacPDstandardNth1trK,kmadd(gtu22,JacPDstandardNth2trK,kmul(gtu23,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(Atu12,kmul(Gt212,ToReal(2)),kmadd(Atu13,kmul(Gt213,ToReal(2)),kmadd(Atu23,kmul(Gt223,ToReal(2)),kmul(kmadd(Atu12,cdphi1,kmadd(Atu22,cdphi2,kmul(Atu23,cdphi3))),ToReal(6))))))))),kmul(kmadd(gtu12,S1,kmadd(gtu22,S2,kmul(gtu23,S3))),ToReal(-50.2654824574366918154022941325))))))))))))))); + kmadd(gtu11,JacPDstandardNth11beta2,kmadd(gtu12,kadd(JacPDstandardNth12beta2,JacPDstandardNth21beta2),kmadd(gtu22,JacPDstandardNth22beta2,kmadd(gtu13,kadd(JacPDstandardNth13beta2,JacPDstandardNth31beta2),kmadd(gtu23,kadd(JacPDstandardNth23beta2,JacPDstandardNth32beta2),kmadd(gtu33,JacPDstandardNth33beta2,kmadd(kmadd(Atu12,JacPDstandardNth1alp,kmadd(Atu22,JacPDstandardNth2alp,kmul(Atu23,JacPDstandardNth3alp))),ToReal(-2),knmsub(JacPDstandardNth1beta2,Xtn1,knmsub(JacPDstandardNth3beta2,Xtn3,kmadd(kmadd(gtu12,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu22,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu23,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn2,kmsub(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667),JacPDstandardNth2beta2),kmul(alpL,kmadd(ToReal(2),kmadd(Atu11,Gt211,kmadd(Atu22,Gt222,kmadd(Atu33,Gt233,kmadd(kmadd(gtu12,JacPDstandardNth1trK,kmadd(gtu22,JacPDstandardNth2trK,kmul(gtu23,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(Atu12,kmul(Gt212,ToReal(2)),kmadd(Atu13,kmul(Gt213,ToReal(2)),kmadd(Atu23,kmul(Gt223,ToReal(2)),kmul(kmadd(Atu12,cdphi1,kmadd(Atu22,cdphi2,kmul(Atu23,cdphi3))),ToReal(6))))))))),kmul(kmadd(gtu12,S1,kmadd(gtu22,S2,kmul(gtu23,S3))),ToReal(-50.2654824574366918154022941325))))))))))))))); CCTK_REAL_VEC dotXt3 CCTK_ATTRIBUTE_UNUSED = - kmadd(gtu11,JacPDstandardNth11beta3,kmadd(gtu12,kadd(JacPDstandardNth12beta3,JacPDstandardNth21beta3),kmadd(gtu22,JacPDstandardNth22beta3,kmadd(gtu13,kadd(JacPDstandardNth13beta3,JacPDstandardNth31beta3),kmadd(gtu23,kadd(JacPDstandardNth23beta3,JacPDstandardNth32beta3),kmadd(gtu33,JacPDstandardNth33beta3,kmadd(kmadd(Atu13,JacPDstandardNth1alpha,kmadd(Atu23,JacPDstandardNth2alpha,kmul(Atu33,JacPDstandardNth3alpha))),ToReal(-2),knmsub(JacPDstandardNth1beta3,Xtn1,knmsub(JacPDstandardNth2beta3,Xtn2,kmadd(kmadd(gtu13,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu23,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu33,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn3,kmsub(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667),JacPDstandardNth3beta3),kmul(alphaL,kmadd(ToReal(2),kmadd(Atu11,Gt311,kmadd(Atu22,Gt322,kmadd(Atu33,Gt333,kmadd(kmadd(gtu13,JacPDstandardNth1trK,kmadd(gtu23,JacPDstandardNth2trK,kmul(gtu33,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(Atu12,kmul(Gt312,ToReal(2)),kmadd(Atu13,kmul(Gt313,ToReal(2)),kmadd(Atu23,kmul(Gt323,ToReal(2)),kmul(kmadd(Atu13,cdphi1,kmadd(Atu23,cdphi2,kmul(Atu33,cdphi3))),ToReal(6))))))))),kmul(kmadd(gtu13,S1,kmadd(gtu23,S2,kmul(gtu33,S3))),ToReal(-50.2654824574366918154022941325))))))))))))))); + kmadd(gtu11,JacPDstandardNth11beta3,kmadd(gtu12,kadd(JacPDstandardNth12beta3,JacPDstandardNth21beta3),kmadd(gtu22,JacPDstandardNth22beta3,kmadd(gtu13,kadd(JacPDstandardNth13beta3,JacPDstandardNth31beta3),kmadd(gtu23,kadd(JacPDstandardNth23beta3,JacPDstandardNth32beta3),kmadd(gtu33,JacPDstandardNth33beta3,kmadd(kmadd(Atu13,JacPDstandardNth1alp,kmadd(Atu23,JacPDstandardNth2alp,kmul(Atu33,JacPDstandardNth3alp))),ToReal(-2),knmsub(JacPDstandardNth1beta3,Xtn1,knmsub(JacPDstandardNth2beta3,Xtn2,kmadd(kmadd(gtu13,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,JacPDstandardNth13beta3)),kmadd(gtu23,kadd(JacPDstandardNth21beta1,kadd(JacPDstandardNth22beta2,JacPDstandardNth23beta3)),kmul(gtu33,kadd(JacPDstandardNth31beta1,kadd(JacPDstandardNth32beta2,JacPDstandardNth33beta3))))),ToReal(0.333333333333333333333333333333),kmadd(Xtn3,kmsub(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.666666666666666666666666666667),JacPDstandardNth3beta3),kmul(alpL,kmadd(ToReal(2),kmadd(Atu11,Gt311,kmadd(Atu22,Gt322,kmadd(Atu33,Gt333,kmadd(kmadd(gtu13,JacPDstandardNth1trK,kmadd(gtu23,JacPDstandardNth2trK,kmul(gtu33,JacPDstandardNth3trK))),ToReal(-0.666666666666666666666666666667),kmadd(Atu12,kmul(Gt312,ToReal(2)),kmadd(Atu13,kmul(Gt313,ToReal(2)),kmadd(Atu23,kmul(Gt323,ToReal(2)),kmul(kmadd(Atu13,cdphi1,kmadd(Atu23,cdphi2,kmul(Atu33,cdphi3))),ToReal(6))))))))),kmul(kmadd(gtu13,S1,kmadd(gtu23,S2,kmul(gtu33,S3))),ToReal(-50.2654824574366918154022941325))))))))))))))); CCTK_REAL_VEC Xt1rhsL CCTK_ATTRIBUTE_UNUSED = dotXt1; @@ -1367,17 +1279,10 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c CCTK_REAL_VEC Xt3rhsL CCTK_ATTRIBUTE_UNUSED = dotXt3; CCTK_REAL_VEC dottrK CCTK_ATTRIBUTE_UNUSED = - kmsub(alphaL,kmadd(Atm11,Atm11,kmadd(Atm22,Atm22,kmadd(Atm33,Atm33,kmadd(kmul(trKL,trKL),ToReal(0.333333333333333333333333333333),kmadd(kmadd(Atm12,Atm21,kmadd(Atm13,Atm31,kmul(Atm23,Atm32))),ToReal(2),kmul(kadd(rho,trS),ToReal(12.5663706143591729538505735331))))))),kmul(em4phi,knmsub(JacPDstandardNth1alpha,Xtn1,knmsub(JacPDstandardNth2alpha,Xtn2,knmsub(JacPDstandardNth3alpha,Xtn3,kmadd(gtu11,kmadd(cdphi1,kmul(JacPDstandardNth1alpha,ToReal(2)),JacPDstandardNth11alpha),kmadd(gtu12,kadd(JacPDstandardNth12alpha,kadd(JacPDstandardNth21alpha,kmadd(cdphi2,kmul(JacPDstandardNth1alpha,ToReal(2)),kmul(cdphi1,kmul(JacPDstandardNth2alpha,ToReal(2)))))),kmadd(gtu22,kmadd(cdphi2,kmul(JacPDstandardNth2alpha,ToReal(2)),JacPDstandardNth22alpha),kmadd(gtu13,kadd(JacPDstandardNth13alpha,kadd(JacPDstandardNth31alpha,kmadd(cdphi3,kmul(JacPDstandardNth1alpha,ToReal(2)),kmul(cdphi1,kmul(JacPDstandardNth3alpha,ToReal(2)))))),kmadd(gtu23,kadd(JacPDstandardNth23alpha,kadd(JacPDstandardNth32alpha,kmadd(cdphi3,kmul(JacPDstandardNth2alpha,ToReal(2)),kmul(cdphi2,kmul(JacPDstandardNth3alpha,ToReal(2)))))),kmul(gtu33,kmadd(cdphi3,kmul(JacPDstandardNth3alpha,ToReal(2)),JacPDstandardNth33alpha)))))))))))); + kadd(term1L,kadd(term2L,kmadd(alpL,kmul(kadd(rho,trS),ToReal(12.5663706143591729538505735331)),term3L))); CCTK_REAL_VEC trKrhsL CCTK_ATTRIBUTE_UNUSED = dottrK; - CCTK_REAL_VEC alpharhsL CCTK_ATTRIBUTE_UNUSED = - kneg(kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(AL,ToReal(LapseACoeff),kmul(kmadd(kadd(alphaL,ToReal(-1)),ToReal(AlphaDriver),trKL),ToReal(1 - - LapseACoeff)))))); - - CCTK_REAL_VEC ArhsL CCTK_ATTRIBUTE_UNUSED = - kmul(knmsub(AL,ToReal(AlphaDriver),dottrK),ToReal(LapseACoeff)); - CCTK_REAL_VEC eta CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(SpatialBetaDriverRadius),kfmax(rL,ToReal(SpatialBetaDriverRadius))); @@ -1400,31 +1305,31 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c if (harmonicShift) { beta1rhsL = - kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu11,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod + kmul(alpL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu11,kmadd(alpL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod == - 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2))),kmadd(gtu12,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alp,ToReal(2))),kmadd(gtu12,kmadd(alpL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod == - 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2))),kmul(gtu13,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alp,ToReal(2))),kmul(gtu13,kmadd(alpL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod == - 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2))))))))); + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alp,ToReal(2))))))))); beta2rhsL = - kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu12,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod + kmul(alpL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu12,kmadd(alpL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod == - 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2))),kmadd(gtu22,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alp,ToReal(2))),kmadd(gtu22,kmadd(alpL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod == - 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2))),kmul(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alp,ToReal(2))),kmul(gtu23,kmadd(alpL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod == - 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2))))))))); + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alp,ToReal(2))))))))); beta3rhsL = - kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu13,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod + kmul(alpL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu13,kmadd(alpL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod == - 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alpha,ToReal(2))),kmadd(gtu23,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt1),kmul(JacPDstandardNth1alp,ToReal(2))),kmadd(gtu23,kmadd(alpL,kmadd(kmadd(gtu11,JacPDstandardNth1gt12,kmadd(gtu12,kadd(JacPDstandardNth1gt22,JacPDstandardNth2gt12),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu13,kadd(JacPDstandardNth1gt23,JacPDstandardNth3gt12),kmadd(gtu23,kadd(JacPDstandardNth2gt23,JacPDstandardNth3gt22),kmadd(gtu33,JacPDstandardNth3gt23,kmul(JacPDstandardNth2phi,IfThen(conformalMethod == - 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alpha,ToReal(2))),kmul(gtu33,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt2),kmul(JacPDstandardNth2alp,ToReal(2))),kmul(gtu33,kmadd(alpL,kmadd(kmadd(gtu11,JacPDstandardNth1gt13,kmadd(gtu12,kadd(JacPDstandardNth1gt23,JacPDstandardNth2gt13),kmadd(gtu22,JacPDstandardNth2gt23,kmadd(gtu13,kadd(JacPDstandardNth1gt33,JacPDstandardNth3gt13),kmadd(gtu23,kadd(JacPDstandardNth2gt33,JacPDstandardNth3gt23),kmadd(gtu33,JacPDstandardNth3gt33,kmul(JacPDstandardNth3phi,IfThen(conformalMethod == - 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alpha,ToReal(2))))))))); + 1,kdiv(ToReal(1),phiL),ToReal(-2))))))))),ToReal(-2),Ddetgt3),kmul(JacPDstandardNth3alp,ToReal(2))))))))); } else { @@ -1442,18 +1347,16 @@ static void ML_BSSN_RHS1_Body(const cGH* restrict const cctkGH, const int dir, c } CCTK_REAL_VEC B1rhsL CCTK_ATTRIBUTE_UNUSED = - kmul(knmsub(B1L,kmul(eta,ToReal(BetaDriver)),dotXt1),ToReal(ShiftBCoeff)); + kmadd(JacPDstandardNth1trK,ToReal(ShiftA2Coeff),kmul(knmsub(B1L,kmul(eta,ToReal(BetaDriver)),dotXt1),ToReal(ShiftBCoeff))); CCTK_REAL_VEC B2rhsL CCTK_ATTRIBUTE_UNUSED = - kmul(knmsub(B2L,kmul(eta,ToReal(BetaDriver)),dotXt2),ToReal(ShiftBCoeff)); + kmadd(JacPDstandardNth2trK,ToReal(ShiftA2Coeff),kmul(knmsub(B2L,kmul(eta,ToReal(BetaDriver)),dotXt2),ToReal(ShiftBCoeff))); CCTK_REAL_VEC B3rhsL CCTK_ATTRIBUTE_UNUSED = - kmul(knmsub(B3L,kmul(eta,ToReal(BetaDriver)),dotXt3),ToReal(ShiftBCoeff)); + kmadd(JacPDstandardNth3trK,ToReal(ShiftA2Coeff),kmul(knmsub(B3L,kmul(eta,ToReal(BetaDriver)),dotXt3),ToReal(ShiftBCoeff))); /* Copy local copies back to grid functions */ vec_store_partial_prepare(i,vecimin,vecimax); - vec_store_nta_partial(alpharhs[index],alpharhsL); - vec_store_nta_partial(Arhs[index],ArhsL); vec_store_nta_partial(B1rhs[index],B1rhsL); vec_store_nta_partial(B2rhs[index],B2rhsL); vec_store_nta_partial(B3rhs[index],B3rhsL); @@ -1492,22 +1395,22 @@ extern "C" void ML_BSSN_RHS1(CCTK_ARGUMENTS) } const char* const groups[] = { + "ADMBase::lapse", "grid::coordinates", "ML_BSSN::ML_curv", - "ML_BSSN::ML_dtlapse", - "ML_BSSN::ML_dtlapserhs", "ML_BSSN::ML_dtshift", "ML_BSSN::ML_dtshiftrhs", "ML_BSSN::ML_Gamma", "ML_BSSN::ML_Gammarhs", - "ML_BSSN::ML_lapse", - "ML_BSSN::ML_lapserhs", "ML_BSSN::ML_log_confac", "ML_BSSN::ML_log_confacrhs", "ML_BSSN::ML_metric", "ML_BSSN::ML_metricrhs", "ML_BSSN::ML_shift", "ML_BSSN::ML_shiftrhs", + "ML_BSSN::ML_term1", + "ML_BSSN::ML_term2", + "ML_BSSN::ML_term3", "ML_BSSN::ML_trace_curv", "ML_BSSN::ML_trace_curvrhs"}; GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_RHS1", 18, groups); diff --git a/ML_BSSN/src/ML_BSSN_RHS2.cc b/ML_BSSN/src/ML_BSSN_RHS2.cc index 08352bd..e9eb3e5 100644 --- a/ML_BSSN/src/ML_BSSN_RHS2.cc +++ b/ML_BSSN/src/ML_BSSN_RHS2.cc @@ -231,7 +231,7 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c /* Assign local copies of grid functions */ - CCTK_REAL_VEC alphaL CCTK_ATTRIBUTE_UNUSED = vec_load(alpha[index]); + CCTK_REAL_VEC alpL CCTK_ATTRIBUTE_UNUSED = vec_load(alp[index]); CCTK_REAL_VEC At11L CCTK_ATTRIBUTE_UNUSED = vec_load(At11[index]); CCTK_REAL_VEC At12L CCTK_ATTRIBUTE_UNUSED = vec_load(At12[index]); CCTK_REAL_VEC At13L CCTK_ATTRIBUTE_UNUSED = vec_load(At13[index]); @@ -310,15 +310,15 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC PDstandardNth1alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDstandardNth2alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDstandardNth3alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1alp CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2alp CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3alp CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11alp CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22alp CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33alp CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12alp CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13alp CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23alp CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDstandardNth1beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDstandardNth2beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDstandardNth3beta1 CCTK_ATTRIBUTE_UNUSED; @@ -405,15 +405,15 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c { case 2: { - PDstandardNth1alpha = PDstandardNthfdOrder21(&alpha[index]); - PDstandardNth2alpha = PDstandardNthfdOrder22(&alpha[index]); - PDstandardNth3alpha = PDstandardNthfdOrder23(&alpha[index]); - PDstandardNth11alpha = PDstandardNthfdOrder211(&alpha[index]); - PDstandardNth22alpha = PDstandardNthfdOrder222(&alpha[index]); - PDstandardNth33alpha = PDstandardNthfdOrder233(&alpha[index]); - PDstandardNth12alpha = PDstandardNthfdOrder212(&alpha[index]); - PDstandardNth13alpha = PDstandardNthfdOrder213(&alpha[index]); - PDstandardNth23alpha = PDstandardNthfdOrder223(&alpha[index]); + PDstandardNth1alp = PDstandardNthfdOrder21(&alp[index]); + PDstandardNth2alp = PDstandardNthfdOrder22(&alp[index]); + PDstandardNth3alp = PDstandardNthfdOrder23(&alp[index]); + PDstandardNth11alp = PDstandardNthfdOrder211(&alp[index]); + PDstandardNth22alp = PDstandardNthfdOrder222(&alp[index]); + PDstandardNth33alp = PDstandardNthfdOrder233(&alp[index]); + PDstandardNth12alp = PDstandardNthfdOrder212(&alp[index]); + PDstandardNth13alp = PDstandardNthfdOrder213(&alp[index]); + PDstandardNth23alp = PDstandardNthfdOrder223(&alp[index]); PDstandardNth1beta1 = PDstandardNthfdOrder21(&beta1[index]); PDstandardNth2beta1 = PDstandardNthfdOrder22(&beta1[index]); PDstandardNth3beta1 = PDstandardNthfdOrder23(&beta1[index]); @@ -500,15 +500,15 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c case 4: { - PDstandardNth1alpha = PDstandardNthfdOrder41(&alpha[index]); - PDstandardNth2alpha = PDstandardNthfdOrder42(&alpha[index]); - PDstandardNth3alpha = PDstandardNthfdOrder43(&alpha[index]); - PDstandardNth11alpha = PDstandardNthfdOrder411(&alpha[index]); - PDstandardNth22alpha = PDstandardNthfdOrder422(&alpha[index]); - PDstandardNth33alpha = PDstandardNthfdOrder433(&alpha[index]); - PDstandardNth12alpha = PDstandardNthfdOrder412(&alpha[index]); - PDstandardNth13alpha = PDstandardNthfdOrder413(&alpha[index]); - PDstandardNth23alpha = PDstandardNthfdOrder423(&alpha[index]); + PDstandardNth1alp = PDstandardNthfdOrder41(&alp[index]); + PDstandardNth2alp = PDstandardNthfdOrder42(&alp[index]); + PDstandardNth3alp = PDstandardNthfdOrder43(&alp[index]); + PDstandardNth11alp = PDstandardNthfdOrder411(&alp[index]); + PDstandardNth22alp = PDstandardNthfdOrder422(&alp[index]); + PDstandardNth33alp = PDstandardNthfdOrder433(&alp[index]); + PDstandardNth12alp = PDstandardNthfdOrder412(&alp[index]); + PDstandardNth13alp = PDstandardNthfdOrder413(&alp[index]); + PDstandardNth23alp = PDstandardNthfdOrder423(&alp[index]); PDstandardNth1beta1 = PDstandardNthfdOrder41(&beta1[index]); PDstandardNth2beta1 = PDstandardNthfdOrder42(&beta1[index]); PDstandardNth3beta1 = PDstandardNthfdOrder43(&beta1[index]); @@ -595,15 +595,15 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c case 6: { - PDstandardNth1alpha = PDstandardNthfdOrder61(&alpha[index]); - PDstandardNth2alpha = PDstandardNthfdOrder62(&alpha[index]); - PDstandardNth3alpha = PDstandardNthfdOrder63(&alpha[index]); - PDstandardNth11alpha = PDstandardNthfdOrder611(&alpha[index]); - PDstandardNth22alpha = PDstandardNthfdOrder622(&alpha[index]); - PDstandardNth33alpha = PDstandardNthfdOrder633(&alpha[index]); - PDstandardNth12alpha = PDstandardNthfdOrder612(&alpha[index]); - PDstandardNth13alpha = PDstandardNthfdOrder613(&alpha[index]); - PDstandardNth23alpha = PDstandardNthfdOrder623(&alpha[index]); + PDstandardNth1alp = PDstandardNthfdOrder61(&alp[index]); + PDstandardNth2alp = PDstandardNthfdOrder62(&alp[index]); + PDstandardNth3alp = PDstandardNthfdOrder63(&alp[index]); + PDstandardNth11alp = PDstandardNthfdOrder611(&alp[index]); + PDstandardNth22alp = PDstandardNthfdOrder622(&alp[index]); + PDstandardNth33alp = PDstandardNthfdOrder633(&alp[index]); + PDstandardNth12alp = PDstandardNthfdOrder612(&alp[index]); + PDstandardNth13alp = PDstandardNthfdOrder613(&alp[index]); + PDstandardNth23alp = PDstandardNthfdOrder623(&alp[index]); PDstandardNth1beta1 = PDstandardNthfdOrder61(&beta1[index]); PDstandardNth2beta1 = PDstandardNthfdOrder62(&beta1[index]); PDstandardNth3beta1 = PDstandardNthfdOrder63(&beta1[index]); @@ -690,15 +690,15 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c case 8: { - PDstandardNth1alpha = PDstandardNthfdOrder81(&alpha[index]); - PDstandardNth2alpha = PDstandardNthfdOrder82(&alpha[index]); - PDstandardNth3alpha = PDstandardNthfdOrder83(&alpha[index]); - PDstandardNth11alpha = PDstandardNthfdOrder811(&alpha[index]); - PDstandardNth22alpha = PDstandardNthfdOrder822(&alpha[index]); - PDstandardNth33alpha = PDstandardNthfdOrder833(&alpha[index]); - PDstandardNth12alpha = PDstandardNthfdOrder812(&alpha[index]); - PDstandardNth13alpha = PDstandardNthfdOrder813(&alpha[index]); - PDstandardNth23alpha = PDstandardNthfdOrder823(&alpha[index]); + PDstandardNth1alp = PDstandardNthfdOrder81(&alp[index]); + PDstandardNth2alp = PDstandardNthfdOrder82(&alp[index]); + PDstandardNth3alp = PDstandardNthfdOrder83(&alp[index]); + PDstandardNth11alp = PDstandardNthfdOrder811(&alp[index]); + PDstandardNth22alp = PDstandardNthfdOrder822(&alp[index]); + PDstandardNth33alp = PDstandardNthfdOrder833(&alp[index]); + PDstandardNth12alp = PDstandardNthfdOrder812(&alp[index]); + PDstandardNth13alp = PDstandardNthfdOrder813(&alp[index]); + PDstandardNth23alp = PDstandardNthfdOrder823(&alp[index]); PDstandardNth1beta1 = PDstandardNthfdOrder81(&beta1[index]); PDstandardNth2beta1 = PDstandardNthfdOrder82(&beta1[index]); PDstandardNth3beta1 = PDstandardNthfdOrder83(&beta1[index]); @@ -793,7 +793,7 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c ptrdiff_t dir3 CCTK_ATTRIBUTE_UNUSED = kisgn(beta3L); - CCTK_REAL_VEC JacPDstandardNth11alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11alp CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED; @@ -801,7 +801,7 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c CCTK_REAL_VEC JacPDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth11phi CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDstandardNth12alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12alp CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED; @@ -809,7 +809,7 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c CCTK_REAL_VEC JacPDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth12phi CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDstandardNth13alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13alp CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED; @@ -817,7 +817,7 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c CCTK_REAL_VEC JacPDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth13phi CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDstandardNth1alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1alp CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth1beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth1beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth1beta3 CCTK_ATTRIBUTE_UNUSED; @@ -837,7 +837,7 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c CCTK_REAL_VEC JacPDstandardNth21gt22 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth21gt23 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth21gt33 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDstandardNth22alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22alp CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED; @@ -845,7 +845,7 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c CCTK_REAL_VEC JacPDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth22phi CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDstandardNth23alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23alp CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED; @@ -853,7 +853,7 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c CCTK_REAL_VEC JacPDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth23phi CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDstandardNth2alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2alp CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth2beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth2beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth2beta3 CCTK_ATTRIBUTE_UNUSED; @@ -879,7 +879,7 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c CCTK_REAL_VEC JacPDstandardNth32gt22 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth32gt23 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth32gt33 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDstandardNth33alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33alp CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED; @@ -887,7 +887,7 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c CCTK_REAL_VEC JacPDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth33phi CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDstandardNth3alpha CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3alp CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth3beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth3beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth3beta3 CCTK_ATTRIBUTE_UNUSED; @@ -904,8 +904,8 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c if (use_jacobian) { - JacPDstandardNth1alpha = - kmadd(J11L,PDstandardNth1alpha,kmadd(J21L,PDstandardNth2alpha,kmul(J31L,PDstandardNth3alpha))); + JacPDstandardNth1alp = + kmadd(J11L,PDstandardNth1alp,kmadd(J21L,PDstandardNth2alp,kmul(J31L,PDstandardNth3alp))); JacPDstandardNth1beta1 = kmadd(J11L,PDstandardNth1beta1,kmadd(J21L,PDstandardNth2beta1,kmul(J31L,PDstandardNth3beta1))); @@ -946,8 +946,8 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth1Xt3 = kmadd(J11L,PDstandardNth1Xt3,kmadd(J21L,PDstandardNth2Xt3,kmul(J31L,PDstandardNth3Xt3))); - JacPDstandardNth2alpha = - kmadd(J12L,PDstandardNth1alpha,kmadd(J22L,PDstandardNth2alpha,kmul(J32L,PDstandardNth3alpha))); + JacPDstandardNth2alp = + kmadd(J12L,PDstandardNth1alp,kmadd(J22L,PDstandardNth2alp,kmul(J32L,PDstandardNth3alp))); JacPDstandardNth2beta1 = kmadd(J12L,PDstandardNth1beta1,kmadd(J22L,PDstandardNth2beta1,kmul(J32L,PDstandardNth3beta1))); @@ -988,8 +988,8 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth2Xt3 = kmadd(J12L,PDstandardNth1Xt3,kmadd(J22L,PDstandardNth2Xt3,kmul(J32L,PDstandardNth3Xt3))); - JacPDstandardNth3alpha = - kmadd(J13L,PDstandardNth1alpha,kmadd(J23L,PDstandardNth2alpha,kmul(J33L,PDstandardNth3alpha))); + JacPDstandardNth3alp = + kmadd(J13L,PDstandardNth1alp,kmadd(J23L,PDstandardNth2alp,kmul(J33L,PDstandardNth3alp))); JacPDstandardNth3beta1 = kmadd(J13L,PDstandardNth1beta1,kmadd(J23L,PDstandardNth2beta1,kmul(J33L,PDstandardNth3beta1))); @@ -1030,8 +1030,8 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth3Xt3 = kmadd(J13L,PDstandardNth1Xt3,kmadd(J23L,PDstandardNth2Xt3,kmul(J33L,PDstandardNth3Xt3))); - JacPDstandardNth11alpha = - kmadd(dJ111L,PDstandardNth1alpha,kmadd(dJ211L,PDstandardNth2alpha,kmadd(dJ311L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,kmul(J11L,J11L),kmadd(PDstandardNth22alpha,kmul(J21L,J21L),kmadd(PDstandardNth33alpha,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha)),kmul(J21L,kmul(J31L,PDstandardNth23alpha))),ToReal(2)))))))); + JacPDstandardNth11alp = + kmadd(dJ111L,PDstandardNth1alp,kmadd(dJ211L,PDstandardNth2alp,kmadd(dJ311L,PDstandardNth3alp,kmadd(PDstandardNth11alp,kmul(J11L,J11L),kmadd(PDstandardNth22alp,kmul(J21L,J21L),kmadd(PDstandardNth33alp,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12alp,kmul(J31L,PDstandardNth13alp)),kmul(J21L,kmul(J31L,PDstandardNth23alp))),ToReal(2)))))))); JacPDstandardNth11gt11 = kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J11L,J11L),kmadd(PDstandardNth22gt11,kmul(J21L,J21L),kmadd(PDstandardNth33gt11,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2)))))))); @@ -1054,8 +1054,8 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth11phi = kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J11L,J11L),kmadd(PDstandardNth22phi,kmul(J21L,J21L),kmadd(PDstandardNth33phi,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2)))))))); - JacPDstandardNth22alpha = - kmadd(dJ122L,PDstandardNth1alpha,kmadd(dJ222L,PDstandardNth2alpha,kmadd(dJ322L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,kmul(J12L,J12L),kmadd(PDstandardNth22alpha,kmul(J22L,J22L),kmadd(PDstandardNth33alpha,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmul(J22L,kmul(J32L,PDstandardNth23alpha))),ToReal(2)))))))); + JacPDstandardNth22alp = + kmadd(dJ122L,PDstandardNth1alp,kmadd(dJ222L,PDstandardNth2alp,kmadd(dJ322L,PDstandardNth3alp,kmadd(PDstandardNth11alp,kmul(J12L,J12L),kmadd(PDstandardNth22alp,kmul(J22L,J22L),kmadd(PDstandardNth33alp,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12alp,kmul(J32L,PDstandardNth13alp)),kmul(J22L,kmul(J32L,PDstandardNth23alp))),ToReal(2)))))))); JacPDstandardNth22gt11 = kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J12L,J12L),kmadd(PDstandardNth22gt11,kmul(J22L,J22L),kmadd(PDstandardNth33gt11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2)))))))); @@ -1078,8 +1078,8 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth22phi = kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J12L,J12L),kmadd(PDstandardNth22phi,kmul(J22L,J22L),kmadd(PDstandardNth33phi,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2)))))))); - JacPDstandardNth33alpha = - kmadd(dJ133L,PDstandardNth1alpha,kmadd(dJ233L,PDstandardNth2alpha,kmadd(dJ333L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,kmul(J13L,J13L),kmadd(PDstandardNth22alpha,kmul(J23L,J23L),kmadd(PDstandardNth33alpha,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmul(J23L,kmul(J33L,PDstandardNth23alpha))),ToReal(2)))))))); + JacPDstandardNth33alp = + kmadd(dJ133L,PDstandardNth1alp,kmadd(dJ233L,PDstandardNth2alp,kmadd(dJ333L,PDstandardNth3alp,kmadd(PDstandardNth11alp,kmul(J13L,J13L),kmadd(PDstandardNth22alp,kmul(J23L,J23L),kmadd(PDstandardNth33alp,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12alp,kmul(J33L,PDstandardNth13alp)),kmul(J23L,kmul(J33L,PDstandardNth23alp))),ToReal(2)))))))); JacPDstandardNth33gt11 = kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J13L,J13L),kmadd(PDstandardNth22gt11,kmul(J23L,J23L),kmadd(PDstandardNth33gt11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2)))))))); @@ -1102,8 +1102,8 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth33phi = kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J13L,J13L),kmadd(PDstandardNth22phi,kmul(J23L,J23L),kmadd(PDstandardNth33phi,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2)))))))); - JacPDstandardNth12alpha = - kmadd(J12L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmadd(dJ112L,PDstandardNth1alpha,kmadd(J22L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ212L,PDstandardNth2alpha,kmadd(J32L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ312L,PDstandardNth3alpha))))))); + JacPDstandardNth12alp = + kmadd(J12L,kmadd(J11L,PDstandardNth11alp,kmadd(J21L,PDstandardNth12alp,kmul(J31L,PDstandardNth13alp))),kmadd(J11L,kmadd(J22L,PDstandardNth12alp,kmul(J32L,PDstandardNth13alp)),kmadd(dJ112L,PDstandardNth1alp,kmadd(J22L,kmadd(J21L,PDstandardNth22alp,kmul(J31L,PDstandardNth23alp)),kmadd(dJ212L,PDstandardNth2alp,kmadd(J32L,kmadd(J21L,PDstandardNth23alp,kmul(J31L,PDstandardNth33alp)),kmul(dJ312L,PDstandardNth3alp))))))); JacPDstandardNth12gt11 = kmadd(J12L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmadd(dJ112L,PDstandardNth1gt11,kmadd(J22L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ212L,PDstandardNth2gt11,kmadd(J32L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ312L,PDstandardNth3gt11))))))); @@ -1126,8 +1126,8 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth12phi = kmadd(J12L,kmadd(J11L,PDstandardNth11phi,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi))),kmadd(J11L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmadd(dJ112L,PDstandardNth1phi,kmadd(J22L,kmadd(J21L,PDstandardNth22phi,kmul(J31L,PDstandardNth23phi)),kmadd(dJ212L,PDstandardNth2phi,kmadd(J32L,kmadd(J21L,PDstandardNth23phi,kmul(J31L,PDstandardNth33phi)),kmul(dJ312L,PDstandardNth3phi))))))); - JacPDstandardNth13alpha = - kmadd(J13L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ113L,PDstandardNth1alpha,kmadd(J23L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ213L,PDstandardNth2alpha,kmadd(J33L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ313L,PDstandardNth3alpha))))))); + JacPDstandardNth13alp = + kmadd(J13L,kmadd(J11L,PDstandardNth11alp,kmadd(J21L,PDstandardNth12alp,kmul(J31L,PDstandardNth13alp))),kmadd(J11L,kmadd(J23L,PDstandardNth12alp,kmul(J33L,PDstandardNth13alp)),kmadd(dJ113L,PDstandardNth1alp,kmadd(J23L,kmadd(J21L,PDstandardNth22alp,kmul(J31L,PDstandardNth23alp)),kmadd(dJ213L,PDstandardNth2alp,kmadd(J33L,kmadd(J21L,PDstandardNth23alp,kmul(J31L,PDstandardNth33alp)),kmul(dJ313L,PDstandardNth3alp))))))); JacPDstandardNth13gt11 = kmadd(J13L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ113L,PDstandardNth1gt11,kmadd(J23L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ213L,PDstandardNth2gt11,kmadd(J33L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ313L,PDstandardNth3gt11))))))); @@ -1168,8 +1168,8 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth21gt33 = kmadd(J12L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmadd(dJ112L,PDstandardNth1gt33,kmadd(J22L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ212L,PDstandardNth2gt33,kmadd(J32L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ312L,PDstandardNth3gt33))))))); - JacPDstandardNth23alpha = - kmadd(J13L,kmadd(J12L,PDstandardNth11alpha,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha))),kmadd(J12L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ123L,PDstandardNth1alpha,kmadd(J23L,kmadd(J22L,PDstandardNth22alpha,kmul(J32L,PDstandardNth23alpha)),kmadd(dJ223L,PDstandardNth2alpha,kmadd(J33L,kmadd(J22L,PDstandardNth23alpha,kmul(J32L,PDstandardNth33alpha)),kmul(dJ323L,PDstandardNth3alpha))))))); + JacPDstandardNth23alp = + kmadd(J13L,kmadd(J12L,PDstandardNth11alp,kmadd(J22L,PDstandardNth12alp,kmul(J32L,PDstandardNth13alp))),kmadd(J12L,kmadd(J23L,PDstandardNth12alp,kmul(J33L,PDstandardNth13alp)),kmadd(dJ123L,PDstandardNth1alp,kmadd(J23L,kmadd(J22L,PDstandardNth22alp,kmul(J32L,PDstandardNth23alp)),kmadd(dJ223L,PDstandardNth2alp,kmadd(J33L,kmadd(J22L,PDstandardNth23alp,kmul(J32L,PDstandardNth33alp)),kmul(dJ323L,PDstandardNth3alp))))))); JacPDstandardNth23gt11 = kmadd(J13L,kmadd(J12L,PDstandardNth11gt11,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ123L,PDstandardNth1gt11,kmadd(J23L,kmadd(J22L,PDstandardNth22gt11,kmul(J32L,PDstandardNth23gt11)),kmadd(dJ223L,PDstandardNth2gt11,kmadd(J33L,kmadd(J22L,PDstandardNth23gt11,kmul(J32L,PDstandardNth33gt11)),kmul(dJ323L,PDstandardNth3gt11))))))); @@ -1230,7 +1230,7 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c } else { - JacPDstandardNth1alpha = PDstandardNth1alpha; + JacPDstandardNth1alp = PDstandardNth1alp; JacPDstandardNth1beta1 = PDstandardNth1beta1; @@ -1258,7 +1258,7 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth1Xt3 = PDstandardNth1Xt3; - JacPDstandardNth2alpha = PDstandardNth2alpha; + JacPDstandardNth2alp = PDstandardNth2alp; JacPDstandardNth2beta1 = PDstandardNth2beta1; @@ -1286,7 +1286,7 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth2Xt3 = PDstandardNth2Xt3; - JacPDstandardNth3alpha = PDstandardNth3alpha; + JacPDstandardNth3alp = PDstandardNth3alp; JacPDstandardNth3beta1 = PDstandardNth3beta1; @@ -1314,7 +1314,7 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth3Xt3 = PDstandardNth3Xt3; - JacPDstandardNth11alpha = PDstandardNth11alpha; + JacPDstandardNth11alp = PDstandardNth11alp; JacPDstandardNth11gt11 = PDstandardNth11gt11; @@ -1330,7 +1330,7 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth11phi = PDstandardNth11phi; - JacPDstandardNth22alpha = PDstandardNth22alpha; + JacPDstandardNth22alp = PDstandardNth22alp; JacPDstandardNth22gt11 = PDstandardNth22gt11; @@ -1346,7 +1346,7 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth22phi = PDstandardNth22phi; - JacPDstandardNth33alpha = PDstandardNth33alpha; + JacPDstandardNth33alp = PDstandardNth33alp; JacPDstandardNth33gt11 = PDstandardNth33gt11; @@ -1362,7 +1362,7 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth33phi = PDstandardNth33phi; - JacPDstandardNth12alpha = PDstandardNth12alpha; + JacPDstandardNth12alp = PDstandardNth12alp; JacPDstandardNth12gt11 = PDstandardNth12gt11; @@ -1378,7 +1378,7 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth12phi = PDstandardNth12phi; - JacPDstandardNth13alpha = PDstandardNth13alpha; + JacPDstandardNth13alp = PDstandardNth13alp; JacPDstandardNth13gt11 = PDstandardNth13gt11; @@ -1406,7 +1406,7 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c JacPDstandardNth21gt33 = PDstandardNth12gt33; - JacPDstandardNth23alpha = PDstandardNth23alpha; + JacPDstandardNth23alp = PDstandardNth23alp; JacPDstandardNth23gt11 = PDstandardNth23gt11; @@ -1806,43 +1806,43 @@ static void ML_BSSN_RHS2_Body(const cGH* restrict const cctkGH, const int dir, c kmul(em4phi,kmadd(eTxxL,gtu11,kmadd(eTyyL,gtu22,kmadd(eTzzL,gtu33,kmul(kmadd(eTxyL,gtu12,kmadd(eTxzL,gtu13,kmul(eTyzL,gtu23))),ToReal(2)))))); CCTK_REAL_VEC Ats11 CCTK_ATTRIBUTE_UNUSED = - kmadd(Gt211,JacPDstandardNth2alpha,kmadd(Gt311,JacPDstandardNth3alpha,kmadd(alphaL,R11,kmsub(JacPDstandardNth1alpha,kmadd(cdphi1,ToReal(4),Gt111),JacPDstandardNth11alpha)))); + kmadd(Gt211,JacPDstandardNth2alp,kmadd(Gt311,JacPDstandardNth3alp,kmadd(alpL,R11,kmsub(JacPDstandardNth1alp,kmadd(cdphi1,ToReal(4),Gt111),JacPDstandardNth11alp)))); CCTK_REAL_VEC Ats12 CCTK_ATTRIBUTE_UNUSED = - kmadd(Gt312,JacPDstandardNth3alpha,kmadd(alphaL,R12,ksub(kmadd(JacPDstandardNth2alpha,kmadd(cdphi1,ToReal(2),Gt212),kmul(JacPDstandardNth1alpha,kmadd(cdphi2,ToReal(2),Gt112))),JacPDstandardNth12alpha))); + kmadd(Gt312,JacPDstandardNth3alp,kmadd(alpL,R12,ksub(kmadd(JacPDstandardNth2alp,kmadd(cdphi1,ToReal(2),Gt212),kmul(JacPDstandardNth1alp,kmadd(cdphi2,ToReal(2),Gt112))),JacPDstandardNth12alp))); CCTK_REAL_VEC Ats13 CCTK_ATTRIBUTE_UNUSED = - kmadd(Gt213,JacPDstandardNth2alpha,kmadd(alphaL,R13,ksub(kmadd(JacPDstandardNth3alpha,kmadd(cdphi1,ToReal(2),Gt313),kmul(JacPDstandardNth1alpha,kmadd(cdphi3,ToReal(2),Gt113))),JacPDstandardNth13alpha))); + kmadd(Gt213,JacPDstandardNth2alp,kmadd(alpL,R13,ksub(kmadd(JacPDstandardNth3alp,kmadd(cdphi1,ToReal(2),Gt313),kmul(JacPDstandardNth1alp,kmadd(cdphi3,ToReal(2),Gt113))),JacPDstandardNth13alp))); CCTK_REAL_VEC Ats22 CCTK_ATTRIBUTE_UNUSED = - kmadd(Gt122,JacPDstandardNth1alpha,kmadd(Gt322,JacPDstandardNth3alpha,kmadd(alphaL,R22,kmsub(JacPDstandardNth2alpha,kmadd(cdphi2,ToReal(4),Gt222),JacPDstandardNth22alpha)))); + kmadd(Gt122,JacPDstandardNth1alp,kmadd(Gt322,JacPDstandardNth3alp,kmadd(alpL,R22,kmsub(JacPDstandardNth2alp,kmadd(cdphi2,ToReal(4),Gt222),JacPDstandardNth22alp)))); CCTK_REAL_VEC Ats23 CCTK_ATTRIBUTE_UNUSED = - kmadd(Gt123,JacPDstandardNth1alpha,kmadd(alphaL,R23,ksub(kmadd(JacPDstandardNth3alpha,kmadd(cdphi2,ToReal(2),Gt323),kmul(JacPDstandardNth2alpha,kmadd(cdphi3,ToReal(2),Gt223))),JacPDstandardNth23alpha))); + kmadd(Gt123,JacPDstandardNth1alp,kmadd(alpL,R23,ksub(kmadd(JacPDstandardNth3alp,kmadd(cdphi2,ToReal(2),Gt323),kmul(JacPDstandardNth2alp,kmadd(cdphi3,ToReal(2),Gt223))),JacPDstandardNth23alp))); CCTK_REAL_VEC Ats33 CCTK_ATTRIBUTE_UNUSED = - kmadd(Gt133,JacPDstandardNth1alpha,kmadd(Gt233,JacPDstandardNth2alpha,kmadd(alphaL,R33,kmsub(JacPDstandardNth3alpha,kmadd(cdphi3,ToReal(4),Gt333),JacPDstandardNth33alpha)))); + kmadd(Gt133,JacPDstandardNth1alp,kmadd(Gt233,JacPDstandardNth2alp,kmadd(alpL,R33,kmsub(JacPDstandardNth3alp,kmadd(cdphi3,ToReal(4),Gt333),JacPDstandardNth33alp)))); CCTK_REAL_VEC trAts CCTK_ATTRIBUTE_UNUSED = kmadd(Ats11,gu11,kmadd(Ats22,gu22,kmadd(Ats33,gu33,kmul(kmadd(Ats12,gu12,kmadd(Ats13,gu13,kmul(Ats23,gu23))),ToReal(2))))); CCTK_REAL_VEC At11rhsL CCTK_ATTRIBUTE_UNUSED = - kmadd(At11L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g11,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats11),kmadd(kmadd(At11L,JacPDstandardNth1beta1,kmadd(At12L,JacPDstandardNth1beta2,kmul(At13L,JacPDstandardNth1beta3))),ToReal(2),kmul(alphaL,kmadd(At11L,trKL,kmadd(kmadd(At11L,Atm11,kmadd(At12L,Atm21,kmul(At13L,Atm31))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g11,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxxL),ToReal(3.14159265358979323846264338328)))))))))); + kmadd(At11L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g11,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats11),kmadd(kmadd(At11L,JacPDstandardNth1beta1,kmadd(At12L,JacPDstandardNth1beta2,kmul(At13L,JacPDstandardNth1beta3))),ToReal(2),kmul(alpL,kmadd(At11L,trKL,kmadd(kmadd(At11L,Atm11,kmadd(At12L,Atm21,kmul(At13L,Atm31))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g11,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxxL),ToReal(3.14159265358979323846264338328)))))))))); CCTK_REAL_VEC At12rhsL CCTK_ATTRIBUTE_UNUSED = - kmadd(At22L,JacPDstandardNth1beta2,kmadd(At23L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth2beta1,kmadd(At13L,JacPDstandardNth2beta3,kmadd(At12L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth2beta2)),kmadd(em4phi,kmadd(g12,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats12),kmul(alphaL,kmadd(At12L,trKL,kmadd(kmadd(At11L,Atm12,kmadd(At12L,Atm22,kmul(At13L,Atm32))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g12,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxyL),ToReal(3.14159265358979323846264338328))))))))))))); + kmadd(At22L,JacPDstandardNth1beta2,kmadd(At23L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth2beta1,kmadd(At13L,JacPDstandardNth2beta3,kmadd(At12L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth2beta2)),kmadd(em4phi,kmadd(g12,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats12),kmul(alpL,kmadd(At12L,trKL,kmadd(kmadd(At11L,Atm12,kmadd(At12L,Atm22,kmul(At13L,Atm32))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g12,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxyL),ToReal(3.14159265358979323846264338328))))))))))))); CCTK_REAL_VEC At13rhsL CCTK_ATTRIBUTE_UNUSED = - kmadd(At23L,JacPDstandardNth1beta2,kmadd(At33L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth3beta1,kmadd(At12L,JacPDstandardNth3beta2,kmadd(At13L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)),kmadd(em4phi,kmadd(g13,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats13),kmul(alphaL,kmadd(At13L,trKL,kmadd(kmadd(At11L,Atm13,kmadd(At12L,Atm23,kmul(At13L,Atm33))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g13,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxzL),ToReal(3.14159265358979323846264338328))))))))))))); + kmadd(At23L,JacPDstandardNth1beta2,kmadd(At33L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth3beta1,kmadd(At12L,JacPDstandardNth3beta2,kmadd(At13L,kadd(JacPDstandardNth1beta1,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)),kmadd(em4phi,kmadd(g13,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats13),kmul(alpL,kmadd(At13L,trKL,kmadd(kmadd(At11L,Atm13,kmadd(At12L,Atm23,kmul(At13L,Atm33))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g13,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTxzL),ToReal(3.14159265358979323846264338328))))))))))))); CCTK_REAL_VEC At22rhsL CCTK_ATTRIBUTE_UNUSED = - kmadd(At22L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g22,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats22),kmadd(kmadd(At12L,JacPDstandardNth2beta1,kmadd(At22L,JacPDstandardNth2beta2,kmul(At23L,JacPDstandardNth2beta3))),ToReal(2),kmul(alphaL,kmadd(At22L,trKL,kmadd(kmadd(At12L,Atm12,kmadd(At22L,Atm22,kmul(At23L,Atm32))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g22,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTyyL),ToReal(3.14159265358979323846264338328)))))))))); + kmadd(At22L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g22,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats22),kmadd(kmadd(At12L,JacPDstandardNth2beta1,kmadd(At22L,JacPDstandardNth2beta2,kmul(At23L,JacPDstandardNth2beta3))),ToReal(2),kmul(alpL,kmadd(At22L,trKL,kmadd(kmadd(At12L,Atm12,kmadd(At22L,Atm22,kmul(At23L,Atm32))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g22,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTyyL),ToReal(3.14159265358979323846264338328)))))))))); CCTK_REAL_VEC At23rhsL CCTK_ATTRIBUTE_UNUSED = - kmadd(At13L,JacPDstandardNth2beta1,kmadd(At33L,JacPDstandardNth2beta3,kmadd(At12L,JacPDstandardNth3beta1,kmadd(At22L,JacPDstandardNth3beta2,kmadd(At23L,kadd(JacPDstandardNth2beta2,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)),kmadd(em4phi,kmadd(g23,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats23),kmul(alphaL,kmadd(At23L,trKL,kmadd(kmadd(At12L,Atm13,kmadd(At22L,Atm23,kmul(At23L,Atm33))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g23,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTyzL),ToReal(3.14159265358979323846264338328))))))))))))); + kmadd(At13L,JacPDstandardNth2beta1,kmadd(At33L,JacPDstandardNth2beta3,kmadd(At12L,JacPDstandardNth3beta1,kmadd(At22L,JacPDstandardNth3beta2,kmadd(At23L,kadd(JacPDstandardNth2beta2,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667),JacPDstandardNth3beta3)),kmadd(em4phi,kmadd(g23,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats23),kmul(alpL,kmadd(At23L,trKL,kmadd(kmadd(At12L,Atm13,kmadd(At22L,Atm23,kmul(At23L,Atm33))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g23,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTyzL),ToReal(3.14159265358979323846264338328))))))))))))); CCTK_REAL_VEC At33rhsL CCTK_ATTRIBUTE_UNUSED = - kmadd(At33L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g33,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats33),kmadd(kmadd(At13L,JacPDstandardNth3beta1,kmadd(At23L,JacPDstandardNth3beta2,kmul(At33L,JacPDstandardNth3beta3))),ToReal(2),kmul(alphaL,kmadd(At33L,trKL,kmadd(kmadd(At13L,Atm13,kmadd(At23L,Atm23,kmul(At33L,Atm33))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g33,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTzzL),ToReal(3.14159265358979323846264338328)))))))))); + kmadd(At33L,kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.666666666666666666666666666667)),kmadd(em4phi,kmadd(g33,kmul(trAts,ToReal(-0.333333333333333333333333333333)),Ats33),kmadd(kmadd(At13L,JacPDstandardNth3beta1,kmadd(At23L,JacPDstandardNth3beta2,kmul(At33L,JacPDstandardNth3beta3))),ToReal(2),kmul(alpL,kmadd(At33L,trKL,kmadd(kmadd(At13L,Atm13,kmadd(At23L,Atm23,kmul(At33L,Atm33))),ToReal(-2),kmul(em4phi,kmul(ToReal(-8),kmul(kmadd(g33,kmul(trS,ToReal(-0.333333333333333333333333333333)),eTzzL),ToReal(3.14159265358979323846264338328)))))))))); /* Copy local copies back to grid functions */ vec_store_partial_prepare(i,vecimin,vecimax); @@ -1873,10 +1873,10 @@ extern "C" void ML_BSSN_RHS2(CCTK_ARGUMENTS) } const char* const groups[] = { + "ADMBase::lapse", "ML_BSSN::ML_curv", "ML_BSSN::ML_curvrhs", "ML_BSSN::ML_Gamma", - "ML_BSSN::ML_lapse", "ML_BSSN::ML_log_confac", "ML_BSSN::ML_metric", "ML_BSSN::ML_shift", diff --git a/ML_BSSN/src/ML_BSSN_RHSStaticBoundary.cc b/ML_BSSN/src/ML_BSSN_RHSStaticBoundary.cc index 6f16ec9..61901d3 100644 --- a/ML_BSSN/src/ML_BSSN_RHSStaticBoundary.cc +++ b/ML_BSSN/src/ML_BSSN_RHSStaticBoundary.cc @@ -38,18 +38,12 @@ extern "C" void ML_BSSN_RHSStaticBoundary_SelectBCs(CCTK_ARGUMENTS) ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_curvrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_curvrhs."); - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_dtlapserhs","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_dtlapserhs."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_dtshiftrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_dtshiftrhs."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_Gammarhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_Gammarhs."); - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_lapserhs","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_lapserhs."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_log_confacrhs","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_log_confacrhs."); @@ -322,10 +316,6 @@ static void ML_BSSN_RHSStaticBoundary_Body(const cGH* restrict const cctkGH, con CCTK_REAL_VEC Xt3rhsL CCTK_ATTRIBUTE_UNUSED = ToReal(0); - CCTK_REAL_VEC alpharhsL CCTK_ATTRIBUTE_UNUSED = ToReal(0); - - CCTK_REAL_VEC ArhsL CCTK_ATTRIBUTE_UNUSED = ToReal(0); - CCTK_REAL_VEC beta1rhsL CCTK_ATTRIBUTE_UNUSED = ToReal(0); CCTK_REAL_VEC beta2rhsL CCTK_ATTRIBUTE_UNUSED = ToReal(0); @@ -340,8 +330,6 @@ static void ML_BSSN_RHSStaticBoundary_Body(const cGH* restrict const cctkGH, con /* Copy local copies back to grid functions */ vec_store_partial_prepare(i,vecimin,vecimax); - vec_store_nta_partial(alpharhs[index],alpharhsL); - vec_store_nta_partial(Arhs[index],ArhsL); vec_store_nta_partial(At11rhs[index],At11rhsL); vec_store_nta_partial(At12rhs[index],At12rhsL); vec_store_nta_partial(At13rhs[index],At13rhsL); @@ -387,15 +375,13 @@ extern "C" void ML_BSSN_RHSStaticBoundary(CCTK_ARGUMENTS) const char* const groups[] = { "ML_BSSN::ML_curvrhs", - "ML_BSSN::ML_dtlapserhs", "ML_BSSN::ML_dtshiftrhs", "ML_BSSN::ML_Gammarhs", - "ML_BSSN::ML_lapserhs", "ML_BSSN::ML_log_confacrhs", "ML_BSSN::ML_metricrhs", "ML_BSSN::ML_shiftrhs", "ML_BSSN::ML_trace_curvrhs"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_RHSStaticBoundary", 9, groups); + GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_RHSStaticBoundary", 7, groups); switch (fdOrder) { diff --git a/ML_BSSN/src/ML_BSSN_boundary.cc b/ML_BSSN/src/ML_BSSN_boundary.cc index 79558a3..791dfcc 100644 --- a/ML_BSSN/src/ML_BSSN_boundary.cc +++ b/ML_BSSN/src/ML_BSSN_boundary.cc @@ -38,18 +38,12 @@ extern "C" void ML_BSSN_boundary_SelectBCs(CCTK_ARGUMENTS) ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_curv","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_curv."); - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_dtlapse","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_dtlapse."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_dtshift","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_dtshift."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_Gamma","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_Gamma."); - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_lapse","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_lapse."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_log_confac","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_log_confac."); @@ -323,10 +317,6 @@ static void ML_BSSN_boundary_Body(const cGH* restrict const cctkGH, const int di CCTK_REAL_VEC Xt3L CCTK_ATTRIBUTE_UNUSED = ToReal(0); - CCTK_REAL_VEC alphaL CCTK_ATTRIBUTE_UNUSED = ToReal(1); - - CCTK_REAL_VEC AL CCTK_ATTRIBUTE_UNUSED = ToReal(0); - CCTK_REAL_VEC beta1L CCTK_ATTRIBUTE_UNUSED = ToReal(0); CCTK_REAL_VEC beta2L CCTK_ATTRIBUTE_UNUSED = ToReal(0); @@ -341,8 +331,6 @@ static void ML_BSSN_boundary_Body(const cGH* restrict const cctkGH, const int di /* Copy local copies back to grid functions */ vec_store_partial_prepare(i,vecimin,vecimax); - vec_store_nta_partial(A[index],AL); - vec_store_nta_partial(alpha[index],alphaL); vec_store_nta_partial(At11[index],At11L); vec_store_nta_partial(At12[index],At12L); vec_store_nta_partial(At13[index],At13L); @@ -388,15 +376,13 @@ extern "C" void ML_BSSN_boundary(CCTK_ARGUMENTS) const char* const groups[] = { "ML_BSSN::ML_curv", - "ML_BSSN::ML_dtlapse", "ML_BSSN::ML_dtshift", "ML_BSSN::ML_Gamma", - "ML_BSSN::ML_lapse", "ML_BSSN::ML_log_confac", "ML_BSSN::ML_metric", "ML_BSSN::ML_shift", "ML_BSSN::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_boundary", 9, groups); + GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_boundary", 7, groups); switch (fdOrder) { diff --git a/ML_BSSN/src/ML_BSSN_constraints.cc b/ML_BSSN/src/ML_BSSN_constraints.cc new file mode 100644 index 0000000..bcb7564 --- /dev/null +++ b/ML_BSSN/src/ML_BSSN_constraints.cc @@ -0,0 +1,2008 @@ +/* File produced by Kranc */ + +#define KRANC_C + +#include <assert.h> +#include <math.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include "cctk.h" +#include "cctk_Arguments.h" +#include "cctk_Parameters.h" +#include "GenericFD.h" +#include "Differencing.h" +#include "cctk_Loop.h" +#include "loopcontrol.h" +#include "vectors.h" + +/* Define macros used in calculations */ +#define INITVALUE (42) +#define ScalarINV(x) ((CCTK_REAL)1.0 / (x)) +#define ScalarSQR(x) ((x) * (x)) +#define ScalarCUB(x) ((x) * ScalarSQR(x)) +#define ScalarQAD(x) (ScalarSQR(ScalarSQR(x))) +#define INV(x) (kdiv(ToReal(1.0),x)) +#define SQR(x) (kmul(x,x)) +#define CUB(x) (kmul(x,SQR(x))) +#define QAD(x) (SQR(SQR(x))) + +extern "C" void ML_BSSN_constraints_SelectBCs(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + if (cctk_iteration % ML_BSSN_constraints_calc_every != ML_BSSN_constraints_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_cons_detg","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_cons_detg."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_cons_Gamma","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_cons_Gamma."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_cons_traceA","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_cons_traceA."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_Ham","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_Ham."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_mom","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_mom."); + return; +} + +static void ML_BSSN_constraints_Body(const cGH* restrict const cctkGH, const int dir, const int face, const CCTK_REAL normal[3], const CCTK_REAL tangentA[3], const CCTK_REAL tangentB[3], const int imin[3], const int imax[3], const int n_subblock_gfs, CCTK_REAL* restrict const subblock_gfs[]) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + + /* Include user-supplied include files */ + + /* Initialise finite differencing variables */ + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = + ToReal(0.333333333333333333333333333333); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = + ToReal(0.666666666666666666666666666667); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = + ToReal(1.33333333333333333333333333333); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = + kmul(dxi,ToReal(0.5)); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = + kmul(dyi,ToReal(0.5)); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = + kmul(dzi,ToReal(0.5)); + + /* Initialize predefined quantities */ + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + + /* Jacobian variable pointers */ + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_derivative_group) == 0)) + { + CCTK_WARN(1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + } + + const CCTK_REAL* restrict jacobian_ptrs[9]; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, + 9, jacobian_ptrs); + + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, + 18, jacobian_derivative_ptrs); + + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + + /* Assign local copies of arrays functions */ + + + + /* Calculate temporaries and arrays functions */ + + /* Copy local copies back to grid functions */ + + /* Loop over the grid points */ + const int imin0=imin[0]; + const int imin1=imin[1]; + const int imin2=imin[2]; + const int imax0=imax[0]; + const int imax1=imax[1]; + const int imax2=imax[2]; + #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter) + CCTK_LOOP3STR(ML_BSSN_constraints, + i,j,k, imin0,imin1,imin2, imax0,imax1,imax2, + cctk_ash[0],cctk_ash[1],cctk_ash[2], + vecimin,vecimax, CCTK_REAL_VEC_SIZE) + { + const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k; + // vec_iter_counter+=CCTK_REAL_VEC_SIZE; + if (fabs(y[index]) > 1e-8) + continue; + + /* Assign local copies of grid functions */ + + CCTK_REAL_VEC alphaL CCTK_ATTRIBUTE_UNUSED = vec_load(alpha[index]); + CCTK_REAL_VEC At11L CCTK_ATTRIBUTE_UNUSED = vec_load(At11[index]); + CCTK_REAL_VEC At12L CCTK_ATTRIBUTE_UNUSED = vec_load(At12[index]); + CCTK_REAL_VEC At13L CCTK_ATTRIBUTE_UNUSED = vec_load(At13[index]); + CCTK_REAL_VEC At22L CCTK_ATTRIBUTE_UNUSED = vec_load(At22[index]); + CCTK_REAL_VEC At23L CCTK_ATTRIBUTE_UNUSED = vec_load(At23[index]); + CCTK_REAL_VEC At33L CCTK_ATTRIBUTE_UNUSED = vec_load(At33[index]); + CCTK_REAL_VEC beta1L CCTK_ATTRIBUTE_UNUSED = vec_load(beta1[index]); + CCTK_REAL_VEC beta2L CCTK_ATTRIBUTE_UNUSED = vec_load(beta2[index]); + CCTK_REAL_VEC beta3L CCTK_ATTRIBUTE_UNUSED = vec_load(beta3[index]); + CCTK_REAL_VEC gt11L CCTK_ATTRIBUTE_UNUSED = vec_load(gt11[index]); + CCTK_REAL_VEC gt12L CCTK_ATTRIBUTE_UNUSED = vec_load(gt12[index]); + CCTK_REAL_VEC gt13L CCTK_ATTRIBUTE_UNUSED = vec_load(gt13[index]); + CCTK_REAL_VEC gt22L CCTK_ATTRIBUTE_UNUSED = vec_load(gt22[index]); + CCTK_REAL_VEC gt23L CCTK_ATTRIBUTE_UNUSED = vec_load(gt23[index]); + CCTK_REAL_VEC gt33L CCTK_ATTRIBUTE_UNUSED = vec_load(gt33[index]); + CCTK_REAL_VEC phiL CCTK_ATTRIBUTE_UNUSED = vec_load(phi[index]); + CCTK_REAL_VEC trKL CCTK_ATTRIBUTE_UNUSED = vec_load(trK[index]); + CCTK_REAL_VEC Xt1L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt1[index]); + CCTK_REAL_VEC Xt2L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt2[index]); + CCTK_REAL_VEC Xt3L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt3[index]); + + CCTK_REAL_VEC eTttL, eTtxL, eTtyL, eTtzL, eTxxL, eTxyL, eTxzL, eTyyL, eTyzL, eTzzL CCTK_ATTRIBUTE_UNUSED ; + + if (assume_stress_energy_state>=0 ? assume_stress_energy_state : *stress_energy_state) + { + eTttL = vec_load(eTtt[index]); + eTtxL = vec_load(eTtx[index]); + eTtyL = vec_load(eTty[index]); + eTtzL = vec_load(eTtz[index]); + eTxxL = vec_load(eTxx[index]); + eTxyL = vec_load(eTxy[index]); + eTxzL = vec_load(eTxz[index]); + eTyyL = vec_load(eTyy[index]); + eTyzL = vec_load(eTyz[index]); + eTzzL = vec_load(eTzz[index]); + } + else + { + eTttL = ToReal(0.0); + eTtxL = ToReal(0.0); + eTtyL = ToReal(0.0); + eTtzL = ToReal(0.0); + eTxxL = ToReal(0.0); + eTxyL = ToReal(0.0); + eTxzL = ToReal(0.0); + eTyyL = ToReal(0.0); + eTyzL = ToReal(0.0); + eTzzL = ToReal(0.0); + } + + CCTK_REAL_VEC dJ111L, dJ112L, dJ113L, dJ122L, dJ123L, dJ133L, dJ211L, dJ212L, dJ213L, dJ222L, dJ223L, dJ233L, dJ311L, dJ312L, dJ313L, dJ322L, dJ323L, dJ333L, J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L CCTK_ATTRIBUTE_UNUSED ; + + if (use_jacobian) + { + dJ111L = vec_load(dJ111[index]); + dJ112L = vec_load(dJ112[index]); + dJ113L = vec_load(dJ113[index]); + dJ122L = vec_load(dJ122[index]); + dJ123L = vec_load(dJ123[index]); + dJ133L = vec_load(dJ133[index]); + dJ211L = vec_load(dJ211[index]); + dJ212L = vec_load(dJ212[index]); + dJ213L = vec_load(dJ213[index]); + dJ222L = vec_load(dJ222[index]); + dJ223L = vec_load(dJ223[index]); + dJ233L = vec_load(dJ233[index]); + dJ311L = vec_load(dJ311[index]); + dJ312L = vec_load(dJ312[index]); + dJ313L = vec_load(dJ313[index]); + dJ322L = vec_load(dJ322[index]); + dJ323L = vec_load(dJ323[index]); + dJ333L = vec_load(dJ333[index]); + J11L = vec_load(J11[index]); + J12L = vec_load(J12[index]); + J13L = vec_load(J13[index]); + J21L = vec_load(J21[index]); + J22L = vec_load(J22[index]); + J23L = vec_load(J23[index]); + J31L = vec_load(J31[index]); + J32L = vec_load(J32[index]); + J33L = vec_load(J33[index]); + } + + /* Include user supplied include files */ + + /* Precompute derivatives */ + CCTK_REAL_VEC PDstandardNth1At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth11phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth22phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth33phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth12phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth13phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth23phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC PDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED; + + switch (fdOrder) + { + case 2: + { + PDstandardNth1At11 = PDstandardNthfdOrder21(&At11[index]); + PDstandardNth2At11 = PDstandardNthfdOrder22(&At11[index]); + PDstandardNth3At11 = PDstandardNthfdOrder23(&At11[index]); + PDstandardNth1At12 = PDstandardNthfdOrder21(&At12[index]); + PDstandardNth2At12 = PDstandardNthfdOrder22(&At12[index]); + PDstandardNth3At12 = PDstandardNthfdOrder23(&At12[index]); + PDstandardNth1At13 = PDstandardNthfdOrder21(&At13[index]); + PDstandardNth2At13 = PDstandardNthfdOrder22(&At13[index]); + PDstandardNth3At13 = PDstandardNthfdOrder23(&At13[index]); + PDstandardNth1At22 = PDstandardNthfdOrder21(&At22[index]); + PDstandardNth2At22 = PDstandardNthfdOrder22(&At22[index]); + PDstandardNth3At22 = PDstandardNthfdOrder23(&At22[index]); + PDstandardNth1At23 = PDstandardNthfdOrder21(&At23[index]); + PDstandardNth2At23 = PDstandardNthfdOrder22(&At23[index]); + PDstandardNth3At23 = PDstandardNthfdOrder23(&At23[index]); + PDstandardNth1At33 = PDstandardNthfdOrder21(&At33[index]); + PDstandardNth2At33 = PDstandardNthfdOrder22(&At33[index]); + PDstandardNth3At33 = PDstandardNthfdOrder23(&At33[index]); + PDstandardNth1gt11 = PDstandardNthfdOrder21(>11[index]); + PDstandardNth2gt11 = PDstandardNthfdOrder22(>11[index]); + PDstandardNth3gt11 = PDstandardNthfdOrder23(>11[index]); + PDstandardNth11gt11 = PDstandardNthfdOrder211(>11[index]); + PDstandardNth22gt11 = PDstandardNthfdOrder222(>11[index]); + PDstandardNth33gt11 = PDstandardNthfdOrder233(>11[index]); + PDstandardNth12gt11 = PDstandardNthfdOrder212(>11[index]); + PDstandardNth13gt11 = PDstandardNthfdOrder213(>11[index]); + PDstandardNth23gt11 = PDstandardNthfdOrder223(>11[index]); + PDstandardNth1gt12 = PDstandardNthfdOrder21(>12[index]); + PDstandardNth2gt12 = PDstandardNthfdOrder22(>12[index]); + PDstandardNth3gt12 = PDstandardNthfdOrder23(>12[index]); + PDstandardNth11gt12 = PDstandardNthfdOrder211(>12[index]); + PDstandardNth22gt12 = PDstandardNthfdOrder222(>12[index]); + PDstandardNth33gt12 = PDstandardNthfdOrder233(>12[index]); + PDstandardNth12gt12 = PDstandardNthfdOrder212(>12[index]); + PDstandardNth13gt12 = PDstandardNthfdOrder213(>12[index]); + PDstandardNth23gt12 = PDstandardNthfdOrder223(>12[index]); + PDstandardNth1gt13 = PDstandardNthfdOrder21(>13[index]); + PDstandardNth2gt13 = PDstandardNthfdOrder22(>13[index]); + PDstandardNth3gt13 = PDstandardNthfdOrder23(>13[index]); + PDstandardNth11gt13 = PDstandardNthfdOrder211(>13[index]); + PDstandardNth22gt13 = PDstandardNthfdOrder222(>13[index]); + PDstandardNth33gt13 = PDstandardNthfdOrder233(>13[index]); + PDstandardNth12gt13 = PDstandardNthfdOrder212(>13[index]); + PDstandardNth13gt13 = PDstandardNthfdOrder213(>13[index]); + PDstandardNth23gt13 = PDstandardNthfdOrder223(>13[index]); + PDstandardNth1gt22 = PDstandardNthfdOrder21(>22[index]); + PDstandardNth2gt22 = PDstandardNthfdOrder22(>22[index]); + PDstandardNth3gt22 = PDstandardNthfdOrder23(>22[index]); + PDstandardNth11gt22 = PDstandardNthfdOrder211(>22[index]); + PDstandardNth22gt22 = PDstandardNthfdOrder222(>22[index]); + PDstandardNth33gt22 = PDstandardNthfdOrder233(>22[index]); + PDstandardNth12gt22 = PDstandardNthfdOrder212(>22[index]); + PDstandardNth13gt22 = PDstandardNthfdOrder213(>22[index]); + PDstandardNth23gt22 = PDstandardNthfdOrder223(>22[index]); + PDstandardNth1gt23 = PDstandardNthfdOrder21(>23[index]); + PDstandardNth2gt23 = PDstandardNthfdOrder22(>23[index]); + PDstandardNth3gt23 = PDstandardNthfdOrder23(>23[index]); + PDstandardNth11gt23 = PDstandardNthfdOrder211(>23[index]); + PDstandardNth22gt23 = PDstandardNthfdOrder222(>23[index]); + PDstandardNth33gt23 = PDstandardNthfdOrder233(>23[index]); + PDstandardNth12gt23 = PDstandardNthfdOrder212(>23[index]); + PDstandardNth13gt23 = PDstandardNthfdOrder213(>23[index]); + PDstandardNth23gt23 = PDstandardNthfdOrder223(>23[index]); + PDstandardNth1gt33 = PDstandardNthfdOrder21(>33[index]); + PDstandardNth2gt33 = PDstandardNthfdOrder22(>33[index]); + PDstandardNth3gt33 = PDstandardNthfdOrder23(>33[index]); + PDstandardNth11gt33 = PDstandardNthfdOrder211(>33[index]); + PDstandardNth22gt33 = PDstandardNthfdOrder222(>33[index]); + PDstandardNth33gt33 = PDstandardNthfdOrder233(>33[index]); + PDstandardNth12gt33 = PDstandardNthfdOrder212(>33[index]); + PDstandardNth13gt33 = PDstandardNthfdOrder213(>33[index]); + PDstandardNth23gt33 = PDstandardNthfdOrder223(>33[index]); + PDstandardNth1phi = PDstandardNthfdOrder21(&phi[index]); + PDstandardNth2phi = PDstandardNthfdOrder22(&phi[index]); + PDstandardNth3phi = PDstandardNthfdOrder23(&phi[index]); + PDstandardNth11phi = PDstandardNthfdOrder211(&phi[index]); + PDstandardNth22phi = PDstandardNthfdOrder222(&phi[index]); + PDstandardNth33phi = PDstandardNthfdOrder233(&phi[index]); + PDstandardNth12phi = PDstandardNthfdOrder212(&phi[index]); + PDstandardNth13phi = PDstandardNthfdOrder213(&phi[index]); + PDstandardNth23phi = PDstandardNthfdOrder223(&phi[index]); + PDstandardNth1trK = PDstandardNthfdOrder21(&trK[index]); + PDstandardNth2trK = PDstandardNthfdOrder22(&trK[index]); + PDstandardNth3trK = PDstandardNthfdOrder23(&trK[index]); + PDstandardNth1Xt1 = PDstandardNthfdOrder21(&Xt1[index]); + PDstandardNth2Xt1 = PDstandardNthfdOrder22(&Xt1[index]); + PDstandardNth3Xt1 = PDstandardNthfdOrder23(&Xt1[index]); + PDstandardNth1Xt2 = PDstandardNthfdOrder21(&Xt2[index]); + PDstandardNth2Xt2 = PDstandardNthfdOrder22(&Xt2[index]); + PDstandardNth3Xt2 = PDstandardNthfdOrder23(&Xt2[index]); + PDstandardNth1Xt3 = PDstandardNthfdOrder21(&Xt3[index]); + PDstandardNth2Xt3 = PDstandardNthfdOrder22(&Xt3[index]); + PDstandardNth3Xt3 = PDstandardNthfdOrder23(&Xt3[index]); + break; + } + + case 4: + { + PDstandardNth1At11 = PDstandardNthfdOrder41(&At11[index]); + PDstandardNth2At11 = PDstandardNthfdOrder42(&At11[index]); + PDstandardNth3At11 = PDstandardNthfdOrder43(&At11[index]); + PDstandardNth1At12 = PDstandardNthfdOrder41(&At12[index]); + PDstandardNth2At12 = PDstandardNthfdOrder42(&At12[index]); + PDstandardNth3At12 = PDstandardNthfdOrder43(&At12[index]); + PDstandardNth1At13 = PDstandardNthfdOrder41(&At13[index]); + PDstandardNth2At13 = PDstandardNthfdOrder42(&At13[index]); + PDstandardNth3At13 = PDstandardNthfdOrder43(&At13[index]); + PDstandardNth1At22 = PDstandardNthfdOrder41(&At22[index]); + PDstandardNth2At22 = PDstandardNthfdOrder42(&At22[index]); + PDstandardNth3At22 = PDstandardNthfdOrder43(&At22[index]); + PDstandardNth1At23 = PDstandardNthfdOrder41(&At23[index]); + PDstandardNth2At23 = PDstandardNthfdOrder42(&At23[index]); + PDstandardNth3At23 = PDstandardNthfdOrder43(&At23[index]); + PDstandardNth1At33 = PDstandardNthfdOrder41(&At33[index]); + PDstandardNth2At33 = PDstandardNthfdOrder42(&At33[index]); + PDstandardNth3At33 = PDstandardNthfdOrder43(&At33[index]); + PDstandardNth1gt11 = PDstandardNthfdOrder41(>11[index]); + PDstandardNth2gt11 = PDstandardNthfdOrder42(>11[index]); + PDstandardNth3gt11 = PDstandardNthfdOrder43(>11[index]); + PDstandardNth11gt11 = PDstandardNthfdOrder411(>11[index]); + PDstandardNth22gt11 = PDstandardNthfdOrder422(>11[index]); + PDstandardNth33gt11 = PDstandardNthfdOrder433(>11[index]); + PDstandardNth12gt11 = PDstandardNthfdOrder412(>11[index]); + PDstandardNth13gt11 = PDstandardNthfdOrder413(>11[index]); + PDstandardNth23gt11 = PDstandardNthfdOrder423(>11[index]); + PDstandardNth1gt12 = PDstandardNthfdOrder41(>12[index]); + PDstandardNth2gt12 = PDstandardNthfdOrder42(>12[index]); + PDstandardNth3gt12 = PDstandardNthfdOrder43(>12[index]); + PDstandardNth11gt12 = PDstandardNthfdOrder411(>12[index]); + PDstandardNth22gt12 = PDstandardNthfdOrder422(>12[index]); + PDstandardNth33gt12 = PDstandardNthfdOrder433(>12[index]); + PDstandardNth12gt12 = PDstandardNthfdOrder412(>12[index]); + PDstandardNth13gt12 = PDstandardNthfdOrder413(>12[index]); + PDstandardNth23gt12 = PDstandardNthfdOrder423(>12[index]); + PDstandardNth1gt13 = PDstandardNthfdOrder41(>13[index]); + PDstandardNth2gt13 = PDstandardNthfdOrder42(>13[index]); + PDstandardNth3gt13 = PDstandardNthfdOrder43(>13[index]); + PDstandardNth11gt13 = PDstandardNthfdOrder411(>13[index]); + PDstandardNth22gt13 = PDstandardNthfdOrder422(>13[index]); + PDstandardNth33gt13 = PDstandardNthfdOrder433(>13[index]); + PDstandardNth12gt13 = PDstandardNthfdOrder412(>13[index]); + PDstandardNth13gt13 = PDstandardNthfdOrder413(>13[index]); + PDstandardNth23gt13 = PDstandardNthfdOrder423(>13[index]); + PDstandardNth1gt22 = PDstandardNthfdOrder41(>22[index]); + PDstandardNth2gt22 = PDstandardNthfdOrder42(>22[index]); + PDstandardNth3gt22 = PDstandardNthfdOrder43(>22[index]); + PDstandardNth11gt22 = PDstandardNthfdOrder411(>22[index]); + PDstandardNth22gt22 = PDstandardNthfdOrder422(>22[index]); + PDstandardNth33gt22 = PDstandardNthfdOrder433(>22[index]); + PDstandardNth12gt22 = PDstandardNthfdOrder412(>22[index]); + PDstandardNth13gt22 = PDstandardNthfdOrder413(>22[index]); + PDstandardNth23gt22 = PDstandardNthfdOrder423(>22[index]); + PDstandardNth1gt23 = PDstandardNthfdOrder41(>23[index]); + PDstandardNth2gt23 = PDstandardNthfdOrder42(>23[index]); + PDstandardNth3gt23 = PDstandardNthfdOrder43(>23[index]); + PDstandardNth11gt23 = PDstandardNthfdOrder411(>23[index]); + PDstandardNth22gt23 = PDstandardNthfdOrder422(>23[index]); + PDstandardNth33gt23 = PDstandardNthfdOrder433(>23[index]); + PDstandardNth12gt23 = PDstandardNthfdOrder412(>23[index]); + PDstandardNth13gt23 = PDstandardNthfdOrder413(>23[index]); + PDstandardNth23gt23 = PDstandardNthfdOrder423(>23[index]); + PDstandardNth1gt33 = PDstandardNthfdOrder41(>33[index]); + PDstandardNth2gt33 = PDstandardNthfdOrder42(>33[index]); + PDstandardNth3gt33 = PDstandardNthfdOrder43(>33[index]); + PDstandardNth11gt33 = PDstandardNthfdOrder411(>33[index]); + PDstandardNth22gt33 = PDstandardNthfdOrder422(>33[index]); + PDstandardNth33gt33 = PDstandardNthfdOrder433(>33[index]); + PDstandardNth12gt33 = PDstandardNthfdOrder412(>33[index]); + PDstandardNth13gt33 = PDstandardNthfdOrder413(>33[index]); + PDstandardNth23gt33 = PDstandardNthfdOrder423(>33[index]); + PDstandardNth1phi = PDstandardNthfdOrder41(&phi[index]); + PDstandardNth2phi = PDstandardNthfdOrder42(&phi[index]); + PDstandardNth3phi = PDstandardNthfdOrder43(&phi[index]); + PDstandardNth11phi = PDstandardNthfdOrder411(&phi[index]); + PDstandardNth22phi = PDstandardNthfdOrder422(&phi[index]); + PDstandardNth33phi = PDstandardNthfdOrder433(&phi[index]); + PDstandardNth12phi = PDstandardNthfdOrder412(&phi[index]); + PDstandardNth13phi = PDstandardNthfdOrder413(&phi[index]); + PDstandardNth23phi = PDstandardNthfdOrder423(&phi[index]); + PDstandardNth1trK = PDstandardNthfdOrder41(&trK[index]); + PDstandardNth2trK = PDstandardNthfdOrder42(&trK[index]); + PDstandardNth3trK = PDstandardNthfdOrder43(&trK[index]); + PDstandardNth1Xt1 = PDstandardNthfdOrder41(&Xt1[index]); + PDstandardNth2Xt1 = PDstandardNthfdOrder42(&Xt1[index]); + PDstandardNth3Xt1 = PDstandardNthfdOrder43(&Xt1[index]); + PDstandardNth1Xt2 = PDstandardNthfdOrder41(&Xt2[index]); + PDstandardNth2Xt2 = PDstandardNthfdOrder42(&Xt2[index]); + PDstandardNth3Xt2 = PDstandardNthfdOrder43(&Xt2[index]); + PDstandardNth1Xt3 = PDstandardNthfdOrder41(&Xt3[index]); + PDstandardNth2Xt3 = PDstandardNthfdOrder42(&Xt3[index]); + PDstandardNth3Xt3 = PDstandardNthfdOrder43(&Xt3[index]); + break; + } + + case 6: + { + PDstandardNth1At11 = PDstandardNthfdOrder61(&At11[index]); + PDstandardNth2At11 = PDstandardNthfdOrder62(&At11[index]); + PDstandardNth3At11 = PDstandardNthfdOrder63(&At11[index]); + PDstandardNth1At12 = PDstandardNthfdOrder61(&At12[index]); + PDstandardNth2At12 = PDstandardNthfdOrder62(&At12[index]); + PDstandardNth3At12 = PDstandardNthfdOrder63(&At12[index]); + PDstandardNth1At13 = PDstandardNthfdOrder61(&At13[index]); + PDstandardNth2At13 = PDstandardNthfdOrder62(&At13[index]); + PDstandardNth3At13 = PDstandardNthfdOrder63(&At13[index]); + PDstandardNth1At22 = PDstandardNthfdOrder61(&At22[index]); + PDstandardNth2At22 = PDstandardNthfdOrder62(&At22[index]); + PDstandardNth3At22 = PDstandardNthfdOrder63(&At22[index]); + PDstandardNth1At23 = PDstandardNthfdOrder61(&At23[index]); + PDstandardNth2At23 = PDstandardNthfdOrder62(&At23[index]); + PDstandardNth3At23 = PDstandardNthfdOrder63(&At23[index]); + PDstandardNth1At33 = PDstandardNthfdOrder61(&At33[index]); + PDstandardNth2At33 = PDstandardNthfdOrder62(&At33[index]); + PDstandardNth3At33 = PDstandardNthfdOrder63(&At33[index]); + PDstandardNth1gt11 = PDstandardNthfdOrder61(>11[index]); + PDstandardNth2gt11 = PDstandardNthfdOrder62(>11[index]); + PDstandardNth3gt11 = PDstandardNthfdOrder63(>11[index]); + PDstandardNth11gt11 = PDstandardNthfdOrder611(>11[index]); + PDstandardNth22gt11 = PDstandardNthfdOrder622(>11[index]); + PDstandardNth33gt11 = PDstandardNthfdOrder633(>11[index]); + PDstandardNth12gt11 = PDstandardNthfdOrder612(>11[index]); + PDstandardNth13gt11 = PDstandardNthfdOrder613(>11[index]); + PDstandardNth23gt11 = PDstandardNthfdOrder623(>11[index]); + PDstandardNth1gt12 = PDstandardNthfdOrder61(>12[index]); + PDstandardNth2gt12 = PDstandardNthfdOrder62(>12[index]); + PDstandardNth3gt12 = PDstandardNthfdOrder63(>12[index]); + PDstandardNth11gt12 = PDstandardNthfdOrder611(>12[index]); + PDstandardNth22gt12 = PDstandardNthfdOrder622(>12[index]); + PDstandardNth33gt12 = PDstandardNthfdOrder633(>12[index]); + PDstandardNth12gt12 = PDstandardNthfdOrder612(>12[index]); + PDstandardNth13gt12 = PDstandardNthfdOrder613(>12[index]); + PDstandardNth23gt12 = PDstandardNthfdOrder623(>12[index]); + PDstandardNth1gt13 = PDstandardNthfdOrder61(>13[index]); + PDstandardNth2gt13 = PDstandardNthfdOrder62(>13[index]); + PDstandardNth3gt13 = PDstandardNthfdOrder63(>13[index]); + PDstandardNth11gt13 = PDstandardNthfdOrder611(>13[index]); + PDstandardNth22gt13 = PDstandardNthfdOrder622(>13[index]); + PDstandardNth33gt13 = PDstandardNthfdOrder633(>13[index]); + PDstandardNth12gt13 = PDstandardNthfdOrder612(>13[index]); + PDstandardNth13gt13 = PDstandardNthfdOrder613(>13[index]); + PDstandardNth23gt13 = PDstandardNthfdOrder623(>13[index]); + PDstandardNth1gt22 = PDstandardNthfdOrder61(>22[index]); + PDstandardNth2gt22 = PDstandardNthfdOrder62(>22[index]); + PDstandardNth3gt22 = PDstandardNthfdOrder63(>22[index]); + PDstandardNth11gt22 = PDstandardNthfdOrder611(>22[index]); + PDstandardNth22gt22 = PDstandardNthfdOrder622(>22[index]); + PDstandardNth33gt22 = PDstandardNthfdOrder633(>22[index]); + PDstandardNth12gt22 = PDstandardNthfdOrder612(>22[index]); + PDstandardNth13gt22 = PDstandardNthfdOrder613(>22[index]); + PDstandardNth23gt22 = PDstandardNthfdOrder623(>22[index]); + PDstandardNth1gt23 = PDstandardNthfdOrder61(>23[index]); + PDstandardNth2gt23 = PDstandardNthfdOrder62(>23[index]); + PDstandardNth3gt23 = PDstandardNthfdOrder63(>23[index]); + PDstandardNth11gt23 = PDstandardNthfdOrder611(>23[index]); + PDstandardNth22gt23 = PDstandardNthfdOrder622(>23[index]); + PDstandardNth33gt23 = PDstandardNthfdOrder633(>23[index]); + PDstandardNth12gt23 = PDstandardNthfdOrder612(>23[index]); + PDstandardNth13gt23 = PDstandardNthfdOrder613(>23[index]); + PDstandardNth23gt23 = PDstandardNthfdOrder623(>23[index]); + PDstandardNth1gt33 = PDstandardNthfdOrder61(>33[index]); + PDstandardNth2gt33 = PDstandardNthfdOrder62(>33[index]); + PDstandardNth3gt33 = PDstandardNthfdOrder63(>33[index]); + PDstandardNth11gt33 = PDstandardNthfdOrder611(>33[index]); + PDstandardNth22gt33 = PDstandardNthfdOrder622(>33[index]); + PDstandardNth33gt33 = PDstandardNthfdOrder633(>33[index]); + PDstandardNth12gt33 = PDstandardNthfdOrder612(>33[index]); + PDstandardNth13gt33 = PDstandardNthfdOrder613(>33[index]); + PDstandardNth23gt33 = PDstandardNthfdOrder623(>33[index]); + PDstandardNth1phi = PDstandardNthfdOrder61(&phi[index]); + PDstandardNth2phi = PDstandardNthfdOrder62(&phi[index]); + PDstandardNth3phi = PDstandardNthfdOrder63(&phi[index]); + PDstandardNth11phi = PDstandardNthfdOrder611(&phi[index]); + PDstandardNth22phi = PDstandardNthfdOrder622(&phi[index]); + PDstandardNth33phi = PDstandardNthfdOrder633(&phi[index]); + PDstandardNth12phi = PDstandardNthfdOrder612(&phi[index]); + PDstandardNth13phi = PDstandardNthfdOrder613(&phi[index]); + PDstandardNth23phi = PDstandardNthfdOrder623(&phi[index]); + PDstandardNth1trK = PDstandardNthfdOrder61(&trK[index]); + PDstandardNth2trK = PDstandardNthfdOrder62(&trK[index]); + PDstandardNth3trK = PDstandardNthfdOrder63(&trK[index]); + PDstandardNth1Xt1 = PDstandardNthfdOrder61(&Xt1[index]); + PDstandardNth2Xt1 = PDstandardNthfdOrder62(&Xt1[index]); + PDstandardNth3Xt1 = PDstandardNthfdOrder63(&Xt1[index]); + PDstandardNth1Xt2 = PDstandardNthfdOrder61(&Xt2[index]); + PDstandardNth2Xt2 = PDstandardNthfdOrder62(&Xt2[index]); + PDstandardNth3Xt2 = PDstandardNthfdOrder63(&Xt2[index]); + PDstandardNth1Xt3 = PDstandardNthfdOrder61(&Xt3[index]); + PDstandardNth2Xt3 = PDstandardNthfdOrder62(&Xt3[index]); + PDstandardNth3Xt3 = PDstandardNthfdOrder63(&Xt3[index]); + break; + } + + case 8: + { + PDstandardNth1At11 = PDstandardNthfdOrder81(&At11[index]); + PDstandardNth2At11 = PDstandardNthfdOrder82(&At11[index]); + PDstandardNth3At11 = PDstandardNthfdOrder83(&At11[index]); + PDstandardNth1At12 = PDstandardNthfdOrder81(&At12[index]); + PDstandardNth2At12 = PDstandardNthfdOrder82(&At12[index]); + PDstandardNth3At12 = PDstandardNthfdOrder83(&At12[index]); + PDstandardNth1At13 = PDstandardNthfdOrder81(&At13[index]); + PDstandardNth2At13 = PDstandardNthfdOrder82(&At13[index]); + PDstandardNth3At13 = PDstandardNthfdOrder83(&At13[index]); + PDstandardNth1At22 = PDstandardNthfdOrder81(&At22[index]); + PDstandardNth2At22 = PDstandardNthfdOrder82(&At22[index]); + PDstandardNth3At22 = PDstandardNthfdOrder83(&At22[index]); + PDstandardNth1At23 = PDstandardNthfdOrder81(&At23[index]); + PDstandardNth2At23 = PDstandardNthfdOrder82(&At23[index]); + PDstandardNth3At23 = PDstandardNthfdOrder83(&At23[index]); + PDstandardNth1At33 = PDstandardNthfdOrder81(&At33[index]); + PDstandardNth2At33 = PDstandardNthfdOrder82(&At33[index]); + PDstandardNth3At33 = PDstandardNthfdOrder83(&At33[index]); + PDstandardNth1gt11 = PDstandardNthfdOrder81(>11[index]); + PDstandardNth2gt11 = PDstandardNthfdOrder82(>11[index]); + PDstandardNth3gt11 = PDstandardNthfdOrder83(>11[index]); + PDstandardNth11gt11 = PDstandardNthfdOrder811(>11[index]); + PDstandardNth22gt11 = PDstandardNthfdOrder822(>11[index]); + PDstandardNth33gt11 = PDstandardNthfdOrder833(>11[index]); + PDstandardNth12gt11 = PDstandardNthfdOrder812(>11[index]); + PDstandardNth13gt11 = PDstandardNthfdOrder813(>11[index]); + PDstandardNth23gt11 = PDstandardNthfdOrder823(>11[index]); + PDstandardNth1gt12 = PDstandardNthfdOrder81(>12[index]); + PDstandardNth2gt12 = PDstandardNthfdOrder82(>12[index]); + PDstandardNth3gt12 = PDstandardNthfdOrder83(>12[index]); + PDstandardNth11gt12 = PDstandardNthfdOrder811(>12[index]); + PDstandardNth22gt12 = PDstandardNthfdOrder822(>12[index]); + PDstandardNth33gt12 = PDstandardNthfdOrder833(>12[index]); + PDstandardNth12gt12 = PDstandardNthfdOrder812(>12[index]); + PDstandardNth13gt12 = PDstandardNthfdOrder813(>12[index]); + PDstandardNth23gt12 = PDstandardNthfdOrder823(>12[index]); + PDstandardNth1gt13 = PDstandardNthfdOrder81(>13[index]); + PDstandardNth2gt13 = PDstandardNthfdOrder82(>13[index]); + PDstandardNth3gt13 = PDstandardNthfdOrder83(>13[index]); + PDstandardNth11gt13 = PDstandardNthfdOrder811(>13[index]); + PDstandardNth22gt13 = PDstandardNthfdOrder822(>13[index]); + PDstandardNth33gt13 = PDstandardNthfdOrder833(>13[index]); + PDstandardNth12gt13 = PDstandardNthfdOrder812(>13[index]); + PDstandardNth13gt13 = PDstandardNthfdOrder813(>13[index]); + PDstandardNth23gt13 = PDstandardNthfdOrder823(>13[index]); + PDstandardNth1gt22 = PDstandardNthfdOrder81(>22[index]); + PDstandardNth2gt22 = PDstandardNthfdOrder82(>22[index]); + PDstandardNth3gt22 = PDstandardNthfdOrder83(>22[index]); + PDstandardNth11gt22 = PDstandardNthfdOrder811(>22[index]); + PDstandardNth22gt22 = PDstandardNthfdOrder822(>22[index]); + PDstandardNth33gt22 = PDstandardNthfdOrder833(>22[index]); + PDstandardNth12gt22 = PDstandardNthfdOrder812(>22[index]); + PDstandardNth13gt22 = PDstandardNthfdOrder813(>22[index]); + PDstandardNth23gt22 = PDstandardNthfdOrder823(>22[index]); + PDstandardNth1gt23 = PDstandardNthfdOrder81(>23[index]); + PDstandardNth2gt23 = PDstandardNthfdOrder82(>23[index]); + PDstandardNth3gt23 = PDstandardNthfdOrder83(>23[index]); + PDstandardNth11gt23 = PDstandardNthfdOrder811(>23[index]); + PDstandardNth22gt23 = PDstandardNthfdOrder822(>23[index]); + PDstandardNth33gt23 = PDstandardNthfdOrder833(>23[index]); + PDstandardNth12gt23 = PDstandardNthfdOrder812(>23[index]); + PDstandardNth13gt23 = PDstandardNthfdOrder813(>23[index]); + PDstandardNth23gt23 = PDstandardNthfdOrder823(>23[index]); + PDstandardNth1gt33 = PDstandardNthfdOrder81(>33[index]); + PDstandardNth2gt33 = PDstandardNthfdOrder82(>33[index]); + PDstandardNth3gt33 = PDstandardNthfdOrder83(>33[index]); + PDstandardNth11gt33 = PDstandardNthfdOrder811(>33[index]); + PDstandardNth22gt33 = PDstandardNthfdOrder822(>33[index]); + PDstandardNth33gt33 = PDstandardNthfdOrder833(>33[index]); + PDstandardNth12gt33 = PDstandardNthfdOrder812(>33[index]); + PDstandardNth13gt33 = PDstandardNthfdOrder813(>33[index]); + PDstandardNth23gt33 = PDstandardNthfdOrder823(>33[index]); + PDstandardNth1phi = PDstandardNthfdOrder81(&phi[index]); + PDstandardNth2phi = PDstandardNthfdOrder82(&phi[index]); + PDstandardNth3phi = PDstandardNthfdOrder83(&phi[index]); + PDstandardNth11phi = PDstandardNthfdOrder811(&phi[index]); + PDstandardNth22phi = PDstandardNthfdOrder822(&phi[index]); + PDstandardNth33phi = PDstandardNthfdOrder833(&phi[index]); + PDstandardNth12phi = PDstandardNthfdOrder812(&phi[index]); + PDstandardNth13phi = PDstandardNthfdOrder813(&phi[index]); + PDstandardNth23phi = PDstandardNthfdOrder823(&phi[index]); + PDstandardNth1trK = PDstandardNthfdOrder81(&trK[index]); + PDstandardNth2trK = PDstandardNthfdOrder82(&trK[index]); + PDstandardNth3trK = PDstandardNthfdOrder83(&trK[index]); + PDstandardNth1Xt1 = PDstandardNthfdOrder81(&Xt1[index]); + PDstandardNth2Xt1 = PDstandardNthfdOrder82(&Xt1[index]); + PDstandardNth3Xt1 = PDstandardNthfdOrder83(&Xt1[index]); + PDstandardNth1Xt2 = PDstandardNthfdOrder81(&Xt2[index]); + PDstandardNth2Xt2 = PDstandardNthfdOrder82(&Xt2[index]); + PDstandardNth3Xt2 = PDstandardNthfdOrder83(&Xt2[index]); + PDstandardNth1Xt3 = PDstandardNthfdOrder81(&Xt3[index]); + PDstandardNth2Xt3 = PDstandardNthfdOrder82(&Xt3[index]); + PDstandardNth3Xt3 = PDstandardNthfdOrder83(&Xt3[index]); + break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); + } + + double xx = x[index]; + int origin = fabs(xx) < 1e-8; + + PDstandardNth2gt11 = 0; + PDstandardNth22gt11 = origin ? PDstandardNth11gt22 : PDstandardNth1gt11 / xx - 2 * (gt11[index] - gt22[index]) / (xx * xx); + PDstandardNth12gt11 = 0; + PDstandardNth23gt11 = 0; + PDstandardNth2gt12 = origin ? PDstandardNth1gt11 - PDstandardNth1gt22 : (gt11[index] - gt22[index]) / xx; + PDstandardNth22gt12 = 0; + PDstandardNth12gt12 = origin ? (PDstandardNth11gt11 - PDstandardNth11gt22) / 2 : (PDstandardNth1gt11 - PDstandardNth1gt22) / xx - (gt11[index] - gt22[index]) / (xx * xx); + PDstandardNth23gt12 = origin ? PDstandardNth13gt11 - PDstandardNth13gt22 : (PDstandardNth3gt11 - PDstandardNth3gt22) / xx; + PDstandardNth2gt13 = 0; + PDstandardNth22gt13 = origin ? PDstandardNth11gt13 / 2 : PDstandardNth1gt13 / xx - gt13[index] / (xx * xx); + PDstandardNth12gt13 = 0; + PDstandardNth23gt13 = 0; + PDstandardNth2gt22 = 0; + PDstandardNth22gt22 = origin ? PDstandardNth11gt11 : PDstandardNth1gt22 / xx + 2 * (gt11[index] - gt22[index]) / (xx * xx); + PDstandardNth12gt22 = 0; + PDstandardNth23gt22 = 0; + PDstandardNth2gt23 = origin ? PDstandardNth1gt13 : gt13[index] / xx; + PDstandardNth22gt23 = 0; + PDstandardNth12gt23 = origin ? PDstandardNth11gt13 / 2 : PDstandardNth1gt13 / xx - gt13[index] / (xx * xx); + PDstandardNth23gt23 = origin ? PDstandardNth13gt13 : PDstandardNth3gt13 / xx; + PDstandardNth2gt33 = 0; + PDstandardNth22gt33 = origin ? PDstandardNth11gt33 : PDstandardNth1gt33 / xx; + PDstandardNth12gt33 = 0; + PDstandardNth23gt33 = 0; + + PDstandardNth2phi = 0; + PDstandardNth22phi = origin ? PDstandardNth11phi : PDstandardNth1phi / xx; + PDstandardNth12phi = 0; + PDstandardNth23phi = 0; + PDstandardNth2trK = 0; + PDstandardNth2Xt1 = 0; + PDstandardNth2Xt2 = origin ? PDstandardNth1Xt1 : Xt1[index] / xx; + PDstandardNth2Xt3 = 0; + + PDstandardNth2At11 = 0; //origin ? -2 * PDstandardNth1At12 : -2 * At12[index] / xx; + PDstandardNth2At12 = origin ? PDstandardNth1At11 - PDstandardNth1At22 : (At11[index] - At22[index]) / xx; + PDstandardNth2At13 = 0; //origin ? -PDstandardNth1At23 : - At23[index] / xx; + PDstandardNth2At22 = 0; //origin ? 2 * PDstandardNth1At12 : 2 * At12[index] / xx; + PDstandardNth2At23 = origin ? PDstandardNth1At13 : At13[index] / xx; + PDstandardNth2At33 = 0; + + /* Calculate temporaries and grid functions */ + CCTK_REAL_VEC JacPDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth11phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth12phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth13phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth1Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth21gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth22phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth23phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth2Xt3 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth31gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth32gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth33phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3At11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3At12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3At13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3At22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3At23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3At33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt11 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt12 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt13 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3trK CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt1 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt2 CCTK_ATTRIBUTE_UNUSED; + CCTK_REAL_VEC JacPDstandardNth3Xt3 CCTK_ATTRIBUTE_UNUSED; + + if (use_jacobian) + { + JacPDstandardNth1At11 = + kmadd(J11L,PDstandardNth1At11,kmadd(J21L,PDstandardNth2At11,kmul(J31L,PDstandardNth3At11))); + + JacPDstandardNth1At12 = + kmadd(J11L,PDstandardNth1At12,kmadd(J21L,PDstandardNth2At12,kmul(J31L,PDstandardNth3At12))); + + JacPDstandardNth1At13 = + kmadd(J11L,PDstandardNth1At13,kmadd(J21L,PDstandardNth2At13,kmul(J31L,PDstandardNth3At13))); + + JacPDstandardNth1At22 = + kmadd(J11L,PDstandardNth1At22,kmadd(J21L,PDstandardNth2At22,kmul(J31L,PDstandardNth3At22))); + + JacPDstandardNth1At23 = + kmadd(J11L,PDstandardNth1At23,kmadd(J21L,PDstandardNth2At23,kmul(J31L,PDstandardNth3At23))); + + JacPDstandardNth1At33 = + kmadd(J11L,PDstandardNth1At33,kmadd(J21L,PDstandardNth2At33,kmul(J31L,PDstandardNth3At33))); + + JacPDstandardNth1gt11 = + kmadd(J11L,PDstandardNth1gt11,kmadd(J21L,PDstandardNth2gt11,kmul(J31L,PDstandardNth3gt11))); + + JacPDstandardNth1gt12 = + kmadd(J11L,PDstandardNth1gt12,kmadd(J21L,PDstandardNth2gt12,kmul(J31L,PDstandardNth3gt12))); + + JacPDstandardNth1gt13 = + kmadd(J11L,PDstandardNth1gt13,kmadd(J21L,PDstandardNth2gt13,kmul(J31L,PDstandardNth3gt13))); + + JacPDstandardNth1gt22 = + kmadd(J11L,PDstandardNth1gt22,kmadd(J21L,PDstandardNth2gt22,kmul(J31L,PDstandardNth3gt22))); + + JacPDstandardNth1gt23 = + kmadd(J11L,PDstandardNth1gt23,kmadd(J21L,PDstandardNth2gt23,kmul(J31L,PDstandardNth3gt23))); + + JacPDstandardNth1gt33 = + kmadd(J11L,PDstandardNth1gt33,kmadd(J21L,PDstandardNth2gt33,kmul(J31L,PDstandardNth3gt33))); + + JacPDstandardNth1phi = + kmadd(J11L,PDstandardNth1phi,kmadd(J21L,PDstandardNth2phi,kmul(J31L,PDstandardNth3phi))); + + JacPDstandardNth1trK = + kmadd(J11L,PDstandardNth1trK,kmadd(J21L,PDstandardNth2trK,kmul(J31L,PDstandardNth3trK))); + + JacPDstandardNth1Xt1 = + kmadd(J11L,PDstandardNth1Xt1,kmadd(J21L,PDstandardNth2Xt1,kmul(J31L,PDstandardNth3Xt1))); + + JacPDstandardNth1Xt2 = + kmadd(J11L,PDstandardNth1Xt2,kmadd(J21L,PDstandardNth2Xt2,kmul(J31L,PDstandardNth3Xt2))); + + JacPDstandardNth1Xt3 = + kmadd(J11L,PDstandardNth1Xt3,kmadd(J21L,PDstandardNth2Xt3,kmul(J31L,PDstandardNth3Xt3))); + + JacPDstandardNth2At11 = + kmadd(J12L,PDstandardNth1At11,kmadd(J22L,PDstandardNth2At11,kmul(J32L,PDstandardNth3At11))); + + JacPDstandardNth2At12 = + kmadd(J12L,PDstandardNth1At12,kmadd(J22L,PDstandardNth2At12,kmul(J32L,PDstandardNth3At12))); + + JacPDstandardNth2At13 = + kmadd(J12L,PDstandardNth1At13,kmadd(J22L,PDstandardNth2At13,kmul(J32L,PDstandardNth3At13))); + + JacPDstandardNth2At22 = + kmadd(J12L,PDstandardNth1At22,kmadd(J22L,PDstandardNth2At22,kmul(J32L,PDstandardNth3At22))); + + JacPDstandardNth2At23 = + kmadd(J12L,PDstandardNth1At23,kmadd(J22L,PDstandardNth2At23,kmul(J32L,PDstandardNth3At23))); + + JacPDstandardNth2At33 = + kmadd(J12L,PDstandardNth1At33,kmadd(J22L,PDstandardNth2At33,kmul(J32L,PDstandardNth3At33))); + + JacPDstandardNth2gt11 = + kmadd(J12L,PDstandardNth1gt11,kmadd(J22L,PDstandardNth2gt11,kmul(J32L,PDstandardNth3gt11))); + + JacPDstandardNth2gt12 = + kmadd(J12L,PDstandardNth1gt12,kmadd(J22L,PDstandardNth2gt12,kmul(J32L,PDstandardNth3gt12))); + + JacPDstandardNth2gt13 = + kmadd(J12L,PDstandardNth1gt13,kmadd(J22L,PDstandardNth2gt13,kmul(J32L,PDstandardNth3gt13))); + + JacPDstandardNth2gt22 = + kmadd(J12L,PDstandardNth1gt22,kmadd(J22L,PDstandardNth2gt22,kmul(J32L,PDstandardNth3gt22))); + + JacPDstandardNth2gt23 = + kmadd(J12L,PDstandardNth1gt23,kmadd(J22L,PDstandardNth2gt23,kmul(J32L,PDstandardNth3gt23))); + + JacPDstandardNth2gt33 = + kmadd(J12L,PDstandardNth1gt33,kmadd(J22L,PDstandardNth2gt33,kmul(J32L,PDstandardNth3gt33))); + + JacPDstandardNth2phi = + kmadd(J12L,PDstandardNth1phi,kmadd(J22L,PDstandardNth2phi,kmul(J32L,PDstandardNth3phi))); + + JacPDstandardNth2trK = + kmadd(J12L,PDstandardNth1trK,kmadd(J22L,PDstandardNth2trK,kmul(J32L,PDstandardNth3trK))); + + JacPDstandardNth2Xt1 = + kmadd(J12L,PDstandardNth1Xt1,kmadd(J22L,PDstandardNth2Xt1,kmul(J32L,PDstandardNth3Xt1))); + + JacPDstandardNth2Xt2 = + kmadd(J12L,PDstandardNth1Xt2,kmadd(J22L,PDstandardNth2Xt2,kmul(J32L,PDstandardNth3Xt2))); + + JacPDstandardNth2Xt3 = + kmadd(J12L,PDstandardNth1Xt3,kmadd(J22L,PDstandardNth2Xt3,kmul(J32L,PDstandardNth3Xt3))); + + JacPDstandardNth3At11 = + kmadd(J13L,PDstandardNth1At11,kmadd(J23L,PDstandardNth2At11,kmul(J33L,PDstandardNth3At11))); + + JacPDstandardNth3At12 = + kmadd(J13L,PDstandardNth1At12,kmadd(J23L,PDstandardNth2At12,kmul(J33L,PDstandardNth3At12))); + + JacPDstandardNth3At13 = + kmadd(J13L,PDstandardNth1At13,kmadd(J23L,PDstandardNth2At13,kmul(J33L,PDstandardNth3At13))); + + JacPDstandardNth3At22 = + kmadd(J13L,PDstandardNth1At22,kmadd(J23L,PDstandardNth2At22,kmul(J33L,PDstandardNth3At22))); + + JacPDstandardNth3At23 = + kmadd(J13L,PDstandardNth1At23,kmadd(J23L,PDstandardNth2At23,kmul(J33L,PDstandardNth3At23))); + + JacPDstandardNth3At33 = + kmadd(J13L,PDstandardNth1At33,kmadd(J23L,PDstandardNth2At33,kmul(J33L,PDstandardNth3At33))); + + JacPDstandardNth3gt11 = + kmadd(J13L,PDstandardNth1gt11,kmadd(J23L,PDstandardNth2gt11,kmul(J33L,PDstandardNth3gt11))); + + JacPDstandardNth3gt12 = + kmadd(J13L,PDstandardNth1gt12,kmadd(J23L,PDstandardNth2gt12,kmul(J33L,PDstandardNth3gt12))); + + JacPDstandardNth3gt13 = + kmadd(J13L,PDstandardNth1gt13,kmadd(J23L,PDstandardNth2gt13,kmul(J33L,PDstandardNth3gt13))); + + JacPDstandardNth3gt22 = + kmadd(J13L,PDstandardNth1gt22,kmadd(J23L,PDstandardNth2gt22,kmul(J33L,PDstandardNth3gt22))); + + JacPDstandardNth3gt23 = + kmadd(J13L,PDstandardNth1gt23,kmadd(J23L,PDstandardNth2gt23,kmul(J33L,PDstandardNth3gt23))); + + JacPDstandardNth3gt33 = + kmadd(J13L,PDstandardNth1gt33,kmadd(J23L,PDstandardNth2gt33,kmul(J33L,PDstandardNth3gt33))); + + JacPDstandardNth3phi = + kmadd(J13L,PDstandardNth1phi,kmadd(J23L,PDstandardNth2phi,kmul(J33L,PDstandardNth3phi))); + + JacPDstandardNth3trK = + kmadd(J13L,PDstandardNth1trK,kmadd(J23L,PDstandardNth2trK,kmul(J33L,PDstandardNth3trK))); + + JacPDstandardNth3Xt1 = + kmadd(J13L,PDstandardNth1Xt1,kmadd(J23L,PDstandardNth2Xt1,kmul(J33L,PDstandardNth3Xt1))); + + JacPDstandardNth3Xt2 = + kmadd(J13L,PDstandardNth1Xt2,kmadd(J23L,PDstandardNth2Xt2,kmul(J33L,PDstandardNth3Xt2))); + + JacPDstandardNth3Xt3 = + kmadd(J13L,PDstandardNth1Xt3,kmadd(J23L,PDstandardNth2Xt3,kmul(J33L,PDstandardNth3Xt3))); + + JacPDstandardNth11gt11 = + kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J11L,J11L),kmadd(PDstandardNth22gt11,kmul(J21L,J21L),kmadd(PDstandardNth33gt11,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2)))))))); + + JacPDstandardNth11gt12 = + kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J11L,J11L),kmadd(PDstandardNth22gt12,kmul(J21L,J21L),kmadd(PDstandardNth33gt12,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2)))))))); + + JacPDstandardNth11gt13 = + kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J11L,J11L),kmadd(PDstandardNth22gt13,kmul(J21L,J21L),kmadd(PDstandardNth33gt13,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2)))))))); + + JacPDstandardNth11gt22 = + kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J11L,J11L),kmadd(PDstandardNth22gt22,kmul(J21L,J21L),kmadd(PDstandardNth33gt22,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2)))))))); + + JacPDstandardNth11gt23 = + kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J11L,J11L),kmadd(PDstandardNth22gt23,kmul(J21L,J21L),kmadd(PDstandardNth33gt23,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2)))))))); + + JacPDstandardNth11gt33 = + kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J11L,J11L),kmadd(PDstandardNth22gt33,kmul(J21L,J21L),kmadd(PDstandardNth33gt33,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2)))))))); + + JacPDstandardNth11phi = + kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J11L,J11L),kmadd(PDstandardNth22phi,kmul(J21L,J21L),kmadd(PDstandardNth33phi,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2)))))))); + + JacPDstandardNth22gt11 = + kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J12L,J12L),kmadd(PDstandardNth22gt11,kmul(J22L,J22L),kmadd(PDstandardNth33gt11,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2)))))))); + + JacPDstandardNth22gt12 = + kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J12L,J12L),kmadd(PDstandardNth22gt12,kmul(J22L,J22L),kmadd(PDstandardNth33gt12,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2)))))))); + + JacPDstandardNth22gt13 = + kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J12L,J12L),kmadd(PDstandardNth22gt13,kmul(J22L,J22L),kmadd(PDstandardNth33gt13,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2)))))))); + + JacPDstandardNth22gt22 = + kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J12L,J12L),kmadd(PDstandardNth22gt22,kmul(J22L,J22L),kmadd(PDstandardNth33gt22,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2)))))))); + + JacPDstandardNth22gt23 = + kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J12L,J12L),kmadd(PDstandardNth22gt23,kmul(J22L,J22L),kmadd(PDstandardNth33gt23,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2)))))))); + + JacPDstandardNth22gt33 = + kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J12L,J12L),kmadd(PDstandardNth22gt33,kmul(J22L,J22L),kmadd(PDstandardNth33gt33,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2)))))))); + + JacPDstandardNth22phi = + kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J12L,J12L),kmadd(PDstandardNth22phi,kmul(J22L,J22L),kmadd(PDstandardNth33phi,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2)))))))); + + JacPDstandardNth33gt11 = + kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,kmul(J13L,J13L),kmadd(PDstandardNth22gt11,kmul(J23L,J23L),kmadd(PDstandardNth33gt11,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2)))))))); + + JacPDstandardNth33gt12 = + kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,kmul(J13L,J13L),kmadd(PDstandardNth22gt12,kmul(J23L,J23L),kmadd(PDstandardNth33gt12,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2)))))))); + + JacPDstandardNth33gt13 = + kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,kmul(J13L,J13L),kmadd(PDstandardNth22gt13,kmul(J23L,J23L),kmadd(PDstandardNth33gt13,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2)))))))); + + JacPDstandardNth33gt22 = + kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,kmul(J13L,J13L),kmadd(PDstandardNth22gt22,kmul(J23L,J23L),kmadd(PDstandardNth33gt22,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2)))))))); + + JacPDstandardNth33gt23 = + kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,kmul(J13L,J13L),kmadd(PDstandardNth22gt23,kmul(J23L,J23L),kmadd(PDstandardNth33gt23,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2)))))))); + + JacPDstandardNth33gt33 = + kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,kmul(J13L,J13L),kmadd(PDstandardNth22gt33,kmul(J23L,J23L),kmadd(PDstandardNth33gt33,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2)))))))); + + JacPDstandardNth33phi = + kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,kmul(J13L,J13L),kmadd(PDstandardNth22phi,kmul(J23L,J23L),kmadd(PDstandardNth33phi,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2)))))))); + + JacPDstandardNth12gt11 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmadd(dJ112L,PDstandardNth1gt11,kmadd(J22L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ212L,PDstandardNth2gt11,kmadd(J32L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ312L,PDstandardNth3gt11))))))); + + JacPDstandardNth12gt12 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmadd(dJ112L,PDstandardNth1gt12,kmadd(J22L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ212L,PDstandardNth2gt12,kmadd(J32L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ312L,PDstandardNth3gt12))))))); + + JacPDstandardNth12gt13 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmadd(dJ112L,PDstandardNth1gt13,kmadd(J22L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ212L,PDstandardNth2gt13,kmadd(J32L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ312L,PDstandardNth3gt13))))))); + + JacPDstandardNth12gt22 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmadd(dJ112L,PDstandardNth1gt22,kmadd(J22L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ212L,PDstandardNth2gt22,kmadd(J32L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ312L,PDstandardNth3gt22))))))); + + JacPDstandardNth12gt23 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmadd(dJ112L,PDstandardNth1gt23,kmadd(J22L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ212L,PDstandardNth2gt23,kmadd(J32L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ312L,PDstandardNth3gt23))))))); + + JacPDstandardNth12gt33 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmadd(dJ112L,PDstandardNth1gt33,kmadd(J22L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ212L,PDstandardNth2gt33,kmadd(J32L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ312L,PDstandardNth3gt33))))))); + + JacPDstandardNth12phi = + kmadd(J12L,kmadd(J11L,PDstandardNth11phi,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi))),kmadd(J11L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmadd(dJ112L,PDstandardNth1phi,kmadd(J22L,kmadd(J21L,PDstandardNth22phi,kmul(J31L,PDstandardNth23phi)),kmadd(dJ212L,PDstandardNth2phi,kmadd(J32L,kmadd(J21L,PDstandardNth23phi,kmul(J31L,PDstandardNth33phi)),kmul(dJ312L,PDstandardNth3phi))))))); + + JacPDstandardNth13gt11 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ113L,PDstandardNth1gt11,kmadd(J23L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ213L,PDstandardNth2gt11,kmadd(J33L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ313L,PDstandardNth3gt11))))))); + + JacPDstandardNth13gt12 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ113L,PDstandardNth1gt12,kmadd(J23L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ213L,PDstandardNth2gt12,kmadd(J33L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ313L,PDstandardNth3gt12))))))); + + JacPDstandardNth13gt13 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ113L,PDstandardNth1gt13,kmadd(J23L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ213L,PDstandardNth2gt13,kmadd(J33L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ313L,PDstandardNth3gt13))))))); + + JacPDstandardNth13gt22 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ113L,PDstandardNth1gt22,kmadd(J23L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ213L,PDstandardNth2gt22,kmadd(J33L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ313L,PDstandardNth3gt22))))))); + + JacPDstandardNth13gt23 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ113L,PDstandardNth1gt23,kmadd(J23L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ213L,PDstandardNth2gt23,kmadd(J33L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ313L,PDstandardNth3gt23))))))); + + JacPDstandardNth13gt33 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ113L,PDstandardNth1gt33,kmadd(J23L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ213L,PDstandardNth2gt33,kmadd(J33L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ313L,PDstandardNth3gt33))))))); + + JacPDstandardNth13phi = + kmadd(J13L,kmadd(J11L,PDstandardNth11phi,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi))),kmadd(J11L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmadd(dJ113L,PDstandardNth1phi,kmadd(J23L,kmadd(J21L,PDstandardNth22phi,kmul(J31L,PDstandardNth23phi)),kmadd(dJ213L,PDstandardNth2phi,kmadd(J33L,kmadd(J21L,PDstandardNth23phi,kmul(J31L,PDstandardNth33phi)),kmul(dJ313L,PDstandardNth3phi))))))); + + JacPDstandardNth21gt11 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmadd(dJ112L,PDstandardNth1gt11,kmadd(J22L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ212L,PDstandardNth2gt11,kmadd(J32L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ312L,PDstandardNth3gt11))))))); + + JacPDstandardNth21gt12 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmadd(dJ112L,PDstandardNth1gt12,kmadd(J22L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ212L,PDstandardNth2gt12,kmadd(J32L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ312L,PDstandardNth3gt12))))))); + + JacPDstandardNth21gt13 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmadd(dJ112L,PDstandardNth1gt13,kmadd(J22L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ212L,PDstandardNth2gt13,kmadd(J32L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ312L,PDstandardNth3gt13))))))); + + JacPDstandardNth21gt22 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmadd(dJ112L,PDstandardNth1gt22,kmadd(J22L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ212L,PDstandardNth2gt22,kmadd(J32L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ312L,PDstandardNth3gt22))))))); + + JacPDstandardNth21gt23 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmadd(dJ112L,PDstandardNth1gt23,kmadd(J22L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ212L,PDstandardNth2gt23,kmadd(J32L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ312L,PDstandardNth3gt23))))))); + + JacPDstandardNth21gt33 = + kmadd(J12L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmadd(dJ112L,PDstandardNth1gt33,kmadd(J22L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ212L,PDstandardNth2gt33,kmadd(J32L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ312L,PDstandardNth3gt33))))))); + + JacPDstandardNth23gt11 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt11,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ123L,PDstandardNth1gt11,kmadd(J23L,kmadd(J22L,PDstandardNth22gt11,kmul(J32L,PDstandardNth23gt11)),kmadd(dJ223L,PDstandardNth2gt11,kmadd(J33L,kmadd(J22L,PDstandardNth23gt11,kmul(J32L,PDstandardNth33gt11)),kmul(dJ323L,PDstandardNth3gt11))))))); + + JacPDstandardNth23gt12 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt12,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ123L,PDstandardNth1gt12,kmadd(J23L,kmadd(J22L,PDstandardNth22gt12,kmul(J32L,PDstandardNth23gt12)),kmadd(dJ223L,PDstandardNth2gt12,kmadd(J33L,kmadd(J22L,PDstandardNth23gt12,kmul(J32L,PDstandardNth33gt12)),kmul(dJ323L,PDstandardNth3gt12))))))); + + JacPDstandardNth23gt13 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt13,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ123L,PDstandardNth1gt13,kmadd(J23L,kmadd(J22L,PDstandardNth22gt13,kmul(J32L,PDstandardNth23gt13)),kmadd(dJ223L,PDstandardNth2gt13,kmadd(J33L,kmadd(J22L,PDstandardNth23gt13,kmul(J32L,PDstandardNth33gt13)),kmul(dJ323L,PDstandardNth3gt13))))))); + + JacPDstandardNth23gt22 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt22,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ123L,PDstandardNth1gt22,kmadd(J23L,kmadd(J22L,PDstandardNth22gt22,kmul(J32L,PDstandardNth23gt22)),kmadd(dJ223L,PDstandardNth2gt22,kmadd(J33L,kmadd(J22L,PDstandardNth23gt22,kmul(J32L,PDstandardNth33gt22)),kmul(dJ323L,PDstandardNth3gt22))))))); + + JacPDstandardNth23gt23 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt23,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ123L,PDstandardNth1gt23,kmadd(J23L,kmadd(J22L,PDstandardNth22gt23,kmul(J32L,PDstandardNth23gt23)),kmadd(dJ223L,PDstandardNth2gt23,kmadd(J33L,kmadd(J22L,PDstandardNth23gt23,kmul(J32L,PDstandardNth33gt23)),kmul(dJ323L,PDstandardNth3gt23))))))); + + JacPDstandardNth23gt33 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt33,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ123L,PDstandardNth1gt33,kmadd(J23L,kmadd(J22L,PDstandardNth22gt33,kmul(J32L,PDstandardNth23gt33)),kmadd(dJ223L,PDstandardNth2gt33,kmadd(J33L,kmadd(J22L,PDstandardNth23gt33,kmul(J32L,PDstandardNth33gt33)),kmul(dJ323L,PDstandardNth3gt33))))))); + + JacPDstandardNth23phi = + kmadd(J13L,kmadd(J12L,PDstandardNth11phi,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi))),kmadd(J12L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmadd(dJ123L,PDstandardNth1phi,kmadd(J23L,kmadd(J22L,PDstandardNth22phi,kmul(J32L,PDstandardNth23phi)),kmadd(dJ223L,PDstandardNth2phi,kmadd(J33L,kmadd(J22L,PDstandardNth23phi,kmul(J32L,PDstandardNth33phi)),kmul(dJ323L,PDstandardNth3phi))))))); + + JacPDstandardNth31gt11 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ113L,PDstandardNth1gt11,kmadd(J23L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ213L,PDstandardNth2gt11,kmadd(J33L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ313L,PDstandardNth3gt11))))))); + + JacPDstandardNth31gt12 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ113L,PDstandardNth1gt12,kmadd(J23L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ213L,PDstandardNth2gt12,kmadd(J33L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ313L,PDstandardNth3gt12))))))); + + JacPDstandardNth31gt13 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ113L,PDstandardNth1gt13,kmadd(J23L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ213L,PDstandardNth2gt13,kmadd(J33L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ313L,PDstandardNth3gt13))))))); + + JacPDstandardNth31gt22 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ113L,PDstandardNth1gt22,kmadd(J23L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ213L,PDstandardNth2gt22,kmadd(J33L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ313L,PDstandardNth3gt22))))))); + + JacPDstandardNth31gt23 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ113L,PDstandardNth1gt23,kmadd(J23L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ213L,PDstandardNth2gt23,kmadd(J33L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ313L,PDstandardNth3gt23))))))); + + JacPDstandardNth31gt33 = + kmadd(J13L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ113L,PDstandardNth1gt33,kmadd(J23L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ213L,PDstandardNth2gt33,kmadd(J33L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ313L,PDstandardNth3gt33))))))); + + JacPDstandardNth32gt11 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt11,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ123L,PDstandardNth1gt11,kmadd(J23L,kmadd(J22L,PDstandardNth22gt11,kmul(J32L,PDstandardNth23gt11)),kmadd(dJ223L,PDstandardNth2gt11,kmadd(J33L,kmadd(J22L,PDstandardNth23gt11,kmul(J32L,PDstandardNth33gt11)),kmul(dJ323L,PDstandardNth3gt11))))))); + + JacPDstandardNth32gt12 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt12,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ123L,PDstandardNth1gt12,kmadd(J23L,kmadd(J22L,PDstandardNth22gt12,kmul(J32L,PDstandardNth23gt12)),kmadd(dJ223L,PDstandardNth2gt12,kmadd(J33L,kmadd(J22L,PDstandardNth23gt12,kmul(J32L,PDstandardNth33gt12)),kmul(dJ323L,PDstandardNth3gt12))))))); + + JacPDstandardNth32gt13 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt13,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ123L,PDstandardNth1gt13,kmadd(J23L,kmadd(J22L,PDstandardNth22gt13,kmul(J32L,PDstandardNth23gt13)),kmadd(dJ223L,PDstandardNth2gt13,kmadd(J33L,kmadd(J22L,PDstandardNth23gt13,kmul(J32L,PDstandardNth33gt13)),kmul(dJ323L,PDstandardNth3gt13))))))); + + JacPDstandardNth32gt22 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt22,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ123L,PDstandardNth1gt22,kmadd(J23L,kmadd(J22L,PDstandardNth22gt22,kmul(J32L,PDstandardNth23gt22)),kmadd(dJ223L,PDstandardNth2gt22,kmadd(J33L,kmadd(J22L,PDstandardNth23gt22,kmul(J32L,PDstandardNth33gt22)),kmul(dJ323L,PDstandardNth3gt22))))))); + + JacPDstandardNth32gt23 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt23,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ123L,PDstandardNth1gt23,kmadd(J23L,kmadd(J22L,PDstandardNth22gt23,kmul(J32L,PDstandardNth23gt23)),kmadd(dJ223L,PDstandardNth2gt23,kmadd(J33L,kmadd(J22L,PDstandardNth23gt23,kmul(J32L,PDstandardNth33gt23)),kmul(dJ323L,PDstandardNth3gt23))))))); + + JacPDstandardNth32gt33 = + kmadd(J13L,kmadd(J12L,PDstandardNth11gt33,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ123L,PDstandardNth1gt33,kmadd(J23L,kmadd(J22L,PDstandardNth22gt33,kmul(J32L,PDstandardNth23gt33)),kmadd(dJ223L,PDstandardNth2gt33,kmadd(J33L,kmadd(J22L,PDstandardNth23gt33,kmul(J32L,PDstandardNth33gt33)),kmul(dJ323L,PDstandardNth3gt33))))))); + } + else + { + JacPDstandardNth1At11 = PDstandardNth1At11; + + JacPDstandardNth1At12 = PDstandardNth1At12; + + JacPDstandardNth1At13 = PDstandardNth1At13; + + JacPDstandardNth1At22 = PDstandardNth1At22; + + JacPDstandardNth1At23 = PDstandardNth1At23; + + JacPDstandardNth1At33 = PDstandardNth1At33; + + JacPDstandardNth1gt11 = PDstandardNth1gt11; + + JacPDstandardNth1gt12 = PDstandardNth1gt12; + + JacPDstandardNth1gt13 = PDstandardNth1gt13; + + JacPDstandardNth1gt22 = PDstandardNth1gt22; + + JacPDstandardNth1gt23 = PDstandardNth1gt23; + + JacPDstandardNth1gt33 = PDstandardNth1gt33; + + JacPDstandardNth1phi = PDstandardNth1phi; + + JacPDstandardNth1trK = PDstandardNth1trK; + + JacPDstandardNth1Xt1 = PDstandardNth1Xt1; + + JacPDstandardNth1Xt2 = PDstandardNth1Xt2; + + JacPDstandardNth1Xt3 = PDstandardNth1Xt3; + + JacPDstandardNth2At11 = PDstandardNth2At11; + + JacPDstandardNth2At12 = PDstandardNth2At12; + + JacPDstandardNth2At13 = PDstandardNth2At13; + + JacPDstandardNth2At22 = PDstandardNth2At22; + + JacPDstandardNth2At23 = PDstandardNth2At23; + + JacPDstandardNth2At33 = PDstandardNth2At33; + + JacPDstandardNth2gt11 = PDstandardNth2gt11; + + JacPDstandardNth2gt12 = PDstandardNth2gt12; + + JacPDstandardNth2gt13 = PDstandardNth2gt13; + + JacPDstandardNth2gt22 = PDstandardNth2gt22; + + JacPDstandardNth2gt23 = PDstandardNth2gt23; + + JacPDstandardNth2gt33 = PDstandardNth2gt33; + + JacPDstandardNth2phi = PDstandardNth2phi; + + JacPDstandardNth2trK = PDstandardNth2trK; + + JacPDstandardNth2Xt1 = PDstandardNth2Xt1; + + JacPDstandardNth2Xt2 = PDstandardNth2Xt2; + + JacPDstandardNth2Xt3 = PDstandardNth2Xt3; + + JacPDstandardNth3At11 = PDstandardNth3At11; + + JacPDstandardNth3At12 = PDstandardNth3At12; + + JacPDstandardNth3At13 = PDstandardNth3At13; + + JacPDstandardNth3At22 = PDstandardNth3At22; + + JacPDstandardNth3At23 = PDstandardNth3At23; + + JacPDstandardNth3At33 = PDstandardNth3At33; + + JacPDstandardNth3gt11 = PDstandardNth3gt11; + + JacPDstandardNth3gt12 = PDstandardNth3gt12; + + JacPDstandardNth3gt13 = PDstandardNth3gt13; + + JacPDstandardNth3gt22 = PDstandardNth3gt22; + + JacPDstandardNth3gt23 = PDstandardNth3gt23; + + JacPDstandardNth3gt33 = PDstandardNth3gt33; + + JacPDstandardNth3phi = PDstandardNth3phi; + + JacPDstandardNth3trK = PDstandardNth3trK; + + JacPDstandardNth3Xt1 = PDstandardNth3Xt1; + + JacPDstandardNth3Xt2 = PDstandardNth3Xt2; + + JacPDstandardNth3Xt3 = PDstandardNth3Xt3; + + JacPDstandardNth11gt11 = PDstandardNth11gt11; + + JacPDstandardNth11gt12 = PDstandardNth11gt12; + + JacPDstandardNth11gt13 = PDstandardNth11gt13; + + JacPDstandardNth11gt22 = PDstandardNth11gt22; + + JacPDstandardNth11gt23 = PDstandardNth11gt23; + + JacPDstandardNth11gt33 = PDstandardNth11gt33; + + JacPDstandardNth11phi = PDstandardNth11phi; + + JacPDstandardNth22gt11 = PDstandardNth22gt11; + + JacPDstandardNth22gt12 = PDstandardNth22gt12; + + JacPDstandardNth22gt13 = PDstandardNth22gt13; + + JacPDstandardNth22gt22 = PDstandardNth22gt22; + + JacPDstandardNth22gt23 = PDstandardNth22gt23; + + JacPDstandardNth22gt33 = PDstandardNth22gt33; + + JacPDstandardNth22phi = PDstandardNth22phi; + + JacPDstandardNth33gt11 = PDstandardNth33gt11; + + JacPDstandardNth33gt12 = PDstandardNth33gt12; + + JacPDstandardNth33gt13 = PDstandardNth33gt13; + + JacPDstandardNth33gt22 = PDstandardNth33gt22; + + JacPDstandardNth33gt23 = PDstandardNth33gt23; + + JacPDstandardNth33gt33 = PDstandardNth33gt33; + + JacPDstandardNth33phi = PDstandardNth33phi; + + JacPDstandardNth12gt11 = PDstandardNth12gt11; + + JacPDstandardNth12gt12 = PDstandardNth12gt12; + + JacPDstandardNth12gt13 = PDstandardNth12gt13; + + JacPDstandardNth12gt22 = PDstandardNth12gt22; + + JacPDstandardNth12gt23 = PDstandardNth12gt23; + + JacPDstandardNth12gt33 = PDstandardNth12gt33; + + JacPDstandardNth12phi = PDstandardNth12phi; + + JacPDstandardNth13gt11 = PDstandardNth13gt11; + + JacPDstandardNth13gt12 = PDstandardNth13gt12; + + JacPDstandardNth13gt13 = PDstandardNth13gt13; + + JacPDstandardNth13gt22 = PDstandardNth13gt22; + + JacPDstandardNth13gt23 = PDstandardNth13gt23; + + JacPDstandardNth13gt33 = PDstandardNth13gt33; + + JacPDstandardNth13phi = PDstandardNth13phi; + + JacPDstandardNth21gt11 = PDstandardNth12gt11; + + JacPDstandardNth21gt12 = PDstandardNth12gt12; + + JacPDstandardNth21gt13 = PDstandardNth12gt13; + + JacPDstandardNth21gt22 = PDstandardNth12gt22; + + JacPDstandardNth21gt23 = PDstandardNth12gt23; + + JacPDstandardNth21gt33 = PDstandardNth12gt33; + + JacPDstandardNth23gt11 = PDstandardNth23gt11; + + JacPDstandardNth23gt12 = PDstandardNth23gt12; + + JacPDstandardNth23gt13 = PDstandardNth23gt13; + + JacPDstandardNth23gt22 = PDstandardNth23gt22; + + JacPDstandardNth23gt23 = PDstandardNth23gt23; + + JacPDstandardNth23gt33 = PDstandardNth23gt33; + + JacPDstandardNth23phi = PDstandardNth23phi; + + JacPDstandardNth31gt11 = PDstandardNth13gt11; + + JacPDstandardNth31gt12 = PDstandardNth13gt12; + + JacPDstandardNth31gt13 = PDstandardNth13gt13; + + JacPDstandardNth31gt22 = PDstandardNth13gt22; + + JacPDstandardNth31gt23 = PDstandardNth13gt23; + + JacPDstandardNth31gt33 = PDstandardNth13gt33; + + JacPDstandardNth32gt11 = PDstandardNth23gt11; + + JacPDstandardNth32gt12 = PDstandardNth23gt12; + + JacPDstandardNth32gt13 = PDstandardNth23gt13; + + JacPDstandardNth32gt22 = PDstandardNth23gt22; + + JacPDstandardNth32gt23 = PDstandardNth23gt23; + + JacPDstandardNth32gt33 = PDstandardNth23gt33; + } + + CCTK_REAL_VEC detgt CCTK_ATTRIBUTE_UNUSED = ToReal(1); + + CCTK_REAL_VEC gtu11 CCTK_ATTRIBUTE_UNUSED = + kdiv(kmsub(gt22L,gt33L,kmul(gt23L,gt23L)),detgt); + + CCTK_REAL_VEC gtu12 CCTK_ATTRIBUTE_UNUSED = + kdiv(kmsub(gt13L,gt23L,kmul(gt12L,gt33L)),detgt); + + CCTK_REAL_VEC gtu13 CCTK_ATTRIBUTE_UNUSED = + kdiv(kmsub(gt12L,gt23L,kmul(gt13L,gt22L)),detgt); + + CCTK_REAL_VEC gtu22 CCTK_ATTRIBUTE_UNUSED = + kdiv(kmsub(gt11L,gt33L,kmul(gt13L,gt13L)),detgt); + + CCTK_REAL_VEC gtu23 CCTK_ATTRIBUTE_UNUSED = + kdiv(kmsub(gt12L,gt13L,kmul(gt11L,gt23L)),detgt); + + CCTK_REAL_VEC gtu33 CCTK_ATTRIBUTE_UNUSED = + kdiv(kmsub(gt11L,gt22L,kmul(gt12L,gt12L)),detgt); + + CCTK_REAL_VEC Gtl111 CCTK_ATTRIBUTE_UNUSED = + kmul(JacPDstandardNth1gt11,ToReal(0.5)); + + CCTK_REAL_VEC Gtl112 CCTK_ATTRIBUTE_UNUSED = + kmul(JacPDstandardNth2gt11,ToReal(0.5)); + + CCTK_REAL_VEC Gtl113 CCTK_ATTRIBUTE_UNUSED = + kmul(JacPDstandardNth3gt11,ToReal(0.5)); + + CCTK_REAL_VEC Gtl122 CCTK_ATTRIBUTE_UNUSED = + kmadd(JacPDstandardNth1gt22,ToReal(-0.5),JacPDstandardNth2gt12); + + CCTK_REAL_VEC Gtl123 CCTK_ATTRIBUTE_UNUSED = + kmul(kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23)),ToReal(0.5)); + + CCTK_REAL_VEC Gtl133 CCTK_ATTRIBUTE_UNUSED = + kmadd(JacPDstandardNth1gt33,ToReal(-0.5),JacPDstandardNth3gt13); + + CCTK_REAL_VEC Gtl211 CCTK_ATTRIBUTE_UNUSED = + kmadd(JacPDstandardNth2gt11,ToReal(-0.5),JacPDstandardNth1gt12); + + CCTK_REAL_VEC Gtl212 CCTK_ATTRIBUTE_UNUSED = + kmul(JacPDstandardNth1gt22,ToReal(0.5)); + + CCTK_REAL_VEC Gtl213 CCTK_ATTRIBUTE_UNUSED = + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)),ToReal(0.5)); + + CCTK_REAL_VEC Gtl222 CCTK_ATTRIBUTE_UNUSED = + kmul(JacPDstandardNth2gt22,ToReal(0.5)); + + CCTK_REAL_VEC Gtl223 CCTK_ATTRIBUTE_UNUSED = + kmul(JacPDstandardNth3gt22,ToReal(0.5)); + + CCTK_REAL_VEC Gtl233 CCTK_ATTRIBUTE_UNUSED = + kmadd(JacPDstandardNth2gt33,ToReal(-0.5),JacPDstandardNth3gt23); + + CCTK_REAL_VEC Gtl311 CCTK_ATTRIBUTE_UNUSED = + kmadd(JacPDstandardNth3gt11,ToReal(-0.5),JacPDstandardNth1gt13); + + CCTK_REAL_VEC Gtl312 CCTK_ATTRIBUTE_UNUSED = + kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)),ToReal(0.5)); + + CCTK_REAL_VEC Gtl313 CCTK_ATTRIBUTE_UNUSED = + kmul(JacPDstandardNth1gt33,ToReal(0.5)); + + CCTK_REAL_VEC Gtl322 CCTK_ATTRIBUTE_UNUSED = + kmadd(JacPDstandardNth3gt22,ToReal(-0.5),JacPDstandardNth2gt23); + + CCTK_REAL_VEC Gtl323 CCTK_ATTRIBUTE_UNUSED = + kmul(JacPDstandardNth2gt33,ToReal(0.5)); + + CCTK_REAL_VEC Gtl333 CCTK_ATTRIBUTE_UNUSED = + kmul(JacPDstandardNth3gt33,ToReal(0.5)); + + CCTK_REAL_VEC Gtlu111 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl111,gtu11,kmadd(Gtl112,gtu12,kmul(Gtl113,gtu13))); + + CCTK_REAL_VEC Gtlu112 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl111,gtu12,kmadd(Gtl112,gtu22,kmul(Gtl113,gtu23))); + + CCTK_REAL_VEC Gtlu113 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl111,gtu13,kmadd(Gtl112,gtu23,kmul(Gtl113,gtu33))); + + CCTK_REAL_VEC Gtlu121 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl112,gtu11,kmadd(Gtl122,gtu12,kmul(Gtl123,gtu13))); + + CCTK_REAL_VEC Gtlu122 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl112,gtu12,kmadd(Gtl122,gtu22,kmul(Gtl123,gtu23))); + + CCTK_REAL_VEC Gtlu123 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl112,gtu13,kmadd(Gtl122,gtu23,kmul(Gtl123,gtu33))); + + CCTK_REAL_VEC Gtlu131 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl113,gtu11,kmadd(Gtl123,gtu12,kmul(Gtl133,gtu13))); + + CCTK_REAL_VEC Gtlu132 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl113,gtu12,kmadd(Gtl123,gtu22,kmul(Gtl133,gtu23))); + + CCTK_REAL_VEC Gtlu133 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl113,gtu13,kmadd(Gtl123,gtu23,kmul(Gtl133,gtu33))); + + CCTK_REAL_VEC Gtlu211 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl211,gtu11,kmadd(Gtl212,gtu12,kmul(Gtl213,gtu13))); + + CCTK_REAL_VEC Gtlu212 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl211,gtu12,kmadd(Gtl212,gtu22,kmul(Gtl213,gtu23))); + + CCTK_REAL_VEC Gtlu213 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl211,gtu13,kmadd(Gtl212,gtu23,kmul(Gtl213,gtu33))); + + CCTK_REAL_VEC Gtlu221 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl212,gtu11,kmadd(Gtl222,gtu12,kmul(Gtl223,gtu13))); + + CCTK_REAL_VEC Gtlu222 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl212,gtu12,kmadd(Gtl222,gtu22,kmul(Gtl223,gtu23))); + + CCTK_REAL_VEC Gtlu223 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl212,gtu13,kmadd(Gtl222,gtu23,kmul(Gtl223,gtu33))); + + CCTK_REAL_VEC Gtlu231 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl213,gtu11,kmadd(Gtl223,gtu12,kmul(Gtl233,gtu13))); + + CCTK_REAL_VEC Gtlu232 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl213,gtu12,kmadd(Gtl223,gtu22,kmul(Gtl233,gtu23))); + + CCTK_REAL_VEC Gtlu233 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl213,gtu13,kmadd(Gtl223,gtu23,kmul(Gtl233,gtu33))); + + CCTK_REAL_VEC Gtlu311 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl311,gtu11,kmadd(Gtl312,gtu12,kmul(Gtl313,gtu13))); + + CCTK_REAL_VEC Gtlu312 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl311,gtu12,kmadd(Gtl312,gtu22,kmul(Gtl313,gtu23))); + + CCTK_REAL_VEC Gtlu313 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl311,gtu13,kmadd(Gtl312,gtu23,kmul(Gtl313,gtu33))); + + CCTK_REAL_VEC Gtlu321 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl312,gtu11,kmadd(Gtl322,gtu12,kmul(Gtl323,gtu13))); + + CCTK_REAL_VEC Gtlu322 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl312,gtu12,kmadd(Gtl322,gtu22,kmul(Gtl323,gtu23))); + + CCTK_REAL_VEC Gtlu323 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl312,gtu13,kmadd(Gtl322,gtu23,kmul(Gtl323,gtu33))); + + CCTK_REAL_VEC Gtlu331 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl313,gtu11,kmadd(Gtl323,gtu12,kmul(Gtl333,gtu13))); + + CCTK_REAL_VEC Gtlu332 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl313,gtu12,kmadd(Gtl323,gtu22,kmul(Gtl333,gtu23))); + + CCTK_REAL_VEC Gtlu333 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl313,gtu13,kmadd(Gtl323,gtu23,kmul(Gtl333,gtu33))); + + CCTK_REAL_VEC Gt111 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl111,gtu11,kmadd(Gtl211,gtu12,kmul(Gtl311,gtu13))); + + CCTK_REAL_VEC Gt211 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl111,gtu12,kmadd(Gtl211,gtu22,kmul(Gtl311,gtu23))); + + CCTK_REAL_VEC Gt311 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl111,gtu13,kmadd(Gtl211,gtu23,kmul(Gtl311,gtu33))); + + CCTK_REAL_VEC Gt112 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl112,gtu11,kmadd(Gtl212,gtu12,kmul(Gtl312,gtu13))); + + CCTK_REAL_VEC Gt212 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl112,gtu12,kmadd(Gtl212,gtu22,kmul(Gtl312,gtu23))); + + CCTK_REAL_VEC Gt312 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl112,gtu13,kmadd(Gtl212,gtu23,kmul(Gtl312,gtu33))); + + CCTK_REAL_VEC Gt113 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl113,gtu11,kmadd(Gtl213,gtu12,kmul(Gtl313,gtu13))); + + CCTK_REAL_VEC Gt213 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl113,gtu12,kmadd(Gtl213,gtu22,kmul(Gtl313,gtu23))); + + CCTK_REAL_VEC Gt313 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl113,gtu13,kmadd(Gtl213,gtu23,kmul(Gtl313,gtu33))); + + CCTK_REAL_VEC Gt122 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl122,gtu11,kmadd(Gtl222,gtu12,kmul(Gtl322,gtu13))); + + CCTK_REAL_VEC Gt222 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl122,gtu12,kmadd(Gtl222,gtu22,kmul(Gtl322,gtu23))); + + CCTK_REAL_VEC Gt322 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl122,gtu13,kmadd(Gtl222,gtu23,kmul(Gtl322,gtu33))); + + CCTK_REAL_VEC Gt123 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl123,gtu11,kmadd(Gtl223,gtu12,kmul(Gtl323,gtu13))); + + CCTK_REAL_VEC Gt223 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl123,gtu12,kmadd(Gtl223,gtu22,kmul(Gtl323,gtu23))); + + CCTK_REAL_VEC Gt323 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl123,gtu13,kmadd(Gtl223,gtu23,kmul(Gtl323,gtu33))); + + CCTK_REAL_VEC Gt133 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl133,gtu11,kmadd(Gtl233,gtu12,kmul(Gtl333,gtu13))); + + CCTK_REAL_VEC Gt233 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl133,gtu12,kmadd(Gtl233,gtu22,kmul(Gtl333,gtu23))); + + CCTK_REAL_VEC Gt333 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gtl133,gtu13,kmadd(Gtl233,gtu23,kmul(Gtl333,gtu33))); + + CCTK_REAL_VEC Xtn1 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2))))); + + CCTK_REAL_VEC Xtn2 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmul(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2))))); + + CCTK_REAL_VEC Xtn3 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2))))); + + CCTK_REAL_VEC e4phi CCTK_ATTRIBUTE_UNUSED = IfThen(conformalMethod == + 1,kdiv(ToReal(1),kmul(phiL,phiL)),kexp(kmul(phiL,ToReal(4)))); + + CCTK_REAL_VEC em4phi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),e4phi); + + CCTK_REAL_VEC gu11 CCTK_ATTRIBUTE_UNUSED = kmul(em4phi,gtu11); + + CCTK_REAL_VEC gu12 CCTK_ATTRIBUTE_UNUSED = kmul(em4phi,gtu12); + + CCTK_REAL_VEC gu13 CCTK_ATTRIBUTE_UNUSED = kmul(em4phi,gtu13); + + CCTK_REAL_VEC gu22 CCTK_ATTRIBUTE_UNUSED = kmul(em4phi,gtu22); + + CCTK_REAL_VEC gu23 CCTK_ATTRIBUTE_UNUSED = kmul(em4phi,gtu23); + + CCTK_REAL_VEC gu33 CCTK_ATTRIBUTE_UNUSED = kmul(em4phi,gtu33); + + CCTK_REAL_VEC Rt11 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gt211,Gtlu211,kmadd(Gt212,Gtlu212,kmadd(Gt213,Gtlu213,kmadd(Gt311,Gtlu311,kmadd(Gt312,Gtlu312,kmadd(Gt313,Gtlu313,kmadd(gt11L,JacPDstandardNth1Xt1,kmadd(gt12L,JacPDstandardNth1Xt2,kmadd(gt13L,JacPDstandardNth1Xt3,kmadd(Gtl111,Xtn1,kmadd(Gtl112,Xtn2,kmadd(Gtl113,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt11,kmadd(gtu12,kadd(JacPDstandardNth12gt11,JacPDstandardNth21gt11),kmadd(gtu22,JacPDstandardNth22gt11,kmadd(gtu33,JacPDstandardNth33gt11,kmadd(gtu23,kadd(JacPDstandardNth32gt11,JacPDstandardNth23gt11),kmul(gtu13,kadd(JacPDstandardNth31gt11,JacPDstandardNth13gt11))))))),ToReal(0.5),kmadd(kmadd(Gt211,Gtlu121,kmadd(Gt212,Gtlu122,kmadd(Gt213,Gtlu123,kmadd(Gt311,Gtlu131,kmadd(Gt312,Gtlu132,kmul(Gt313,Gtlu133)))))),ToReal(2),kmul(kmadd(Gt111,Gtlu111,kmadd(Gt112,Gtlu112,kmul(Gt113,Gtlu113))),ToReal(3)))))))))))))))); + + CCTK_REAL_VEC Rt12 CCTK_ATTRIBUTE_UNUSED = + kmul(ToReal(0.5),kmadd(gt12L,JacPDstandardNth1Xt1,kmadd(gt22L,JacPDstandardNth1Xt2,kmadd(gt23L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth2Xt1,kmadd(gt12L,JacPDstandardNth2Xt2,kmadd(gt13L,JacPDstandardNth2Xt3,kmadd(Gtl112,Xtn1,kmadd(Gtl211,Xtn1,kmadd(Gtl122,Xtn2,kmadd(Gtl212,Xtn2,kmadd(Gtl123,Xtn3,kmadd(Gtl213,Xtn3,knmsub(gtu11,JacPDstandardNth11gt12,knmsub(gtu22,JacPDstandardNth22gt12,knmsub(gtu33,JacPDstandardNth33gt12,knmsub(gtu12,kadd(JacPDstandardNth21gt12,JacPDstandardNth12gt12),knmsub(gtu13,kadd(JacPDstandardNth31gt12,JacPDstandardNth13gt12),knmsub(gtu23,kadd(JacPDstandardNth32gt12,JacPDstandardNth23gt12),kmadd(kmadd(Gt122,Gtlu112,kmadd(Gt123,Gtlu113,kmadd(Gt111,Gtlu121,kmadd(Gt212,Gtlu121,kmadd(Gt222,Gtlu122,kmadd(Gt113,Gtlu123,kmadd(Gt223,Gtlu123,kmadd(Gt312,Gtlu131,kmadd(Gt322,Gtlu132,kmadd(Gt323,Gtlu133,kmadd(Gt111,Gtlu211,kmadd(Gt112,kadd(Gtlu111,kadd(Gtlu122,Gtlu212)),kmadd(Gt113,Gtlu213,kmadd(Gt311,Gtlu231,kmadd(Gt312,Gtlu232,kmadd(Gt313,Gtlu233,kmadd(Gt311,Gtlu321,kmadd(Gt312,Gtlu322,kmul(Gt313,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt211,Gtlu221,kmadd(Gt212,Gtlu222,kmul(Gt213,Gtlu223))),ToReal(4)))))))))))))))))))))); + + CCTK_REAL_VEC Rt13 CCTK_ATTRIBUTE_UNUSED = + kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth1Xt1,kmadd(gt23L,JacPDstandardNth1Xt2,kmadd(gt33L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth3Xt1,kmadd(gt12L,JacPDstandardNth3Xt2,kmadd(gt13L,JacPDstandardNth3Xt3,kmadd(Gtl113,Xtn1,kmadd(Gtl311,Xtn1,kmadd(Gtl123,Xtn2,kmadd(Gtl312,Xtn2,kmadd(Gtl133,Xtn3,kmadd(Gtl313,Xtn3,knmsub(gtu11,JacPDstandardNth11gt13,knmsub(gtu22,JacPDstandardNth22gt13,knmsub(gtu33,JacPDstandardNth33gt13,knmsub(gtu12,kadd(JacPDstandardNth21gt13,JacPDstandardNth12gt13),knmsub(gtu13,kadd(JacPDstandardNth31gt13,JacPDstandardNth13gt13),knmsub(gtu23,kadd(JacPDstandardNth32gt13,JacPDstandardNth23gt13),kmadd(kmadd(Gt123,Gtlu112,kmadd(Gt133,Gtlu113,kmadd(Gt213,Gtlu121,kmadd(Gt223,Gtlu122,kmadd(Gt233,Gtlu123,kmadd(Gt111,Gtlu131,kmadd(Gt313,Gtlu131,kmadd(Gt112,Gtlu132,kmadd(Gt323,Gtlu132,kmadd(Gt333,Gtlu133,kmadd(Gt211,Gtlu231,kmadd(Gt212,Gtlu232,kmadd(Gt213,Gtlu233,kmadd(Gt111,Gtlu311,kmadd(Gt112,Gtlu312,kmadd(Gt113,kadd(Gtlu111,kadd(Gtlu133,Gtlu313)),kmadd(Gt211,Gtlu321,kmadd(Gt212,Gtlu322,kmul(Gt213,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt311,Gtlu331,kmadd(Gt312,Gtlu332,kmul(Gt313,Gtlu333))),ToReal(4)))))))))))))))))))))); + + CCTK_REAL_VEC Rt22 CCTK_ATTRIBUTE_UNUSED = + kmadd(Gt312,Gtlu321,kmadd(Gt322,Gtlu322,kmadd(Gt323,Gtlu323,kmadd(gt12L,JacPDstandardNth2Xt1,kmadd(gt22L,JacPDstandardNth2Xt2,kmadd(gt23L,JacPDstandardNth2Xt3,kmadd(Gtl212,Xtn1,kmadd(Gtl222,Xtn2,kmadd(Gtl223,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt22,kmadd(gtu12,kadd(JacPDstandardNth12gt22,JacPDstandardNth21gt22),kmadd(gtu22,JacPDstandardNth22gt22,kmadd(gtu33,JacPDstandardNth33gt22,kmadd(gtu23,kadd(JacPDstandardNth32gt22,JacPDstandardNth23gt22),kmul(gtu13,kadd(JacPDstandardNth31gt22,JacPDstandardNth13gt22))))))),ToReal(0.5),kmadd(kmadd(Gt312,Gtlu231,kmadd(Gt322,Gtlu232,kmul(Gt323,Gtlu233))),ToReal(2),kmadd(Gt112,kmadd(Gtlu211,ToReal(2),Gtlu121),kmadd(Gt122,kmadd(Gtlu212,ToReal(2),Gtlu122),kmadd(Gt123,kmadd(Gtlu213,ToReal(2),Gtlu123),kmul(kmadd(Gt212,Gtlu221,kmadd(Gt222,Gtlu222,kmul(Gt223,Gtlu223))),ToReal(3)))))))))))))))); + + CCTK_REAL_VEC Rt23 CCTK_ATTRIBUTE_UNUSED = + kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth2Xt1,kmadd(gt23L,JacPDstandardNth2Xt2,kmadd(gt33L,JacPDstandardNth2Xt3,kmadd(gt12L,JacPDstandardNth3Xt1,kmadd(gt22L,JacPDstandardNth3Xt2,kmadd(gt23L,JacPDstandardNth3Xt3,kmadd(Gtl213,Xtn1,kmadd(Gtl312,Xtn1,kmadd(Gtl223,Xtn2,kmadd(Gtl322,Xtn2,kmadd(Gtl233,Xtn3,kmadd(Gtl323,Xtn3,knmsub(gtu11,JacPDstandardNth11gt23,knmsub(gtu22,JacPDstandardNth22gt23,knmsub(gtu33,JacPDstandardNth33gt23,knmsub(gtu12,kadd(JacPDstandardNth21gt23,JacPDstandardNth12gt23),knmsub(gtu13,kadd(JacPDstandardNth31gt23,JacPDstandardNth13gt23),knmsub(gtu23,kadd(JacPDstandardNth32gt23,JacPDstandardNth23gt23),kmadd(kmadd(Gt123,Gtlu133,kmadd(Gt113,Gtlu211,kmadd(Gt123,Gtlu212,kmadd(Gt133,Gtlu213,kmadd(Gt213,Gtlu221,kmadd(Gt223,Gtlu222,kmadd(Gt233,Gtlu223,kmadd(Gt212,Gtlu231,kmadd(Gt313,Gtlu231,kmadd(Gt222,Gtlu232,kmadd(Gt323,Gtlu232,kmadd(Gt223,Gtlu233,kmadd(Gt333,Gtlu233,kmadd(Gt112,kadd(Gtlu131,Gtlu311),kmadd(Gt122,kadd(Gtlu132,Gtlu312),kmadd(Gt123,Gtlu313,kmadd(Gt212,Gtlu321,kmadd(Gt222,Gtlu322,kmul(Gt223,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt312,Gtlu331,kmadd(Gt322,Gtlu332,kmul(Gt323,Gtlu333))),ToReal(4)))))))))))))))))))))); + + CCTK_REAL_VEC Rt33 CCTK_ATTRIBUTE_UNUSED = + kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(gt23L,JacPDstandardNth3Xt2,kmadd(gt33L,JacPDstandardNth3Xt3,kmadd(Gtl313,Xtn1,kmadd(Gtl323,Xtn2,kmadd(Gtl333,Xtn3,knmsub(kmadd(gtu11,JacPDstandardNth11gt33,kmadd(gtu12,kadd(JacPDstandardNth12gt33,JacPDstandardNth21gt33),kmadd(gtu22,JacPDstandardNth22gt33,kmadd(gtu33,JacPDstandardNth33gt33,kmadd(gtu23,kadd(JacPDstandardNth32gt33,JacPDstandardNth23gt33),kmul(gtu13,kadd(JacPDstandardNth31gt33,JacPDstandardNth13gt33))))))),ToReal(0.5),kmadd(Gt113,kmadd(Gtlu311,ToReal(2),Gtlu131),kmadd(Gt123,kmadd(Gtlu312,ToReal(2),Gtlu132),kmadd(Gt133,kmadd(Gtlu313,ToReal(2),Gtlu133),kmadd(Gt213,kmadd(Gtlu321,ToReal(2),Gtlu231),kmadd(Gt223,kmadd(Gtlu322,ToReal(2),Gtlu232),kmadd(Gt233,kmadd(Gtlu323,ToReal(2),Gtlu233),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(3))))))))))))))); + + CCTK_REAL_VEC fac1 CCTK_ATTRIBUTE_UNUSED = IfThen(conformalMethod == + 1,kdiv(ToReal(-0.5),phiL),ToReal(1)); + + CCTK_REAL_VEC cdphi1 CCTK_ATTRIBUTE_UNUSED = + kmul(fac1,JacPDstandardNth1phi); + + CCTK_REAL_VEC cdphi2 CCTK_ATTRIBUTE_UNUSED = + kmul(fac1,JacPDstandardNth2phi); + + CCTK_REAL_VEC cdphi3 CCTK_ATTRIBUTE_UNUSED = + kmul(fac1,JacPDstandardNth3phi); + + CCTK_REAL_VEC fac2 CCTK_ATTRIBUTE_UNUSED = IfThen(conformalMethod == + 1,kdiv(ToReal(0.5),kmul(phiL,phiL)),ToReal(0)); + + CCTK_REAL_VEC cdphi211 CCTK_ATTRIBUTE_UNUSED = + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth1phi),kmul(fac1,ksub(JacPDstandardNth11phi,kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt311,JacPDstandardNth3phi,kmul(Gt211,JacPDstandardNth2phi)))))); + + CCTK_REAL_VEC cdphi212 CCTK_ATTRIBUTE_UNUSED = + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,ksub(JacPDstandardNth12phi,kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt312,JacPDstandardNth3phi,kmul(Gt212,JacPDstandardNth2phi)))))); + + CCTK_REAL_VEC cdphi213 CCTK_ATTRIBUTE_UNUSED = + kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,ksub(JacPDstandardNth13phi,kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt313,JacPDstandardNth3phi,kmul(Gt213,JacPDstandardNth2phi)))))); + + CCTK_REAL_VEC cdphi222 CCTK_ATTRIBUTE_UNUSED = + kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth2phi),kmul(fac1,kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmsub(Gt322,JacPDstandardNth3phi,JacPDstandardNth22phi))))); + + CCTK_REAL_VEC cdphi223 CCTK_ATTRIBUTE_UNUSED = + kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmsub(Gt323,JacPDstandardNth3phi,JacPDstandardNth23phi))))); + + CCTK_REAL_VEC cdphi233 CCTK_ATTRIBUTE_UNUSED = + kmsub(fac2,kmul(JacPDstandardNth3phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmsub(Gt333,JacPDstandardNth3phi,JacPDstandardNth33phi))))); + + CCTK_REAL_VEC Rphi11 CCTK_ATTRIBUTE_UNUSED = + kmul(ToReal(-2),kadd(cdphi211,kmadd(kmul(cdphi1,cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1)),ToReal(2)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4)))))))))); + + CCTK_REAL_VEC Rphi12 CCTK_ATTRIBUTE_UNUSED = + kmul(ToReal(-2),kadd(cdphi212,kmadd(gt12L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt12L,kmul(cdphi3,kmul(gtu13,ToReal(4))),kmul(cdphi2,kmadd(gt12L,kmul(gtu12,ToReal(4)),ToReal(-2)))))))); + + CCTK_REAL_VEC Rphi13 CCTK_ATTRIBUTE_UNUSED = + kmul(ToReal(-2),kadd(cdphi213,kmadd(gt13L,kmadd(cdphi211,gtu11,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu11,kmul(cdphi1,cdphi1))))),ToReal(2),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi2,kmul(cdphi3,kmul(gtu23,ToReal(4)))))))),kmul(cdphi1,kmadd(gt13L,kmul(cdphi2,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt13L,kmul(gtu13,ToReal(4)),ToReal(-2)))))))); + + CCTK_REAL_VEC Rphi22 CCTK_ATTRIBUTE_UNUSED = + kmul(ToReal(-2),kadd(cdphi222,kmadd(kmul(cdphi2,cdphi2),kmul(kmadd(gt22L,gtu22,ToReal(-1)),ToReal(2)),kmul(gt22L,kmadd(cdphi222,gtu22,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,kmul(cdphi3,cdphi3))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmul(kmadd(cdphi1,kmul(cdphi3,gtu13),kmul(cdphi2,kmadd(cdphi1,gtu12,kmul(cdphi3,gtu23)))),ToReal(4)))))))))); + + CCTK_REAL_VEC Rphi23 CCTK_ATTRIBUTE_UNUSED = + kmul(ToReal(-2),kadd(cdphi223,kmadd(gt23L,kmadd(cdphi222,gtu22,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu22,kmul(cdphi2,cdphi2))))),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu33,kmadd(kmul(cdphi3,cdphi3),ToReal(2),cdphi233),kmul(cdphi1,kmul(cdphi3,kmul(gtu13,ToReal(4)))))))),kmul(cdphi2,kmadd(gt23L,kmul(cdphi1,kmul(gtu12,ToReal(4))),kmul(cdphi3,kmadd(gt23L,kmul(gtu23,ToReal(4)),ToReal(-2)))))))); + + CCTK_REAL_VEC Rphi33 CCTK_ATTRIBUTE_UNUSED = + kmul(ToReal(-2),kadd(cdphi233,kmadd(kmul(cdphi3,cdphi3),kmul(kmadd(gt33L,gtu33,ToReal(-1)),ToReal(2)),kmul(gt33L,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi213,gtu13,kmul(cdphi223,gtu23)),ToReal(2),kmadd(gtu11,kmadd(kmul(cdphi1,cdphi1),ToReal(2),cdphi211),kmadd(gtu22,kmadd(kmul(cdphi2,cdphi2),ToReal(2),cdphi222),kmadd(cdphi3,kmul(kmadd(cdphi1,gtu13,kmul(cdphi2,gtu23)),ToReal(4)),kmul(gtu12,kmadd(cdphi212,ToReal(2),kmul(cdphi1,kmul(cdphi2,ToReal(4)))))))))))))); + + CCTK_REAL_VEC R11 CCTK_ATTRIBUTE_UNUSED = kadd(Rphi11,Rt11); + + CCTK_REAL_VEC R12 CCTK_ATTRIBUTE_UNUSED = kadd(Rphi12,Rt12); + + CCTK_REAL_VEC R13 CCTK_ATTRIBUTE_UNUSED = kadd(Rphi13,Rt13); + + CCTK_REAL_VEC R22 CCTK_ATTRIBUTE_UNUSED = kadd(Rphi22,Rt22); + + CCTK_REAL_VEC R23 CCTK_ATTRIBUTE_UNUSED = kadd(Rphi23,Rt23); + + CCTK_REAL_VEC R33 CCTK_ATTRIBUTE_UNUSED = kadd(Rphi33,Rt33); + + CCTK_REAL_VEC trR CCTK_ATTRIBUTE_UNUSED = + kmadd(gu11,R11,kmadd(gu22,R22,kmadd(gu33,R33,kmul(kmadd(gu12,R12,kmadd(gu13,R13,kmul(gu23,R23))),ToReal(2))))); + + CCTK_REAL_VEC Atm11 CCTK_ATTRIBUTE_UNUSED = + kmadd(At11L,gtu11,kmadd(At12L,gtu12,kmul(At13L,gtu13))); + + CCTK_REAL_VEC Atm21 CCTK_ATTRIBUTE_UNUSED = + kmadd(At11L,gtu12,kmadd(At12L,gtu22,kmul(At13L,gtu23))); + + CCTK_REAL_VEC Atm31 CCTK_ATTRIBUTE_UNUSED = + kmadd(At11L,gtu13,kmadd(At12L,gtu23,kmul(At13L,gtu33))); + + CCTK_REAL_VEC Atm12 CCTK_ATTRIBUTE_UNUSED = + kmadd(At12L,gtu11,kmadd(At22L,gtu12,kmul(At23L,gtu13))); + + CCTK_REAL_VEC Atm22 CCTK_ATTRIBUTE_UNUSED = + kmadd(At12L,gtu12,kmadd(At22L,gtu22,kmul(At23L,gtu23))); + + CCTK_REAL_VEC Atm32 CCTK_ATTRIBUTE_UNUSED = + kmadd(At12L,gtu13,kmadd(At22L,gtu23,kmul(At23L,gtu33))); + + CCTK_REAL_VEC Atm13 CCTK_ATTRIBUTE_UNUSED = + kmadd(At13L,gtu11,kmadd(At23L,gtu12,kmul(At33L,gtu13))); + + CCTK_REAL_VEC Atm23 CCTK_ATTRIBUTE_UNUSED = + kmadd(At13L,gtu12,kmadd(At23L,gtu22,kmul(At33L,gtu23))); + + CCTK_REAL_VEC Atm33 CCTK_ATTRIBUTE_UNUSED = + kmadd(At13L,gtu13,kmadd(At23L,gtu23,kmul(At33L,gtu33))); + + CCTK_REAL_VEC rho CCTK_ATTRIBUTE_UNUSED = + kdiv(kadd(eTttL,kmadd(eTxxL,kmul(beta1L,beta1L),kmadd(eTyyL,kmul(beta2L,beta2L),kmadd(eTzzL,kmul(beta3L,beta3L),kmadd(kmadd(beta2L,eTtyL,kmul(beta3L,eTtzL)),ToReal(-2),kmul(kmadd(beta2L,kmul(beta3L,eTyzL),kmul(beta1L,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL)))),ToReal(2))))))),kmul(alphaL,alphaL)); + + CCTK_REAL_VEC S1 CCTK_ATTRIBUTE_UNUSED = + kdiv(kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL))),alphaL); + + CCTK_REAL_VEC S2 CCTK_ATTRIBUTE_UNUSED = + kdiv(kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmsub(beta3L,eTyzL,eTtyL))),alphaL); + + CCTK_REAL_VEC S3 CCTK_ATTRIBUTE_UNUSED = + kdiv(kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmsub(beta3L,eTzzL,eTtzL))),alphaL); + + CCTK_REAL_VEC HL CCTK_ATTRIBUTE_UNUSED = + kadd(trR,kmadd(kmadd(Atm12,Atm21,kmadd(Atm13,Atm31,kmul(Atm23,Atm32))),ToReal(-2),knmsub(Atm11,Atm11,knmsub(Atm22,Atm22,knmsub(Atm33,Atm33,kmadd(kmul(trKL,trKL),ToReal(0.666666666666666666666666666667),kmul(rho,ToReal(-50.2654824574366918154022941325)))))))); + + CCTK_REAL_VEC M1L CCTK_ATTRIBUTE_UNUSED = + kmadd(gtu11,JacPDstandardNth1At11,kmadd(gtu12,JacPDstandardNth2At11,kmadd(gtu22,JacPDstandardNth2At12,kmadd(gtu23,JacPDstandardNth2At13,kmadd(gtu13,JacPDstandardNth3At11,kmadd(gtu23,JacPDstandardNth3At12,kmadd(gtu33,JacPDstandardNth3At13,kmadd(gtu12,kadd(JacPDstandardNth1At12,kmsub(At13L,kmul(Gt312,ToReal(-3)),kmul(At22L,Gt211))),kmadd(gtu13,kadd(JacPDstandardNth1At13,kmsub(At13L,kmul(Gt313,ToReal(-3)),kmul(At23L,Gt211))),knmsub(gtu22,kmadd(At23L,Gt312,kmul(At22L,Gt212)),kmadd(Gt311,kmsub(At13L,kmul(gtu11,ToReal(-2)),kmadd(At33L,gtu13,kmul(At23L,gtu12))),kmadd(At13L,kmsub(Gt323,kmul(gtu23,ToReal(-2)),kmul(Gt113,gtu33)),kmadd(JacPDstandardNth1trK,ToReal(-0.666666666666666666666666666667),knmsub(At12L,kmadd(Gt111,gtu12,kmadd(Gt112,gtu22,kmadd(Gt222,gtu22,kmadd(Gt113,gtu23,kmadd(Gt233,gtu33,kmadd(cdphi1,kmul(gtu12,ToReal(-6)),kmadd(cdphi2,kmul(gtu22,ToReal(-6)),kmadd(cdphi3,kmul(gtu23,ToReal(-6)),kmadd(Gt211,kmul(gtu11,ToReal(2)),kmadd(Gt223,kmul(gtu23,ToReal(2)),kmadd(Gt212,kmul(gtu12,ToReal(3)),kmul(Gt213,kmul(gtu13,ToReal(3)))))))))))))),kmadd(gtu23,knmsub(At22L,Gt213,knmsub(At33L,Gt312,kmsub(At13L,kmul(cdphi2,ToReal(6)),kmul(At23L,kadd(Gt313,Gt212))))),kmadd(gtu33,knmsub(At23L,Gt213,kmsub(At13L,kmul(cdphi3,ToReal(6)),kmul(At33L,Gt313))),kmadd(At11L,kmadd(Gt112,kmul(gtu12,ToReal(-3)),kmadd(Gt113,kmul(gtu13,ToReal(-3)),kmadd(Gt111,kmul(gtu11,ToReal(-2)),kmadd(Gt123,kmul(gtu23,ToReal(-2)),knmsub(Gt122,gtu22,knmsub(Gt133,gtu33,kmadd(cdphi1,kmul(gtu11,ToReal(6)),kmadd(cdphi2,kmul(gtu12,ToReal(6)),kmul(cdphi3,kmul(gtu13,ToReal(6))))))))))),kmadd(At13L,knmsub(Gt322,gtu22,knmsub(Gt112,gtu23,kmsub(gtu13,kmsub(cdphi1,ToReal(6),Gt111),kmul(Gt333,gtu33)))),kmul(S1,ToReal(-25.1327412287183459077011470662)))))))))))))))))))); + + CCTK_REAL_VEC M2L CCTK_ATTRIBUTE_UNUSED = + kmadd(gtu11,JacPDstandardNth1At12,kmadd(gtu12,JacPDstandardNth1At22,kmadd(gtu13,JacPDstandardNth1At23,kmadd(gtu12,JacPDstandardNth2At12,kmadd(gtu22,JacPDstandardNth2At22,kmadd(gtu23,JacPDstandardNth2At23,kmadd(gtu13,JacPDstandardNth3At12,kmadd(gtu23,JacPDstandardNth3At22,kmadd(gtu33,JacPDstandardNth3At23,kmadd(At22L,kmul(Gt222,kmul(gtu22,ToReal(-2))),knmsub(At11L,kmadd(Gt112,gtu11,kmadd(Gt122,gtu12,kmul(Gt123,gtu13))),knmsub(gtu11,kmadd(At22L,Gt211,kmadd(At13L,Gt312,kmul(At23L,Gt311))),kmadd(Gt212,kmsub(At22L,kmul(gtu12,ToReal(-3)),kmul(At23L,gtu13)),kmadd(Gt312,kmsub(At23L,kmul(gtu12,ToReal(-3)),kmul(At33L,gtu13)),kmadd(Gt322,kmsub(At23L,kmul(gtu22,ToReal(-2)),kmul(At33L,gtu23)),kmadd(Gt223,kmsub(At22L,kmul(gtu23,ToReal(-3)),kmul(At23L,gtu33)),kmadd(Gt323,kmsub(At23L,kmul(gtu23,ToReal(-3)),kmul(At33L,gtu33)),kmadd(At22L,kmsub(Gt213,kmul(gtu13,ToReal(-2)),kmul(Gt233,gtu33)),kmadd(At23L,kmsub(Gt313,kmul(gtu13,ToReal(-2)),kmadd(Gt333,gtu33,kmul(Gt222,gtu23))),kmadd(JacPDstandardNth2trK,ToReal(-0.666666666666666666666666666667),kmadd(At22L,kmul(cdphi2,kmul(gtu22,ToReal(6))),kmadd(At22L,kmul(cdphi3,kmul(gtu23,ToReal(6))),kmadd(gtu12,kmsub(At22L,kmul(cdphi1,ToReal(6)),kmul(At13L,Gt322)),kmadd(gtu13,kmsub(At23L,kmul(cdphi1,ToReal(6)),kmul(At13L,kadd(Gt323,Gt112))),kmadd(gtu23,kmsub(At23L,kmul(cdphi2,ToReal(6)),kmul(At13L,Gt122)),kmadd(gtu33,kmsub(At23L,kmul(cdphi3,ToReal(6)),kmul(At13L,Gt123)),kmadd(At12L,kmadd(Gt112,kmul(gtu12,ToReal(-3)),kmadd(Gt123,kmul(gtu23,ToReal(-3)),kmadd(Gt113,kmul(gtu13,ToReal(-2)),kmadd(Gt122,kmul(gtu22,ToReal(-2)),knmsub(Gt133,gtu33,kmadd(gtu11,ksub(kmsub(cdphi1,ToReal(6),Gt212),Gt111),kmadd(gtu12,kmsub(cdphi2,ToReal(6),Gt222),kmul(gtu13,kmsub(cdphi3,ToReal(6),Gt223))))))))),kmul(S2,ToReal(-25.1327412287183459077011470662))))))))))))))))))))))))))))); + + CCTK_REAL_VEC M3L CCTK_ATTRIBUTE_UNUSED = + kmadd(gtu11,JacPDstandardNth1At13,kmadd(gtu12,JacPDstandardNth1At23,kmadd(gtu13,JacPDstandardNth1At33,kmadd(gtu12,JacPDstandardNth2At13,kmadd(gtu22,JacPDstandardNth2At23,kmadd(gtu23,JacPDstandardNth2At33,kmadd(gtu13,JacPDstandardNth3At13,kmadd(gtu23,JacPDstandardNth3At23,kmadd(gtu33,JacPDstandardNth3At33,kmadd(At33L,kmul(Gt313,kmul(gtu13,ToReal(-3))),kmadd(At23L,kmul(Gt223,kmul(gtu23,ToReal(-3))),kmadd(At33L,kmul(Gt323,kmul(gtu23,ToReal(-3))),kmadd(At23L,kmul(Gt233,kmul(gtu33,ToReal(-2))),kmadd(At33L,kmul(Gt333,kmul(gtu33,ToReal(-2))),knmsub(At11L,kmadd(Gt113,gtu11,kmadd(Gt123,gtu12,kmul(Gt133,gtu13))),kmadd(gtu12,kmsub(At23L,kmul(Gt212,ToReal(-2)),kmul(At12L,Gt223)),knmsub(gtu11,kmadd(At23L,Gt211,kmadd(At33L,Gt311,kmul(At12L,Gt213))),kmadd(At33L,kmsub(Gt312,kmul(gtu12,ToReal(-2)),kmul(Gt322,gtu22)),kmadd(At23L,kmsub(Gt213,kmul(gtu13,ToReal(-3)),kmadd(Gt333,gtu23,kmul(Gt222,gtu22))),kmadd(JacPDstandardNth3trK,ToReal(-0.666666666666666666666666666667),kmadd(At33L,kmul(cdphi3,kmul(gtu33,ToReal(6))),kmadd(gtu13,kmsub(At33L,kmul(cdphi1,ToReal(6)),kmul(At12L,Gt233)),kmadd(gtu23,kmsub(At33L,kmul(cdphi2,ToReal(6)),kmul(At12L,Gt133)),kmadd(gtu23,kmsub(At23L,kmul(cdphi3,ToReal(6)),kmul(At22L,Gt233)),kmadd(gtu12,knmsub(At12L,Gt113,kmsub(At23L,kmsub(cdphi1,ToReal(6),Gt313),kmul(At22L,Gt213))),kmadd(gtu22,knmsub(At12L,Gt123,kmsub(At23L,kmsub(cdphi2,ToReal(6),Gt323),kmul(At22L,Gt223))),kmadd(At13L,kmadd(Gt113,kmul(gtu13,ToReal(-3)),kmadd(Gt123,kmul(gtu23,ToReal(-3)),kmadd(Gt112,kmul(gtu12,ToReal(-2)),kmadd(Gt133,kmul(gtu33,ToReal(-2)),knmsub(Gt122,gtu22,kmadd(gtu11,ksub(kmsub(cdphi1,ToReal(6),Gt313),Gt111),kmadd(gtu12,kmsub(cdphi2,ToReal(6),Gt323),kmul(gtu13,kmsub(cdphi3,ToReal(6),Gt333))))))))),kmul(S3,ToReal(-25.1327412287183459077011470662))))))))))))))))))))))))))))); + + CCTK_REAL_VEC cSL CCTK_ATTRIBUTE_UNUSED = klog(detgt); + + CCTK_REAL_VEC cXt1L CCTK_ATTRIBUTE_UNUSED = + kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmsub(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2),Xt1L)))); + + CCTK_REAL_VEC cXt2L CCTK_ATTRIBUTE_UNUSED = + kmadd(Gt211,gtu11,kmadd(Gt222,gtu22,kmadd(Gt233,gtu33,kmsub(kmadd(Gt212,gtu12,kmadd(Gt213,gtu13,kmul(Gt223,gtu23))),ToReal(2),Xt2L)))); + + CCTK_REAL_VEC cXt3L CCTK_ATTRIBUTE_UNUSED = + kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmsub(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2),Xt3L)))); + + CCTK_REAL_VEC cAL CCTK_ATTRIBUTE_UNUSED = + kmadd(At11L,gtu11,kmadd(At22L,gtu22,kmadd(At33L,gtu33,kmul(kmadd(At12L,gtu12,kmadd(At13L,gtu13,kmul(At23L,gtu23))),ToReal(2))))); + + /* Copy local copies back to grid functions */ + vec_store_partial_prepare(i,vecimin,vecimax); + vec_store_nta_partial(cA[index],cAL); + vec_store_nta_partial(cS[index],cSL); + vec_store_nta_partial(cXt1[index],cXt1L); + vec_store_nta_partial(cXt2[index],cXt2L); + vec_store_nta_partial(cXt3[index],cXt3L); + vec_store_nta_partial(H[index],HL); + vec_store_nta_partial(M1[index],M1L); + vec_store_nta_partial(M2[index],M2L); + vec_store_nta_partial(M3[index],M3L); + } + CCTK_ENDLOOP3STR(ML_BSSN_constraints); +} + +extern "C" void ML_BSSN_constraints(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + + if (verbose > 1) + { + CCTK_VInfo(CCTK_THORNSTRING,"Entering ML_BSSN_constraints_Body"); + } + + if (cctk_iteration % ML_BSSN_constraints_calc_every != ML_BSSN_constraints_calc_offset) + { + return; + } + + const char* const groups[] = { + "ML_BSSN::ML_cons_detg", + "ML_BSSN::ML_cons_Gamma", + "ML_BSSN::ML_cons_traceA", + "ML_BSSN::ML_curv", + "ML_BSSN::ML_Gamma", + "ML_BSSN::ML_Ham", + "ML_BSSN::ML_lapse", + "ML_BSSN::ML_log_confac", + "ML_BSSN::ML_metric", + "ML_BSSN::ML_mom", + "ML_BSSN::ML_shift", + "ML_BSSN::ML_trace_curv"}; + GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_constraints", 12, groups); + + switch (fdOrder) + { + case 2: + { + GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints", 1, 1, 1); + break; + } + + case 4: + { + GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints", 2, 2, 2); + break; + } + + case 6: + { + GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints", 3, 3, 3); + break; + } + + case 8: + { + GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints", 4, 4, 4); + break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); + } + + GenericFD_LoopOverInterior(cctkGH, ML_BSSN_constraints_Body); + + if (verbose > 1) + { + CCTK_VInfo(CCTK_THORNSTRING,"Leaving ML_BSSN_constraints_Body"); + } +} diff --git a/ML_BSSN/src/ML_BSSN_constraints1.cc b/ML_BSSN/src/ML_BSSN_constraints1.cc index 92d8583..b09147f 100644 --- a/ML_BSSN/src/ML_BSSN_constraints1.cc +++ b/ML_BSSN/src/ML_BSSN_constraints1.cc @@ -231,7 +231,7 @@ static void ML_BSSN_constraints1_Body(const cGH* restrict const cctkGH, const in /* Assign local copies of grid functions */ - CCTK_REAL_VEC alphaL CCTK_ATTRIBUTE_UNUSED = vec_load(alpha[index]); + CCTK_REAL_VEC alpL CCTK_ATTRIBUTE_UNUSED = vec_load(alp[index]); CCTK_REAL_VEC At11L CCTK_ATTRIBUTE_UNUSED = vec_load(At11[index]); CCTK_REAL_VEC At12L CCTK_ATTRIBUTE_UNUSED = vec_load(At12[index]); CCTK_REAL_VEC At13L CCTK_ATTRIBUTE_UNUSED = vec_load(At13[index]); @@ -703,6 +703,43 @@ static void ML_BSSN_constraints1_Body(const cGH* restrict const cctkGH, const in default: CCTK_BUILTIN_UNREACHABLE(); } + + double xx = x[index]; + int origin = fabs(xx) < 1e-8; + + PDstandardNth2gt11 = 0; + PDstandardNth22gt11 = origin ? PDstandardNth11gt22 : PDstandardNth1gt11 / xx - 2 * (gt11[index] - gt22[index]) / (xx * xx); + PDstandardNth12gt11 = 0; + PDstandardNth23gt11 = 0; + PDstandardNth2gt12 = origin ? 0 : (gt11[index] - gt22[index]) / xx; + PDstandardNth22gt12 = 0; + PDstandardNth12gt12 = origin ? (PDstandardNth11gt11 - PDstandardNth11gt22) / 2 : (PDstandardNth1gt11 - PDstandardNth1gt22) / xx - (gt11[index] - gt22[index]) / (xx * xx); + PDstandardNth23gt12 = origin ? 0 : (PDstandardNth3gt11 - PDstandardNth3gt22) / xx; + PDstandardNth2gt13 = 0; + PDstandardNth22gt13 = origin ? PDstandardNth11gt13 : PDstandardNth1gt13 / xx - gt13[index] / (xx * xx); + PDstandardNth12gt13 = 0; + PDstandardNth23gt13 = 0; + PDstandardNth2gt22 = 0; + PDstandardNth22gt22 = origin ? PDstandardNth11gt11 : PDstandardNth1gt22 / xx + 2 * (gt11[index] - gt22[index]) / (xx * xx); + PDstandardNth12gt22 = 0; + PDstandardNth23gt22 = 0; + PDstandardNth2gt23 = origin ? 0 : gt13[index] / xx; + PDstandardNth22gt23 = 0; + PDstandardNth12gt23 = origin ? 0 : PDstandardNth1gt13 / xx - gt13[index] / (xx * xx); + PDstandardNth23gt23 = origin ? 0 : PDstandardNth3gt13 / xx; + PDstandardNth2gt33 = 0; + PDstandardNth22gt33 = origin ? PDstandardNth11gt33 : PDstandardNth1gt33 / xx; + PDstandardNth12gt33 = 0; + PDstandardNth23gt33 = 0; + + PDstandardNth2phi = 0; + PDstandardNth22phi = origin ? PDstandardNth11phi : PDstandardNth1phi / xx; + PDstandardNth12phi = 0; + PDstandardNth23phi = 0; + PDstandardNth2Xt1 = 0; + PDstandardNth2Xt2 = origin ? PDstandardNth1Xt1 : Xt1[index] / xx; + PDstandardNth2Xt3 = 0; + /* Calculate temporaries and grid functions */ CCTK_REAL_VEC JacPDstandardNth11gt11 CCTK_ATTRIBUTE_UNUSED; @@ -1598,7 +1635,7 @@ static void ML_BSSN_constraints1_Body(const cGH* restrict const cctkGH, const in kmadd(At13L,gtu13,kmadd(At23L,gtu23,kmul(At33L,gtu33))); CCTK_REAL_VEC rho CCTK_ATTRIBUTE_UNUSED = - kdiv(kadd(eTttL,kmadd(eTxxL,kmul(beta1L,beta1L),kmadd(eTyyL,kmul(beta2L,beta2L),kmadd(eTzzL,kmul(beta3L,beta3L),kmadd(kmadd(beta2L,eTtyL,kmul(beta3L,eTtzL)),ToReal(-2),kmul(kmadd(beta2L,kmul(beta3L,eTyzL),kmul(beta1L,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL)))),ToReal(2))))))),kmul(alphaL,alphaL)); + kdiv(kadd(eTttL,kmadd(eTxxL,kmul(beta1L,beta1L),kmadd(eTyyL,kmul(beta2L,beta2L),kmadd(eTzzL,kmul(beta3L,beta3L),kmadd(kmadd(beta2L,eTtyL,kmul(beta3L,eTtzL)),ToReal(-2),kmul(kmadd(beta2L,kmul(beta3L,eTyzL),kmul(beta1L,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL)))),ToReal(2))))))),kmul(alpL,alpL)); CCTK_REAL_VEC HL CCTK_ATTRIBUTE_UNUSED = kadd(trR,kmadd(kmadd(Atm12,Atm21,kmadd(Atm13,Atm31,kmul(Atm23,Atm32))),ToReal(-2),knmsub(Atm11,Atm11,knmsub(Atm22,Atm22,knmsub(Atm33,Atm33,kmadd(kmul(trKL,trKL),ToReal(0.666666666666666666666666666667),kmul(rho,ToReal(-50.2654824574366918154022941325)))))))); @@ -1627,10 +1664,10 @@ extern "C" void ML_BSSN_constraints1(CCTK_ARGUMENTS) } const char* const groups[] = { + "ADMBase::lapse", "ML_BSSN::ML_curv", "ML_BSSN::ML_Gamma", "ML_BSSN::ML_Ham", - "ML_BSSN::ML_lapse", "ML_BSSN::ML_log_confac", "ML_BSSN::ML_metric", "ML_BSSN::ML_shift", diff --git a/ML_BSSN/src/ML_BSSN_constraints2.cc b/ML_BSSN/src/ML_BSSN_constraints2.cc index f239483..106b156 100644 --- a/ML_BSSN/src/ML_BSSN_constraints2.cc +++ b/ML_BSSN/src/ML_BSSN_constraints2.cc @@ -240,7 +240,7 @@ static void ML_BSSN_constraints2_Body(const cGH* restrict const cctkGH, const in /* Assign local copies of grid functions */ - CCTK_REAL_VEC alphaL CCTK_ATTRIBUTE_UNUSED = vec_load(alpha[index]); + CCTK_REAL_VEC alpL CCTK_ATTRIBUTE_UNUSED = vec_load(alp[index]); CCTK_REAL_VEC At11L CCTK_ATTRIBUTE_UNUSED = vec_load(At11[index]); CCTK_REAL_VEC At12L CCTK_ATTRIBUTE_UNUSED = vec_load(At12[index]); CCTK_REAL_VEC At13L CCTK_ATTRIBUTE_UNUSED = vec_load(At13[index]); @@ -943,13 +943,13 @@ static void ML_BSSN_constraints2_Body(const cGH* restrict const cctkGH, const in kmul(fac1,JacPDstandardNth3phi); CCTK_REAL_VEC S1 CCTK_ATTRIBUTE_UNUSED = - kdiv(kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL))),alphaL); + kdiv(kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL))),alpL); CCTK_REAL_VEC S2 CCTK_ATTRIBUTE_UNUSED = - kdiv(kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmsub(beta3L,eTyzL,eTtyL))),alphaL); + kdiv(kmadd(beta1L,eTxyL,kmadd(beta2L,eTyyL,kmsub(beta3L,eTyzL,eTtyL))),alpL); CCTK_REAL_VEC S3 CCTK_ATTRIBUTE_UNUSED = - kdiv(kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmsub(beta3L,eTzzL,eTtzL))),alphaL); + kdiv(kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmsub(beta3L,eTzzL,eTtzL))),alpL); CCTK_REAL_VEC M1L CCTK_ATTRIBUTE_UNUSED = kmadd(gtu11,JacPDstandardNth1At11,kmadd(gtu12,JacPDstandardNth2At11,kmadd(gtu22,JacPDstandardNth2At12,kmadd(gtu23,JacPDstandardNth2At13,kmadd(gtu13,JacPDstandardNth3At11,kmadd(gtu23,JacPDstandardNth3At12,kmadd(gtu33,JacPDstandardNth3At13,kmadd(gtu12,kadd(JacPDstandardNth1At12,kmsub(At13L,kmul(Gt312,ToReal(-3)),kmul(At22L,Gt211))),kmadd(gtu13,kadd(JacPDstandardNth1At13,kmsub(At13L,kmul(Gt313,ToReal(-3)),kmul(At23L,Gt211))),knmsub(gtu22,kmadd(At23L,Gt312,kmul(At22L,Gt212)),kmadd(Gt311,kmsub(At13L,kmul(gtu11,ToReal(-2)),kmadd(At33L,gtu13,kmul(At23L,gtu12))),kmadd(At13L,kmsub(Gt323,kmul(gtu23,ToReal(-2)),kmul(Gt113,gtu33)),kmadd(JacPDstandardNth1trK,ToReal(-0.666666666666666666666666666667),knmsub(At12L,kmadd(Gt111,gtu12,kmadd(Gt112,gtu22,kmadd(Gt222,gtu22,kmadd(Gt113,gtu23,kmadd(Gt233,gtu33,kmadd(cdphi1,kmul(gtu12,ToReal(-6)),kmadd(cdphi2,kmul(gtu22,ToReal(-6)),kmadd(cdphi3,kmul(gtu23,ToReal(-6)),kmadd(Gt211,kmul(gtu11,ToReal(2)),kmadd(Gt223,kmul(gtu23,ToReal(2)),kmadd(Gt212,kmul(gtu12,ToReal(3)),kmul(Gt213,kmul(gtu13,ToReal(3)))))))))))))),kmadd(gtu23,knmsub(At22L,Gt213,knmsub(At33L,Gt312,kmsub(At13L,kmul(cdphi2,ToReal(6)),kmul(At23L,kadd(Gt313,Gt212))))),kmadd(gtu33,knmsub(At23L,Gt213,kmsub(At13L,kmul(cdphi3,ToReal(6)),kmul(At33L,Gt313))),kmadd(At11L,kmadd(Gt112,kmul(gtu12,ToReal(-3)),kmadd(Gt113,kmul(gtu13,ToReal(-3)),kmadd(Gt111,kmul(gtu11,ToReal(-2)),kmadd(Gt123,kmul(gtu23,ToReal(-2)),knmsub(Gt122,gtu22,knmsub(Gt133,gtu33,kmadd(cdphi1,kmul(gtu11,ToReal(6)),kmadd(cdphi2,kmul(gtu12,ToReal(6)),kmul(cdphi3,kmul(gtu13,ToReal(6))))))))))),kmadd(At13L,knmsub(Gt322,gtu22,knmsub(Gt112,gtu23,kmsub(gtu13,kmsub(cdphi1,ToReal(6),Gt111),kmul(Gt333,gtu33)))),kmul(S1,ToReal(-25.1327412287183459077011470662)))))))))))))))))))); @@ -1005,12 +1005,12 @@ extern "C" void ML_BSSN_constraints2(CCTK_ARGUMENTS) } const char* const groups[] = { + "ADMBase::lapse", "ML_BSSN::ML_cons_detg", "ML_BSSN::ML_cons_Gamma", "ML_BSSN::ML_cons_traceA", "ML_BSSN::ML_curv", "ML_BSSN::ML_Gamma", - "ML_BSSN::ML_lapse", "ML_BSSN::ML_log_confac", "ML_BSSN::ML_metric", "ML_BSSN::ML_mom", diff --git a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc index 7924f55..8c28e85 100644 --- a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc +++ b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc @@ -35,9 +35,6 @@ extern "C" void ML_BSSN_convertFromADMBaseGamma_SelectBCs(CCTK_ARGUMENTS) if (cctk_iteration % ML_BSSN_convertFromADMBaseGamma_calc_every != ML_BSSN_convertFromADMBaseGamma_calc_offset) return; CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_dtlapse","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_dtlapse."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_dtshift","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_dtshift."); @@ -226,7 +223,7 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(const cGH* restrict const cctkG const int imax0=imax[0]; const int imax1=imax[1]; const int imax2=imax[2]; - #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter) +#pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter) CCTK_LOOP3STR(ML_BSSN_convertFromADMBaseGamma, i,j,k, imin0,imin1,imin2, imax0,imax1,imax2, cctk_ash[0],cctk_ash[1],cctk_ash[2], @@ -237,11 +234,9 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(const cGH* restrict const cctkG /* Assign local copies of grid functions */ - CCTK_REAL_VEC alphaL CCTK_ATTRIBUTE_UNUSED = vec_load(alpha[index]); CCTK_REAL_VEC beta1L CCTK_ATTRIBUTE_UNUSED = vec_load(beta1[index]); CCTK_REAL_VEC beta2L CCTK_ATTRIBUTE_UNUSED = vec_load(beta2[index]); CCTK_REAL_VEC beta3L CCTK_ATTRIBUTE_UNUSED = vec_load(beta3[index]); - CCTK_REAL_VEC dtalpL CCTK_ATTRIBUTE_UNUSED = vec_load(dtalp[index]); CCTK_REAL_VEC dtbetaxL CCTK_ATTRIBUTE_UNUSED = vec_load(dtbetax[index]); CCTK_REAL_VEC dtbetayL CCTK_ATTRIBUTE_UNUSED = vec_load(dtbetay[index]); CCTK_REAL_VEC dtbetazL CCTK_ATTRIBUTE_UNUSED = vec_load(dtbetaz[index]); @@ -272,12 +267,6 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(const cGH* restrict const cctkG /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL_VEC PDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED; @@ -319,12 +308,6 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(const cGH* restrict const cctkG { case 2: { - PDupwindNthAnti1alpha = PDupwindNthAntifdOrder21(&alpha[index]); - PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder21(&alpha[index]); - PDupwindNthAnti2alpha = PDupwindNthAntifdOrder22(&alpha[index]); - PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder22(&alpha[index]); - PDupwindNthAnti3alpha = PDupwindNthAntifdOrder23(&alpha[index]); - PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder23(&alpha[index]); PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder21(&beta1[index]); PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder21(&beta1[index]); PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder22(&beta1[index]); @@ -366,12 +349,6 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(const cGH* restrict const cctkG case 4: { - PDupwindNthAnti1alpha = PDupwindNthAntifdOrder41(&alpha[index]); - PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder41(&alpha[index]); - PDupwindNthAnti2alpha = PDupwindNthAntifdOrder42(&alpha[index]); - PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder42(&alpha[index]); - PDupwindNthAnti3alpha = PDupwindNthAntifdOrder43(&alpha[index]); - PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder43(&alpha[index]); PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder41(&beta1[index]); PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder41(&beta1[index]); PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder42(&beta1[index]); @@ -413,12 +390,6 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(const cGH* restrict const cctkG case 6: { - PDupwindNthAnti1alpha = PDupwindNthAntifdOrder61(&alpha[index]); - PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder61(&alpha[index]); - PDupwindNthAnti2alpha = PDupwindNthAntifdOrder62(&alpha[index]); - PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder62(&alpha[index]); - PDupwindNthAnti3alpha = PDupwindNthAntifdOrder63(&alpha[index]); - PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder63(&alpha[index]); PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder61(&beta1[index]); PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder61(&beta1[index]); PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder62(&beta1[index]); @@ -460,12 +431,6 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(const cGH* restrict const cctkG case 8: { - PDupwindNthAnti1alpha = PDupwindNthAntifdOrder81(&alpha[index]); - PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder81(&alpha[index]); - PDupwindNthAnti2alpha = PDupwindNthAntifdOrder82(&alpha[index]); - PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder82(&alpha[index]); - PDupwindNthAnti3alpha = PDupwindNthAntifdOrder83(&alpha[index]); - PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder83(&alpha[index]); PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder81(&beta1[index]); PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder81(&beta1[index]); PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder82(&beta1[index]); @@ -507,6 +472,16 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(const cGH* restrict const cctkG default: CCTK_BUILTIN_UNREACHABLE(); } + + double xx = x[index]; + int origin = fabs(xx) < 1e-8; + + PDstandardNth2gt11 = 0; + PDstandardNth2gt12 = origin ? PDstandardNth1gt11 - PDstandardNth1gt22 : (gt11[index] - gt22[index]) / xx; + PDstandardNth2gt13 = 0; + PDstandardNth2gt22 = 0; + PDstandardNth2gt23 = origin ? PDstandardNth1gt13 : gt13[index] / xx; + PDstandardNth2gt33 = 0; /* Calculate temporaries and grid functions */ ptrdiff_t dir1 CCTK_ATTRIBUTE_UNUSED = kisgn(beta1L); @@ -533,27 +508,21 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(const cGH* restrict const cctkG CCTK_REAL_VEC JacPDstandardNth3gt22 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED; @@ -614,9 +583,6 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(const cGH* restrict const cctkG JacPDstandardNth3gt33 = kmadd(J13L,PDstandardNth1gt33,kmadd(J23L,PDstandardNth2gt33,kmul(J33L,PDstandardNth3gt33))); - JacPDupwindNthAnti1alpha = - kmadd(J11L,PDupwindNthAnti1alpha,kmadd(J21L,PDupwindNthAnti2alpha,kmul(J31L,PDupwindNthAnti3alpha))); - JacPDupwindNthAnti1beta1 = kmadd(J11L,PDupwindNthAnti1beta1,kmadd(J21L,PDupwindNthAnti2beta1,kmul(J31L,PDupwindNthAnti3beta1))); @@ -626,9 +592,6 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(const cGH* restrict const cctkG JacPDupwindNthAnti1beta3 = kmadd(J11L,PDupwindNthAnti1beta3,kmadd(J21L,PDupwindNthAnti2beta3,kmul(J31L,PDupwindNthAnti3beta3))); - JacPDupwindNthSymm1alpha = - kmadd(J11L,PDupwindNthSymm1alpha,kmadd(J21L,PDupwindNthSymm2alpha,kmul(J31L,PDupwindNthSymm3alpha))); - JacPDupwindNthSymm1beta1 = kmadd(J11L,PDupwindNthSymm1beta1,kmadd(J21L,PDupwindNthSymm2beta1,kmul(J31L,PDupwindNthSymm3beta1))); @@ -638,9 +601,6 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(const cGH* restrict const cctkG JacPDupwindNthSymm1beta3 = kmadd(J11L,PDupwindNthSymm1beta3,kmadd(J21L,PDupwindNthSymm2beta3,kmul(J31L,PDupwindNthSymm3beta3))); - JacPDupwindNthAnti2alpha = - kmadd(J12L,PDupwindNthAnti1alpha,kmadd(J22L,PDupwindNthAnti2alpha,kmul(J32L,PDupwindNthAnti3alpha))); - JacPDupwindNthAnti2beta1 = kmadd(J12L,PDupwindNthAnti1beta1,kmadd(J22L,PDupwindNthAnti2beta1,kmul(J32L,PDupwindNthAnti3beta1))); @@ -650,9 +610,6 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(const cGH* restrict const cctkG JacPDupwindNthAnti2beta3 = kmadd(J12L,PDupwindNthAnti1beta3,kmadd(J22L,PDupwindNthAnti2beta3,kmul(J32L,PDupwindNthAnti3beta3))); - JacPDupwindNthSymm2alpha = - kmadd(J12L,PDupwindNthSymm1alpha,kmadd(J22L,PDupwindNthSymm2alpha,kmul(J32L,PDupwindNthSymm3alpha))); - JacPDupwindNthSymm2beta1 = kmadd(J12L,PDupwindNthSymm1beta1,kmadd(J22L,PDupwindNthSymm2beta1,kmul(J32L,PDupwindNthSymm3beta1))); @@ -662,9 +619,6 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(const cGH* restrict const cctkG JacPDupwindNthSymm2beta3 = kmadd(J12L,PDupwindNthSymm1beta3,kmadd(J22L,PDupwindNthSymm2beta3,kmul(J32L,PDupwindNthSymm3beta3))); - JacPDupwindNthAnti3alpha = - kmadd(J13L,PDupwindNthAnti1alpha,kmadd(J23L,PDupwindNthAnti2alpha,kmul(J33L,PDupwindNthAnti3alpha))); - JacPDupwindNthAnti3beta1 = kmadd(J13L,PDupwindNthAnti1beta1,kmadd(J23L,PDupwindNthAnti2beta1,kmul(J33L,PDupwindNthAnti3beta1))); @@ -674,9 +628,6 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(const cGH* restrict const cctkG JacPDupwindNthAnti3beta3 = kmadd(J13L,PDupwindNthAnti1beta3,kmadd(J23L,PDupwindNthAnti2beta3,kmul(J33L,PDupwindNthAnti3beta3))); - JacPDupwindNthSymm3alpha = - kmadd(J13L,PDupwindNthSymm1alpha,kmadd(J23L,PDupwindNthSymm2alpha,kmul(J33L,PDupwindNthSymm3alpha))); - JacPDupwindNthSymm3beta1 = kmadd(J13L,PDupwindNthSymm1beta1,kmadd(J23L,PDupwindNthSymm2beta1,kmul(J33L,PDupwindNthSymm3beta1))); @@ -724,48 +675,36 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(const cGH* restrict const cctkG JacPDstandardNth3gt33 = PDstandardNth3gt33; - JacPDupwindNthAnti1alpha = PDupwindNthAnti1alpha; - JacPDupwindNthAnti1beta1 = PDupwindNthAnti1beta1; JacPDupwindNthAnti1beta2 = PDupwindNthAnti1beta2; JacPDupwindNthAnti1beta3 = PDupwindNthAnti1beta3; - JacPDupwindNthSymm1alpha = PDupwindNthSymm1alpha; - JacPDupwindNthSymm1beta1 = PDupwindNthSymm1beta1; JacPDupwindNthSymm1beta2 = PDupwindNthSymm1beta2; JacPDupwindNthSymm1beta3 = PDupwindNthSymm1beta3; - JacPDupwindNthAnti2alpha = PDupwindNthAnti2alpha; - JacPDupwindNthAnti2beta1 = PDupwindNthAnti2beta1; JacPDupwindNthAnti2beta2 = PDupwindNthAnti2beta2; JacPDupwindNthAnti2beta3 = PDupwindNthAnti2beta3; - JacPDupwindNthSymm2alpha = PDupwindNthSymm2alpha; - JacPDupwindNthSymm2beta1 = PDupwindNthSymm2beta1; JacPDupwindNthSymm2beta2 = PDupwindNthSymm2beta2; JacPDupwindNthSymm2beta3 = PDupwindNthSymm2beta3; - JacPDupwindNthAnti3alpha = PDupwindNthAnti3alpha; - JacPDupwindNthAnti3beta1 = PDupwindNthAnti3beta1; JacPDupwindNthAnti3beta2 = PDupwindNthAnti3beta2; JacPDupwindNthAnti3beta3 = PDupwindNthAnti3beta3; - JacPDupwindNthSymm3alpha = PDupwindNthSymm3alpha; - JacPDupwindNthSymm3beta1 = PDupwindNthSymm3beta1; JacPDupwindNthSymm3beta2 = PDupwindNthSymm3beta2; @@ -856,9 +795,6 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(const cGH* restrict const cctkG CCTK_REAL_VEC Xt3L CCTK_ATTRIBUTE_UNUSED = kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2))))); - CCTK_REAL_VEC AL CCTK_ATTRIBUTE_UNUSED = IfThen(LapseACoeff != - 0,kneg(kmul(kmul(kpow(alphaL,-harmonicN),knmsub(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),dtalpL)),ToReal(ScalarINV(harmonicF)))),ToReal(0)); - CCTK_REAL_VEC theta CCTK_ATTRIBUTE_UNUSED = kfmin(ToReal(1),kexp(knmsub(rL,ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1)))); @@ -888,7 +824,6 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(const cGH* restrict const cctkG /* Copy local copies back to grid functions */ vec_store_partial_prepare(i,vecimin,vecimax); - vec_store_nta_partial(A[index],AL); vec_store_nta_partial(B1[index],B1L); vec_store_nta_partial(B2[index],B2L); vec_store_nta_partial(B3[index],B3L); @@ -916,16 +851,13 @@ extern "C" void ML_BSSN_convertFromADMBaseGamma(CCTK_ARGUMENTS) } const char* const groups[] = { - "ADMBase::dtlapse", "ADMBase::dtshift", "grid::coordinates", - "ML_BSSN::ML_dtlapse", "ML_BSSN::ML_dtshift", "ML_BSSN::ML_Gamma", - "ML_BSSN::ML_lapse", "ML_BSSN::ML_metric", "ML_BSSN::ML_shift"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 9, groups); + GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 6, groups); switch (fdOrder) { diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBase.cc b/ML_BSSN/src/ML_BSSN_convertToADMBase.cc index d323b17..ce8d8c8 100644 --- a/ML_BSSN/src/ML_BSSN_convertToADMBase.cc +++ b/ML_BSSN/src/ML_BSSN_convertToADMBase.cc @@ -214,6 +214,8 @@ static void ML_BSSN_convertToADMBase_Body(const cGH* restrict const cctkGH, cons { const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k; // vec_iter_counter+=CCTK_REAL_VEC_SIZE; + if (fabs(y[index]) > 1e-8) + continue; /* Assign local copies of grid functions */ diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShift.cc b/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShift.cc index b51abd1..e27f567 100644 --- a/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShift.cc +++ b/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShift.cc @@ -35,9 +35,6 @@ extern "C" void ML_BSSN_convertToADMBaseDtLapseShift_SelectBCs(CCTK_ARGUMENTS) if (cctk_iteration % ML_BSSN_convertToADMBaseDtLapseShift_calc_every != ML_BSSN_convertToADMBaseDtLapseShift_calc_offset) return; CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ADMBase::dtlapse","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ADMBase::dtlapse."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ADMBase::dtshift","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ADMBase::dtshift."); @@ -231,10 +228,11 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(const cGH* restrict const { const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k; // vec_iter_counter+=CCTK_REAL_VEC_SIZE; + if (fabs(y[index]) > 1e-8) + continue; /* Assign local copies of grid functions */ - CCTK_REAL_VEC AL CCTK_ATTRIBUTE_UNUSED = vec_load(A[index]); CCTK_REAL_VEC alphaL CCTK_ATTRIBUTE_UNUSED = vec_load(alpha[index]); CCTK_REAL_VEC B1L CCTK_ATTRIBUTE_UNUSED = vec_load(B1[index]); CCTK_REAL_VEC B2L CCTK_ATTRIBUTE_UNUSED = vec_load(B2[index]); @@ -250,7 +248,6 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(const cGH* restrict const CCTK_REAL_VEC gt33L CCTK_ATTRIBUTE_UNUSED = vec_load(gt33[index]); CCTK_REAL_VEC phiL CCTK_ATTRIBUTE_UNUSED = vec_load(phi[index]); CCTK_REAL_VEC rL CCTK_ATTRIBUTE_UNUSED = vec_load(r[index]); - CCTK_REAL_VEC trKL CCTK_ATTRIBUTE_UNUSED = vec_load(trK[index]); CCTK_REAL_VEC Xt1L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt1[index]); CCTK_REAL_VEC Xt2L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt2[index]); CCTK_REAL_VEC Xt3L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt3[index]); @@ -277,12 +274,6 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(const cGH* restrict const CCTK_REAL_VEC PDstandardNth1alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDstandardNth2alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDstandardNth3alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC PDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC PDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED; @@ -330,12 +321,6 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(const cGH* restrict const PDstandardNth1alpha = PDstandardNthfdOrder21(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder22(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder23(&alpha[index]); - PDupwindNthAnti1alpha = PDupwindNthAntifdOrder21(&alpha[index]); - PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder21(&alpha[index]); - PDupwindNthAnti2alpha = PDupwindNthAntifdOrder22(&alpha[index]); - PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder22(&alpha[index]); - PDupwindNthAnti3alpha = PDupwindNthAntifdOrder23(&alpha[index]); - PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder23(&alpha[index]); PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder21(&beta1[index]); PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder21(&beta1[index]); PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder22(&beta1[index]); @@ -383,12 +368,6 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(const cGH* restrict const PDstandardNth1alpha = PDstandardNthfdOrder41(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder42(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder43(&alpha[index]); - PDupwindNthAnti1alpha = PDupwindNthAntifdOrder41(&alpha[index]); - PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder41(&alpha[index]); - PDupwindNthAnti2alpha = PDupwindNthAntifdOrder42(&alpha[index]); - PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder42(&alpha[index]); - PDupwindNthAnti3alpha = PDupwindNthAntifdOrder43(&alpha[index]); - PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder43(&alpha[index]); PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder41(&beta1[index]); PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder41(&beta1[index]); PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder42(&beta1[index]); @@ -436,12 +415,6 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(const cGH* restrict const PDstandardNth1alpha = PDstandardNthfdOrder61(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder62(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder63(&alpha[index]); - PDupwindNthAnti1alpha = PDupwindNthAntifdOrder61(&alpha[index]); - PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder61(&alpha[index]); - PDupwindNthAnti2alpha = PDupwindNthAntifdOrder62(&alpha[index]); - PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder62(&alpha[index]); - PDupwindNthAnti3alpha = PDupwindNthAntifdOrder63(&alpha[index]); - PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder63(&alpha[index]); PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder61(&beta1[index]); PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder61(&beta1[index]); PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder62(&beta1[index]); @@ -489,12 +462,6 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(const cGH* restrict const PDstandardNth1alpha = PDstandardNthfdOrder81(&alpha[index]); PDstandardNth2alpha = PDstandardNthfdOrder82(&alpha[index]); PDstandardNth3alpha = PDstandardNthfdOrder83(&alpha[index]); - PDupwindNthAnti1alpha = PDupwindNthAntifdOrder81(&alpha[index]); - PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder81(&alpha[index]); - PDupwindNthAnti2alpha = PDupwindNthAntifdOrder82(&alpha[index]); - PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder82(&alpha[index]); - PDupwindNthAnti3alpha = PDupwindNthAntifdOrder83(&alpha[index]); - PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder83(&alpha[index]); PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder81(&beta1[index]); PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder81(&beta1[index]); PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder82(&beta1[index]); @@ -571,27 +538,21 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(const cGH* restrict const CCTK_REAL_VEC JacPDstandardNth3gt23 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth3gt33 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDstandardNth3phi CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthAnti1alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti1beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti1beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti1beta3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthAnti2alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti2beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti2beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti2beta3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthAnti3alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti3beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti3beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthAnti3beta3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthSymm1alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm1beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm1beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm1beta3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthSymm2alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm2beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm2beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm2beta3 CCTK_ATTRIBUTE_UNUSED; - CCTK_REAL_VEC JacPDupwindNthSymm3alpha CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm3beta1 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm3beta2 CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC JacPDupwindNthSymm3beta3 CCTK_ATTRIBUTE_UNUSED; @@ -670,9 +631,6 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(const cGH* restrict const JacPDstandardNth3phi = kmadd(J13L,PDstandardNth1phi,kmadd(J23L,PDstandardNth2phi,kmul(J33L,PDstandardNth3phi))); - JacPDupwindNthAnti1alpha = - kmadd(J11L,PDupwindNthAnti1alpha,kmadd(J21L,PDupwindNthAnti2alpha,kmul(J31L,PDupwindNthAnti3alpha))); - JacPDupwindNthAnti1beta1 = kmadd(J11L,PDupwindNthAnti1beta1,kmadd(J21L,PDupwindNthAnti2beta1,kmul(J31L,PDupwindNthAnti3beta1))); @@ -682,9 +640,6 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(const cGH* restrict const JacPDupwindNthAnti1beta3 = kmadd(J11L,PDupwindNthAnti1beta3,kmadd(J21L,PDupwindNthAnti2beta3,kmul(J31L,PDupwindNthAnti3beta3))); - JacPDupwindNthSymm1alpha = - kmadd(J11L,PDupwindNthSymm1alpha,kmadd(J21L,PDupwindNthSymm2alpha,kmul(J31L,PDupwindNthSymm3alpha))); - JacPDupwindNthSymm1beta1 = kmadd(J11L,PDupwindNthSymm1beta1,kmadd(J21L,PDupwindNthSymm2beta1,kmul(J31L,PDupwindNthSymm3beta1))); @@ -694,9 +649,6 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(const cGH* restrict const JacPDupwindNthSymm1beta3 = kmadd(J11L,PDupwindNthSymm1beta3,kmadd(J21L,PDupwindNthSymm2beta3,kmul(J31L,PDupwindNthSymm3beta3))); - JacPDupwindNthAnti2alpha = - kmadd(J12L,PDupwindNthAnti1alpha,kmadd(J22L,PDupwindNthAnti2alpha,kmul(J32L,PDupwindNthAnti3alpha))); - JacPDupwindNthAnti2beta1 = kmadd(J12L,PDupwindNthAnti1beta1,kmadd(J22L,PDupwindNthAnti2beta1,kmul(J32L,PDupwindNthAnti3beta1))); @@ -706,9 +658,6 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(const cGH* restrict const JacPDupwindNthAnti2beta3 = kmadd(J12L,PDupwindNthAnti1beta3,kmadd(J22L,PDupwindNthAnti2beta3,kmul(J32L,PDupwindNthAnti3beta3))); - JacPDupwindNthSymm2alpha = - kmadd(J12L,PDupwindNthSymm1alpha,kmadd(J22L,PDupwindNthSymm2alpha,kmul(J32L,PDupwindNthSymm3alpha))); - JacPDupwindNthSymm2beta1 = kmadd(J12L,PDupwindNthSymm1beta1,kmadd(J22L,PDupwindNthSymm2beta1,kmul(J32L,PDupwindNthSymm3beta1))); @@ -718,9 +667,6 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(const cGH* restrict const JacPDupwindNthSymm2beta3 = kmadd(J12L,PDupwindNthSymm1beta3,kmadd(J22L,PDupwindNthSymm2beta3,kmul(J32L,PDupwindNthSymm3beta3))); - JacPDupwindNthAnti3alpha = - kmadd(J13L,PDupwindNthAnti1alpha,kmadd(J23L,PDupwindNthAnti2alpha,kmul(J33L,PDupwindNthAnti3alpha))); - JacPDupwindNthAnti3beta1 = kmadd(J13L,PDupwindNthAnti1beta1,kmadd(J23L,PDupwindNthAnti2beta1,kmul(J33L,PDupwindNthAnti3beta1))); @@ -730,9 +676,6 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(const cGH* restrict const JacPDupwindNthAnti3beta3 = kmadd(J13L,PDupwindNthAnti1beta3,kmadd(J23L,PDupwindNthAnti2beta3,kmul(J33L,PDupwindNthAnti3beta3))); - JacPDupwindNthSymm3alpha = - kmadd(J13L,PDupwindNthSymm1alpha,kmadd(J23L,PDupwindNthSymm2alpha,kmul(J33L,PDupwindNthSymm3alpha))); - JacPDupwindNthSymm3beta1 = kmadd(J13L,PDupwindNthSymm1beta1,kmadd(J23L,PDupwindNthSymm2beta1,kmul(J33L,PDupwindNthSymm3beta1))); @@ -792,48 +735,36 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(const cGH* restrict const JacPDstandardNth3phi = PDstandardNth3phi; - JacPDupwindNthAnti1alpha = PDupwindNthAnti1alpha; - JacPDupwindNthAnti1beta1 = PDupwindNthAnti1beta1; JacPDupwindNthAnti1beta2 = PDupwindNthAnti1beta2; JacPDupwindNthAnti1beta3 = PDupwindNthAnti1beta3; - JacPDupwindNthSymm1alpha = PDupwindNthSymm1alpha; - JacPDupwindNthSymm1beta1 = PDupwindNthSymm1beta1; JacPDupwindNthSymm1beta2 = PDupwindNthSymm1beta2; JacPDupwindNthSymm1beta3 = PDupwindNthSymm1beta3; - JacPDupwindNthAnti2alpha = PDupwindNthAnti2alpha; - JacPDupwindNthAnti2beta1 = PDupwindNthAnti2beta1; JacPDupwindNthAnti2beta2 = PDupwindNthAnti2beta2; JacPDupwindNthAnti2beta3 = PDupwindNthAnti2beta3; - JacPDupwindNthSymm2alpha = PDupwindNthSymm2alpha; - JacPDupwindNthSymm2beta1 = PDupwindNthSymm2beta1; JacPDupwindNthSymm2beta2 = PDupwindNthSymm2beta2; JacPDupwindNthSymm2beta3 = PDupwindNthSymm2beta3; - JacPDupwindNthAnti3alpha = PDupwindNthAnti3alpha; - JacPDupwindNthAnti3beta1 = PDupwindNthAnti3beta1; JacPDupwindNthAnti3beta2 = PDupwindNthAnti3beta2; JacPDupwindNthAnti3beta3 = PDupwindNthAnti3beta3; - JacPDupwindNthSymm3alpha = PDupwindNthSymm3alpha; - JacPDupwindNthSymm3beta1 = PDupwindNthSymm3beta1; JacPDupwindNthSymm3beta2 = PDupwindNthSymm3beta2; @@ -879,9 +810,6 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(const cGH* restrict const CCTK_REAL_VEC Ddetgt3 CCTK_ATTRIBUTE_UNUSED = kmadd(gtu11,JacPDstandardNth3gt11,kmadd(gtu22,JacPDstandardNth3gt22,kmadd(gtu33,JacPDstandardNth3gt33,kmul(kmadd(gtu12,JacPDstandardNth3gt12,kmadd(gtu13,JacPDstandardNth3gt13,kmul(gtu23,JacPDstandardNth3gt23))),ToReal(2))))); - CCTK_REAL_VEC dtalpL CCTK_ATTRIBUTE_UNUSED = - kmsub(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(ksub(AL,trKL),ToReal(LapseACoeff),trKL)))); - CCTK_REAL_VEC dtbetaxL CCTK_ATTRIBUTE_UNUSED = kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta1,kmadd(beta2L,JacPDupwindNthAnti2beta1,kmadd(beta3L,JacPDupwindNthAnti3beta1,kmadd(JacPDupwindNthSymm1beta1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta1,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),IfThen(harmonicShift,kmul(alphaL,kmul(em4phi,kmul(ToReal(-0.5),kmadd(gtu11,kmadd(alphaL,kmadd(kmadd(gtu11,JacPDstandardNth1gt11,kmadd(gtu12,kadd(JacPDstandardNth1gt12,JacPDstandardNth2gt11),kmadd(gtu22,JacPDstandardNth2gt12,kmadd(gtu13,kadd(JacPDstandardNth1gt13,JacPDstandardNth3gt11),kmadd(gtu23,kadd(JacPDstandardNth2gt13,JacPDstandardNth3gt12),kmadd(gtu33,JacPDstandardNth3gt13,kmul(JacPDstandardNth1phi,IfThen(conformalMethod == @@ -914,7 +842,6 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(const cGH* restrict const /* Copy local copies back to grid functions */ vec_store_partial_prepare(i,vecimin,vecimax); - vec_store_nta_partial(dtalp[index],dtalpL); vec_store_nta_partial(dtbetax[index],dtbetaxL); vec_store_nta_partial(dtbetay[index],dtbetayL); vec_store_nta_partial(dtbetaz[index],dtbetazL); @@ -939,18 +866,15 @@ extern "C" void ML_BSSN_convertToADMBaseDtLapseShift(CCTK_ARGUMENTS) } const char* const groups[] = { - "ADMBase::dtlapse", "ADMBase::dtshift", "grid::coordinates", - "ML_BSSN::ML_dtlapse", "ML_BSSN::ML_dtshift", "ML_BSSN::ML_Gamma", "ML_BSSN::ML_lapse", "ML_BSSN::ML_log_confac", "ML_BSSN::ML_metric", - "ML_BSSN::ML_shift", - "ML_BSSN::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertToADMBaseDtLapseShift", 11, groups); + "ML_BSSN::ML_shift"}; + GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertToADMBaseDtLapseShift", 8, groups); switch (fdOrder) { diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShiftBoundary.cc b/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShiftBoundary.cc index 57469de..9c0b3e5 100644 --- a/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShiftBoundary.cc +++ b/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShiftBoundary.cc @@ -35,9 +35,6 @@ extern "C" void ML_BSSN_convertToADMBaseDtLapseShiftBoundary_SelectBCs(CCTK_ARGU if (cctk_iteration % ML_BSSN_convertToADMBaseDtLapseShiftBoundary_calc_every != ML_BSSN_convertToADMBaseDtLapseShiftBoundary_calc_offset) return; CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; - ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ADMBase::dtlapse","flat"); - if (ierr < 0) - CCTK_WARN(1, "Failed to register flat BC for ADMBase::dtlapse."); ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ADMBase::dtshift","flat"); if (ierr < 0) CCTK_WARN(1, "Failed to register flat BC for ADMBase::dtshift."); @@ -234,8 +231,6 @@ static void ML_BSSN_convertToADMBaseDtLapseShiftBoundary_Body(const cGH* restric /* Assign local copies of grid functions */ - CCTK_REAL_VEC AL CCTK_ATTRIBUTE_UNUSED = vec_load(A[index]); - CCTK_REAL_VEC alphaL CCTK_ATTRIBUTE_UNUSED = vec_load(alpha[index]); CCTK_REAL_VEC B1L CCTK_ATTRIBUTE_UNUSED = vec_load(B1[index]); CCTK_REAL_VEC B2L CCTK_ATTRIBUTE_UNUSED = vec_load(B2[index]); CCTK_REAL_VEC B3L CCTK_ATTRIBUTE_UNUSED = vec_load(B3[index]); @@ -243,7 +238,6 @@ static void ML_BSSN_convertToADMBaseDtLapseShiftBoundary_Body(const cGH* restric CCTK_REAL_VEC beta2L CCTK_ATTRIBUTE_UNUSED = vec_load(beta2[index]); CCTK_REAL_VEC beta3L CCTK_ATTRIBUTE_UNUSED = vec_load(beta3[index]); CCTK_REAL_VEC rL CCTK_ATTRIBUTE_UNUSED = vec_load(r[index]); - CCTK_REAL_VEC trKL CCTK_ATTRIBUTE_UNUSED = vec_load(trK[index]); CCTK_REAL_VEC Xt1L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt1[index]); CCTK_REAL_VEC Xt2L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt2[index]); CCTK_REAL_VEC Xt3L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt3[index]); @@ -286,9 +280,6 @@ static void ML_BSSN_convertToADMBaseDtLapseShiftBoundary_Body(const cGH* restric CCTK_REAL_VEC theta CCTK_ATTRIBUTE_UNUSED = kfmin(ToReal(1),kexp(knmsub(rL,ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1)))); - CCTK_REAL_VEC dtalpL CCTK_ATTRIBUTE_UNUSED = - kneg(kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(ksub(AL,trKL),ToReal(LapseACoeff),trKL)))); - CCTK_REAL_VEC dtbetaxL CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC dtbetayL CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC dtbetazL CCTK_ATTRIBUTE_UNUSED; @@ -318,7 +309,6 @@ static void ML_BSSN_convertToADMBaseDtLapseShiftBoundary_Body(const cGH* restric /* Copy local copies back to grid functions */ vec_store_partial_prepare(i,vecimin,vecimax); - vec_store_nta_partial(dtalp[index],dtalpL); vec_store_nta_partial(dtbetax[index],dtbetaxL); vec_store_nta_partial(dtbetay[index],dtbetayL); vec_store_nta_partial(dtbetaz[index],dtbetazL); @@ -343,16 +333,12 @@ extern "C" void ML_BSSN_convertToADMBaseDtLapseShiftBoundary(CCTK_ARGUMENTS) } const char* const groups[] = { - "ADMBase::dtlapse", "ADMBase::dtshift", "grid::coordinates", - "ML_BSSN::ML_dtlapse", "ML_BSSN::ML_dtshift", "ML_BSSN::ML_Gamma", - "ML_BSSN::ML_lapse", - "ML_BSSN::ML_shift", - "ML_BSSN::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertToADMBaseDtLapseShiftBoundary", 9, groups); + "ML_BSSN::ML_shift"}; + GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertToADMBaseDtLapseShiftBoundary", 5, groups); switch (fdOrder) { diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBaseFakeDtLapseShift.cc b/ML_BSSN/src/ML_BSSN_convertToADMBaseFakeDtLapseShift.cc index f8b7487..2d78427 100644 --- a/ML_BSSN/src/ML_BSSN_convertToADMBaseFakeDtLapseShift.cc +++ b/ML_BSSN/src/ML_BSSN_convertToADMBaseFakeDtLapseShift.cc @@ -214,11 +214,11 @@ static void ML_BSSN_convertToADMBaseFakeDtLapseShift_Body(const cGH* restrict co { const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k; // vec_iter_counter+=CCTK_REAL_VEC_SIZE; + if (fabs(y[index]) > 1e-8) + continue; /* Assign local copies of grid functions */ - CCTK_REAL_VEC AL CCTK_ATTRIBUTE_UNUSED = vec_load(A[index]); - CCTK_REAL_VEC alphaL CCTK_ATTRIBUTE_UNUSED = vec_load(alpha[index]); CCTK_REAL_VEC B1L CCTK_ATTRIBUTE_UNUSED = vec_load(B1[index]); CCTK_REAL_VEC B2L CCTK_ATTRIBUTE_UNUSED = vec_load(B2[index]); CCTK_REAL_VEC B3L CCTK_ATTRIBUTE_UNUSED = vec_load(B3[index]); @@ -226,7 +226,6 @@ static void ML_BSSN_convertToADMBaseFakeDtLapseShift_Body(const cGH* restrict co CCTK_REAL_VEC beta2L CCTK_ATTRIBUTE_UNUSED = vec_load(beta2[index]); CCTK_REAL_VEC beta3L CCTK_ATTRIBUTE_UNUSED = vec_load(beta3[index]); CCTK_REAL_VEC rL CCTK_ATTRIBUTE_UNUSED = vec_load(r[index]); - CCTK_REAL_VEC trKL CCTK_ATTRIBUTE_UNUSED = vec_load(trK[index]); CCTK_REAL_VEC Xt1L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt1[index]); CCTK_REAL_VEC Xt2L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt2[index]); CCTK_REAL_VEC Xt3L CCTK_ATTRIBUTE_UNUSED = vec_load(Xt3[index]); @@ -269,9 +268,6 @@ static void ML_BSSN_convertToADMBaseFakeDtLapseShift_Body(const cGH* restrict co CCTK_REAL_VEC theta CCTK_ATTRIBUTE_UNUSED = kfmin(ToReal(1),kexp(knmsub(rL,ToReal(ScalarINV(SpatialShiftGammaCoeffRadius)),ToReal(1)))); - CCTK_REAL_VEC dtalpL CCTK_ATTRIBUTE_UNUSED = - kneg(kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(ksub(AL,trKL),ToReal(LapseACoeff),trKL)))); - CCTK_REAL_VEC dtbetaxL CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC dtbetayL CCTK_ATTRIBUTE_UNUSED; CCTK_REAL_VEC dtbetazL CCTK_ATTRIBUTE_UNUSED; @@ -301,7 +297,6 @@ static void ML_BSSN_convertToADMBaseFakeDtLapseShift_Body(const cGH* restrict co /* Copy local copies back to grid functions */ vec_store_partial_prepare(i,vecimin,vecimax); - vec_store_nta_partial(dtalp[index],dtalpL); vec_store_nta_partial(dtbetax[index],dtbetaxL); vec_store_nta_partial(dtbetay[index],dtbetayL); vec_store_nta_partial(dtbetaz[index],dtbetazL); @@ -326,16 +321,12 @@ extern "C" void ML_BSSN_convertToADMBaseFakeDtLapseShift(CCTK_ARGUMENTS) } const char* const groups[] = { - "ADMBase::dtlapse", "ADMBase::dtshift", "grid::coordinates", - "ML_BSSN::ML_dtlapse", "ML_BSSN::ML_dtshift", "ML_BSSN::ML_Gamma", - "ML_BSSN::ML_lapse", - "ML_BSSN::ML_shift", - "ML_BSSN::ML_trace_curv"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertToADMBaseFakeDtLapseShift", 9, groups); + "ML_BSSN::ML_shift"}; + GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertToADMBaseFakeDtLapseShift", 5, groups); switch (fdOrder) { diff --git a/ML_BSSN/src/ML_BSSN_enforce.cc b/ML_BSSN/src/ML_BSSN_enforce.cc index f1483bf..30f7538 100644 --- a/ML_BSSN/src/ML_BSSN_enforce.cc +++ b/ML_BSSN/src/ML_BSSN_enforce.cc @@ -217,7 +217,6 @@ static void ML_BSSN_enforce_Body(const cGH* restrict const cctkGH, const int dir /* Assign local copies of grid functions */ - CCTK_REAL_VEC alphaL CCTK_ATTRIBUTE_UNUSED = vec_load(alpha[index]); CCTK_REAL_VEC At11L CCTK_ATTRIBUTE_UNUSED = vec_load(At11[index]); CCTK_REAL_VEC At12L CCTK_ATTRIBUTE_UNUSED = vec_load(At12[index]); CCTK_REAL_VEC At13L CCTK_ATTRIBUTE_UNUSED = vec_load(At13[index]); @@ -303,12 +302,12 @@ static void ML_BSSN_enforce_Body(const cGH* restrict const cctkGH, const int dir At33L = kmadd(gt33L,kmul(trAt,ToReal(-0.333333333333333333333333333333)),At33L); - - alphaL = kfmax(alphaL,ToReal(MinimumLapse)); + + if (alpha[index] < MinimumLapse) + alpha[index] = MinimumLapse; /* Copy local copies back to grid functions */ vec_store_partial_prepare(i,vecimin,vecimax); - vec_store_nta_partial(alpha[index],alphaL); vec_store_nta_partial(At11[index],At11L); vec_store_nta_partial(At12[index],At12L); vec_store_nta_partial(At13[index],At13L); @@ -337,9 +336,8 @@ extern "C" void ML_BSSN_enforce(CCTK_ARGUMENTS) const char* const groups[] = { "ML_BSSN::ML_curv", - "ML_BSSN::ML_lapse", "ML_BSSN::ML_metric"}; - GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_enforce", 3, groups); + GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_enforce", 2, groups); switch (fdOrder) { diff --git a/ML_BSSN/src/ML_BSSN_lapse_evol.cc b/ML_BSSN/src/ML_BSSN_lapse_evol.cc new file mode 100644 index 0000000..b86d7d8 --- /dev/null +++ b/ML_BSSN/src/ML_BSSN_lapse_evol.cc @@ -0,0 +1,336 @@ +/* File produced by Kranc */ + +#define KRANC_C + +#include <assert.h> +#include <math.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include "cctk.h" +#include "cctk_Arguments.h" +#include "cctk_Parameters.h" +#include "GenericFD.h" +#include "Differencing.h" +#include "cctk_Loop.h" +#include "loopcontrol.h" +#include "vectors.h" + +/* Define macros used in calculations */ +#define INITVALUE (42) +#define ScalarINV(x) ((CCTK_REAL)1.0 / (x)) +#define ScalarSQR(x) ((x) * (x)) +#define ScalarCUB(x) ((x) * ScalarSQR(x)) +#define ScalarQAD(x) (ScalarSQR(ScalarSQR(x))) +#define INV(x) (kdiv(ToReal(1.0),x)) +#define SQR(x) (kmul(x,x)) +#define CUB(x) (kmul(x,SQR(x))) +#define QAD(x) (SQR(SQR(x))) + +extern "C" void ML_BSSN_lapse_evol_SelectBCs(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + if (cctk_iteration % ML_BSSN_lapse_evol_calc_every != ML_BSSN_lapse_evol_calc_offset) + return; + CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0; + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN::ML_lapserhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN::ML_lapserhs."); + return; +} + +static void ML_BSSN_lapse_evol_Body(const cGH* restrict const cctkGH, const int dir, const int face, const CCTK_REAL normal[3], const CCTK_REAL tangentA[3], const CCTK_REAL tangentB[3], const int imin[3], const int imax[3], const int n_subblock_gfs, CCTK_REAL* restrict const subblock_gfs[]) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + + /* Include user-supplied include files */ + + /* Initialise finite differencing variables */ + const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1; + const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di; + const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj; + const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk; + const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0)); + const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1)); + const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2)); + const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME); + const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time); + const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx); + const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy); + const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz); + const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5); + const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED = + ToReal(0.333333333333333333333333333333); + const CCTK_REAL_VEC ktwothird CCTK_ATTRIBUTE_UNUSED = + ToReal(0.666666666666666666666666666667); + const CCTK_REAL_VEC kfourthird CCTK_ATTRIBUTE_UNUSED = + ToReal(1.33333333333333333333333333333); + const CCTK_REAL_VEC hdxi CCTK_ATTRIBUTE_UNUSED = + kmul(dxi,ToReal(0.5)); + const CCTK_REAL_VEC hdyi CCTK_ATTRIBUTE_UNUSED = + kmul(dyi,ToReal(0.5)); + const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED = + kmul(dzi,ToReal(0.5)); + + /* Initialize predefined quantities */ + const CCTK_REAL_VEC p1o1024dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dx); + const CCTK_REAL_VEC p1o1024dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dy); + const CCTK_REAL_VEC p1o1024dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0009765625),dz); + const CCTK_REAL_VEC p1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx); + const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy); + const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz); + const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx)); + const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx)); + const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy)); + const CCTK_REAL_VEC p1o1680dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dx); + const CCTK_REAL_VEC p1o1680dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dy); + const CCTK_REAL_VEC p1o1680dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000595238095238095238095238095238),dz); + const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx)); + const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy)); + const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz)); + const CCTK_REAL_VEC p1o24dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o24dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o24dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0416666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx); + const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy); + const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz); + const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx)); + const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx)); + const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dx); + const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx)); + const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx)); + const CCTK_REAL_VEC p1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dy); + const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy)); + const CCTK_REAL_VEC p1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),dz); + const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx)); + const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy)); + const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz)); + const CCTK_REAL_VEC p1o560dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dx); + const CCTK_REAL_VEC p1o560dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dy); + const CCTK_REAL_VEC p1o560dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00178571428571428571428571428571),dz); + const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz); + const CCTK_REAL_VEC p1o64dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dx); + const CCTK_REAL_VEC p1o64dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dy); + const CCTK_REAL_VEC p1o64dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.015625),dz); + const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx)); + const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx)); + const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy)); + const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx); + const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy); + const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz); + const CCTK_REAL_VEC p1odx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx); + const CCTK_REAL_VEC p1odx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dx,dx)); + const CCTK_REAL_VEC p1ody CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy); + const CCTK_REAL_VEC p1ody2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dy,dy)); + const CCTK_REAL_VEC p1odz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz); + const CCTK_REAL_VEC p1odz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o120dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dx); + const CCTK_REAL_VEC pm1o120dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dy); + const CCTK_REAL_VEC pm1o120dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00833333333333333333333333333333),dz); + const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx)); + const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy)); + const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz)); + const CCTK_REAL_VEC pm1o16dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dx); + const CCTK_REAL_VEC pm1o16dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dy); + const CCTK_REAL_VEC pm1o16dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0625),dz); + const CCTK_REAL_VEC pm1o256dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dx); + const CCTK_REAL_VEC pm1o256dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dy); + const CCTK_REAL_VEC pm1o256dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.00390625),dz); + const CCTK_REAL_VEC pm1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dx); + const CCTK_REAL_VEC pm1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dy); + const CCTK_REAL_VEC pm1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.5),dz); + const CCTK_REAL_VEC pm1o4dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dx); + const CCTK_REAL_VEC pm1o4dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dy); + const CCTK_REAL_VEC pm1o4dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.25),dz); + const CCTK_REAL_VEC pm1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dx); + const CCTK_REAL_VEC pm1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dy); + const CCTK_REAL_VEC pm1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0166666666666666666666666666667),dz); + + /* Jacobian variable pointers */ + const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1; + const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian; + if (use_jacobian && (strlen(jacobian_derivative_group) == 0)) + { + CCTK_WARN(1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + } + + const CCTK_REAL* restrict jacobian_ptrs[9]; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, + 9, jacobian_ptrs); + + const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0; + const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0; + const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0; + const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0; + const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0; + const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0; + const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0; + const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0; + const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0; + + const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, + 18, jacobian_derivative_ptrs); + + const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + + /* Assign local copies of arrays functions */ + + + + /* Calculate temporaries and arrays functions */ + + /* Copy local copies back to grid functions */ + + /* Loop over the grid points */ + const int imin0=imin[0]; + const int imin1=imin[1]; + const int imin2=imin[2]; + const int imax0=imax[0]; + const int imax1=imax[1]; + const int imax2=imax[2]; + #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter) + CCTK_LOOP3STR(ML_BSSN_lapse_evol, + i,j,k, imin0,imin1,imin2, imax0,imax1,imax2, + cctk_ash[0],cctk_ash[1],cctk_ash[2], + vecimin,vecimax, CCTK_REAL_VEC_SIZE) + { + const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k; + // vec_iter_counter+=CCTK_REAL_VEC_SIZE; + if (fabs(y[index]) > 1e-8) + continue; + + /* Assign local copies of grid functions */ + + CCTK_REAL_VEC alphaL CCTK_ATTRIBUTE_UNUSED = vec_load(alpha[index]); + CCTK_REAL_VEC trKL CCTK_ATTRIBUTE_UNUSED = vec_load(trK[index]); + CCTK_REAL_VEC WL CCTK_ATTRIBUTE_UNUSED = vec_load(W[index]); + + + + /* Include user supplied include files */ + + /* Precompute derivatives */ + + switch (fdOrder) + { + case 2: + { + break; + } + + case 4: + { + break; + } + + case 6: + { + break; + } + + case 8: + { + break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); + } + + /* Calculate temporaries and grid functions */ + CCTK_REAL_VEC alpharhsL CCTK_ATTRIBUTE_UNUSED = + kmsub(WL,ToReal(WFactor),kmul(kpow(alphaL,harmonicN),kmul(kmadd(kadd(alphaL,ToReal(-1)),ToReal(AlphaDriver),trKL),ToReal(harmonicF)))); + + /* Copy local copies back to grid functions */ + vec_store_partial_prepare(i,vecimin,vecimax); + vec_store_nta_partial(alpharhs[index],alpharhsL); + } + CCTK_ENDLOOP3STR(ML_BSSN_lapse_evol); +} + +extern "C" void ML_BSSN_lapse_evol(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + + if (verbose > 1) + { + CCTK_VInfo(CCTK_THORNSTRING,"Entering ML_BSSN_lapse_evol_Body"); + } + + if (cctk_iteration % ML_BSSN_lapse_evol_calc_every != ML_BSSN_lapse_evol_calc_offset) + { + return; + } + + const char* const groups[] = { + "ML_BSSN::ML_lapse", + "ML_BSSN::ML_lapserhs", + "ML_BSSN::ML_trace_curv", + "QuasiMaximalSlicing::W"}; + GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_lapse_evol", 4, groups); + + switch (fdOrder) + { + case 2: + { + break; + } + + case 4: + { + break; + } + + case 6: + { + break; + } + + case 8: + { + break; + } + default: + CCTK_BUILTIN_UNREACHABLE(); + } + + GenericFD_LoopOverInterior(cctkGH, ML_BSSN_lapse_evol_Body); + + if (verbose > 1) + { + CCTK_VInfo(CCTK_THORNSTRING,"Leaving ML_BSSN_lapse_evol_Body"); + } +} diff --git a/ML_BSSN/src/RegisterMoL.cc b/ML_BSSN/src/RegisterMoL.cc index a80750d..ee001ea 100644 --- a/ML_BSSN/src/RegisterMoL.cc +++ b/ML_BSSN/src/RegisterMoL.cc @@ -18,7 +18,6 @@ extern "C" void ML_BSSN_RegisterVars(CCTK_ARGUMENTS) ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::At22"), CCTK_VarIndex("ML_BSSN::At22rhs")); ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::At23"), CCTK_VarIndex("ML_BSSN::At23rhs")); ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::At33"), CCTK_VarIndex("ML_BSSN::At33rhs")); - ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::A"), CCTK_VarIndex("ML_BSSN::Arhs")); ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::B1"), CCTK_VarIndex("ML_BSSN::B1rhs")); ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::B2"), CCTK_VarIndex("ML_BSSN::B2rhs")); ierr += MoLRegisterEvolved(CCTK_VarIndex("ML_BSSN::B3"), CCTK_VarIndex("ML_BSSN::B3rhs")); diff --git a/ML_BSSN/src/RegisterSymmetries.cc b/ML_BSSN/src/RegisterSymmetries.cc index 0325d23..04db824 100644 --- a/ML_BSSN/src/RegisterSymmetries.cc +++ b/ML_BSSN/src/RegisterSymmetries.cc @@ -109,7 +109,52 @@ extern "C" void ML_BSSN_RegisterSymmetries(CCTK_ARGUMENTS) sym[0] = 1; sym[1] = 1; sym[2] = 1; - SetCartSymVN(cctkGH, sym, "ML_BSSN::A"); + SetCartSymVN(cctkGH, sym, "ML_BSSN::Kdot11"); + + sym[0] = -1; + sym[1] = -1; + sym[2] = 1; + SetCartSymVN(cctkGH, sym, "ML_BSSN::Kdot12"); + + sym[0] = -1; + sym[1] = 1; + sym[2] = -1; + SetCartSymVN(cctkGH, sym, "ML_BSSN::Kdot13"); + + sym[0] = 1; + sym[1] = 1; + sym[2] = 1; + SetCartSymVN(cctkGH, sym, "ML_BSSN::Kdot22"); + + sym[0] = 1; + sym[1] = -1; + sym[2] = -1; + SetCartSymVN(cctkGH, sym, "ML_BSSN::Kdot23"); + + sym[0] = 1; + sym[1] = 1; + sym[2] = 1; + SetCartSymVN(cctkGH, sym, "ML_BSSN::Kdot33"); + + sym[0] = -1; + sym[1] = 1; + sym[2] = 1; + SetCartSymVN(cctkGH, sym, "ML_BSSN::Xtdot1"); + + sym[0] = 1; + sym[1] = -1; + sym[2] = 1; + SetCartSymVN(cctkGH, sym, "ML_BSSN::Xtdot2"); + + sym[0] = 1; + sym[1] = 1; + sym[2] = -1; + SetCartSymVN(cctkGH, sym, "ML_BSSN::Xtdot3"); + + sym[0] = 1; + sym[1] = 1; + sym[2] = 1; + SetCartSymVN(cctkGH, sym, "ML_BSSN::phidot"); sym[0] = -1; sym[1] = 1; @@ -164,6 +209,21 @@ extern "C" void ML_BSSN_RegisterSymmetries(CCTK_ARGUMENTS) sym[0] = 1; sym[1] = 1; sym[2] = 1; + SetCartSymVN(cctkGH, sym, "ML_BSSN::term1"); + + sym[0] = 1; + sym[1] = 1; + sym[2] = 1; + SetCartSymVN(cctkGH, sym, "ML_BSSN::term2"); + + sym[0] = 1; + sym[1] = 1; + sym[2] = 1; + SetCartSymVN(cctkGH, sym, "ML_BSSN::term3"); + + sym[0] = 1; + sym[1] = 1; + sym[2] = 1; SetCartSymVN(cctkGH, sym, "ML_BSSN::cS"); sym[0] = -1; diff --git a/ML_BSSN/src/make.code.defn b/ML_BSSN/src/make.code.defn index 06ece2e..20a2829 100644 --- a/ML_BSSN/src/make.code.defn +++ b/ML_BSSN/src/make.code.defn @@ -1,3 +1,3 @@ # File produced by Kranc -SRCS = Boundaries.cc ML_BSSN_Advect.cc ML_BSSN_boundary.cc ML_BSSN_constraints1.cc ML_BSSN_constraints2.cc ML_BSSN_convertFromADMBase.cc ML_BSSN_convertFromADMBaseGamma.cc ML_BSSN_convertToADMBase.cc ML_BSSN_convertToADMBaseDtLapseShiftBoundary.cc ML_BSSN_convertToADMBaseDtLapseShift.cc ML_BSSN_convertToADMBaseFakeDtLapseShift.cc ML_BSSN_Dissipation.cc ML_BSSN_enforce.cc ML_BSSN_InitGamma.cc ML_BSSN_InitRHS.cc ML_BSSN_Minkowski.cc ML_BSSN_RHS1.cc ML_BSSN_RHS2.cc ML_BSSN_RHSStaticBoundary.cc RegisterMoL.cc RegisterSymmetries.cc Startup.cc +SRCS = Boundaries.cc ML_BSSN_Advect.cc ML_BSSN_boundary.cc ML_BSSN_constraints.cc ML_BSSN_convertFromADMBase.cc ML_BSSN_convertFromADMBaseGamma.cc ML_BSSN_convertToADMBase.cc ML_BSSN_convertToADMBaseDtLapseShiftBoundary.cc ML_BSSN_convertToADMBaseDtLapseShift.cc ML_BSSN_convertToADMBaseFakeDtLapseShift.cc ML_BSSN_Dissipation.cc ML_BSSN_enforce.cc ML_BSSN_InitGamma.cc ML_BSSN_InitRHS.cc ML_BSSN_lapse_evol.cc ML_BSSN_Minkowski.cc ML_BSSN_RHS.cc ML_BSSN_RHSStaticBoundary.cc RegisterMoL.cc RegisterSymmetries.cc Startup.cc diff --git a/ML_BSSN_Helper/schedule.ccl b/ML_BSSN_Helper/schedule.ccl index ac73898..22466ce 100644 --- a/ML_BSSN_Helper/schedule.ccl +++ b/ML_BSSN_Helper/schedule.ccl @@ -75,8 +75,8 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN")) { TRIGGERS: ML_BSSN::ML_Gammarhs TRIGGERS: ML_BSSN::ML_trace_curvrhs TRIGGERS: ML_BSSN::ML_curvrhs - TRIGGERS: ML_BSSN::ML_lapserhs - TRIGGERS: ML_BSSN::ML_dtlapserhs + #TRIGGERS: ML_BSSN::ML_lapserhs + #TRIGGERS: ML_BSSN::ML_dtlapserhs TRIGGERS: ML_BSSN::ML_shiftrhs TRIGGERS: ML_BSSN::ML_dtshiftrhs } "Calculate BSSN RHS" @@ -98,7 +98,7 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN")) { if (CCTK_EQUALS (my_rhs_boundary_condition, "NewRad")) { - SCHEDULE ML_BSSN_NewRad IN ML_BSSN_evolCalcGroup AFTER ML_BSSN_RHS + SCHEDULE ML_BSSN_NewRad IN ML_BSSN_evolCalcGroup AFTER ML_BSSN_RHS AFTER ML_BSSN_lapse_evol { LANG: C #SYNC: ML_curvrhs diff --git a/ML_BSSN_Helper/src/ExtrapolateGammas.c b/ML_BSSN_Helper/src/ExtrapolateGammas.c index 4e52e8f..e8d5f7c 100644 --- a/ML_BSSN_Helper/src/ExtrapolateGammas.c +++ b/ML_BSSN_Helper/src/ExtrapolateGammas.c @@ -14,7 +14,7 @@ ML_BSSN_ExtrapolateGammas (CCTK_ARGUMENTS) extrap (cctkGH, Xt2); extrap (cctkGH, Xt3); - extrap (cctkGH, A); +//extrap (cctkGH, A); extrap (cctkGH, B1); extrap (cctkGH, B2); diff --git a/ML_BSSN_Helper/src/NewRad.c b/ML_BSSN_Helper/src/NewRad.c index f5a00e7..123ee62 100644 --- a/ML_BSSN_Helper/src/NewRad.c +++ b/ML_BSSN_Helper/src/NewRad.c @@ -10,11 +10,16 @@ #endif static void -newrad (cGH const * restrict cctkGH, - CCTK_REAL const * restrict var, - CCTK_REAL * restrict rhs, - CCTK_REAL var0, - CCTK_REAL v0); +newrad (cGH const * restrict const cctkGH, + CCTK_REAL const * restrict const var, + CCTK_REAL * restrict const rhs, + CCTK_REAL const var0, + CCTK_REAL const v0, int rp) +{ + DECLARE_CCTK_PARAMETERS; + + NewRad_Apply (cctkGH, var, rhs, var0, v0, rp); +} void ML_BSSN_NewRad (CCTK_ARGUMENTS) @@ -24,53 +29,41 @@ ML_BSSN_NewRad (CCTK_ARGUMENTS) CCTK_REAL const v0 = sqrt (harmonicF); - newrad (cctkGH, phi , phirhs , conformalMethod ? 1 : 0, v0 ); + newrad (cctkGH, phi , phirhs , conformalMethod ? 1 : 0, v0, radpower ); - newrad (cctkGH, gt11 , gt11rhs , 1.0, 1.0); - newrad (cctkGH, gt12 , gt12rhs , 0.0, 1.0); - newrad (cctkGH, gt13 , gt13rhs , 0.0, 1.0); - newrad (cctkGH, gt22 , gt22rhs , 1.0, 1.0); - newrad (cctkGH, gt23 , gt23rhs , 0.0, 1.0); - newrad (cctkGH, gt33 , gt33rhs , 1.0, 1.0); + newrad (cctkGH, gt11 , gt11rhs , 1.0, 1.0, radpower); + newrad (cctkGH, gt12 , gt12rhs , 0.0, 1.0, radpower); + newrad (cctkGH, gt13 , gt13rhs , 0.0, 1.0, radpower); + newrad (cctkGH, gt22 , gt22rhs , 1.0, 1.0, radpower); + newrad (cctkGH, gt23 , gt23rhs , 0.0, 1.0, radpower); + newrad (cctkGH, gt33 , gt33rhs , 1.0, 1.0, radpower); - newrad (cctkGH, Xt1 , Xt1rhs , 0.0, 1.0); - newrad (cctkGH, Xt2 , Xt2rhs , 0.0, 1.0); - newrad (cctkGH, Xt3 , Xt3rhs , 0.0, 1.0); + newrad (cctkGH, Xt1 , Xt1rhs , 0.0, 1.0, radpower); + newrad (cctkGH, Xt2 , Xt2rhs , 0.0, 1.0, radpower); + newrad (cctkGH, Xt3 , Xt3rhs , 0.0, 1.0, radpower); #ifdef HAVE_THETA - newrad (cctkGH, Theta, Thetarhs, 0.0, v0 ); + newrad (cctkGH, Theta, Thetarhs, 0.0, v0, radpower ); #endif - newrad (cctkGH, trK , trKrhs , 0.0, v0 ); - - newrad (cctkGH, At11 , At11rhs , 0.0, 1.0); - newrad (cctkGH, At12 , At12rhs , 0.0, 1.0); - newrad (cctkGH, At13 , At13rhs , 0.0, 1.0); - newrad (cctkGH, At22 , At22rhs , 0.0, 1.0); - newrad (cctkGH, At23 , At23rhs , 0.0, 1.0); - newrad (cctkGH, At33 , At33rhs , 0.0, 1.0); + newrad (cctkGH, trK , trKrhs , 0.0, v0, radpower ); - newrad (cctkGH, alpha, alpharhs, 1.0, v0 ); + newrad (cctkGH, At11 , At11rhs , 0.0, 1.0, radpower); + newrad (cctkGH, At12 , At12rhs , 0.0, 1.0, radpower); + newrad (cctkGH, At13 , At13rhs , 0.0, 1.0, radpower); + newrad (cctkGH, At22 , At22rhs , 0.0, 1.0, radpower); + newrad (cctkGH, At23 , At23rhs , 0.0, 1.0, radpower); + newrad (cctkGH, At33 , At33rhs , 0.0, 1.0, radpower); - newrad (cctkGH, A , Arhs , 0.0, v0 ); + newrad (cctkGH, alpha, alpharhs, 1.0, v0, radpower); - newrad (cctkGH, beta1, beta1rhs, 0.0, 1.0); - newrad (cctkGH, beta2, beta2rhs, 0.0, 1.0); - newrad (cctkGH, beta3, beta3rhs, 0.0, 1.0); + //newrad (cctkGH, A , Arhs , 0.0, v0 ); - newrad (cctkGH, B1 , B1rhs , 0.0, 1.0); - newrad (cctkGH, B2 , B2rhs , 0.0, 1.0); - newrad (cctkGH, B3 , B3rhs , 0.0, 1.0); -} + newrad (cctkGH, beta1, beta1rhs, 0.0, 1.0, radpower); + newrad (cctkGH, beta2, beta2rhs, 0.0, 1.0, radpower); + newrad (cctkGH, beta3, beta3rhs, 0.0, 1.0, radpower); -static void -newrad (cGH const * restrict const cctkGH, - CCTK_REAL const * restrict const var, - CCTK_REAL * restrict const rhs, - CCTK_REAL const var0, - CCTK_REAL const v0) -{ - DECLARE_CCTK_PARAMETERS; - - NewRad_Apply (cctkGH, var, rhs, var0, v0, radpower); + newrad (cctkGH, B1 , B1rhs , 0.0, 1.0, radpower); + newrad (cctkGH, B2 , B2rhs , 0.0, 1.0, radpower); + newrad (cctkGH, B3 , B3rhs , 0.0, 1.0, radpower); } diff --git a/ML_BSSN_Helper/src/RegisterConstrained.c b/ML_BSSN_Helper/src/RegisterConstrained.c index e6bdb5a..6a41d09 100644 --- a/ML_BSSN_Helper/src/RegisterConstrained.c +++ b/ML_BSSN_Helper/src/RegisterConstrained.c @@ -15,10 +15,11 @@ ML_BSSN_RegisterConstrained (CCTK_ARGUMENTS) register_constrained ("ADMBase::metric"); register_constrained ("ADMBase::curv"); - register_constrained ("ADMBase::lapse"); + //register_constrained ("ADMBase::lapse"); register_constrained ("ADMBase::shift"); - register_constrained ("ADMBase::dtlapse"); + //register_constrained ("ADMBase::dtlapse"); register_constrained ("ADMBase::dtshift"); + //register_constrained ("ML_BSSN::ML_Ric"); } static void diff --git a/ML_BSSN_Helper/src/SetGroupTags.c b/ML_BSSN_Helper/src/SetGroupTags.c index 661bd72..a0f17a1 100644 --- a/ML_BSSN_Helper/src/SetGroupTags.c +++ b/ML_BSSN_Helper/src/SetGroupTags.c @@ -23,9 +23,9 @@ ML_BSSN_SetGroupTags (void) int const checkpoint = timelevels > 1; set_group_tags (checkpoint, checkpoint, 1, "ADMBase::metric"); set_group_tags (checkpoint, checkpoint, 1, "ADMBase::curv"); - set_group_tags (checkpoint, checkpoint, 1, "ADMBase::lapse"); + //set_group_tags (checkpoint, checkpoint, 1, "ADMBase::lapse"); set_group_tags (checkpoint, checkpoint, 1, "ADMBase::shift"); - set_group_tags (checkpoint, checkpoint, 1, "ADMBase::dtlapse"); + //set_group_tags (checkpoint, checkpoint, 1, "ADMBase::dtlapse"); set_group_tags (checkpoint, checkpoint, 1, "ADMBase::dtshift"); set_group_tags (checkpoint, checkpoint, 0, "ML_BSSN::ML_cons_detg"); @@ -45,7 +45,7 @@ ML_BSSN_SetGroupTags (void) set_group_tags (rhs_checkpoint, rhs_checkpoint, 0, "ML_BSSN::ML_trace_curvrhs"); set_group_tags (rhs_checkpoint, rhs_checkpoint, 0, "ML_BSSN::ML_curvrhs"); set_group_tags (rhs_checkpoint, rhs_checkpoint, 0, "ML_BSSN::ML_lapserhs"); - set_group_tags (rhs_checkpoint, rhs_checkpoint, 0, "ML_BSSN::ML_dtlapserhs"); + //set_group_tags (rhs_checkpoint, rhs_checkpoint, 0, "ML_BSSN::ML_dtlapserhs"); set_group_tags (rhs_checkpoint, rhs_checkpoint, 0, "ML_BSSN::ML_shiftrhs"); set_group_tags (rhs_checkpoint, rhs_checkpoint, 0, "ML_BSSN::ML_dtshiftrhs"); diff --git a/cartoon.c b/cartoon.c new file mode 100644 index 0000000..13e1b71 --- /dev/null +++ b/cartoon.c @@ -0,0 +1,64 @@ + double xx = x[index]; + int origin = fabs(xx) < 1e-8; + + PDstandardNth2trK = 0; + PDstandardNth2alp = 0; + PDstandardNth22alp = origin ? PDstandardNth11alp : PDstandardNth1alp / xx; + PDstandardNth12alp = 0; + PDstandardNth23alp = 0; + + PDstandardNth2beta1 = 0; + PDstandardNth22beta1 = origin ? PDstandardNth11beta1 / 2 : PDstandardNth1beta1 / xx - beta1[index] / (xx * xx); + PDstandardNth12beta1 = 0; + PDstandardNth23beta1 = 0; + PDstandardNth2beta2 = origin ? PDstandardNth1beta1 : beta1[index] / xx; + PDstandardNth22beta2 = 0; + PDstandardNth12beta2 = origin ? PDstandardNth11beta1 / 2 : PDstandardNth1beta1 / xx - beta1[index] / (xx * xx); + PDstandardNth23beta2 = origin ? PDstandardNth13beta1 : PDstandardNth3beta1 / xx; + PDstandardNth2beta3 = 0; + PDstandardNth22beta3 = origin ? PDstandardNth11beta3 : PDstandardNth1beta3 / xx; + PDstandardNth12beta3 = 0; + PDstandardNth23beta3 = 0; + + PDstandardNth2gt11 = 0; + PDstandardNth22gt11 = origin ? PDstandardNth11gt22 : PDstandardNth1gt11 / xx - 2 * (gt11[index] - gt22[index]) / (xx * xx); + PDstandardNth12gt11 = 0; + PDstandardNth23gt11 = 0; + PDstandardNth2gt12 = origin ? PDstandardNth1gt11 - PDstandardNth1gt22 : (gt11[index] - gt22[index]) / xx; + PDstandardNth22gt12 = 0; + PDstandardNth12gt12 = origin ? (PDstandardNth11gt11 - PDstandardNth11gt22) / 2 : (PDstandardNth1gt11 - PDstandardNth1gt22) / xx - (gt11[index] - gt22[index]) / (xx * xx); + PDstandardNth23gt12 = origin ? PDstandardNth13gt11 - PDstandardNth13gt22 : (PDstandardNth3gt11 - PDstandardNth3gt22) / xx; + PDstandardNth2gt13 = 0; + PDstandardNth22gt13 = origin ? PDstandardNth11gt13 / 2 : PDstandardNth1gt13 / xx - gt13[index] / (xx * xx); + PDstandardNth12gt13 = 0; + PDstandardNth23gt13 = 0; + PDstandardNth2gt22 = 0; + PDstandardNth22gt22 = origin ? PDstandardNth11gt11 : PDstandardNth1gt22 / xx + 2 * (gt11[index] - gt22[index]) / (xx * xx); + PDstandardNth12gt22 = 0; + PDstandardNth23gt22 = 0; + PDstandardNth2gt23 = origin ? PDstandardNth1gt13 : gt13[index] / xx; + PDstandardNth22gt23 = 0; + PDstandardNth12gt23 = origin ? PDstandardNth11gt13 / 2 : PDstandardNth1gt13 / xx - gt13[index] / (xx * xx); + PDstandardNth23gt23 = origin ? PDstandardNth13gt13 : PDstandardNth3gt13 / xx; + PDstandardNth2gt33 = 0; + PDstandardNth22gt33 = origin ? PDstandardNth11gt33 : PDstandardNth1gt33 / xx; + PDstandardNth12gt33 = 0; + PDstandardNth23gt33 = 0; + + PDstandardNth2phi = 0; + PDstandardNth22phi = origin ? PDstandardNth11phi : PDstandardNth1phi / xx; + PDstandardNth12phi = 0; + PDstandardNth23phi = 0; + PDstandardNth2trK = 0; + PDstandardNth2Xt1 = 0; + PDstandardNth2Xt2 = origin ? PDstandardNth1Xt1 : Xt1[index] / xx; + PDstandardNth2Xt3 = 0; + + PDstandardNth2At11 = origin ? -2 * PDstandardNth1At12 : -2 * At12[index] / xx; + PDstandardNth2At12 = origin ? PDstandardNth1At11 - PDstandardNth1At22 : (At11[index] - At22[index]) / xx; + PDstandardNth2At13 = origin ? -PDstandardNth1At23 : - At23[index] / xx; + PDstandardNth2At22 = origin ? 2 * PDstandardNth1At12 : 2 * At12[index] / xx; + PDstandardNth2At23 = origin ? PDstandardNth1At13 : At13[index] / xx; + PDstandardNth2At33 = 0; + if (fabs(y[index]) > 1e-8) + continue; diff --git a/cartoon_advect.c b/cartoon_advect.c new file mode 100644 index 0000000..91da4da --- /dev/null +++ b/cartoon_advect.c @@ -0,0 +1,50 @@ + double xx = x[index]; + int origin = fabs(xx) < 1e-8; + + PDupwindNthAnti2At11 = origin ? -2 * PDupwindNthAnti1At12 : -2 * At12[index] / xx; + PDupwindNthSymm2At11 = origin ? -2 * PDupwindNthSymm1At12 : -2 * At12[index] / xx; + PDupwindNthAnti2At12 = origin ? PDupwindNthAnti1At11 - PDupwindNthAntiAt22 : (At11[index] - At22[index]) / xx; + PDupwindNthSymm2At12 = origin ? PDupwindNthSymm1At11 - PDupwindNthSymmAt22 : (At11[index] - At22[index]) / xx; + PDupwindNthAnti2At13 = origin ? -PDupwindNthAnti1At23 : - At23[index] / xx; + PDupwindNthSymm2At13 = origin ? -PDupwindNthSymm1At23 : - At23[index] / xx; + PDupwindNthAnti2At22 = origin ? 2 * PDupwindNthAnti1At12 : 2 * At12[index] / xx; + PDupwindNthSymm2At22 = origin ? 2 * PDupwindNthSymm1At12 : 2 * At12[index] / xx; + PDupwindNthAnti2At23 = origin ? PDupwindNth1AntiAt13 : At13[index] / xx; + PDupwindNthSymm2At23 = origin ? PDupwindNth1SymmAt13 : At13[index] / xx; + PDupwindNthAnti2At33 = 0; + PDupwindNthSymm2At33 = 0; + + PDupwindNthAnti2B1 = 0; + PDupwindNthSymm2B1 = 0; + PDupwindNthAnti2B2 = origin ? PDstandardNth1B1 : B1[index] / xx; + PDupwindNthSymm2B2 = origin ? PDstandardNth1B1 : B1[index] / xx; + PDupwindNthAnti2B3 = 0; + PDupwindNthSymm2B3 = 0; + + PDupwindNthAnti2beta1 = 0; + PDupwindNthSymm2beta1 = 0; + PDupwindNthAnti2beta2 = PDupwindNthAntifdOrder82(&beta2[index]); + PDupwindNthSymm2beta2 = PDupwindNthSymmfdOrder82(&beta2[index]); + PDupwindNthAnti2beta3 = 0; + PDupwindNthSymm2beta3 = 0; + + PDupwindNthAnti2gt11 = 0; + PDupwindNthSymm2gt11 = 0; + PDupwindNthAnti2gt12 = origin ? PDstandardNthAnti1gt11 - PDstandardNthAnti1gt22 : (gt11[index] - gt22[index]) / xx; + PDupwindNthSymm2gt12 = origin ? PDstandardNthSymm1gt11 - PDstandardNthSymm1gt22 : (gt11[index] - gt22[index]) / xx; + PDupwindNthAnti2gt13 = 0; + PDupwindNthSymm2gt13 = 0; + PDupwindNthAnti2gt22 = 0; + PDupwindNthSymm2gt22 = 0; + PDupwindNthAnti2gt23 = origin ? PDstandardNthAnti1gt13 : gt13[index] / xx; + PDupwindNthSymm2gt23 = origin ? PDstandardNthSymm1gt13 : gt13[index] / xx; + PDupwindNthAnti2gt33 = 0; + PDupwindNthSymm2gt33 = 0; + + PDupwindNthAnti2phi = 0; + PDupwindNthSymm2phi = 0; + PDupwindNthAnti2trK = 0; + PDupwindNthSymm2trK = 0; + PDupwindNthAnti2Xt2 = origin ? PDstandardNthAnti1Xt1 : Xt1[index] / xx; + PDupwindNthSymm2Xt2 = origin ? PDstandardNthSymm1Xt1 : Xt1[index] / xx; + diff --git a/cartoon_constr.c b/cartoon_constr.c new file mode 100644 index 0000000..badc89c --- /dev/null +++ b/cartoon_constr.c @@ -0,0 +1,43 @@ + double xx = x[index]; + int origin = fabs(xx) < 1e-8; + + PDstandardNth2gt11 = 0; + PDstandardNth22gt11 = origin ? PDstandardNth11gt22 : PDstandardNth1gt11 / xx - 2 * (gt11[index] - gt22[index]) / (xx * xx); + PDstandardNth12gt11 = 0; + PDstandardNth23gt11 = 0; + PDstandardNth2gt12 = origin ? PDstandardNth1gt11 - PDstandardNth1gt22 : (gt11[index] - gt22[index]) / xx; + PDstandardNth22gt12 = 0; + PDstandardNth12gt12 = origin ? (PDstandardNth11gt11 - PDstandardNth11gt22) / 2 : (PDstandardNth1gt11 - PDstandardNth1gt22) / xx - (gt11[index] - gt22[index]) / (xx * xx); + PDstandardNth23gt12 = origin ? PDstandardNth13gt11 - PDstandardNth13gt22 : (PDstandardNth3gt11 - PDstandardNth3gt22) / xx; + PDstandardNth2gt13 = 0; + PDstandardNth22gt13 = origin ? PDstandardNth11gt13 / 2 : PDstandardNth1gt13 / xx - gt13[index] / (xx * xx); + PDstandardNth12gt13 = 0; + PDstandardNth23gt13 = 0; + PDstandardNth2gt22 = 0; + PDstandardNth22gt22 = origin ? PDstandardNth11gt11 : PDstandardNth1gt22 / xx + 2 * (gt11[index] - gt22[index]) / (xx * xx); + PDstandardNth12gt22 = 0; + PDstandardNth23gt22 = 0; + PDstandardNth2gt23 = origin ? PDstandardNth1gt13 : gt13[index] / xx; + PDstandardNth22gt23 = 0; + PDstandardNth12gt23 = origin ? PDstandardNth11gt13 / 2 : PDstandardNth1gt13 / xx - gt13[index] / (xx * xx); + PDstandardNth23gt23 = origin ? PDstandardNth13gt13 : PDstandardNth3gt13 / xx; + PDstandardNth2gt33 = 0; + PDstandardNth22gt33 = origin ? PDstandardNth11gt33 : PDstandardNth1gt33 / xx; + PDstandardNth12gt33 = 0; + PDstandardNth23gt33 = 0; + + PDstandardNth2phi = 0; + PDstandardNth22phi = origin ? PDstandardNth11phi : PDstandardNth1phi / xx; + PDstandardNth12phi = 0; + PDstandardNth23phi = 0; + PDstandardNth2trK = 0; + PDstandardNth2Xt1 = 0; + PDstandardNth2Xt2 = origin ? PDstandardNth1Xt1 : Xt1[index] / xx; + PDstandardNth2Xt3 = 0; + + PDstandardNth2At11 = origin ? -2 * PDstandardNth1At12 : -2 * At12[index] / xx; + PDstandardNth2At12 = origin ? PDstandardNth1At11 - PDstandardNth1At22 : (At11[index] - At22[index]) / xx; + PDstandardNth2At13 = origin ? -PDstandardNth1At23 : - At23[index] / xx; + PDstandardNth2At22 = origin ? 2 * PDstandardNth1At12 : 2 * At12[index] / xx; + PDstandardNth2At23 = origin ? PDstandardNth1At13 : At13[index] / xx; + PDstandardNth2At33 = 0; diff --git a/m/McLachlan_BSSN.m b/m/McLachlan_BSSN.m index 484bae7..168b89d 100644 --- a/m/McLachlan_BSSN.m +++ b/m/McLachlan_BSSN.m @@ -103,10 +103,15 @@ Map [DefineTensor, {normal, tangentA, tangentB, dir, nn, nu, nlen, nlen2, su, vg, xx, rr, th, ph, - admg, admK, admalpha, admdtalpha, admbeta, admdtbeta, H, M, + admg, admK, admalpha, admdtalpha, qmsw, admbeta, admdtbeta, H, M, term1, term2, term3, g, detg, gu, G, R, trR, Km, trK, cdphi, cdphi2, phi, gt, At, Xt, Xtn, Theta, Z, - alpha, A, beta, B, Atm, Atu, trA, Ats, trAts, + (* + alpha, A, + *) + alpha, + beta, B, Atm, Atu, trA, Ats, trAts, + Kdot, Xtdot, phidot, K, Km, dottrK, dotXt, cXt, cS, cA, e4phi, em4phi, ddetg, detgt, gtu, ddetgt, dgtu, ddgtu, Gtl, Gtlu, Gt, Ddetgt, @@ -126,7 +131,7 @@ SetTensorAttribute[cS, TensorWeight, +2 ]; Map [AssertSymmetricIncreasing, {admg[la,lb], admK[la,lb], g[la,lb], K[la,lb], R[la,lb], cdphi2[la,lb], - gt[la,lb], At[la,lb], Ats[la,lb], Rt[la,lb], Rphi[la,lb], T[la,lb]}]; + gt[la,lb], At[la,lb], Ats[la,lb], Rt[la,lb], Rphi[la,lb], T[la,lb], Kdot[la, lb]}]; AssertSymmetricIncreasing [G[ua,lb,lc], lb, lc]; AssertSymmetricIncreasing [Gtl[la,lb,lc], lb, lc]; AssertSymmetricIncreasing [Gt[ua,lb,lc], lb, lc]; @@ -150,6 +155,8 @@ admalpha=alp; admdtalpha=dtalp; admbeta1=betax; admbeta2=betay; admbeta3=betaz; admdtbeta1=dtbetax; admdtbeta2=dtbetay; admdtbeta3=dtbetaz; +qmsw=W; +(*alpha=admalpha;*) (* Use the TmunuBase variable names *) T00=eTtt; @@ -193,13 +200,19 @@ evolvedGroups = SetGroupName [CreateGroupFromTensor [trK ], prefix <> "trace_curv"], SetGroupName [CreateGroupFromTensor [At[la,lb]], prefix <> "curv" ], SetGroupName [CreateGroupFromTensor [alpha ], prefix <> "lapse" ], - SetGroupName [CreateGroupFromTensor [A ], prefix <> "dtlapse" ], +(*SetGroupName [CreateGroupFromTensor [A ], prefix <> "dtlapse" ],*) + SetGroupName [CreateGroupFromTensor [Kdot[la, lb]], prefix <> "Kdot" ], + SetGroupName [CreateGroupFromTensor [Xtdot[ua]], prefix <> "Xtdot" ], + SetGroupName [CreateGroupFromTensor [phidot], prefix <> "phidot" ], SetGroupName [CreateGroupFromTensor [beta[ua] ], prefix <> "shift" ], SetGroupName [CreateGroupFromTensor [B[ua] ], prefix <> "dtshift" ], IfCCZ4[SetGroupName[CreateGroupFromTensor[Theta], prefix <> "Theta"]]}; evaluatedGroups = {SetGroupName [CreateGroupFromTensor [H ], prefix <> "Ham"], SetGroupName [CreateGroupFromTensor [M[la] ], prefix <> "mom"], + SetGroupName [CreateGroupFromTensor [term1 ], prefix <> "term1"], + SetGroupName [CreateGroupFromTensor [term2 ], prefix <> "term2"], + SetGroupName [CreateGroupFromTensor [term3 ], prefix <> "term3"], SetGroupName [CreateGroupFromTensor [cS ], prefix <> "cons_detg"], SetGroupName [CreateGroupFromTensor [cXt[ua]], prefix <> "cons_Gamma"], SetGroupName [CreateGroupFromTensor [cA ], prefix <> "cons_traceA"]}; @@ -217,6 +230,7 @@ extraGroups = {"ADMBase::dtlapse", {dtalp}}, {"ADMBase::shift", {betax, betay, betaz}}, {"ADMBase::dtshift", {dtbetax, dtbetay, dtbetaz}}, + {"QuasiMaximalSlicing::W", { W }}, {"TmunuBase::stress_energy_scalar", {eTtt}}, {"TmunuBase::stress_energy_vector", {eTtx, eTty, eTtz}}, {"TmunuBase::stress_energy_tensor", {eTxx, eTxy, eTxz, eTyy, eTyz, eTzz}} @@ -242,8 +256,8 @@ initialCalc = trK -> 0, At[la,lb] -> 0, Xt[ua] -> 0, - alpha -> 1, - A -> 0, + (*alpha -> 1, + A -> 0,*) beta[ua] -> 0, B[ua] -> 0, IfCCZ4[Theta -> 0] @@ -340,11 +354,11 @@ convertFromADMBaseGammaCalc = *) (* If LapseACoeff=0, then A is not evolved, in the sense that it does not influence the time evolution of other variables. *) - A -> IfThen [LapseACoeff != 0, + (*A -> IfThen [LapseACoeff != 0, 1 / (- harmonicF alpha^harmonicN) (+ admdtalpha - LapseAdvectionCoeff Upwind[beta[ua], alpha, la]), - 0], + 0],*) theta -> thetaExpr, @@ -374,7 +388,7 @@ initGammaCalc = Equations -> { Xt[ua] -> 0, - A -> 0, + (*A -> 0,*) B[ua] -> 0 } }; @@ -429,12 +443,12 @@ convertToADMBaseDtLapseShiftCalc = admdtalpha -> - harmonicF alpha^harmonicN ((1 - LapseAdvectionCoeff) A + LapseAdvectionCoeff trK) + LapseAdvectionCoeff beta[ua] PDu[alpha,la], -*) admdtalpha -> - harmonicF alpha^harmonicN (+ LapseACoeff A + ((1 - LapseACoeff) (trK - IfCCZ4[2 Theta, 0]))) + LapseAdvectionCoeff Upwind[beta[ua], alpha, la], +*) admdtbeta[ua] -> IfThen[harmonicShift, - 1/2 gtu[ua,uj] em4phi alpha (- 2 alpha IfThen[conformalMethod==CMW,1/phi,-2] PD[phi,lj] @@ -469,11 +483,11 @@ convertToADMBaseDtLapseShiftBoundaryCalc = (* admdtalpha -> - harmonicF alpha^harmonicN ((1 - LapseAdvectionCoeff) A + LapseAdvectionCoeff trK), -*) admdtalpha -> - harmonicF alpha^harmonicN (+ LapseACoeff A + ((1 - LapseACoeff) (trK - IfCCZ4[2 Theta, 0]))), +*) admdtbeta[ua] -> IfThen[harmonicShift, 0, (* else *) @@ -506,11 +520,11 @@ convertToADMBaseFakeDtLapseShiftCalc = (* admdtalpha -> - harmonicF alpha^harmonicN ((1 - LapseAdvectionCoeff) A + LapseAdvectionCoeff trK), -*) admdtalpha -> - harmonicF alpha^harmonicN (+ LapseACoeff A + ((1 - LapseACoeff) (trK - IfCCZ4[2 Theta, 0]))), +*) admdtbeta[ua] -> IfThen[harmonicShift, 0, (* else *) @@ -538,11 +552,12 @@ evolCalc = Where -> InteriorNoSync, Shorthands -> {dir[ua], detgt, gtu[ua,ub], - Gt[ua,lb,lc], Gtl[la,lb,lc], Gtlu[la,lb,uc], Xtn[ua], + Gt[ua,lb,lc], Gtl[la,lb,lc], Gtlu[la,lb,uc], G[ua, lb, lc], ddetg[la], Xtn[ua], Rt[la,lb], Rphi[la,lb], R[la,lb], Atm[ua,lb], Atu[ua,ub], e4phi, em4phi, cdphi[la], cdphi2[la,lb], g[la,lb], detg, gu[ua,ub], Ats[la,lb], trAts, eta, theta, + K[la, lb], Km[la, ub], rho, S[la], trS, fac1, fac2, dottrK, dotXt[ua], epsdiss[ua], IfCCZ4[Z[ua]], IfCCZ4[dotTheta], Ddetgt[la]}, Equations -> @@ -567,6 +582,12 @@ evolCalc = g[la,lb] -> e4phi gt[la,lb], detg -> detgExpr, gu[ua,ub] -> em4phi gtu[ua,ub], + ddetg[la] -> 4 detgt e4phi PD[phi,la], + G[ua,lb,lc] -> Gt[ua,lb,lc] + + 1/(2 detg) (+ KD[ua,lb] ddetg[lc] + KD[ua,lc] ddetg[lb] + - (1/3) g[lb,lc] gu[ua,ud] ddetg[ld]), + K[la, lb] -> e4phi At[la, lb] + (1/3) g[la, lb] trK, + Km[la, ub] -> gu[ub, uc] K[la, lc], (* The Z quantities *) (* gr-qc:1106.2254 (2011), eqn. (23) *) @@ -624,6 +645,8 @@ evolCalc = (* PRD 67 084023 (2003), eqn. (16) and (23) *) dot[phi] -> IfThen[conformalMethod==CMW, 1/3 phi, -1/6] (alpha trK - PD[beta[ua],la]), + phidot -> IfThen[conformalMethod==CMW, 1/3 phi, -1/6] + (alpha trK - PD[beta[ua],la]), (* PRD 62, 044034 (2000), eqn. (9) *) (* gr-qc:1106.2254 (2011), eqn. (14) *) @@ -655,6 +678,7 @@ evolCalc = (* Equation (4.28) in Baumgarte & Shapiro (Phys. Rept. 376 (2003) 41-131) *) + addMatter (- 16 Pi alpha gtu[ui,uj] S[lj]), dot[Xt[ui]] -> dotXt[ui], + Xtdot[ui] -> dotXt[ui], (* gr-qc:1106.2254 (2011), eqn. (18) *) IfCCZ4[ @@ -672,17 +696,24 @@ evolCalc = (* gr-qc:1106.2254 (2011), eqn. (17) *) (* Adding the RHS of Theta to K, because K_Z4 = K_BSSN + 2 Theta *) (* Also adding the Z term, as it has to cancel with the one in Theta *) - dottrK -> - em4phi ( gtu[ua,ub] ( PD[alpha,la,lb] + (*dottrK -> - em4phi ( gtu[ua,ub] ( PD[alpha,la,lb] + 2 cdphi[la] PD[alpha,lb] ) - Xtn[ua] PD[alpha,la] ) + alpha (Atm[ua,lb] Atm[ub,la] + (1/3) trK^2) + IfCCZ4[ + 2 dotTheta + 2 PD[alpha,la] Z[ua] + dampk1 (1 - dampk2) alpha Theta, - 0] + 0]*) + term1 -> - em4phi ( gtu[ua,ub] ( PD[alpha,la,lb] + + 2 cdphi[la] PD[alpha,lb] ) + - Xtn[ua] PD[alpha,la] ), + term2 -> + alpha (Atm[ua,lb] Atm[ub,la] + (1/3) trK^2), + term3 -> IfCCZ4[+ 2 dotTheta + 2 PD[alpha,la] Z[ua] + + dampk1 (1 - dampk2) alpha Theta, 0], + dottrK -> term1 + term2 + term3 (* Equation (4.21) in Baumgarte & Shapiro (Phys. Rept. 376 (2003) 41-131) *) + addMatter (4 Pi alpha (rho + trS)), - dot[trK] -> dottrK, + dot[trK] -> KEvolFactor dottrK, (* PRD 62, 044034 (2000), eqn. (12) *) (* TODO: Should we use the Hamiltonian constraint to make Rij tracefree? *) @@ -701,27 +732,8 @@ evolCalc = (* Equation (4.23) in Baumgarte & Shapiro (Phys. Rept. 376 (2003) 41-131) *) + addMatter (- em4phi alpha 8 Pi (T[la,lb] - (1/3) g[la,lb] trS)), + Kdot[la, lb] -> -CD[alpha, la, lb] + alpha (R[la, lb] + trK K[la, lb] - 2 K[la, lc] Km[lb, uc]), - (* dot[alpha] -> - harmonicF alpha^harmonicN trK, *) - (* dot[alpha] -> - harmonicF alpha^harmonicN A + Lie[alpha, beta], *) -(* - dot[alpha] -> - harmonicF alpha^harmonicN ( - (1 - LapseAdvectionCoeff) A + LapseAdvectionCoeff trK) - + LapseAdvectionCoeff beta[ua] PDu[alpha,la], - - - dot[A] -> (1 - LapseAdvectionCoeff) (dottrK - AlphaDriver A), - -*) - dot[alpha] -> - harmonicF alpha^harmonicN - (+ LapseACoeff A - + ((1 - LapseACoeff) - (+ trK - IfCCZ4[2 Theta, 0] - + AlphaDriver (alpha - 1)))), - - dot[A] -> + (LapseACoeff - (+ dottrK - IfCCZ4[2 dotTheta, 0] - - AlphaDriver A)), eta -> etaExpr, theta -> thetaExpr, @@ -750,11 +762,28 @@ evolCalc = } }; +lapseEvolCalc = { + Name -> thorn <> "_lapse_evol", + Schedule -> {"IN " <> thorn <> "_evolCalcGroup"}, + (* + Where -> Interior, + *) + (* Synchronise the RHS grid functions after this routine, so that + the refinement boundaries are set correctly before applying the + radiative boundary conditions. *) + Where -> InteriorNoSync, + Shorthands -> {}, + Equations -> + { + dot[alpha] -> - harmonicF alpha^harmonicN (+ trK - IfCCZ4[2 Theta, 0] + AlphaDriver (alpha - 1)) + WFactor qmsw + } +}; + advectCalc = { Name -> thorn <> "_Advect", Schedule -> {"IN " <> thorn <> "_evolCalcGroup " <> - "AFTER (" <> thorn <> "_RHS1 " <> thorn <> "_RHS2)"}, + "AFTER (" <> thorn <> "_RHS " <> thorn <> "_lapse_evol " <> thorn <> "_RHS1 " <> thorn <> "_RHS2)"}, (* Where -> Interior, *) @@ -781,6 +810,7 @@ advectCalc = dot[At[la,lb]] -> dot[At[la,lb]] + Upwind[beta[uc], At[la,lb], lc], + (* dot[alpha] -> dot[alpha] + LapseAdvectionCoeff Upwind[beta[ua], alpha, la], @@ -788,6 +818,7 @@ advectCalc = + LapseACoeff ( + LapseAdvectionCoeff Upwind[beta[ua], A, la] + (1 - LapseAdvectionCoeff) Upwind[beta[ua], trK, la]), + *) dot[beta[ua]] -> dot[beta[ua]] + ShiftAdvectionCoeff Upwind[beta[ub], beta[ua], lb], @@ -812,9 +843,8 @@ evolCalc1 = PartialCalculation[evolCalc, "1", dot[phi], dot[gt[la,lb]], dot[Xt[ui]], + term1, term2, term3, dot[trK], - dot[alpha], - dot[A], dot[beta[ua]], dot[B[ua]], IfCCZ4[dot[Theta]] @@ -832,7 +862,7 @@ dissCalc = { Name -> thorn <> "_Dissipation", Schedule -> {"IN " <> thorn <> "_evolCalcGroup " <> - "AFTER (" <> thorn <> "_RHS1 " <> thorn <> "_RHS2)"}, + "AFTER (" <> thorn <> "_RHS " <> thorn <> "_RHS1 " <> thorn <> "_RHS2)"}, ConditionalOnKeyword -> {"apply_dissipation", "always"}, Where -> InteriorNoSync, Shorthands -> {epsdiss[ua]}, @@ -842,7 +872,7 @@ dissCalc = Sequence@@Table[ dot[var] -> dot[var] + epsdiss[ux] PDdiss[var,lx], {var, {phi, gt[la,lb], Xt[ui], IfCCZ4[Theta], trK, At[la,lb], - alpha, A, beta[ua], B[ua]}}] + (*alpha, A,*) beta[ua], B[ua]}}] } }; @@ -851,7 +881,7 @@ Table[ { Name -> thorn <> "_Dissipation_" <> ToString[var /. {Tensor[n_,__] -> n}], Schedule -> {"IN " <> thorn <> "_evolCalcGroup " <> - "AFTER (" <> thorn <> "_RHS1 " <> thorn <> "_RHS2)"}, + "AFTER (" <> thorn <> "_RHS " <> thorn <> "_RHS1 " <> thorn <> "_RHS2)"}, ConditionalOnKeyword -> {"apply_dissipation", "always"}, Where -> InteriorNoSync, Shorthands -> {epsdiss[ua]}, @@ -862,7 +892,7 @@ Table[ } }, {var, {phi, gt[la,lb], Xt[ui], IfCCZ4[Theta], trK, At[la,lb], - alpha, A, beta[ua], B[ua]}} + (*alpha, A,*) beta[ua], B[ua]}} ]; RHSStaticBoundaryCalc = @@ -878,8 +908,8 @@ RHSStaticBoundaryCalc = dot[trK] -> 0, dot[At[la,lb]] -> 0, dot[Xt[ua]] -> 0, - dot[alpha] -> 0, - dot[A] -> 0, + (*dot[alpha] -> 0, + dot[A] -> 0,*) dot[beta[ua]] -> 0, dot[B[ua]] -> 0, IfCCZ4[dot[Theta] -> 0] @@ -901,8 +931,8 @@ initRHSCalc = dot[trK] -> 0, dot[At[la,lb]] -> 0, dot[Xt[ua]] -> 0, - dot[alpha] -> 0, - dot[A] -> 0, + (*dot[alpha] -> 0, + dot[A] -> 0,*) dot[beta[ua]] -> 0, dot[B[ua]] -> 0, IfCCZ4[dot[Theta] -> 0] @@ -941,8 +971,8 @@ RHSRadiativeBoundaryCalc = dot[trK] -> - vg su[uc] PDo[trK ,lc], dot[At[la,lb]] -> - su[uc] PDo[At[la,lb],lc], dot[Xt[ua]] -> - su[uc] PDo[Xt[ua] ,lc], - dot[alpha] -> - vg su[uc] PDo[alpha ,lc], - dot[A] -> - vg su[uc] PDo[A ,lc], + (*dot[alpha] -> - vg su[uc] PDo[alpha ,lc], + dot[A] -> - vg su[uc] PDo[A ,lc],*) dot[beta[ua]] -> - su[uc] PDo[beta[ua] ,lc], dot[B[ua]] -> - su[uc] PDo[B[ua] ,lc], IfCCZ4[ @@ -972,9 +1002,9 @@ enforceCalc = trAt -> gtu[ua,ub] At[la,lb], - At[la,lb] -> At[la,lb] - (1/3) gt[la,lb] trAt, + At[la,lb] -> At[la,lb] - (1/3) gt[la,lb] trAt(*, - alpha -> Max[alpha, MinimumLapse] + alpha -> Max[alpha, MinimumLapse]*) } }; @@ -995,8 +1025,8 @@ boundaryCalc = trK -> 0, At[la,lb] -> 0, Xt[ua] -> 0, - alpha -> 1, - A -> 0, + (*alpha -> 1, + A -> 0,*) beta[ua] -> 0, B[ua] -> 0, IfCCZ4[Theta -> 0] @@ -1167,7 +1197,7 @@ constraintsCalc2 = PartialCalculation[constraintsCalc, "2", (******************************************************************************) inheritedImplementations = - Join[{"ADMBase"}, + Join[{"ADMBase", "QuasiMaximalSlicing"}, If [addMatter!=0, {"TmunuBase"}, {}]]; (******************************************************************************) @@ -1328,6 +1358,10 @@ realParameters = Default -> 0 }, { + Name -> RDriver, + Default -> 1 + }, + { Name -> ShiftBCoeff, Description -> "Whether to evolve B^i in time", Default -> 1 @@ -1341,6 +1375,10 @@ realParameters = Default -> 0 }, { + Name -> WFactor, + Default -> 1 + }, + { Name -> LapseAdvectionCoeff, Description -> "Factor in front of the lapse advection terms in 1+log", Default -> 1 @@ -1372,6 +1410,12 @@ realParameters = Description -> "Dissipation strength", AllowedValues -> {{Value -> "(0:*", Description -> "Positive"}}, Default -> 0 + }, + { + Name -> KEvolFactor, + Description -> "", + AllowedValues -> {{Value -> "(0:*", Description -> "Positive"}}, + Default -> 0 } }; @@ -1386,8 +1430,9 @@ Join[ convertFromADMBaseCalc, initGammaCalc, convertFromADMBaseGammaCalc, - (* evolCalc, *) - evolCalc1, evolCalc2, + evolCalc, + (*evolCalc1, evolCalc2,*) + lapseEvolCalc, dissCalc, advectCalc, initRHSCalc, @@ -1400,8 +1445,8 @@ Join[ convertToADMBaseDtLapseShiftCalc, convertToADMBaseDtLapseShiftBoundaryCalc, convertToADMBaseFakeDtLapseShiftCalc, - (* constraintsCalc, *) - constraintsCalc1, constraintsCalc2 + constraintsCalc + (*constraintsCalc1, constraintsCalc2*) }, {} (*dissCalcs*) ]; @@ -1449,4 +1494,4 @@ createCode[4, False, True , 3, 1, "BSSN"]; (* createCode[8, False, True , 3, 1, "BSSN"]; *) (* createCode[8, True , True , 3, 1, "BSSN"]; *) -createCode[4, False, True , 3, 1, "CCZ4"]; +(*createCode[4, False, True , 3, 1, "CCZ4"];*) |