diff options
61 files changed, 1288 insertions, 2210 deletions
diff --git a/ML_BSSN/configuration.ccl b/ML_BSSN/configuration.ccl index 148a1a1..ed457cd 100644 --- a/ML_BSSN/configuration.ccl +++ b/ML_BSSN/configuration.ccl @@ -1,3 +1,6 @@ -# File produced by Kranc +# File produced by user diener +# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) + +# Mathematica script written by Ian Hinder and Sascha Husa REQUIRES LoopControl diff --git a/ML_BSSN/interface.ccl b/ML_BSSN/interface.ccl index 52de196..84e9e92 100644 --- a/ML_BSSN/interface.ccl +++ b/ML_BSSN/interface.ccl @@ -1,4 +1,7 @@ -# File produced by Kranc +# File produced by user diener +# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) + +# Mathematica script written by Ian Hinder and Sascha Husa implements: ML_BSSN @@ -59,77 +62,7 @@ CCTK_REAL ML_mom type=GF timelevels=1 tags='tensortypealias="D" tensorweight=1.0 } "ML_mom" public: -CCTK_REAL ML_curv type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' -{ - At11, - At12, - At13, - At22, - At23, - At33 -} "ML_curv" - -public: -CCTK_REAL ML_dtlapse type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' -{ - A -} "ML_dtlapse" - -public: -CCTK_REAL ML_dtshift type=GF timelevels=4 tags='tensortypealias="U" tensorweight=1.0000000000000000000' -{ - B1, - B2, - B3 -} "ML_dtshift" - -public: -CCTK_REAL ML_Gamma type=GF timelevels=4 tags='tensortypealias="U" tensorweight=0.66666666666666666667' -{ - Xt1, - Xt2, - Xt3 -} "ML_Gamma" - -public: -CCTK_REAL ML_lapse type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' -{ - alpha -} "ML_lapse" - -public: -CCTK_REAL ML_log_confac type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667' -{ - phi -} "ML_log_confac" - -public: -CCTK_REAL ML_metric type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' -{ - gt11, - gt12, - gt13, - gt22, - gt23, - gt33 -} "ML_metric" - -public: -CCTK_REAL ML_shift type=GF timelevels=4 tags='tensortypealias="U" tensorweight=1.0000000000000000000' -{ - beta1, - beta2, - beta3 -} "ML_shift" - -public: -CCTK_REAL ML_trace_curv type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' -{ - trK -} "ML_trace_curv" - -public: -CCTK_REAL ML_curvrhs type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' +CCTK_REAL ML_curvrhs type=GF timelevels=1 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' { At11rhs, At12rhs, @@ -140,13 +73,13 @@ CCTK_REAL ML_curvrhs type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorw } "ML_curvrhs" public: -CCTK_REAL ML_dtlapserhs type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +CCTK_REAL ML_dtlapserhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' { Arhs } "ML_dtlapserhs" public: -CCTK_REAL ML_dtshiftrhs type=GF timelevels=4 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +CCTK_REAL ML_dtshiftrhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=1.0000000000000000000' { B1rhs, B2rhs, @@ -154,7 +87,7 @@ CCTK_REAL ML_dtshiftrhs type=GF timelevels=4 tags='tensortypealias="U" tensorwei } "ML_dtshiftrhs" public: -CCTK_REAL ML_Gammarhs type=GF timelevels=4 tags='tensortypealias="U" tensorweight=0.66666666666666666667' +CCTK_REAL ML_Gammarhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=0.66666666666666666667' { Xt1rhs, Xt2rhs, @@ -162,19 +95,19 @@ CCTK_REAL ML_Gammarhs type=GF timelevels=4 tags='tensortypealias="U" tensorweigh } "ML_Gammarhs" public: -CCTK_REAL ML_lapserhs type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +CCTK_REAL ML_lapserhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' { alpharhs } "ML_lapserhs" public: -CCTK_REAL ML_log_confacrhs type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667' +CCTK_REAL ML_log_confacrhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667' { phirhs } "ML_log_confacrhs" public: -CCTK_REAL ML_metricrhs type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' +CCTK_REAL ML_metricrhs type=GF timelevels=1 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' { gt11rhs, gt12rhs, @@ -185,7 +118,7 @@ CCTK_REAL ML_metricrhs type=GF timelevels=4 tags='tensortypealias="DD_sym" tenso } "ML_metricrhs" public: -CCTK_REAL ML_shiftrhs type=GF timelevels=4 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +CCTK_REAL ML_shiftrhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=1.0000000000000000000' { beta1rhs, beta2rhs, @@ -193,7 +126,77 @@ CCTK_REAL ML_shiftrhs type=GF timelevels=4 tags='tensortypealias="U" tensorweigh } "ML_shiftrhs" public: -CCTK_REAL ML_trace_curvrhs type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +CCTK_REAL ML_trace_curvrhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' { trKrhs } "ML_trace_curvrhs" + +public: +CCTK_REAL ML_curv type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' +{ + At11, + At12, + At13, + At22, + At23, + At33 +} "ML_curv" + +public: +CCTK_REAL ML_dtlapse type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +{ + A +} "ML_dtlapse" + +public: +CCTK_REAL ML_dtshift type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +{ + B1, + B2, + B3 +} "ML_dtshift" + +public: +CCTK_REAL ML_Gamma type=GF timelevels=3 tags='tensortypealias="U" tensorweight=0.66666666666666666667' +{ + Xt1, + Xt2, + Xt3 +} "ML_Gamma" + +public: +CCTK_REAL ML_lapse type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +{ + alpha +} "ML_lapse" + +public: +CCTK_REAL ML_log_confac type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667' +{ + phi +} "ML_log_confac" + +public: +CCTK_REAL ML_metric type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' +{ + gt11, + gt12, + gt13, + gt22, + gt23, + gt33 +} "ML_metric" + +public: +CCTK_REAL ML_shift type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +{ + beta1, + beta2, + beta3 +} "ML_shift" + +public: +CCTK_REAL ML_trace_curv type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +{ + trK +} "ML_trace_curv" diff --git a/ML_BSSN/param.ccl b/ML_BSSN/param.ccl index dabbeb9..cd6077f 100644 --- a/ML_BSSN/param.ccl +++ b/ML_BSSN/param.ccl @@ -1,4 +1,7 @@ -# File produced by Kranc +# File produced by user diener +# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) + +# Mathematica script written by Ian Hinder and Sascha Husa shares: ADMBase @@ -22,6 +25,12 @@ EXTENDS CCTK_KEYWORD shift_evolution_method "shift_evolution_method" } +EXTENDS CCTK_KEYWORD dtshift_evolution_method "dtshift_evolution_method" +{ + ML_BSSN :: "" +} + + shares: GenericFD @@ -79,12 +88,6 @@ CCTK_REAL ShiftAdvectionCoeff "Factor in front of the shift advection terms in g } 1 restricted: -CCTK_REAL MinimumLapse "Minimum value of the lapse function" -{ - "*:*" :: "" -} -1 - -restricted: CCTK_INT harmonicN "d/dt alpha = - f alpha^n K (harmonic=2, 1+log=1)" { *:* :: "" @@ -96,6 +99,12 @@ CCTK_INT ShiftAlphaPower "ShiftAlphaPower" *:* :: "" } 0 +restricted: +CCTK_INT conformalmethod "0 for phi method, 1 for W method" +{ + *:* :: "" +} 0 + private: KEYWORD my_initial_data "my_initial_data" { @@ -134,14 +143,8 @@ CCTK_INT ML_BSSN_MaxNumEvolvedVars "Number of evolved variables used by this tho restricted: CCTK_INT timelevels "Number of active timelevels" { - 0:4 :: "" -} 4 - -restricted: -CCTK_INT rhs_timelevels "Number of active RHS timelevels" -{ - 0:4 :: "" -} 1 + 0:3 :: "" +} 3 restricted: CCTK_INT ML_BSSN_Minkowski_calc_every "ML_BSSN_Minkowski_calc_every" diff --git a/ML_BSSN/schedule.ccl b/ML_BSSN/schedule.ccl index 4b0d77e..bb9d7a6 100644 --- a/ML_BSSN/schedule.ccl +++ b/ML_BSSN/schedule.ccl @@ -1,4 +1,7 @@ -# File produced by Kranc +# File produced by user diener +# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) + +# Mathematica script written by Ian Hinder and Sascha Husa STORAGE: ML_cons_detg[1] @@ -11,6 +14,24 @@ STORAGE: ML_Ham[1] STORAGE: ML_mom[1] +STORAGE: ML_curvrhs[1] + +STORAGE: ML_dtlapserhs[1] + +STORAGE: ML_dtshiftrhs[1] + +STORAGE: ML_Gammarhs[1] + +STORAGE: ML_lapserhs[1] + +STORAGE: ML_log_confacrhs[1] + +STORAGE: ML_metricrhs[1] + +STORAGE: ML_shiftrhs[1] + +STORAGE: ML_trace_curvrhs[1] + if (timelevels == 1) { STORAGE: ML_curv[1] @@ -23,10 +44,6 @@ if (timelevels == 3) { STORAGE: ML_curv[3] } -if (timelevels == 4) -{ - STORAGE: ML_curv[4] -} if (timelevels == 1) { @@ -40,10 +57,6 @@ if (timelevels == 3) { STORAGE: ML_dtlapse[3] } -if (timelevels == 4) -{ - STORAGE: ML_dtlapse[4] -} if (timelevels == 1) { @@ -57,10 +70,6 @@ if (timelevels == 3) { STORAGE: ML_dtshift[3] } -if (timelevels == 4) -{ - STORAGE: ML_dtshift[4] -} if (timelevels == 1) { @@ -74,10 +83,6 @@ if (timelevels == 3) { STORAGE: ML_Gamma[3] } -if (timelevels == 4) -{ - STORAGE: ML_Gamma[4] -} if (timelevels == 1) { @@ -91,10 +96,6 @@ if (timelevels == 3) { STORAGE: ML_lapse[3] } -if (timelevels == 4) -{ - STORAGE: ML_lapse[4] -} if (timelevels == 1) { @@ -108,10 +109,6 @@ if (timelevels == 3) { STORAGE: ML_log_confac[3] } -if (timelevels == 4) -{ - STORAGE: ML_log_confac[4] -} if (timelevels == 1) { @@ -125,10 +122,6 @@ if (timelevels == 3) { STORAGE: ML_metric[3] } -if (timelevels == 4) -{ - STORAGE: ML_metric[4] -} if (timelevels == 1) { @@ -142,10 +135,6 @@ if (timelevels == 3) { STORAGE: ML_shift[3] } -if (timelevels == 4) -{ - STORAGE: ML_shift[4] -} if (timelevels == 1) { @@ -159,163 +148,6 @@ if (timelevels == 3) { STORAGE: ML_trace_curv[3] } -if (timelevels == 4) -{ - STORAGE: ML_trace_curv[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_curvrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_curvrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_curvrhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_curvrhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_dtlapserhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_dtlapserhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_dtlapserhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_dtlapserhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_dtshiftrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_dtshiftrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_dtshiftrhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_dtshiftrhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_Gammarhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_Gammarhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_Gammarhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_Gammarhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_lapserhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_lapserhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_lapserhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_lapserhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_log_confacrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_log_confacrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_log_confacrhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_log_confacrhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_metricrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_metricrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_metricrhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_metricrhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_shiftrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_shiftrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_shiftrhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_shiftrhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_trace_curvrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_trace_curvrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_trace_curvrhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_trace_curvrhs[4] -} schedule ML_BSSN_Startup at STARTUP { diff --git a/ML_BSSN/src/Boundaries.c b/ML_BSSN/src/Boundaries.c index 7680861..ded5d44 100644 --- a/ML_BSSN/src/Boundaries.c +++ b/ML_BSSN/src/Boundaries.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #include "cctk.h" #include "cctk_Arguments.h" diff --git a/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c b/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c index 779d151..f4428fd 100644 --- a/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c +++ b/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -171,7 +174,7 @@ void ML_BSSN_ADMBaseBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, /* Precompute derivatives (old style) */ /* Calculate temporaries and grid functions */ - e4phi = exp(4*phiL); + e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL)); g11 = e4phi*gt11L; diff --git a/ML_BSSN/src/ML_BSSN_Minkowski.c b/ML_BSSN/src/ML_BSSN_Minkowski.c index 8108734..b9335af 100644 --- a/ML_BSSN/src/ML_BSSN_Minkowski.c +++ b/ML_BSSN/src/ML_BSSN_Minkowski.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -127,7 +130,7 @@ void ML_BSSN_Minkowski_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_I /* Precompute derivatives (old style) */ /* Calculate temporaries and grid functions */ - phiL = 0; + phiL = IfThen(conformalmethod,1,0); gt11L = 1; diff --git a/ML_BSSN/src/ML_BSSN_RHS.c b/ML_BSSN/src/ML_BSSN_RHS.c index d387557..7ae2285 100644 --- a/ML_BSSN/src/ML_BSSN_RHS.c +++ b/ML_BSSN/src/ML_BSSN_RHS.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -105,10 +108,13 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con CCTK_REAL Atm31 = INITVALUE, Atm32 = INITVALUE, Atm33 = INITVALUE; CCTK_REAL Ats11 = INITVALUE, Ats12 = INITVALUE, Ats13 = INITVALUE, Ats22 = INITVALUE, Ats23 = INITVALUE, Ats33 = INITVALUE; CCTK_REAL Atu11 = INITVALUE, Atu21 = INITVALUE, Atu22 = INITVALUE, Atu31 = INITVALUE, Atu32 = INITVALUE, Atu33 = INITVALUE; + CCTK_REAL cdphi1 = INITVALUE, cdphi2 = INITVALUE, cdphi211 = INITVALUE, cdphi212 = INITVALUE, cdphi213 = INITVALUE, cdphi222 = INITVALUE; + CCTK_REAL cdphi223 = INITVALUE, cdphi233 = INITVALUE, cdphi3 = INITVALUE; CCTK_REAL detgt = INITVALUE; CCTK_REAL dir1 = INITVALUE, dir2 = INITVALUE, dir3 = INITVALUE; CCTK_REAL e4phi = INITVALUE; CCTK_REAL em4phi = INITVALUE; + CCTK_REAL fac1 = INITVALUE, fac2 = INITVALUE; CCTK_REAL g11 = INITVALUE; CCTK_REAL G111 = INITVALUE, G112 = INITVALUE, G113 = INITVALUE; CCTK_REAL g12 = INITVALUE; @@ -738,82 +744,59 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con gt11L*gtu33*SQR(Gt133) + gt22L*gtu11*SQR(Gt213) + gt22L*gtu22*SQR(Gt223) + 2*gt23L*gtu32*SQR(Gt223) + gt22L*gtu33*SQR(Gt233) + 3*gt33L*gtu11*SQR(Gt313) + 3*gt33L*gtu22*SQR(Gt323) + 3*gt33L*gtu33*SQR(Gt333); - Rphi11 = 2*(-PDstandardNth11phi - gt11L*gtu11*PDstandardNth11phi - 2*gt11L*gtu21*PDstandardNth12phi - - 2*gt11L*gtu31*PDstandardNth13phi - gt11L*gtu22*PDstandardNth22phi - 2*gt11L*gtu32*PDstandardNth23phi - - gt11L*gtu33*PDstandardNth33phi + Gt311*PDstandardNth3phi + gt11L*Gt311*gtu11*PDstandardNth3phi + - 2*gt11L*Gt312*gtu21*PDstandardNth3phi + gt11L*Gt322*gtu22*PDstandardNth3phi + - 2*gt11L*Gt313*gtu31*PDstandardNth3phi + 2*gt11L*Gt323*gtu32*PDstandardNth3phi + - gt11L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt111 + Gt111*gt11L*gtu11 + 2*Gt112*gt11L*gtu21 + gt11L*Gt122*gtu22 + 2*Gt113*gt11L*gtu31 + - 2*gt11L*Gt123*gtu32 + gt11L*Gt133*gtu33 - 4*gt11L*gtu21*PDstandardNth2phi - 4*gt11L*gtu31*PDstandardNth3phi) + - PDstandardNth2phi*(Gt211 + gt11L*Gt211*gtu11 + - gt11L*(2*Gt212*gtu21 + Gt222*gtu22 + 2*Gt213*gtu31 + 2*Gt223*gtu32 + Gt233*gtu33) - - 4*gt11L*gtu32*PDstandardNth3phi) + (2 - 2*gt11L*gtu11)*SQR(PDstandardNth1phi) - - 2*gt11L*gtu22*SQR(PDstandardNth2phi) - 2*gt11L*gtu33*SQR(PDstandardNth3phi)); - - Rphi12 = 2*(-(gt12L*gtu11*PDstandardNth11phi) - PDstandardNth12phi - 2*gt12L*gtu21*PDstandardNth12phi - - 2*gt12L*gtu31*PDstandardNth13phi - gt12L*gtu22*PDstandardNth22phi - 2*gt12L*gtu32*PDstandardNth23phi - - gt12L*gtu33*PDstandardNth33phi + Gt312*PDstandardNth3phi + gt12L*Gt311*gtu11*PDstandardNth3phi + - 2*gt12L*Gt312*gtu21*PDstandardNth3phi + gt12L*Gt322*gtu22*PDstandardNth3phi + - 2*gt12L*Gt313*gtu31*PDstandardNth3phi + 2*gt12L*Gt323*gtu32*PDstandardNth3phi + - gt12L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt112 + Gt111*gt12L*gtu11 + 2*Gt112*gt12L*gtu21 + Gt122*gt12L*gtu22 + 2*Gt113*gt12L*gtu31 + - 2*Gt123*gt12L*gtu32 + gt12L*Gt133*gtu33 + (2 - 4*gt12L*gtu21)*PDstandardNth2phi - - 4*gt12L*gtu31*PDstandardNth3phi) + PDstandardNth2phi* - (Gt212 + 2*gt12L*Gt212*gtu21 + gt12L*(Gt211*gtu11 + Gt222*gtu22 + 2*Gt213*gtu31 + 2*Gt223*gtu32 + Gt233*gtu33) - - 4*gt12L*gtu32*PDstandardNth3phi) - 2*gt12L*gtu11*SQR(PDstandardNth1phi) - - 2*gt12L*gtu22*SQR(PDstandardNth2phi) - 2*gt12L*gtu33*SQR(PDstandardNth3phi)); - - Rphi13 = 2*(-PDstandardNth13phi + gt13L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi - - 2*gtu31*PDstandardNth13phi) - gt13L*gtu22*PDstandardNth22phi - 2*gt13L*gtu32*PDstandardNth23phi - - gt13L*gtu33*PDstandardNth33phi + Gt313*PDstandardNth3phi + gt13L*Gt311*gtu11*PDstandardNth3phi + - 2*gt13L*Gt312*gtu21*PDstandardNth3phi + gt13L*Gt322*gtu22*PDstandardNth3phi + - 2*gt13L*Gt313*gtu31*PDstandardNth3phi + 2*gt13L*Gt323*gtu32*PDstandardNth3phi + - gt13L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt113 + Gt111*gt13L*gtu11 + 2*Gt112*gt13L*gtu21 + Gt122*gt13L*gtu22 + 2*Gt113*gt13L*gtu31 + - 2*Gt123*gt13L*gtu32 + Gt133*gt13L*gtu33 - 4*gt13L*gtu21*PDstandardNth2phi + - (2 - 4*gt13L*gtu31)*PDstandardNth3phi) + - PDstandardNth2phi*(Gt213 + 2*gt13L*Gt213*gtu31 + - gt13L*(Gt211*gtu11 + 2*Gt212*gtu21 + Gt222*gtu22 + 2*Gt223*gtu32 + Gt233*gtu33) - - 4*gt13L*gtu32*PDstandardNth3phi) - 2*gt13L*gtu11*SQR(PDstandardNth1phi) - - 2*gt13L*gtu22*SQR(PDstandardNth2phi) - 2*gt13L*gtu33*SQR(PDstandardNth3phi)); - - Rphi22 = 2*(-PDstandardNth22phi + gt22L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi - - 2*gtu31*PDstandardNth13phi - gtu22*PDstandardNth22phi) - 2*gt22L*gtu32*PDstandardNth23phi - - gt22L*gtu33*PDstandardNth33phi + Gt322*PDstandardNth3phi + gt22L*Gt311*gtu11*PDstandardNth3phi + - 2*gt22L*Gt312*gtu21*PDstandardNth3phi + gt22L*Gt322*gtu22*PDstandardNth3phi + - 2*gt22L*Gt313*gtu31*PDstandardNth3phi + 2*gt22L*Gt323*gtu32*PDstandardNth3phi + - gt22L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt122 + Gt111*gt22L*gtu11 + 2*Gt112*gt22L*gtu21 + Gt122*gt22L*gtu22 + 2*Gt113*gt22L*gtu31 + - 2*Gt123*gt22L*gtu32 + Gt133*gt22L*gtu33 - 4*gt22L*gtu21*PDstandardNth2phi - 4*gt22L*gtu31*PDstandardNth3phi) + - PDstandardNth2phi*(Gt222 + Gt222*gt22L*gtu22 + - gt22L*(Gt211*gtu11 + 2*Gt212*gtu21 + 2*Gt213*gtu31 + 2*Gt223*gtu32 + Gt233*gtu33) - - 4*gt22L*gtu32*PDstandardNth3phi) - 2*gt22L*gtu11*SQR(PDstandardNth1phi) + - (2 - 2*gt22L*gtu22)*SQR(PDstandardNth2phi) - 2*gt22L*gtu33*SQR(PDstandardNth3phi)); - - Rphi23 = 2*(-PDstandardNth23phi + gt23L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi - - 2*gtu31*PDstandardNth13phi - gtu22*PDstandardNth22phi - 2*gtu32*PDstandardNth23phi) - - gt23L*gtu33*PDstandardNth33phi + Gt323*PDstandardNth3phi + gt23L*Gt311*gtu11*PDstandardNth3phi + - 2*gt23L*Gt312*gtu21*PDstandardNth3phi + gt23L*Gt322*gtu22*PDstandardNth3phi + - 2*gt23L*Gt313*gtu31*PDstandardNth3phi + 2*gt23L*Gt323*gtu32*PDstandardNth3phi + - gt23L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt123 + Gt111*gt23L*gtu11 + 2*Gt112*gt23L*gtu21 + Gt122*gt23L*gtu22 + 2*Gt113*gt23L*gtu31 + - 2*Gt123*gt23L*gtu32 + Gt133*gt23L*gtu33 - 4*gt23L*gtu21*PDstandardNth2phi - 4*gt23L*gtu31*PDstandardNth3phi) + - PDstandardNth2phi*(Gt223 + 2*Gt223*gt23L*gtu32 + - gt23L*(Gt211*gtu11 + 2*Gt212*gtu21 + Gt222*gtu22 + 2*Gt213*gtu31 + Gt233*gtu33) + - (2 - 4*gt23L*gtu32)*PDstandardNth3phi) - 2*gt23L*gtu11*SQR(PDstandardNth1phi) - - 2*gt23L*gtu22*SQR(PDstandardNth2phi) - 2*gt23L*gtu33*SQR(PDstandardNth3phi)); - - Rphi33 = 2*(-PDstandardNth33phi + (Gt333 + gt33L* - (Gt322*gtu22 + 2*(Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32) + Gt333*gtu33))*PDstandardNth3phi + - PDstandardNth2phi*(Gt233 + gt33L*(Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32) + - Gt233*gtu33 - 4*gtu32*PDstandardNth3phi)) + - PDstandardNth1phi*(Gt133 + gt33L*(Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32) + - Gt133*gtu33 - 4*(gtu21*PDstandardNth2phi + gtu31*PDstandardNth3phi))) + 2*SQR(PDstandardNth3phi) + - gt33L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi - 2*gtu31*PDstandardNth13phi - - gtu22*PDstandardNth22phi - 2*gtu32*PDstandardNth23phi - gtu33*PDstandardNth33phi + - Gt311*gtu11*PDstandardNth3phi - 2*gtu11*SQR(PDstandardNth1phi) - 2*gtu22*SQR(PDstandardNth2phi) - - 2*gtu33*SQR(PDstandardNth3phi))); + fac1 = IfThen(conformalmethod,-(khalf*INV(phiL)),1); + + cdphi1 = fac1*PDstandardNth1phi; + + cdphi2 = fac1*PDstandardNth2phi; + + cdphi3 = fac1*PDstandardNth3phi; + + fac2 = IfThen(conformalmethod,khalf*pow(phiL,-2),0); + + cdphi211 = -(fac1*(-PDstandardNth11phi + Gt111*PDstandardNth1phi + Gt211*PDstandardNth2phi + + Gt311*PDstandardNth3phi)) + fac2*SQR(PDstandardNth1phi); + + cdphi212 = fac2*PDstandardNth1phi*PDstandardNth2phi - + fac1*(-PDstandardNth12phi + Gt112*PDstandardNth1phi + Gt212*PDstandardNth2phi + Gt312*PDstandardNth3phi); + + cdphi213 = fac2*PDstandardNth1phi*PDstandardNth3phi - + fac1*(-PDstandardNth13phi + Gt113*PDstandardNth1phi + Gt213*PDstandardNth2phi + Gt313*PDstandardNth3phi); + + cdphi222 = -(fac1*(Gt122*PDstandardNth1phi - PDstandardNth22phi + Gt222*PDstandardNth2phi + + Gt322*PDstandardNth3phi)) + fac2*SQR(PDstandardNth2phi); + + cdphi223 = fac2*PDstandardNth2phi*PDstandardNth3phi - + fac1*(Gt123*PDstandardNth1phi - PDstandardNth23phi + Gt223*PDstandardNth2phi + Gt323*PDstandardNth3phi); + + cdphi233 = -(fac1*(Gt133*PDstandardNth1phi + Gt233*PDstandardNth2phi - PDstandardNth33phi + + Gt333*PDstandardNth3phi)) + fac2*SQR(PDstandardNth3phi); + + 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 + gtu33*SQR(cdphi3)))); + + 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 + gtu11*SQR(cdphi1)) + gtu22*(cdphi222 + 2*SQR(cdphi2)) + + gtu33*(cdphi233 + 2*SQR(cdphi3)))); + + 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)) + + gtu33*(cdphi233 + 2*SQR(cdphi3)))); + + 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 + gtu33*SQR(cdphi3)))); + + 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)))); + + 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*SQR(cdphi1)) + + gtu22*(cdphi222 + 2*SQR(cdphi2))) + 2*(-1 + gt33L*gtu33)*SQR(cdphi3)); Atm11 = At11L*gtu11 + At12L*gtu21 + At13L*gtu31; @@ -845,7 +828,7 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con Atu33 = Atm31*gtu31 + Atm32*gtu32 + Atm33*gtu33; - e4phi = exp(4*phiL); + e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL)); em4phi = INV(e4phi); @@ -873,44 +856,41 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con gu33 = em4phi*gtu33; - G111 = Gt111 + (4 - 2*gt11L*gtu11)*PDstandardNth1phi - 2*gt11L*(gtu21*PDstandardNth2phi + gtu31*PDstandardNth3phi); + G111 = Gt111 + cdphi1*(4 - 2*gt11L*gtu11) - 2*gt11L*(cdphi2*gtu21 + cdphi3*gtu31); - G211 = Gt211 - 2*gt11L*(gtu21*PDstandardNth1phi + gtu22*PDstandardNth2phi + gtu32*PDstandardNth3phi); + G211 = Gt211 - 2*gt11L*(cdphi1*gtu21 + cdphi2*gtu22 + cdphi3*gtu32); - G311 = Gt311 - 2*gt11L*(gtu31*PDstandardNth1phi + gtu32*PDstandardNth2phi + gtu33*PDstandardNth3phi); + G311 = Gt311 - 2*gt11L*(cdphi1*gtu31 + cdphi2*gtu32 + cdphi3*gtu33); - G112 = Gt112 + (2 - 2*gt12L*gtu21)*PDstandardNth2phi - 2*gt12L*(gtu11*PDstandardNth1phi + gtu31*PDstandardNth3phi); + G112 = Gt112 + cdphi2*(2 - 2*gt12L*gtu21) - 2*gt12L*(cdphi1*gtu11 + cdphi3*gtu31); - G212 = Gt212 + (2 - 2*gt12L*gtu21)*PDstandardNth1phi - 2*gt12L*(gtu22*PDstandardNth2phi + gtu32*PDstandardNth3phi); + G212 = Gt212 + cdphi1*(2 - 2*gt12L*gtu21) - 2*gt12L*(cdphi2*gtu22 + cdphi3*gtu32); - G312 = Gt312 - 2*gt12L*(gtu31*PDstandardNth1phi + gtu32*PDstandardNth2phi + gtu33*PDstandardNth3phi); + G312 = Gt312 - 2*gt12L*(cdphi1*gtu31 + cdphi2*gtu32 + cdphi3*gtu33); - G113 = Gt113 + 2*PDstandardNth3phi - 2*gt13L*(gtu11*PDstandardNth1phi + gtu21*PDstandardNth2phi + - gtu31*PDstandardNth3phi); + G113 = Gt113 - 2*gt13L*(cdphi1*gtu11 + cdphi2*gtu21) + cdphi3*(2 - 2*gt13L*gtu31); - G213 = Gt213 - 2*gt13L*(gtu21*PDstandardNth1phi + gtu22*PDstandardNth2phi + gtu32*PDstandardNth3phi); + G213 = Gt213 - 2*gt13L*(cdphi1*gtu21 + cdphi2*gtu22 + cdphi3*gtu32); - G313 = Gt313 + (2 - 2*gt13L*gtu31)*PDstandardNth1phi - 2*gt13L*(gtu32*PDstandardNth2phi + gtu33*PDstandardNth3phi); + G313 = Gt313 + cdphi1*(2 - 2*gt13L*gtu31) - 2*gt13L*(cdphi2*gtu32 + cdphi3*gtu33); - G122 = Gt122 - 2*gt22L*(gtu11*PDstandardNth1phi + gtu21*PDstandardNth2phi + gtu31*PDstandardNth3phi); + G122 = Gt122 - 2*gt22L*(cdphi1*gtu11 + cdphi2*gtu21 + cdphi3*gtu31); - G222 = Gt222 + (4 - 2*gt22L*gtu22)*PDstandardNth2phi - 2*gt22L*(gtu21*PDstandardNth1phi + gtu32*PDstandardNth3phi); + G222 = Gt222 + cdphi2*(4 - 2*gt22L*gtu22) - 2*gt22L*(cdphi1*gtu21 + cdphi3*gtu32); - G322 = Gt322 - 2*gt22L*(gtu31*PDstandardNth1phi + gtu32*PDstandardNth2phi + gtu33*PDstandardNth3phi); + G322 = Gt322 - 2*gt22L*(cdphi1*gtu31 + cdphi2*gtu32 + cdphi3*gtu33); - G123 = Gt123 - 2*gt23L*(gtu11*PDstandardNth1phi + gtu21*PDstandardNth2phi + gtu31*PDstandardNth3phi); + G123 = Gt123 - 2*gt23L*(cdphi1*gtu11 + cdphi2*gtu21 + cdphi3*gtu31); - G223 = Gt223 + 2*PDstandardNth3phi - 2*gt23L*(gtu21*PDstandardNth1phi + gtu22*PDstandardNth2phi + - gtu32*PDstandardNth3phi); + G223 = Gt223 - 2*gt23L*(cdphi1*gtu21 + cdphi2*gtu22) + cdphi3*(2 - 2*gt23L*gtu32); - G323 = Gt323 + (2 - 2*gt23L*gtu32)*PDstandardNth2phi - 2*gt23L*(gtu31*PDstandardNth1phi + gtu33*PDstandardNth3phi); + G323 = Gt323 + cdphi2*(2 - 2*gt23L*gtu32) - 2*gt23L*(cdphi1*gtu31 + cdphi3*gtu33); - G133 = Gt133 - 2*gt33L*(gtu11*PDstandardNth1phi + gtu21*PDstandardNth2phi + gtu31*PDstandardNth3phi); + G133 = Gt133 - 2*gt33L*(cdphi1*gtu11 + cdphi2*gtu21 + cdphi3*gtu31); - G233 = Gt233 - 2*gt33L*(gtu21*PDstandardNth1phi + gtu22*PDstandardNth2phi + gtu32*PDstandardNth3phi); + G233 = Gt233 - 2*gt33L*(cdphi1*gtu21 + cdphi2*gtu22 + cdphi3*gtu32); - G333 = Gt333 + 4*PDstandardNth3phi - 2*gt33L*(gtu31*PDstandardNth1phi + gtu32*PDstandardNth2phi + - gtu33*PDstandardNth3phi); + G333 = Gt333 - 2*gt33L*(cdphi1*gtu31 + cdphi2*gtu32) + cdphi3*(4 - 2*gt33L*gtu33); R11 = Rphi11 + Rt11; @@ -924,9 +904,10 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con R33 = Rphi33 + Rt33; - phirhsL = (6*(PDupwindNth1(phi, i, j, k)*beta1L + PDupwindNth2(phi, i, j, k)*beta2L + - PDupwindNth3(phi, i, j, k)*beta3L) + PDstandardNth1beta1 + PDstandardNth2beta2 + PDstandardNth3beta3 - - alphaL*trKL)/6.; + phirhsL = PDupwindNth1(phi, i, j, k)*beta1L + PDupwindNth2(phi, i, j, k)*beta2L + + PDupwindNth3(phi, i, j, k)*beta3L + (PDstandardNth1beta1 + PDstandardNth2beta2 + PDstandardNth3beta3)* + IfThen(conformalmethod,-(kthird*phiL),0.16666666666666666) + + alphaL*trKL*IfThen(conformalmethod,kthird*phiL,-0.16666666666666666); gt11rhsL = -2*alphaL*At11L + PDupwindNth1(gt11, i, j, k)*beta1L + PDupwindNth2(gt11, i, j, k)*beta2L + PDupwindNth3(gt11, i, j, k)*beta3L + 2*(gt12L*PDstandardNth1beta2 + gt13L*PDstandardNth1beta3) + @@ -962,8 +943,8 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con PDupwindNth3(Xt1, i, j, k)*beta3L + gtu22*PDstandardNth22beta1 + gtu33*PDstandardNth33beta1) + gtu31*(PDstandardNth23beta2 + PDstandardNth33beta3) - 6*(Atu11*PDstandardNth1alpha + Atu21*PDstandardNth2alpha + Atu31*PDstandardNth3alpha) + - 6*(gtu32*PDstandardNth23beta1 + alphaL*(Atu11*Gt111 + Atu22*Gt122 + 2*(Atu21*Gt112 + Atu31*Gt113 + Atu32*Gt123) + - Atu33*Gt133 + 6*(Atu11*PDstandardNth1phi + Atu21*PDstandardNth2phi + Atu31*PDstandardNth3phi) - + 6*(gtu32*PDstandardNth23beta1 + alphaL*(6*(Atu11*cdphi1 + Atu21*cdphi2 + Atu31*cdphi3) + Atu11*Gt111 + + Atu22*Gt122 + 2*(Atu21*Gt112 + Atu31*Gt113 + Atu32*Gt123) + Atu33*Gt133 - ktwothird*(gtu11*PDstandardNth1trK + gtu21*PDstandardNth2trK + gtu31*PDstandardNth3trK))) + (-3*PDstandardNth1beta1 + 2*(PDstandardNth1beta1 + PDstandardNth2beta2 + PDstandardNth3beta3))*Xtn1 - 3*(PDstandardNth2beta1*Xtn2 + PDstandardNth3beta1*Xtn3)); @@ -974,8 +955,8 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con PDupwindNth3(Xt2, i, j, k)*beta3L + gtu11*PDstandardNth11beta2 + gtu33*PDstandardNth33beta2) + gtu32*(PDstandardNth13beta1 + 7*PDstandardNth23beta2 + PDstandardNth33beta3) - 6*(Atu21*PDstandardNth1alpha + Atu22*PDstandardNth2alpha + Atu32*PDstandardNth3alpha) + - 6*(gtu31*PDstandardNth13beta2 + alphaL*(Atu11*Gt211 + Atu22*Gt222 + 2*(Atu21*Gt212 + Atu31*Gt213 + Atu32*Gt223) + - Atu33*Gt233 + 6*(Atu21*PDstandardNth1phi + Atu22*PDstandardNth2phi + Atu32*PDstandardNth3phi) - + 6*(gtu31*PDstandardNth13beta2 + alphaL*(6*(Atu21*cdphi1 + Atu22*cdphi2 + Atu32*cdphi3) + Atu11*Gt211 + + Atu22*Gt222 + 2*(Atu21*Gt212 + Atu31*Gt213 + Atu32*Gt223) + Atu33*Gt233 - ktwothird*(gtu21*PDstandardNth1trK + gtu22*PDstandardNth2trK + gtu32*PDstandardNth3trK))) + 2*(PDstandardNth1beta1 + PDstandardNth2beta2 + PDstandardNth3beta3)*Xtn2 - 3*(PDstandardNth1beta2*Xtn1 + PDstandardNth2beta2*Xtn2 + PDstandardNth3beta2*Xtn3)); @@ -986,8 +967,8 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con gtu32*(PDstandardNth12beta1 + PDstandardNth22beta2 + 7*PDstandardNth23beta3) + gtu33*(PDstandardNth13beta1 + PDstandardNth23beta2 + 4*PDstandardNth33beta3) - 6*(Atu31*PDstandardNth1alpha + Atu32*PDstandardNth2alpha + Atu33*PDstandardNth3alpha) + - 6*(gtu21*PDstandardNth12beta3 + alphaL*(Atu11*Gt311 + Atu22*Gt322 + 2*(Atu21*Gt312 + Atu31*Gt313 + Atu32*Gt323) + - Atu33*Gt333 + 6*(Atu31*PDstandardNth1phi + Atu32*PDstandardNth2phi + Atu33*PDstandardNth3phi) - + 6*(gtu21*PDstandardNth12beta3 + alphaL*(6*(Atu31*cdphi1 + Atu32*cdphi2 + Atu33*cdphi3) + Atu11*Gt311 + + Atu22*Gt322 + 2*(Atu21*Gt312 + Atu31*Gt313 + Atu32*Gt323) + Atu33*Gt333 - ktwothird*(gtu31*PDstandardNth1trK + gtu32*PDstandardNth2trK + gtu33*PDstandardNth3trK))) + 2*(PDstandardNth1beta1 + PDstandardNth2beta2 + PDstandardNth3beta3)*Xtn3 - 3*(PDstandardNth1beta3*Xtn1 + PDstandardNth2beta3*Xtn2 + PDstandardNth3beta3*Xtn3)); diff --git a/ML_BSSN/src/ML_BSSN_RHSBoundary.c b/ML_BSSN/src/ML_BSSN_RHSBoundary.c index 3458ffc..2218115 100644 --- a/ML_BSSN/src/ML_BSSN_RHSBoundary.c +++ b/ML_BSSN/src/ML_BSSN_RHSBoundary.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -185,7 +188,7 @@ void ML_BSSN_RHSBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - em4phi = exp(-4*phiL); + em4phi = IfThen(conformalmethod,SQR(phiL),exp(-4*phiL)); gu11 = em4phi*gtu11; diff --git a/ML_BSSN/src/ML_BSSN_boundary.c b/ML_BSSN/src/ML_BSSN_boundary.c index a949ca0..c8ac285 100644 --- a/ML_BSSN/src/ML_BSSN_boundary.c +++ b/ML_BSSN/src/ML_BSSN_boundary.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -127,7 +130,7 @@ void ML_BSSN_boundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_IN /* Precompute derivatives (old style) */ /* Calculate temporaries and grid functions */ - phiL = 0; + phiL = IfThen(conformalmethod,1,0); gt11L = 1; diff --git a/ML_BSSN/src/ML_BSSN_constraints.c b/ML_BSSN/src/ML_BSSN_constraints.c index 136079e..d66379d 100644 --- a/ML_BSSN/src/ML_BSSN_constraints.c +++ b/ML_BSSN/src/ML_BSSN_constraints.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -103,9 +106,12 @@ void ML_BSSN_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK /* Declare shorthands */ CCTK_REAL Atm11 = INITVALUE, Atm12 = INITVALUE, Atm13 = INITVALUE, Atm21 = INITVALUE, Atm22 = INITVALUE, Atm23 = INITVALUE; CCTK_REAL Atm31 = INITVALUE, Atm32 = INITVALUE, Atm33 = INITVALUE; + CCTK_REAL cdphi1 = INITVALUE, cdphi2 = INITVALUE, cdphi211 = INITVALUE, cdphi212 = INITVALUE, cdphi213 = INITVALUE, cdphi222 = INITVALUE; + CCTK_REAL cdphi223 = INITVALUE, cdphi233 = INITVALUE, cdphi3 = INITVALUE; CCTK_REAL detgt = INITVALUE; CCTK_REAL e4phi = INITVALUE; CCTK_REAL em4phi = INITVALUE; + CCTK_REAL fac1 = INITVALUE, fac2 = INITVALUE; CCTK_REAL Gt111 = INITVALUE, Gt112 = INITVALUE, Gt113 = INITVALUE, Gt122 = INITVALUE, Gt123 = INITVALUE, Gt133 = INITVALUE; CCTK_REAL Gt211 = INITVALUE, Gt212 = INITVALUE, Gt213 = INITVALUE, Gt222 = INITVALUE, Gt223 = INITVALUE, Gt233 = INITVALUE; CCTK_REAL Gt311 = INITVALUE, Gt312 = INITVALUE, Gt313 = INITVALUE, Gt322 = INITVALUE, Gt323 = INITVALUE, Gt333 = INITVALUE; @@ -660,84 +666,61 @@ void ML_BSSN_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK gt11L*gtu33*SQR(Gt133) + gt22L*gtu11*SQR(Gt213) + gt22L*gtu22*SQR(Gt223) + 2*gt23L*gtu32*SQR(Gt223) + gt22L*gtu33*SQR(Gt233) + 3*gt33L*gtu11*SQR(Gt313) + 3*gt33L*gtu22*SQR(Gt323) + 3*gt33L*gtu33*SQR(Gt333); - Rphi11 = 2*(-PDstandardNth11phi - gt11L*gtu11*PDstandardNth11phi - 2*gt11L*gtu21*PDstandardNth12phi - - 2*gt11L*gtu31*PDstandardNth13phi - gt11L*gtu22*PDstandardNth22phi - 2*gt11L*gtu32*PDstandardNth23phi - - gt11L*gtu33*PDstandardNth33phi + Gt311*PDstandardNth3phi + gt11L*Gt311*gtu11*PDstandardNth3phi + - 2*gt11L*Gt312*gtu21*PDstandardNth3phi + gt11L*Gt322*gtu22*PDstandardNth3phi + - 2*gt11L*Gt313*gtu31*PDstandardNth3phi + 2*gt11L*Gt323*gtu32*PDstandardNth3phi + - gt11L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt111 + Gt111*gt11L*gtu11 + 2*Gt112*gt11L*gtu21 + gt11L*Gt122*gtu22 + 2*Gt113*gt11L*gtu31 + - 2*gt11L*Gt123*gtu32 + gt11L*Gt133*gtu33 - 4*gt11L*gtu21*PDstandardNth2phi - 4*gt11L*gtu31*PDstandardNth3phi) + - PDstandardNth2phi*(Gt211 + gt11L*Gt211*gtu11 + - gt11L*(2*Gt212*gtu21 + Gt222*gtu22 + 2*Gt213*gtu31 + 2*Gt223*gtu32 + Gt233*gtu33) - - 4*gt11L*gtu32*PDstandardNth3phi) + (2 - 2*gt11L*gtu11)*SQR(PDstandardNth1phi) - - 2*gt11L*gtu22*SQR(PDstandardNth2phi) - 2*gt11L*gtu33*SQR(PDstandardNth3phi)); - - Rphi12 = 2*(-(gt12L*gtu11*PDstandardNth11phi) - PDstandardNth12phi - 2*gt12L*gtu21*PDstandardNth12phi - - 2*gt12L*gtu31*PDstandardNth13phi - gt12L*gtu22*PDstandardNth22phi - 2*gt12L*gtu32*PDstandardNth23phi - - gt12L*gtu33*PDstandardNth33phi + Gt312*PDstandardNth3phi + gt12L*Gt311*gtu11*PDstandardNth3phi + - 2*gt12L*Gt312*gtu21*PDstandardNth3phi + gt12L*Gt322*gtu22*PDstandardNth3phi + - 2*gt12L*Gt313*gtu31*PDstandardNth3phi + 2*gt12L*Gt323*gtu32*PDstandardNth3phi + - gt12L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt112 + Gt111*gt12L*gtu11 + 2*Gt112*gt12L*gtu21 + Gt122*gt12L*gtu22 + 2*Gt113*gt12L*gtu31 + - 2*Gt123*gt12L*gtu32 + gt12L*Gt133*gtu33 + (2 - 4*gt12L*gtu21)*PDstandardNth2phi - - 4*gt12L*gtu31*PDstandardNth3phi) + PDstandardNth2phi* - (Gt212 + 2*gt12L*Gt212*gtu21 + gt12L*(Gt211*gtu11 + Gt222*gtu22 + 2*Gt213*gtu31 + 2*Gt223*gtu32 + Gt233*gtu33) - - 4*gt12L*gtu32*PDstandardNth3phi) - 2*gt12L*gtu11*SQR(PDstandardNth1phi) - - 2*gt12L*gtu22*SQR(PDstandardNth2phi) - 2*gt12L*gtu33*SQR(PDstandardNth3phi)); - - Rphi13 = 2*(-PDstandardNth13phi + gt13L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi - - 2*gtu31*PDstandardNth13phi) - gt13L*gtu22*PDstandardNth22phi - 2*gt13L*gtu32*PDstandardNth23phi - - gt13L*gtu33*PDstandardNth33phi + Gt313*PDstandardNth3phi + gt13L*Gt311*gtu11*PDstandardNth3phi + - 2*gt13L*Gt312*gtu21*PDstandardNth3phi + gt13L*Gt322*gtu22*PDstandardNth3phi + - 2*gt13L*Gt313*gtu31*PDstandardNth3phi + 2*gt13L*Gt323*gtu32*PDstandardNth3phi + - gt13L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt113 + Gt111*gt13L*gtu11 + 2*Gt112*gt13L*gtu21 + Gt122*gt13L*gtu22 + 2*Gt113*gt13L*gtu31 + - 2*Gt123*gt13L*gtu32 + Gt133*gt13L*gtu33 - 4*gt13L*gtu21*PDstandardNth2phi + - (2 - 4*gt13L*gtu31)*PDstandardNth3phi) + - PDstandardNth2phi*(Gt213 + 2*gt13L*Gt213*gtu31 + - gt13L*(Gt211*gtu11 + 2*Gt212*gtu21 + Gt222*gtu22 + 2*Gt223*gtu32 + Gt233*gtu33) - - 4*gt13L*gtu32*PDstandardNth3phi) - 2*gt13L*gtu11*SQR(PDstandardNth1phi) - - 2*gt13L*gtu22*SQR(PDstandardNth2phi) - 2*gt13L*gtu33*SQR(PDstandardNth3phi)); - - Rphi22 = 2*(-PDstandardNth22phi + gt22L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi - - 2*gtu31*PDstandardNth13phi - gtu22*PDstandardNth22phi) - 2*gt22L*gtu32*PDstandardNth23phi - - gt22L*gtu33*PDstandardNth33phi + Gt322*PDstandardNth3phi + gt22L*Gt311*gtu11*PDstandardNth3phi + - 2*gt22L*Gt312*gtu21*PDstandardNth3phi + gt22L*Gt322*gtu22*PDstandardNth3phi + - 2*gt22L*Gt313*gtu31*PDstandardNth3phi + 2*gt22L*Gt323*gtu32*PDstandardNth3phi + - gt22L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt122 + Gt111*gt22L*gtu11 + 2*Gt112*gt22L*gtu21 + Gt122*gt22L*gtu22 + 2*Gt113*gt22L*gtu31 + - 2*Gt123*gt22L*gtu32 + Gt133*gt22L*gtu33 - 4*gt22L*gtu21*PDstandardNth2phi - 4*gt22L*gtu31*PDstandardNth3phi) + - PDstandardNth2phi*(Gt222 + Gt222*gt22L*gtu22 + - gt22L*(Gt211*gtu11 + 2*Gt212*gtu21 + 2*Gt213*gtu31 + 2*Gt223*gtu32 + Gt233*gtu33) - - 4*gt22L*gtu32*PDstandardNth3phi) - 2*gt22L*gtu11*SQR(PDstandardNth1phi) + - (2 - 2*gt22L*gtu22)*SQR(PDstandardNth2phi) - 2*gt22L*gtu33*SQR(PDstandardNth3phi)); - - Rphi23 = 2*(-PDstandardNth23phi + gt23L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi - - 2*gtu31*PDstandardNth13phi - gtu22*PDstandardNth22phi - 2*gtu32*PDstandardNth23phi) - - gt23L*gtu33*PDstandardNth33phi + Gt323*PDstandardNth3phi + gt23L*Gt311*gtu11*PDstandardNth3phi + - 2*gt23L*Gt312*gtu21*PDstandardNth3phi + gt23L*Gt322*gtu22*PDstandardNth3phi + - 2*gt23L*Gt313*gtu31*PDstandardNth3phi + 2*gt23L*Gt323*gtu32*PDstandardNth3phi + - gt23L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt123 + Gt111*gt23L*gtu11 + 2*Gt112*gt23L*gtu21 + Gt122*gt23L*gtu22 + 2*Gt113*gt23L*gtu31 + - 2*Gt123*gt23L*gtu32 + Gt133*gt23L*gtu33 - 4*gt23L*gtu21*PDstandardNth2phi - 4*gt23L*gtu31*PDstandardNth3phi) + - PDstandardNth2phi*(Gt223 + 2*Gt223*gt23L*gtu32 + - gt23L*(Gt211*gtu11 + 2*Gt212*gtu21 + Gt222*gtu22 + 2*Gt213*gtu31 + Gt233*gtu33) + - (2 - 4*gt23L*gtu32)*PDstandardNth3phi) - 2*gt23L*gtu11*SQR(PDstandardNth1phi) - - 2*gt23L*gtu22*SQR(PDstandardNth2phi) - 2*gt23L*gtu33*SQR(PDstandardNth3phi)); - - Rphi33 = 2*(-PDstandardNth33phi + (Gt333 + gt33L* - (Gt322*gtu22 + 2*(Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32) + Gt333*gtu33))*PDstandardNth3phi + - PDstandardNth2phi*(Gt233 + gt33L*(Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32) + - Gt233*gtu33 - 4*gtu32*PDstandardNth3phi)) + - PDstandardNth1phi*(Gt133 + gt33L*(Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32) + - Gt133*gtu33 - 4*(gtu21*PDstandardNth2phi + gtu31*PDstandardNth3phi))) + 2*SQR(PDstandardNth3phi) + - gt33L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi - 2*gtu31*PDstandardNth13phi - - gtu22*PDstandardNth22phi - 2*gtu32*PDstandardNth23phi - gtu33*PDstandardNth33phi + - Gt311*gtu11*PDstandardNth3phi - 2*gtu11*SQR(PDstandardNth1phi) - 2*gtu22*SQR(PDstandardNth2phi) - - 2*gtu33*SQR(PDstandardNth3phi))); - - e4phi = exp(4*phiL); + fac1 = IfThen(conformalmethod,-(khalf*INV(phiL)),1); + + cdphi1 = fac1*PDstandardNth1phi; + + cdphi2 = fac1*PDstandardNth2phi; + + cdphi3 = fac1*PDstandardNth3phi; + + fac2 = IfThen(conformalmethod,khalf*pow(phiL,-2),0); + + cdphi211 = -(fac1*(-PDstandardNth11phi + Gt111*PDstandardNth1phi + Gt211*PDstandardNth2phi + + Gt311*PDstandardNth3phi)) + fac2*SQR(PDstandardNth1phi); + + cdphi212 = fac2*PDstandardNth1phi*PDstandardNth2phi - + fac1*(-PDstandardNth12phi + Gt112*PDstandardNth1phi + Gt212*PDstandardNth2phi + Gt312*PDstandardNth3phi); + + cdphi213 = fac2*PDstandardNth1phi*PDstandardNth3phi - + fac1*(-PDstandardNth13phi + Gt113*PDstandardNth1phi + Gt213*PDstandardNth2phi + Gt313*PDstandardNth3phi); + + cdphi222 = -(fac1*(Gt122*PDstandardNth1phi - PDstandardNth22phi + Gt222*PDstandardNth2phi + + Gt322*PDstandardNth3phi)) + fac2*SQR(PDstandardNth2phi); + + cdphi223 = fac2*PDstandardNth2phi*PDstandardNth3phi - + fac1*(Gt123*PDstandardNth1phi - PDstandardNth23phi + Gt223*PDstandardNth2phi + Gt323*PDstandardNth3phi); + + cdphi233 = -(fac1*(Gt133*PDstandardNth1phi + Gt233*PDstandardNth2phi - PDstandardNth33phi + + Gt333*PDstandardNth3phi)) + fac2*SQR(PDstandardNth3phi); + + 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 + gtu33*SQR(cdphi3)))); + + 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 + gtu11*SQR(cdphi1)) + gtu22*(cdphi222 + 2*SQR(cdphi2)) + + gtu33*(cdphi233 + 2*SQR(cdphi3)))); + + 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)) + + gtu33*(cdphi233 + 2*SQR(cdphi3)))); + + 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 + gtu33*SQR(cdphi3)))); + + 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)))); + + 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*SQR(cdphi1)) + + gtu22*(cdphi222 + 2*SQR(cdphi2))) + 2*(-1 + gt33L*gtu33)*SQR(cdphi3)); + + e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL)); em4phi = INV(e4phi); @@ -787,47 +770,44 @@ void ML_BSSN_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK HL = -2*(Atm12*Atm21 + Atm13*Atm31 + Atm23*Atm32) + trR - SQR(Atm11) - SQR(Atm22) - SQR(Atm33) + ktwothird*SQR(trKL); - M1L = -(At12L*Gt112*gtu22) - At11L*Gt122*gtu22 - At22L*Gt212*gtu22 - At12L*Gt222*gtu22 - At23L*Gt312*gtu22 - - At13L*Gt322*gtu22 - At13L*Gt111*gtu31 - 3*At11L*Gt113*gtu31 - At23L*Gt211*gtu31 - 3*At12L*Gt213*gtu31 - - At33L*Gt311*gtu31 - 3*At13L*Gt313*gtu31 - 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*(At11L*Gt111*gtu11 + At12L*Gt211*gtu11 + At13L*Gt311*gtu11 + At11L*Gt123*gtu32) - At13L*Gt113*gtu33 - - At11L*Gt133*gtu33 - At23L*Gt213*gtu33 - At12L*Gt233*gtu33 - At33L*Gt313*gtu33 - At13L*Gt333*gtu33 + - gtu11*PDstandardNth1At11 + gtu21*(-(At12L*Gt111) - 3*At11L*Gt112 - At22L*Gt211 - 3*At12L*Gt212 - At23L*Gt311 - - 3*At13L*Gt312 + PDstandardNth1At12) + gtu31*PDstandardNth1At13 + 6*At11L*gtu11*PDstandardNth1phi + - 6*At12L*gtu21*PDstandardNth1phi + 6*At13L*gtu31*PDstandardNth1phi - ktwothird*PDstandardNth1trK + - gtu21*PDstandardNth2At11 + gtu22*PDstandardNth2At12 + gtu32*PDstandardNth2At13 + 6*At11L*gtu21*PDstandardNth2phi + - 6*At12L*gtu22*PDstandardNth2phi + 6*At13L*gtu32*PDstandardNth2phi + gtu31*PDstandardNth3At11 + - gtu32*PDstandardNth3At12 + gtu33*PDstandardNth3At13 + 6*At11L*gtu31*PDstandardNth3phi + - 6*At12L*gtu32*PDstandardNth3phi + 6*At13L*gtu33*PDstandardNth3phi; - - M2L = -(At12L*Gt111*gtu11) - At11L*Gt112*gtu11 - At22L*Gt211*gtu11 - At12L*Gt212*gtu11 - At23L*Gt311*gtu11 - - At13L*Gt312*gtu11 - 3*At12L*Gt112*gtu21 - At11L*Gt122*gtu21 - 3*At22L*Gt212*gtu21 - At12L*Gt222*gtu21 - - 3*At23L*Gt312*gtu21 - At13L*Gt322*gtu21 - 2*At12L*Gt122*gtu22 - 2*At22L*Gt222*gtu22 - 2*At23L*Gt322*gtu22 - - 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 - At13L*Gt122*gtu32 - - 3*At12L*Gt123*gtu32 - At23L*Gt222*gtu32 - 3*At22L*Gt223*gtu32 - At33L*Gt322*gtu32 - 3*At23L*Gt323*gtu32 - - At13L*Gt123*gtu33 - At12L*Gt133*gtu33 - At23L*Gt223*gtu33 - At22L*Gt233*gtu33 - At33L*Gt323*gtu33 - - At23L*Gt333*gtu33 + gtu11*PDstandardNth1At12 + gtu21*PDstandardNth1At22 + gtu31*PDstandardNth1At23 + - 6*At12L*gtu11*PDstandardNth1phi + 6*At22L*gtu21*PDstandardNth1phi + 6*At23L*gtu31*PDstandardNth1phi + - gtu21*PDstandardNth2At12 + gtu22*PDstandardNth2At22 + gtu32*PDstandardNth2At23 + 6*At12L*gtu21*PDstandardNth2phi + - 6*At22L*gtu22*PDstandardNth2phi + 6*At23L*gtu32*PDstandardNth2phi - ktwothird*PDstandardNth2trK + - gtu31*PDstandardNth3At12 + gtu32*PDstandardNth3At22 + gtu33*PDstandardNth3At23 + 6*At12L*gtu31*PDstandardNth3phi + - 6*At22L*gtu32*PDstandardNth3phi + 6*At23L*gtu33*PDstandardNth3phi; - - M3L = -(At13L*Gt111*gtu11) - At11L*Gt113*gtu11 - At23L*Gt211*gtu11 - At12L*Gt213*gtu11 - At33L*Gt311*gtu11 - - At13L*Gt313*gtu11 - 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 - - At13L*Gt122*gtu22 - At12L*Gt123*gtu22 - At23L*Gt222*gtu22 - At22L*Gt223*gtu22 - At33L*Gt322*gtu22 - - At23L*Gt323*gtu22 - 3*At13L*Gt113*gtu31 - At11L*Gt133*gtu31 - 3*At23L*Gt213*gtu31 - At12L*Gt233*gtu31 - - 3*At33L*Gt313*gtu31 - At13L*Gt333*gtu31 - 3*At13L*Gt123*gtu32 - At12L*Gt133*gtu32 - 3*At23L*Gt223*gtu32 - - At22L*Gt233*gtu32 - 3*At33L*Gt323*gtu32 - At23L*Gt333*gtu32 - 2*At13L*Gt133*gtu33 - 2*At23L*Gt233*gtu33 - - 2*At33L*Gt333*gtu33 + gtu11*PDstandardNth1At13 + gtu21*PDstandardNth1At23 + gtu31*PDstandardNth1At33 + - 6*At13L*gtu11*PDstandardNth1phi + 6*At23L*gtu21*PDstandardNth1phi + 6*At33L*gtu31*PDstandardNth1phi + - gtu21*PDstandardNth2At13 + gtu22*PDstandardNth2At23 + gtu32*PDstandardNth2At33 + 6*At13L*gtu21*PDstandardNth2phi + - 6*At23L*gtu22*PDstandardNth2phi + 6*At33L*gtu32*PDstandardNth2phi + gtu31*PDstandardNth3At13 + - gtu32*PDstandardNth3At23 + gtu33*PDstandardNth3At33 + 6*At13L*gtu31*PDstandardNth3phi + - 6*At23L*gtu32*PDstandardNth3phi + 6*At33L*gtu33*PDstandardNth3phi - ktwothird*PDstandardNth3trK; + 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*PDstandardNth1At11 + + gtu21*(-3*At11L*Gt112 - At22L*Gt211 - 3*At12L*Gt212 - At23L*Gt311 - 3*At13L*Gt312 + PDstandardNth1At12) + + gtu31*PDstandardNth1At13 - ktwothird*PDstandardNth1trK + gtu21*PDstandardNth2At11 + gtu22*PDstandardNth2At12 + + gtu32*PDstandardNth2At13 + gtu31*PDstandardNth3At11 + gtu32*PDstandardNth3At12 + gtu33*PDstandardNth3At13; + + 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 + 6*At23L*cdphi3*gtu33 - At13L*Gt123*gtu33 - + At12L*Gt133*gtu33 - At23L*Gt223*gtu33 - At22L*Gt233*gtu33 - At33L*Gt323*gtu33 - At23L*Gt333*gtu33 + + gtu11*PDstandardNth1At12 + gtu21*PDstandardNth1At22 + gtu31*PDstandardNth1At23 + gtu21*PDstandardNth2At12 + + gtu22*PDstandardNth2At22 + gtu32*PDstandardNth2At23 - ktwothird*PDstandardNth2trK + gtu31*PDstandardNth3At12 + + gtu32*PDstandardNth3At22 + gtu33*PDstandardNth3At23; + + 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 + 6*At33L*cdphi3*gtu33 - 2*At13L*Gt133*gtu33 - 2*At23L*Gt233*gtu33 - 2*At33L*Gt333*gtu33 + + gtu11*PDstandardNth1At13 + gtu21*PDstandardNth1At23 + gtu31*PDstandardNth1At33 + gtu21*PDstandardNth2At13 + + gtu22*PDstandardNth2At23 + gtu32*PDstandardNth2At33 + gtu31*PDstandardNth3At13 + gtu32*PDstandardNth3At23 + + gtu33*PDstandardNth3At33 - ktwothird*PDstandardNth3trK; cSL = Log(detgt); diff --git a/ML_BSSN/src/ML_BSSN_constraints_boundary.c b/ML_BSSN/src/ML_BSSN_constraints_boundary.c index 97e44da..1c519d1 100644 --- a/ML_BSSN/src/ML_BSSN_constraints_boundary.c +++ b/ML_BSSN/src/ML_BSSN_constraints_boundary.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C diff --git a/ML_BSSN/src/ML_BSSN_convertFromADMBase.c b/ML_BSSN/src/ML_BSSN_convertFromADMBase.c index 056573d..ad7e385 100644 --- a/ML_BSSN/src/ML_BSSN_convertFromADMBase.c +++ b/ML_BSSN/src/ML_BSSN_convertFromADMBase.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -189,9 +192,9 @@ void ML_BSSN_convertFromADMBase_Body(cGH const * const cctkGH, CCTK_INT const di gu33 = INV(detg)*(g11*g22 - SQR(g12)); - phiL = Log(detg)/12.; + phiL = IfThen(conformalmethod,pow(detg,-0.16666666666666666),Log(detg)/12.); - em4phi = exp(-4*phiL); + em4phi = IfThen(conformalmethod,SQR(phiL),exp(-4*phiL)); gt11L = em4phi*g11; diff --git a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c index d16d1ae..37cd75b 100644 --- a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c +++ b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBase.c b/ML_BSSN/src/ML_BSSN_convertToADMBase.c index d8ded4b..09437a2 100644 --- a/ML_BSSN/src/ML_BSSN_convertToADMBase.c +++ b/ML_BSSN/src/ML_BSSN_convertToADMBase.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -178,7 +181,7 @@ void ML_BSSN_convertToADMBase_Body(cGH const * const cctkGH, CCTK_INT const dir, dir3 = Sign(beta3L); - e4phi = exp(4*phiL); + e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL)); g11 = e4phi*gt11L; diff --git a/ML_BSSN/src/ML_BSSN_enforce.c b/ML_BSSN/src/ML_BSSN_enforce.c index 482a59b..ffd2d24 100644 --- a/ML_BSSN/src/ML_BSSN_enforce.c +++ b/ML_BSSN/src/ML_BSSN_enforce.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -106,7 +109,6 @@ void ML_BSSN_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT CCTK_REAL trAt = INITVALUE; /* Declare local copies of grid functions */ - CCTK_REAL alphaL = INITVALUE; CCTK_REAL At11L = INITVALUE, At12L = INITVALUE, At13L = INITVALUE, At22L = INITVALUE, At23L = INITVALUE, At33L = INITVALUE; CCTK_REAL gt11L = INITVALUE, gt12L = INITVALUE, gt13L = INITVALUE, gt22L = INITVALUE, gt23L = INITVALUE, gt33L = INITVALUE; /* Declare precomputed derivatives*/ @@ -114,7 +116,6 @@ void ML_BSSN_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT /* Declare derivatives */ /* Assign local copies of grid functions */ - alphaL = alpha[index]; At11L = At11[index]; At12L = At12[index]; At13L = At13[index]; @@ -165,11 +166,8 @@ void ML_BSSN_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT At33L = At33L - gt33L*kthird*trAt; - alphaL = fmax(alphaL,MinimumLapse); - /* Copy local copies back to grid functions */ - alpha[index] = alphaL; At11[index] = At11L; At12[index] = At12L; At13[index] = At13L; diff --git a/ML_BSSN/src/RegisterMoL.c b/ML_BSSN/src/RegisterMoL.c index f02fa5c..93049e2 100644 --- a/ML_BSSN/src/RegisterMoL.c +++ b/ML_BSSN/src/RegisterMoL.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #include "cctk.h" #include "cctk_Arguments.h" diff --git a/ML_BSSN/src/RegisterSymmetries.c b/ML_BSSN/src/RegisterSymmetries.c index 20db895..013e3d1 100644 --- a/ML_BSSN/src/RegisterSymmetries.c +++ b/ML_BSSN/src/RegisterSymmetries.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #include "cctk.h" #include "cctk_Arguments.h" diff --git a/ML_BSSN/src/Startup.c b/ML_BSSN/src/Startup.c index 705a850..91eac42 100644 --- a/ML_BSSN/src/Startup.c +++ b/ML_BSSN/src/Startup.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #include "cctk.h" diff --git a/ML_BSSN/src/make.code.defn b/ML_BSSN/src/make.code.defn index 33f6bba..cf27ba6 100644 --- a/ML_BSSN/src/make.code.defn +++ b/ML_BSSN/src/make.code.defn @@ -1,3 +1,6 @@ -# File produced by Kranc +# File produced by user diener +# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) + +# Mathematica script written by Ian Hinder and Sascha Husa SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_BSSN_Minkowski.c ML_BSSN_convertFromADMBase.c ML_BSSN_convertFromADMBaseGamma.c ML_BSSN_RHS.c ML_BSSN_RHSBoundary.c ML_BSSN_enforce.c ML_BSSN_boundary.c ML_BSSN_convertToADMBase.c ML_BSSN_ADMBaseBoundary.c ML_BSSN_constraints.c ML_BSSN_constraints_boundary.c Boundaries.c diff --git a/ML_BSSN_M/configuration.ccl b/ML_BSSN_M/configuration.ccl index 148a1a1..ed457cd 100644 --- a/ML_BSSN_M/configuration.ccl +++ b/ML_BSSN_M/configuration.ccl @@ -1,3 +1,6 @@ -# File produced by Kranc +# File produced by user diener +# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) + +# Mathematica script written by Ian Hinder and Sascha Husa REQUIRES LoopControl diff --git a/ML_BSSN_M/interface.ccl b/ML_BSSN_M/interface.ccl index cb45630..0e6e5c9 100644 --- a/ML_BSSN_M/interface.ccl +++ b/ML_BSSN_M/interface.ccl @@ -1,4 +1,7 @@ -# File produced by Kranc +# File produced by user diener +# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) + +# Mathematica script written by Ian Hinder and Sascha Husa implements: ML_BSSN_M @@ -59,77 +62,7 @@ CCTK_REAL ML_mom type=GF timelevels=1 tags='tensortypealias="D" tensorweight=1.0 } "ML_mom" public: -CCTK_REAL ML_curv type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' -{ - At11, - At12, - At13, - At22, - At23, - At33 -} "ML_curv" - -public: -CCTK_REAL ML_dtlapse type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' -{ - A -} "ML_dtlapse" - -public: -CCTK_REAL ML_dtshift type=GF timelevels=4 tags='tensortypealias="U" tensorweight=1.0000000000000000000' -{ - B1, - B2, - B3 -} "ML_dtshift" - -public: -CCTK_REAL ML_Gamma type=GF timelevels=4 tags='tensortypealias="U" tensorweight=0.66666666666666666667' -{ - Xt1, - Xt2, - Xt3 -} "ML_Gamma" - -public: -CCTK_REAL ML_lapse type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' -{ - alpha -} "ML_lapse" - -public: -CCTK_REAL ML_log_confac type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667' -{ - phi -} "ML_log_confac" - -public: -CCTK_REAL ML_metric type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' -{ - gt11, - gt12, - gt13, - gt22, - gt23, - gt33 -} "ML_metric" - -public: -CCTK_REAL ML_shift type=GF timelevels=4 tags='tensortypealias="U" tensorweight=1.0000000000000000000' -{ - beta1, - beta2, - beta3 -} "ML_shift" - -public: -CCTK_REAL ML_trace_curv type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' -{ - trK -} "ML_trace_curv" - -public: -CCTK_REAL ML_curvrhs type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' +CCTK_REAL ML_curvrhs type=GF timelevels=1 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' { At11rhs, At12rhs, @@ -140,13 +73,13 @@ CCTK_REAL ML_curvrhs type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorw } "ML_curvrhs" public: -CCTK_REAL ML_dtlapserhs type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +CCTK_REAL ML_dtlapserhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' { Arhs } "ML_dtlapserhs" public: -CCTK_REAL ML_dtshiftrhs type=GF timelevels=4 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +CCTK_REAL ML_dtshiftrhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=1.0000000000000000000' { B1rhs, B2rhs, @@ -154,7 +87,7 @@ CCTK_REAL ML_dtshiftrhs type=GF timelevels=4 tags='tensortypealias="U" tensorwei } "ML_dtshiftrhs" public: -CCTK_REAL ML_Gammarhs type=GF timelevels=4 tags='tensortypealias="U" tensorweight=0.66666666666666666667' +CCTK_REAL ML_Gammarhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=0.66666666666666666667' { Xt1rhs, Xt2rhs, @@ -162,19 +95,19 @@ CCTK_REAL ML_Gammarhs type=GF timelevels=4 tags='tensortypealias="U" tensorweigh } "ML_Gammarhs" public: -CCTK_REAL ML_lapserhs type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +CCTK_REAL ML_lapserhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' { alpharhs } "ML_lapserhs" public: -CCTK_REAL ML_log_confacrhs type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667' +CCTK_REAL ML_log_confacrhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667' { phirhs } "ML_log_confacrhs" public: -CCTK_REAL ML_metricrhs type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' +CCTK_REAL ML_metricrhs type=GF timelevels=1 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' { gt11rhs, gt12rhs, @@ -185,7 +118,7 @@ CCTK_REAL ML_metricrhs type=GF timelevels=4 tags='tensortypealias="DD_sym" tenso } "ML_metricrhs" public: -CCTK_REAL ML_shiftrhs type=GF timelevels=4 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +CCTK_REAL ML_shiftrhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=1.0000000000000000000' { beta1rhs, beta2rhs, @@ -193,7 +126,77 @@ CCTK_REAL ML_shiftrhs type=GF timelevels=4 tags='tensortypealias="U" tensorweigh } "ML_shiftrhs" public: -CCTK_REAL ML_trace_curvrhs type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +CCTK_REAL ML_trace_curvrhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' { trKrhs } "ML_trace_curvrhs" + +public: +CCTK_REAL ML_curv type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' +{ + At11, + At12, + At13, + At22, + At23, + At33 +} "ML_curv" + +public: +CCTK_REAL ML_dtlapse type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +{ + A +} "ML_dtlapse" + +public: +CCTK_REAL ML_dtshift type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +{ + B1, + B2, + B3 +} "ML_dtshift" + +public: +CCTK_REAL ML_Gamma type=GF timelevels=3 tags='tensortypealias="U" tensorweight=0.66666666666666666667' +{ + Xt1, + Xt2, + Xt3 +} "ML_Gamma" + +public: +CCTK_REAL ML_lapse type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +{ + alpha +} "ML_lapse" + +public: +CCTK_REAL ML_log_confac type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667' +{ + phi +} "ML_log_confac" + +public: +CCTK_REAL ML_metric type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' +{ + gt11, + gt12, + gt13, + gt22, + gt23, + gt33 +} "ML_metric" + +public: +CCTK_REAL ML_shift type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +{ + beta1, + beta2, + beta3 +} "ML_shift" + +public: +CCTK_REAL ML_trace_curv type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +{ + trK +} "ML_trace_curv" diff --git a/ML_BSSN_M/param.ccl b/ML_BSSN_M/param.ccl index 0592f38..4729010 100644 --- a/ML_BSSN_M/param.ccl +++ b/ML_BSSN_M/param.ccl @@ -1,4 +1,7 @@ -# File produced by Kranc +# File produced by user diener +# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) + +# Mathematica script written by Ian Hinder and Sascha Husa shares: ADMBase @@ -22,6 +25,12 @@ EXTENDS CCTK_KEYWORD shift_evolution_method "shift_evolution_method" } +EXTENDS CCTK_KEYWORD dtshift_evolution_method "dtshift_evolution_method" +{ + ML_BSSN_M :: "" +} + + shares: GenericFD @@ -79,12 +88,6 @@ CCTK_REAL ShiftAdvectionCoeff "Factor in front of the shift advection terms in g } 1 restricted: -CCTK_REAL MinimumLapse "Minimum value of the lapse function" -{ - "*:*" :: "" -} -1 - -restricted: CCTK_INT harmonicN "d/dt alpha = - f alpha^n K (harmonic=2, 1+log=1)" { *:* :: "" @@ -96,6 +99,12 @@ CCTK_INT ShiftAlphaPower "ShiftAlphaPower" *:* :: "" } 0 +restricted: +CCTK_INT conformalmethod "0 for phi method, 1 for W method" +{ + *:* :: "" +} 0 + private: KEYWORD my_initial_data "my_initial_data" { @@ -134,14 +143,8 @@ CCTK_INT ML_BSSN_M_MaxNumEvolvedVars "Number of evolved variables used by this t restricted: CCTK_INT timelevels "Number of active timelevels" { - 0:4 :: "" -} 4 - -restricted: -CCTK_INT rhs_timelevels "Number of active RHS timelevels" -{ - 0:4 :: "" -} 1 + 0:3 :: "" +} 3 restricted: CCTK_INT ML_BSSN_M_Minkowski_calc_every "ML_BSSN_M_Minkowski_calc_every" diff --git a/ML_BSSN_M/schedule.ccl b/ML_BSSN_M/schedule.ccl index 1b46aef..8b84661 100644 --- a/ML_BSSN_M/schedule.ccl +++ b/ML_BSSN_M/schedule.ccl @@ -1,4 +1,7 @@ -# File produced by Kranc +# File produced by user diener +# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) + +# Mathematica script written by Ian Hinder and Sascha Husa STORAGE: ML_cons_detg[1] @@ -11,6 +14,24 @@ STORAGE: ML_Ham[1] STORAGE: ML_mom[1] +STORAGE: ML_curvrhs[1] + +STORAGE: ML_dtlapserhs[1] + +STORAGE: ML_dtshiftrhs[1] + +STORAGE: ML_Gammarhs[1] + +STORAGE: ML_lapserhs[1] + +STORAGE: ML_log_confacrhs[1] + +STORAGE: ML_metricrhs[1] + +STORAGE: ML_shiftrhs[1] + +STORAGE: ML_trace_curvrhs[1] + if (timelevels == 1) { STORAGE: ML_curv[1] @@ -23,10 +44,6 @@ if (timelevels == 3) { STORAGE: ML_curv[3] } -if (timelevels == 4) -{ - STORAGE: ML_curv[4] -} if (timelevels == 1) { @@ -40,10 +57,6 @@ if (timelevels == 3) { STORAGE: ML_dtlapse[3] } -if (timelevels == 4) -{ - STORAGE: ML_dtlapse[4] -} if (timelevels == 1) { @@ -57,10 +70,6 @@ if (timelevels == 3) { STORAGE: ML_dtshift[3] } -if (timelevels == 4) -{ - STORAGE: ML_dtshift[4] -} if (timelevels == 1) { @@ -74,10 +83,6 @@ if (timelevels == 3) { STORAGE: ML_Gamma[3] } -if (timelevels == 4) -{ - STORAGE: ML_Gamma[4] -} if (timelevels == 1) { @@ -91,10 +96,6 @@ if (timelevels == 3) { STORAGE: ML_lapse[3] } -if (timelevels == 4) -{ - STORAGE: ML_lapse[4] -} if (timelevels == 1) { @@ -108,10 +109,6 @@ if (timelevels == 3) { STORAGE: ML_log_confac[3] } -if (timelevels == 4) -{ - STORAGE: ML_log_confac[4] -} if (timelevels == 1) { @@ -125,10 +122,6 @@ if (timelevels == 3) { STORAGE: ML_metric[3] } -if (timelevels == 4) -{ - STORAGE: ML_metric[4] -} if (timelevels == 1) { @@ -142,10 +135,6 @@ if (timelevels == 3) { STORAGE: ML_shift[3] } -if (timelevels == 4) -{ - STORAGE: ML_shift[4] -} if (timelevels == 1) { @@ -159,163 +148,6 @@ if (timelevels == 3) { STORAGE: ML_trace_curv[3] } -if (timelevels == 4) -{ - STORAGE: ML_trace_curv[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_curvrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_curvrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_curvrhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_curvrhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_dtlapserhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_dtlapserhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_dtlapserhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_dtlapserhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_dtshiftrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_dtshiftrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_dtshiftrhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_dtshiftrhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_Gammarhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_Gammarhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_Gammarhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_Gammarhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_lapserhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_lapserhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_lapserhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_lapserhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_log_confacrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_log_confacrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_log_confacrhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_log_confacrhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_metricrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_metricrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_metricrhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_metricrhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_shiftrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_shiftrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_shiftrhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_shiftrhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_trace_curvrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_trace_curvrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_trace_curvrhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_trace_curvrhs[4] -} schedule ML_BSSN_M_Startup at STARTUP { diff --git a/ML_BSSN_M/src/Boundaries.c b/ML_BSSN_M/src/Boundaries.c index 68bc54f..6f2e2f4 100644 --- a/ML_BSSN_M/src/Boundaries.c +++ b/ML_BSSN_M/src/Boundaries.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #include "cctk.h" #include "cctk_Arguments.h" diff --git a/ML_BSSN_M/src/ML_BSSN_M_ADMBaseBoundary.c b/ML_BSSN_M/src/ML_BSSN_M_ADMBaseBoundary.c index 670ec0c..f42daa8 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_ADMBaseBoundary.c +++ b/ML_BSSN_M/src/ML_BSSN_M_ADMBaseBoundary.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -171,7 +174,7 @@ void ML_BSSN_M_ADMBaseBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir /* Precompute derivatives (old style) */ /* Calculate temporaries and grid functions */ - e4phi = exp(4*phiL); + e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL)); g11 = e4phi*gt11L; diff --git a/ML_BSSN_M/src/ML_BSSN_M_Minkowski.c b/ML_BSSN_M/src/ML_BSSN_M_Minkowski.c index e552548..24aaef2 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_Minkowski.c +++ b/ML_BSSN_M/src/ML_BSSN_M_Minkowski.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -127,7 +130,7 @@ void ML_BSSN_M_Minkowski_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK /* Precompute derivatives (old style) */ /* Calculate temporaries and grid functions */ - phiL = 0; + phiL = IfThen(conformalmethod,1,0); gt11L = 1; diff --git a/ML_BSSN_M/src/ML_BSSN_M_RHS.c b/ML_BSSN_M/src/ML_BSSN_M_RHS.c index fe93508..766cf48 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_RHS.c +++ b/ML_BSSN_M/src/ML_BSSN_M_RHS.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -105,10 +108,13 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c CCTK_REAL Atm31 = INITVALUE, Atm32 = INITVALUE, Atm33 = INITVALUE; CCTK_REAL Ats11 = INITVALUE, Ats12 = INITVALUE, Ats13 = INITVALUE, Ats22 = INITVALUE, Ats23 = INITVALUE, Ats33 = INITVALUE; CCTK_REAL Atu11 = INITVALUE, Atu21 = INITVALUE, Atu22 = INITVALUE, Atu31 = INITVALUE, Atu32 = INITVALUE, Atu33 = INITVALUE; + CCTK_REAL cdphi1 = INITVALUE, cdphi2 = INITVALUE, cdphi211 = INITVALUE, cdphi212 = INITVALUE, cdphi213 = INITVALUE, cdphi222 = INITVALUE; + CCTK_REAL cdphi223 = INITVALUE, cdphi233 = INITVALUE, cdphi3 = INITVALUE; CCTK_REAL detgt = INITVALUE; CCTK_REAL dir1 = INITVALUE, dir2 = INITVALUE, dir3 = INITVALUE; CCTK_REAL e4phi = INITVALUE; CCTK_REAL em4phi = INITVALUE; + CCTK_REAL fac1 = INITVALUE, fac2 = INITVALUE; CCTK_REAL g11 = INITVALUE; CCTK_REAL G111 = INITVALUE, G112 = INITVALUE, G113 = INITVALUE; CCTK_REAL g12 = INITVALUE; @@ -763,82 +769,59 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c gt11L*gtu33*SQR(Gt133) + gt22L*gtu11*SQR(Gt213) + gt22L*gtu22*SQR(Gt223) + 2*gt23L*gtu32*SQR(Gt223) + gt22L*gtu33*SQR(Gt233) + 3*gt33L*gtu11*SQR(Gt313) + 3*gt33L*gtu22*SQR(Gt323) + 3*gt33L*gtu33*SQR(Gt333); - Rphi11 = 2*(-PDstandardNth11phi - gt11L*gtu11*PDstandardNth11phi - 2*gt11L*gtu21*PDstandardNth12phi - - 2*gt11L*gtu31*PDstandardNth13phi - gt11L*gtu22*PDstandardNth22phi - 2*gt11L*gtu32*PDstandardNth23phi - - gt11L*gtu33*PDstandardNth33phi + Gt311*PDstandardNth3phi + gt11L*Gt311*gtu11*PDstandardNth3phi + - 2*gt11L*Gt312*gtu21*PDstandardNth3phi + gt11L*Gt322*gtu22*PDstandardNth3phi + - 2*gt11L*Gt313*gtu31*PDstandardNth3phi + 2*gt11L*Gt323*gtu32*PDstandardNth3phi + - gt11L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt111 + Gt111*gt11L*gtu11 + 2*Gt112*gt11L*gtu21 + gt11L*Gt122*gtu22 + 2*Gt113*gt11L*gtu31 + - 2*gt11L*Gt123*gtu32 + gt11L*Gt133*gtu33 - 4*gt11L*gtu21*PDstandardNth2phi - 4*gt11L*gtu31*PDstandardNth3phi) + - PDstandardNth2phi*(Gt211 + gt11L*Gt211*gtu11 + - gt11L*(2*Gt212*gtu21 + Gt222*gtu22 + 2*Gt213*gtu31 + 2*Gt223*gtu32 + Gt233*gtu33) - - 4*gt11L*gtu32*PDstandardNth3phi) + (2 - 2*gt11L*gtu11)*SQR(PDstandardNth1phi) - - 2*gt11L*gtu22*SQR(PDstandardNth2phi) - 2*gt11L*gtu33*SQR(PDstandardNth3phi)); - - Rphi12 = 2*(-(gt12L*gtu11*PDstandardNth11phi) - PDstandardNth12phi - 2*gt12L*gtu21*PDstandardNth12phi - - 2*gt12L*gtu31*PDstandardNth13phi - gt12L*gtu22*PDstandardNth22phi - 2*gt12L*gtu32*PDstandardNth23phi - - gt12L*gtu33*PDstandardNth33phi + Gt312*PDstandardNth3phi + gt12L*Gt311*gtu11*PDstandardNth3phi + - 2*gt12L*Gt312*gtu21*PDstandardNth3phi + gt12L*Gt322*gtu22*PDstandardNth3phi + - 2*gt12L*Gt313*gtu31*PDstandardNth3phi + 2*gt12L*Gt323*gtu32*PDstandardNth3phi + - gt12L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt112 + Gt111*gt12L*gtu11 + 2*Gt112*gt12L*gtu21 + Gt122*gt12L*gtu22 + 2*Gt113*gt12L*gtu31 + - 2*Gt123*gt12L*gtu32 + gt12L*Gt133*gtu33 + (2 - 4*gt12L*gtu21)*PDstandardNth2phi - - 4*gt12L*gtu31*PDstandardNth3phi) + PDstandardNth2phi* - (Gt212 + 2*gt12L*Gt212*gtu21 + gt12L*(Gt211*gtu11 + Gt222*gtu22 + 2*Gt213*gtu31 + 2*Gt223*gtu32 + Gt233*gtu33) - - 4*gt12L*gtu32*PDstandardNth3phi) - 2*gt12L*gtu11*SQR(PDstandardNth1phi) - - 2*gt12L*gtu22*SQR(PDstandardNth2phi) - 2*gt12L*gtu33*SQR(PDstandardNth3phi)); - - Rphi13 = 2*(-PDstandardNth13phi + gt13L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi - - 2*gtu31*PDstandardNth13phi) - gt13L*gtu22*PDstandardNth22phi - 2*gt13L*gtu32*PDstandardNth23phi - - gt13L*gtu33*PDstandardNth33phi + Gt313*PDstandardNth3phi + gt13L*Gt311*gtu11*PDstandardNth3phi + - 2*gt13L*Gt312*gtu21*PDstandardNth3phi + gt13L*Gt322*gtu22*PDstandardNth3phi + - 2*gt13L*Gt313*gtu31*PDstandardNth3phi + 2*gt13L*Gt323*gtu32*PDstandardNth3phi + - gt13L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt113 + Gt111*gt13L*gtu11 + 2*Gt112*gt13L*gtu21 + Gt122*gt13L*gtu22 + 2*Gt113*gt13L*gtu31 + - 2*Gt123*gt13L*gtu32 + Gt133*gt13L*gtu33 - 4*gt13L*gtu21*PDstandardNth2phi + - (2 - 4*gt13L*gtu31)*PDstandardNth3phi) + - PDstandardNth2phi*(Gt213 + 2*gt13L*Gt213*gtu31 + - gt13L*(Gt211*gtu11 + 2*Gt212*gtu21 + Gt222*gtu22 + 2*Gt223*gtu32 + Gt233*gtu33) - - 4*gt13L*gtu32*PDstandardNth3phi) - 2*gt13L*gtu11*SQR(PDstandardNth1phi) - - 2*gt13L*gtu22*SQR(PDstandardNth2phi) - 2*gt13L*gtu33*SQR(PDstandardNth3phi)); - - Rphi22 = 2*(-PDstandardNth22phi + gt22L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi - - 2*gtu31*PDstandardNth13phi - gtu22*PDstandardNth22phi) - 2*gt22L*gtu32*PDstandardNth23phi - - gt22L*gtu33*PDstandardNth33phi + Gt322*PDstandardNth3phi + gt22L*Gt311*gtu11*PDstandardNth3phi + - 2*gt22L*Gt312*gtu21*PDstandardNth3phi + gt22L*Gt322*gtu22*PDstandardNth3phi + - 2*gt22L*Gt313*gtu31*PDstandardNth3phi + 2*gt22L*Gt323*gtu32*PDstandardNth3phi + - gt22L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt122 + Gt111*gt22L*gtu11 + 2*Gt112*gt22L*gtu21 + Gt122*gt22L*gtu22 + 2*Gt113*gt22L*gtu31 + - 2*Gt123*gt22L*gtu32 + Gt133*gt22L*gtu33 - 4*gt22L*gtu21*PDstandardNth2phi - 4*gt22L*gtu31*PDstandardNth3phi) + - PDstandardNth2phi*(Gt222 + Gt222*gt22L*gtu22 + - gt22L*(Gt211*gtu11 + 2*Gt212*gtu21 + 2*Gt213*gtu31 + 2*Gt223*gtu32 + Gt233*gtu33) - - 4*gt22L*gtu32*PDstandardNth3phi) - 2*gt22L*gtu11*SQR(PDstandardNth1phi) + - (2 - 2*gt22L*gtu22)*SQR(PDstandardNth2phi) - 2*gt22L*gtu33*SQR(PDstandardNth3phi)); - - Rphi23 = 2*(-PDstandardNth23phi + gt23L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi - - 2*gtu31*PDstandardNth13phi - gtu22*PDstandardNth22phi - 2*gtu32*PDstandardNth23phi) - - gt23L*gtu33*PDstandardNth33phi + Gt323*PDstandardNth3phi + gt23L*Gt311*gtu11*PDstandardNth3phi + - 2*gt23L*Gt312*gtu21*PDstandardNth3phi + gt23L*Gt322*gtu22*PDstandardNth3phi + - 2*gt23L*Gt313*gtu31*PDstandardNth3phi + 2*gt23L*Gt323*gtu32*PDstandardNth3phi + - gt23L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt123 + Gt111*gt23L*gtu11 + 2*Gt112*gt23L*gtu21 + Gt122*gt23L*gtu22 + 2*Gt113*gt23L*gtu31 + - 2*Gt123*gt23L*gtu32 + Gt133*gt23L*gtu33 - 4*gt23L*gtu21*PDstandardNth2phi - 4*gt23L*gtu31*PDstandardNth3phi) + - PDstandardNth2phi*(Gt223 + 2*Gt223*gt23L*gtu32 + - gt23L*(Gt211*gtu11 + 2*Gt212*gtu21 + Gt222*gtu22 + 2*Gt213*gtu31 + Gt233*gtu33) + - (2 - 4*gt23L*gtu32)*PDstandardNth3phi) - 2*gt23L*gtu11*SQR(PDstandardNth1phi) - - 2*gt23L*gtu22*SQR(PDstandardNth2phi) - 2*gt23L*gtu33*SQR(PDstandardNth3phi)); - - Rphi33 = 2*(-PDstandardNth33phi + (Gt333 + gt33L* - (Gt322*gtu22 + 2*(Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32) + Gt333*gtu33))*PDstandardNth3phi + - PDstandardNth2phi*(Gt233 + gt33L*(Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32) + - Gt233*gtu33 - 4*gtu32*PDstandardNth3phi)) + - PDstandardNth1phi*(Gt133 + gt33L*(Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32) + - Gt133*gtu33 - 4*(gtu21*PDstandardNth2phi + gtu31*PDstandardNth3phi))) + 2*SQR(PDstandardNth3phi) + - gt33L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi - 2*gtu31*PDstandardNth13phi - - gtu22*PDstandardNth22phi - 2*gtu32*PDstandardNth23phi - gtu33*PDstandardNth33phi + - Gt311*gtu11*PDstandardNth3phi - 2*gtu11*SQR(PDstandardNth1phi) - 2*gtu22*SQR(PDstandardNth2phi) - - 2*gtu33*SQR(PDstandardNth3phi))); + fac1 = IfThen(conformalmethod,-(khalf*INV(phiL)),1); + + cdphi1 = fac1*PDstandardNth1phi; + + cdphi2 = fac1*PDstandardNth2phi; + + cdphi3 = fac1*PDstandardNth3phi; + + fac2 = IfThen(conformalmethod,khalf*pow(phiL,-2),0); + + cdphi211 = -(fac1*(-PDstandardNth11phi + Gt111*PDstandardNth1phi + Gt211*PDstandardNth2phi + + Gt311*PDstandardNth3phi)) + fac2*SQR(PDstandardNth1phi); + + cdphi212 = fac2*PDstandardNth1phi*PDstandardNth2phi - + fac1*(-PDstandardNth12phi + Gt112*PDstandardNth1phi + Gt212*PDstandardNth2phi + Gt312*PDstandardNth3phi); + + cdphi213 = fac2*PDstandardNth1phi*PDstandardNth3phi - + fac1*(-PDstandardNth13phi + Gt113*PDstandardNth1phi + Gt213*PDstandardNth2phi + Gt313*PDstandardNth3phi); + + cdphi222 = -(fac1*(Gt122*PDstandardNth1phi - PDstandardNth22phi + Gt222*PDstandardNth2phi + + Gt322*PDstandardNth3phi)) + fac2*SQR(PDstandardNth2phi); + + cdphi223 = fac2*PDstandardNth2phi*PDstandardNth3phi - + fac1*(Gt123*PDstandardNth1phi - PDstandardNth23phi + Gt223*PDstandardNth2phi + Gt323*PDstandardNth3phi); + + cdphi233 = -(fac1*(Gt133*PDstandardNth1phi + Gt233*PDstandardNth2phi - PDstandardNth33phi + + Gt333*PDstandardNth3phi)) + fac2*SQR(PDstandardNth3phi); + + 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 + gtu33*SQR(cdphi3)))); + + 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 + gtu11*SQR(cdphi1)) + gtu22*(cdphi222 + 2*SQR(cdphi2)) + + gtu33*(cdphi233 + 2*SQR(cdphi3)))); + + 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)) + + gtu33*(cdphi233 + 2*SQR(cdphi3)))); + + 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 + gtu33*SQR(cdphi3)))); + + 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)))); + + 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*SQR(cdphi1)) + + gtu22*(cdphi222 + 2*SQR(cdphi2))) + 2*(-1 + gt33L*gtu33)*SQR(cdphi3)); Atm11 = At11L*gtu11 + At12L*gtu21 + At13L*gtu31; @@ -870,7 +853,7 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c Atu33 = Atm31*gtu31 + Atm32*gtu32 + Atm33*gtu33; - e4phi = exp(4*phiL); + e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL)); em4phi = INV(e4phi); @@ -898,44 +881,41 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c gu33 = em4phi*gtu33; - G111 = Gt111 + (4 - 2*gt11L*gtu11)*PDstandardNth1phi - 2*gt11L*(gtu21*PDstandardNth2phi + gtu31*PDstandardNth3phi); + G111 = Gt111 + cdphi1*(4 - 2*gt11L*gtu11) - 2*gt11L*(cdphi2*gtu21 + cdphi3*gtu31); - G211 = Gt211 - 2*gt11L*(gtu21*PDstandardNth1phi + gtu22*PDstandardNth2phi + gtu32*PDstandardNth3phi); + G211 = Gt211 - 2*gt11L*(cdphi1*gtu21 + cdphi2*gtu22 + cdphi3*gtu32); - G311 = Gt311 - 2*gt11L*(gtu31*PDstandardNth1phi + gtu32*PDstandardNth2phi + gtu33*PDstandardNth3phi); + G311 = Gt311 - 2*gt11L*(cdphi1*gtu31 + cdphi2*gtu32 + cdphi3*gtu33); - G112 = Gt112 + (2 - 2*gt12L*gtu21)*PDstandardNth2phi - 2*gt12L*(gtu11*PDstandardNth1phi + gtu31*PDstandardNth3phi); + G112 = Gt112 + cdphi2*(2 - 2*gt12L*gtu21) - 2*gt12L*(cdphi1*gtu11 + cdphi3*gtu31); - G212 = Gt212 + (2 - 2*gt12L*gtu21)*PDstandardNth1phi - 2*gt12L*(gtu22*PDstandardNth2phi + gtu32*PDstandardNth3phi); + G212 = Gt212 + cdphi1*(2 - 2*gt12L*gtu21) - 2*gt12L*(cdphi2*gtu22 + cdphi3*gtu32); - G312 = Gt312 - 2*gt12L*(gtu31*PDstandardNth1phi + gtu32*PDstandardNth2phi + gtu33*PDstandardNth3phi); + G312 = Gt312 - 2*gt12L*(cdphi1*gtu31 + cdphi2*gtu32 + cdphi3*gtu33); - G113 = Gt113 + 2*PDstandardNth3phi - 2*gt13L*(gtu11*PDstandardNth1phi + gtu21*PDstandardNth2phi + - gtu31*PDstandardNth3phi); + G113 = Gt113 - 2*gt13L*(cdphi1*gtu11 + cdphi2*gtu21) + cdphi3*(2 - 2*gt13L*gtu31); - G213 = Gt213 - 2*gt13L*(gtu21*PDstandardNth1phi + gtu22*PDstandardNth2phi + gtu32*PDstandardNth3phi); + G213 = Gt213 - 2*gt13L*(cdphi1*gtu21 + cdphi2*gtu22 + cdphi3*gtu32); - G313 = Gt313 + (2 - 2*gt13L*gtu31)*PDstandardNth1phi - 2*gt13L*(gtu32*PDstandardNth2phi + gtu33*PDstandardNth3phi); + G313 = Gt313 + cdphi1*(2 - 2*gt13L*gtu31) - 2*gt13L*(cdphi2*gtu32 + cdphi3*gtu33); - G122 = Gt122 - 2*gt22L*(gtu11*PDstandardNth1phi + gtu21*PDstandardNth2phi + gtu31*PDstandardNth3phi); + G122 = Gt122 - 2*gt22L*(cdphi1*gtu11 + cdphi2*gtu21 + cdphi3*gtu31); - G222 = Gt222 + (4 - 2*gt22L*gtu22)*PDstandardNth2phi - 2*gt22L*(gtu21*PDstandardNth1phi + gtu32*PDstandardNth3phi); + G222 = Gt222 + cdphi2*(4 - 2*gt22L*gtu22) - 2*gt22L*(cdphi1*gtu21 + cdphi3*gtu32); - G322 = Gt322 - 2*gt22L*(gtu31*PDstandardNth1phi + gtu32*PDstandardNth2phi + gtu33*PDstandardNth3phi); + G322 = Gt322 - 2*gt22L*(cdphi1*gtu31 + cdphi2*gtu32 + cdphi3*gtu33); - G123 = Gt123 - 2*gt23L*(gtu11*PDstandardNth1phi + gtu21*PDstandardNth2phi + gtu31*PDstandardNth3phi); + G123 = Gt123 - 2*gt23L*(cdphi1*gtu11 + cdphi2*gtu21 + cdphi3*gtu31); - G223 = Gt223 + 2*PDstandardNth3phi - 2*gt23L*(gtu21*PDstandardNth1phi + gtu22*PDstandardNth2phi + - gtu32*PDstandardNth3phi); + G223 = Gt223 - 2*gt23L*(cdphi1*gtu21 + cdphi2*gtu22) + cdphi3*(2 - 2*gt23L*gtu32); - G323 = Gt323 + (2 - 2*gt23L*gtu32)*PDstandardNth2phi - 2*gt23L*(gtu31*PDstandardNth1phi + gtu33*PDstandardNth3phi); + G323 = Gt323 + cdphi2*(2 - 2*gt23L*gtu32) - 2*gt23L*(cdphi1*gtu31 + cdphi3*gtu33); - G133 = Gt133 - 2*gt33L*(gtu11*PDstandardNth1phi + gtu21*PDstandardNth2phi + gtu31*PDstandardNth3phi); + G133 = Gt133 - 2*gt33L*(cdphi1*gtu11 + cdphi2*gtu21 + cdphi3*gtu31); - G233 = Gt233 - 2*gt33L*(gtu21*PDstandardNth1phi + gtu22*PDstandardNth2phi + gtu32*PDstandardNth3phi); + G233 = Gt233 - 2*gt33L*(cdphi1*gtu21 + cdphi2*gtu22 + cdphi3*gtu32); - G333 = Gt333 + 4*PDstandardNth3phi - 2*gt33L*(gtu31*PDstandardNth1phi + gtu32*PDstandardNth2phi + - gtu33*PDstandardNth3phi); + G333 = Gt333 - 2*gt33L*(cdphi1*gtu31 + cdphi2*gtu32) + cdphi3*(4 - 2*gt33L*gtu33); R11 = Rphi11 + Rt11; @@ -981,9 +961,10 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c trS = gu11*T11 + gu22*T22 + 2*(gu21*T12 + gu31*T13 + gu32*T23) + gu33*T33; - phirhsL = (6*(PDupwindNth1(phi, i, j, k)*beta1L + PDupwindNth2(phi, i, j, k)*beta2L + - PDupwindNth3(phi, i, j, k)*beta3L) + PDstandardNth1beta1 + PDstandardNth2beta2 + PDstandardNth3beta3 - - alphaL*trKL)/6.; + phirhsL = PDupwindNth1(phi, i, j, k)*beta1L + PDupwindNth2(phi, i, j, k)*beta2L + + PDupwindNth3(phi, i, j, k)*beta3L + (PDstandardNth1beta1 + PDstandardNth2beta2 + PDstandardNth3beta3)* + IfThen(conformalmethod,-(kthird*phiL),0.16666666666666666) + + alphaL*trKL*IfThen(conformalmethod,kthird*phiL,-0.16666666666666666); gt11rhsL = -2*alphaL*At11L + PDupwindNth1(gt11, i, j, k)*beta1L + PDupwindNth2(gt11, i, j, k)*beta2L + PDupwindNth3(gt11, i, j, k)*beta3L + 2*(gt12L*PDstandardNth1beta2 + gt13L*PDstandardNth1beta3) + @@ -1019,8 +1000,8 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c PDupwindNth3(Xt1, i, j, k)*beta3L + gtu22*PDstandardNth22beta1 + gtu33*PDstandardNth33beta1) + gtu31*(PDstandardNth23beta2 + PDstandardNth33beta3) - 6*(Atu11*PDstandardNth1alpha + Atu21*PDstandardNth2alpha + Atu31*PDstandardNth3alpha) + - 6*(gtu32*PDstandardNth23beta1 + alphaL*(Atu11*Gt111 + Atu22*Gt122 + 2*(Atu21*Gt112 + Atu31*Gt113 + Atu32*Gt123) + - Atu33*Gt133 + 6*(Atu11*PDstandardNth1phi + Atu21*PDstandardNth2phi + Atu31*PDstandardNth3phi) - + 6*(gtu32*PDstandardNth23beta1 + alphaL*(6*(Atu11*cdphi1 + Atu21*cdphi2 + Atu31*cdphi3) + Atu11*Gt111 + + Atu22*Gt122 + 2*(Atu21*Gt112 + Atu31*Gt113 + Atu32*Gt123) + Atu33*Gt133 - ktwothird*(gtu11*PDstandardNth1trK + gtu21*PDstandardNth2trK + gtu31*PDstandardNth3trK))) - 150.7964473723100754462068823974161384415*alphaL*(gtu11*S1 + gtu21*S2 + gtu31*S3) + (-3*PDstandardNth1beta1 + 2*(PDstandardNth1beta1 + PDstandardNth2beta2 + PDstandardNth3beta3))*Xtn1 - @@ -1032,8 +1013,8 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c PDupwindNth3(Xt2, i, j, k)*beta3L + gtu11*PDstandardNth11beta2 + gtu33*PDstandardNth33beta2) + gtu32*(PDstandardNth13beta1 + 7*PDstandardNth23beta2 + PDstandardNth33beta3) - 6*(Atu21*PDstandardNth1alpha + Atu22*PDstandardNth2alpha + Atu32*PDstandardNth3alpha) + - 6*(gtu31*PDstandardNth13beta2 + alphaL*(Atu11*Gt211 + Atu22*Gt222 + 2*(Atu21*Gt212 + Atu31*Gt213 + Atu32*Gt223) + - Atu33*Gt233 + 6*(Atu21*PDstandardNth1phi + Atu22*PDstandardNth2phi + Atu32*PDstandardNth3phi) - + 6*(gtu31*PDstandardNth13beta2 + alphaL*(6*(Atu21*cdphi1 + Atu22*cdphi2 + Atu32*cdphi3) + Atu11*Gt211 + + Atu22*Gt222 + 2*(Atu21*Gt212 + Atu31*Gt213 + Atu32*Gt223) + Atu33*Gt233 - ktwothird*(gtu21*PDstandardNth1trK + gtu22*PDstandardNth2trK + gtu32*PDstandardNth3trK))) - 150.7964473723100754462068823974161384415*alphaL*(gtu21*S1 + gtu22*S2 + gtu32*S3) + 2*(PDstandardNth1beta1 + PDstandardNth2beta2 + PDstandardNth3beta3)*Xtn2 - @@ -1045,8 +1026,8 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c gtu32*(PDstandardNth12beta1 + PDstandardNth22beta2 + 7*PDstandardNth23beta3) + gtu33*(PDstandardNth13beta1 + PDstandardNth23beta2 + 4*PDstandardNth33beta3) - 6*(Atu31*PDstandardNth1alpha + Atu32*PDstandardNth2alpha + Atu33*PDstandardNth3alpha) + - 6*(gtu21*PDstandardNth12beta3 + alphaL*(Atu11*Gt311 + Atu22*Gt322 + 2*(Atu21*Gt312 + Atu31*Gt313 + Atu32*Gt323) + - Atu33*Gt333 + 6*(Atu31*PDstandardNth1phi + Atu32*PDstandardNth2phi + Atu33*PDstandardNth3phi) - + 6*(gtu21*PDstandardNth12beta3 + alphaL*(6*(Atu31*cdphi1 + Atu32*cdphi2 + Atu33*cdphi3) + Atu11*Gt311 + + Atu22*Gt322 + 2*(Atu21*Gt312 + Atu31*Gt313 + Atu32*Gt323) + Atu33*Gt333 - ktwothird*(gtu31*PDstandardNth1trK + gtu32*PDstandardNth2trK + gtu33*PDstandardNth3trK))) - 150.7964473723100754462068823974161384415*alphaL*(gtu31*S1 + gtu32*S2 + gtu33*S3) + 2*(PDstandardNth1beta1 + PDstandardNth2beta2 + PDstandardNth3beta3)*Xtn3 - diff --git a/ML_BSSN_M/src/ML_BSSN_M_RHSBoundary.c b/ML_BSSN_M/src/ML_BSSN_M_RHSBoundary.c index 930b356..8cb6279 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_RHSBoundary.c +++ b/ML_BSSN_M/src/ML_BSSN_M_RHSBoundary.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -185,7 +188,7 @@ void ML_BSSN_M_RHSBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CC gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - em4phi = exp(-4*phiL); + em4phi = IfThen(conformalmethod,SQR(phiL),exp(-4*phiL)); gu11 = em4phi*gtu11; diff --git a/ML_BSSN_M/src/ML_BSSN_M_boundary.c b/ML_BSSN_M/src/ML_BSSN_M_boundary.c index 93ccb6c..9db49a2 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_boundary.c +++ b/ML_BSSN_M/src/ML_BSSN_M_boundary.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -127,7 +130,7 @@ void ML_BSSN_M_boundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_ /* Precompute derivatives (old style) */ /* Calculate temporaries and grid functions */ - phiL = 0; + phiL = IfThen(conformalmethod,1,0); gt11L = 1; diff --git a/ML_BSSN_M/src/ML_BSSN_M_constraints.c b/ML_BSSN_M/src/ML_BSSN_M_constraints.c index 95e7057..9348356 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_constraints.c +++ b/ML_BSSN_M/src/ML_BSSN_M_constraints.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -103,9 +106,12 @@ void ML_BSSN_M_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CC /* Declare shorthands */ CCTK_REAL Atm11 = INITVALUE, Atm12 = INITVALUE, Atm13 = INITVALUE, Atm21 = INITVALUE, Atm22 = INITVALUE, Atm23 = INITVALUE; CCTK_REAL Atm31 = INITVALUE, Atm32 = INITVALUE, Atm33 = INITVALUE; + CCTK_REAL cdphi1 = INITVALUE, cdphi2 = INITVALUE, cdphi211 = INITVALUE, cdphi212 = INITVALUE, cdphi213 = INITVALUE, cdphi222 = INITVALUE; + CCTK_REAL cdphi223 = INITVALUE, cdphi233 = INITVALUE, cdphi3 = INITVALUE; CCTK_REAL detgt = INITVALUE; CCTK_REAL e4phi = INITVALUE; CCTK_REAL em4phi = INITVALUE; + CCTK_REAL fac1 = INITVALUE, fac2 = INITVALUE; CCTK_REAL Gt111 = INITVALUE, Gt112 = INITVALUE, Gt113 = INITVALUE, Gt122 = INITVALUE, Gt123 = INITVALUE, Gt133 = INITVALUE; CCTK_REAL Gt211 = INITVALUE, Gt212 = INITVALUE, Gt213 = INITVALUE, Gt222 = INITVALUE, Gt223 = INITVALUE, Gt233 = INITVALUE; CCTK_REAL Gt311 = INITVALUE, Gt312 = INITVALUE, Gt313 = INITVALUE, Gt322 = INITVALUE, Gt323 = INITVALUE, Gt333 = INITVALUE; @@ -690,84 +696,61 @@ void ML_BSSN_M_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CC gt11L*gtu33*SQR(Gt133) + gt22L*gtu11*SQR(Gt213) + gt22L*gtu22*SQR(Gt223) + 2*gt23L*gtu32*SQR(Gt223) + gt22L*gtu33*SQR(Gt233) + 3*gt33L*gtu11*SQR(Gt313) + 3*gt33L*gtu22*SQR(Gt323) + 3*gt33L*gtu33*SQR(Gt333); - Rphi11 = 2*(-PDstandardNth11phi - gt11L*gtu11*PDstandardNth11phi - 2*gt11L*gtu21*PDstandardNth12phi - - 2*gt11L*gtu31*PDstandardNth13phi - gt11L*gtu22*PDstandardNth22phi - 2*gt11L*gtu32*PDstandardNth23phi - - gt11L*gtu33*PDstandardNth33phi + Gt311*PDstandardNth3phi + gt11L*Gt311*gtu11*PDstandardNth3phi + - 2*gt11L*Gt312*gtu21*PDstandardNth3phi + gt11L*Gt322*gtu22*PDstandardNth3phi + - 2*gt11L*Gt313*gtu31*PDstandardNth3phi + 2*gt11L*Gt323*gtu32*PDstandardNth3phi + - gt11L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt111 + Gt111*gt11L*gtu11 + 2*Gt112*gt11L*gtu21 + gt11L*Gt122*gtu22 + 2*Gt113*gt11L*gtu31 + - 2*gt11L*Gt123*gtu32 + gt11L*Gt133*gtu33 - 4*gt11L*gtu21*PDstandardNth2phi - 4*gt11L*gtu31*PDstandardNth3phi) + - PDstandardNth2phi*(Gt211 + gt11L*Gt211*gtu11 + - gt11L*(2*Gt212*gtu21 + Gt222*gtu22 + 2*Gt213*gtu31 + 2*Gt223*gtu32 + Gt233*gtu33) - - 4*gt11L*gtu32*PDstandardNth3phi) + (2 - 2*gt11L*gtu11)*SQR(PDstandardNth1phi) - - 2*gt11L*gtu22*SQR(PDstandardNth2phi) - 2*gt11L*gtu33*SQR(PDstandardNth3phi)); - - Rphi12 = 2*(-(gt12L*gtu11*PDstandardNth11phi) - PDstandardNth12phi - 2*gt12L*gtu21*PDstandardNth12phi - - 2*gt12L*gtu31*PDstandardNth13phi - gt12L*gtu22*PDstandardNth22phi - 2*gt12L*gtu32*PDstandardNth23phi - - gt12L*gtu33*PDstandardNth33phi + Gt312*PDstandardNth3phi + gt12L*Gt311*gtu11*PDstandardNth3phi + - 2*gt12L*Gt312*gtu21*PDstandardNth3phi + gt12L*Gt322*gtu22*PDstandardNth3phi + - 2*gt12L*Gt313*gtu31*PDstandardNth3phi + 2*gt12L*Gt323*gtu32*PDstandardNth3phi + - gt12L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt112 + Gt111*gt12L*gtu11 + 2*Gt112*gt12L*gtu21 + Gt122*gt12L*gtu22 + 2*Gt113*gt12L*gtu31 + - 2*Gt123*gt12L*gtu32 + gt12L*Gt133*gtu33 + (2 - 4*gt12L*gtu21)*PDstandardNth2phi - - 4*gt12L*gtu31*PDstandardNth3phi) + PDstandardNth2phi* - (Gt212 + 2*gt12L*Gt212*gtu21 + gt12L*(Gt211*gtu11 + Gt222*gtu22 + 2*Gt213*gtu31 + 2*Gt223*gtu32 + Gt233*gtu33) - - 4*gt12L*gtu32*PDstandardNth3phi) - 2*gt12L*gtu11*SQR(PDstandardNth1phi) - - 2*gt12L*gtu22*SQR(PDstandardNth2phi) - 2*gt12L*gtu33*SQR(PDstandardNth3phi)); - - Rphi13 = 2*(-PDstandardNth13phi + gt13L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi - - 2*gtu31*PDstandardNth13phi) - gt13L*gtu22*PDstandardNth22phi - 2*gt13L*gtu32*PDstandardNth23phi - - gt13L*gtu33*PDstandardNth33phi + Gt313*PDstandardNth3phi + gt13L*Gt311*gtu11*PDstandardNth3phi + - 2*gt13L*Gt312*gtu21*PDstandardNth3phi + gt13L*Gt322*gtu22*PDstandardNth3phi + - 2*gt13L*Gt313*gtu31*PDstandardNth3phi + 2*gt13L*Gt323*gtu32*PDstandardNth3phi + - gt13L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt113 + Gt111*gt13L*gtu11 + 2*Gt112*gt13L*gtu21 + Gt122*gt13L*gtu22 + 2*Gt113*gt13L*gtu31 + - 2*Gt123*gt13L*gtu32 + Gt133*gt13L*gtu33 - 4*gt13L*gtu21*PDstandardNth2phi + - (2 - 4*gt13L*gtu31)*PDstandardNth3phi) + - PDstandardNth2phi*(Gt213 + 2*gt13L*Gt213*gtu31 + - gt13L*(Gt211*gtu11 + 2*Gt212*gtu21 + Gt222*gtu22 + 2*Gt223*gtu32 + Gt233*gtu33) - - 4*gt13L*gtu32*PDstandardNth3phi) - 2*gt13L*gtu11*SQR(PDstandardNth1phi) - - 2*gt13L*gtu22*SQR(PDstandardNth2phi) - 2*gt13L*gtu33*SQR(PDstandardNth3phi)); - - Rphi22 = 2*(-PDstandardNth22phi + gt22L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi - - 2*gtu31*PDstandardNth13phi - gtu22*PDstandardNth22phi) - 2*gt22L*gtu32*PDstandardNth23phi - - gt22L*gtu33*PDstandardNth33phi + Gt322*PDstandardNth3phi + gt22L*Gt311*gtu11*PDstandardNth3phi + - 2*gt22L*Gt312*gtu21*PDstandardNth3phi + gt22L*Gt322*gtu22*PDstandardNth3phi + - 2*gt22L*Gt313*gtu31*PDstandardNth3phi + 2*gt22L*Gt323*gtu32*PDstandardNth3phi + - gt22L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt122 + Gt111*gt22L*gtu11 + 2*Gt112*gt22L*gtu21 + Gt122*gt22L*gtu22 + 2*Gt113*gt22L*gtu31 + - 2*Gt123*gt22L*gtu32 + Gt133*gt22L*gtu33 - 4*gt22L*gtu21*PDstandardNth2phi - 4*gt22L*gtu31*PDstandardNth3phi) + - PDstandardNth2phi*(Gt222 + Gt222*gt22L*gtu22 + - gt22L*(Gt211*gtu11 + 2*Gt212*gtu21 + 2*Gt213*gtu31 + 2*Gt223*gtu32 + Gt233*gtu33) - - 4*gt22L*gtu32*PDstandardNth3phi) - 2*gt22L*gtu11*SQR(PDstandardNth1phi) + - (2 - 2*gt22L*gtu22)*SQR(PDstandardNth2phi) - 2*gt22L*gtu33*SQR(PDstandardNth3phi)); - - Rphi23 = 2*(-PDstandardNth23phi + gt23L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi - - 2*gtu31*PDstandardNth13phi - gtu22*PDstandardNth22phi - 2*gtu32*PDstandardNth23phi) - - gt23L*gtu33*PDstandardNth33phi + Gt323*PDstandardNth3phi + gt23L*Gt311*gtu11*PDstandardNth3phi + - 2*gt23L*Gt312*gtu21*PDstandardNth3phi + gt23L*Gt322*gtu22*PDstandardNth3phi + - 2*gt23L*Gt313*gtu31*PDstandardNth3phi + 2*gt23L*Gt323*gtu32*PDstandardNth3phi + - gt23L*Gt333*gtu33*PDstandardNth3phi + PDstandardNth1phi* - (Gt123 + Gt111*gt23L*gtu11 + 2*Gt112*gt23L*gtu21 + Gt122*gt23L*gtu22 + 2*Gt113*gt23L*gtu31 + - 2*Gt123*gt23L*gtu32 + Gt133*gt23L*gtu33 - 4*gt23L*gtu21*PDstandardNth2phi - 4*gt23L*gtu31*PDstandardNth3phi) + - PDstandardNth2phi*(Gt223 + 2*Gt223*gt23L*gtu32 + - gt23L*(Gt211*gtu11 + 2*Gt212*gtu21 + Gt222*gtu22 + 2*Gt213*gtu31 + Gt233*gtu33) + - (2 - 4*gt23L*gtu32)*PDstandardNth3phi) - 2*gt23L*gtu11*SQR(PDstandardNth1phi) - - 2*gt23L*gtu22*SQR(PDstandardNth2phi) - 2*gt23L*gtu33*SQR(PDstandardNth3phi)); - - Rphi33 = 2*(-PDstandardNth33phi + (Gt333 + gt33L* - (Gt322*gtu22 + 2*(Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32) + Gt333*gtu33))*PDstandardNth3phi + - PDstandardNth2phi*(Gt233 + gt33L*(Gt211*gtu11 + Gt222*gtu22 + 2*(Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32) + - Gt233*gtu33 - 4*gtu32*PDstandardNth3phi)) + - PDstandardNth1phi*(Gt133 + gt33L*(Gt111*gtu11 + Gt122*gtu22 + 2*(Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32) + - Gt133*gtu33 - 4*(gtu21*PDstandardNth2phi + gtu31*PDstandardNth3phi))) + 2*SQR(PDstandardNth3phi) + - gt33L*(-(gtu11*PDstandardNth11phi) - 2*gtu21*PDstandardNth12phi - 2*gtu31*PDstandardNth13phi - - gtu22*PDstandardNth22phi - 2*gtu32*PDstandardNth23phi - gtu33*PDstandardNth33phi + - Gt311*gtu11*PDstandardNth3phi - 2*gtu11*SQR(PDstandardNth1phi) - 2*gtu22*SQR(PDstandardNth2phi) - - 2*gtu33*SQR(PDstandardNth3phi))); - - e4phi = exp(4*phiL); + fac1 = IfThen(conformalmethod,-(khalf*INV(phiL)),1); + + cdphi1 = fac1*PDstandardNth1phi; + + cdphi2 = fac1*PDstandardNth2phi; + + cdphi3 = fac1*PDstandardNth3phi; + + fac2 = IfThen(conformalmethod,khalf*pow(phiL,-2),0); + + cdphi211 = -(fac1*(-PDstandardNth11phi + Gt111*PDstandardNth1phi + Gt211*PDstandardNth2phi + + Gt311*PDstandardNth3phi)) + fac2*SQR(PDstandardNth1phi); + + cdphi212 = fac2*PDstandardNth1phi*PDstandardNth2phi - + fac1*(-PDstandardNth12phi + Gt112*PDstandardNth1phi + Gt212*PDstandardNth2phi + Gt312*PDstandardNth3phi); + + cdphi213 = fac2*PDstandardNth1phi*PDstandardNth3phi - + fac1*(-PDstandardNth13phi + Gt113*PDstandardNth1phi + Gt213*PDstandardNth2phi + Gt313*PDstandardNth3phi); + + cdphi222 = -(fac1*(Gt122*PDstandardNth1phi - PDstandardNth22phi + Gt222*PDstandardNth2phi + + Gt322*PDstandardNth3phi)) + fac2*SQR(PDstandardNth2phi); + + cdphi223 = fac2*PDstandardNth2phi*PDstandardNth3phi - + fac1*(Gt123*PDstandardNth1phi - PDstandardNth23phi + Gt223*PDstandardNth2phi + Gt323*PDstandardNth3phi); + + cdphi233 = -(fac1*(Gt133*PDstandardNth1phi + Gt233*PDstandardNth2phi - PDstandardNth33phi + + Gt333*PDstandardNth3phi)) + fac2*SQR(PDstandardNth3phi); + + 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 + gtu33*SQR(cdphi3)))); + + 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 + gtu11*SQR(cdphi1)) + gtu22*(cdphi222 + 2*SQR(cdphi2)) + + gtu33*(cdphi233 + 2*SQR(cdphi3)))); + + 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)) + + gtu33*(cdphi233 + 2*SQR(cdphi3)))); + + 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 + gtu33*SQR(cdphi3)))); + + 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)))); + + 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*SQR(cdphi1)) + + gtu22*(cdphi222 + 2*SQR(cdphi2))) + 2*(-1 + gt33L*gtu33)*SQR(cdphi3)); + + e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL)); em4phi = INV(e4phi); @@ -848,50 +831,46 @@ void ML_BSSN_M_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CC HL = -2.*(Atm12*Atm21 + Atm13*Atm31 + Atm23*Atm32) - 50.26548245743669181540229413247204614715*rho + trR - 1.*(SQR(Atm11) + SQR(Atm22) + SQR(Atm33)) + 0.6666666666666666666666666666666666666667*SQR(trKL); - M1L = -2.*((At11L*Gt111 + At12L*Gt211 + At13L*Gt311)*gtu11 + At11L*Gt123*gtu32) - - 1.*((At11L*Gt122 + At22L*Gt212 + At12L*(Gt112 + Gt222) + At23L*Gt312 + At13L*Gt322)*gtu22 + - (At12L*Gt113 + At23L*Gt212)*gtu32 + (At11L*Gt133 + At23L*Gt213 + At12L*Gt233 + At33L*Gt313 + At13L*Gt333)* - gtu33 + At13L*(Gt111*gtu31 + Gt112*gtu32 + Gt113*gtu33)) + - gtu11*(PDstandardNth1At11 + 6.*At11L*PDstandardNth1phi) - - 0.6666666666666666666666666666666666666667*PDstandardNth1trK + - gtu22*(PDstandardNth2At12 + 6.*At12L*PDstandardNth2phi) + - gtu21*(-1.*(At12L*Gt111 + At22L*Gt211 + At23L*Gt311) - 3.*(At11L*Gt112 + At12L*Gt212 + At13L*Gt312) + - PDstandardNth1At12 + PDstandardNth2At11 + 6.*(At12L*PDstandardNth1phi + At11L*PDstandardNth2phi)) + - gtu33*(PDstandardNth3At13 + 6.*At13L*PDstandardNth3phi) + - gtu31*(-1.*(At23L*Gt211 + At33L*Gt311) - 3.*(At11L*Gt113 + At12L*Gt213 + At13L*Gt313) + PDstandardNth1At13 + - PDstandardNth3At11 + 6.*(At13L*PDstandardNth1phi + At11L*PDstandardNth3phi)) + - gtu32*(-1.*(At22L*Gt213 + At33L*Gt312 + At23L*Gt313) - 2.*(At12L*Gt223 + At13L*Gt323) + PDstandardNth2At13 + - PDstandardNth3At12 + 6.*(At13L*PDstandardNth2phi + At12L*PDstandardNth3phi)) - + M1L = -2.*((At12L*Gt211 + At13L*Gt311)*gtu11 + At11L*Gt123*gtu32) + + At12L*((6.*cdphi1 - 1.*Gt111)*gtu21 - 3.*Gt213*gtu31 + 6.*(cdphi2*gtu22 + cdphi3*gtu32) - 1.*Gt233*gtu33) - + 1.*((At22L*Gt212 + At12L*(Gt112 + Gt222) + At23L*Gt312 + At13L*Gt322)*gtu22 + + At13L*(Gt111*gtu31 + Gt112*gtu32 + Gt113*gtu33)) + + At11L*((6.*cdphi1 - 2.*Gt111)*gtu11 + 6.*(cdphi2*gtu21 + cdphi3*gtu31) - 1.*(Gt122*gtu22 + Gt133*gtu33)) + + gtu11*PDstandardNth1At11 - 0.6666666666666666666666666666666666666667*PDstandardNth1trK + + gtu21*(-1.*(At22L*Gt211 + At23L*Gt311) - 3.*(At11L*Gt112 + At12L*Gt212 + At13L*Gt312) + PDstandardNth1At12 + + PDstandardNth2At11) + gtu22*PDstandardNth2At12 + + gtu31*(-3.*At11L*Gt113 - 1.*(At23L*Gt211 + At33L*Gt311) + At13L*(6.*cdphi1 - 3.*Gt313) + PDstandardNth1At13 + + PDstandardNth3At11) + gtu32*(-2.*At12L*Gt223 - + 1.*(At12L*Gt113 + At22L*Gt213 + At33L*Gt312 + At23L*(Gt212 + Gt313)) + At13L*(6.*cdphi2 - 2.*Gt323) + + PDstandardNth2At13 + PDstandardNth3At12) + + gtu33*(-1.*(At23L*Gt213 + At33L*Gt313) + At13L*(6.*cdphi3 - 1.*Gt333) + PDstandardNth3At13) - 25.13274122871834590770114706623602307358*S1; - M2L = -2.*((At12L*Gt122 + At22L*Gt222 + At23L*Gt322)*gtu22 + At12L*Gt113*gtu31) - - 3.*((At12L*Gt112 + At22L*Gt212)*gtu21 + At12L*Gt123*gtu32) - - 1.*((At11L*Gt112 + At22L*Gt211 + At12L*(Gt111 + Gt212) + At23L*Gt311 + At13L*Gt312)*gtu11 + - (At13L*Gt112 + At23L*Gt212)*gtu31 + At11L*(Gt122*gtu21 + Gt123*gtu31) + - (At12L*Gt133 + At22L*Gt233 + At33L*Gt323 + At23L*(Gt223 + Gt333))*gtu33 + At13L*(Gt122*gtu32 + Gt123*gtu33)) + - gtu11*(PDstandardNth1At12 + 6.*At12L*PDstandardNth1phi) + gtu22*(PDstandardNth2At22 + 6.*At22L*PDstandardNth2phi) + - gtu21*(-3.*At23L*Gt312 - 1.*(At12L*Gt222 + At13L*Gt322) + PDstandardNth1At22 + PDstandardNth2At12 + - 6.*(At22L*PDstandardNth1phi + At12L*PDstandardNth2phi)) - + M2L = At12L*((6.*cdphi1 - 1.*Gt111)*gtu11 - 2.*Gt122*gtu22 + 6.*(cdphi2*gtu21 + cdphi3*gtu31) - 3.*Gt123*gtu32 - + 1.*Gt133*gtu33) + At22L*((6.*cdphi2 - 2.*Gt222)*gtu22 - 2.*Gt213*gtu31 + 6.*cdphi3*gtu32 - 1.*Gt233*gtu33) + + At23L*(-2.*Gt322*gtu22 - 1.*Gt333*gtu33 + 6.*(cdphi1*gtu31 + cdphi2*gtu32 + cdphi3*gtu33)) - + 1.*((At11L*Gt112 + At22L*Gt211 + At12L*Gt212 + At23L*Gt311 + At13L*Gt312)*gtu11 + + Gt122*(At11L*gtu21 + At13L*gtu32) + (At23L*Gt223 + At33L*Gt323)*gtu33 + At13L*(Gt112*gtu31 + Gt123*gtu33)) + + gtu11*PDstandardNth1At12 + gtu21*(At22L*(6.*cdphi1 - 3.*Gt212) + At12L*(-3.*Gt112 - 1.*Gt222) - 3.*At23L*Gt312 - + 1.*At13L*Gt322 + PDstandardNth1At22 + PDstandardNth2At12) + gtu22*PDstandardNth2At22 - 0.6666666666666666666666666666666666666667*PDstandardNth2trK + - gtu33*(PDstandardNth3At23 + 6.*At23L*PDstandardNth3phi) + - gtu31*(-2.*(At22L*Gt213 + At23L*Gt313) - 1.*(At12L*Gt223 + At33L*Gt312 + At13L*Gt323) + PDstandardNth1At23 + - PDstandardNth3At12 + 6.*(At23L*PDstandardNth1phi + At12L*PDstandardNth3phi)) + - gtu32*(-1.*(At23L*Gt222 + At33L*Gt322) - 3.*(At22L*Gt223 + At23L*Gt323) + PDstandardNth2At23 + PDstandardNth3At22 + - 6.*(At23L*PDstandardNth2phi + At22L*PDstandardNth3phi)) - 25.13274122871834590770114706623602307358*S2; - - M3L = -3.*((At13L*Gt113 + At23L*Gt213)*gtu31 + At13L*Gt123*gtu32) - - 1.*((At11L*Gt113 + At23L*Gt211 + At12L*Gt213 + At33L*Gt311 + At13L*(Gt111 + Gt313))*gtu11 + - (At13L*Gt122 + At22L*Gt223 + At33L*Gt322 + At23L*(Gt222 + Gt323))*gtu22 + At11L*Gt133*gtu31 + - At12L*(Gt113*gtu21 + Gt123*gtu22 + Gt133*gtu32)) + gtu11*(PDstandardNth1At13 + 6.*At13L*PDstandardNth1phi) + - gtu22*(PDstandardNth2At23 + 6.*At23L*PDstandardNth2phi) + - gtu21*(-2.*(At13L*Gt112 + At23L*Gt212 + At33L*Gt312) - - 1.*(At11L*Gt123 + At22L*Gt213 + At12L*Gt223 + At23L*Gt313 + At13L*Gt323) + PDstandardNth1At23 + - PDstandardNth2At13 + 6.*(At23L*PDstandardNth1phi + At13L*PDstandardNth2phi)) + - gtu31*(-1.*(At12L*Gt233 + At13L*Gt333) + PDstandardNth1At33 + At33L*(-3.*Gt313 + 6.*PDstandardNth1phi) + - PDstandardNth3At13 + 6.*At13L*PDstandardNth3phi) + - gtu33*(-2.*(At13L*Gt133 + At23L*Gt233 + At33L*Gt333) + PDstandardNth3At33 + 6.*At33L*PDstandardNth3phi) + - gtu32*(-3.*(At23L*Gt223 + At33L*Gt323) - 1.*(At22L*Gt233 + At23L*Gt333) + PDstandardNth2At33 + PDstandardNth3At23 + - 6.*(At33L*PDstandardNth2phi + At23L*PDstandardNth3phi)) - + gtu31*(At12L*(-2.*Gt113 - 1.*Gt223) - 2.*At23L*Gt313 - 1.*(At11L*Gt123 + At23L*Gt212 + At33L*Gt312 + At13L*Gt323) + + PDstandardNth1At23 + PDstandardNth3At12) + + gtu32*(-1.*(At23L*Gt222 + At33L*Gt322) - 3.*(At22L*Gt223 + At23L*Gt323) + PDstandardNth2At23 + + PDstandardNth3At22) + gtu33*PDstandardNth3At23 - 25.13274122871834590770114706623602307358*S2; + + M3L = -1.*((At11L*Gt113 + At23L*Gt211 + At12L*Gt213 + At33L*Gt311)*gtu11 + + (At22L*Gt223 + At33L*Gt322 + At23L*Gt323)*gtu22 + At11L*Gt133*gtu31 + + At12L*(Gt113*gtu21 + Gt123*gtu22 + Gt133*gtu32)) + + At13L*((6.*cdphi1 - 1.*(Gt111 + Gt313))*gtu11 - 1.*Gt122*gtu22 + 6.*(cdphi2*gtu21 + cdphi3*gtu31) - + 3.*Gt123*gtu32 - 2.*Gt133*gtu33) + At23L*((6.*cdphi2 - 1.*Gt222)*gtu22 - 3.*Gt213*gtu31 + 6.*cdphi3*gtu32 - + 2.*Gt233*gtu33) + gtu11*PDstandardNth1At13 + + gtu21*(-2.*(At13L*Gt112 + At33L*Gt312) + At23L*(6.*cdphi1 - 2.*Gt212 - 1.*Gt313) - + 1.*(At11L*Gt123 + At22L*Gt213 + At12L*Gt223 + At13L*Gt323) + PDstandardNth1At23 + PDstandardNth2At13) + + gtu22*PDstandardNth2At23 + gtu31*(-1.*At12L*Gt233 + At33L*(6.*cdphi1 - 3.*Gt313) + At13L*(-3.*Gt113 - 1.*Gt333) + + PDstandardNth1At33 + PDstandardNth3At13) + + gtu32*(-1.*At22L*Gt233 + At33L*(6.*cdphi2 - 3.*Gt323) + At23L*(-3.*Gt223 - 1.*Gt333) + PDstandardNth2At33 + + PDstandardNth3At23) + gtu33*(At33L*(6.*cdphi3 - 2.*Gt333) + PDstandardNth3At33) - 0.6666666666666666666666666666666666666667*PDstandardNth3trK - 25.13274122871834590770114706623602307358*S3; cSL = Log(detgt); diff --git a/ML_BSSN_M/src/ML_BSSN_M_constraints_boundary.c b/ML_BSSN_M/src/ML_BSSN_M_constraints_boundary.c index bc1d16b..a0ec350 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_constraints_boundary.c +++ b/ML_BSSN_M/src/ML_BSSN_M_constraints_boundary.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C diff --git a/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBase.c b/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBase.c index aa76038..afe06af 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBase.c +++ b/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBase.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -189,9 +192,9 @@ void ML_BSSN_M_convertFromADMBase_Body(cGH const * const cctkGH, CCTK_INT const gu33 = INV(detg)*(g11*g22 - SQR(g12)); - phiL = Log(detg)/12.; + phiL = IfThen(conformalmethod,pow(detg,-0.16666666666666666),Log(detg)/12.); - em4phi = exp(-4*phiL); + em4phi = IfThen(conformalmethod,SQR(phiL),exp(-4*phiL)); gt11L = em4phi*g11; diff --git a/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBaseGamma.c b/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBaseGamma.c index 80a5368..b380aca 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBaseGamma.c +++ b/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBaseGamma.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C diff --git a/ML_BSSN_M/src/ML_BSSN_M_convertToADMBase.c b/ML_BSSN_M/src/ML_BSSN_M_convertToADMBase.c index 7109969..0f64817 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_convertToADMBase.c +++ b/ML_BSSN_M/src/ML_BSSN_M_convertToADMBase.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -178,7 +181,7 @@ void ML_BSSN_M_convertToADMBase_Body(cGH const * const cctkGH, CCTK_INT const di dir3 = Sign(beta3L); - e4phi = exp(4*phiL); + e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL)); g11 = e4phi*gt11L; diff --git a/ML_BSSN_M/src/ML_BSSN_M_enforce.c b/ML_BSSN_M/src/ML_BSSN_M_enforce.c index 6468062..6dff8c8 100644 --- a/ML_BSSN_M/src/ML_BSSN_M_enforce.c +++ b/ML_BSSN_M/src/ML_BSSN_M_enforce.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -106,7 +109,6 @@ void ML_BSSN_M_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_I CCTK_REAL trAt = INITVALUE; /* Declare local copies of grid functions */ - CCTK_REAL alphaL = INITVALUE; CCTK_REAL At11L = INITVALUE, At12L = INITVALUE, At13L = INITVALUE, At22L = INITVALUE, At23L = INITVALUE, At33L = INITVALUE; CCTK_REAL gt11L = INITVALUE, gt12L = INITVALUE, gt13L = INITVALUE, gt22L = INITVALUE, gt23L = INITVALUE, gt33L = INITVALUE; /* Declare precomputed derivatives*/ @@ -114,7 +116,6 @@ void ML_BSSN_M_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_I /* Declare derivatives */ /* Assign local copies of grid functions */ - alphaL = alpha[index]; At11L = At11[index]; At12L = At12[index]; At13L = At13[index]; @@ -165,11 +166,8 @@ void ML_BSSN_M_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_I At33L = At33L - gt33L*kthird*trAt; - alphaL = fmax(alphaL,MinimumLapse); - /* Copy local copies back to grid functions */ - alpha[index] = alphaL; At11[index] = At11L; At12[index] = At12L; At13[index] = At13L; diff --git a/ML_BSSN_M/src/RegisterMoL.c b/ML_BSSN_M/src/RegisterMoL.c index 8cd1553..623f4fe 100644 --- a/ML_BSSN_M/src/RegisterMoL.c +++ b/ML_BSSN_M/src/RegisterMoL.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #include "cctk.h" #include "cctk_Arguments.h" diff --git a/ML_BSSN_M/src/RegisterSymmetries.c b/ML_BSSN_M/src/RegisterSymmetries.c index 1200325..b8a4f23 100644 --- a/ML_BSSN_M/src/RegisterSymmetries.c +++ b/ML_BSSN_M/src/RegisterSymmetries.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #include "cctk.h" #include "cctk_Arguments.h" diff --git a/ML_BSSN_M/src/Startup.c b/ML_BSSN_M/src/Startup.c index 2f67a77..ab3fee9 100644 --- a/ML_BSSN_M/src/Startup.c +++ b/ML_BSSN_M/src/Startup.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #include "cctk.h" diff --git a/ML_BSSN_M/src/make.code.defn b/ML_BSSN_M/src/make.code.defn index 47c79f0..6cbb469 100644 --- a/ML_BSSN_M/src/make.code.defn +++ b/ML_BSSN_M/src/make.code.defn @@ -1,3 +1,6 @@ -# File produced by Kranc +# File produced by user diener +# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) + +# Mathematica script written by Ian Hinder and Sascha Husa SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_BSSN_M_Minkowski.c ML_BSSN_M_convertFromADMBase.c ML_BSSN_M_convertFromADMBaseGamma.c ML_BSSN_M_RHS.c ML_BSSN_M_RHSBoundary.c ML_BSSN_M_enforce.c ML_BSSN_M_boundary.c ML_BSSN_M_convertToADMBase.c ML_BSSN_M_ADMBaseBoundary.c ML_BSSN_M_constraints.c ML_BSSN_M_constraints_boundary.c Boundaries.c diff --git a/ML_BSSN_MP/configuration.ccl b/ML_BSSN_MP/configuration.ccl index 148a1a1..ed457cd 100644 --- a/ML_BSSN_MP/configuration.ccl +++ b/ML_BSSN_MP/configuration.ccl @@ -1,3 +1,6 @@ -# File produced by Kranc +# File produced by user diener +# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) + +# Mathematica script written by Ian Hinder and Sascha Husa REQUIRES LoopControl diff --git a/ML_BSSN_MP/interface.ccl b/ML_BSSN_MP/interface.ccl index 8573da7..c01c9be 100644 --- a/ML_BSSN_MP/interface.ccl +++ b/ML_BSSN_MP/interface.ccl @@ -1,4 +1,7 @@ -# File produced by Kranc +# File produced by user diener +# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) + +# Mathematica script written by Ian Hinder and Sascha Husa implements: ML_BSSN_MP @@ -59,77 +62,7 @@ CCTK_REAL ML_mom type=GF timelevels=1 tags='tensortypealias="D" tensorweight=1.0 } "ML_mom" public: -CCTK_REAL ML_curv type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' -{ - At11, - At12, - At13, - At22, - At23, - At33 -} "ML_curv" - -public: -CCTK_REAL ML_dtlapse type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' -{ - A -} "ML_dtlapse" - -public: -CCTK_REAL ML_dtshift type=GF timelevels=4 tags='tensortypealias="U" tensorweight=1.0000000000000000000' -{ - B1, - B2, - B3 -} "ML_dtshift" - -public: -CCTK_REAL ML_Gamma type=GF timelevels=4 tags='tensortypealias="U" tensorweight=0.66666666666666666667' -{ - Xt1, - Xt2, - Xt3 -} "ML_Gamma" - -public: -CCTK_REAL ML_lapse type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' -{ - alpha -} "ML_lapse" - -public: -CCTK_REAL ML_log_confac type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667' -{ - phi -} "ML_log_confac" - -public: -CCTK_REAL ML_metric type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' -{ - gt11, - gt12, - gt13, - gt22, - gt23, - gt33 -} "ML_metric" - -public: -CCTK_REAL ML_shift type=GF timelevels=4 tags='tensortypealias="U" tensorweight=1.0000000000000000000' -{ - beta1, - beta2, - beta3 -} "ML_shift" - -public: -CCTK_REAL ML_trace_curv type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' -{ - trK -} "ML_trace_curv" - -public: -CCTK_REAL ML_curvrhs type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' +CCTK_REAL ML_curvrhs type=GF timelevels=1 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' { At11rhs, At12rhs, @@ -140,13 +73,13 @@ CCTK_REAL ML_curvrhs type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorw } "ML_curvrhs" public: -CCTK_REAL ML_dtlapserhs type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +CCTK_REAL ML_dtlapserhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' { Arhs } "ML_dtlapserhs" public: -CCTK_REAL ML_dtshiftrhs type=GF timelevels=4 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +CCTK_REAL ML_dtshiftrhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=1.0000000000000000000' { B1rhs, B2rhs, @@ -154,7 +87,7 @@ CCTK_REAL ML_dtshiftrhs type=GF timelevels=4 tags='tensortypealias="U" tensorwei } "ML_dtshiftrhs" public: -CCTK_REAL ML_Gammarhs type=GF timelevels=4 tags='tensortypealias="U" tensorweight=0.66666666666666666667' +CCTK_REAL ML_Gammarhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=0.66666666666666666667' { Xt1rhs, Xt2rhs, @@ -162,19 +95,19 @@ CCTK_REAL ML_Gammarhs type=GF timelevels=4 tags='tensortypealias="U" tensorweigh } "ML_Gammarhs" public: -CCTK_REAL ML_lapserhs type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +CCTK_REAL ML_lapserhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' { alpharhs } "ML_lapserhs" public: -CCTK_REAL ML_log_confacrhs type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667' +CCTK_REAL ML_log_confacrhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667' { phirhs } "ML_log_confacrhs" public: -CCTK_REAL ML_metricrhs type=GF timelevels=4 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' +CCTK_REAL ML_metricrhs type=GF timelevels=1 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' { gt11rhs, gt12rhs, @@ -185,7 +118,7 @@ CCTK_REAL ML_metricrhs type=GF timelevels=4 tags='tensortypealias="DD_sym" tenso } "ML_metricrhs" public: -CCTK_REAL ML_shiftrhs type=GF timelevels=4 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +CCTK_REAL ML_shiftrhs type=GF timelevels=1 tags='tensortypealias="U" tensorweight=1.0000000000000000000' { beta1rhs, beta2rhs, @@ -193,7 +126,77 @@ CCTK_REAL ML_shiftrhs type=GF timelevels=4 tags='tensortypealias="U" tensorweigh } "ML_shiftrhs" public: -CCTK_REAL ML_trace_curvrhs type=GF timelevels=4 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +CCTK_REAL ML_trace_curvrhs type=GF timelevels=1 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' { trKrhs } "ML_trace_curvrhs" + +public: +CCTK_REAL ML_curv type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' +{ + At11, + At12, + At13, + At22, + At23, + At33 +} "ML_curv" + +public: +CCTK_REAL ML_dtlapse type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +{ + A +} "ML_dtlapse" + +public: +CCTK_REAL ML_dtshift type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +{ + B1, + B2, + B3 +} "ML_dtshift" + +public: +CCTK_REAL ML_Gamma type=GF timelevels=3 tags='tensortypealias="U" tensorweight=0.66666666666666666667' +{ + Xt1, + Xt2, + Xt3 +} "ML_Gamma" + +public: +CCTK_REAL ML_lapse type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +{ + alpha +} "ML_lapse" + +public: +CCTK_REAL ML_log_confac type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0.16666666666666666667' +{ + phi +} "ML_log_confac" + +public: +CCTK_REAL ML_metric type=GF timelevels=3 tags='tensortypealias="DD_sym" tensorweight=-0.66666666666666666667' +{ + gt11, + gt12, + gt13, + gt22, + gt23, + gt33 +} "ML_metric" + +public: +CCTK_REAL ML_shift type=GF timelevels=3 tags='tensortypealias="U" tensorweight=1.0000000000000000000' +{ + beta1, + beta2, + beta3 +} "ML_shift" + +public: +CCTK_REAL ML_trace_curv type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=1.0000000000000000000' +{ + trK +} "ML_trace_curv" diff --git a/ML_BSSN_MP/param.ccl b/ML_BSSN_MP/param.ccl index 9ed8fb2..27248c8 100644 --- a/ML_BSSN_MP/param.ccl +++ b/ML_BSSN_MP/param.ccl @@ -1,4 +1,7 @@ -# File produced by Kranc +# File produced by user diener +# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) + +# Mathematica script written by Ian Hinder and Sascha Husa shares: ADMBase @@ -22,6 +25,12 @@ EXTENDS CCTK_KEYWORD shift_evolution_method "shift_evolution_method" } +EXTENDS CCTK_KEYWORD dtshift_evolution_method "dtshift_evolution_method" +{ + ML_BSSN_MP :: "" +} + + shares: GenericFD @@ -79,12 +88,6 @@ CCTK_REAL ShiftAdvectionCoeff "Factor in front of the shift advection terms in g } 1 restricted: -CCTK_REAL MinimumLapse "Minimum value of the lapse function" -{ - "*:*" :: "" -} -1 - -restricted: CCTK_INT harmonicN "d/dt alpha = - f alpha^n K (harmonic=2, 1+log=1)" { *:* :: "" @@ -96,6 +99,12 @@ CCTK_INT ShiftAlphaPower "ShiftAlphaPower" *:* :: "" } 0 +restricted: +CCTK_INT conformalmethod "0 for phi method, 1 for W method" +{ + *:* :: "" +} 0 + private: KEYWORD my_initial_data "my_initial_data" { @@ -134,14 +143,8 @@ CCTK_INT ML_BSSN_MP_MaxNumEvolvedVars "Number of evolved variables used by this restricted: CCTK_INT timelevels "Number of active timelevels" { - 0:4 :: "" -} 4 - -restricted: -CCTK_INT rhs_timelevels "Number of active RHS timelevels" -{ - 0:4 :: "" -} 1 + 0:3 :: "" +} 3 restricted: CCTK_INT ML_BSSN_MP_Minkowski_calc_every "ML_BSSN_MP_Minkowski_calc_every" diff --git a/ML_BSSN_MP/schedule.ccl b/ML_BSSN_MP/schedule.ccl index 12a7d04..414d395 100644 --- a/ML_BSSN_MP/schedule.ccl +++ b/ML_BSSN_MP/schedule.ccl @@ -1,4 +1,7 @@ -# File produced by Kranc +# File produced by user diener +# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) + +# Mathematica script written by Ian Hinder and Sascha Husa STORAGE: ML_cons_detg[1] @@ -11,6 +14,24 @@ STORAGE: ML_Ham[1] STORAGE: ML_mom[1] +STORAGE: ML_curvrhs[1] + +STORAGE: ML_dtlapserhs[1] + +STORAGE: ML_dtshiftrhs[1] + +STORAGE: ML_Gammarhs[1] + +STORAGE: ML_lapserhs[1] + +STORAGE: ML_log_confacrhs[1] + +STORAGE: ML_metricrhs[1] + +STORAGE: ML_shiftrhs[1] + +STORAGE: ML_trace_curvrhs[1] + if (timelevels == 1) { STORAGE: ML_curv[1] @@ -23,10 +44,6 @@ if (timelevels == 3) { STORAGE: ML_curv[3] } -if (timelevels == 4) -{ - STORAGE: ML_curv[4] -} if (timelevels == 1) { @@ -40,10 +57,6 @@ if (timelevels == 3) { STORAGE: ML_dtlapse[3] } -if (timelevels == 4) -{ - STORAGE: ML_dtlapse[4] -} if (timelevels == 1) { @@ -57,10 +70,6 @@ if (timelevels == 3) { STORAGE: ML_dtshift[3] } -if (timelevels == 4) -{ - STORAGE: ML_dtshift[4] -} if (timelevels == 1) { @@ -74,10 +83,6 @@ if (timelevels == 3) { STORAGE: ML_Gamma[3] } -if (timelevels == 4) -{ - STORAGE: ML_Gamma[4] -} if (timelevels == 1) { @@ -91,10 +96,6 @@ if (timelevels == 3) { STORAGE: ML_lapse[3] } -if (timelevels == 4) -{ - STORAGE: ML_lapse[4] -} if (timelevels == 1) { @@ -108,10 +109,6 @@ if (timelevels == 3) { STORAGE: ML_log_confac[3] } -if (timelevels == 4) -{ - STORAGE: ML_log_confac[4] -} if (timelevels == 1) { @@ -125,10 +122,6 @@ if (timelevels == 3) { STORAGE: ML_metric[3] } -if (timelevels == 4) -{ - STORAGE: ML_metric[4] -} if (timelevels == 1) { @@ -142,10 +135,6 @@ if (timelevels == 3) { STORAGE: ML_shift[3] } -if (timelevels == 4) -{ - STORAGE: ML_shift[4] -} if (timelevels == 1) { @@ -159,163 +148,6 @@ if (timelevels == 3) { STORAGE: ML_trace_curv[3] } -if (timelevels == 4) -{ - STORAGE: ML_trace_curv[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_curvrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_curvrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_curvrhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_curvrhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_dtlapserhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_dtlapserhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_dtlapserhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_dtlapserhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_dtshiftrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_dtshiftrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_dtshiftrhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_dtshiftrhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_Gammarhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_Gammarhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_Gammarhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_Gammarhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_lapserhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_lapserhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_lapserhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_lapserhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_log_confacrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_log_confacrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_log_confacrhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_log_confacrhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_metricrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_metricrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_metricrhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_metricrhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_shiftrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_shiftrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_shiftrhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_shiftrhs[4] -} - -if (rhs_timelevels == 1) -{ - STORAGE: ML_trace_curvrhs[1] -} -if (rhs_timelevels == 2) -{ - STORAGE: ML_trace_curvrhs[2] -} -if (rhs_timelevels == 3) -{ - STORAGE: ML_trace_curvrhs[3] -} -if (rhs_timelevels == 4) -{ - STORAGE: ML_trace_curvrhs[4] -} schedule ML_BSSN_MP_Startup at STARTUP { diff --git a/ML_BSSN_MP/src/Boundaries.c b/ML_BSSN_MP/src/Boundaries.c index 86cdd53..af1b176 100644 --- a/ML_BSSN_MP/src/Boundaries.c +++ b/ML_BSSN_MP/src/Boundaries.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #include "cctk.h" #include "cctk_Arguments.h" diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_ADMBaseBoundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_ADMBaseBoundary.c index 14dba68..5ddd630 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_ADMBaseBoundary.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_ADMBaseBoundary.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -171,7 +174,7 @@ void ML_BSSN_MP_ADMBaseBoundary_Body(cGH const * const cctkGH, CCTK_INT const di /* Precompute derivatives (old style) */ /* Calculate temporaries and grid functions */ - e4phi = exp(4*phiL); + e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL)); g11 = e4phi*gt11L; diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c b/ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c index df47800..e527e43 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -127,7 +130,7 @@ void ML_BSSN_MP_Minkowski_Body(cGH const * const cctkGH, CCTK_INT const dir, CCT /* Precompute derivatives (old style) */ /* Calculate temporaries and grid functions */ - phiL = 0; + phiL = IfThen(conformalmethod,1,0); gt11L = 1; diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_RHS.c b/ML_BSSN_MP/src/ML_BSSN_MP_RHS.c index 4f32a58..c48526c 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_RHS.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_RHS.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -105,10 +108,13 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT CCTK_REAL Atm31 = INITVALUE, Atm32 = INITVALUE, Atm33 = INITVALUE; CCTK_REAL Ats11 = INITVALUE, Ats12 = INITVALUE, Ats13 = INITVALUE, Ats22 = INITVALUE, Ats23 = INITVALUE, Ats33 = INITVALUE; CCTK_REAL Atu11 = INITVALUE, Atu21 = INITVALUE, Atu22 = INITVALUE, Atu31 = INITVALUE, Atu32 = INITVALUE, Atu33 = INITVALUE; + CCTK_REAL cdphi1 = INITVALUE, cdphi2 = INITVALUE, cdphi211 = INITVALUE, cdphi212 = INITVALUE, cdphi213 = INITVALUE, cdphi222 = INITVALUE; + CCTK_REAL cdphi223 = INITVALUE, cdphi233 = INITVALUE, cdphi3 = INITVALUE; CCTK_REAL detgt = INITVALUE; CCTK_REAL dir1 = INITVALUE, dir2 = INITVALUE, dir3 = INITVALUE; CCTK_REAL e4phi = INITVALUE; CCTK_REAL em4phi = INITVALUE; + CCTK_REAL fac1 = INITVALUE, fac2 = INITVALUE; CCTK_REAL g11 = INITVALUE; CCTK_REAL G111 = INITVALUE, G112 = INITVALUE, G113 = INITVALUE; CCTK_REAL g12 = INITVALUE; @@ -947,314 +953,92 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT 2*J23L*J33L*PDstandardNth23gt33 + dJ233L*PDstandardNth2gt33 + dJ333L*PDstandardNth3gt33 + PDstandardNth11gt33*SQR(J13L) + PDstandardNth22gt33*SQR(J23L) + PDstandardNth33gt33*SQR(J33L))); - Rphi11 = -2*((dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L)*PDstandardNth1phi + + fac1 = IfThen(conformalmethod,-(khalf*INV(phiL)),1); + + cdphi1 = fac1*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi); + + cdphi2 = fac1*(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi); + + cdphi3 = fac1*(J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi); + + fac2 = IfThen(conformalmethod,khalf*pow(phiL,-2),0); + + cdphi211 = fac1*((dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L)*PDstandardNth1phi + 2*(J11L*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) + J21L*J31L*PDstandardNth23phi) + (dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L)*PDstandardNth2phi + (dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L)*PDstandardNth3phi + PDstandardNth11phi*SQR(J11L) + - PDstandardNth22phi*SQR(J21L) + PDstandardNth33phi*SQR(J31L) + - gt11L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) + - gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) + - gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi + - (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) + - gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) + - gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi + - (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L + - (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L + - gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) + - gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) - - 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L)) - *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi + - (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi + - J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi + - gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi + - J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi + - gtu21*J31L*PDstandardNth23phi) + - J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi + - gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) + - J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi + - gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + - J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi + - gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) + - PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) + - PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) + - PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) - - 4*gt11L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L + - (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi + - PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)* - PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)* - PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) + - gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) + - (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))* - SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) + - gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi)) + - 4*SQR(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi); - - Rphi12 = 4*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi)* - (J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi) - - 2*(J12L*(J11L*PDstandardNth11phi + J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) + + PDstandardNth22phi*SQR(J21L) + PDstandardNth33phi*SQR(J31L)) + + fac2*SQR(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi); + + cdphi212 = fac2*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi)* + (J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi) + + fac1*(J12L*(J11L*PDstandardNth11phi + J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) + J11L*(J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) + (dJ112L - Gt112*J11L - Gt212*J12L - Gt312*J13L)*PDstandardNth1phi + J22L*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi) + (dJ212L - Gt112*J21L - Gt212*J22L - Gt312*J23L)*PDstandardNth2phi + J32L*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi) + - (dJ312L - Gt112*J31L - Gt212*J32L - Gt312*J33L)*PDstandardNth3phi + - gt12L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) + - gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) + - gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi + - (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) + - gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) + - gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi + - (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L + - (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L + - gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) + - gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) - - 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L)) - *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi + - (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi + - J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi + - gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi + - J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi + - gtu21*J31L*PDstandardNth23phi) + - J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi + - gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) + - J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi + - gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + - J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi + - gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) + - PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) + - PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) + - PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) - - 4*gt12L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L + - (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi + - PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)* - PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)* - PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) + - gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) + - (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))* - SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) + - gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi)); - - Rphi13 = 4*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi)* - (J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi) - - 2*(J13L*(J11L*PDstandardNth11phi + J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) + + (dJ312L - Gt112*J31L - Gt212*J32L - Gt312*J33L)*PDstandardNth3phi); + + cdphi213 = fac2*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi)* + (J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi) + + fac1*(J13L*(J11L*PDstandardNth11phi + J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) + J11L*(J23L*PDstandardNth12phi + J33L*PDstandardNth13phi) + (dJ113L - Gt113*J11L - Gt213*J12L - Gt313*J13L)*PDstandardNth1phi + J23L*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi) + (dJ213L - Gt113*J21L - Gt213*J22L - Gt313*J23L)*PDstandardNth2phi + J33L*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi) + - (dJ313L - Gt113*J31L - Gt213*J32L - Gt313*J33L)*PDstandardNth3phi + - gt13L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) + - gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) + - gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi + - (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) + - gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) + - gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi + - (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L + - (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L + - gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) + - gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) - - 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L)) - *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi + - (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi + - J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi + - gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi + - J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi + - gtu21*J31L*PDstandardNth23phi) + - J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi + - gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) + - J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi + - gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + - J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi + - gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) + - PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) + - PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) + - PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) - - 4*gt13L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L + - (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi + - PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)* - PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)* - PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) + - gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) + - (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))* - SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) + - gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi)); - - Rphi22 = -2*((dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L)*PDstandardNth1phi + + (dJ313L - Gt113*J31L - Gt213*J32L - Gt313*J33L)*PDstandardNth3phi); + + cdphi222 = fac1*((dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L)*PDstandardNth1phi + 2*(J12L*(J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) + J22L*J32L*PDstandardNth23phi) + (dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L)*PDstandardNth2phi + (dJ322L - Gt122*J31L - Gt222*J32L - Gt322*J33L)*PDstandardNth3phi + PDstandardNth11phi*SQR(J12L) + - PDstandardNth22phi*SQR(J22L) + PDstandardNth33phi*SQR(J32L) + - gt22L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) + - gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) + - gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi + - (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) + - gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) + - gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi + - (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L + - (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L + - gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) + - gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) - - 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L)) - *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi + - (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi + - J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi + - gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi + - J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi + - gtu21*J31L*PDstandardNth23phi) + - J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi + - gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) + - J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi + - gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + - J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi + - gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) + - PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) + - PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) + - PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) - - 4*gt22L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L + - (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi + - PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)* - PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)* - PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) + - gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) + - (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))* - SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) + - gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi)) + - 4*SQR(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi); - - Rphi23 = 4*(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi)* - (J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi) - - 2*(J13L*(J12L*PDstandardNth11phi + J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) + + PDstandardNth22phi*SQR(J22L) + PDstandardNth33phi*SQR(J32L)) + + fac2*SQR(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi); + + cdphi223 = fac2*(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi)* + (J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi) + + fac1*(J13L*(J12L*PDstandardNth11phi + J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) + J12L*(J23L*PDstandardNth12phi + J33L*PDstandardNth13phi) + (dJ123L - Gt123*J11L - Gt223*J12L - Gt323*J13L)*PDstandardNth1phi + J23L*(J22L*PDstandardNth22phi + J32L*PDstandardNth23phi) + (dJ223L - Gt123*J21L - Gt223*J22L - Gt323*J23L)*PDstandardNth2phi + J33L*(J22L*PDstandardNth23phi + J32L*PDstandardNth33phi) + - (dJ323L - Gt123*J31L - Gt223*J32L - Gt323*J33L)*PDstandardNth3phi + - gt23L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) + - gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) + - gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi + - (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) + - gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) + - gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi + - (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L + - (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L + - gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) + - gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) - - 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L)) - *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi + - (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi + - J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi + - gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi + - J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi + - gtu21*J31L*PDstandardNth23phi) + - J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi + - gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) + - J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi + - gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + - J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi + - gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) + - PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) + - PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) + - PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) - - 4*gt23L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L + - (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi + - PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)* - PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)* - PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) + - gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) + - (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))* - SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) + - gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi)); - - Rphi33 = -2*((dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L)*PDstandardNth1phi + + (dJ323L - Gt123*J31L - Gt223*J32L - Gt323*J33L)*PDstandardNth3phi); + + cdphi233 = fac1*((dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L)*PDstandardNth1phi + 2*(J13L*(J23L*PDstandardNth12phi + J33L*PDstandardNth13phi) + J23L*J33L*PDstandardNth23phi) + (dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L)*PDstandardNth2phi + (dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L)*PDstandardNth3phi + PDstandardNth11phi*SQR(J13L) + - PDstandardNth22phi*SQR(J23L) + PDstandardNth33phi*SQR(J33L) + - gt33L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) + - gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) + - gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi + - (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) + - gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) + - gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi + - (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L + - (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L + - gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) + - gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) - - 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L)) - *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi + - (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi + - J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi + - gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi + - J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi + - gtu21*J31L*PDstandardNth23phi) + - J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi + - gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) + - J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi + - gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + - J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi + - gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) + - PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) + - PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) + - PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) - - 4*gt33L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L + - (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi + - PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)* - PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)* - PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) + - gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) + - (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))* - SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) + - gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi)) + - 4*SQR(J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi); + PDstandardNth22phi*SQR(J23L) + PDstandardNth33phi*SQR(J33L)) + + fac2*SQR(J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi); + + 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 + gtu33*SQR(cdphi3)))); + + 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 + gtu11*SQR(cdphi1)) + gtu22*(cdphi222 + 2*SQR(cdphi2)) + + gtu33*(cdphi233 + 2*SQR(cdphi3)))); + + 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)) + + gtu33*(cdphi233 + 2*SQR(cdphi3)))); + + 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 + gtu33*SQR(cdphi3)))); + + 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)))); + + 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*SQR(cdphi1)) + + gtu22*(cdphi222 + 2*SQR(cdphi2))) + 2*(-1 + gt33L*gtu33)*SQR(cdphi3)); Atm11 = At11L*gtu11 + At12L*gtu21 + At13L*gtu31; @@ -1286,7 +1070,7 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT Atu33 = Atm31*gtu31 + Atm32*gtu32 + Atm33*gtu33; - e4phi = exp(4*phiL); + e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL)); em4phi = INV(e4phi); @@ -1314,77 +1098,41 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT gu33 = em4phi*gtu33; - G111 = Gt111 + 2*(-((-2*J11L + gt11L*gtu11*J11L + gt11L*gtu21*J12L + gt11L*gtu31*J13L)*PDstandardNth1phi) - - (-2*J21L + gt11L*gtu11*J21L + gt11L*gtu21*J22L + gt11L*gtu31*J23L)*PDstandardNth2phi - - (-2*J31L + gt11L*gtu11*J31L + gt11L*gtu21*J32L + gt11L*gtu31*J33L)*PDstandardNth3phi); + G111 = Gt111 + cdphi1*(4 - 2*gt11L*gtu11) - 2*gt11L*(cdphi2*gtu21 + cdphi3*gtu31); - G211 = Gt211 + 2*gt11L*(-((gtu21*J11L + gtu22*J12L + gtu32*J13L)*PDstandardNth1phi) - - (gtu21*J21L + gtu22*J22L + gtu32*J23L)*PDstandardNth2phi - - (gtu21*J31L + gtu22*J32L + gtu32*J33L)*PDstandardNth3phi); + G211 = Gt211 - 2*gt11L*(cdphi1*gtu21 + cdphi2*gtu22 + cdphi3*gtu32); - G311 = Gt311 + 2*gt11L*(-((gtu31*J11L + gtu32*J12L + gtu33*J13L)*PDstandardNth1phi) - - (gtu31*J21L + gtu32*J22L + gtu33*J23L)*PDstandardNth2phi - - (gtu31*J31L + gtu32*J32L + gtu33*J33L)*PDstandardNth3phi); + G311 = Gt311 - 2*gt11L*(cdphi1*gtu31 + cdphi2*gtu32 + cdphi3*gtu33); - G112 = Gt112 + 2*((J12L - gt12L*(gtu11*J11L + gtu21*J12L + gtu31*J13L))*PDstandardNth1phi + - (J22L - gt12L*(gtu11*J21L + gtu21*J22L + gtu31*J23L))*PDstandardNth2phi + - (J32L - gt12L*(gtu11*J31L + gtu21*J32L + gtu31*J33L))*PDstandardNth3phi); + G112 = Gt112 + cdphi2*(2 - 2*gt12L*gtu21) - 2*gt12L*(cdphi1*gtu11 + cdphi3*gtu31); - G212 = Gt212 + 2*((J11L - gt12L*(gtu21*J11L + gtu22*J12L + gtu32*J13L))*PDstandardNth1phi + - (J21L - gt12L*(gtu21*J21L + gtu22*J22L + gtu32*J23L))*PDstandardNth2phi + - (J31L - gt12L*(gtu21*J31L + gtu22*J32L + gtu32*J33L))*PDstandardNth3phi); + G212 = Gt212 + cdphi1*(2 - 2*gt12L*gtu21) - 2*gt12L*(cdphi2*gtu22 + cdphi3*gtu32); - G312 = Gt312 + 2*gt12L*(-((gtu31*J11L + gtu32*J12L + gtu33*J13L)*PDstandardNth1phi) - - (gtu31*J21L + gtu32*J22L + gtu33*J23L)*PDstandardNth2phi - - (gtu31*J31L + gtu32*J32L + gtu33*J33L)*PDstandardNth3phi); + G312 = Gt312 - 2*gt12L*(cdphi1*gtu31 + cdphi2*gtu32 + cdphi3*gtu33); - G113 = Gt113 + 2*((J13L - gt13L*(gtu11*J11L + gtu21*J12L + gtu31*J13L))*PDstandardNth1phi + - (J23L - gt13L*(gtu11*J21L + gtu21*J22L + gtu31*J23L))*PDstandardNth2phi + - (J33L - gt13L*(gtu11*J31L + gtu21*J32L + gtu31*J33L))*PDstandardNth3phi); + G113 = Gt113 - 2*gt13L*(cdphi1*gtu11 + cdphi2*gtu21) + cdphi3*(2 - 2*gt13L*gtu31); - G213 = Gt213 + 2*gt13L*(-((gtu21*J11L + gtu22*J12L + gtu32*J13L)*PDstandardNth1phi) - - (gtu21*J21L + gtu22*J22L + gtu32*J23L)*PDstandardNth2phi - - (gtu21*J31L + gtu22*J32L + gtu32*J33L)*PDstandardNth3phi); + G213 = Gt213 - 2*gt13L*(cdphi1*gtu21 + cdphi2*gtu22 + cdphi3*gtu32); - G313 = Gt313 + 2*((J11L - gt13L*(gtu31*J11L + gtu32*J12L + gtu33*J13L))*PDstandardNth1phi + - (J21L - gt13L*(gtu31*J21L + gtu32*J22L + gtu33*J23L))*PDstandardNth2phi + - (J31L - gt13L*(gtu31*J31L + gtu32*J32L + gtu33*J33L))*PDstandardNth3phi); + G313 = Gt313 + cdphi1*(2 - 2*gt13L*gtu31) - 2*gt13L*(cdphi2*gtu32 + cdphi3*gtu33); - G122 = Gt122 + 2*gt22L*(-((gtu11*J11L + gtu21*J12L + gtu31*J13L)*PDstandardNth1phi) - - (gtu11*J21L + gtu21*J22L + gtu31*J23L)*PDstandardNth2phi - - (gtu11*J31L + gtu21*J32L + gtu31*J33L)*PDstandardNth3phi); + G122 = Gt122 - 2*gt22L*(cdphi1*gtu11 + cdphi2*gtu21 + cdphi3*gtu31); - G222 = Gt222 + 2*(-((-2*J12L + gt22L*(gtu21*J11L + gtu22*J12L + gtu32*J13L))*PDstandardNth1phi) - - (gt22L*gtu21*J21L - 2*J22L + gt22L*gtu22*J22L + gt22L*gtu32*J23L)*PDstandardNth2phi - - (gt22L*gtu21*J31L - 2*J32L + gt22L*gtu22*J32L + gt22L*gtu32*J33L)*PDstandardNth3phi); + G222 = Gt222 + cdphi2*(4 - 2*gt22L*gtu22) - 2*gt22L*(cdphi1*gtu21 + cdphi3*gtu32); - G322 = Gt322 + 2*gt22L*(-((gtu31*J11L + gtu32*J12L + gtu33*J13L)*PDstandardNth1phi) - - (gtu31*J21L + gtu32*J22L + gtu33*J23L)*PDstandardNth2phi - - (gtu31*J31L + gtu32*J32L + gtu33*J33L)*PDstandardNth3phi); + G322 = Gt322 - 2*gt22L*(cdphi1*gtu31 + cdphi2*gtu32 + cdphi3*gtu33); - G123 = Gt123 + 2*gt23L*(-((gtu11*J11L + gtu21*J12L + gtu31*J13L)*PDstandardNth1phi) - - (gtu11*J21L + gtu21*J22L + gtu31*J23L)*PDstandardNth2phi - - (gtu11*J31L + gtu21*J32L + gtu31*J33L)*PDstandardNth3phi); + G123 = Gt123 - 2*gt23L*(cdphi1*gtu11 + cdphi2*gtu21 + cdphi3*gtu31); - G223 = Gt223 + 2*((J13L - gt23L*(gtu21*J11L + gtu22*J12L + gtu32*J13L))*PDstandardNth1phi + - (J23L - gt23L*(gtu21*J21L + gtu22*J22L + gtu32*J23L))*PDstandardNth2phi + - (J33L - gt23L*(gtu21*J31L + gtu22*J32L + gtu32*J33L))*PDstandardNth3phi); + G223 = Gt223 - 2*gt23L*(cdphi1*gtu21 + cdphi2*gtu22) + cdphi3*(2 - 2*gt23L*gtu32); - G323 = Gt323 + 2*((J12L - gt23L*(gtu31*J11L + gtu32*J12L + gtu33*J13L))*PDstandardNth1phi + - (J22L - gt23L*(gtu31*J21L + gtu32*J22L + gtu33*J23L))*PDstandardNth2phi + - (J32L - gt23L*(gtu31*J31L + gtu32*J32L + gtu33*J33L))*PDstandardNth3phi); + G323 = Gt323 + cdphi2*(2 - 2*gt23L*gtu32) - 2*gt23L*(cdphi1*gtu31 + cdphi3*gtu33); - G133 = Gt133 + 2*gt33L*(-((gtu11*J11L + gtu21*J12L + gtu31*J13L)*PDstandardNth1phi) - - (gtu11*J21L + gtu21*J22L + gtu31*J23L)*PDstandardNth2phi - - (gtu11*J31L + gtu21*J32L + gtu31*J33L)*PDstandardNth3phi); + G133 = Gt133 - 2*gt33L*(cdphi1*gtu11 + cdphi2*gtu21 + cdphi3*gtu31); - G233 = Gt233 + 2*gt33L*(-((gtu21*J11L + gtu22*J12L + gtu32*J13L)*PDstandardNth1phi) - - (gtu21*J21L + gtu22*J22L + gtu32*J23L)*PDstandardNth2phi - - (gtu21*J31L + gtu22*J32L + gtu32*J33L)*PDstandardNth3phi); + G233 = Gt233 - 2*gt33L*(cdphi1*gtu21 + cdphi2*gtu22 + cdphi3*gtu32); - G333 = Gt333 + 2*(-((-2*J13L + gt33L*(gtu31*J11L + gtu32*J12L + gtu33*J13L))*PDstandardNth1phi) - - (gt33L*gtu31*J21L + gt33L*gtu32*J22L - 2*J23L + gt33L*gtu33*J23L)*PDstandardNth2phi - - (gt33L*gtu31*J31L + gt33L*gtu32*J32L - 2*J33L + gt33L*gtu33*J33L)*PDstandardNth3phi); + G333 = Gt333 - 2*gt33L*(cdphi1*gtu31 + cdphi2*gtu32) + cdphi3*(4 - 2*gt33L*gtu33); R11 = Rphi11 + Rt11; @@ -1403,7 +1151,8 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT PDupwindNth3(phi, i, j, k)*(beta1L*J31L + beta2L*J32L + beta3L*J33L) + (J11L*PDstandardNth1beta1 + J12L*PDstandardNth1beta2 + J13L*PDstandardNth1beta3 + J21L*PDstandardNth2beta1 + J22L*PDstandardNth2beta2 + J23L*PDstandardNth2beta3 + J31L*PDstandardNth3beta1 + J32L*PDstandardNth3beta2 + - J33L*PDstandardNth3beta3)/6. - (alphaL*trKL)/6.; + J33L*PDstandardNth3beta3)*IfThen(conformalmethod,-(kthird*phiL),0.16666666666666666) + + alphaL*trKL*IfThen(conformalmethod,kthird*phiL,-0.16666666666666666); gt11rhsL = -2*alphaL*At11L + PDupwindNth1(gt11, i, j, k)*(beta1L*J11L + beta2L*J12L + beta3L*J13L) + PDupwindNth2(gt11, i, j, k)*(beta1L*J21L + beta2L*J22L + beta3L*J23L) + @@ -1483,9 +1232,9 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT gtu33*J33L*PDstandardNth23beta1) + gtu32* (dJ123L*PDstandardNth1beta1 + dJ223L*PDstandardNth2beta1 + J32L*(J23L*PDstandardNth23beta1 + J33L*PDstandardNth33beta1) + dJ323L*PDstandardNth3beta1)) + - alphaL*(12*(Atu21*Gt112 + Atu31*Gt113 + Atu32*Gt123) + 6*(Atu11*Gt111 + Atu22*Gt122 + Atu33*Gt133) - - 4*gtu31*J13L*PDstandardNth1trK + 36*((Atu11*J11L + Atu31*J13L)*PDstandardNth1phi + - Atu11*(J21L*PDstandardNth2phi + J31L*PDstandardNth3phi))) + + alphaL*(36*(Atu11*cdphi1 + Atu21*cdphi2 + Atu31*cdphi3) + 12*(Atu21*Gt112 + Atu31*Gt113 + Atu32*Gt123) + + 6*(Atu11*Gt111 + Atu22*Gt122 + Atu33*Gt133) - + 4*((gtu11*J11L + gtu31*J13L)*PDstandardNth1trK + gtu11*(J21L*PDstandardNth2trK + J31L*PDstandardNth3trK))) + PDstandardNth1beta2*(dJ122L*gtu21 + dJ123L*gtu31 + 2*J12L*Xtn1) + PDstandardNth1beta3*(dJ123L*gtu21 + dJ133L*gtu31 + 2*J13L*Xtn1) + PDstandardNth2beta1*(7*dJ213L*gtu31 + 3*dJ233L*gtu33 - J21L*Xtn1) + @@ -1498,39 +1247,36 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT (6*gtu32*PDstandardNth11beta1 + gtu31*PDstandardNth11beta2 + gtu21*PDstandardNth11beta3) + J22L*(6*gtu22*PDstandardNth12beta1 + 2*gtu21*PDstandardNth12beta2) + J23L*(gtu31*PDstandardNth12beta2 + gtu21*PDstandardNth12beta3) + - J33L*(6*gtu32*PDstandardNth13beta1 + gtu31*PDstandardNth13beta2) + 36*alphaL*Atu21*PDstandardNth1phi + + J33L*(6*gtu32*PDstandardNth13beta1 + gtu31*PDstandardNth13beta2) + gtu21*(2*J32L*PDstandardNth13beta2 + J33L*PDstandardNth13beta3 - 4*alphaL*PDstandardNth1trK) - 3*PDstandardNth1beta1*Xtn2) + J22L*((gtu11*J11L + gtu31*J13L)*PDstandardNth12beta2 + gtu31*J23L*PDstandardNth22beta2 + J33L*(6*gtu32*PDstandardNth23beta1 + gtu21*PDstandardNth23beta3) + - 36*alphaL*Atu21*PDstandardNth2phi + gtu21* - (J13L*PDstandardNth12beta3 + 7*J21L*PDstandardNth22beta1 + J23L*PDstandardNth22beta3 + + gtu21*(J13L*PDstandardNth12beta3 + 7*J21L*PDstandardNth22beta1 + J23L*PDstandardNth22beta3 + 2*J32L*PDstandardNth23beta2 - 4*alphaL*PDstandardNth2trK) - 3*PDstandardNth2beta1*Xtn2) + J32L*((gtu11*J11L + gtu31*J13L)*PDstandardNth13beta2 + gtu11*J21L*PDstandardNth23beta2 + - gtu31*J33L*PDstandardNth33beta2 + Atu21*(-6*PDstandardNth3alpha + 36*alphaL*PDstandardNth3phi) + + gtu31*J33L*PDstandardNth33beta2 - 6*Atu21*PDstandardNth3alpha + gtu21*(J13L*PDstandardNth13beta3 + J23L*PDstandardNth23beta3 + 7*(J21L*PDstandardNth23beta1 + J31L*PDstandardNth33beta1) + J33L*PDstandardNth33beta3 - 4*alphaL*PDstandardNth3trK) - 3*PDstandardNth3beta1*Xtn2) + PDstandardNth1beta1*(7*dJ113L*gtu31 + 3*dJ133L*gtu33 - J11L*Xtn1 - 3*J13L*Xtn3) + J23L*((gtu11*J11L + 2*gtu31*J13L)*PDstandardNth12beta3 + - J21L*(7*gtu31*PDstandardNth22beta1 + gtu11*PDstandardNth22beta3) + 36*alphaL*Atu31*PDstandardNth2phi + + J21L*(7*gtu31*PDstandardNth22beta1 + gtu11*PDstandardNth22beta3) + gtu31*(7*J31L*PDstandardNth23beta1 + J32L*PDstandardNth23beta2 + 2*J33L*PDstandardNth23beta3 - 4*alphaL*PDstandardNth2trK) - 3*PDstandardNth2beta1*Xtn3) + J33L*((gtu11*J11L + 2*gtu31*J13L)*PDstandardNth13beta3 + - gtu11*(J21L*PDstandardNth23beta3 + J31L*PDstandardNth33beta3) + - Atu31*(-6*PDstandardNth3alpha + 36*alphaL*PDstandardNth3phi) + + gtu11*(J21L*PDstandardNth23beta3 + J31L*PDstandardNth33beta3) - 6*Atu31*PDstandardNth3alpha + gtu31*(J22L*PDstandardNth23beta2 + 7*(J21L*PDstandardNth23beta1 + J31L*PDstandardNth33beta1) - 4*alphaL*PDstandardNth3trK) - 3*PDstandardNth3beta1*Xtn3) + - gtu11*(dJ112L*PDstandardNth1beta2 + dJ113L*PDstandardNth1beta3 + - J11L*(J13L*PDstandardNth11beta3 + 8*(J21L*PDstandardNth12beta1 + J31L*PDstandardNth13beta1) - - 4*alphaL*PDstandardNth1trK) + dJ212L*PDstandardNth2beta2 + dJ213L*PDstandardNth2beta3 + - J21L*(J12L*PDstandardNth12beta2 + J13L*PDstandardNth12beta3 + J22L*PDstandardNth22beta2 - - 4*alphaL*PDstandardNth2trK) + dJ312L*PDstandardNth3beta2 + dJ313L*PDstandardNth3beta3 + + gtu11*(J11L*(J13L*PDstandardNth11beta3 + 8*(J21L*PDstandardNth12beta1 + J31L*PDstandardNth13beta1)) + + dJ112L*PDstandardNth1beta2 + dJ113L*PDstandardNth1beta3 + + J21L*(J12L*PDstandardNth12beta2 + J13L*PDstandardNth12beta3 + J22L*PDstandardNth22beta2) + + dJ212L*PDstandardNth2beta2 + dJ213L*PDstandardNth2beta3 + J31L*(J12L*PDstandardNth13beta2 + J13L*PDstandardNth13beta3 + 8*J21L*PDstandardNth23beta1 + - J22L*PDstandardNth23beta2 + J23L*PDstandardNth23beta3 + J32L*PDstandardNth33beta2 - - 4*alphaL*PDstandardNth3trK) + 4*(dJ111L*PDstandardNth1beta1 + dJ211L*PDstandardNth2beta1 + - dJ311L*PDstandardNth3beta1 + PDstandardNth11beta1*SQR(J11L) + PDstandardNth22beta1*SQR(J21L) + - PDstandardNth33beta1*SQR(J31L))) + gtu21* - (PDstandardNth11beta2*SQR(J12L) + PDstandardNth22beta2*SQR(J22L) + PDstandardNth33beta2*SQR(J32L)) + + J22L*PDstandardNth23beta2 + J23L*PDstandardNth23beta3 + J32L*PDstandardNth33beta2) + + dJ312L*PDstandardNth3beta2 + dJ313L*PDstandardNth3beta3 + + 4*(dJ111L*PDstandardNth1beta1 + dJ211L*PDstandardNth2beta1 + dJ311L*PDstandardNth3beta1 + + PDstandardNth11beta1*SQR(J11L) + PDstandardNth22beta1*SQR(J21L) + PDstandardNth33beta1*SQR(J31L))) + + gtu21*(PDstandardNth11beta2*SQR(J12L) + PDstandardNth22beta2*SQR(J22L) + PDstandardNth33beta2*SQR(J32L)) + gtu31*(PDstandardNth11beta3*SQR(J13L) + PDstandardNth22beta3*SQR(J23L) + PDstandardNth33beta3*SQR(J33L)) + 3*(PDupwindNth1(Xt1, i, j, k)*(beta1L*J11L + beta2L*J12L + beta3L*J13L) + PDupwindNth2(Xt1, i, j, k)*(beta1L*J21L + beta2L*J22L + beta3L*J23L) + @@ -1539,50 +1285,50 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT PDstandardNth11beta1*SQR(J12L) + PDstandardNth22beta1*SQR(J22L) + PDstandardNth33beta1*SQR(J32L)) + gtu33*(PDstandardNth11beta1*SQR(J13L) + PDstandardNth22beta1*SQR(J23L) + PDstandardNth33beta1*SQR(J33L)))); - Xt2rhsL = kthird*((7*gtu32*J13L*J22L + 6*gtu31*J11L*J23L)*PDstandardNth12beta2 + - J11L*((gtu22*J12L + gtu32*J13L)*PDstandardNth11beta1 + gtu22*J32L*PDstandardNth13beta1 + - gtu32*(J23L*PDstandardNth12beta1 + J33L*PDstandardNth13beta1) + - 6*gtu11*(J21L*PDstandardNth12beta2 + J31L*PDstandardNth13beta2) + - gtu21*(7*J12L*PDstandardNth11beta2 + J13L*PDstandardNth11beta3 + - 2*(J21L*PDstandardNth12beta1 + J31L*PDstandardNth13beta1) - 4*alphaL*PDstandardNth1trK)) + - J21L*((2*gtu21*J31L + gtu22*J32L)*PDstandardNth23beta1 + 6*gtu11*J31L*PDstandardNth23beta2 - - 4*alphaL*gtu21*PDstandardNth2trK) - 6*((Atu21*J11L + Atu22*J12L + Atu32*J13L)*PDstandardNth1alpha + + Xt2rhsL = kthird*((7*gtu32*J13L*J22L + 6*gtu31*J11L*J23L)*PDstandardNth12beta2 - + 6*((Atu21*J11L + Atu22*J12L + Atu32*J13L)*PDstandardNth1alpha + (Atu21*J21L + Atu22*J22L + Atu32*J23L)*PDstandardNth2alpha + (Atu21*J31L + Atu22*J32L)*PDstandardNth3alpha) + 7*(J32L*((gtu21*J11L + gtu32*J13L)*PDstandardNth13beta2 + (gtu21*J21L + gtu32*J23L)*PDstandardNth23beta2 + gtu21*J31L*PDstandardNth33beta2) + gtu21* ((J12L*J21L + J11L*J22L)*PDstandardNth12beta2 + dJ112L*PDstandardNth1beta2 + J21L*J22L*PDstandardNth22beta2 + J31L*(J12L*PDstandardNth13beta2 + J22L*PDstandardNth23beta2) + dJ212L*PDstandardNth2beta2 + dJ312L*PDstandardNth3beta2)) + alphaL* - (12*(Atu21*Gt212 + Atu31*Gt213 + Atu32*Gt223) + 6*(Atu11*Gt211 + Atu22*Gt222 + Atu33*Gt233) + - 36*((Atu21*J11L + Atu22*J12L)*PDstandardNth1phi + (Atu21*J21L + Atu22*J22L)*PDstandardNth2phi + - (Atu21*J31L + Atu22*J32L)*PDstandardNth3phi) - 4*gtu21*J31L*PDstandardNth3trK) + - PDstandardNth1beta1*(dJ111L*gtu21 + dJ113L*gtu32 + 2*J11L*Xtn2) + - PDstandardNth1beta2*(6*dJ113L*gtu31 + 7*dJ123L*gtu32 + 3*dJ133L*gtu33 - 3*J11L*Xtn1 - J12L*Xtn2) + + (36*(Atu21*cdphi1 + Atu22*cdphi2 + Atu32*cdphi3) + 12*(Atu21*Gt212 + Atu31*Gt213 + Atu32*Gt223) + + 6*(Atu11*Gt211 + Atu22*Gt222 + Atu33*Gt233) - + 4*gtu21*(J11L*PDstandardNth1trK + J21L*PDstandardNth2trK + J31L*PDstandardNth3trK)) + + J11L*((gtu22*J12L + gtu32*J13L)*PDstandardNth11beta1 + gtu22*J32L*PDstandardNth13beta1 + + gtu32*(J23L*PDstandardNth12beta1 + J33L*PDstandardNth13beta1) + + gtu21*(7*J12L*PDstandardNth11beta2 + J13L*PDstandardNth11beta3 + + 2*(J21L*PDstandardNth12beta1 + J31L*PDstandardNth13beta1)) + + 6*gtu11*(J21L*PDstandardNth12beta2 + J31L*PDstandardNth13beta2) - 3*PDstandardNth1beta2*Xtn1) + + J21L*((2*gtu21*J31L + gtu22*J32L)*PDstandardNth23beta1 + 6*gtu11*J31L*PDstandardNth23beta2 - + 3*PDstandardNth2beta2*Xtn1) + PDstandardNth1beta1*(dJ111L*gtu21 + dJ113L*gtu32 + 2*J11L*Xtn2) + + PDstandardNth1beta2*(6*dJ113L*gtu31 + 7*dJ123L*gtu32 + 3*dJ133L*gtu33 - J12L*Xtn2) + PDstandardNth1beta3*(dJ113L*gtu21 + dJ133L*gtu32 + 2*J13L*Xtn2) + PDstandardNth2beta1*(dJ211L*gtu21 + dJ213L*gtu32 + 2*J21L*Xtn2) + - PDstandardNth2beta2*(6*dJ213L*gtu31 + 7*dJ223L*gtu32 + 3*dJ233L*gtu33 - 3*J21L*Xtn1 - J22L*Xtn2) + + PDstandardNth2beta2*(6*dJ213L*gtu31 + 7*dJ223L*gtu32 + 3*dJ233L*gtu33 - J22L*Xtn2) + PDstandardNth2beta3*(dJ213L*gtu21 + dJ233L*gtu32 + 2*J23L*Xtn2) + PDstandardNth3beta1*(dJ311L*gtu21 + dJ313L*gtu32 + 2*J31L*Xtn2) + PDstandardNth3beta2*(6*dJ313L*gtu31 + 7*dJ323L*gtu32 + 3*dJ333L*gtu33 - 3*J31L*Xtn1 - J32L*Xtn2) + PDstandardNth3beta3*(dJ313L*gtu21 + dJ333L*gtu32 + 2*J33L*Xtn2) + J13L*((6*gtu31*J11L + 7*gtu32*J12L)*PDstandardNth11beta2 + gtu22*J12L*PDstandardNth11beta3 + J21L*(gtu32*PDstandardNth12beta1 + 6*gtu31*PDstandardNth12beta2 + gtu21*PDstandardNth12beta3) + - J31L*(gtu32*PDstandardNth13beta1 + 6*gtu31*PDstandardNth13beta2 + gtu21*PDstandardNth13beta3) + - alphaL*(36*Atu32*PDstandardNth1phi - 4*gtu32*PDstandardNth1trK) - 3*PDstandardNth1beta2*Xtn3) + + J31L*(gtu32*PDstandardNth13beta1 + 6*gtu31*PDstandardNth13beta2 + gtu21*PDstandardNth13beta3) - + 4*alphaL*gtu32*PDstandardNth1trK - 3*PDstandardNth1beta2*Xtn3) + J23L*((7*gtu32*J12L + 6*gtu33*J13L)*PDstandardNth12beta2 + (gtu21*J11L + gtu22*J12L + 2*gtu32*J13L)*PDstandardNth12beta3 + J21L*(gtu32*PDstandardNth22beta1 + 6*gtu31*PDstandardNth22beta2 + gtu21*PDstandardNth22beta3) + - J31L*(6*gtu31*PDstandardNth23beta2 + gtu21*PDstandardNth23beta3) + 36*alphaL*Atu32*PDstandardNth2phi + + J31L*(6*gtu31*PDstandardNth23beta2 + gtu21*PDstandardNth23beta3) + gtu32*(7*J22L*PDstandardNth22beta2 + J31L*PDstandardNth23beta1 - 4*alphaL*PDstandardNth2trK) - 3*PDstandardNth2beta2*Xtn3) + J33L*((7*gtu32*J12L + 6*(gtu31*J11L + gtu33*J13L))*PDstandardNth13beta2 + (gtu21*J11L + gtu22*J12L + 2*gtu32*J13L)*PDstandardNth13beta3 + (7*gtu32*J22L + 6*gtu33*J23L)*PDstandardNth23beta2 + (gtu22*J22L + 2*gtu32*J23L)*PDstandardNth23beta3 + J21L*(gtu32*PDstandardNth23beta1 + 6*gtu31*PDstandardNth23beta2 + gtu21*PDstandardNth23beta3) + - J31L*(gtu32*PDstandardNth33beta1 + 6*gtu31*PDstandardNth33beta2 + gtu21*PDstandardNth33beta3) + - Atu32*(-6*PDstandardNth3alpha + 36*alphaL*PDstandardNth3phi) + - gtu32*(7*J32L*PDstandardNth33beta2 - 4*alphaL*PDstandardNth3trK) - 3*PDstandardNth3beta2*Xtn3) + - gtu21*(PDstandardNth11beta1*SQR(J11L) + PDstandardNth22beta1*SQR(J21L) + PDstandardNth33beta1*SQR(J31L)) + - gtu22*((J12L*J21L + J11L*J22L)*PDstandardNth12beta1 + dJ112L*PDstandardNth1beta1 + dJ123L*PDstandardNth1beta3 + + J31L*(gtu32*PDstandardNth33beta1 + 6*gtu31*PDstandardNth33beta2 + gtu21*PDstandardNth33beta3) - + 6*Atu32*PDstandardNth3alpha + gtu32*(7*J32L*PDstandardNth33beta2 - 4*alphaL*PDstandardNth3trK) - + 3*PDstandardNth3beta2*Xtn3) + gtu21*(PDstandardNth11beta1*SQR(J11L) + PDstandardNth22beta1*SQR(J21L) + + PDstandardNth33beta1*SQR(J31L)) + gtu22* + ((J12L*J21L + J11L*J22L)*PDstandardNth12beta1 + dJ112L*PDstandardNth1beta1 + dJ123L*PDstandardNth1beta3 + J12L*(J31L*PDstandardNth13beta1 + 8*J32L*PDstandardNth13beta2 - 4*alphaL*PDstandardNth1trK) + dJ212L*PDstandardNth2beta1 + dJ223L*PDstandardNth2beta3 + J22L*(8*J12L*PDstandardNth12beta2 + J13L*PDstandardNth12beta3 + J21L*PDstandardNth22beta1 + @@ -1604,57 +1350,53 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT (6*gtu22*J12L*J22L + 7*(J13L*(gtu31*J21L + gtu32*J22L) + gtu31*J11L*J23L))*PDstandardNth12beta3 + (gtu32*J11L*J32L + gtu33*(J13L*J31L + J11L*J33L))*PDstandardNth13beta1 + (6*gtu22*J12L*J32L + 7*(J13L*(gtu31*J31L + gtu32*J32L) + gtu31*J11L*J33L))*PDstandardNth13beta3 + - J11L*((gtu32*J12L + gtu33*J13L)*PDstandardNth11beta1 + - 6*gtu11*(J21L*PDstandardNth12beta3 + J31L*PDstandardNth13beta3) + - gtu31*(J12L*PDstandardNth11beta2 + 7*J13L*PDstandardNth11beta3 + J22L*PDstandardNth12beta2 + - 2*(J21L*PDstandardNth12beta1 + J31L*PDstandardNth13beta1) + J32L*PDstandardNth13beta2 - - 4*alphaL*PDstandardNth1trK)) - 6*((Atu31*J11L + Atu32*J12L + Atu33*J13L)*PDstandardNth1alpha + + J12L*(J13L*(gtu33*PDstandardNth11beta2 + 7*gtu32*PDstandardNth11beta3) + + J21L*(gtu32*PDstandardNth12beta1 + gtu31*PDstandardNth12beta2) + + J31L*(gtu32*PDstandardNth13beta1 + gtu31*PDstandardNth13beta2) + + gtu33*(J23L*PDstandardNth12beta2 + J33L*PDstandardNth13beta2) + + 6*gtu21*(J11L*PDstandardNth11beta3 + J21L*PDstandardNth12beta3 + J31L*PDstandardNth13beta3) - + 4*alphaL*gtu32*PDstandardNth1trK) - 6*((Atu31*J11L + Atu32*J12L + Atu33*J13L)*PDstandardNth1alpha + (Atu31*J21L + Atu32*J22L + Atu33*J23L)*PDstandardNth2alpha + Atu31*J31L*PDstandardNth3alpha) + 6*((gtu11*J21L*J31L + gtu22*J22L*J32L)*PDstandardNth23beta3 + gtu21*(dJ212L*PDstandardNth2beta3 + J31L*J32L*PDstandardNth33beta3 + dJ312L*PDstandardNth3beta3)) + - alphaL*(12*(Atu21*Gt312 + Atu31*Gt313 + Atu32*Gt323) + 6*(Atu11*Gt311 + Atu22*Gt322 + Atu33*Gt333) - - 4*gtu33*J13L*PDstandardNth1trK + 36*((Atu31*J11L + Atu33*J13L)*PDstandardNth1phi + - Atu31*(J21L*PDstandardNth2phi + J31L*PDstandardNth3phi))) + + alphaL*(36*(Atu31*cdphi1 + Atu32*cdphi2 + Atu33*cdphi3) + 12*(Atu21*Gt312 + Atu31*Gt313 + Atu32*Gt323) + + 6*(Atu11*Gt311 + Atu22*Gt322 + Atu33*Gt333) - + 4*((gtu31*J11L + gtu33*J13L)*PDstandardNth1trK + gtu31*(J21L*PDstandardNth2trK + J31L*PDstandardNth3trK))) + PDstandardNth2beta3*(3*dJ222L*gtu22 + 7*dJ223L*gtu32 + 4*dJ233L*gtu33 - 3*J21L*Xtn1) + PDstandardNth3beta3*(3*dJ322L*gtu22 + 7*dJ323L*gtu32 + 4*dJ333L*gtu33 - 3*J31L*Xtn1) + - J12L*(J13L*(gtu33*PDstandardNth11beta2 + 7*gtu32*PDstandardNth11beta3) + - J21L*(gtu32*PDstandardNth12beta1 + gtu31*PDstandardNth12beta2) + - J31L*(gtu32*PDstandardNth13beta1 + gtu31*PDstandardNth13beta2) + - gtu33*(J23L*PDstandardNth12beta2 + J33L*PDstandardNth13beta2) + - 6*gtu21*(J11L*PDstandardNth11beta3 + J21L*PDstandardNth12beta3 + J31L*PDstandardNth13beta3) + - alphaL*(36*Atu32*PDstandardNth1phi - 4*gtu32*PDstandardNth1trK) - 3*PDstandardNth1beta3*Xtn2) + + J11L*((gtu32*J12L + gtu33*J13L)*PDstandardNth11beta1 + + gtu31*(J12L*PDstandardNth11beta2 + 7*J13L*PDstandardNth11beta3 + J22L*PDstandardNth12beta2 + + 2*(J21L*PDstandardNth12beta1 + J31L*PDstandardNth13beta1) + J32L*PDstandardNth13beta2) + + 6*gtu11*(J21L*PDstandardNth12beta3 + J31L*PDstandardNth13beta3) - 3*PDstandardNth1beta3*Xtn1) + J22L*((2*gtu32*J12L + gtu33*J13L)*PDstandardNth12beta2 + J21L*(gtu32*PDstandardNth22beta1 + gtu31*PDstandardNth22beta2) + 6*gtu21*(J11L*PDstandardNth12beta3 + J21L*PDstandardNth22beta3 + J31L*PDstandardNth23beta3) + - 36*alphaL*Atu32*PDstandardNth2phi + gtu32* - (7*J23L*PDstandardNth22beta3 + J31L*PDstandardNth23beta1 + 2*J32L*PDstandardNth23beta2 - + gtu32*(7*J23L*PDstandardNth22beta3 + J31L*PDstandardNth23beta1 + 2*J32L*PDstandardNth23beta2 - 4*alphaL*PDstandardNth2trK) - 3*PDstandardNth2beta3*Xtn2) + J32L*((2*gtu32*J12L + gtu33*J13L)*PDstandardNth13beta2 + J21L*(gtu32*PDstandardNth23beta1 + gtu31*PDstandardNth23beta2) + - 6*gtu21*(J11L*PDstandardNth13beta3 + J21L*PDstandardNth23beta3) + gtu33*J33L*PDstandardNth33beta2 + - Atu32*(-6*PDstandardNth3alpha + 36*alphaL*PDstandardNth3phi) + - gtu32*(J31L*PDstandardNth33beta1 + 7*J33L*PDstandardNth33beta3 - 4*alphaL*PDstandardNth3trK) - - 3*PDstandardNth3beta3*Xtn2) + PDstandardNth1beta1*(dJ111L*gtu31 + dJ112L*gtu32 + dJ113L*gtu33 + 2*J11L*Xtn3) + + 6*gtu21*(J11L*PDstandardNth13beta3 + J21L*PDstandardNth23beta3) + gtu33*J33L*PDstandardNth33beta2 - + 6*Atu32*PDstandardNth3alpha + gtu32*(J31L*PDstandardNth33beta1 + 7*J33L*PDstandardNth33beta3 - + 4*alphaL*PDstandardNth3trK) - 3*PDstandardNth3beta3*Xtn2) + + PDstandardNth1beta1*(dJ111L*gtu31 + dJ112L*gtu32 + dJ113L*gtu33 + 2*J11L*Xtn3) + PDstandardNth1beta2*(dJ112L*gtu31 + dJ122L*gtu32 + dJ123L*gtu33 + 2*J12L*Xtn3) + PDstandardNth1beta3*(6*dJ112L*gtu21 + 3*dJ122L*gtu22 + 7*(dJ113L*gtu31 + dJ123L*gtu32) + 4*dJ133L*gtu33 - - 3*J11L*Xtn1 - J13L*Xtn3) + PDstandardNth2beta1*(dJ212L*gtu32 + dJ213L*gtu33 + 2*J21L*Xtn3) + + 3*J12L*Xtn2 - J13L*Xtn3) + PDstandardNth2beta1*(dJ212L*gtu32 + dJ213L*gtu33 + 2*J21L*Xtn3) + PDstandardNth2beta2*(dJ222L*gtu32 + dJ223L*gtu33 + 2*J22L*Xtn3) + PDstandardNth3beta1*(dJ312L*gtu32 + dJ313L*gtu33 + 2*J31L*Xtn3) + PDstandardNth3beta2*(dJ322L*gtu32 + dJ323L*gtu33 + 2*J32L*Xtn3) + J23L*((7*gtu32*J12L + 8*gtu33*J13L)*PDstandardNth12beta3 + - 7*(gtu31*J21L*PDstandardNth22beta3 + gtu32*J32L*PDstandardNth23beta3) + 36*alphaL*Atu33*PDstandardNth2phi + + 7*(gtu31*J21L*PDstandardNth22beta3 + gtu32*J32L*PDstandardNth23beta3) + gtu33*(J21L*PDstandardNth22beta1 + J22L*PDstandardNth22beta2 + J31L*PDstandardNth23beta1 + J32L*PDstandardNth23beta2 - 4*alphaL*PDstandardNth2trK) - PDstandardNth2beta3*Xtn3) + J33L*((7*gtu32*J12L + 8*gtu33*J13L)*PDstandardNth13beta3 + - 7*((gtu31*J21L + gtu32*J22L)*PDstandardNth23beta3 + gtu31*J31L*PDstandardNth33beta3) + - Atu33*(-6*PDstandardNth3alpha + 36*alphaL*PDstandardNth3phi) + - gtu33*(J21L*PDstandardNth23beta1 + J22L*PDstandardNth23beta2 + 8*J23L*PDstandardNth23beta3 + - J31L*PDstandardNth33beta1 - 4*alphaL*PDstandardNth3trK) - PDstandardNth3beta3*Xtn3) + - gtu31*(dJ211L*PDstandardNth2beta1 + dJ212L*PDstandardNth2beta2 + + 7*((gtu31*J21L + gtu32*J22L)*PDstandardNth23beta3 + gtu31*J31L*PDstandardNth33beta3) - + 6*Atu33*PDstandardNth3alpha + gtu33*(J21L*PDstandardNth23beta1 + J22L*PDstandardNth23beta2 + + 8*J23L*PDstandardNth23beta3 + J31L*PDstandardNth33beta1 - 4*alphaL*PDstandardNth3trK) - + PDstandardNth3beta3*Xtn3) + gtu31*(dJ211L*PDstandardNth2beta1 + dJ212L*PDstandardNth2beta2 + J31L*(2*J21L*PDstandardNth23beta1 + J22L*PDstandardNth23beta2 + 7*J23L*PDstandardNth23beta3 + J32L*PDstandardNth33beta2) + dJ311L*PDstandardNth3beta1 + dJ312L*PDstandardNth3beta2 + - 7*(dJ213L*PDstandardNth2beta3 + dJ313L*PDstandardNth3beta3) - - 4*alphaL*(J21L*PDstandardNth2trK + J31L*PDstandardNth3trK) + PDstandardNth11beta1*SQR(J11L) + + 7*(dJ213L*PDstandardNth2beta3 + dJ313L*PDstandardNth3beta3) + PDstandardNth11beta1*SQR(J11L) + PDstandardNth22beta1*SQR(J21L) + PDstandardNth33beta1*SQR(J31L)) + gtu32*(PDstandardNth11beta2*SQR(J12L) + PDstandardNth22beta2*SQR(J22L) + PDstandardNth33beta2*SQR(J32L)) + 3*(PDupwindNth1(Xt3, i, j, k)*(beta1L*J11L + beta2L*J12L + beta3L*J13L) + diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_RHSBoundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_RHSBoundary.c index ff72aa3..aa6d446 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_RHSBoundary.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_RHSBoundary.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -196,7 +199,7 @@ void ML_BSSN_MP_RHSBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, C gtu33 = INV(detgt)*(gt11L*gt22L - SQR(gt12L)); - em4phi = exp(-4*phiL); + em4phi = IfThen(conformalmethod,SQR(phiL),exp(-4*phiL)); gu11 = em4phi*gtu11; diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c index 0d51b7c..7789c94 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -127,7 +130,7 @@ void ML_BSSN_MP_boundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK /* Precompute derivatives (old style) */ /* Calculate temporaries and grid functions */ - phiL = 0; + phiL = IfThen(conformalmethod,1,0); gt11L = 1; diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_constraints.c b/ML_BSSN_MP/src/ML_BSSN_MP_constraints.c index 309aed2..69b697c 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_constraints.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_constraints.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -103,9 +106,12 @@ void ML_BSSN_MP_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, C /* Declare shorthands */ CCTK_REAL Atm11 = INITVALUE, Atm12 = INITVALUE, Atm13 = INITVALUE, Atm21 = INITVALUE, Atm22 = INITVALUE, Atm23 = INITVALUE; CCTK_REAL Atm31 = INITVALUE, Atm32 = INITVALUE, Atm33 = INITVALUE; + CCTK_REAL cdphi1 = INITVALUE, cdphi2 = INITVALUE, cdphi211 = INITVALUE, cdphi212 = INITVALUE, cdphi213 = INITVALUE, cdphi222 = INITVALUE; + CCTK_REAL cdphi223 = INITVALUE, cdphi233 = INITVALUE, cdphi3 = INITVALUE; CCTK_REAL detgt = INITVALUE; CCTK_REAL e4phi = INITVALUE; CCTK_REAL em4phi = INITVALUE; + CCTK_REAL fac1 = INITVALUE, fac2 = INITVALUE; CCTK_REAL Gt111 = INITVALUE, Gt112 = INITVALUE, Gt113 = INITVALUE, Gt122 = INITVALUE, Gt123 = INITVALUE, Gt133 = INITVALUE; CCTK_REAL Gt211 = INITVALUE, Gt212 = INITVALUE, Gt213 = INITVALUE, Gt222 = INITVALUE, Gt223 = INITVALUE, Gt233 = INITVALUE; CCTK_REAL Gt311 = INITVALUE, Gt312 = INITVALUE, Gt313 = INITVALUE, Gt322 = INITVALUE, Gt323 = INITVALUE, Gt333 = INITVALUE; @@ -869,316 +875,94 @@ void ML_BSSN_MP_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, C 2*J23L*J33L*PDstandardNth23gt33 + dJ233L*PDstandardNth2gt33 + dJ333L*PDstandardNth3gt33 + PDstandardNth11gt33*SQR(J13L) + PDstandardNth22gt33*SQR(J23L) + PDstandardNth33gt33*SQR(J33L))); - Rphi11 = -2*((dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L)*PDstandardNth1phi + + fac1 = IfThen(conformalmethod,-(khalf*INV(phiL)),1); + + cdphi1 = fac1*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi); + + cdphi2 = fac1*(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi); + + cdphi3 = fac1*(J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi); + + fac2 = IfThen(conformalmethod,khalf*pow(phiL,-2),0); + + cdphi211 = fac1*((dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L)*PDstandardNth1phi + 2*(J11L*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) + J21L*J31L*PDstandardNth23phi) + (dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L)*PDstandardNth2phi + (dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L)*PDstandardNth3phi + PDstandardNth11phi*SQR(J11L) + - PDstandardNth22phi*SQR(J21L) + PDstandardNth33phi*SQR(J31L) + - gt11L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) + - gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) + - gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi + - (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) + - gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) + - gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi + - (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L + - (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L + - gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) + - gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) - - 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L)) - *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi + - (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi + - J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi + - gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi + - J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi + - gtu21*J31L*PDstandardNth23phi) + - J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi + - gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) + - J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi + - gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + - J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi + - gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) + - PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) + - PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) + - PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) - - 4*gt11L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L + - (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi + - PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)* - PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)* - PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) + - gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) + - (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))* - SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) + - gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi)) + - 4*SQR(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi); - - Rphi12 = 4*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi)* - (J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi) - - 2*(J12L*(J11L*PDstandardNth11phi + J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) + + PDstandardNth22phi*SQR(J21L) + PDstandardNth33phi*SQR(J31L)) + + fac2*SQR(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi); + + cdphi212 = fac2*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi)* + (J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi) + + fac1*(J12L*(J11L*PDstandardNth11phi + J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) + J11L*(J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) + (dJ112L - Gt112*J11L - Gt212*J12L - Gt312*J13L)*PDstandardNth1phi + J22L*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi) + (dJ212L - Gt112*J21L - Gt212*J22L - Gt312*J23L)*PDstandardNth2phi + J32L*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi) + - (dJ312L - Gt112*J31L - Gt212*J32L - Gt312*J33L)*PDstandardNth3phi + - gt12L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) + - gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) + - gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi + - (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) + - gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) + - gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi + - (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L + - (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L + - gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) + - gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) - - 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L)) - *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi + - (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi + - J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi + - gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi + - J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi + - gtu21*J31L*PDstandardNth23phi) + - J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi + - gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) + - J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi + - gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + - J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi + - gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) + - PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) + - PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) + - PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) - - 4*gt12L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L + - (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi + - PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)* - PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)* - PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) + - gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) + - (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))* - SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) + - gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi)); - - Rphi13 = 4*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi)* - (J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi) - - 2*(J13L*(J11L*PDstandardNth11phi + J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) + + (dJ312L - Gt112*J31L - Gt212*J32L - Gt312*J33L)*PDstandardNth3phi); + + cdphi213 = fac2*(J11L*PDstandardNth1phi + J21L*PDstandardNth2phi + J31L*PDstandardNth3phi)* + (J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi) + + fac1*(J13L*(J11L*PDstandardNth11phi + J21L*PDstandardNth12phi + J31L*PDstandardNth13phi) + J11L*(J23L*PDstandardNth12phi + J33L*PDstandardNth13phi) + (dJ113L - Gt113*J11L - Gt213*J12L - Gt313*J13L)*PDstandardNth1phi + J23L*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi) + (dJ213L - Gt113*J21L - Gt213*J22L - Gt313*J23L)*PDstandardNth2phi + J33L*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi) + - (dJ313L - Gt113*J31L - Gt213*J32L - Gt313*J33L)*PDstandardNth3phi + - gt13L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) + - gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) + - gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi + - (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) + - gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) + - gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi + - (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L + - (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L + - gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) + - gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) - - 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L)) - *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi + - (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi + - J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi + - gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi + - J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi + - gtu21*J31L*PDstandardNth23phi) + - J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi + - gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) + - J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi + - gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + - J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi + - gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) + - PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) + - PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) + - PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) - - 4*gt13L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L + - (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi + - PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)* - PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)* - PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) + - gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) + - (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))* - SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) + - gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi)); - - Rphi22 = -2*((dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L)*PDstandardNth1phi + + (dJ313L - Gt113*J31L - Gt213*J32L - Gt313*J33L)*PDstandardNth3phi); + + cdphi222 = fac1*((dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L)*PDstandardNth1phi + 2*(J12L*(J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) + J22L*J32L*PDstandardNth23phi) + (dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L)*PDstandardNth2phi + (dJ322L - Gt122*J31L - Gt222*J32L - Gt322*J33L)*PDstandardNth3phi + PDstandardNth11phi*SQR(J12L) + - PDstandardNth22phi*SQR(J22L) + PDstandardNth33phi*SQR(J32L) + - gt22L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) + - gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) + - gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi + - (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) + - gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) + - gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi + - (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L + - (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L + - gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) + - gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) - - 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L)) - *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi + - (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi + - J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi + - gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi + - J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi + - gtu21*J31L*PDstandardNth23phi) + - J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi + - gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) + - J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi + - gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + - J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi + - gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) + - PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) + - PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) + - PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) - - 4*gt22L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L + - (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi + - PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)* - PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)* - PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) + - gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) + - (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))* - SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) + - gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi)) + - 4*SQR(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi); - - Rphi23 = 4*(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi)* - (J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi) - - 2*(J13L*(J12L*PDstandardNth11phi + J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) + + PDstandardNth22phi*SQR(J22L) + PDstandardNth33phi*SQR(J32L)) + + fac2*SQR(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi); + + cdphi223 = fac2*(J12L*PDstandardNth1phi + J22L*PDstandardNth2phi + J32L*PDstandardNth3phi)* + (J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi) + + fac1*(J13L*(J12L*PDstandardNth11phi + J22L*PDstandardNth12phi + J32L*PDstandardNth13phi) + J12L*(J23L*PDstandardNth12phi + J33L*PDstandardNth13phi) + (dJ123L - Gt123*J11L - Gt223*J12L - Gt323*J13L)*PDstandardNth1phi + J23L*(J22L*PDstandardNth22phi + J32L*PDstandardNth23phi) + (dJ223L - Gt123*J21L - Gt223*J22L - Gt323*J23L)*PDstandardNth2phi + J33L*(J22L*PDstandardNth23phi + J32L*PDstandardNth33phi) + - (dJ323L - Gt123*J31L - Gt223*J32L - Gt323*J33L)*PDstandardNth3phi + - gt23L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) + - gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) + - gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi + - (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) + - gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) + - gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi + - (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L + - (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L + - gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) + - gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) - - 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L)) - *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi + - (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi + - J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi + - gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi + - J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi + - gtu21*J31L*PDstandardNth23phi) + - J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi + - gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) + - J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi + - gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + - J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi + - gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) + - PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) + - PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) + - PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) - - 4*gt23L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L + - (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi + - PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)* - PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)* - PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) + - gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) + - (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))* - SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) + - gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi)); - - Rphi33 = -2*((dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L)*PDstandardNth1phi + + (dJ323L - Gt123*J31L - Gt223*J32L - Gt323*J33L)*PDstandardNth3phi); + + cdphi233 = fac1*((dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L)*PDstandardNth1phi + 2*(J13L*(J23L*PDstandardNth12phi + J33L*PDstandardNth13phi) + J23L*J33L*PDstandardNth23phi) + (dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L)*PDstandardNth2phi + (dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L)*PDstandardNth3phi + PDstandardNth11phi*SQR(J13L) + - PDstandardNth22phi*SQR(J23L) + PDstandardNth33phi*SQR(J33L) + - gt33L*((2*(dJ112L*gtu21 + dJ113L*gtu31 + dJ123L*gtu32) + gtu11*(dJ111L - Gt111*J11L - Gt211*J12L - Gt311*J13L) + - gtu22*(dJ122L - Gt122*J11L - Gt222*J12L - Gt322*J13L) + - gtu33*(dJ133L - Gt133*J11L - Gt233*J12L - Gt333*J13L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J11L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J12L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J13L))*PDstandardNth1phi + - (2*(dJ212L*gtu21 + dJ213L*gtu31 + dJ223L*gtu32) + gtu11*(dJ211L - Gt111*J21L - Gt211*J22L - Gt311*J23L) + - gtu22*(dJ222L - Gt122*J21L - Gt222*J22L - Gt322*J23L) + - gtu33*(dJ233L - Gt133*J21L - Gt233*J22L - Gt333*J23L) - - 2*((Gt112*gtu21 + Gt113*gtu31 + Gt123*gtu32)*J21L + (Gt212*gtu21 + Gt213*gtu31 + Gt223*gtu32)*J22L + - (Gt312*gtu21 + Gt313*gtu31 + Gt323*gtu32)*J23L))*PDstandardNth2phi + - (dJ322L*gtu22 + 2*(dJ313L*gtu31 + dJ323L*gtu32) + (-2*Gt112*gtu21 - Gt122*gtu22)*J31L + - (-2*Gt212*gtu21 - Gt222*gtu22)*J32L + (-2*Gt312*gtu21 - Gt322*gtu22)*J33L + - gtu11*(dJ311L - Gt111*J31L - Gt211*J32L - Gt311*J33L) + - gtu33*(dJ333L - Gt133*J31L - Gt233*J32L - Gt333*J33L) - - 2*((Gt113*gtu31 + Gt123*gtu32)*J31L + (Gt213*gtu31 + Gt223*gtu32)*J32L + (Gt313*gtu31 + Gt323*gtu32)*J33L)) - *PDstandardNth3phi + 2*((gtu21*J11L*J22L + gtu31*(J13L*J21L + J11L*J23L))*PDstandardNth12phi + - (gtu21*J11L*J32L + gtu31*(J13L*J31L + J11L*J33L))*PDstandardNth13phi + - J11L*((gtu21*J12L + gtu31*J13L)*PDstandardNth11phi + - gtu11*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - J12L*(gtu32*J13L*PDstandardNth11phi + gtu21*(J21L*PDstandardNth12phi + J31L*PDstandardNth13phi)) + - (gtu11*J21L*J31L + (gtu22*J22L + gtu32*J23L)*J32L + (gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth23phi + - J22L*((gtu22*J12L + gtu32*J13L)*PDstandardNth12phi + (gtu21*J21L + gtu32*J23L)*PDstandardNth22phi + - gtu21*J31L*PDstandardNth23phi) + - J23L*((gtu32*J12L + gtu33*J13L)*PDstandardNth12phi + - gtu31*(J21L*PDstandardNth22phi + J31L*PDstandardNth23phi)) + - J32L*((gtu22*J12L + gtu32*J13L)*PDstandardNth13phi + gtu32*J33L*PDstandardNth33phi + - gtu21*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + - J33L*((gtu32*J12L + gtu33*J13L)*PDstandardNth13phi + - gtu31*(J21L*PDstandardNth23phi + J31L*PDstandardNth33phi)) + dJ312L*gtu21*PDstandardNth3phi) + - PDstandardNth11phi*(gtu11*SQR(J11L) + gtu22*SQR(J12L) + gtu33*SQR(J13L)) + - PDstandardNth22phi*(gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L)) + - PDstandardNth33phi*(gtu11*SQR(J31L) + gtu22*SQR(J32L) + gtu33*SQR(J33L)))) - - 4*gt33L*(2*(((gtu11*J21L + gtu21*J22L + gtu31*J23L)*J31L + (gtu21*J21L + gtu22*J22L + gtu32*J23L)*J32L + - (gtu31*J21L + gtu32*J22L + gtu33*J23L)*J33L)*PDstandardNth2phi*PDstandardNth3phi + - PDstandardNth1phi*(((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J21L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J22L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J23L)* - PDstandardNth2phi + ((gtu11*J11L + gtu21*J12L + gtu31*J13L)*J31L + - (gtu21*J11L + gtu22*J12L + gtu32*J13L)*J32L + (gtu31*J11L + gtu32*J12L + gtu33*J13L)*J33L)* - PDstandardNth3phi)) + (2*(gtu32*J12L*J13L + J11L*(gtu21*J12L + gtu31*J13L)) + gtu11*SQR(J11L) + - gtu22*SQR(J12L) + gtu33*SQR(J13L))*SQR(PDstandardNth1phi) + - (2*(gtu32*J22L*J23L + J21L*(gtu21*J22L + gtu31*J23L)) + gtu11*SQR(J21L) + gtu22*SQR(J22L) + gtu33*SQR(J23L))* - SQR(PDstandardNth2phi) + (2*(gtu32*J32L*J33L + J31L*(gtu21*J32L + gtu31*J33L)) + gtu11*SQR(J31L) + - gtu22*SQR(J32L) + gtu33*SQR(J33L))*SQR(PDstandardNth3phi)) + - 4*SQR(J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi); - - e4phi = exp(4*phiL); + PDstandardNth22phi*SQR(J23L) + PDstandardNth33phi*SQR(J33L)) + + fac2*SQR(J13L*PDstandardNth1phi + J23L*PDstandardNth2phi + J33L*PDstandardNth3phi); + + 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 + gtu33*SQR(cdphi3)))); + + 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 + gtu11*SQR(cdphi1)) + gtu22*(cdphi222 + 2*SQR(cdphi2)) + + gtu33*(cdphi233 + 2*SQR(cdphi3)))); + + 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)) + + gtu33*(cdphi233 + 2*SQR(cdphi3)))); + + 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 + gtu33*SQR(cdphi3)))); + + 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)))); + + 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*SQR(cdphi1)) + + gtu22*(cdphi222 + 2*SQR(cdphi2))) + 2*(-1 + gt33L*gtu33)*SQR(cdphi3)); + + e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL)); em4phi = INV(e4phi); @@ -1228,85 +1012,65 @@ void ML_BSSN_MP_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, C HL = -2*(Atm12*Atm21 + Atm13*Atm31 + Atm23*Atm32) + trR - SQR(Atm11) - SQR(Atm22) - SQR(Atm33) + ktwothird*SQR(trKL); - M1L = gtu11*(-2*At11L*Gt111 - 2*At12L*Gt211 - 2*At13L*Gt311 + J11L*PDstandardNth1At11 + - 6*At11L*J11L*PDstandardNth1phi + J21L*PDstandardNth2At11 + 6*At11L*J21L*PDstandardNth2phi + - J31L*PDstandardNth3At11 + 6*At11L*J31L*PDstandardNth3phi) - - gtu21*(At12L*Gt111 + At11L*Gt112 + At22L*Gt211 + At12L*Gt212 + At23L*Gt311 + At13L*Gt312 - - J11L*PDstandardNth1At12 - 6*At12L*J11L*PDstandardNth1phi - J21L*PDstandardNth2At12 - - 6*At12L*J21L*PDstandardNth2phi - J31L*PDstandardNth3At12 - 6*At12L*J31L*PDstandardNth3phi) - - gtu31*(At13L*Gt111 + At11L*Gt113 + At23L*Gt211 + At12L*Gt213 + At33L*Gt311 + At13L*Gt313 - - J11L*PDstandardNth1At13 - 6*At13L*J11L*PDstandardNth1phi - J21L*PDstandardNth2At13 - - 6*At13L*J21L*PDstandardNth2phi - J31L*PDstandardNth3At13 - 6*At13L*J31L*PDstandardNth3phi) + - gtu21*(-2*At11L*Gt112 - 2*At12L*Gt212 - 2*At13L*Gt312 + J12L*PDstandardNth1At11 + 6*At11L*J12L*PDstandardNth1phi + - J22L*PDstandardNth2At11 + 6*At11L*J22L*PDstandardNth2phi + J32L*PDstandardNth3At11 + - 6*At11L*J32L*PDstandardNth3phi) - gtu22*(At12L*Gt112 + At11L*Gt122 + At22L*Gt212 + At12L*Gt222 + At23L*Gt312 + - At13L*Gt322 - J12L*PDstandardNth1At12 - 6*At12L*J12L*PDstandardNth1phi - J22L*PDstandardNth2At12 - - 6*At12L*J22L*PDstandardNth2phi - J32L*PDstandardNth3At12 - 6*At12L*J32L*PDstandardNth3phi) - - gtu32*(At13L*Gt112 + At11L*Gt123 + At23L*Gt212 + At12L*Gt223 + At33L*Gt312 + At13L*Gt323 - - J12L*PDstandardNth1At13 - 6*At13L*J12L*PDstandardNth1phi - J22L*PDstandardNth2At13 - - 6*At13L*J22L*PDstandardNth2phi - J32L*PDstandardNth3At13 - 6*At13L*J32L*PDstandardNth3phi) + - gtu31*(-2*At11L*Gt113 - 2*At12L*Gt213 - 2*At13L*Gt313 + J13L*PDstandardNth1At11 + 6*At11L*J13L*PDstandardNth1phi + - J23L*PDstandardNth2At11 + 6*At11L*J23L*PDstandardNth2phi + J33L*PDstandardNth3At11 + - 6*At11L*J33L*PDstandardNth3phi) - gtu32*(At12L*Gt113 + At11L*Gt123 + At22L*Gt213 + At12L*Gt223 + At23L*Gt313 + - At13L*Gt323 - J13L*PDstandardNth1At12 - 6*At12L*J13L*PDstandardNth1phi - J23L*PDstandardNth2At12 - - 6*At12L*J23L*PDstandardNth2phi - J33L*PDstandardNth3At12 - 6*At12L*J33L*PDstandardNth3phi) - - gtu33*(At13L*Gt113 + At11L*Gt133 + At23L*Gt213 + At12L*Gt233 + At33L*Gt313 + At13L*Gt333 - - J13L*PDstandardNth1At13 - 6*At13L*J13L*PDstandardNth1phi - J23L*PDstandardNth2At13 - - 6*At13L*J23L*PDstandardNth2phi - J33L*PDstandardNth3At13 - 6*At13L*J33L*PDstandardNth3phi) - - ktwothird*(J11L*PDstandardNth1trK + J21L*PDstandardNth2trK + J31L*PDstandardNth3trK); - - M2L = -(gtu11*(At12L*Gt111 + At11L*Gt112 + At22L*Gt211 + At12L*Gt212 + At23L*Gt311 + At13L*Gt312 - - J11L*PDstandardNth1At12 - 6*At12L*J11L*PDstandardNth1phi - J21L*PDstandardNth2At12 - - 6*At12L*J21L*PDstandardNth2phi - J31L*PDstandardNth3At12 - 6*At12L*J31L*PDstandardNth3phi)) + - gtu21*(-2*At12L*Gt112 - 2*At22L*Gt212 - 2*At23L*Gt312 + J11L*PDstandardNth1At22 + 6*At22L*J11L*PDstandardNth1phi + - J21L*PDstandardNth2At22 + 6*At22L*J21L*PDstandardNth2phi + J31L*PDstandardNth3At22 + - 6*At22L*J31L*PDstandardNth3phi) - gtu31*(At13L*Gt112 + At12L*Gt113 + At23L*Gt212 + At22L*Gt213 + At33L*Gt312 + - At23L*Gt313 - J11L*PDstandardNth1At23 - 6*At23L*J11L*PDstandardNth1phi - J21L*PDstandardNth2At23 - - 6*At23L*J21L*PDstandardNth2phi - J31L*PDstandardNth3At23 - 6*At23L*J31L*PDstandardNth3phi) - - gtu21*(At12L*Gt112 + At11L*Gt122 + At22L*Gt212 + At12L*Gt222 + At23L*Gt312 + At13L*Gt322 - - J12L*PDstandardNth1At12 - 6*At12L*J12L*PDstandardNth1phi - J22L*PDstandardNth2At12 - - 6*At12L*J22L*PDstandardNth2phi - J32L*PDstandardNth3At12 - 6*At12L*J32L*PDstandardNth3phi) + - gtu22*(-2*At12L*Gt122 - 2*At22L*Gt222 - 2*At23L*Gt322 + J12L*PDstandardNth1At22 + 6*At22L*J12L*PDstandardNth1phi + - J22L*PDstandardNth2At22 + 6*At22L*J22L*PDstandardNth2phi + J32L*PDstandardNth3At22 + - 6*At22L*J32L*PDstandardNth3phi) - gtu32*(At13L*Gt122 + At12L*Gt123 + At23L*Gt222 + At22L*Gt223 + At33L*Gt322 + - At23L*Gt323 - J12L*PDstandardNth1At23 - 6*At23L*J12L*PDstandardNth1phi - J22L*PDstandardNth2At23 - - 6*At23L*J22L*PDstandardNth2phi - J32L*PDstandardNth3At23 - 6*At23L*J32L*PDstandardNth3phi) - - gtu31*(At12L*Gt113 + At11L*Gt123 + At22L*Gt213 + At12L*Gt223 + At23L*Gt313 + At13L*Gt323 - - J13L*PDstandardNth1At12 - 6*At12L*J13L*PDstandardNth1phi - J23L*PDstandardNth2At12 - - 6*At12L*J23L*PDstandardNth2phi - J33L*PDstandardNth3At12 - 6*At12L*J33L*PDstandardNth3phi) + - gtu32*(-2*At12L*Gt123 - 2*At22L*Gt223 - 2*At23L*Gt323 + J13L*PDstandardNth1At22 + 6*At22L*J13L*PDstandardNth1phi + - J23L*PDstandardNth2At22 + 6*At22L*J23L*PDstandardNth2phi + J33L*PDstandardNth3At22 + - 6*At22L*J33L*PDstandardNth3phi) - gtu33*(At13L*Gt123 + At12L*Gt133 + At23L*Gt223 + At22L*Gt233 + At33L*Gt323 + - At23L*Gt333 - J13L*PDstandardNth1At23 - 6*At23L*J13L*PDstandardNth1phi - J23L*PDstandardNth2At23 - - 6*At23L*J23L*PDstandardNth2phi - J33L*PDstandardNth3At23 - 6*At23L*J33L*PDstandardNth3phi) - - ktwothird*(J12L*PDstandardNth1trK + J22L*PDstandardNth2trK + J32L*PDstandardNth3trK); - - M3L = -(gtu11*(At13L*Gt111 + At11L*Gt113 + At23L*Gt211 + At12L*Gt213 + At33L*Gt311 + At13L*Gt313 - - J11L*PDstandardNth1At13 - 6*At13L*J11L*PDstandardNth1phi - J21L*PDstandardNth2At13 - - 6*At13L*J21L*PDstandardNth2phi - J31L*PDstandardNth3At13 - 6*At13L*J31L*PDstandardNth3phi)) - - gtu21*(At13L*Gt112 + At12L*Gt113 + At23L*Gt212 + At22L*Gt213 + At33L*Gt312 + At23L*Gt313 - - J11L*PDstandardNth1At23 - 6*At23L*J11L*PDstandardNth1phi - J21L*PDstandardNth2At23 - - 6*At23L*J21L*PDstandardNth2phi - J31L*PDstandardNth3At23 - 6*At23L*J31L*PDstandardNth3phi) + - gtu31*(-2*At13L*Gt113 - 2*At23L*Gt213 - 2*At33L*Gt313 + J11L*PDstandardNth1At33 + 6*At33L*J11L*PDstandardNth1phi + - J21L*PDstandardNth2At33 + 6*At33L*J21L*PDstandardNth2phi + J31L*PDstandardNth3At33 + - 6*At33L*J31L*PDstandardNth3phi) - gtu21*(At13L*Gt112 + At11L*Gt123 + At23L*Gt212 + At12L*Gt223 + At33L*Gt312 + - At13L*Gt323 - J12L*PDstandardNth1At13 - 6*At13L*J12L*PDstandardNth1phi - J22L*PDstandardNth2At13 - - 6*At13L*J22L*PDstandardNth2phi - J32L*PDstandardNth3At13 - 6*At13L*J32L*PDstandardNth3phi) - - gtu22*(At13L*Gt122 + At12L*Gt123 + At23L*Gt222 + At22L*Gt223 + At33L*Gt322 + At23L*Gt323 - - J12L*PDstandardNth1At23 - 6*At23L*J12L*PDstandardNth1phi - J22L*PDstandardNth2At23 - - 6*At23L*J22L*PDstandardNth2phi - J32L*PDstandardNth3At23 - 6*At23L*J32L*PDstandardNth3phi) + - gtu32*(-2*At13L*Gt123 - 2*At23L*Gt223 - 2*At33L*Gt323 + J12L*PDstandardNth1At33 + 6*At33L*J12L*PDstandardNth1phi + - J22L*PDstandardNth2At33 + 6*At33L*J22L*PDstandardNth2phi + J32L*PDstandardNth3At33 + - 6*At33L*J32L*PDstandardNth3phi) - gtu31*(At13L*Gt113 + At11L*Gt133 + At23L*Gt213 + At12L*Gt233 + At33L*Gt313 + - At13L*Gt333 - J13L*PDstandardNth1At13 - 6*At13L*J13L*PDstandardNth1phi - J23L*PDstandardNth2At13 - - 6*At13L*J23L*PDstandardNth2phi - J33L*PDstandardNth3At13 - 6*At13L*J33L*PDstandardNth3phi) - - gtu32*(At13L*Gt123 + At12L*Gt133 + At23L*Gt223 + At22L*Gt233 + At33L*Gt323 + At23L*Gt333 - - J13L*PDstandardNth1At23 - 6*At23L*J13L*PDstandardNth1phi - J23L*PDstandardNth2At23 - - 6*At23L*J23L*PDstandardNth2phi - J33L*PDstandardNth3At23 - 6*At23L*J33L*PDstandardNth3phi) + - gtu33*(-2*At13L*Gt133 - 2*At23L*Gt233 - 2*At33L*Gt333 + J13L*PDstandardNth1At33 + 6*At33L*J13L*PDstandardNth1phi + - J23L*PDstandardNth2At33 + 6*At33L*J23L*PDstandardNth2phi + J33L*PDstandardNth3At33 + - 6*At33L*J33L*PDstandardNth3phi) - ktwothird* - (J13L*PDstandardNth1trK + J23L*PDstandardNth2trK + J33L*PDstandardNth3trK); + 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 - 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 - + 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 - J31L*ktwothird*PDstandardNth3trK; + + 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 + 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 + 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 - 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 - + J32L*ktwothird*PDstandardNth3trK; + + 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 + 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 + 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 - 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 - + J33L*ktwothird*PDstandardNth3trK; cSL = Log(detgt); 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 fe72526..6de3c8a 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c index 53b1366..185a465 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -189,9 +192,9 @@ void ML_BSSN_MP_convertFromADMBase_Body(cGH const * const cctkGH, CCTK_INT const gu33 = INV(detg)*(g11*g22 - SQR(g12)); - phiL = Log(detg)/12.; + phiL = IfThen(conformalmethod,pow(detg,-0.16666666666666666),Log(detg)/12.); - em4phi = exp(-4*phiL); + em4phi = IfThen(conformalmethod,SQR(phiL),exp(-4*phiL)); gt11L = em4phi*g11; diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c index e6c8836..5033669 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c index 3a549d8..dd263f7 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -189,7 +192,7 @@ void ML_BSSN_MP_convertToADMBase_Body(cGH const * const cctkGH, CCTK_INT const d dir3 = Sign(beta3L); - e4phi = exp(4*phiL); + e4phi = IfThen(conformalmethod,pow(phiL,-2),exp(4*phiL)); g11 = e4phi*gt11L; diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c b/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c index 3b8364e..b33a381 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c +++ b/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #define KRANC_C @@ -106,7 +109,6 @@ void ML_BSSN_MP_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_ CCTK_REAL trAt = INITVALUE; /* Declare local copies of grid functions */ - CCTK_REAL alphaL = INITVALUE; CCTK_REAL At11L = INITVALUE, At12L = INITVALUE, At13L = INITVALUE, At22L = INITVALUE, At23L = INITVALUE, At33L = INITVALUE; CCTK_REAL gt11L = INITVALUE, gt12L = INITVALUE, gt13L = INITVALUE, gt22L = INITVALUE, gt23L = INITVALUE, gt33L = INITVALUE; /* Declare precomputed derivatives*/ @@ -114,7 +116,6 @@ void ML_BSSN_MP_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_ /* Declare derivatives */ /* Assign local copies of grid functions */ - alphaL = alpha[index]; At11L = At11[index]; At12L = At12[index]; At13L = At13[index]; @@ -165,11 +166,8 @@ void ML_BSSN_MP_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_ At33L = At33L - gt33L*kthird*trAt; - alphaL = fmax(alphaL,MinimumLapse); - /* Copy local copies back to grid functions */ - alpha[index] = alphaL; At11[index] = At11L; At12[index] = At12L; At13[index] = At13L; diff --git a/ML_BSSN_MP/src/RegisterMoL.c b/ML_BSSN_MP/src/RegisterMoL.c index c92e848..38a9daa 100644 --- a/ML_BSSN_MP/src/RegisterMoL.c +++ b/ML_BSSN_MP/src/RegisterMoL.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #include "cctk.h" #include "cctk_Arguments.h" diff --git a/ML_BSSN_MP/src/RegisterSymmetries.c b/ML_BSSN_MP/src/RegisterSymmetries.c index e2081a6..9deac3b 100644 --- a/ML_BSSN_MP/src/RegisterSymmetries.c +++ b/ML_BSSN_MP/src/RegisterSymmetries.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #include "cctk.h" #include "cctk_Arguments.h" diff --git a/ML_BSSN_MP/src/Startup.c b/ML_BSSN_MP/src/Startup.c index 98a9498..ef671de 100644 --- a/ML_BSSN_MP/src/Startup.c +++ b/ML_BSSN_MP/src/Startup.c @@ -1,4 +1,7 @@ -/* File produced by Kranc */ +/* File produced by user diener */ +/* Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) */ + +/* Mathematica script written by Ian Hinder and Sascha Husa */ #include "cctk.h" diff --git a/ML_BSSN_MP/src/make.code.defn b/ML_BSSN_MP/src/make.code.defn index 3af787e..5d7cbfc 100644 --- a/ML_BSSN_MP/src/make.code.defn +++ b/ML_BSSN_MP/src/make.code.defn @@ -1,3 +1,6 @@ -# File produced by Kranc +# File produced by user diener +# Produced with Mathematica Version 7.0 for Linux x86 (64-bit) (February 18, 2009) + +# Mathematica script written by Ian Hinder and Sascha Husa SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_BSSN_MP_Minkowski.c ML_BSSN_MP_convertFromADMBase.c ML_BSSN_MP_convertFromADMBaseGamma.c ML_BSSN_MP_RHS.c ML_BSSN_MP_RHSBoundary.c ML_BSSN_MP_enforce.c ML_BSSN_MP_boundary.c ML_BSSN_MP_convertToADMBase.c ML_BSSN_MP_ADMBaseBoundary.c ML_BSSN_MP_constraints.c ML_BSSN_MP_constraints_boundary.c Boundaries.c diff --git a/m/McLachlan_BSSN.m b/m/McLachlan_BSSN.m index 03ab5c7..6e19a2e 100644 --- a/m/McLachlan_BSSN.m +++ b/m/McLachlan_BSSN.m @@ -17,7 +17,7 @@ prefix = "ML_"; suffix = If [useGlobalDerivs, "_MP", ""] <> If [derivOrder!=4, "_O" <> ToString[derivOrder], ""] <> - (* If [evolutionTimelevels!=3, "_TL" <> ToString[evolutionTimelevels], ""] <> *) + If [evolutionTimelevels!=3, "_TL" <> ToString[evolutionTimelevels], ""] <> If [addMatter==1, "_M", ""]; BSSN = prefix <> "BSSN" <> suffix; @@ -128,7 +128,7 @@ Map [DefineTensor, nn, nu, nlen, nlen2, su, vg, xx, rr, th, ph, J, dJ, - g, K, alpha, beta, H, M, detg, gu, G, R, trR, Km, trK, + g, K, alpha, beta, H, M, detg, gu, G, R, trR, Km, trK, cdphi, cdphi2, phi, gt, At, Xt, Xtn, A, B, Atm, Atu, trA, Ats, trAts, cXt, cS, cA, e4phi, em4phi, ddetg, detgt, gtu, ddetgt, dgtu, ddgtu, Gt, Rt, Rphi, gK, T00, T0, T, rho, S, @@ -148,7 +148,7 @@ SetTensorAttribute[cXt, TensorWeight, +2/3]; SetTensorAttribute[cS, TensorWeight, +2 ]; Map [AssertSymmetricIncreasing, - {g[la,lb], K[la,lb], R[la,lb], + {g[la,lb], K[la,lb], R[la,lb], cdphi2[la,lb], gt[la,lb], At[la,lb], Ats[la,lb], Rt[la,lb], Rphi[la,lb], T[la,lb]}]; AssertSymmetricIncreasing [dJ[ua,lb,lc], lb, lc]; AssertSymmetricIncreasing [G[ua,lb,lc], lb, lc]; @@ -248,7 +248,7 @@ initialCalc = ConditionalOnKeyword -> {"my_initial_data", "Minkowski"}, Equations -> { - phi -> 0, + phi -> IfThen[conformalmethod,1,0], gt[la,lb] -> KD[la,lb], trK -> 0, At[la,lb] -> 0, @@ -296,8 +296,8 @@ convertFromADMBaseCalc = detg -> detgExpr, gu[ua,ub] -> 1/detg detgExpr MatrixInverse [g[ua,ub]], - phi -> Log[detg] / 12, - em4phi -> Exp[-4 phi], + phi -> IfThen[conformalmethod,detg^(-1/6),Log[detg]/12], + em4phi -> IfThen[conformalmethod,phi^2,Exp[-4 phi]], gt[la,lb] -> em4phi g[la,lb], K11 -> kxx, @@ -364,7 +364,7 @@ convertToADMBaseCalc = { dir[ua] -> Sign[beta[ua]], - e4phi -> Exp[4 phi], + e4phi -> IfThen[conformalmethod,1/phi^2,Exp[4 phi]], g[la,lb] -> e4phi gt[la,lb], gxx -> g11, gxy -> g12, @@ -440,7 +440,7 @@ boundaryCalcADMBase = Shorthands -> {e4phi, g[la,lb], K[la,lb]}, Equations -> { - e4phi -> Exp[4 phi], + e4phi -> IfThen[conformalmethod,1/phi^2,Exp[4 phi]], g[la,lb] -> e4phi gt[la,lb], gxx -> g11, gxy -> g12, @@ -482,9 +482,9 @@ evolCalc = dgtu[ua,ub,lc], ddgtu[ua,ub,lc,ld], Gt[ua,lb,lc], Xtn[ua], Rt[la,lb], Rphi[la,lb], R[la,lb], Atm[ua,lb], Atu[ua,ub], - e4phi, em4phi, g[la,lb], detg, + e4phi, em4phi, cdphi[la], cdphi2[la,lb], g[la,lb], detg, ddetg[la], gu[ua,ub], G[ua,lb,lc], Ats[la,lb], trAts, - T00, T0[la], T[la,lb], rho, S[la], trS}, + T00, T0[la], T[la,lb], rho, S[la], trS, fac1, fac2 }, Equations -> { dir[ua] -> Sign[beta[ua]], @@ -514,24 +514,30 @@ evolCalc = + gtu[ul,um] (+ Gt[uk,ll,li] gt[lj,ln] Gt[un,lk,lm] + Gt[uk,ll,lj] gt[li,ln] Gt[un,lk,lm] + Gt[uk,li,lm] gt[lk,ln] Gt[un,ll,lj]), + + fac1 -> IfThen[conformalmethod,-1/(2 phi),1], + cdphi[la] -> fac1 CDt[phi,la], + fac2 -> IfThen[conformalmethod,1/(2 phi^2),0], + cdphi2[la,lb] -> fac1 CDt[phi,la,lb] + fac2 CDt[phi,la] CDt[phi,lb], + (* PRD 62, 044034 (2000), eqn. (15) *) - Rphi[li,lj] -> - 2 CDt[phi,lj,li] - - 2 gt[li,lj] gtu[ul,un] CDt[phi,ll,ln] - + 4 CDt[phi,li] CDt[phi,lj] - - 4 gt[li,lj] gtu[ul,un] CDt[phi,ln] CDt[phi,ll], + Rphi[li,lj] -> - 2 cdphi2[lj,li] + - 2 gt[li,lj] gtu[ul,un] cdphi2[ll,ln] + + 4 cdphi[li] cdphi[lj] + - 4 gt[li,lj] gtu[ul,un] cdphi[ln] cdphi[ll], Atm[ua,lb] -> gtu[ua,uc] At[lc,lb], Atu[ua,ub] -> Atm[ua,lc] gtu[ub,uc], - e4phi -> Exp[4 phi], + e4phi -> IfThen[conformalmethod,1/phi^2,Exp[4 phi]], em4phi -> 1 / e4phi, g[la,lb] -> e4phi gt[la,lb], detg -> detgExpr, (* gu[ua,ub] -> 1/detg detgExpr MatrixInverse [g[ua,ub]], *) gu[ua,ub] -> em4phi gtu[ua,ub], G[ua,lb,lc] -> Gt[ua,lb,lc] - + 2 (KD[ua,lb] PD[phi,lc] + KD[ua,lc] PD[phi,lb] - - gtu[ua,ud] gt[lb,lc] PD[phi,ld]), + + 2 (KD[ua,lb] cdphi[lc] + KD[ua,lc] cdphi[lb] + - gtu[ua,ud] gt[lb,lc] cdphi[ld]), R[la,lb] -> Rt[la,lb] + Rphi[la,lb], @@ -562,9 +568,9 @@ evolCalc = (* PRD 62, 044034 (2000), eqn. (10) *) (* PRD 67 084023 (2003), eqn. (16) and (23) *) - dot[phi] -> - (1/6) alpha trK + dot[phi] -> IfThen[conformalmethod,(1/3) phi,-(1/6) ] alpha trK + beta[ua] PDu[phi,la] - + (1/6) PD[beta[ua],la], + + IfThen[conformalmethod,-(1/3) phi ,(1/6)] PD[beta[ua],la], (* PRD 62, 044034 (2000), eqn. (9) *) dot[gt[la,lb]] -> - 2 alpha At[la,lb] @@ -576,7 +582,7 @@ evolCalc = dot[Xt[ui]] -> - 2 Atu[ui,uj] PD[alpha,lj] + 2 alpha (+ Gt[ui,lj,lk] Atu[uk,uj] - (2/3) gtu[ui,uj] PD[trK,lj] - + 6 Atu[ui,uj] PD[phi,lj]) + + 6 Atu[ui,uj] cdphi[lj]) + gtu[uj,ul] PD[beta[ui],lj,ll] + (1/3) gtu[ui,uj] PD[beta[ul],lj,ll] + beta[uj] PDu[Xt[ui],lj] @@ -640,7 +646,7 @@ RHSBoundaryCalc = detgt -> 1 (* detgtExpr *), gtu[ua,ub] -> 1/detgt detgtExpr MatrixInverse [gt[ua,ub]], - em4phi -> Exp[-4 phi], + em4phi -> IfThen[conformalmethod,phi^2,Exp[-4 phi]], gu[ua,ub] -> em4phi gtu[ua,ub], nn[la] -> normal[la], @@ -675,9 +681,9 @@ enforceCalc = trAt -> gtu[ua,ub] At[la,lb], - At[la,lb] -> At[la,lb] - (1/3) gt[la,lb] trAt, + At[la,lb] -> At[la,lb] - (1/3) gt[la,lb] trAt - alpha -> Max[alpha, MinimumLapse] + (* alpha -> Max[alpha, 10^(-10)] *) } }; @@ -693,7 +699,7 @@ boundaryCalc = Where -> BoundaryWithGhosts, Equations -> { - phi -> 0, + phi -> IfThen[conformalmethod,1,0], gt[la,lb] -> KD[la,lb], trK -> 0, At[la,lb] -> 0, @@ -717,8 +723,8 @@ constraintsCalc = Shorthands -> {detgt, ddetgt[la], gtu[ua,ub], Gt[ua,lb,lc], e4phi, em4phi, g[la,lb], detg, gu[ua,ub], ddetg[la], G[ua,lb,lc], Rt[la,lb], Rphi[la,lb], R[la,lb], trR, Atm[la,lb], - gK[la,lb,lc], - T00, T0[la], T[la,lb], rho, S[la]}, + gK[la,lb,lc], cdphi[la], cdphi2[la,lb], + T00, T0[la], T[la,lb], rho, S[la], fac1, fac2}, Equations -> { detgt -> 1 (* detgtExpr *), @@ -762,13 +768,19 @@ constraintsCalc = + 1/2 gtu[u1,u2] (- PD[gt[l1,l2],la,lb] + PD[gt[l1,la],l2,lb] - PD[gt[la,lb],l1,l2] + PD[gt[l2,lb],l1,la]), *) + + fac1 -> IfThen[conformalmethod,-1/(2 phi),1], + cdphi[la] -> fac1 CDt[phi,la], + fac2 -> IfThen[conformalmethod,1/(2 phi^2),0], + cdphi2[la,lb] -> fac1 CDt[phi,la,lb] + fac2 CDt[phi,la] CDt[phi,lb], + (* PRD 62, 044034 (2000), eqn. (15) *) - Rphi[li,lj] -> - 2 CDt[phi,lj,li] - - 2 gt[li,lj] gtu[ul,un] CDt[phi,ll,ln] - + 4 CDt[phi,li] CDt[phi,lj] - - 4 gt[li,lj] gtu[ul,un] CDt[phi,ln] CDt[phi,ll], + Rphi[li,lj] -> - 2 cdphi2[lj,li] + - 2 gt[li,lj] gtu[ul,un] cdphi2[ll,ln] + + 4 cdphi[li] cdphi[lj] + - 4 gt[li,lj] gtu[ul,un] cdphi[ln] cdphi[ll], - e4phi -> Exp[4 phi], + e4phi -> IfThen[conformalmethod,1/phi^2,Exp[4 phi]], em4phi -> 1 / e4phi, g[la,lb] -> e4phi gt[la,lb], (* detg -> detgExpr, *) @@ -820,7 +832,7 @@ constraintsCalc = M[la] -> gu[ub,uc] (gK[lc,la,lb] - gK[lc,lb,la]), *) - M[li] -> + gtu[uj,uk] (CDt[At[li,lj],lk] + 6 At[li,lj] PD[phi,lk]) + M[li] -> + gtu[uj,uk] (CDt[At[li,lj],lk] + 6 At[li,lj] cdphi[lk]) - (2/3) PD[trK,li] - addMatter 8 pi S[li], (* TODO: use PRD 67, 084023 (2003), eqn. (20) *) @@ -876,6 +888,10 @@ extendedKeywordParameters = { Name -> "ADMBase::shift_evolution_method", AllowedValues -> {BSSN} + }, + { + Name -> "ADMBase::dtshift_evolution_method", + AllowedValues -> {BSSN} } }; @@ -921,6 +937,12 @@ intParameters = { Name -> ShiftAlphaPower, Default -> 0 + }, + { + Name -> conformalmethod, + Description -> "0 for phi method, 1 for W method", + AllowedValues -> {{Value -> "0:1", Description -> "0 or 1"}}, + Default -> 0 } }; @@ -952,11 +974,6 @@ realParameters = Name -> ShiftAdvectionCoeff, Description -> "Factor in front of the shift advection terms in gamma driver", Default -> 1 - }, - { - Name -> MinimumLapse, - Description -> "Minimum value of the lapse function", - Default -> -1 } }; @@ -1008,6 +1025,6 @@ CreateKrancThornTT [groups, ".", BSSN, (* matter: 0 or 1 (matter seems cheap; it should be always enabled) *) -createCode[4, False, 4, 0]; -createCode[4, False, 4, 1]; -createCode[4, True, 4, 0]; +createCode[4, False, 3, 0]; +createCode[4, False, 3, 1]; +createCode[4, True, 3, 0]; |