diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2010-10-11 20:32:55 -0500 |
---|---|---|
committer | Erik Schnetter <schnetter@cct.lsu.edu> | 2010-10-11 20:32:55 -0500 |
commit | 8e1f20f46f07170786de75fae15ffee82149dfcf (patch) | |
tree | 0992b207543c7499241e61b121413f7e7e529ced /ML_BSSN_MP | |
parent | 15d57eb888fdcd68b873b02b0468e5508a02c581 (diff) |
Regenerate code
Diffstat (limited to 'ML_BSSN_MP')
-rw-r--r-- | ML_BSSN_MP/interface.ccl | 28 | ||||
-rw-r--r-- | ML_BSSN_MP/schedule.ccl | 2 | ||||
-rw-r--r-- | ML_BSSN_MP/src/ML_BSSN_MP_RHS1.c | 273 | ||||
-rw-r--r-- | ML_BSSN_MP/src/ML_BSSN_MP_RHS2.c | 228 | ||||
-rw-r--r-- | ML_BSSN_MP/src/ML_BSSN_MP_RHSRadiativeBoundary.c | 54 | ||||
-rw-r--r-- | ML_BSSN_MP/src/ML_BSSN_MP_RHSStaticBoundary.c | 36 | ||||
-rw-r--r-- | ML_BSSN_MP/src/ML_BSSN_MP_boundary.c | 36 | ||||
-rw-r--r-- | ML_BSSN_MP/src/ML_BSSN_MP_constraints.c | 449 | ||||
-rw-r--r-- | ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c | 24 | ||||
-rw-r--r-- | ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c | 8 | ||||
-rw-r--r-- | ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c | 140 | ||||
-rw-r--r-- | ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseDtLapseShift.c | 15 | ||||
-rw-r--r-- | ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary.c | 15 | ||||
-rw-r--r-- | ML_BSSN_MP/src/ML_BSSN_MP_enforce.c | 10 |
14 files changed, 783 insertions, 535 deletions
diff --git a/ML_BSSN_MP/interface.ccl b/ML_BSSN_MP/interface.ccl index 827935d..72c0c57 100644 --- a/ML_BSSN_MP/interface.ccl +++ b/ML_BSSN_MP/interface.ccl @@ -25,7 +25,7 @@ CCTK_INT FUNCTION Boundary_SelectVarForBC(CCTK_POINTER_TO_CONST IN GH, CCTK_INT USES FUNCTION Boundary_SelectVarForBC public: -CCTK_REAL ML_cons_detg type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=2.0000000000000000000' +CCTK_REAL ML_cons_detg type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=2' { cS } "ML_cons_detg" @@ -39,19 +39,19 @@ CCTK_REAL ML_cons_Gamma type=GF timelevels=1 tags='tensortypealias="U" tensorwei } "ML_cons_Gamma" public: -CCTK_REAL ML_cons_traceA type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +CCTK_REAL ML_cons_traceA type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1' { cA } "ML_cons_traceA" public: -CCTK_REAL ML_Ham type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +CCTK_REAL ML_Ham type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1' { H } "ML_Ham" public: -CCTK_REAL ML_mom type=GF timelevels=1 tags='tensortypealias="D" tensorweight=1.0000000000000000000' +CCTK_REAL ML_mom type=GF timelevels=1 tags='tensortypealias="D" tensorweight=1' { M1, M2, @@ -70,13 +70,13 @@ CCTK_REAL ML_curv type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorweig } "ML_curv" public: -CCTK_REAL ML_dtlapse type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +CCTK_REAL ML_dtlapse type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1' { A } "ML_dtlapse" public: -CCTK_REAL ML_dtshift type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +CCTK_REAL ML_dtshift type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1' { B1, B2, @@ -92,7 +92,7 @@ CCTK_REAL ML_Gamma type=GF timelevels=3 tags='tensortypealias="U" tensorweight=0 } "ML_Gamma" public: -CCTK_REAL ML_lapse type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +CCTK_REAL ML_lapse type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1' { alpha } "ML_lapse" @@ -115,7 +115,7 @@ CCTK_REAL ML_metric type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorwe } "ML_metric" public: -CCTK_REAL ML_shift type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +CCTK_REAL ML_shift type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1' { beta1, beta2, @@ -123,7 +123,7 @@ CCTK_REAL ML_shift type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1 } "ML_shift" public: -CCTK_REAL ML_trace_curv type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +CCTK_REAL ML_trace_curv type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1' { trK } "ML_trace_curv" @@ -140,13 +140,13 @@ 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=1.0000000000000000000' +CCTK_REAL ML_dtlapserhs type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1' { Arhs } "ML_dtlapserhs" public: -CCTK_REAL ML_dtshiftrhs type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +CCTK_REAL ML_dtshiftrhs type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1' { B1rhs, B2rhs, @@ -162,7 +162,7 @@ CCTK_REAL ML_Gammarhs type=GF timelevels=3 tags='tensortypealias="U" tensorweigh } "ML_Gammarhs" public: -CCTK_REAL ML_lapserhs type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +CCTK_REAL ML_lapserhs type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1' { alpharhs } "ML_lapserhs" @@ -185,7 +185,7 @@ CCTK_REAL ML_metricrhs type=GF timelevels=3 tags='tensortypealias="DD_sym" tenso } "ML_metricrhs" public: -CCTK_REAL ML_shiftrhs type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +CCTK_REAL ML_shiftrhs type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1' { beta1rhs, beta2rhs, @@ -193,7 +193,7 @@ CCTK_REAL ML_shiftrhs type=GF timelevels=3 tags='tensortypealias="U" tensorweigh } "ML_shiftrhs" public: -CCTK_REAL ML_trace_curvrhs type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +CCTK_REAL ML_trace_curvrhs type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1' { trKrhs } "ML_trace_curvrhs" diff --git a/ML_BSSN_MP/schedule.ccl b/ML_BSSN_MP/schedule.ccl index c153a18..4faaa53 100644 --- a/ML_BSSN_MP/schedule.ccl +++ b/ML_BSSN_MP/schedule.ccl @@ -405,7 +405,7 @@ schedule ML_BSSN_MP_CheckBoundaries at BASEGRID OPTIONS: meta } "check boundaries treatment" -schedule group ApplyBCs as ML_BSSN_MP_ApplyBCs in MoL_PostStep after ML_BSSN_MP_SelectBoundConds +schedule group ApplyBCs as ML_BSSN_MP_ApplyBCs in MoL_PostStep after ML_BSSN_MP_SelectBoundConds { # no language specified } "Apply boundary conditions controlled by thorn Boundary" diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_RHS1.c b/ML_BSSN_MP/src/ML_BSSN_MP_RHS1.c index 98e1c02..d78a874 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_RHS1.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_RHS1.c @@ -20,6 +20,39 @@ #define CUB(x) ((x) * (x) * (x)) #define QAD(x) ((x) * (x) * (x) * (x)) +void ML_BSSN_MP_RHS1_SelectBCs(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + CCTK_INT ierr = 0; + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_dtlapserhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_dtlapserhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_dtshiftrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_dtshiftrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_Gammarhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_Gammarhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_lapserhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_lapserhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_log_confacrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_log_confacrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_metricrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_metricrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_shiftrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_shiftrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_trace_curvrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_trace_curvrhs."); + return; +} + void ML_BSSN_MP_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) { DECLARE_CCTK_ARGUMENTS; @@ -637,13 +670,13 @@ void ML_BSSN_MP_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int CCTK_REAL gtu11 = INV(detgt)*(gt22L*gt33L - SQR(gt23L)); - CCTK_REAL gtu21 = (gt13L*gt23L - gt12L*gt33L)*INV(detgt); + CCTK_REAL gtu12 = (gt13L*gt23L - gt12L*gt33L)*INV(detgt); - CCTK_REAL gtu31 = (-(gt13L*gt22L) + gt12L*gt23L)*INV(detgt); + CCTK_REAL gtu13 = (-(gt13L*gt22L) + gt12L*gt23L)*INV(detgt); CCTK_REAL gtu22 = INV(detgt)*(gt11L*gt33L - SQR(gt13L)); - CCTK_REAL gtu32 = (gt12L*gt13L - gt11L*gt23L)*INV(detgt); + CCTK_REAL gtu23 = (gt12L*gt13L - gt11L*gt23L)*INV(detgt); CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); @@ -722,50 +755,50 @@ void ML_BSSN_MP_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int CCTK_REAL Gtl333 = khalf*(J13L*PDstandardNth1gt33 + J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33); - CCTK_REAL Gt111 = Gtl111*gtu11 + Gtl211*gtu21 + Gtl311*gtu31; + CCTK_REAL Gt111 = Gtl111*gtu11 + Gtl211*gtu12 + Gtl311*gtu13; - CCTK_REAL Gt211 = Gtl111*gtu21 + Gtl211*gtu22 + Gtl311*gtu32; + CCTK_REAL Gt211 = Gtl111*gtu12 + Gtl211*gtu22 + Gtl311*gtu23; - CCTK_REAL Gt311 = Gtl111*gtu31 + Gtl211*gtu32 + Gtl311*gtu33; + CCTK_REAL Gt311 = Gtl111*gtu13 + Gtl211*gtu23 + Gtl311*gtu33; - CCTK_REAL Gt112 = Gtl112*gtu11 + Gtl212*gtu21 + Gtl312*gtu31; + CCTK_REAL Gt112 = Gtl112*gtu11 + Gtl212*gtu12 + Gtl312*gtu13; - CCTK_REAL Gt212 = Gtl112*gtu21 + Gtl212*gtu22 + Gtl312*gtu32; + CCTK_REAL Gt212 = Gtl112*gtu12 + Gtl212*gtu22 + Gtl312*gtu23; - CCTK_REAL Gt312 = Gtl112*gtu31 + Gtl212*gtu32 + Gtl312*gtu33; + CCTK_REAL Gt312 = Gtl112*gtu13 + Gtl212*gtu23 + Gtl312*gtu33; - CCTK_REAL Gt113 = Gtl113*gtu11 + Gtl213*gtu21 + Gtl313*gtu31; + CCTK_REAL Gt113 = Gtl113*gtu11 + Gtl213*gtu12 + Gtl313*gtu13; - CCTK_REAL Gt213 = Gtl113*gtu21 + Gtl213*gtu22 + Gtl313*gtu32; + CCTK_REAL Gt213 = Gtl113*gtu12 + Gtl213*gtu22 + Gtl313*gtu23; - CCTK_REAL Gt313 = Gtl113*gtu31 + Gtl213*gtu32 + Gtl313*gtu33; + CCTK_REAL Gt313 = Gtl113*gtu13 + Gtl213*gtu23 + Gtl313*gtu33; - CCTK_REAL Gt122 = Gtl122*gtu11 + Gtl222*gtu21 + Gtl322*gtu31; + CCTK_REAL Gt122 = Gtl122*gtu11 + Gtl222*gtu12 + Gtl322*gtu13; - CCTK_REAL Gt222 = Gtl122*gtu21 + Gtl222*gtu22 + Gtl322*gtu32; + CCTK_REAL Gt222 = Gtl122*gtu12 + Gtl222*gtu22 + Gtl322*gtu23; - CCTK_REAL Gt322 = Gtl122*gtu31 + Gtl222*gtu32 + Gtl322*gtu33; + CCTK_REAL Gt322 = Gtl122*gtu13 + Gtl222*gtu23 + Gtl322*gtu33; - CCTK_REAL Gt123 = Gtl123*gtu11 + Gtl223*gtu21 + Gtl323*gtu31; + CCTK_REAL Gt123 = Gtl123*gtu11 + Gtl223*gtu12 + Gtl323*gtu13; - CCTK_REAL Gt223 = Gtl123*gtu21 + Gtl223*gtu22 + Gtl323*gtu32; + CCTK_REAL Gt223 = Gtl123*gtu12 + Gtl223*gtu22 + Gtl323*gtu23; - CCTK_REAL Gt323 = Gtl123*gtu31 + Gtl223*gtu32 + Gtl323*gtu33; + CCTK_REAL Gt323 = Gtl123*gtu13 + Gtl223*gtu23 + Gtl323*gtu33; - CCTK_REAL Gt133 = Gtl133*gtu11 + Gtl233*gtu21 + Gtl333*gtu31; + CCTK_REAL Gt133 = Gtl133*gtu11 + Gtl233*gtu12 + Gtl333*gtu13; - CCTK_REAL Gt233 = Gtl133*gtu21 + Gtl233*gtu22 + Gtl333*gtu32; + CCTK_REAL Gt233 = Gtl133*gtu12 + Gtl233*gtu22 + Gtl333*gtu23; - CCTK_REAL Gt333 = Gtl133*gtu31 + Gtl233*gtu32 + Gtl333*gtu33; + CCTK_REAL Gt333 = Gtl133*gtu13 + Gtl233*gtu23 + Gtl333*gtu33; - CCTK_REAL Xtn1 = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu21 + - Gt113*gtu31 + Gt123*gtu32) + Gt133*gtu33; + CCTK_REAL Xtn1 = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + + Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33; - CCTK_REAL Xtn2 = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu21 + - Gt213*gtu31 + Gt223*gtu32) + Gt233*gtu33; + CCTK_REAL Xtn2 = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + + Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33; - CCTK_REAL Xtn3 = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu21 + - Gt313*gtu31 + Gt323*gtu32) + Gt333*gtu33; + CCTK_REAL Xtn3 = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + + Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33; CCTK_REAL fac1 = IfThen(conformalMethod,-(khalf*INV(phiL)),1); @@ -778,35 +811,35 @@ void ML_BSSN_MP_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int CCTK_REAL cdphi3 = fac1*(J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi); - CCTK_REAL Atm11 = At11L*gtu11 + At12L*gtu21 + At13L*gtu31; + CCTK_REAL Atm11 = At11L*gtu11 + At12L*gtu12 + At13L*gtu13; - CCTK_REAL Atm21 = At11L*gtu21 + At12L*gtu22 + At13L*gtu32; + CCTK_REAL Atm21 = At11L*gtu12 + At12L*gtu22 + At13L*gtu23; - CCTK_REAL Atm31 = At11L*gtu31 + At12L*gtu32 + At13L*gtu33; + CCTK_REAL Atm31 = At11L*gtu13 + At12L*gtu23 + At13L*gtu33; - CCTK_REAL Atm12 = At12L*gtu11 + At22L*gtu21 + At23L*gtu31; + CCTK_REAL Atm12 = At12L*gtu11 + At22L*gtu12 + At23L*gtu13; - CCTK_REAL Atm22 = At12L*gtu21 + At22L*gtu22 + At23L*gtu32; + CCTK_REAL Atm22 = At12L*gtu12 + At22L*gtu22 + At23L*gtu23; - CCTK_REAL Atm32 = At12L*gtu31 + At22L*gtu32 + At23L*gtu33; + CCTK_REAL Atm32 = At12L*gtu13 + At22L*gtu23 + At23L*gtu33; - CCTK_REAL Atm13 = At13L*gtu11 + At23L*gtu21 + At33L*gtu31; + CCTK_REAL Atm13 = At13L*gtu11 + At23L*gtu12 + At33L*gtu13; - CCTK_REAL Atm23 = At13L*gtu21 + At23L*gtu22 + At33L*gtu32; + CCTK_REAL Atm23 = At13L*gtu12 + At23L*gtu22 + At33L*gtu23; - CCTK_REAL Atm33 = At13L*gtu31 + At23L*gtu32 + At33L*gtu33; + CCTK_REAL Atm33 = At13L*gtu13 + At23L*gtu23 + At33L*gtu33; - CCTK_REAL Atu11 = Atm11*gtu11 + Atm12*gtu21 + Atm13*gtu31; + CCTK_REAL Atu11 = Atm11*gtu11 + Atm12*gtu12 + Atm13*gtu13; - CCTK_REAL Atu21 = Atm11*gtu21 + Atm12*gtu22 + Atm13*gtu32; + CCTK_REAL Atu12 = Atm11*gtu12 + Atm12*gtu22 + Atm13*gtu23; - CCTK_REAL Atu31 = Atm11*gtu31 + Atm12*gtu32 + Atm13*gtu33; + CCTK_REAL Atu13 = Atm11*gtu13 + Atm12*gtu23 + Atm13*gtu33; - CCTK_REAL Atu22 = Atm21*gtu21 + Atm22*gtu22 + Atm23*gtu32; + CCTK_REAL Atu22 = Atm21*gtu12 + Atm22*gtu22 + Atm23*gtu23; - CCTK_REAL Atu32 = Atm21*gtu31 + Atm22*gtu32 + Atm23*gtu33; + CCTK_REAL Atu23 = Atm21*gtu13 + Atm22*gtu23 + Atm23*gtu33; - CCTK_REAL Atu33 = Atm31*gtu31 + Atm32*gtu32 + Atm33*gtu33; + CCTK_REAL Atu33 = Atm31*gtu13 + Atm32*gtu23 + Atm33*gtu33; CCTK_REAL e4phi = IfThen(conformalMethod,pow(phiL,-2),exp(4*phiL)); @@ -826,8 +859,8 @@ void ML_BSSN_MP_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int CCTK_REAL S3 = (-eTtzL + beta1L*eTxzL + beta2L*eTyzL + beta3L*eTzzL)*INV(alphaL); - CCTK_REAL trS = em4phi*(eTxxL*gtu11 + eTyyL*gtu22 + 2*(eTxyL*gtu21 + - eTxzL*gtu31 + eTyzL*gtu32) + eTzzL*gtu33); + CCTK_REAL trS = em4phi*(eTxxL*gtu11 + eTyyL*gtu22 + 2*(eTxyL*gtu12 + + eTxzL*gtu13 + eTyzL*gtu23) + eTzzL*gtu33); CCTK_REAL phirhsL = (epsdiss1*J11L + epsdiss2*J12L + epsdiss3*J13L)*PDdissipationNth1phi + (epsdiss1*J21L + epsdiss2*J22L + @@ -994,39 +1027,39 @@ void ML_BSSN_MP_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int CCTK_REAL dotXt1 = (epsdiss1*J11L + epsdiss2*J12L + epsdiss3*J13L)*PDdissipationNth1Xt1 + (epsdiss1*J21L + epsdiss2*J22L + epsdiss3*J23L)*PDdissipationNth2Xt1 + (epsdiss1*J31L + epsdiss2*J32L + - epsdiss3*J33L)*PDdissipationNth3Xt1 - 2*((Atu11*J11L + Atu21*J12L + - Atu31*J13L)*PDstandardNth1alpha + (Atu11*J21L + Atu21*J22L + - Atu31*J23L)*PDstandardNth2alpha + (Atu11*J31L + Atu21*J32L + - Atu31*J33L)*PDstandardNth3alpha) + - 2*(gtu21*(J11L*J12L*PDstandardNth11beta1 + + epsdiss3*J33L)*PDdissipationNth3Xt1 - 2*((Atu11*J11L + Atu12*J12L + + Atu13*J13L)*PDstandardNth1alpha + (Atu11*J21L + Atu12*J22L + + Atu13*J23L)*PDstandardNth2alpha + (Atu11*J31L + Atu12*J32L + + Atu13*J33L)*PDstandardNth3alpha) + + 2*(gtu12*(J11L*J12L*PDstandardNth11beta1 + J12L*J21L*PDstandardNth12beta1 + J11L*J22L*PDstandardNth12beta1 + J12L*J31L*PDstandardNth13beta1 + J11L*J32L*PDstandardNth13beta1 + dJ112L*PDstandardNth1beta1 + J21L*J22L*PDstandardNth22beta1 + J22L*J31L*PDstandardNth23beta1 + J21L*J32L*PDstandardNth23beta1 + dJ212L*PDstandardNth2beta1 + J31L*J32L*PDstandardNth33beta1 + - dJ312L*PDstandardNth3beta1) + gtu31*(J11L*J13L*PDstandardNth11beta1 + + dJ312L*PDstandardNth3beta1) + gtu13*(J11L*J13L*PDstandardNth11beta1 + J13L*J21L*PDstandardNth12beta1 + J11L*J23L*PDstandardNth12beta1 + J13L*J31L*PDstandardNth13beta1 + J11L*J33L*PDstandardNth13beta1 + dJ113L*PDstandardNth1beta1 + J21L*J23L*PDstandardNth22beta1 + J23L*J31L*PDstandardNth23beta1 + J21L*J33L*PDstandardNth23beta1 + dJ213L*PDstandardNth2beta1 + J31L*J33L*PDstandardNth33beta1 + - dJ313L*PDstandardNth3beta1) + gtu32*(J12L*J13L*PDstandardNth11beta1 + + dJ313L*PDstandardNth3beta1) + gtu23*(J12L*J13L*PDstandardNth11beta1 + J13L*J22L*PDstandardNth12beta1 + J12L*J23L*PDstandardNth12beta1 + J13L*J32L*PDstandardNth13beta1 + J12L*J33L*PDstandardNth13beta1 + dJ123L*PDstandardNth1beta1 + J22L*J23L*PDstandardNth22beta1 + J23L*J32L*PDstandardNth23beta1 + J22L*J33L*PDstandardNth23beta1 + dJ223L*PDstandardNth2beta1 + J32L*J33L*PDstandardNth33beta1 + - dJ323L*PDstandardNth3beta1) + alphaL*(6*(Atu11*cdphi1 + Atu21*cdphi2 + - Atu31*cdphi3) + Atu11*Gt111 + 2*Atu21*Gt112 + 2*Atu31*Gt113 + - Atu22*Gt122 + 2*Atu32*Gt123 + Atu33*Gt133 - ktwothird*((gtu11*J11L + - gtu21*J12L + gtu31*J13L)*PDstandardNth1trK + (gtu11*J21L + gtu21*J22L + - gtu31*J23L)*PDstandardNth2trK + (gtu11*J31L + gtu21*J32L + - gtu31*J33L)*PDstandardNth3trK))) + (beta1L*J11L + beta2L*J12L + + dJ323L*PDstandardNth3beta1) + alphaL*(6*(Atu11*cdphi1 + Atu12*cdphi2 + + Atu13*cdphi3) + Atu11*Gt111 + 2*Atu12*Gt112 + 2*Atu13*Gt113 + + Atu22*Gt122 + 2*Atu23*Gt123 + Atu33*Gt133 - ktwothird*((gtu11*J11L + + gtu12*J12L + gtu13*J13L)*PDstandardNth1trK + (gtu11*J21L + gtu12*J22L + + gtu13*J23L)*PDstandardNth2trK + (gtu11*J31L + gtu12*J32L + + gtu13*J33L)*PDstandardNth3trK))) + (beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1Xt1 + (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2Xt1 + (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3Xt1 - - 50.26548245743669181540229413247204614715*alphaL*(gtu11*S1 + gtu21*S2 + - gtu31*S3) + ktwothird*(J11L*PDstandardNth1beta1 + + 50.26548245743669181540229413247204614715*alphaL*(gtu11*S1 + gtu12*S2 + + gtu13*S3) + ktwothird*(J11L*PDstandardNth1beta1 + J12L*PDstandardNth1beta2 + J13L*PDstandardNth1beta3 + J21L*PDstandardNth2beta1 + J22L*PDstandardNth2beta2 + J23L*PDstandardNth2beta3 + J31L*PDstandardNth3beta1 + @@ -1071,7 +1104,7 @@ void ML_BSSN_MP_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int dJ311L*PDstandardNth3beta1 + dJ312L*PDstandardNth3beta2 + dJ313L*PDstandardNth3beta3 + PDstandardNth11beta1*SQR(J11L) + PDstandardNth22beta1*SQR(J21L) + PDstandardNth33beta1*SQR(J31L)) + - gtu21*(J11L*J12L*PDstandardNth11beta1 + J12L*J13L*PDstandardNth11beta3 + gtu12*(J11L*J12L*PDstandardNth11beta1 + J12L*J13L*PDstandardNth11beta3 + J12L*J21L*PDstandardNth12beta1 + J11L*J22L*PDstandardNth12beta1 + 2*J12L*J22L*PDstandardNth12beta2 + J13L*J22L*PDstandardNth12beta3 + J12L*J23L*PDstandardNth12beta3 + J12L*J31L*PDstandardNth13beta1 + @@ -1087,7 +1120,7 @@ void ML_BSSN_MP_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int J32L*J33L*PDstandardNth33beta3 + dJ312L*PDstandardNth3beta1 + dJ322L*PDstandardNth3beta2 + dJ323L*PDstandardNth3beta3 + PDstandardNth11beta2*SQR(J12L) + PDstandardNth22beta2*SQR(J22L) + - PDstandardNth33beta2*SQR(J32L)) + gtu31*(J11L*J13L*PDstandardNth11beta1 + PDstandardNth33beta2*SQR(J32L)) + gtu13*(J11L*J13L*PDstandardNth11beta1 + J12L*J13L*PDstandardNth11beta2 + J13L*J21L*PDstandardNth12beta1 + J11L*J23L*PDstandardNth12beta1 + J13L*J22L*PDstandardNth12beta2 + J12L*J23L*PDstandardNth12beta2 + 2*J13L*J23L*PDstandardNth12beta3 + @@ -1108,39 +1141,39 @@ void ML_BSSN_MP_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int CCTK_REAL dotXt2 = (epsdiss1*J11L + epsdiss2*J12L + epsdiss3*J13L)*PDdissipationNth1Xt2 + (epsdiss1*J21L + epsdiss2*J22L + epsdiss3*J23L)*PDdissipationNth2Xt2 + (epsdiss1*J31L + epsdiss2*J32L + - epsdiss3*J33L)*PDdissipationNth3Xt2 - 2*((Atu21*J11L + Atu22*J12L + - Atu32*J13L)*PDstandardNth1alpha + (Atu21*J21L + Atu22*J22L + - Atu32*J23L)*PDstandardNth2alpha + (Atu21*J31L + Atu22*J32L + - Atu32*J33L)*PDstandardNth3alpha) + - 2*(gtu21*(J11L*J12L*PDstandardNth11beta2 + + epsdiss3*J33L)*PDdissipationNth3Xt2 - 2*((Atu12*J11L + Atu22*J12L + + Atu23*J13L)*PDstandardNth1alpha + (Atu12*J21L + Atu22*J22L + + Atu23*J23L)*PDstandardNth2alpha + (Atu12*J31L + Atu22*J32L + + Atu23*J33L)*PDstandardNth3alpha) + + 2*(gtu12*(J11L*J12L*PDstandardNth11beta2 + J12L*J21L*PDstandardNth12beta2 + J11L*J22L*PDstandardNth12beta2 + J12L*J31L*PDstandardNth13beta2 + J11L*J32L*PDstandardNth13beta2 + dJ112L*PDstandardNth1beta2 + J21L*J22L*PDstandardNth22beta2 + J22L*J31L*PDstandardNth23beta2 + J21L*J32L*PDstandardNth23beta2 + dJ212L*PDstandardNth2beta2 + J31L*J32L*PDstandardNth33beta2 + - dJ312L*PDstandardNth3beta2) + gtu31*(J11L*J13L*PDstandardNth11beta2 + + dJ312L*PDstandardNth3beta2) + gtu13*(J11L*J13L*PDstandardNth11beta2 + J13L*J21L*PDstandardNth12beta2 + J11L*J23L*PDstandardNth12beta2 + J13L*J31L*PDstandardNth13beta2 + J11L*J33L*PDstandardNth13beta2 + dJ113L*PDstandardNth1beta2 + J21L*J23L*PDstandardNth22beta2 + J23L*J31L*PDstandardNth23beta2 + J21L*J33L*PDstandardNth23beta2 + dJ213L*PDstandardNth2beta2 + J31L*J33L*PDstandardNth33beta2 + - dJ313L*PDstandardNth3beta2) + gtu32*(J12L*J13L*PDstandardNth11beta2 + + dJ313L*PDstandardNth3beta2) + gtu23*(J12L*J13L*PDstandardNth11beta2 + J13L*J22L*PDstandardNth12beta2 + J12L*J23L*PDstandardNth12beta2 + J13L*J32L*PDstandardNth13beta2 + J12L*J33L*PDstandardNth13beta2 + dJ123L*PDstandardNth1beta2 + J22L*J23L*PDstandardNth22beta2 + J23L*J32L*PDstandardNth23beta2 + J22L*J33L*PDstandardNth23beta2 + dJ223L*PDstandardNth2beta2 + J32L*J33L*PDstandardNth33beta2 + - dJ323L*PDstandardNth3beta2) + alphaL*(6*(Atu21*cdphi1 + Atu22*cdphi2 + - Atu32*cdphi3) + Atu11*Gt211 + 2*Atu21*Gt212 + 2*Atu31*Gt213 + - Atu22*Gt222 + 2*Atu32*Gt223 + Atu33*Gt233 - ktwothird*((gtu21*J11L + - gtu22*J12L + gtu32*J13L)*PDstandardNth1trK + (gtu21*J21L + gtu22*J22L + - gtu32*J23L)*PDstandardNth2trK + (gtu21*J31L + gtu22*J32L + - gtu32*J33L)*PDstandardNth3trK))) + (beta1L*J11L + beta2L*J12L + + dJ323L*PDstandardNth3beta2) + alphaL*(6*(Atu12*cdphi1 + Atu22*cdphi2 + + Atu23*cdphi3) + Atu11*Gt211 + 2*Atu12*Gt212 + 2*Atu13*Gt213 + + Atu22*Gt222 + 2*Atu23*Gt223 + Atu33*Gt233 - ktwothird*((gtu12*J11L + + gtu22*J12L + gtu23*J13L)*PDstandardNth1trK + (gtu12*J21L + gtu22*J22L + + gtu23*J23L)*PDstandardNth2trK + (gtu12*J31L + gtu22*J32L + + gtu23*J33L)*PDstandardNth3trK))) + (beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1Xt2 + (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2Xt2 + (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3Xt2 - - 50.26548245743669181540229413247204614715*alphaL*(gtu21*S1 + gtu22*S2 + - gtu32*S3) + ktwothird*(J11L*PDstandardNth1beta1 + + 50.26548245743669181540229413247204614715*alphaL*(gtu12*S1 + gtu22*S2 + + gtu23*S3) + ktwothird*(J11L*PDstandardNth1beta1 + J12L*PDstandardNth1beta2 + J13L*PDstandardNth1beta3 + J21L*PDstandardNth2beta1 + J22L*PDstandardNth2beta2 + J23L*PDstandardNth2beta3 + J31L*PDstandardNth3beta1 + @@ -1168,7 +1201,7 @@ void ML_BSSN_MP_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int 2*J23L*J33L*PDstandardNth23beta2 + dJ233L*PDstandardNth2beta2 + dJ333L*PDstandardNth3beta2 + PDstandardNth11beta2*SQR(J13L) + PDstandardNth22beta2*SQR(J23L) + PDstandardNth33beta2*SQR(J33L)) + - kthird*(gtu21*(J11L*J12L*PDstandardNth11beta2 + + kthird*(gtu12*(J11L*J12L*PDstandardNth11beta2 + J11L*J13L*PDstandardNth11beta3 + 2*J11L*J21L*PDstandardNth12beta1 + J12L*J21L*PDstandardNth12beta2 + J11L*J22L*PDstandardNth12beta2 + J13L*J21L*PDstandardNth12beta3 + J11L*J23L*PDstandardNth12beta3 + @@ -1201,7 +1234,7 @@ void ML_BSSN_MP_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int J32L*J33L*PDstandardNth33beta3 + dJ312L*PDstandardNth3beta1 + dJ322L*PDstandardNth3beta2 + dJ323L*PDstandardNth3beta3 + PDstandardNth11beta2*SQR(J12L) + PDstandardNth22beta2*SQR(J22L) + - PDstandardNth33beta2*SQR(J32L)) + gtu32*(J11L*J13L*PDstandardNth11beta1 + PDstandardNth33beta2*SQR(J32L)) + gtu23*(J11L*J13L*PDstandardNth11beta1 + J12L*J13L*PDstandardNth11beta2 + J13L*J21L*PDstandardNth12beta1 + J11L*J23L*PDstandardNth12beta1 + J13L*J22L*PDstandardNth12beta2 + J12L*J23L*PDstandardNth12beta2 + 2*J13L*J23L*PDstandardNth12beta3 + @@ -1222,38 +1255,38 @@ void ML_BSSN_MP_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int CCTK_REAL dotXt3 = (epsdiss1*J11L + epsdiss2*J12L + epsdiss3*J13L)*PDdissipationNth1Xt3 + (epsdiss1*J21L + epsdiss2*J22L + epsdiss3*J23L)*PDdissipationNth2Xt3 + (epsdiss1*J31L + epsdiss2*J32L + - epsdiss3*J33L)*PDdissipationNth3Xt3 - 2*((Atu31*J11L + Atu32*J12L + - Atu33*J13L)*PDstandardNth1alpha + (Atu31*J21L + Atu32*J22L + - Atu33*J23L)*PDstandardNth2alpha + (Atu31*J31L + Atu32*J32L + + epsdiss3*J33L)*PDdissipationNth3Xt3 - 2*((Atu13*J11L + Atu23*J12L + + Atu33*J13L)*PDstandardNth1alpha + (Atu13*J21L + Atu23*J22L + + Atu33*J23L)*PDstandardNth2alpha + (Atu13*J31L + Atu23*J32L + Atu33*J33L)*PDstandardNth3alpha) + - 2*(gtu21*(J11L*J12L*PDstandardNth11beta3 + + 2*(gtu12*(J11L*J12L*PDstandardNth11beta3 + J12L*J21L*PDstandardNth12beta3 + J11L*J22L*PDstandardNth12beta3 + J12L*J31L*PDstandardNth13beta3 + J11L*J32L*PDstandardNth13beta3 + dJ112L*PDstandardNth1beta3 + J21L*J22L*PDstandardNth22beta3 + J22L*J31L*PDstandardNth23beta3 + J21L*J32L*PDstandardNth23beta3 + dJ212L*PDstandardNth2beta3 + J31L*J32L*PDstandardNth33beta3 + - dJ312L*PDstandardNth3beta3) + gtu31*(J11L*J13L*PDstandardNth11beta3 + + dJ312L*PDstandardNth3beta3) + gtu13*(J11L*J13L*PDstandardNth11beta3 + J13L*J21L*PDstandardNth12beta3 + J11L*J23L*PDstandardNth12beta3 + J13L*J31L*PDstandardNth13beta3 + J11L*J33L*PDstandardNth13beta3 + dJ113L*PDstandardNth1beta3 + J21L*J23L*PDstandardNth22beta3 + J23L*J31L*PDstandardNth23beta3 + J21L*J33L*PDstandardNth23beta3 + dJ213L*PDstandardNth2beta3 + J31L*J33L*PDstandardNth33beta3 + - dJ313L*PDstandardNth3beta3) + gtu32*(J12L*J13L*PDstandardNth11beta3 + + dJ313L*PDstandardNth3beta3) + gtu23*(J12L*J13L*PDstandardNth11beta3 + J13L*J22L*PDstandardNth12beta3 + J12L*J23L*PDstandardNth12beta3 + J13L*J32L*PDstandardNth13beta3 + J12L*J33L*PDstandardNth13beta3 + dJ123L*PDstandardNth1beta3 + J22L*J23L*PDstandardNth22beta3 + J23L*J32L*PDstandardNth23beta3 + J22L*J33L*PDstandardNth23beta3 + dJ223L*PDstandardNth2beta3 + J32L*J33L*PDstandardNth33beta3 + - dJ323L*PDstandardNth3beta3) + alphaL*(6*(Atu31*cdphi1 + Atu32*cdphi2 + - Atu33*cdphi3) + Atu11*Gt311 + 2*Atu21*Gt312 + 2*Atu31*Gt313 + - Atu22*Gt322 + 2*Atu32*Gt323 + Atu33*Gt333 - ktwothird*((gtu31*J11L + - gtu32*J12L + gtu33*J13L)*PDstandardNth1trK + (gtu31*J21L + gtu32*J22L + - gtu33*J23L)*PDstandardNth2trK + (gtu31*J31L + gtu32*J32L + + dJ323L*PDstandardNth3beta3) + alphaL*(6*(Atu13*cdphi1 + Atu23*cdphi2 + + Atu33*cdphi3) + Atu11*Gt311 + 2*Atu12*Gt312 + 2*Atu13*Gt313 + + Atu22*Gt322 + 2*Atu23*Gt323 + Atu33*Gt333 - ktwothird*((gtu13*J11L + + gtu23*J12L + gtu33*J13L)*PDstandardNth1trK + (gtu13*J21L + gtu23*J22L + + gtu33*J23L)*PDstandardNth2trK + (gtu13*J31L + gtu23*J32L + gtu33*J33L)*PDstandardNth3trK))) + (beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1Xt3 + (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2Xt3 + (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3Xt3 - - 50.26548245743669181540229413247204614715*alphaL*(gtu31*S1 + gtu32*S2 + + 50.26548245743669181540229413247204614715*alphaL*(gtu13*S1 + gtu23*S2 + gtu33*S3) + ktwothird*(J11L*PDstandardNth1beta1 + J12L*PDstandardNth1beta2 + J13L*PDstandardNth1beta3 + J21L*PDstandardNth2beta1 + J22L*PDstandardNth2beta2 + @@ -1282,7 +1315,7 @@ void ML_BSSN_MP_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int 2*J23L*J33L*PDstandardNth23beta3 + dJ233L*PDstandardNth2beta3 + dJ333L*PDstandardNth3beta3 + PDstandardNth11beta3*SQR(J13L) + PDstandardNth22beta3*SQR(J23L) + PDstandardNth33beta3*SQR(J33L)) + - kthird*(gtu31*(J11L*J12L*PDstandardNth11beta2 + + kthird*(gtu13*(J11L*J12L*PDstandardNth11beta2 + J11L*J13L*PDstandardNth11beta3 + 2*J11L*J21L*PDstandardNth12beta1 + J12L*J21L*PDstandardNth12beta2 + J11L*J22L*PDstandardNth12beta2 + J13L*J21L*PDstandardNth12beta3 + J11L*J23L*PDstandardNth12beta3 + @@ -1299,7 +1332,7 @@ void ML_BSSN_MP_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int dJ311L*PDstandardNth3beta1 + dJ312L*PDstandardNth3beta2 + dJ313L*PDstandardNth3beta3 + PDstandardNth11beta1*SQR(J11L) + PDstandardNth22beta1*SQR(J21L) + PDstandardNth33beta1*SQR(J31L)) + - gtu32*(J11L*J12L*PDstandardNth11beta1 + J12L*J13L*PDstandardNth11beta3 + gtu23*(J11L*J12L*PDstandardNth11beta1 + J12L*J13L*PDstandardNth11beta3 + J12L*J21L*PDstandardNth12beta1 + J11L*J22L*PDstandardNth12beta1 + 2*J12L*J22L*PDstandardNth12beta2 + J13L*J22L*PDstandardNth12beta3 + J12L*J23L*PDstandardNth12beta3 + J12L*J31L*PDstandardNth13beta1 + @@ -1350,39 +1383,39 @@ void ML_BSSN_MP_RHS1_Body(cGH const * restrict const cctkGH, int const dir, int (J12L*PDupwindNthSymm1trK + J22L*PDupwindNthSymm2trK + J32L*PDupwindNthSymm3trK)*Abs(beta2L) + (J13L*PDupwindNthSymm1trK + J23L*PDupwindNthSymm2trK + J33L*PDupwindNthSymm3trK)*Abs(beta3L) - - em4phi*(2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + - J11L*J23L))*PDstandardNth12alpha + (gtu21*J11L*J32L + gtu31*(J13L*J31L - + J11L*J33L))*PDstandardNth13alpha + J11L*((gtu21*J12L + - gtu31*J13L)*PDstandardNth11alpha + gtu11*(J21L*PDstandardNth12alpha + - J31L*PDstandardNth13alpha)) + J12L*(gtu32*J13L*PDstandardNth11alpha + - gtu21*(J21L*PDstandardNth12alpha + J31L*PDstandardNth13alpha)) + - (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + + em4phi*(2*((gtu12*J11L*J22L + gtu13*(J13L*J21L + + J11L*J23L))*PDstandardNth12alpha + (gtu12*J11L*J32L + gtu13*(J13L*J31L + + J11L*J33L))*PDstandardNth13alpha + J11L*((gtu12*J12L + + gtu13*J13L)*PDstandardNth11alpha + gtu11*(J21L*PDstandardNth12alpha + + J31L*PDstandardNth13alpha)) + J12L*(gtu23*J13L*PDstandardNth11alpha + + gtu12*(J21L*PDstandardNth12alpha + J31L*PDstandardNth13alpha)) + + (gtu11*J21L*J31L + (gtu22*J22L + gtu23*J23L)*J32L + (gtu23*J22L + gtu33*J23L)*J33L)*PDstandardNth23alpha + J22L*((gtu22*J12L + - gtu32*J13L)*PDstandardNth12alpha + (gtu21*J21L + - gtu32*J23L)*PDstandardNth22alpha + gtu21*J31L*PDstandardNth23alpha) + - J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12alpha + - gtu31*(J21L*PDstandardNth22alpha + J31L*PDstandardNth23alpha)) + - (gtu21*(dJ312L + cdphi2*J31L) + cdphi3*(gtu31*J31L + - gtu32*J32L))*PDstandardNth3alpha + J32L*((gtu22*J12L + - gtu32*J13L)*PDstandardNth13alpha + gtu32*J33L*PDstandardNth33alpha + - gtu21*(J21L*PDstandardNth23alpha + J31L*PDstandardNth33alpha) + - cdphi2*gtu22*PDstandardNth3alpha) + J33L*((gtu32*J12L + - gtu33*J13L)*PDstandardNth13alpha + gtu31*(J21L*PDstandardNth23alpha + - J31L*PDstandardNth33alpha) + (cdphi2*gtu32 + + gtu23*J13L)*PDstandardNth12alpha + (gtu12*J21L + + gtu23*J23L)*PDstandardNth22alpha + gtu12*J31L*PDstandardNth23alpha) + + J23L*((gtu23*J12L + gtu33*J13L)*PDstandardNth12alpha + + gtu13*(J21L*PDstandardNth22alpha + J31L*PDstandardNth23alpha)) + + (gtu12*(dJ312L + cdphi2*J31L) + cdphi3*(gtu13*J31L + + gtu23*J32L))*PDstandardNth3alpha + J32L*((gtu22*J12L + + gtu23*J13L)*PDstandardNth13alpha + gtu23*J33L*PDstandardNth33alpha + + gtu12*(J21L*PDstandardNth23alpha + J31L*PDstandardNth33alpha) + + cdphi2*gtu22*PDstandardNth3alpha) + J33L*((gtu23*J12L + + gtu33*J13L)*PDstandardNth13alpha + gtu13*(J21L*PDstandardNth23alpha + + J31L*PDstandardNth33alpha) + (cdphi2*gtu23 + cdphi3*gtu33)*PDstandardNth3alpha)) + PDstandardNth1alpha*(gtu11*(dJ111L + 2*cdphi1*J11L) + gtu22*(dJ122L + - 2*cdphi2*J12L) + gtu33*(dJ133L + 2*cdphi3*J13L) + 2*(dJ112L*gtu21 + - dJ113L*gtu31 + dJ123L*gtu32 + cdphi2*gtu21*J11L + cdphi3*gtu31*J11L + - cdphi1*gtu21*J12L + cdphi3*gtu32*J12L + cdphi1*gtu31*J13L + - cdphi2*gtu32*J13L) - J11L*Xtn1 - J12L*Xtn2 - J13L*Xtn3) + + 2*cdphi2*J12L) + gtu33*(dJ133L + 2*cdphi3*J13L) + 2*(dJ112L*gtu12 + + dJ113L*gtu13 + dJ123L*gtu23 + cdphi2*gtu12*J11L + cdphi3*gtu13*J11L + + cdphi1*gtu12*J12L + cdphi3*gtu23*J12L + cdphi1*gtu13*J13L + + cdphi2*gtu23*J13L) - J11L*Xtn1 - J12L*Xtn2 - J13L*Xtn3) + PDstandardNth2alpha*(gtu11*(dJ211L + 2*cdphi1*J21L) + gtu22*(dJ222L + - 2*cdphi2*J22L) + gtu33*(dJ233L + 2*cdphi3*J23L) + 2*(dJ212L*gtu21 + - dJ213L*gtu31 + dJ223L*gtu32 + cdphi2*gtu21*J21L + cdphi3*gtu31*J21L + - cdphi1*gtu21*J22L + cdphi3*gtu32*J22L + cdphi1*gtu31*J23L + - cdphi2*gtu32*J23L) - J21L*Xtn1 - J22L*Xtn2 - J23L*Xtn3) + + 2*cdphi2*J22L) + gtu33*(dJ233L + 2*cdphi3*J23L) + 2*(dJ212L*gtu12 + + dJ213L*gtu13 + dJ223L*gtu23 + cdphi2*gtu12*J21L + cdphi3*gtu13*J21L + + cdphi1*gtu12*J22L + cdphi3*gtu23*J22L + cdphi1*gtu13*J23L + + cdphi2*gtu23*J23L) - J21L*Xtn1 - J22L*Xtn2 - J23L*Xtn3) + PDstandardNth3alpha*(dJ322L*gtu22 + dJ333L*gtu33 + gtu11*(dJ311L + - 2*cdphi1*J31L) + 2*(dJ313L*gtu31 + dJ323L*gtu32 + cdphi1*gtu21*J32L + - cdphi1*gtu31*J33L) - J31L*Xtn1 - J32L*Xtn2 - J33L*Xtn3) + + 2*cdphi1*J31L) + 2*(dJ313L*gtu13 + dJ323L*gtu23 + cdphi1*gtu12*J32L + + cdphi1*gtu13*J33L) - J31L*Xtn1 - J32L*Xtn2 - J33L*Xtn3) + PDstandardNth11alpha*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) + PDstandardNth22alpha*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) + diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_RHS2.c b/ML_BSSN_MP/src/ML_BSSN_MP_RHS2.c index edda1f0..ddb1b62 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_RHS2.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_RHS2.c @@ -20,6 +20,18 @@ #define CUB(x) ((x) * (x) * (x)) #define QAD(x) ((x) * (x) * (x) * (x)) +void ML_BSSN_MP_RHS2_SelectBCs(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + CCTK_INT ierr = 0; + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_curvrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_curvrhs."); + return; +} + void ML_BSSN_MP_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) { DECLARE_CCTK_ARGUMENTS; @@ -454,13 +466,13 @@ void ML_BSSN_MP_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int CCTK_REAL gtu11 = INV(detgt)*(gt22L*gt33L - SQR(gt23L)); - CCTK_REAL gtu21 = (gt13L*gt23L - gt12L*gt33L)*INV(detgt); + CCTK_REAL gtu12 = (gt13L*gt23L - gt12L*gt33L)*INV(detgt); - CCTK_REAL gtu31 = (-(gt13L*gt22L) + gt12L*gt23L)*INV(detgt); + CCTK_REAL gtu13 = (-(gt13L*gt22L) + gt12L*gt23L)*INV(detgt); CCTK_REAL gtu22 = INV(detgt)*(gt11L*gt33L - SQR(gt13L)); - CCTK_REAL gtu32 = (gt12L*gt13L - gt11L*gt23L)*INV(detgt); + CCTK_REAL gtu23 = (gt12L*gt13L - gt11L*gt23L)*INV(detgt); CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); @@ -539,104 +551,104 @@ void ML_BSSN_MP_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int CCTK_REAL Gtl333 = khalf*(J13L*PDstandardNth1gt33 + J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33); - CCTK_REAL Gtlu111 = Gtl111*gtu11 + Gtl112*gtu21 + Gtl113*gtu31; + CCTK_REAL Gtlu111 = Gtl111*gtu11 + Gtl112*gtu12 + Gtl113*gtu13; - CCTK_REAL Gtlu112 = Gtl111*gtu21 + Gtl112*gtu22 + Gtl113*gtu32; + CCTK_REAL Gtlu112 = Gtl111*gtu12 + Gtl112*gtu22 + Gtl113*gtu23; - CCTK_REAL Gtlu113 = Gtl111*gtu31 + Gtl112*gtu32 + Gtl113*gtu33; + CCTK_REAL Gtlu113 = Gtl111*gtu13 + Gtl112*gtu23 + Gtl113*gtu33; - CCTK_REAL Gtlu121 = Gtl112*gtu11 + Gtl122*gtu21 + Gtl123*gtu31; + CCTK_REAL Gtlu121 = Gtl112*gtu11 + Gtl122*gtu12 + Gtl123*gtu13; - CCTK_REAL Gtlu122 = Gtl112*gtu21 + Gtl122*gtu22 + Gtl123*gtu32; + CCTK_REAL Gtlu122 = Gtl112*gtu12 + Gtl122*gtu22 + Gtl123*gtu23; - CCTK_REAL Gtlu123 = Gtl112*gtu31 + Gtl122*gtu32 + Gtl123*gtu33; + CCTK_REAL Gtlu123 = Gtl112*gtu13 + Gtl122*gtu23 + Gtl123*gtu33; - CCTK_REAL Gtlu131 = Gtl113*gtu11 + Gtl123*gtu21 + Gtl133*gtu31; + CCTK_REAL Gtlu131 = Gtl113*gtu11 + Gtl123*gtu12 + Gtl133*gtu13; - CCTK_REAL Gtlu132 = Gtl113*gtu21 + Gtl123*gtu22 + Gtl133*gtu32; + CCTK_REAL Gtlu132 = Gtl113*gtu12 + Gtl123*gtu22 + Gtl133*gtu23; - CCTK_REAL Gtlu133 = Gtl113*gtu31 + Gtl123*gtu32 + Gtl133*gtu33; + CCTK_REAL Gtlu133 = Gtl113*gtu13 + Gtl123*gtu23 + Gtl133*gtu33; - CCTK_REAL Gtlu211 = Gtl211*gtu11 + Gtl212*gtu21 + Gtl213*gtu31; + CCTK_REAL Gtlu211 = Gtl211*gtu11 + Gtl212*gtu12 + Gtl213*gtu13; - CCTK_REAL Gtlu212 = Gtl211*gtu21 + Gtl212*gtu22 + Gtl213*gtu32; + CCTK_REAL Gtlu212 = Gtl211*gtu12 + Gtl212*gtu22 + Gtl213*gtu23; - CCTK_REAL Gtlu213 = Gtl211*gtu31 + Gtl212*gtu32 + Gtl213*gtu33; + CCTK_REAL Gtlu213 = Gtl211*gtu13 + Gtl212*gtu23 + Gtl213*gtu33; - CCTK_REAL Gtlu221 = Gtl212*gtu11 + Gtl222*gtu21 + Gtl223*gtu31; + CCTK_REAL Gtlu221 = Gtl212*gtu11 + Gtl222*gtu12 + Gtl223*gtu13; - CCTK_REAL Gtlu222 = Gtl212*gtu21 + Gtl222*gtu22 + Gtl223*gtu32; + CCTK_REAL Gtlu222 = Gtl212*gtu12 + Gtl222*gtu22 + Gtl223*gtu23; - CCTK_REAL Gtlu223 = Gtl212*gtu31 + Gtl222*gtu32 + Gtl223*gtu33; + CCTK_REAL Gtlu223 = Gtl212*gtu13 + Gtl222*gtu23 + Gtl223*gtu33; - CCTK_REAL Gtlu231 = Gtl213*gtu11 + Gtl223*gtu21 + Gtl233*gtu31; + CCTK_REAL Gtlu231 = Gtl213*gtu11 + Gtl223*gtu12 + Gtl233*gtu13; - CCTK_REAL Gtlu232 = Gtl213*gtu21 + Gtl223*gtu22 + Gtl233*gtu32; + CCTK_REAL Gtlu232 = Gtl213*gtu12 + Gtl223*gtu22 + Gtl233*gtu23; - CCTK_REAL Gtlu233 = Gtl213*gtu31 + Gtl223*gtu32 + Gtl233*gtu33; + CCTK_REAL Gtlu233 = Gtl213*gtu13 + Gtl223*gtu23 + Gtl233*gtu33; - CCTK_REAL Gtlu311 = Gtl311*gtu11 + Gtl312*gtu21 + Gtl313*gtu31; + CCTK_REAL Gtlu311 = Gtl311*gtu11 + Gtl312*gtu12 + Gtl313*gtu13; - CCTK_REAL Gtlu312 = Gtl311*gtu21 + Gtl312*gtu22 + Gtl313*gtu32; + CCTK_REAL Gtlu312 = Gtl311*gtu12 + Gtl312*gtu22 + Gtl313*gtu23; - CCTK_REAL Gtlu313 = Gtl311*gtu31 + Gtl312*gtu32 + Gtl313*gtu33; + CCTK_REAL Gtlu313 = Gtl311*gtu13 + Gtl312*gtu23 + Gtl313*gtu33; - CCTK_REAL Gtlu321 = Gtl312*gtu11 + Gtl322*gtu21 + Gtl323*gtu31; + CCTK_REAL Gtlu321 = Gtl312*gtu11 + Gtl322*gtu12 + Gtl323*gtu13; - CCTK_REAL Gtlu322 = Gtl312*gtu21 + Gtl322*gtu22 + Gtl323*gtu32; + CCTK_REAL Gtlu322 = Gtl312*gtu12 + Gtl322*gtu22 + Gtl323*gtu23; - CCTK_REAL Gtlu323 = Gtl312*gtu31 + Gtl322*gtu32 + Gtl323*gtu33; + CCTK_REAL Gtlu323 = Gtl312*gtu13 + Gtl322*gtu23 + Gtl323*gtu33; - CCTK_REAL Gtlu331 = Gtl313*gtu11 + Gtl323*gtu21 + Gtl333*gtu31; + CCTK_REAL Gtlu331 = Gtl313*gtu11 + Gtl323*gtu12 + Gtl333*gtu13; - CCTK_REAL Gtlu332 = Gtl313*gtu21 + Gtl323*gtu22 + Gtl333*gtu32; + CCTK_REAL Gtlu332 = Gtl313*gtu12 + Gtl323*gtu22 + Gtl333*gtu23; - CCTK_REAL Gtlu333 = Gtl313*gtu31 + Gtl323*gtu32 + Gtl333*gtu33; + CCTK_REAL Gtlu333 = Gtl313*gtu13 + Gtl323*gtu23 + Gtl333*gtu33; - CCTK_REAL Gt111 = Gtl111*gtu11 + Gtl211*gtu21 + Gtl311*gtu31; + CCTK_REAL Gt111 = Gtl111*gtu11 + Gtl211*gtu12 + Gtl311*gtu13; - CCTK_REAL Gt211 = Gtl111*gtu21 + Gtl211*gtu22 + Gtl311*gtu32; + CCTK_REAL Gt211 = Gtl111*gtu12 + Gtl211*gtu22 + Gtl311*gtu23; - CCTK_REAL Gt311 = Gtl111*gtu31 + Gtl211*gtu32 + Gtl311*gtu33; + CCTK_REAL Gt311 = Gtl111*gtu13 + Gtl211*gtu23 + Gtl311*gtu33; - CCTK_REAL Gt112 = Gtl112*gtu11 + Gtl212*gtu21 + Gtl312*gtu31; + CCTK_REAL Gt112 = Gtl112*gtu11 + Gtl212*gtu12 + Gtl312*gtu13; - CCTK_REAL Gt212 = Gtl112*gtu21 + Gtl212*gtu22 + Gtl312*gtu32; + CCTK_REAL Gt212 = Gtl112*gtu12 + Gtl212*gtu22 + Gtl312*gtu23; - CCTK_REAL Gt312 = Gtl112*gtu31 + Gtl212*gtu32 + Gtl312*gtu33; + CCTK_REAL Gt312 = Gtl112*gtu13 + Gtl212*gtu23 + Gtl312*gtu33; - CCTK_REAL Gt113 = Gtl113*gtu11 + Gtl213*gtu21 + Gtl313*gtu31; + CCTK_REAL Gt113 = Gtl113*gtu11 + Gtl213*gtu12 + Gtl313*gtu13; - CCTK_REAL Gt213 = Gtl113*gtu21 + Gtl213*gtu22 + Gtl313*gtu32; + CCTK_REAL Gt213 = Gtl113*gtu12 + Gtl213*gtu22 + Gtl313*gtu23; - CCTK_REAL Gt313 = Gtl113*gtu31 + Gtl213*gtu32 + Gtl313*gtu33; + CCTK_REAL Gt313 = Gtl113*gtu13 + Gtl213*gtu23 + Gtl313*gtu33; - CCTK_REAL Gt122 = Gtl122*gtu11 + Gtl222*gtu21 + Gtl322*gtu31; + CCTK_REAL Gt122 = Gtl122*gtu11 + Gtl222*gtu12 + Gtl322*gtu13; - CCTK_REAL Gt222 = Gtl122*gtu21 + Gtl222*gtu22 + Gtl322*gtu32; + CCTK_REAL Gt222 = Gtl122*gtu12 + Gtl222*gtu22 + Gtl322*gtu23; - CCTK_REAL Gt322 = Gtl122*gtu31 + Gtl222*gtu32 + Gtl322*gtu33; + CCTK_REAL Gt322 = Gtl122*gtu13 + Gtl222*gtu23 + Gtl322*gtu33; - CCTK_REAL Gt123 = Gtl123*gtu11 + Gtl223*gtu21 + Gtl323*gtu31; + CCTK_REAL Gt123 = Gtl123*gtu11 + Gtl223*gtu12 + Gtl323*gtu13; - CCTK_REAL Gt223 = Gtl123*gtu21 + Gtl223*gtu22 + Gtl323*gtu32; + CCTK_REAL Gt223 = Gtl123*gtu12 + Gtl223*gtu22 + Gtl323*gtu23; - CCTK_REAL Gt323 = Gtl123*gtu31 + Gtl223*gtu32 + Gtl323*gtu33; + CCTK_REAL Gt323 = Gtl123*gtu13 + Gtl223*gtu23 + Gtl323*gtu33; - CCTK_REAL Gt133 = Gtl133*gtu11 + Gtl233*gtu21 + Gtl333*gtu31; + CCTK_REAL Gt133 = Gtl133*gtu11 + Gtl233*gtu12 + Gtl333*gtu13; - CCTK_REAL Gt233 = Gtl133*gtu21 + Gtl233*gtu22 + Gtl333*gtu32; + CCTK_REAL Gt233 = Gtl133*gtu12 + Gtl233*gtu22 + Gtl333*gtu23; - CCTK_REAL Gt333 = Gtl133*gtu31 + Gtl233*gtu32 + Gtl333*gtu33; + CCTK_REAL Gt333 = Gtl133*gtu13 + Gtl233*gtu23 + Gtl333*gtu33; - CCTK_REAL Xtn1 = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu21 + - Gt113*gtu31 + Gt123*gtu32) + Gt133*gtu33; + CCTK_REAL Xtn1 = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + + Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33; - CCTK_REAL Xtn2 = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu21 + - Gt213*gtu31 + Gt223*gtu32) + Gt233*gtu33; + CCTK_REAL Xtn2 = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + + Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33; - CCTK_REAL Xtn3 = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu21 + - Gt313*gtu31 + Gt323*gtu32) + Gt333*gtu33; + CCTK_REAL Xtn3 = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + + Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33; CCTK_REAL Rt11 = 3*(Gt111*Gtlu111 + Gt112*Gtlu112 + Gt113*Gtlu113) + 2*(Gt211*Gtlu121 + Gt212*Gtlu122 + Gt213*Gtlu123 + Gt311*Gtlu131 + @@ -647,19 +659,19 @@ void ML_BSSN_MP_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int gt12L*PDstandardNth2Xt2 + gt13L*PDstandardNth2Xt3) + J31L*(gt11L*PDstandardNth3Xt1 + gt12L*PDstandardNth3Xt2 + gt13L*PDstandardNth3Xt3) + Gtl111*Xtn1 + Gtl112*Xtn2 + Gtl113*Xtn3 + - khalf*(-2*(gtu21*(J11L*J12L*PDstandardNth11gt11 + + khalf*(-2*(gtu12*(J11L*J12L*PDstandardNth11gt11 + J12L*J21L*PDstandardNth12gt11 + J11L*J22L*PDstandardNth12gt11 + J12L*J31L*PDstandardNth13gt11 + J11L*J32L*PDstandardNth13gt11 + dJ112L*PDstandardNth1gt11 + J21L*J22L*PDstandardNth22gt11 + J22L*J31L*PDstandardNth23gt11 + J21L*J32L*PDstandardNth23gt11 + dJ212L*PDstandardNth2gt11 + J31L*J32L*PDstandardNth33gt11 + - dJ312L*PDstandardNth3gt11) + gtu31*(J11L*J13L*PDstandardNth11gt11 + + dJ312L*PDstandardNth3gt11) + gtu13*(J11L*J13L*PDstandardNth11gt11 + J13L*J21L*PDstandardNth12gt11 + J11L*J23L*PDstandardNth12gt11 + J13L*J31L*PDstandardNth13gt11 + J11L*J33L*PDstandardNth13gt11 + dJ113L*PDstandardNth1gt11 + J21L*J23L*PDstandardNth22gt11 + J23L*J31L*PDstandardNth23gt11 + J21L*J33L*PDstandardNth23gt11 + dJ213L*PDstandardNth2gt11 + J31L*J33L*PDstandardNth33gt11 + - dJ313L*PDstandardNth3gt11) + gtu32*(J12L*J13L*PDstandardNth11gt11 + + dJ313L*PDstandardNth3gt11) + gtu23*(J12L*J13L*PDstandardNth11gt11 + J13L*J22L*PDstandardNth12gt11 + J12L*J23L*PDstandardNth12gt11 + J13L*J32L*PDstandardNth13gt11 + J12L*J33L*PDstandardNth13gt11 + dJ123L*PDstandardNth1gt11 + J22L*J23L*PDstandardNth22gt11 + @@ -692,19 +704,19 @@ void ML_BSSN_MP_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int gt13L*J12L)*PDstandardNth1Xt3 + (gt12L*J21L + gt11L*J22L)*PDstandardNth2Xt1 + (gt22L*J21L + gt12L*J22L)*PDstandardNth2Xt2 + (gt23L*J21L + - gt13L*J22L)*PDstandardNth2Xt3 - 2*(gtu21*(J11L*J12L*PDstandardNth11gt12 + gt13L*J22L)*PDstandardNth2Xt3 - 2*(gtu12*(J11L*J12L*PDstandardNth11gt12 + J12L*J21L*PDstandardNth12gt12 + J11L*J22L*PDstandardNth12gt12 + J12L*J31L*PDstandardNth13gt12 + J11L*J32L*PDstandardNth13gt12 + dJ112L*PDstandardNth1gt12 + J21L*J22L*PDstandardNth22gt12 + J22L*J31L*PDstandardNth23gt12 + J21L*J32L*PDstandardNth23gt12 + dJ212L*PDstandardNth2gt12 + J31L*J32L*PDstandardNth33gt12 + - dJ312L*PDstandardNth3gt12) + gtu31*(J11L*J13L*PDstandardNth11gt12 + + dJ312L*PDstandardNth3gt12) + gtu13*(J11L*J13L*PDstandardNth11gt12 + J13L*J21L*PDstandardNth12gt12 + J11L*J23L*PDstandardNth12gt12 + J13L*J31L*PDstandardNth13gt12 + J11L*J33L*PDstandardNth13gt12 + dJ113L*PDstandardNth1gt12 + J21L*J23L*PDstandardNth22gt12 + J23L*J31L*PDstandardNth23gt12 + J21L*J33L*PDstandardNth23gt12 + dJ213L*PDstandardNth2gt12 + J31L*J33L*PDstandardNth33gt12 + - dJ313L*PDstandardNth3gt12) + gtu32*(J12L*J13L*PDstandardNth11gt12 + + dJ313L*PDstandardNth3gt12) + gtu23*(J12L*J13L*PDstandardNth11gt12 + J13L*J22L*PDstandardNth12gt12 + J12L*J23L*PDstandardNth12gt12 + J13L*J32L*PDstandardNth13gt12 + J12L*J33L*PDstandardNth13gt12 + dJ123L*PDstandardNth1gt12 + J22L*J23L*PDstandardNth22gt12 + @@ -742,19 +754,19 @@ void ML_BSSN_MP_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int gt13L*J13L)*PDstandardNth1Xt3 + (gt13L*J21L + gt11L*J23L)*PDstandardNth2Xt1 + (gt23L*J21L + gt12L*J23L)*PDstandardNth2Xt2 + (gt33L*J21L + - gt13L*J23L)*PDstandardNth2Xt3 - 2*(gtu21*(J11L*J12L*PDstandardNth11gt13 + gt13L*J23L)*PDstandardNth2Xt3 - 2*(gtu12*(J11L*J12L*PDstandardNth11gt13 + J12L*J21L*PDstandardNth12gt13 + J11L*J22L*PDstandardNth12gt13 + J12L*J31L*PDstandardNth13gt13 + J11L*J32L*PDstandardNth13gt13 + dJ112L*PDstandardNth1gt13 + J21L*J22L*PDstandardNth22gt13 + J22L*J31L*PDstandardNth23gt13 + J21L*J32L*PDstandardNth23gt13 + dJ212L*PDstandardNth2gt13 + J31L*J32L*PDstandardNth33gt13 + - dJ312L*PDstandardNth3gt13) + gtu31*(J11L*J13L*PDstandardNth11gt13 + + dJ312L*PDstandardNth3gt13) + gtu13*(J11L*J13L*PDstandardNth11gt13 + J13L*J21L*PDstandardNth12gt13 + J11L*J23L*PDstandardNth12gt13 + J13L*J31L*PDstandardNth13gt13 + J11L*J33L*PDstandardNth13gt13 + dJ113L*PDstandardNth1gt13 + J21L*J23L*PDstandardNth22gt13 + J23L*J31L*PDstandardNth23gt13 + J21L*J33L*PDstandardNth23gt13 + dJ213L*PDstandardNth2gt13 + J31L*J33L*PDstandardNth33gt13 + - dJ313L*PDstandardNth3gt13) + gtu32*(J12L*J13L*PDstandardNth11gt13 + + dJ313L*PDstandardNth3gt13) + gtu23*(J12L*J13L*PDstandardNth11gt13 + J13L*J22L*PDstandardNth12gt13 + J12L*J23L*PDstandardNth12gt13 + J13L*J32L*PDstandardNth13gt13 + J12L*J33L*PDstandardNth13gt13 + dJ123L*PDstandardNth1gt13 + J22L*J23L*PDstandardNth22gt13 + @@ -790,19 +802,19 @@ void ML_BSSN_MP_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int gt22L*PDstandardNth2Xt2 + gt23L*PDstandardNth2Xt3) + J32L*(gt12L*PDstandardNth3Xt1 + gt22L*PDstandardNth3Xt2 + gt23L*PDstandardNth3Xt3) + Gtl212*Xtn1 + Gtl222*Xtn2 + Gtl223*Xtn3 + - khalf*(-2*(gtu21*(J11L*J12L*PDstandardNth11gt22 + + khalf*(-2*(gtu12*(J11L*J12L*PDstandardNth11gt22 + J12L*J21L*PDstandardNth12gt22 + J11L*J22L*PDstandardNth12gt22 + J12L*J31L*PDstandardNth13gt22 + J11L*J32L*PDstandardNth13gt22 + dJ112L*PDstandardNth1gt22 + J21L*J22L*PDstandardNth22gt22 + J22L*J31L*PDstandardNth23gt22 + J21L*J32L*PDstandardNth23gt22 + dJ212L*PDstandardNth2gt22 + J31L*J32L*PDstandardNth33gt22 + - dJ312L*PDstandardNth3gt22) + gtu31*(J11L*J13L*PDstandardNth11gt22 + + dJ312L*PDstandardNth3gt22) + gtu13*(J11L*J13L*PDstandardNth11gt22 + J13L*J21L*PDstandardNth12gt22 + J11L*J23L*PDstandardNth12gt22 + J13L*J31L*PDstandardNth13gt22 + J11L*J33L*PDstandardNth13gt22 + dJ113L*PDstandardNth1gt22 + J21L*J23L*PDstandardNth22gt22 + J23L*J31L*PDstandardNth23gt22 + J21L*J33L*PDstandardNth23gt22 + dJ213L*PDstandardNth2gt22 + J31L*J33L*PDstandardNth33gt22 + - dJ313L*PDstandardNth3gt22) + gtu32*(J12L*J13L*PDstandardNth11gt22 + + dJ313L*PDstandardNth3gt22) + gtu23*(J12L*J13L*PDstandardNth11gt22 + J13L*J22L*PDstandardNth12gt22 + J12L*J23L*PDstandardNth12gt22 + J13L*J32L*PDstandardNth13gt22 + J12L*J33L*PDstandardNth13gt22 + dJ123L*PDstandardNth1gt22 + J22L*J23L*PDstandardNth22gt22 + @@ -834,19 +846,19 @@ void ML_BSSN_MP_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int gt23L*J13L)*PDstandardNth1Xt3 + (gt13L*J22L + gt12L*J23L)*PDstandardNth2Xt1 + (gt23L*J22L + gt22L*J23L)*PDstandardNth2Xt2 + (gt33L*J22L + - gt23L*J23L)*PDstandardNth2Xt3 - 2*(gtu21*(J11L*J12L*PDstandardNth11gt23 + gt23L*J23L)*PDstandardNth2Xt3 - 2*(gtu12*(J11L*J12L*PDstandardNth11gt23 + J12L*J21L*PDstandardNth12gt23 + J11L*J22L*PDstandardNth12gt23 + J12L*J31L*PDstandardNth13gt23 + J11L*J32L*PDstandardNth13gt23 + dJ112L*PDstandardNth1gt23 + J21L*J22L*PDstandardNth22gt23 + J22L*J31L*PDstandardNth23gt23 + J21L*J32L*PDstandardNth23gt23 + dJ212L*PDstandardNth2gt23 + J31L*J32L*PDstandardNth33gt23 + - dJ312L*PDstandardNth3gt23) + gtu31*(J11L*J13L*PDstandardNth11gt23 + + dJ312L*PDstandardNth3gt23) + gtu13*(J11L*J13L*PDstandardNth11gt23 + J13L*J21L*PDstandardNth12gt23 + J11L*J23L*PDstandardNth12gt23 + J13L*J31L*PDstandardNth13gt23 + J11L*J33L*PDstandardNth13gt23 + dJ113L*PDstandardNth1gt23 + J21L*J23L*PDstandardNth22gt23 + J23L*J31L*PDstandardNth23gt23 + J21L*J33L*PDstandardNth23gt23 + dJ213L*PDstandardNth2gt23 + J31L*J33L*PDstandardNth33gt23 + - dJ313L*PDstandardNth3gt23) + gtu32*(J12L*J13L*PDstandardNth11gt23 + + dJ313L*PDstandardNth3gt23) + gtu23*(J12L*J13L*PDstandardNth11gt23 + J13L*J22L*PDstandardNth12gt23 + J12L*J23L*PDstandardNth12gt23 + J13L*J32L*PDstandardNth13gt23 + J12L*J33L*PDstandardNth13gt23 + dJ123L*PDstandardNth1gt23 + J22L*J23L*PDstandardNth22gt23 + @@ -882,19 +894,19 @@ void ML_BSSN_MP_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int gt23L*PDstandardNth2Xt2 + gt33L*PDstandardNth2Xt3) + J33L*(gt13L*PDstandardNth3Xt1 + gt23L*PDstandardNth3Xt2 + gt33L*PDstandardNth3Xt3) + Gtl313*Xtn1 + Gtl323*Xtn2 + Gtl333*Xtn3 + - khalf*(-2*(gtu21*(J11L*J12L*PDstandardNth11gt33 + + khalf*(-2*(gtu12*(J11L*J12L*PDstandardNth11gt33 + J12L*J21L*PDstandardNth12gt33 + J11L*J22L*PDstandardNth12gt33 + J12L*J31L*PDstandardNth13gt33 + J11L*J32L*PDstandardNth13gt33 + dJ112L*PDstandardNth1gt33 + J21L*J22L*PDstandardNth22gt33 + J22L*J31L*PDstandardNth23gt33 + J21L*J32L*PDstandardNth23gt33 + dJ212L*PDstandardNth2gt33 + J31L*J32L*PDstandardNth33gt33 + - dJ312L*PDstandardNth3gt33) + gtu31*(J11L*J13L*PDstandardNth11gt33 + + dJ312L*PDstandardNth3gt33) + gtu13*(J11L*J13L*PDstandardNth11gt33 + J13L*J21L*PDstandardNth12gt33 + J11L*J23L*PDstandardNth12gt33 + J13L*J31L*PDstandardNth13gt33 + J11L*J33L*PDstandardNth13gt33 + dJ113L*PDstandardNth1gt33 + J21L*J23L*PDstandardNth22gt33 + J23L*J31L*PDstandardNth23gt33 + J21L*J33L*PDstandardNth23gt33 + dJ213L*PDstandardNth2gt33 + J31L*J33L*PDstandardNth33gt33 + - dJ313L*PDstandardNth3gt33) + gtu32*(J12L*J13L*PDstandardNth11gt33 + + dJ313L*PDstandardNth3gt33) + gtu23*(J12L*J13L*PDstandardNth11gt33 + J13L*J22L*PDstandardNth12gt33 + J12L*J23L*PDstandardNth12gt33 + J13L*J32L*PDstandardNth13gt33 + J12L*J33L*PDstandardNth13gt33 + dJ123L*PDstandardNth1gt33 + J22L*J23L*PDstandardNth22gt33 + @@ -996,58 +1008,58 @@ void ML_BSSN_MP_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int J23L*PDstandardNth2phi + J33L*PDstandardNth3phi); CCTK_REAL Rphi11 = -2*(cdphi211 + 2*(-1 + gt11L*gtu11)*SQR(cdphi1) + - gt11L*(cdphi211*gtu11 + 4*(cdphi1*(cdphi2*gtu21 + cdphi3*gtu31) + - cdphi2*cdphi3*gtu32) + cdphi233*gtu33 + gtu22*(cdphi222 + - 2*SQR(cdphi2)) + 2*(cdphi212*gtu21 + cdphi213*gtu31 + cdphi223*gtu32 + + gt11L*(cdphi211*gtu11 + 4*(cdphi1*(cdphi2*gtu12 + cdphi3*gtu13) + + cdphi2*cdphi3*gtu23) + cdphi233*gtu33 + gtu22*(cdphi222 + + 2*SQR(cdphi2)) + 2*(cdphi212*gtu12 + cdphi213*gtu13 + cdphi223*gtu23 + gtu33*SQR(cdphi3)))); - CCTK_REAL Rphi12 = -2*(cdphi212 + cdphi1*(cdphi2*(-2 + 4*gt12L*gtu21) - + 4*cdphi3*gt12L*gtu31) + gt12L*(cdphi211*gtu11 + 4*cdphi2*cdphi3*gtu32 - + 2*(cdphi212*gtu21 + cdphi213*gtu31 + cdphi223*gtu32 + + CCTK_REAL Rphi12 = -2*(cdphi212 + cdphi1*(cdphi2*(-2 + 4*gt12L*gtu12) + + 4*cdphi3*gt12L*gtu13) + gt12L*(cdphi211*gtu11 + 4*cdphi2*cdphi3*gtu23 + + 2*(cdphi212*gtu12 + cdphi213*gtu13 + cdphi223*gtu23 + gtu11*SQR(cdphi1)) + gtu22*(cdphi222 + 2*SQR(cdphi2)) + gtu33*(cdphi233 + 2*SQR(cdphi3)))); - CCTK_REAL Rphi13 = -2*(cdphi213 + cdphi1*(4*cdphi2*gt13L*gtu21 + - cdphi3*(-2 + 4*gt13L*gtu31)) + gt13L*(cdphi211*gtu11 + - 4*cdphi2*cdphi3*gtu32 + 2*(cdphi212*gtu21 + cdphi213*gtu31 + - cdphi223*gtu32 + gtu11*SQR(cdphi1)) + gtu22*(cdphi222 + 2*SQR(cdphi2)) + CCTK_REAL Rphi13 = -2*(cdphi213 + cdphi1*(4*cdphi2*gt13L*gtu12 + + cdphi3*(-2 + 4*gt13L*gtu13)) + gt13L*(cdphi211*gtu11 + + 4*cdphi2*cdphi3*gtu23 + 2*(cdphi212*gtu12 + cdphi213*gtu13 + + cdphi223*gtu23 + gtu11*SQR(cdphi1)) + gtu22*(cdphi222 + 2*SQR(cdphi2)) + gtu33*(cdphi233 + 2*SQR(cdphi3)))); CCTK_REAL Rphi22 = -2*(cdphi222 + 2*(-1 + gt22L*gtu22)*SQR(cdphi2) + - gt22L*(cdphi222*gtu22 + 4*(cdphi1*cdphi3*gtu31 + cdphi2*(cdphi1*gtu21 + - cdphi3*gtu32)) + cdphi233*gtu33 + gtu11*(cdphi211 + 2*SQR(cdphi1)) + - 2*(cdphi212*gtu21 + cdphi213*gtu31 + cdphi223*gtu32 + + gt22L*(cdphi222*gtu22 + 4*(cdphi1*cdphi3*gtu13 + cdphi2*(cdphi1*gtu12 + + cdphi3*gtu23)) + cdphi233*gtu33 + gtu11*(cdphi211 + 2*SQR(cdphi1)) + + 2*(cdphi212*gtu12 + cdphi213*gtu13 + cdphi223*gtu23 + gtu33*SQR(cdphi3)))); - CCTK_REAL Rphi23 = -2*(cdphi223 + cdphi2*(4*cdphi1*gt23L*gtu21 + - cdphi3*(-2 + 4*gt23L*gtu32)) + gt23L*(cdphi222*gtu22 + - 4*cdphi1*cdphi3*gtu31 + gtu11*(cdphi211 + 2*SQR(cdphi1)) + - 2*(cdphi212*gtu21 + cdphi213*gtu31 + cdphi223*gtu32 + - gtu22*SQR(cdphi2)) + gtu33*(cdphi233 + 2*SQR(cdphi3)))); + CCTK_REAL Rphi23 = -2*(cdphi223 + cdphi2*(4*cdphi1*gt23L*gtu12 + + cdphi3*(-2 + 4*gt23L*gtu23)) + gt23L*(4*cdphi1*cdphi3*gtu13 + + cdphi222*gtu22 + gtu11*(cdphi211 + 2*SQR(cdphi1)) + 2*(cdphi212*gtu12 + + cdphi213*gtu13 + cdphi223*gtu23 + gtu22*SQR(cdphi2)) + gtu33*(cdphi233 + + 2*SQR(cdphi3)))); CCTK_REAL Rphi33 = -2*(cdphi233 + gt33L*((4*cdphi1*cdphi2 + - 2*cdphi212)*gtu21 + 4*cdphi3*(cdphi1*gtu31 + cdphi2*gtu32) + - 2*(cdphi213*gtu31 + cdphi223*gtu32) + cdphi233*gtu33 + gtu11*(cdphi211 + 2*cdphi212)*gtu12 + 4*cdphi3*(cdphi1*gtu13 + cdphi2*gtu23) + + 2*(cdphi213*gtu13 + cdphi223*gtu23) + cdphi233*gtu33 + gtu11*(cdphi211 + 2*SQR(cdphi1)) + gtu22*(cdphi222 + 2*SQR(cdphi2))) + 2*(-1 + gt33L*gtu33)*SQR(cdphi3)); - CCTK_REAL Atm11 = At11L*gtu11 + At12L*gtu21 + At13L*gtu31; + CCTK_REAL Atm11 = At11L*gtu11 + At12L*gtu12 + At13L*gtu13; - CCTK_REAL Atm21 = At11L*gtu21 + At12L*gtu22 + At13L*gtu32; + CCTK_REAL Atm21 = At11L*gtu12 + At12L*gtu22 + At13L*gtu23; - CCTK_REAL Atm31 = At11L*gtu31 + At12L*gtu32 + At13L*gtu33; + CCTK_REAL Atm31 = At11L*gtu13 + At12L*gtu23 + At13L*gtu33; - CCTK_REAL Atm12 = At12L*gtu11 + At22L*gtu21 + At23L*gtu31; + CCTK_REAL Atm12 = At12L*gtu11 + At22L*gtu12 + At23L*gtu13; - CCTK_REAL Atm22 = At12L*gtu21 + At22L*gtu22 + At23L*gtu32; + CCTK_REAL Atm22 = At12L*gtu12 + At22L*gtu22 + At23L*gtu23; - CCTK_REAL Atm32 = At12L*gtu31 + At22L*gtu32 + At23L*gtu33; + CCTK_REAL Atm32 = At12L*gtu13 + At22L*gtu23 + At23L*gtu33; - CCTK_REAL Atm13 = At13L*gtu11 + At23L*gtu21 + At33L*gtu31; + CCTK_REAL Atm13 = At13L*gtu11 + At23L*gtu12 + At33L*gtu13; - CCTK_REAL Atm23 = At13L*gtu21 + At23L*gtu22 + At33L*gtu32; + CCTK_REAL Atm23 = At13L*gtu12 + At23L*gtu22 + At33L*gtu23; - CCTK_REAL Atm33 = At13L*gtu31 + At23L*gtu32 + At33L*gtu33; + CCTK_REAL Atm33 = At13L*gtu13 + At23L*gtu23 + At33L*gtu33; CCTK_REAL e4phi = IfThen(conformalMethod,pow(phiL,-2),exp(4*phiL)); @@ -1067,13 +1079,13 @@ void ML_BSSN_MP_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int CCTK_REAL gu11 = em4phi*gtu11; - CCTK_REAL gu21 = em4phi*gtu21; + CCTK_REAL gu12 = em4phi*gtu12; - CCTK_REAL gu31 = em4phi*gtu31; + CCTK_REAL gu13 = em4phi*gtu13; CCTK_REAL gu22 = em4phi*gtu22; - CCTK_REAL gu32 = em4phi*gtu32; + CCTK_REAL gu23 = em4phi*gtu23; CCTK_REAL gu33 = em4phi*gtu33; @@ -1089,8 +1101,8 @@ void ML_BSSN_MP_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int CCTK_REAL R33 = Rphi33 + Rt33; - CCTK_REAL trS = em4phi*(eTxxL*gtu11 + eTyyL*gtu22 + 2*(eTxyL*gtu21 + - eTxzL*gtu31 + eTyzL*gtu32) + eTzzL*gtu33); + CCTK_REAL trS = em4phi*(eTxxL*gtu11 + eTyyL*gtu22 + 2*(eTxyL*gtu12 + + eTxzL*gtu13 + eTyzL*gtu23) + eTzzL*gtu33); CCTK_REAL Ats11 = (-dJ111L + 4*cdphi1*J11L + Gt111*J11L + Gt211*J12L + Gt311*J13L)*PDstandardNth1alpha - 2*(J11L*J21L*PDstandardNth12alpha + @@ -1158,8 +1170,8 @@ void ML_BSSN_MP_RHS2_Body(cGH const * restrict const cctkGH, int const dir, int PDstandardNth11alpha*SQR(J13L) - PDstandardNth22alpha*SQR(J23L) - PDstandardNth33alpha*SQR(J33L); - CCTK_REAL trAts = Ats11*gu11 + Ats22*gu22 + 2*(Ats12*gu21 + Ats13*gu31 - + Ats23*gu32) + Ats33*gu33; + CCTK_REAL trAts = Ats11*gu11 + Ats22*gu22 + 2*(Ats12*gu12 + Ats13*gu13 + + Ats23*gu23) + Ats33*gu33; CCTK_REAL At11rhsL = (epsdiss1*J11L + epsdiss2*J12L + epsdiss3*J13L)*PDdissipationNth1At11 + (epsdiss1*J21L + epsdiss2*J22L + diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_RHSRadiativeBoundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_RHSRadiativeBoundary.c index 12791d7..07ffc36 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_RHSRadiativeBoundary.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_RHSRadiativeBoundary.c @@ -20,6 +20,42 @@ #define CUB(x) ((x) * (x) * (x)) #define QAD(x) ((x) * (x) * (x) * (x)) +void ML_BSSN_MP_RHSRadiativeBoundary_SelectBCs(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + CCTK_INT ierr = 0; + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_curvrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_curvrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_dtlapserhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_dtlapserhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_dtshiftrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_dtshiftrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_Gammarhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_Gammarhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_lapserhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_lapserhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_log_confacrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_log_confacrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_metricrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_metricrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_shiftrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_shiftrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_trace_curvrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_trace_curvrhs."); + return; +} + void ML_BSSN_MP_RHSRadiativeBoundary_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) { DECLARE_CCTK_ARGUMENTS; @@ -140,13 +176,13 @@ void ML_BSSN_MP_RHSRadiativeBoundary_Body(cGH const * restrict const cctkGH, int CCTK_REAL gtu11 = INV(detgt)*(gt22L*gt33L - SQR(gt23L)); - CCTK_REAL gtu21 = (gt13L*gt23L - gt12L*gt33L)*INV(detgt); + CCTK_REAL gtu12 = (gt13L*gt23L - gt12L*gt33L)*INV(detgt); - CCTK_REAL gtu31 = (-(gt13L*gt22L) + gt12L*gt23L)*INV(detgt); + CCTK_REAL gtu13 = (-(gt13L*gt22L) + gt12L*gt23L)*INV(detgt); CCTK_REAL gtu22 = INV(detgt)*(gt11L*gt33L - SQR(gt13L)); - CCTK_REAL gtu32 = (gt12L*gt13L - gt11L*gt23L)*INV(detgt); + CCTK_REAL gtu23 = (gt12L*gt13L - gt11L*gt23L)*INV(detgt); CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); @@ -154,13 +190,13 @@ void ML_BSSN_MP_RHSRadiativeBoundary_Body(cGH const * restrict const cctkGH, int CCTK_REAL gu11 = em4phi*gtu11; - CCTK_REAL gu21 = em4phi*gtu21; + CCTK_REAL gu12 = em4phi*gtu12; - CCTK_REAL gu31 = em4phi*gtu31; + CCTK_REAL gu13 = em4phi*gtu13; CCTK_REAL gu22 = em4phi*gtu22; - CCTK_REAL gu32 = em4phi*gtu32; + CCTK_REAL gu23 = em4phi*gtu23; CCTK_REAL gu33 = em4phi*gtu33; @@ -170,11 +206,11 @@ void ML_BSSN_MP_RHSRadiativeBoundary_Body(cGH const * restrict const cctkGH, int CCTK_REAL nn3 = normal[2]; - CCTK_REAL nu1 = gu11*nn1 + gu21*nn2 + gu31*nn3; + CCTK_REAL nu1 = gu11*nn1 + gu12*nn2 + gu13*nn3; - CCTK_REAL nu2 = gu21*nn1 + gu22*nn2 + gu32*nn3; + CCTK_REAL nu2 = gu12*nn1 + gu22*nn2 + gu23*nn3; - CCTK_REAL nu3 = gu31*nn1 + gu32*nn2 + gu33*nn3; + CCTK_REAL nu3 = gu13*nn1 + gu23*nn2 + gu33*nn3; CCTK_REAL nlen2 = nn1*nu1 + nn2*nu2 + nn3*nu3; diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_RHSStaticBoundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_RHSStaticBoundary.c index c34d81e..a505bfd 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_RHSStaticBoundary.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_RHSStaticBoundary.c @@ -20,6 +20,42 @@ #define CUB(x) ((x) * (x) * (x)) #define QAD(x) ((x) * (x) * (x) * (x)) +void ML_BSSN_MP_RHSStaticBoundary_SelectBCs(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + CCTK_INT ierr = 0; + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_curvrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_curvrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_dtlapserhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_dtlapserhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_dtshiftrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_dtshiftrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_Gammarhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_Gammarhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_lapserhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_lapserhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_log_confacrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_log_confacrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_metricrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_metricrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_shiftrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_shiftrhs."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_trace_curvrhs","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_trace_curvrhs."); + return; +} + void ML_BSSN_MP_RHSStaticBoundary_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) { DECLARE_CCTK_ARGUMENTS; diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c index 0b11243..f484db3 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c @@ -20,6 +20,42 @@ #define CUB(x) ((x) * (x) * (x)) #define QAD(x) ((x) * (x) * (x) * (x)) +void ML_BSSN_MP_boundary_SelectBCs(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + CCTK_INT ierr = 0; + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_curv","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_curv."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_dtlapse","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_dtlapse."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_dtshift","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_dtshift."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_Gamma","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_Gamma."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_lapse","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_lapse."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_log_confac","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_log_confac."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_metric","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_metric."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_shift","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_shift."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_trace_curv","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_trace_curv."); + return; +} + void ML_BSSN_MP_boundary_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) { DECLARE_CCTK_ARGUMENTS; diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_constraints.c b/ML_BSSN_MP/src/ML_BSSN_MP_constraints.c index 23561db..03e95e8 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_constraints.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_constraints.c @@ -20,6 +20,30 @@ #define CUB(x) ((x) * (x) * (x)) #define QAD(x) ((x) * (x) * (x) * (x)) +void ML_BSSN_MP_constraints_SelectBCs(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + CCTK_INT ierr = 0; + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_cons_detg","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_cons_detg."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_cons_Gamma","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_cons_Gamma."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_cons_traceA","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_cons_traceA."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_Ham","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_Ham."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_mom","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_mom."); + return; +} + void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) { DECLARE_CCTK_ARGUMENTS; @@ -344,61 +368,61 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di CCTK_REAL gtu11 = INV(detgt)*(gt22L*gt33L - SQR(gt23L)); - CCTK_REAL gtu21 = (gt13L*gt23L - gt12L*gt33L)*INV(detgt); + CCTK_REAL gtu12 = (gt13L*gt23L - gt12L*gt33L)*INV(detgt); - CCTK_REAL gtu31 = (-(gt13L*gt22L) + gt12L*gt23L)*INV(detgt); + CCTK_REAL gtu13 = (-(gt13L*gt22L) + gt12L*gt23L)*INV(detgt); CCTK_REAL gtu22 = INV(detgt)*(gt11L*gt33L - SQR(gt13L)); - CCTK_REAL gtu32 = (gt12L*gt13L - gt11L*gt23L)*INV(detgt); + CCTK_REAL gtu23 = (gt12L*gt13L - gt11L*gt23L)*INV(detgt); CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - CCTK_REAL Gt111 = khalf*((gtu11*J11L - gtu21*J12L - - gtu31*J13L)*PDstandardNth1gt11 + (gtu11*J21L - gtu21*J22L - - gtu31*J23L)*PDstandardNth2gt11 + (gtu11*J31L - gtu21*J32L - - gtu31*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu21*PDstandardNth1gt12 + - gtu31*PDstandardNth1gt13) + J21L*(gtu21*PDstandardNth2gt12 + - gtu31*PDstandardNth2gt13) + J31L*(gtu21*PDstandardNth3gt12 + - gtu31*PDstandardNth3gt13))); - - CCTK_REAL Gt211 = khalf*((gtu21*J11L - gtu22*J12L - - gtu32*J13L)*PDstandardNth1gt11 + (gtu21*J21L - gtu22*J22L - - gtu32*J23L)*PDstandardNth2gt11 + (gtu21*J31L - gtu22*J32L - - gtu32*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu22*PDstandardNth1gt12 + - gtu32*PDstandardNth1gt13) + J21L*(gtu22*PDstandardNth2gt12 + - gtu32*PDstandardNth2gt13) + J31L*(gtu22*PDstandardNth3gt12 + - gtu32*PDstandardNth3gt13))); - - CCTK_REAL Gt311 = khalf*((gtu31*J11L - gtu32*J12L - - gtu33*J13L)*PDstandardNth1gt11 + (gtu31*J21L - gtu32*J22L - - gtu33*J23L)*PDstandardNth2gt11 + (gtu31*J31L - gtu32*J32L - - gtu33*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu32*PDstandardNth1gt12 + - gtu33*PDstandardNth1gt13) + J21L*(gtu32*PDstandardNth2gt12 + - gtu33*PDstandardNth2gt13) + J31L*(gtu32*PDstandardNth3gt12 + + CCTK_REAL Gt111 = khalf*((gtu11*J11L - gtu12*J12L - + gtu13*J13L)*PDstandardNth1gt11 + (gtu11*J21L - gtu12*J22L - + gtu13*J23L)*PDstandardNth2gt11 + (gtu11*J31L - gtu12*J32L - + gtu13*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu12*PDstandardNth1gt12 + + gtu13*PDstandardNth1gt13) + J21L*(gtu12*PDstandardNth2gt12 + + gtu13*PDstandardNth2gt13) + J31L*(gtu12*PDstandardNth3gt12 + + gtu13*PDstandardNth3gt13))); + + CCTK_REAL Gt211 = khalf*((gtu12*J11L - gtu22*J12L - + gtu23*J13L)*PDstandardNth1gt11 + (gtu12*J21L - gtu22*J22L - + gtu23*J23L)*PDstandardNth2gt11 + (gtu12*J31L - gtu22*J32L - + gtu23*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu22*PDstandardNth1gt12 + + gtu23*PDstandardNth1gt13) + J21L*(gtu22*PDstandardNth2gt12 + + gtu23*PDstandardNth2gt13) + J31L*(gtu22*PDstandardNth3gt12 + + gtu23*PDstandardNth3gt13))); + + CCTK_REAL Gt311 = khalf*((gtu13*J11L - gtu23*J12L - + gtu33*J13L)*PDstandardNth1gt11 + (gtu13*J21L - gtu23*J22L - + gtu33*J23L)*PDstandardNth2gt11 + (gtu13*J31L - gtu23*J32L - + gtu33*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu23*PDstandardNth1gt12 + + gtu33*PDstandardNth1gt13) + J21L*(gtu23*PDstandardNth2gt12 + + gtu33*PDstandardNth2gt13) + J31L*(gtu23*PDstandardNth3gt12 + gtu33*PDstandardNth3gt13))); CCTK_REAL Gt112 = khalf*(gtu11*(J12L*PDstandardNth1gt11 + J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) + - gtu21*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + - J31L*PDstandardNth3gt22) + gtu31*(-(J13L*PDstandardNth1gt12) + + gtu12*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + + J31L*PDstandardNth3gt22) + gtu13*(-(J13L*PDstandardNth1gt12) + J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23)); - CCTK_REAL Gt212 = khalf*(gtu21*(J12L*PDstandardNth1gt11 + + CCTK_REAL Gt212 = khalf*(gtu12*(J12L*PDstandardNth1gt11 + J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) + gtu22*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + - J31L*PDstandardNth3gt22) + gtu32*(-(J13L*PDstandardNth1gt12) + + J31L*PDstandardNth3gt22) + gtu23*(-(J13L*PDstandardNth1gt12) + J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23)); - CCTK_REAL Gt312 = khalf*(gtu31*(J12L*PDstandardNth1gt11 + + CCTK_REAL Gt312 = khalf*(gtu13*(J12L*PDstandardNth1gt11 + J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) + - gtu32*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + + gtu23*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22) + gtu33*(-(J13L*PDstandardNth1gt12) + J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 + @@ -407,25 +431,25 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di CCTK_REAL Gt113 = khalf*(gtu11*(J13L*PDstandardNth1gt11 + J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) + - gtu21*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + + gtu12*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 - J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 + - J31L*PDstandardNth3gt23) + gtu31*(J11L*PDstandardNth1gt33 + + J31L*PDstandardNth3gt23) + gtu13*(J11L*PDstandardNth1gt33 + J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33)); - CCTK_REAL Gt213 = khalf*(gtu21*(J13L*PDstandardNth1gt11 + + CCTK_REAL Gt213 = khalf*(gtu12*(J13L*PDstandardNth1gt11 + J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) + gtu22*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 - J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 + - J31L*PDstandardNth3gt23) + gtu32*(J11L*PDstandardNth1gt33 + + J31L*PDstandardNth3gt23) + gtu23*(J11L*PDstandardNth1gt33 + J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33)); - CCTK_REAL Gt313 = khalf*(gtu31*(J13L*PDstandardNth1gt11 + + CCTK_REAL Gt313 = khalf*(gtu13*(J13L*PDstandardNth1gt11 + J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) + - gtu32*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + + gtu23*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 - J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 + @@ -435,51 +459,51 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di CCTK_REAL Gt122 = khalf*(gtu11*(-(J11L*PDstandardNth1gt22) + 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) - J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 - - J31L*PDstandardNth3gt22) + gtu21*(J12L*PDstandardNth1gt22 + + J31L*PDstandardNth3gt22) + gtu12*(J12L*PDstandardNth1gt22 + J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) - - gtu31*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + + gtu13*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 + J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23))); - CCTK_REAL Gt222 = khalf*(gtu21*(-(J11L*PDstandardNth1gt22) + + CCTK_REAL Gt222 = khalf*(gtu12*(-(J11L*PDstandardNth1gt22) + 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) - J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 - J31L*PDstandardNth3gt22) + gtu22*(J12L*PDstandardNth1gt22 + J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) - - gtu32*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + + gtu23*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 + J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23))); - CCTK_REAL Gt322 = khalf*(gtu31*(-(J11L*PDstandardNth1gt22) + + CCTK_REAL Gt322 = khalf*(gtu13*(-(J11L*PDstandardNth1gt22) + 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) - J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 - - J31L*PDstandardNth3gt22) + gtu32*(J12L*PDstandardNth1gt22 + + J31L*PDstandardNth3gt22) + gtu23*(J12L*PDstandardNth1gt22 + J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) - gtu33*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 + J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23))); - CCTK_REAL Gt123 = khalf*(gtu21*(J13L*PDstandardNth1gt22 + + CCTK_REAL Gt123 = khalf*(gtu12*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) + gtu11*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt23) + gtu31*(J12L*PDstandardNth1gt33 + + J31L*PDstandardNth3gt23) + gtu13*(J12L*PDstandardNth1gt33 + J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33)); CCTK_REAL Gt223 = khalf*(gtu22*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) + - gtu21*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - + gtu12*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt23) + gtu32*(J12L*PDstandardNth1gt33 + + J31L*PDstandardNth3gt23) + gtu23*(J12L*PDstandardNth1gt33 + J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33)); - CCTK_REAL Gt323 = khalf*(gtu32*(J13L*PDstandardNth1gt22 + + CCTK_REAL Gt323 = khalf*(gtu23*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) + - gtu31*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - + gtu13*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 - @@ -489,25 +513,25 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di CCTK_REAL Gt133 = khalf*(gtu11*(-(J11L*PDstandardNth1gt33) + 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) - J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt33) + gtu21*(-(J12L*PDstandardNth1gt33) + + J31L*PDstandardNth3gt33) + gtu12*(-(J12L*PDstandardNth1gt33) + 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) - J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 - - J32L*PDstandardNth3gt33) + gtu31*(J13L*PDstandardNth1gt33 + + J32L*PDstandardNth3gt33) + gtu13*(J13L*PDstandardNth1gt33 + J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33)); - CCTK_REAL Gt233 = khalf*(gtu21*(-(J11L*PDstandardNth1gt33) + + CCTK_REAL Gt233 = khalf*(gtu12*(-(J11L*PDstandardNth1gt33) + 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) - J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 - J31L*PDstandardNth3gt33) + gtu22*(-(J12L*PDstandardNth1gt33) + 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) - J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 - - J32L*PDstandardNth3gt33) + gtu32*(J13L*PDstandardNth1gt33 + + J32L*PDstandardNth3gt33) + gtu23*(J13L*PDstandardNth1gt33 + J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33)); - CCTK_REAL Gt333 = khalf*(gtu31*(-(J11L*PDstandardNth1gt33) + + CCTK_REAL Gt333 = khalf*(gtu13*(-(J11L*PDstandardNth1gt33) + 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) - J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt33) + gtu32*(-(J12L*PDstandardNth1gt33) + + J31L*PDstandardNth3gt33) + gtu23*(-(J12L*PDstandardNth1gt33) + 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) - J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 - J32L*PDstandardNth3gt33) + gtu33*(J13L*PDstandardNth1gt33 + @@ -519,14 +543,14 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di + Gt133*Gt312 + Gt123*(Gt212 + Gt313))) + gt13L*(2*Gt213*Gt322 + Gt313*(4*Gt112 + 2*Gt323)) + 2*(Gt213*(Gt212*gt22L + gt23L*Gt312) + Gt212*(gt23L*Gt313 + gt13L*Gt323) + Gt312*(gt13L*Gt333 + - Gt313*gt33L)))*gtu32 + J11L*(gt11L*PDstandardNth1Xt1 + + Gt313*gt33L)))*gtu23 + J11L*(gt11L*PDstandardNth1Xt1 + gt12L*PDstandardNth1Xt2 + gt13L*PDstandardNth1Xt3) + J21L*(gt11L*PDstandardNth2Xt1 + gt12L*PDstandardNth2Xt2 + gt13L*PDstandardNth2Xt3) + J31L*(gt11L*PDstandardNth3Xt1 + gt12L*PDstandardNth3Xt2 + gt13L*PDstandardNth3Xt3) + (Gt111*gt11L + gt12L*Gt211 + gt13L*Gt311)*Xt1L + (Gt112*gt11L + gt12L*Gt212 + gt13L*Gt312)*Xt2L + (Gt113*gt11L + gt12L*Gt213 + gt13L*Gt313)*Xt3L + - gtu21*(Gt112*(gt13L*Gt311 + 3*(gt12L*Gt211 + gt13L*Gt311)) + + gtu12*(Gt112*(gt13L*Gt311 + 3*(gt12L*Gt211 + gt13L*Gt311)) + gt11L*(Gt112*(6*Gt111 + 2*Gt212) + 2*(Gt122*Gt211 + Gt123*Gt311 + Gt113*Gt312)) + 2*(Gt212*(Gt211*gt22L + gt23L*Gt311 + gt13L*Gt312) + gt13L*(Gt211*Gt322 + Gt311*Gt323)) + Gt312*(gt13L*(4*Gt111 + 2*Gt313) + @@ -542,26 +566,26 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di gtu33*(4*Gt113*(gt12L*Gt213 + gt13L*Gt313) + 2*(gt12L*(Gt213*Gt223 + Gt233*Gt313) + Gt213*(gt23L*Gt313 + gt13L*Gt323) + gt13L*Gt313*Gt333) + gt11L*(2*(Gt123*Gt213 + Gt133*Gt313) + 3*SQR(Gt113)) + gt22L*SQR(Gt213) - + gt33L*SQR(Gt313)) + gtu31*(Gt113*(gt13L*Gt311 + 3*(gt12L*Gt211 + + + gt33L*SQR(Gt313)) + gtu13*(Gt113*(gt13L*Gt311 + 3*(gt12L*Gt211 + gt13L*Gt311)) + gt11L*(2*(Gt123*Gt211 + Gt112*Gt213 + Gt133*Gt311) + Gt113*(6*Gt111 + 2*Gt313)) + gt12L*(Gt211*(Gt113 + 2*Gt223) + 2*Gt233*Gt311 + Gt213*(4*Gt111 + 2*(Gt212 + Gt313))) + 2*(Gt213*(Gt211*gt22L + gt23L*Gt311 + gt13L*Gt312) + gt13L*Gt311*Gt333 + Gt313*(Gt211*gt23L + Gt311*gt33L)) + gt13L*(4*Gt111*Gt313 + 2*(Gt211*Gt323 + SQR(Gt313)))) + - khalf*(-2*(gtu21*(J11L*J12L*PDstandardNth11gt11 + + khalf*(-2*(gtu12*(J11L*J12L*PDstandardNth11gt11 + J12L*J21L*PDstandardNth12gt11 + J11L*J22L*PDstandardNth12gt11 + J12L*J31L*PDstandardNth13gt11 + J11L*J32L*PDstandardNth13gt11 + dJ112L*PDstandardNth1gt11 + J21L*J22L*PDstandardNth22gt11 + J22L*J31L*PDstandardNth23gt11 + J21L*J32L*PDstandardNth23gt11 + dJ212L*PDstandardNth2gt11 + J31L*J32L*PDstandardNth33gt11 + - dJ312L*PDstandardNth3gt11) + gtu31*(J11L*J13L*PDstandardNth11gt11 + + dJ312L*PDstandardNth3gt11) + gtu13*(J11L*J13L*PDstandardNth11gt11 + J13L*J21L*PDstandardNth12gt11 + J11L*J23L*PDstandardNth12gt11 + J13L*J31L*PDstandardNth13gt11 + J11L*J33L*PDstandardNth13gt11 + dJ113L*PDstandardNth1gt11 + J21L*J23L*PDstandardNth22gt11 + J23L*J31L*PDstandardNth23gt11 + J21L*J33L*PDstandardNth23gt11 + dJ213L*PDstandardNth2gt11 + J31L*J33L*PDstandardNth33gt11 + - dJ313L*PDstandardNth3gt11) + gtu32*(J12L*J13L*PDstandardNth11gt11 + + dJ313L*PDstandardNth3gt11) + gtu23*(J12L*J13L*PDstandardNth11gt11 + J13L*J22L*PDstandardNth12gt11 + J12L*J23L*PDstandardNth12gt11 + J13L*J32L*PDstandardNth13gt11 + J12L*J33L*PDstandardNth13gt11 + dJ123L*PDstandardNth1gt11 + J22L*J23L*PDstandardNth22gt11 + @@ -588,19 +612,19 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di gt13L*J12L)*PDstandardNth1Xt3 + (gt12L*J21L + gt11L*J22L)*PDstandardNth2Xt1 + (gt22L*J21L + gt12L*J22L)*PDstandardNth2Xt2 + (gt23L*J21L + - gt13L*J22L)*PDstandardNth2Xt3 - 2*(gtu21*(J11L*J12L*PDstandardNth11gt12 + gt13L*J22L)*PDstandardNth2Xt3 - 2*(gtu12*(J11L*J12L*PDstandardNth11gt12 + J12L*J21L*PDstandardNth12gt12 + J11L*J22L*PDstandardNth12gt12 + J12L*J31L*PDstandardNth13gt12 + J11L*J32L*PDstandardNth13gt12 + dJ112L*PDstandardNth1gt12 + J21L*J22L*PDstandardNth22gt12 + J22L*J31L*PDstandardNth23gt12 + J21L*J32L*PDstandardNth23gt12 + dJ212L*PDstandardNth2gt12 + J31L*J32L*PDstandardNth33gt12 + - dJ312L*PDstandardNth3gt12) + gtu31*(J11L*J13L*PDstandardNth11gt12 + + dJ312L*PDstandardNth3gt12) + gtu13*(J11L*J13L*PDstandardNth11gt12 + J13L*J21L*PDstandardNth12gt12 + J11L*J23L*PDstandardNth12gt12 + J13L*J31L*PDstandardNth13gt12 + J11L*J33L*PDstandardNth13gt12 + dJ113L*PDstandardNth1gt12 + J21L*J23L*PDstandardNth22gt12 + J23L*J31L*PDstandardNth23gt12 + J21L*J33L*PDstandardNth23gt12 + dJ213L*PDstandardNth2gt12 + J31L*J33L*PDstandardNth33gt12 + - dJ313L*PDstandardNth3gt12) + gtu32*(J12L*J13L*PDstandardNth11gt12 + + dJ313L*PDstandardNth3gt12) + gtu23*(J12L*J13L*PDstandardNth11gt12 + J13L*J22L*PDstandardNth12gt12 + J12L*J23L*PDstandardNth12gt12 + J13L*J32L*PDstandardNth13gt12 + J12L*J33L*PDstandardNth13gt12 + dJ123L*PDstandardNth1gt12 + J22L*J23L*PDstandardNth22gt12 + @@ -620,7 +644,7 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di Gt213*gt23L*Gt312 + gt11L*(2*Gt112*Gt113 + Gt123*Gt212 + Gt133*Gt312) + 2*Gt112*gt13L*Gt313 + Gt212*gt23L*Gt313 + Gt111*(Gt113*gt12L + Gt213*gt22L + gt23L*Gt313) + gt13L*Gt212*Gt323 + Gt211*gt23L*Gt323 + - gt23L*Gt311*Gt333 + gt13L*Gt312*Gt333 + Gt312*Gt313*gt33L)*gtu31 + + gt23L*Gt311*Gt333 + gt13L*Gt312*Gt333 + Gt312*Gt313*gt33L)*gtu13 + (Gt123*gt12L*Gt212 + 2*Gt122*gt12L*Gt213 + Gt113*gt12L*Gt222 + gt12L*Gt222*Gt223 + Gt213*Gt222*gt22L + Gt212*Gt223*gt22L + gt12L*Gt133*Gt312 + gt22L*Gt233*Gt312 + 2*Gt122*gt13L*Gt313 + @@ -628,14 +652,14 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di Gt113*gt13L*Gt322 + gt12L*Gt233*Gt322 + Gt213*gt23L*Gt322 + gt11L*(2*Gt113*Gt122 + Gt123*Gt222 + Gt133*Gt322) + gt13L*Gt222*Gt323 + Gt212*gt23L*Gt323 + gt23L*Gt312*Gt333 + gt13L*Gt322*Gt333 + - Gt313*Gt322*gt33L)*gtu32 + gtu11*(3*Gt112*gt12L*Gt211 + + Gt313*Gt322*gt33L)*gtu23 + gtu11*(3*Gt112*gt12L*Gt211 + 2*Gt211*Gt212*gt22L + Gt113*gt12L*Gt311 + 2*Gt112*gt13L*Gt311 + Gt213*gt22L*Gt311 + Gt212*gt23L*Gt311 + gt13L*Gt212*Gt312 + gt12L*Gt213*Gt312 + 2*Gt211*gt23L*Gt312 + gt11L*(2*Gt111*Gt112 + Gt112*Gt212 + Gt113*Gt312) + Gt111*(gt12L*Gt212 + Gt211*gt22L + gt23L*Gt311 + gt13L*Gt312) + gt23L*Gt311*Gt313 + gt13L*Gt312*Gt313 + Gt311*Gt312*gt33L + gt12L*SQR(Gt111) + gt12L*SQR(Gt212)) + - gtu21*(Gt112*gt11L*Gt222 + Gt112*Gt211*gt22L + Gt211*Gt222*gt22L + + gtu12*(Gt112*gt11L*Gt222 + Gt112*Gt211*gt22L + Gt211*Gt222*gt22L + 2*Gt122*gt13L*Gt311 + Gt112*gt23L*Gt311 + Gt222*gt23L*Gt311 + gt13L*Gt222*Gt312 + Gt213*gt22L*Gt312 + Gt212*gt23L*Gt312 + gt23L*Gt312*Gt313 + Gt113*gt11L*Gt322 + Gt211*gt23L*Gt322 + @@ -654,21 +678,21 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di Gt113*(2*gt11L*Gt123 + gt12L*Gt223 + Gt213*gt22L + gt23L*Gt313 + gt13L*Gt323) + gt23L*Gt313*Gt333 + gt13L*Gt323*Gt333 + Gt313*Gt323*gt33L + gt12L*SQR(Gt113) + gt12L*(3*Gt123*Gt213 + - Gt133*Gt313 + Gt233*Gt323 + SQR(Gt223))) + gtu21*(Gt122*gt12L*Gt211 + + Gt133*Gt313 + Gt233*Gt323 + SQR(Gt223))) + gtu12*(Gt122*gt12L*Gt211 + 3*Gt112*gt12L*Gt212 + gt12L*Gt212*Gt222 + Gt211*Gt222*gt22L + Gt123*gt12L*Gt311 + Gt223*gt22L*Gt311 + 3*Gt112*gt13L*Gt312 + gt12L*Gt223*Gt312 + 2*Gt212*gt23L*Gt312 + Gt111*(Gt112*gt12L + Gt212*gt22L + gt23L*Gt312) + gt13L*Gt212*Gt322 + Gt211*gt23L*Gt322 + gt23L*Gt311*Gt323 + gt13L*Gt312*Gt323 + gt11L*(Gt122*Gt212 + Gt123*Gt312 + 2*SQR(Gt112)) + gt22L*SQR(Gt212) + gt33L*SQR(Gt312)) + - gtu31*(Gt112*gt11L*Gt223 + Gt113*Gt211*gt22L + Gt212*Gt213*gt22L + + gtu13*(Gt112*gt11L*Gt223 + Gt113*Gt211*gt22L + Gt212*Gt213*gt22L + Gt211*Gt223*gt22L + 2*Gt123*gt13L*Gt311 + Gt113*gt23L*Gt311 + Gt223*gt23L*Gt311 + gt13L*Gt223*Gt312 + Gt213*gt23L*Gt312 + Gt213*gt22L*Gt313 + Gt113*gt11L*Gt323 + Gt211*gt23L*Gt323 + gt13L*Gt313*Gt323 + Gt111*(2*gt11L*Gt123 + Gt113*gt12L + gt12L*Gt223 + gt13L*Gt323) + gt12L*(2*Gt123*Gt211 + Gt112*Gt213 + Gt212*Gt223 + Gt113*Gt313 + Gt213*Gt323) + Gt311*Gt323*gt33L + gt23L*SQR(Gt313)) + - gtu32*(gt11L*Gt122*Gt223 + Gt113*Gt212*gt22L + Gt213*Gt222*gt22L + + gtu23*(gt11L*Gt122*Gt223 + Gt113*Gt212*gt22L + Gt213*Gt222*gt22L + Gt212*Gt223*gt22L + 2*Gt123*gt13L*Gt312 + Gt113*gt23L*Gt312 + Gt223*gt23L*Gt312 + Gt223*gt22L*Gt313 + gt13L*Gt223*Gt322 + Gt213*gt23L*Gt322 + gt11L*Gt123*Gt323 + Gt212*gt23L*Gt323 + @@ -696,19 +720,19 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di gt13L*J13L)*PDstandardNth1Xt3 + (gt13L*J21L + gt11L*J23L)*PDstandardNth2Xt1 + (gt23L*J21L + gt12L*J23L)*PDstandardNth2Xt2 + (gt33L*J21L + - gt13L*J23L)*PDstandardNth2Xt3 - 2*(gtu21*(J11L*J12L*PDstandardNth11gt13 + gt13L*J23L)*PDstandardNth2Xt3 - 2*(gtu12*(J11L*J12L*PDstandardNth11gt13 + J12L*J21L*PDstandardNth12gt13 + J11L*J22L*PDstandardNth12gt13 + J12L*J31L*PDstandardNth13gt13 + J11L*J32L*PDstandardNth13gt13 + dJ112L*PDstandardNth1gt13 + J21L*J22L*PDstandardNth22gt13 + J22L*J31L*PDstandardNth23gt13 + J21L*J32L*PDstandardNth23gt13 + dJ212L*PDstandardNth2gt13 + J31L*J32L*PDstandardNth33gt13 + - dJ312L*PDstandardNth3gt13) + gtu31*(J11L*J13L*PDstandardNth11gt13 + + dJ312L*PDstandardNth3gt13) + gtu13*(J11L*J13L*PDstandardNth11gt13 + J13L*J21L*PDstandardNth12gt13 + J11L*J23L*PDstandardNth12gt13 + J13L*J31L*PDstandardNth13gt13 + J11L*J33L*PDstandardNth13gt13 + dJ113L*PDstandardNth1gt13 + J21L*J23L*PDstandardNth22gt13 + J23L*J31L*PDstandardNth23gt13 + J21L*J33L*PDstandardNth23gt13 + dJ213L*PDstandardNth2gt13 + J31L*J33L*PDstandardNth33gt13 + - dJ313L*PDstandardNth3gt13) + gtu32*(J12L*J13L*PDstandardNth11gt13 + + dJ313L*PDstandardNth3gt13) + gtu23*(J12L*J13L*PDstandardNth11gt13 + J13L*J22L*PDstandardNth12gt13 + J12L*J23L*PDstandardNth12gt13 + J13L*J32L*PDstandardNth13gt13 + J12L*J33L*PDstandardNth13gt13 + dJ123L*PDstandardNth1gt13 + J22L*J23L*PDstandardNth22gt13 + @@ -729,22 +753,22 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di gt11L*(2*Gt112*Gt113 + Gt122*Gt213 + Gt123*Gt313) + gt13L*Gt213*Gt322 + gt13L*Gt313*Gt323 + Gt312*Gt313*gt33L + Gt211*Gt322*gt33L + Gt311*Gt323*gt33L + Gt111*(Gt112*gt13L + Gt212*gt23L + - Gt312*gt33L))*gtu21 + (Gt122*gt13L*Gt213 + gt11L*Gt122*Gt233 + + Gt312*gt33L))*gtu12 + (Gt122*gt13L*Gt213 + gt11L*Gt122*Gt233 + Gt212*gt22L*Gt233 + Gt113*Gt212*gt23L + Gt213*Gt222*gt23L + 2*Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + Gt123*gt13L*Gt313 + Gt223*gt23L*Gt313 + gt13L*Gt233*Gt322 + gt11L*Gt123*Gt333 + Gt212*gt23L*Gt333 + gt13L*Gt323*Gt333 + Gt112*(2*gt11L*Gt133 + Gt113*gt13L + gt12L*Gt233 + gt13L*Gt333) + gt12L*(2*Gt133*Gt212 + Gt222*Gt233 + Gt223*Gt333) + Gt113*Gt312*gt33L + Gt213*Gt322*gt33L + - Gt313*Gt323*gt33L + Gt312*Gt333*gt33L)*gtu32 + - gtu21*(2*Gt123*gt12L*Gt211 + Gt112*gt13L*Gt212 + gt12L*Gt212*Gt223 + + Gt313*Gt323*gt33L + Gt312*Gt333*gt33L)*gtu23 + + gtu12*(2*Gt123*gt12L*Gt211 + Gt112*gt13L*Gt212 + gt12L*Gt212*Gt223 + Gt211*Gt223*gt22L + Gt112*Gt211*gt23L + 2*Gt123*gt13L*Gt311 + Gt223*gt23L*Gt311 + Gt113*gt13L*Gt312 + gt13L*Gt223*Gt312 + Gt213*gt23L*Gt312 + gt12L*Gt213*Gt323 + Gt211*gt23L*Gt323 + gt13L*Gt313*Gt323 + gt11L*(2*Gt111*Gt123 + Gt112*Gt223 + Gt113*Gt323) + Gt111*(Gt112*gt13L + gt12L*Gt223 + gt13L*Gt323) + Gt112*Gt311*gt33L + Gt212*Gt312*gt33L + Gt312*Gt313*gt33L + Gt311*Gt323*gt33L + - gt23L*SQR(Gt212)) + gtu32*(Gt123*gt13L*Gt212 + 2*Gt123*gt12L*Gt213 + + gt23L*SQR(Gt212)) + gtu23*(Gt123*gt13L*Gt212 + 2*Gt123*gt12L*Gt213 + Gt113*gt12L*Gt223 + Gt213*Gt223*gt22L + Gt212*Gt223*gt23L + Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + 2*Gt123*gt13L*Gt313 + Gt223*gt23L*Gt313 + Gt113*gt13L*Gt323 + gt13L*Gt223*Gt323 + @@ -758,14 +782,14 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di Gt211*gt23L*Gt313 + gt11L*(2*Gt111*Gt113 + Gt112*Gt213 + Gt113*Gt313) + Gt211*Gt312*gt33L + 2*Gt311*Gt313*gt33L + Gt111*(gt12L*Gt213 + Gt211*gt23L + gt13L*Gt313 + Gt311*gt33L) + gt13L*SQR(Gt111) + - gt13L*SQR(Gt313)) + gtu31*(Gt112*gt13L*Gt213 + Gt112*gt11L*Gt233 + + gt13L*SQR(Gt313)) + gtu13*(Gt112*gt13L*Gt213 + Gt112*gt11L*Gt233 + Gt211*gt22L*Gt233 + Gt113*Gt211*gt23L + Gt212*Gt213*gt23L + 2*Gt133*gt13L*Gt311 + Gt233*gt23L*Gt311 + gt13L*Gt233*Gt312 + Gt113*gt13L*Gt313 + Gt213*gt23L*Gt313 + Gt113*gt11L*Gt333 + Gt211*gt23L*Gt333 + gt13L*Gt313*Gt333 + Gt111*(2*gt11L*Gt133 + Gt113*gt13L + gt12L*Gt233 + gt13L*Gt333) + gt12L*(2*Gt133*Gt211 + Gt212*Gt233 + Gt213*Gt333) + Gt113*Gt311*gt33L + Gt213*Gt312*gt33L + - Gt311*Gt333*gt33L + gt33L*SQR(Gt313)) + gtu31*(Gt123*gt13L*Gt211 + + Gt311*Gt333*gt33L + gt33L*SQR(Gt313)) + gtu13*(Gt123*gt13L*Gt211 + 3*Gt113*gt12L*Gt213 + gt12L*Gt213*Gt223 + Gt211*Gt223*gt23L + Gt133*gt13L*Gt311 + Gt233*gt23L*Gt311 + 3*Gt113*gt13L*Gt313 + gt12L*Gt233*Gt313 + 2*Gt213*gt23L*Gt313 + gt13L*Gt213*Gt323 + @@ -807,14 +831,14 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di gt12L*(2*Gt113 + Gt223) + 2*(Gt213*gt22L + gt23L*Gt313) + gt13L*Gt323) + 2*(Gt113*gt12L*Gt323 + Gt312*(gt12L*Gt133 + gt22L*Gt233 + gt23L*Gt333)) + Gt323*(Gt112*gt13L + 4*Gt212*gt23L + 2*(Gt213*gt22L + - gt23L*Gt313 + Gt312*gt33L)))*gtu31 + J12L*(gt12L*PDstandardNth1Xt1 + + gt23L*Gt313 + Gt312*gt33L)))*gtu13 + J12L*(gt12L*PDstandardNth1Xt1 + gt22L*PDstandardNth1Xt2 + gt23L*PDstandardNth1Xt3) + J22L*(gt12L*PDstandardNth2Xt1 + gt22L*PDstandardNth2Xt2 + gt23L*PDstandardNth2Xt3) + J32L*(gt12L*PDstandardNth3Xt1 + gt22L*PDstandardNth3Xt2 + gt23L*PDstandardNth3Xt3) + (Gt112*gt12L + Gt212*gt22L + gt23L*Gt312)*Xt1L + (Gt122*gt12L + Gt222*gt22L + gt23L*Gt322)*Xt2L + (Gt123*gt12L + Gt223*gt22L + gt23L*Gt323)*Xt3L + - gtu21*(Gt222*(3*Gt112*gt12L + 6*Gt212*gt22L + 4*gt23L*Gt312) + + gtu12*(Gt222*(3*Gt112*gt12L + 6*Gt212*gt22L + 4*gt23L*Gt312) + Gt122*(Gt112*gt11L + gt12L*(2*Gt111 + 4*Gt212) + 2*(Gt211*gt22L + gt23L*Gt311 + gt13L*Gt312)) + Gt112*(gt11L*Gt122 + gt12L*Gt222 + 2*(Gt212*gt22L + gt23L*Gt312) + gt13L*Gt322) + Gt322*(Gt112*gt13L + @@ -830,25 +854,25 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di gtu33*(Gt123*(gt12L*(2*Gt113 + 4*Gt223) + 2*(Gt213*gt22L + gt23L*Gt313 + gt13L*Gt323)) + Gt323*(2*(gt12L*Gt133 + gt22L*Gt233) + gt23L*(4*Gt223 + 2*Gt333)) + gt11L*SQR(Gt123) + 3*gt22L*SQR(Gt223) + gt33L*SQR(Gt323)) - + gtu32*(gt22L*(2*(Gt122*Gt213 + Gt233*Gt322) + Gt223*(6*Gt222 + + + gtu23*(gt22L*(2*(Gt122*Gt213 + Gt233*Gt322) + Gt223*(6*Gt222 + 2*Gt323)) + 4*(gt12L*(Gt123*Gt222 + Gt122*Gt223) + gt23L*(Gt223*Gt322 + Gt222*Gt323)) + 2*(Gt123*(Gt112*gt12L + Gt212*gt22L + gt23L*Gt312 + gt13L*Gt322) + gt12L*(Gt133*Gt322 + Gt123*Gt323) + Gt122*(gt11L*Gt123 + Gt113*gt12L + gt23L*Gt313 + gt13L*Gt323) + Gt322*(gt23L*Gt333 + Gt323*gt33L) + gt23L*SQR(Gt323))) + - khalf*(-2*(gtu21*(J11L*J12L*PDstandardNth11gt22 + + khalf*(-2*(gtu12*(J11L*J12L*PDstandardNth11gt22 + J12L*J21L*PDstandardNth12gt22 + J11L*J22L*PDstandardNth12gt22 + J12L*J31L*PDstandardNth13gt22 + J11L*J32L*PDstandardNth13gt22 + dJ112L*PDstandardNth1gt22 + J21L*J22L*PDstandardNth22gt22 + J22L*J31L*PDstandardNth23gt22 + J21L*J32L*PDstandardNth23gt22 + dJ212L*PDstandardNth2gt22 + J31L*J32L*PDstandardNth33gt22 + - dJ312L*PDstandardNth3gt22) + gtu31*(J11L*J13L*PDstandardNth11gt22 + + dJ312L*PDstandardNth3gt22) + gtu13*(J11L*J13L*PDstandardNth11gt22 + J13L*J21L*PDstandardNth12gt22 + J11L*J23L*PDstandardNth12gt22 + J13L*J31L*PDstandardNth13gt22 + J11L*J33L*PDstandardNth13gt22 + dJ113L*PDstandardNth1gt22 + J21L*J23L*PDstandardNth22gt22 + J23L*J31L*PDstandardNth23gt22 + J21L*J33L*PDstandardNth23gt22 + dJ213L*PDstandardNth2gt22 + J31L*J33L*PDstandardNth33gt22 + - dJ313L*PDstandardNth3gt22) + gtu32*(J12L*J13L*PDstandardNth11gt22 + + dJ313L*PDstandardNth3gt22) + gtu23*(J12L*J13L*PDstandardNth11gt22 + J13L*J22L*PDstandardNth12gt22 + J12L*J23L*PDstandardNth12gt22 + J13L*J32L*PDstandardNth13gt22 + J12L*J33L*PDstandardNth13gt22 + dJ123L*PDstandardNth1gt22 + J22L*J23L*PDstandardNth22gt22 + @@ -875,19 +899,19 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di gt23L*J13L)*PDstandardNth1Xt3 + (gt13L*J22L + gt12L*J23L)*PDstandardNth2Xt1 + (gt23L*J22L + gt22L*J23L)*PDstandardNth2Xt2 + (gt33L*J22L + - gt23L*J23L)*PDstandardNth2Xt3 - 2*(gtu21*(J11L*J12L*PDstandardNth11gt23 + gt23L*J23L)*PDstandardNth2Xt3 - 2*(gtu12*(J11L*J12L*PDstandardNth11gt23 + J12L*J21L*PDstandardNth12gt23 + J11L*J22L*PDstandardNth12gt23 + J12L*J31L*PDstandardNth13gt23 + J11L*J32L*PDstandardNth13gt23 + dJ112L*PDstandardNth1gt23 + J21L*J22L*PDstandardNth22gt23 + J22L*J31L*PDstandardNth23gt23 + J21L*J32L*PDstandardNth23gt23 + dJ212L*PDstandardNth2gt23 + J31L*J32L*PDstandardNth33gt23 + - dJ312L*PDstandardNth3gt23) + gtu31*(J11L*J13L*PDstandardNth11gt23 + + dJ312L*PDstandardNth3gt23) + gtu13*(J11L*J13L*PDstandardNth11gt23 + J13L*J21L*PDstandardNth12gt23 + J11L*J23L*PDstandardNth12gt23 + J13L*J31L*PDstandardNth13gt23 + J11L*J33L*PDstandardNth13gt23 + dJ113L*PDstandardNth1gt23 + J21L*J23L*PDstandardNth22gt23 + J23L*J31L*PDstandardNth23gt23 + J21L*J33L*PDstandardNth23gt23 + dJ213L*PDstandardNth2gt23 + J31L*J33L*PDstandardNth33gt23 + - dJ313L*PDstandardNth3gt23) + gtu32*(J12L*J13L*PDstandardNth11gt23 + + dJ313L*PDstandardNth3gt23) + gtu23*(J12L*J13L*PDstandardNth11gt23 + J13L*J22L*PDstandardNth12gt23 + J12L*J23L*PDstandardNth12gt23 + J13L*J32L*PDstandardNth13gt23 + J12L*J33L*PDstandardNth13gt23 + dJ123L*PDstandardNth1gt23 + J22L*J23L*PDstandardNth22gt23 + @@ -908,7 +932,7 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di Gt113*gt13L*Gt322 + Gt213*gt23L*Gt322 + Gt113*gt12L*Gt323 + Gt112*gt13L*Gt323 + Gt213*gt22L*Gt323 + Gt212*gt23L*Gt323 + gt23L*Gt313*Gt323 + Gt122*Gt311*gt33L + Gt222*Gt312*gt33L + - Gt313*Gt322*gt33L + Gt312*Gt323*gt33L)*gtu21 + (Gt112*gt11L*Gt133 + + Gt313*Gt322*gt33L + Gt312*Gt323*gt33L)*gtu12 + (Gt112*gt11L*Gt133 + Gt111*gt12L*Gt133 + Gt111*Gt123*gt13L + gt12L*Gt133*Gt212 + Gt112*gt13L*Gt223 + Gt133*Gt211*gt22L + 2*Gt112*gt12L*Gt233 + 2*Gt212*gt22L*Gt233 + Gt123*Gt211*gt23L + Gt212*Gt223*gt23L + @@ -916,7 +940,7 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di Gt113*gt13L*Gt323 + Gt213*gt23L*Gt323 + Gt113*gt12L*Gt333 + Gt112*gt13L*Gt333 + Gt213*gt22L*Gt333 + Gt212*gt23L*Gt333 + gt23L*Gt313*Gt333 + Gt123*Gt311*gt33L + Gt223*Gt312*gt33L + - Gt313*Gt323*gt33L + Gt312*Gt333*gt33L)*gtu31 + gtu21*(Gt113*gt11L*Gt122 + Gt313*Gt323*gt33L + Gt312*Gt333*gt33L)*gtu13 + gtu12*(Gt113*gt11L*Gt122 + Gt122*gt13L*Gt212 + 2*Gt122*gt12L*Gt213 + Gt113*gt12L*Gt222 + Gt113*Gt212*gt22L + 2*Gt213*Gt222*gt22L + Gt212*Gt222*gt23L + Gt123*gt13L*Gt312 + Gt113*gt23L*Gt312 + Gt223*gt23L*Gt312 + @@ -924,7 +948,7 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di Gt222*gt23L*Gt313 + Gt113*gt13L*Gt322 + 2*Gt213*gt23L*Gt322 + gt23L*Gt313*Gt323 + Gt212*Gt322*gt33L + Gt313*Gt322*gt33L + Gt312*Gt323*gt33L + Gt112*(Gt113*gt12L + Gt212*gt23L + Gt312*gt33L) + - gt13L*SQR(Gt112)) + gtu31*(2*Gt213*Gt223*gt22L + Gt112*Gt213*gt23L + + gt13L*SQR(Gt112)) + gtu13*(2*Gt213*Gt223*gt22L + Gt112*Gt213*gt23L + Gt212*Gt223*gt23L + Gt133*gt13L*Gt312 + Gt233*gt23L*Gt312 + gt12L*Gt133*Gt313 + gt22L*Gt233*Gt313 + Gt223*gt23L*Gt313 + Gt123*(2*gt12L*Gt213 + gt13L*(Gt212 + Gt313)) + 2*Gt213*gt23L*Gt323 + @@ -945,7 +969,7 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di 3*Gt223*gt23L*Gt322 + Gt123*gt12L*Gt323 + Gt122*gt13L*Gt323 + Gt223*gt22L*Gt323 + Gt222*gt23L*Gt323 + Gt122*Gt312*gt33L + Gt222*Gt322*gt33L + 2*Gt322*Gt323*gt33L + gt23L*SQR(Gt222) + - gt23L*SQR(Gt323)) + gtu32*(gt11L*Gt122*Gt133 + Gt112*gt12L*Gt133 + + gt23L*SQR(Gt323)) + gtu23*(gt11L*Gt122*Gt133 + Gt112*gt12L*Gt133 + Gt112*Gt123*gt13L + gt12L*Gt133*Gt222 + Gt122*gt13L*Gt223 + Gt133*Gt212*gt22L + 2*Gt122*gt12L*Gt233 + 2*Gt222*gt22L*Gt233 + Gt123*Gt212*gt23L + Gt222*Gt223*gt23L + Gt133*gt23L*Gt312 + @@ -953,7 +977,7 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di Gt223*gt23L*Gt323 + Gt123*gt12L*Gt333 + Gt122*gt13L*Gt333 + Gt223*gt22L*Gt333 + Gt222*gt23L*Gt333 + gt23L*Gt323*Gt333 + Gt123*Gt312*gt33L + Gt223*Gt322*gt33L + Gt322*Gt333*gt33L + - gt33L*SQR(Gt323)) + gtu32*(Gt113*Gt123*gt12L + Gt113*Gt122*gt13L + + gt33L*SQR(Gt323)) + gtu23*(Gt113*Gt123*gt12L + Gt113*Gt122*gt13L + Gt123*gt13L*Gt222 + 3*Gt123*gt12L*Gt223 + Gt123*Gt213*gt22L + Gt122*Gt213*gt23L + Gt222*Gt223*gt23L + Gt123*gt23L*Gt313 + Gt133*gt13L*Gt322 + Gt233*gt23L*Gt322 + gt12L*Gt133*Gt323 + @@ -988,7 +1012,7 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di 2*(gt13L*(Gt122*Gt213 + Gt112*Gt223) + Gt213*(Gt223*gt22L + Gt222*gt23L) + Gt123*(Gt111*gt13L + gt12L*Gt213 + Gt211*gt23L + Gt311*gt33L) + Gt223*(Gt212*gt23L + Gt312*gt33L) + Gt113*(gt11L*Gt123 + - Gt112*gt13L + gt12L*Gt223 + Gt212*gt23L + Gt312*gt33L)))*gtu21 + + Gt112*gt13L + gt12L*Gt223 + Gt212*gt23L + Gt312*gt33L)))*gtu12 + J13L*(gt13L*PDstandardNth1Xt1 + gt23L*PDstandardNth1Xt2 + gt33L*PDstandardNth1Xt3) + J23L*(gt13L*PDstandardNth2Xt1 + gt23L*PDstandardNth2Xt2 + gt33L*PDstandardNth2Xt3) + @@ -996,13 +1020,13 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di gt33L*PDstandardNth3Xt3) + (Gt113*gt13L + Gt213*gt23L + Gt313*gt33L)*Xt1L + (Gt123*gt13L + Gt223*gt23L + Gt323*gt33L)*Xt2L + (Gt133*gt13L + Gt233*gt23L + Gt333*gt33L)*Xt3L + - gtu31*(Gt133*(Gt113*gt11L + 2*(Gt111*gt13L + gt12L*Gt213 + Gt211*gt23L) + gtu13*(Gt133*(Gt113*gt11L + 2*(Gt111*gt13L + gt12L*Gt213 + Gt211*gt23L) + 4*gt13L*Gt313) + Gt333*(3*Gt113*gt13L + 4*Gt213*gt23L + 6*Gt313*gt33L) + Gt233*(Gt113*gt12L + 4*gt23L*Gt313 + 2*(Gt213*gt22L + Gt212*gt23L + Gt312*gt33L)) + Gt113*(gt11L*Gt133 + gt12L*Gt233 + gt13L*Gt333 + 2*(Gt213*gt23L + Gt313*gt33L)) + 2*(Gt133*Gt311*gt33L + Gt213*(Gt223*gt23L + Gt323*gt33L) + gt13L*(Gt123*Gt213 + Gt112*Gt233 + - SQR(Gt113)))) + gtu32*(4*((Gt133*gt13L + Gt233*gt23L)*Gt323 + + SQR(Gt113)))) + gtu23*(4*((Gt133*gt13L + Gt233*gt23L)*Gt323 + (Gt123*gt13L + Gt223*gt23L)*Gt333) + Gt323*(2*Gt223 + 6*Gt333)*gt33L + 2*(Gt133*(Gt112*gt13L + gt12L*Gt223 + Gt212*gt23L + Gt312*gt33L) + Gt123*(gt11L*Gt133 + gt13L*(Gt113 + Gt223) + gt12L*Gt233 + Gt213*gt23L @@ -1018,19 +1042,19 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di 2*(Gt133*(Gt113*gt13L + gt12L*Gt233 + Gt213*gt23L + Gt313*gt33L) + Gt233*(Gt123*gt13L + Gt223*gt23L + Gt323*gt33L)) + gt11L*SQR(Gt133) + gt22L*SQR(Gt233) + 3*gt33L*SQR(Gt333)) + - khalf*(-2*(gtu21*(J11L*J12L*PDstandardNth11gt33 + + khalf*(-2*(gtu12*(J11L*J12L*PDstandardNth11gt33 + J12L*J21L*PDstandardNth12gt33 + J11L*J22L*PDstandardNth12gt33 + J12L*J31L*PDstandardNth13gt33 + J11L*J32L*PDstandardNth13gt33 + dJ112L*PDstandardNth1gt33 + J21L*J22L*PDstandardNth22gt33 + J22L*J31L*PDstandardNth23gt33 + J21L*J32L*PDstandardNth23gt33 + dJ212L*PDstandardNth2gt33 + J31L*J32L*PDstandardNth33gt33 + - dJ312L*PDstandardNth3gt33) + gtu31*(J11L*J13L*PDstandardNth11gt33 + + dJ312L*PDstandardNth3gt33) + gtu13*(J11L*J13L*PDstandardNth11gt33 + J13L*J21L*PDstandardNth12gt33 + J11L*J23L*PDstandardNth12gt33 + J13L*J31L*PDstandardNth13gt33 + J11L*J33L*PDstandardNth13gt33 + dJ113L*PDstandardNth1gt33 + J21L*J23L*PDstandardNth22gt33 + J23L*J31L*PDstandardNth23gt33 + J21L*J33L*PDstandardNth23gt33 + dJ213L*PDstandardNth2gt33 + J31L*J33L*PDstandardNth33gt33 + - dJ313L*PDstandardNth3gt33) + gtu32*(J12L*J13L*PDstandardNth11gt33 + + dJ313L*PDstandardNth3gt33) + gtu23*(J12L*J13L*PDstandardNth11gt33 + J13L*J22L*PDstandardNth12gt33 + J12L*J23L*PDstandardNth12gt33 + J13L*J32L*PDstandardNth13gt33 + J12L*J33L*PDstandardNth13gt33 + dJ123L*PDstandardNth1gt33 + J22L*J23L*PDstandardNth22gt33 + @@ -1132,38 +1156,38 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di J23L*PDstandardNth2phi + J33L*PDstandardNth3phi); CCTK_REAL Rphi11 = -2*(cdphi211 + 2*(-1 + gt11L*gtu11)*SQR(cdphi1) + - gt11L*(cdphi211*gtu11 + 4*(cdphi1*(cdphi2*gtu21 + cdphi3*gtu31) + - cdphi2*cdphi3*gtu32) + cdphi233*gtu33 + gtu22*(cdphi222 + - 2*SQR(cdphi2)) + 2*(cdphi212*gtu21 + cdphi213*gtu31 + cdphi223*gtu32 + + gt11L*(cdphi211*gtu11 + 4*(cdphi1*(cdphi2*gtu12 + cdphi3*gtu13) + + cdphi2*cdphi3*gtu23) + cdphi233*gtu33 + gtu22*(cdphi222 + + 2*SQR(cdphi2)) + 2*(cdphi212*gtu12 + cdphi213*gtu13 + cdphi223*gtu23 + gtu33*SQR(cdphi3)))); - CCTK_REAL Rphi12 = -2*(cdphi212 + cdphi1*(cdphi2*(-2 + 4*gt12L*gtu21) - + 4*cdphi3*gt12L*gtu31) + gt12L*(cdphi211*gtu11 + 4*cdphi2*cdphi3*gtu32 - + 2*(cdphi212*gtu21 + cdphi213*gtu31 + cdphi223*gtu32 + + CCTK_REAL Rphi12 = -2*(cdphi212 + cdphi1*(cdphi2*(-2 + 4*gt12L*gtu12) + + 4*cdphi3*gt12L*gtu13) + gt12L*(cdphi211*gtu11 + 4*cdphi2*cdphi3*gtu23 + + 2*(cdphi212*gtu12 + cdphi213*gtu13 + cdphi223*gtu23 + gtu11*SQR(cdphi1)) + gtu22*(cdphi222 + 2*SQR(cdphi2)) + gtu33*(cdphi233 + 2*SQR(cdphi3)))); - CCTK_REAL Rphi13 = -2*(cdphi213 + cdphi1*(4*cdphi2*gt13L*gtu21 + - cdphi3*(-2 + 4*gt13L*gtu31)) + gt13L*(cdphi211*gtu11 + - 4*cdphi2*cdphi3*gtu32 + 2*(cdphi212*gtu21 + cdphi213*gtu31 + - cdphi223*gtu32 + gtu11*SQR(cdphi1)) + gtu22*(cdphi222 + 2*SQR(cdphi2)) + CCTK_REAL Rphi13 = -2*(cdphi213 + cdphi1*(4*cdphi2*gt13L*gtu12 + + cdphi3*(-2 + 4*gt13L*gtu13)) + gt13L*(cdphi211*gtu11 + + 4*cdphi2*cdphi3*gtu23 + 2*(cdphi212*gtu12 + cdphi213*gtu13 + + cdphi223*gtu23 + gtu11*SQR(cdphi1)) + gtu22*(cdphi222 + 2*SQR(cdphi2)) + gtu33*(cdphi233 + 2*SQR(cdphi3)))); CCTK_REAL Rphi22 = -2*(cdphi222 + 2*(-1 + gt22L*gtu22)*SQR(cdphi2) + - gt22L*(cdphi222*gtu22 + 4*(cdphi1*cdphi3*gtu31 + cdphi2*(cdphi1*gtu21 + - cdphi3*gtu32)) + cdphi233*gtu33 + gtu11*(cdphi211 + 2*SQR(cdphi1)) + - 2*(cdphi212*gtu21 + cdphi213*gtu31 + cdphi223*gtu32 + + gt22L*(cdphi222*gtu22 + 4*(cdphi1*cdphi3*gtu13 + cdphi2*(cdphi1*gtu12 + + cdphi3*gtu23)) + cdphi233*gtu33 + gtu11*(cdphi211 + 2*SQR(cdphi1)) + + 2*(cdphi212*gtu12 + cdphi213*gtu13 + cdphi223*gtu23 + gtu33*SQR(cdphi3)))); - CCTK_REAL Rphi23 = -2*(cdphi223 + cdphi2*(4*cdphi1*gt23L*gtu21 + - cdphi3*(-2 + 4*gt23L*gtu32)) + gt23L*(cdphi222*gtu22 + - 4*cdphi1*cdphi3*gtu31 + gtu11*(cdphi211 + 2*SQR(cdphi1)) + - 2*(cdphi212*gtu21 + cdphi213*gtu31 + cdphi223*gtu32 + - gtu22*SQR(cdphi2)) + gtu33*(cdphi233 + 2*SQR(cdphi3)))); + CCTK_REAL Rphi23 = -2*(cdphi223 + cdphi2*(4*cdphi1*gt23L*gtu12 + + cdphi3*(-2 + 4*gt23L*gtu23)) + gt23L*(4*cdphi1*cdphi3*gtu13 + + cdphi222*gtu22 + gtu11*(cdphi211 + 2*SQR(cdphi1)) + 2*(cdphi212*gtu12 + + cdphi213*gtu13 + cdphi223*gtu23 + gtu22*SQR(cdphi2)) + gtu33*(cdphi233 + + 2*SQR(cdphi3)))); CCTK_REAL Rphi33 = -2*(cdphi233 + gt33L*((4*cdphi1*cdphi2 + - 2*cdphi212)*gtu21 + 4*cdphi3*(cdphi1*gtu31 + cdphi2*gtu32) + - 2*(cdphi213*gtu31 + cdphi223*gtu32) + cdphi233*gtu33 + gtu11*(cdphi211 + 2*cdphi212)*gtu12 + 4*cdphi3*(cdphi1*gtu13 + cdphi2*gtu23) + + 2*(cdphi213*gtu13 + cdphi223*gtu23) + cdphi233*gtu33 + gtu11*(cdphi211 + 2*SQR(cdphi1)) + gtu22*(cdphi222 + 2*SQR(cdphi2))) + 2*(-1 + gt33L*gtu33)*SQR(cdphi3)); @@ -1173,13 +1197,13 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di CCTK_REAL gu11 = em4phi*gtu11; - CCTK_REAL gu21 = em4phi*gtu21; + CCTK_REAL gu12 = em4phi*gtu12; - CCTK_REAL gu31 = em4phi*gtu31; + CCTK_REAL gu13 = em4phi*gtu13; CCTK_REAL gu22 = em4phi*gtu22; - CCTK_REAL gu32 = em4phi*gtu32; + CCTK_REAL gu23 = em4phi*gtu23; CCTK_REAL gu33 = em4phi*gtu33; @@ -1195,26 +1219,26 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di CCTK_REAL R33 = Rphi33 + Rt33; - CCTK_REAL trR = gu11*R11 + gu22*R22 + 2*(gu21*R12 + gu31*R13 + - gu32*R23) + gu33*R33; + CCTK_REAL trR = gu11*R11 + gu22*R22 + 2*(gu12*R12 + gu13*R13 + + gu23*R23) + gu33*R33; - CCTK_REAL Atm11 = At11L*gtu11 + At12L*gtu21 + At13L*gtu31; + CCTK_REAL Atm11 = At11L*gtu11 + At12L*gtu12 + At13L*gtu13; - CCTK_REAL Atm21 = At11L*gtu21 + At12L*gtu22 + At13L*gtu32; + CCTK_REAL Atm21 = At11L*gtu12 + At12L*gtu22 + At13L*gtu23; - CCTK_REAL Atm31 = At11L*gtu31 + At12L*gtu32 + At13L*gtu33; + CCTK_REAL Atm31 = At11L*gtu13 + At12L*gtu23 + At13L*gtu33; - CCTK_REAL Atm12 = At12L*gtu11 + At22L*gtu21 + At23L*gtu31; + CCTK_REAL Atm12 = At12L*gtu11 + At22L*gtu12 + At23L*gtu13; - CCTK_REAL Atm22 = At12L*gtu21 + At22L*gtu22 + At23L*gtu32; + CCTK_REAL Atm22 = At12L*gtu12 + At22L*gtu22 + At23L*gtu23; - CCTK_REAL Atm32 = At12L*gtu31 + At22L*gtu32 + At23L*gtu33; + CCTK_REAL Atm32 = At12L*gtu13 + At22L*gtu23 + At23L*gtu33; - CCTK_REAL Atm13 = At13L*gtu11 + At23L*gtu21 + At33L*gtu31; + CCTK_REAL Atm13 = At13L*gtu11 + At23L*gtu12 + At33L*gtu13; - CCTK_REAL Atm23 = At13L*gtu21 + At23L*gtu22 + At33L*gtu32; + CCTK_REAL Atm23 = At13L*gtu12 + At23L*gtu22 + At33L*gtu23; - CCTK_REAL Atm33 = At13L*gtu31 + At23L*gtu32 + At33L*gtu33; + CCTK_REAL Atm33 = At13L*gtu13 + At23L*gtu23 + At33L*gtu33; CCTK_REAL rho = pow(alphaL,-2)*(eTttL - 2*(beta2L*eTtyL + beta3L*eTtzL) + 2*(beta1L*(-eTtxL + beta2L*eTxyL + beta3L*eTxzL) + @@ -1236,113 +1260,112 @@ void ML_BSSN_MP_constraints_Body(cGH const * restrict const cctkGH, int const di 0.6666666666666666666666666666666666666667*SQR(trKL); CCTK_REAL M1L = -(At12L*Gt112*gtu22) - At22L*Gt212*gtu22 - - At12L*Gt222*gtu22 - At23L*Gt312*gtu22 - At13L*Gt322*gtu22 + - At12L*(6*cdphi1*gtu21 - Gt111*gtu21 + 6*cdphi2*gtu22) + - At11L*(6*cdphi1*gtu11 - 2*Gt111*gtu11 + 6*cdphi2*gtu21 - Gt122*gtu22) + - 6*At13L*cdphi1*gtu31 + 6*At11L*cdphi3*gtu31 - At13L*Gt111*gtu31 - - 3*At11L*Gt113*gtu31 - At23L*Gt211*gtu31 - 3*At12L*Gt213*gtu31 - - At33L*Gt311*gtu31 - 3*At13L*Gt313*gtu31 + 6*At13L*cdphi2*gtu32 + - 6*At12L*cdphi3*gtu32 - At13L*Gt112*gtu32 - At12L*Gt113*gtu32 - - At23L*Gt212*gtu32 - At22L*Gt213*gtu32 - 2*At12L*Gt223*gtu32 - - At33L*Gt312*gtu32 - At23L*Gt313*gtu32 - 2*At13L*Gt323*gtu32 - - 2*(At12L*Gt211*gtu11 + At13L*Gt311*gtu11 + At11L*Gt123*gtu32) + - 6*At13L*cdphi3*gtu33 - At13L*Gt113*gtu33 - At11L*Gt133*gtu33 - - At23L*Gt213*gtu33 - At12L*Gt233*gtu33 - At33L*Gt313*gtu33 - - At13L*Gt333*gtu33 + (gtu11*J11L + gtu21*J12L + - gtu31*J13L)*PDstandardNth1At11 + gtu22*J12L*PDstandardNth1At12 + - gtu32*J13L*PDstandardNth1At12 + gtu21*(-3*At11L*Gt112 - At22L*Gt211 - + At12L*Gt222*gtu22 - At23L*Gt312*gtu22 + At12L*(6*cdphi1*gtu12 - + Gt111*gtu12 - 3*Gt213*gtu13 + 6*cdphi2*gtu22) + At11L*(6*cdphi1*gtu11 - + 2*Gt111*gtu11 + 6*cdphi2*gtu12 + 6*cdphi3*gtu13 - Gt122*gtu22) + + At13L*(6*cdphi1*gtu13 - Gt111*gtu13 - Gt322*gtu22) + + 6*At13L*cdphi2*gtu23 + 6*At12L*cdphi3*gtu23 - At13L*Gt112*gtu23 - + At12L*Gt113*gtu23 - At23L*Gt212*gtu23 - At22L*Gt213*gtu23 - + 2*At12L*Gt223*gtu23 - At33L*Gt312*gtu23 - At23L*Gt313*gtu23 - + 2*At13L*Gt323*gtu23 - 2*(At12L*Gt211*gtu11 + At13L*Gt311*gtu11 + + At11L*Gt123*gtu23) + 6*At13L*cdphi3*gtu33 - At13L*Gt113*gtu33 - + At11L*Gt133*gtu33 - At23L*Gt213*gtu33 - At12L*Gt233*gtu33 - + At33L*Gt313*gtu33 - At13L*Gt333*gtu33 + (gtu11*J11L + gtu12*J12L + + gtu13*J13L)*PDstandardNth1At11 + gtu22*J12L*PDstandardNth1At12 + + gtu23*J13L*PDstandardNth1At12 + gtu12*(-3*At11L*Gt112 - At22L*Gt211 - 3*At12L*Gt212 - At23L*Gt311 - 3*At13L*Gt312 + J11L*PDstandardNth1At12) - + gtu31*J11L*PDstandardNth1At13 + gtu32*J12L*PDstandardNth1At13 + - gtu33*J13L*PDstandardNth1At13 - J11L*ktwothird*PDstandardNth1trK + - (gtu11*J21L + gtu21*J22L + gtu31*J23L)*PDstandardNth2At11 + - gtu21*J21L*PDstandardNth2At12 + gtu22*J22L*PDstandardNth2At12 + - gtu32*J23L*PDstandardNth2At12 + gtu31*J21L*PDstandardNth2At13 + - gtu32*J22L*PDstandardNth2At13 + gtu33*J23L*PDstandardNth2At13 - + + gtu23*J12L*PDstandardNth1At13 + gtu33*J13L*PDstandardNth1At13 + + gtu13*(-3*At11L*Gt113 - At23L*Gt211 - At33L*Gt311 - 3*At13L*Gt313 + + J11L*PDstandardNth1At13) - J11L*ktwothird*PDstandardNth1trK + + (gtu11*J21L + gtu12*J22L + gtu13*J23L)*PDstandardNth2At11 + + gtu12*J21L*PDstandardNth2At12 + gtu22*J22L*PDstandardNth2At12 + + gtu23*J23L*PDstandardNth2At12 + gtu13*J21L*PDstandardNth2At13 + + gtu23*J22L*PDstandardNth2At13 + gtu33*J23L*PDstandardNth2At13 - J21L*ktwothird*PDstandardNth2trK + gtu11*J31L*PDstandardNth3At11 + - gtu21*J32L*PDstandardNth3At11 + gtu31*J33L*PDstandardNth3At11 + - gtu21*J31L*PDstandardNth3At12 + gtu22*J32L*PDstandardNth3At12 + - gtu32*J33L*PDstandardNth3At12 + gtu31*J31L*PDstandardNth3At13 + - gtu32*J32L*PDstandardNth3At13 + gtu33*J33L*PDstandardNth3At13 - + gtu12*J32L*PDstandardNth3At11 + gtu13*J33L*PDstandardNth3At11 + + gtu12*J31L*PDstandardNth3At12 + gtu22*J32L*PDstandardNth3At12 + + gtu23*J33L*PDstandardNth3At12 + gtu13*J31L*PDstandardNth3At13 + + gtu23*J32L*PDstandardNth3At13 + gtu33*J33L*PDstandardNth3At13 - J31L*ktwothird*PDstandardNth3trK - 25.13274122871834590770114706623602307358*S1; CCTK_REAL M2L = -(At11L*Gt112*gtu11) - At22L*Gt211*gtu11 - At12L*Gt212*gtu11 - At23L*Gt311*gtu11 - At13L*Gt312*gtu11 + - At12L*(6*cdphi1*gtu11 - Gt111*gtu11) + 6*At22L*cdphi1*gtu21 + - 6*At12L*cdphi2*gtu21 - 3*At12L*Gt112*gtu21 - At11L*Gt122*gtu21 - - 3*At22L*Gt212*gtu21 - At12L*Gt222*gtu21 - 3*At23L*Gt312*gtu21 - - At13L*Gt322*gtu21 + 6*At22L*cdphi2*gtu22 - 2*At12L*Gt122*gtu22 - - 2*At22L*Gt222*gtu22 - 2*At23L*Gt322*gtu22 + 6*At23L*cdphi1*gtu31 + - 6*At12L*cdphi3*gtu31 - At13L*Gt112*gtu31 - 2*At12L*Gt113*gtu31 - - At11L*Gt123*gtu31 - At23L*Gt212*gtu31 - 2*At22L*Gt213*gtu31 - - At12L*Gt223*gtu31 - At33L*Gt312*gtu31 - 2*At23L*Gt313*gtu31 - - At13L*Gt323*gtu31 + 6*At23L*cdphi2*gtu32 + 6*At22L*cdphi3*gtu32 - - At13L*Gt122*gtu32 - 3*At12L*Gt123*gtu32 - At23L*Gt222*gtu32 - - 3*At22L*Gt223*gtu32 - At33L*Gt322*gtu32 - 3*At23L*Gt323*gtu32 + + At12L*(6*cdphi1*gtu11 - Gt111*gtu11) + 6*At22L*cdphi1*gtu12 + + 6*At12L*cdphi2*gtu12 - 3*At12L*Gt112*gtu12 - At11L*Gt122*gtu12 - + 3*At22L*Gt212*gtu12 - At12L*Gt222*gtu12 - 3*At23L*Gt312*gtu12 - + At13L*Gt322*gtu12 + 6*At23L*cdphi1*gtu13 + 6*At12L*cdphi3*gtu13 - + At13L*Gt112*gtu13 - 2*At12L*Gt113*gtu13 - At11L*Gt123*gtu13 - + At23L*Gt212*gtu13 - 2*At22L*Gt213*gtu13 - At12L*Gt223*gtu13 - + At33L*Gt312*gtu13 - 2*At23L*Gt313*gtu13 - At13L*Gt323*gtu13 + + 6*At22L*cdphi2*gtu22 - 2*At12L*Gt122*gtu22 - 2*At22L*Gt222*gtu22 - + 2*At23L*Gt322*gtu22 + 6*At23L*cdphi2*gtu23 + 6*At22L*cdphi3*gtu23 - + At13L*Gt122*gtu23 - 3*At12L*Gt123*gtu23 - At23L*Gt222*gtu23 - + 3*At22L*Gt223*gtu23 - At33L*Gt322*gtu23 - 3*At23L*Gt323*gtu23 + 6*At23L*cdphi3*gtu33 - At13L*Gt123*gtu33 - At12L*Gt133*gtu33 - At23L*Gt223*gtu33 - At22L*Gt233*gtu33 - At33L*Gt323*gtu33 - - At23L*Gt333*gtu33 + (gtu11*J11L + gtu21*J12L + - gtu31*J13L)*PDstandardNth1At12 + gtu21*J11L*PDstandardNth1At22 + - gtu22*J12L*PDstandardNth1At22 + gtu32*J13L*PDstandardNth1At22 + - gtu31*J11L*PDstandardNth1At23 + gtu32*J12L*PDstandardNth1At23 + + At23L*Gt333*gtu33 + (gtu11*J11L + gtu12*J12L + + gtu13*J13L)*PDstandardNth1At12 + gtu12*J11L*PDstandardNth1At22 + + gtu22*J12L*PDstandardNth1At22 + gtu23*J13L*PDstandardNth1At22 + + gtu13*J11L*PDstandardNth1At23 + gtu23*J12L*PDstandardNth1At23 + gtu33*J13L*PDstandardNth1At23 - J12L*ktwothird*PDstandardNth1trK + - (gtu11*J21L + gtu21*J22L + gtu31*J23L)*PDstandardNth2At12 + - gtu21*J21L*PDstandardNth2At22 + gtu22*J22L*PDstandardNth2At22 + - gtu32*J23L*PDstandardNth2At22 + gtu31*J21L*PDstandardNth2At23 + - gtu32*J22L*PDstandardNth2At23 + gtu33*J23L*PDstandardNth2At23 - + (gtu11*J21L + gtu12*J22L + gtu13*J23L)*PDstandardNth2At12 + + gtu12*J21L*PDstandardNth2At22 + gtu22*J22L*PDstandardNth2At22 + + gtu23*J23L*PDstandardNth2At22 + gtu13*J21L*PDstandardNth2At23 + + gtu23*J22L*PDstandardNth2At23 + gtu33*J23L*PDstandardNth2At23 - J22L*ktwothird*PDstandardNth2trK + gtu11*J31L*PDstandardNth3At12 + - gtu21*J32L*PDstandardNth3At12 + gtu31*J33L*PDstandardNth3At12 + - gtu21*J31L*PDstandardNth3At22 + gtu22*J32L*PDstandardNth3At22 + - gtu32*J33L*PDstandardNth3At22 + gtu31*J31L*PDstandardNth3At23 + - gtu32*J32L*PDstandardNth3At23 + gtu33*J33L*PDstandardNth3At23 - + gtu12*J32L*PDstandardNth3At12 + gtu13*J33L*PDstandardNth3At12 + + gtu12*J31L*PDstandardNth3At22 + gtu22*J32L*PDstandardNth3At22 + + gtu23*J33L*PDstandardNth3At22 + gtu13*J31L*PDstandardNth3At23 + + gtu23*J32L*PDstandardNth3At23 + gtu33*J33L*PDstandardNth3At23 - J32L*ktwothird*PDstandardNth3trK - 25.13274122871834590770114706623602307358*S2; CCTK_REAL M3L = -(At11L*Gt113*gtu11) - At23L*Gt211*gtu11 - At12L*Gt213*gtu11 - At33L*Gt311*gtu11 - At13L*Gt313*gtu11 + - At13L*(6*cdphi1*gtu11 - Gt111*gtu11) + 6*At23L*cdphi1*gtu21 + - 6*At13L*cdphi2*gtu21 - 2*At13L*Gt112*gtu21 - At12L*Gt113*gtu21 - - At11L*Gt123*gtu21 - 2*At23L*Gt212*gtu21 - At22L*Gt213*gtu21 - - At12L*Gt223*gtu21 - 2*At33L*Gt312*gtu21 - At23L*Gt313*gtu21 - - At13L*Gt323*gtu21 + 6*At23L*cdphi2*gtu22 - At13L*Gt122*gtu22 - - At12L*Gt123*gtu22 - At23L*Gt222*gtu22 - At22L*Gt223*gtu22 - - At33L*Gt322*gtu22 - At23L*Gt323*gtu22 + 6*At33L*cdphi1*gtu31 + - 6*At13L*cdphi3*gtu31 - 3*At13L*Gt113*gtu31 - At11L*Gt133*gtu31 - - 3*At23L*Gt213*gtu31 - At12L*Gt233*gtu31 - 3*At33L*Gt313*gtu31 - - At13L*Gt333*gtu31 + 6*At33L*cdphi2*gtu32 + 6*At23L*cdphi3*gtu32 - - 3*At13L*Gt123*gtu32 - At12L*Gt133*gtu32 - 3*At23L*Gt223*gtu32 - - At22L*Gt233*gtu32 - 3*At33L*Gt323*gtu32 - At23L*Gt333*gtu32 + + At13L*(6*cdphi1*gtu11 - Gt111*gtu11) + 6*At23L*cdphi1*gtu12 + + 6*At13L*cdphi2*gtu12 - 2*At13L*Gt112*gtu12 - At12L*Gt113*gtu12 - + At11L*Gt123*gtu12 - 2*At23L*Gt212*gtu12 - At22L*Gt213*gtu12 - + At12L*Gt223*gtu12 - 2*At33L*Gt312*gtu12 - At23L*Gt313*gtu12 - + At13L*Gt323*gtu12 + 6*At33L*cdphi1*gtu13 + 6*At13L*cdphi3*gtu13 - + 3*At13L*Gt113*gtu13 - At11L*Gt133*gtu13 - 3*At23L*Gt213*gtu13 - + At12L*Gt233*gtu13 - 3*At33L*Gt313*gtu13 - At13L*Gt333*gtu13 + + 6*At23L*cdphi2*gtu22 - At13L*Gt122*gtu22 - At12L*Gt123*gtu22 - + At23L*Gt222*gtu22 - At22L*Gt223*gtu22 - At33L*Gt322*gtu22 - + At23L*Gt323*gtu22 + 6*At33L*cdphi2*gtu23 + 6*At23L*cdphi3*gtu23 - + 3*At13L*Gt123*gtu23 - At12L*Gt133*gtu23 - 3*At23L*Gt223*gtu23 - + At22L*Gt233*gtu23 - 3*At33L*Gt323*gtu23 - At23L*Gt333*gtu23 + 6*At33L*cdphi3*gtu33 - 2*At13L*Gt133*gtu33 - 2*At23L*Gt233*gtu33 - - 2*At33L*Gt333*gtu33 + (gtu11*J11L + gtu21*J12L + - gtu31*J13L)*PDstandardNth1At13 + gtu21*J11L*PDstandardNth1At23 + - gtu22*J12L*PDstandardNth1At23 + gtu32*J13L*PDstandardNth1At23 + - gtu31*J11L*PDstandardNth1At33 + gtu32*J12L*PDstandardNth1At33 + + 2*At33L*Gt333*gtu33 + (gtu11*J11L + gtu12*J12L + + gtu13*J13L)*PDstandardNth1At13 + gtu12*J11L*PDstandardNth1At23 + + gtu22*J12L*PDstandardNth1At23 + gtu23*J13L*PDstandardNth1At23 + + gtu13*J11L*PDstandardNth1At33 + gtu23*J12L*PDstandardNth1At33 + gtu33*J13L*PDstandardNth1At33 - J13L*ktwothird*PDstandardNth1trK + - (gtu11*J21L + gtu21*J22L + gtu31*J23L)*PDstandardNth2At13 + - gtu21*J21L*PDstandardNth2At23 + gtu22*J22L*PDstandardNth2At23 + - gtu32*J23L*PDstandardNth2At23 + gtu31*J21L*PDstandardNth2At33 + - gtu32*J22L*PDstandardNth2At33 + gtu33*J23L*PDstandardNth2At33 - + (gtu11*J21L + gtu12*J22L + gtu13*J23L)*PDstandardNth2At13 + + gtu12*J21L*PDstandardNth2At23 + gtu22*J22L*PDstandardNth2At23 + + gtu23*J23L*PDstandardNth2At23 + gtu13*J21L*PDstandardNth2At33 + + gtu23*J22L*PDstandardNth2At33 + gtu33*J23L*PDstandardNth2At33 - J23L*ktwothird*PDstandardNth2trK + gtu11*J31L*PDstandardNth3At13 + - gtu21*J32L*PDstandardNth3At13 + gtu31*J33L*PDstandardNth3At13 + - gtu21*J31L*PDstandardNth3At23 + gtu22*J32L*PDstandardNth3At23 + - gtu32*J33L*PDstandardNth3At23 + gtu31*J31L*PDstandardNth3At33 + - gtu32*J32L*PDstandardNth3At33 + gtu33*J33L*PDstandardNth3At33 - + gtu12*J32L*PDstandardNth3At13 + gtu13*J33L*PDstandardNth3At13 + + gtu12*J31L*PDstandardNth3At23 + gtu22*J32L*PDstandardNth3At23 + + gtu23*J33L*PDstandardNth3At23 + gtu13*J31L*PDstandardNth3At33 + + gtu23*J32L*PDstandardNth3At33 + gtu33*J33L*PDstandardNth3At33 - J33L*ktwothird*PDstandardNth3trK - 25.13274122871834590770114706623602307358*S3; CCTK_REAL cSL = Log(detgt); - CCTK_REAL cXt1L = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu21 + - Gt113*gtu31 + Gt123*gtu32) + Gt133*gtu33 - Xt1L; + CCTK_REAL cXt1L = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + + Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33 - Xt1L; - CCTK_REAL cXt2L = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu21 + - Gt213*gtu31 + Gt223*gtu32) + Gt233*gtu33 - Xt2L; + CCTK_REAL cXt2L = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + + Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33 - Xt2L; - CCTK_REAL cXt3L = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu21 + - Gt313*gtu31 + Gt323*gtu32) + Gt333*gtu33 - Xt3L; + CCTK_REAL cXt3L = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + + Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33 - Xt3L; - CCTK_REAL cAL = At11L*gtu11 + At22L*gtu22 + 2*(At12L*gtu21 + - At13L*gtu31 + At23L*gtu32) + At33L*gtu33; + CCTK_REAL cAL = At11L*gtu11 + At22L*gtu22 + 2*(At12L*gtu12 + + At13L*gtu13 + At23L*gtu23) + At33L*gtu33; /* Copy local copies back to grid functions */ diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c index 8fdd948..2019be4 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c @@ -20,6 +20,30 @@ #define CUB(x) ((x) * (x) * (x)) #define QAD(x) ((x) * (x) * (x) * (x)) +void ML_BSSN_MP_constraints_boundary_SelectBCs(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + CCTK_INT ierr = 0; + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_cons_detg","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_cons_detg."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_cons_Gamma","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_cons_Gamma."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_cons_traceA","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_cons_traceA."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_Ham","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_Ham."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_mom","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_mom."); + return; +} + void ML_BSSN_MP_constraints_boundary_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) { DECLARE_CCTK_ARGUMENTS; diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c index c968fd2..40f2691 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c @@ -131,13 +131,13 @@ void ML_BSSN_MP_convertFromADMBase_Body(cGH const * restrict const cctkGH, int c CCTK_REAL gu11 = INV(detg)*(g22*g33 - SQR(g23)); - CCTK_REAL gu21 = (g13*g23 - g12*g33)*INV(detg); + CCTK_REAL gu12 = (g13*g23 - g12*g33)*INV(detg); - CCTK_REAL gu31 = (-(g13*g22) + g12*g23)*INV(detg); + CCTK_REAL gu13 = (-(g13*g22) + g12*g23)*INV(detg); CCTK_REAL gu22 = INV(detg)*(g11*g33 - SQR(g13)); - CCTK_REAL gu32 = (g12*g13 - g11*g23)*INV(detg); + CCTK_REAL gu23 = (g12*g13 - g11*g23)*INV(detg); CCTK_REAL gu33 = INV(detg)*(g11*g22 - SQR(g12)); @@ -158,7 +158,7 @@ void ML_BSSN_MP_convertFromADMBase_Body(cGH const * restrict const cctkGH, int c CCTK_REAL gt33L = em4phi*g33; - trKL = gu11*kxxL + gu22*kyyL + 2*(gu21*kxyL + gu31*kxzL + gu32*kyzL) + + trKL = gu11*kxxL + gu22*kyyL + 2*(gu12*kxyL + gu13*kxzL + gu23*kyzL) + gu33*kzzL; CCTK_REAL At11L = em4phi*(kxxL - g11*kthird*trKL); diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c index e49a100..b4afaba 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c @@ -20,6 +20,24 @@ #define CUB(x) ((x) * (x) * (x)) #define QAD(x) ((x) * (x) * (x) * (x)) +void ML_BSSN_MP_convertFromADMBaseGamma_SelectBCs(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + CCTK_INT ierr = 0; + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_dtlapse","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_dtlapse."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_dtshift","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_dtshift."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_MP::ML_Gamma","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_MP::ML_Gamma."); + return; +} + void ML_BSSN_MP_convertFromADMBaseGamma_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) { DECLARE_CCTK_ARGUMENTS; @@ -214,61 +232,61 @@ void ML_BSSN_MP_convertFromADMBaseGamma_Body(cGH const * restrict const cctkGH, CCTK_REAL gtu11 = INV(detgt)*(gt22L*gt33L - SQR(gt23L)); - CCTK_REAL gtu21 = (gt13L*gt23L - gt12L*gt33L)*INV(detgt); + CCTK_REAL gtu12 = (gt13L*gt23L - gt12L*gt33L)*INV(detgt); - CCTK_REAL gtu31 = (-(gt13L*gt22L) + gt12L*gt23L)*INV(detgt); + CCTK_REAL gtu13 = (-(gt13L*gt22L) + gt12L*gt23L)*INV(detgt); CCTK_REAL gtu22 = INV(detgt)*(gt11L*gt33L - SQR(gt13L)); - CCTK_REAL gtu32 = (gt12L*gt13L - gt11L*gt23L)*INV(detgt); + CCTK_REAL gtu23 = (gt12L*gt13L - gt11L*gt23L)*INV(detgt); CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - CCTK_REAL Gt111 = khalf*((gtu11*J11L - gtu21*J12L - - gtu31*J13L)*PDstandardNth1gt11 + (gtu11*J21L - gtu21*J22L - - gtu31*J23L)*PDstandardNth2gt11 + (gtu11*J31L - gtu21*J32L - - gtu31*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu21*PDstandardNth1gt12 + - gtu31*PDstandardNth1gt13) + J21L*(gtu21*PDstandardNth2gt12 + - gtu31*PDstandardNth2gt13) + J31L*(gtu21*PDstandardNth3gt12 + - gtu31*PDstandardNth3gt13))); - - CCTK_REAL Gt211 = khalf*((gtu21*J11L - gtu22*J12L - - gtu32*J13L)*PDstandardNth1gt11 + (gtu21*J21L - gtu22*J22L - - gtu32*J23L)*PDstandardNth2gt11 + (gtu21*J31L - gtu22*J32L - - gtu32*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu22*PDstandardNth1gt12 + - gtu32*PDstandardNth1gt13) + J21L*(gtu22*PDstandardNth2gt12 + - gtu32*PDstandardNth2gt13) + J31L*(gtu22*PDstandardNth3gt12 + - gtu32*PDstandardNth3gt13))); - - CCTK_REAL Gt311 = khalf*((gtu31*J11L - gtu32*J12L - - gtu33*J13L)*PDstandardNth1gt11 + (gtu31*J21L - gtu32*J22L - - gtu33*J23L)*PDstandardNth2gt11 + (gtu31*J31L - gtu32*J32L - - gtu33*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu32*PDstandardNth1gt12 + - gtu33*PDstandardNth1gt13) + J21L*(gtu32*PDstandardNth2gt12 + - gtu33*PDstandardNth2gt13) + J31L*(gtu32*PDstandardNth3gt12 + + CCTK_REAL Gt111 = khalf*((gtu11*J11L - gtu12*J12L - + gtu13*J13L)*PDstandardNth1gt11 + (gtu11*J21L - gtu12*J22L - + gtu13*J23L)*PDstandardNth2gt11 + (gtu11*J31L - gtu12*J32L - + gtu13*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu12*PDstandardNth1gt12 + + gtu13*PDstandardNth1gt13) + J21L*(gtu12*PDstandardNth2gt12 + + gtu13*PDstandardNth2gt13) + J31L*(gtu12*PDstandardNth3gt12 + + gtu13*PDstandardNth3gt13))); + + CCTK_REAL Gt211 = khalf*((gtu12*J11L - gtu22*J12L - + gtu23*J13L)*PDstandardNth1gt11 + (gtu12*J21L - gtu22*J22L - + gtu23*J23L)*PDstandardNth2gt11 + (gtu12*J31L - gtu22*J32L - + gtu23*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu22*PDstandardNth1gt12 + + gtu23*PDstandardNth1gt13) + J21L*(gtu22*PDstandardNth2gt12 + + gtu23*PDstandardNth2gt13) + J31L*(gtu22*PDstandardNth3gt12 + + gtu23*PDstandardNth3gt13))); + + CCTK_REAL Gt311 = khalf*((gtu13*J11L - gtu23*J12L - + gtu33*J13L)*PDstandardNth1gt11 + (gtu13*J21L - gtu23*J22L - + gtu33*J23L)*PDstandardNth2gt11 + (gtu13*J31L - gtu23*J32L - + gtu33*J33L)*PDstandardNth3gt11 + 2*(J11L*(gtu23*PDstandardNth1gt12 + + gtu33*PDstandardNth1gt13) + J21L*(gtu23*PDstandardNth2gt12 + + gtu33*PDstandardNth2gt13) + J31L*(gtu23*PDstandardNth3gt12 + gtu33*PDstandardNth3gt13))); CCTK_REAL Gt112 = khalf*(gtu11*(J12L*PDstandardNth1gt11 + J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) + - gtu21*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + - J31L*PDstandardNth3gt22) + gtu31*(-(J13L*PDstandardNth1gt12) + + gtu12*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + + J31L*PDstandardNth3gt22) + gtu13*(-(J13L*PDstandardNth1gt12) + J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23)); - CCTK_REAL Gt212 = khalf*(gtu21*(J12L*PDstandardNth1gt11 + + CCTK_REAL Gt212 = khalf*(gtu12*(J12L*PDstandardNth1gt11 + J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) + gtu22*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + - J31L*PDstandardNth3gt22) + gtu32*(-(J13L*PDstandardNth1gt12) + + J31L*PDstandardNth3gt22) + gtu23*(-(J13L*PDstandardNth1gt12) + J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 - J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 + J31L*PDstandardNth3gt23)); - CCTK_REAL Gt312 = khalf*(gtu31*(J12L*PDstandardNth1gt11 + + CCTK_REAL Gt312 = khalf*(gtu13*(J12L*PDstandardNth1gt11 + J22L*PDstandardNth2gt11 + J32L*PDstandardNth3gt11) + - gtu32*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + + gtu23*(J11L*PDstandardNth1gt22 + J21L*PDstandardNth2gt22 + J31L*PDstandardNth3gt22) + gtu33*(-(J13L*PDstandardNth1gt12) + J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 - J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 + @@ -277,25 +295,25 @@ void ML_BSSN_MP_convertFromADMBaseGamma_Body(cGH const * restrict const cctkGH, CCTK_REAL Gt113 = khalf*(gtu11*(J13L*PDstandardNth1gt11 + J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) + - gtu21*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + + gtu12*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 - J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 + - J31L*PDstandardNth3gt23) + gtu31*(J11L*PDstandardNth1gt33 + + J31L*PDstandardNth3gt23) + gtu13*(J11L*PDstandardNth1gt33 + J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33)); - CCTK_REAL Gt213 = khalf*(gtu21*(J13L*PDstandardNth1gt11 + + CCTK_REAL Gt213 = khalf*(gtu12*(J13L*PDstandardNth1gt11 + J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) + gtu22*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 - J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 + - J31L*PDstandardNth3gt23) + gtu32*(J11L*PDstandardNth1gt33 + + J31L*PDstandardNth3gt23) + gtu23*(J11L*PDstandardNth1gt33 + J21L*PDstandardNth2gt33 + J31L*PDstandardNth3gt33)); - CCTK_REAL Gt313 = khalf*(gtu31*(J13L*PDstandardNth1gt11 + + CCTK_REAL Gt313 = khalf*(gtu13*(J13L*PDstandardNth1gt11 + J23L*PDstandardNth2gt11 + J33L*PDstandardNth3gt11) + - gtu32*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + + gtu23*(J13L*PDstandardNth1gt12 - J12L*PDstandardNth1gt13 + J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 - J22L*PDstandardNth2gt13 + J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 - J32L*PDstandardNth3gt13 + @@ -305,51 +323,51 @@ void ML_BSSN_MP_convertFromADMBaseGamma_Body(cGH const * restrict const cctkGH, CCTK_REAL Gt122 = khalf*(gtu11*(-(J11L*PDstandardNth1gt22) + 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) - J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 - - J31L*PDstandardNth3gt22) + gtu21*(J12L*PDstandardNth1gt22 + + J31L*PDstandardNth3gt22) + gtu12*(J12L*PDstandardNth1gt22 + J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) - - gtu31*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + + gtu13*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 + J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23))); - CCTK_REAL Gt222 = khalf*(gtu21*(-(J11L*PDstandardNth1gt22) + + CCTK_REAL Gt222 = khalf*(gtu12*(-(J11L*PDstandardNth1gt22) + 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) - J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 - J31L*PDstandardNth3gt22) + gtu22*(J12L*PDstandardNth1gt22 + J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) - - gtu32*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + + gtu23*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 + J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23))); - CCTK_REAL Gt322 = khalf*(gtu31*(-(J11L*PDstandardNth1gt22) + + CCTK_REAL Gt322 = khalf*(gtu13*(-(J11L*PDstandardNth1gt22) + 2*(J12L*PDstandardNth1gt12 + J22L*PDstandardNth2gt12) - J21L*PDstandardNth2gt22 + 2*J32L*PDstandardNth3gt12 - - J31L*PDstandardNth3gt22) + gtu32*(J12L*PDstandardNth1gt22 + + J31L*PDstandardNth3gt22) + gtu23*(J12L*PDstandardNth1gt22 + J22L*PDstandardNth2gt22 + J32L*PDstandardNth3gt22) - gtu33*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22 - 2*(J12L*PDstandardNth1gt23 + J22L*PDstandardNth2gt23 + J32L*PDstandardNth3gt23))); - CCTK_REAL Gt123 = khalf*(gtu21*(J13L*PDstandardNth1gt22 + + CCTK_REAL Gt123 = khalf*(gtu12*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) + gtu11*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt23) + gtu31*(J12L*PDstandardNth1gt33 + + J31L*PDstandardNth3gt23) + gtu13*(J12L*PDstandardNth1gt33 + J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33)); CCTK_REAL Gt223 = khalf*(gtu22*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) + - gtu21*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - + gtu12*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt23) + gtu32*(J12L*PDstandardNth1gt33 + + J31L*PDstandardNth3gt23) + gtu23*(J12L*PDstandardNth1gt33 + J22L*PDstandardNth2gt33 + J32L*PDstandardNth3gt33)); - CCTK_REAL Gt323 = khalf*(gtu32*(J13L*PDstandardNth1gt22 + + CCTK_REAL Gt323 = khalf*(gtu23*(J13L*PDstandardNth1gt22 + J23L*PDstandardNth2gt22 + J33L*PDstandardNth3gt22) + - gtu31*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - + gtu13*(J13L*PDstandardNth1gt12 + J12L*PDstandardNth1gt13 - J11L*PDstandardNth1gt23 + J23L*PDstandardNth2gt12 + J22L*PDstandardNth2gt13 - J21L*PDstandardNth2gt23 + J33L*PDstandardNth3gt12 + J32L*PDstandardNth3gt13 - @@ -359,38 +377,38 @@ void ML_BSSN_MP_convertFromADMBaseGamma_Body(cGH const * restrict const cctkGH, CCTK_REAL Gt133 = khalf*(gtu11*(-(J11L*PDstandardNth1gt33) + 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) - J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt33) + gtu21*(-(J12L*PDstandardNth1gt33) + + J31L*PDstandardNth3gt33) + gtu12*(-(J12L*PDstandardNth1gt33) + 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) - J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 - - J32L*PDstandardNth3gt33) + gtu31*(J13L*PDstandardNth1gt33 + + J32L*PDstandardNth3gt33) + gtu13*(J13L*PDstandardNth1gt33 + J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33)); - CCTK_REAL Gt233 = khalf*(gtu21*(-(J11L*PDstandardNth1gt33) + + CCTK_REAL Gt233 = khalf*(gtu12*(-(J11L*PDstandardNth1gt33) + 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) - J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 - J31L*PDstandardNth3gt33) + gtu22*(-(J12L*PDstandardNth1gt33) + 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) - J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 - - J32L*PDstandardNth3gt33) + gtu32*(J13L*PDstandardNth1gt33 + + J32L*PDstandardNth3gt33) + gtu23*(J13L*PDstandardNth1gt33 + J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33)); - CCTK_REAL Gt333 = khalf*(gtu31*(-(J11L*PDstandardNth1gt33) + + CCTK_REAL Gt333 = khalf*(gtu13*(-(J11L*PDstandardNth1gt33) + 2*(J13L*PDstandardNth1gt13 + J23L*PDstandardNth2gt13) - J21L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt13 - - J31L*PDstandardNth3gt33) + gtu32*(-(J12L*PDstandardNth1gt33) + + J31L*PDstandardNth3gt33) + gtu23*(-(J12L*PDstandardNth1gt33) + 2*(J13L*PDstandardNth1gt23 + J23L*PDstandardNth2gt23) - J22L*PDstandardNth2gt33 + 2*J33L*PDstandardNth3gt23 - J32L*PDstandardNth3gt33) + gtu33*(J13L*PDstandardNth1gt33 + J23L*PDstandardNth2gt33 + J33L*PDstandardNth3gt33)); - CCTK_REAL Xt1L = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu21 + - Gt113*gtu31 + Gt123*gtu32) + Gt133*gtu33; + CCTK_REAL Xt1L = Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu12 + + Gt113*gtu13 + Gt123*gtu23) + Gt133*gtu33; - CCTK_REAL Xt2L = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu21 + - Gt213*gtu31 + Gt223*gtu32) + Gt233*gtu33; + CCTK_REAL Xt2L = Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu12 + + Gt213*gtu13 + Gt223*gtu23) + Gt233*gtu33; - CCTK_REAL Xt3L = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu21 + - Gt313*gtu31 + Gt323*gtu32) + Gt333*gtu33; + CCTK_REAL Xt3L = Gt311*gtu11 + Gt322*gtu22 + 2*(Gt312*gtu12 + + Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33; CCTK_REAL AL = IfThen(LapseACoeff != 0,(-dtalpL + J11L*LapseAdvectionCoeff*(beta1L*PDupwindNthAnti1alpha + diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseDtLapseShift.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseDtLapseShift.c index 55fac38..6798639 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseDtLapseShift.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseDtLapseShift.c @@ -20,6 +20,21 @@ #define CUB(x) ((x) * (x) * (x)) #define QAD(x) ((x) * (x) * (x) * (x)) +void ML_BSSN_MP_convertToADMBaseDtLapseShift_SelectBCs(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + CCTK_INT ierr = 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."); + return; +} + void ML_BSSN_MP_convertToADMBaseDtLapseShift_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) { DECLARE_CCTK_ARGUMENTS; diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary.c index f5d40ce..44523f0 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary.c @@ -20,6 +20,21 @@ #define CUB(x) ((x) * (x) * (x)) #define QAD(x) ((x) * (x) * (x) * (x)) +void ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary_SelectBCs(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + CCTK_INT ierr = 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."); + return; +} + void ML_BSSN_MP_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) { DECLARE_CCTK_ARGUMENTS; diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c b/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c index 5f3be5f..a79f095 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c @@ -113,18 +113,18 @@ void ML_BSSN_MP_enforce_Body(cGH const * restrict const cctkGH, int const dir, i CCTK_REAL gtu11 = INV(detgt)*(gt22L*gt33L - SQR(gt23L)); - CCTK_REAL gtu21 = (gt13L*gt23L - gt12L*gt33L)*INV(detgt); + CCTK_REAL gtu12 = (gt13L*gt23L - gt12L*gt33L)*INV(detgt); - CCTK_REAL gtu31 = (-(gt13L*gt22L) + gt12L*gt23L)*INV(detgt); + CCTK_REAL gtu13 = (-(gt13L*gt22L) + gt12L*gt23L)*INV(detgt); CCTK_REAL gtu22 = INV(detgt)*(gt11L*gt33L - SQR(gt13L)); - CCTK_REAL gtu32 = (gt12L*gt13L - gt11L*gt23L)*INV(detgt); + CCTK_REAL gtu23 = (gt12L*gt13L - gt11L*gt23L)*INV(detgt); CCTK_REAL gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - CCTK_REAL trAt = At11L*gtu11 + At22L*gtu22 + 2*(At12L*gtu21 + - At13L*gtu31 + At23L*gtu32) + At33L*gtu33; + CCTK_REAL trAt = At11L*gtu11 + At22L*gtu22 + 2*(At12L*gtu12 + + At13L*gtu13 + At23L*gtu23) + At33L*gtu33; At11L = At11L - gt11L*kthird*trAt; |