diff options
author | Peter Diener <diener@linux-hn3d.site> | 2009-11-12 18:15:08 -0600 |
---|---|---|
committer | Peter Diener <diener@linux-hn3d.site> | 2009-11-12 18:15:08 -0600 |
commit | 946a27631f65631e0472ae95a1fe57dc4695e4dc (patch) | |
tree | 47c53575bb8bd4554208bb27515322d5e51f3a4f /ML_BSSN | |
parent | a52abf35db4c68c5e28e8ce9b00b394c4ea382ee (diff) |
Add support for the W-method.
Choose between phi and W-methods by setting the integer parameter
conformalmethod to either 0 or 1.
Signed-off-by: Peter Diener <diener@linux-hn3d.site>
Diffstat (limited to 'ML_BSSN')
-rw-r--r-- | ML_BSSN/configuration.ccl | 5 | ||||
-rw-r--r-- | ML_BSSN/interface.ccl | 163 | ||||
-rw-r--r-- | ML_BSSN/param.ccl | 33 | ||||
-rw-r--r-- | ML_BSSN/schedule.ccl | 212 | ||||
-rw-r--r-- | ML_BSSN/src/Boundaries.c | 5 | ||||
-rw-r--r-- | ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c | 7 | ||||
-rw-r--r-- | ML_BSSN/src/ML_BSSN_Minkowski.c | 7 | ||||
-rw-r--r-- | ML_BSSN/src/ML_BSSN_RHS.c | 197 | ||||
-rw-r--r-- | ML_BSSN/src/ML_BSSN_RHSBoundary.c | 7 | ||||
-rw-r--r-- | ML_BSSN/src/ML_BSSN_boundary.c | 7 | ||||
-rw-r--r-- | ML_BSSN/src/ML_BSSN_constraints.c | 220 | ||||
-rw-r--r-- | ML_BSSN/src/ML_BSSN_constraints_boundary.c | 5 | ||||
-rw-r--r-- | ML_BSSN/src/ML_BSSN_convertFromADMBase.c | 9 | ||||
-rw-r--r-- | ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c | 5 | ||||
-rw-r--r-- | ML_BSSN/src/ML_BSSN_convertToADMBase.c | 7 | ||||
-rw-r--r-- | ML_BSSN/src/ML_BSSN_enforce.c | 10 | ||||
-rw-r--r-- | ML_BSSN/src/RegisterMoL.c | 5 | ||||
-rw-r--r-- | ML_BSSN/src/RegisterSymmetries.c | 5 | ||||
-rw-r--r-- | ML_BSSN/src/Startup.c | 5 | ||||
-rw-r--r-- | ML_BSSN/src/make.code.defn | 5 |
20 files changed, 379 insertions, 540 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 |