diff options
author | Ian Hinder <ian.hinder@aei.mpg.de> | 2011-06-11 04:20:17 +0200 |
---|---|---|
committer | Ian Hinder <ian.hinder@aei.mpg.de> | 2011-06-11 04:34:23 +0200 |
commit | d82d7bb08024c35518368dbba7d70a35b2ac5648 (patch) | |
tree | 3da7e097dc946402553a07224ebcbb352c61c575 | |
parent | f1bd0bd8c76cbaeab3ba911e428a00db9f352c70 (diff) |
Regenerate code after tensor index fix to Kranc
This only affects simulations if the initial time derivative of the lapse or shift is nonzero, and Gamma-driver shift is being used.
BH test passes (initial dt(gauge) is zero), all the others fail. RHS test shows that only the initial gauge variables are different, as expected.
Kranc commit d5a8f8cbd8ad0c5653b8dec56a9943363ebbf640
6 files changed, 231 insertions, 153 deletions
diff --git a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc index b412962..917a7e9 100644 --- a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc +++ b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc @@ -283,35 +283,48 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * restrict const cctk Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33; CCTK_REAL AL = IfThen(LapseACoeff != - 0,-3*INV(ToReal(harmonicF))*pow(alphaL,-ToReal(harmonicN))*(9*dtalpL - + 0,-(INV(ToReal(harmonicF))*pow(alphaL,-ToReal(harmonicN))*(dtalpL - (beta1L*PDupwindNthAnti1alpha + beta2L*PDupwindNthAnti2alpha + beta3L*PDupwindNthAnti3alpha + PDupwindNthSymm1alpha*Abs(beta1L) + PDupwindNthSymm2alpha*Abs(beta2L) + - PDupwindNthSymm3alpha*Abs(beta3L))*ToReal(LapseAdvectionCoeff)),0); + PDupwindNthSymm3alpha*Abs(beta3L))*ToReal(LapseAdvectionCoeff))),0); CCTK_REAL theta = fmin(1,exp(1 - rL*INV(ToReal(SpatialShiftGammaCoeffRadius)))); - CCTK_REAL B1L = IfThen(ShiftBCoeff*ShiftGammaCoeff != - 0,INV(theta)*INV(ToReal(ShiftGammaCoeff))*(27*dtbetaxL - - 3*(beta1L*PDupwindNthAnti1beta1 + beta2L*PDupwindNthAnti2beta1 + - beta3L*PDupwindNthAnti3beta1 + PDupwindNthSymm1beta1*Abs(beta1L) + - PDupwindNthSymm2beta1*Abs(beta2L) + - PDupwindNthSymm3beta1*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)),0); - - CCTK_REAL B2L = IfThen(ShiftBCoeff*ShiftGammaCoeff != - 0,INV(theta)*INV(ToReal(ShiftGammaCoeff))*(27*dtbetayL - - 3*(beta1L*PDupwindNthAnti1beta2 + beta2L*PDupwindNthAnti2beta2 + - beta3L*PDupwindNthAnti3beta2 + PDupwindNthSymm1beta2*Abs(beta1L) + - PDupwindNthSymm2beta2*Abs(beta2L) + - PDupwindNthSymm3beta2*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)),0); - - CCTK_REAL B3L = IfThen(ShiftBCoeff*ShiftGammaCoeff != - 0,INV(theta)*INV(ToReal(ShiftGammaCoeff))*(27*dtbetazL - - 3*(beta1L*PDupwindNthAnti1beta3 + beta2L*PDupwindNthAnti2beta3 + - beta3L*PDupwindNthAnti3beta3 + PDupwindNthSymm1beta3*Abs(beta1L) + - PDupwindNthSymm2beta3*Abs(beta2L) + - PDupwindNthSymm3beta3*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)),0); + CCTK_REAL B1L; + CCTK_REAL B2L; + CCTK_REAL B3L; + + if (ShiftBCoeff*ShiftGammaCoeff != 0) + { + B1L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetaxL - + (beta1L*PDupwindNthAnti1beta1 + beta2L*PDupwindNthAnti2beta1 + + beta3L*PDupwindNthAnti3beta1 + PDupwindNthSymm1beta1*Abs(beta1L) + + PDupwindNthSymm2beta1*Abs(beta2L) + + PDupwindNthSymm3beta1*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)); + + B2L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetayL - + (beta1L*PDupwindNthAnti1beta2 + beta2L*PDupwindNthAnti2beta2 + + beta3L*PDupwindNthAnti3beta2 + PDupwindNthSymm1beta2*Abs(beta1L) + + PDupwindNthSymm2beta2*Abs(beta2L) + + PDupwindNthSymm3beta2*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)); + + B3L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetazL - + (beta1L*PDupwindNthAnti1beta3 + beta2L*PDupwindNthAnti2beta3 + + beta3L*PDupwindNthAnti3beta3 + PDupwindNthSymm1beta3*Abs(beta1L) + + PDupwindNthSymm2beta3*Abs(beta2L) + + PDupwindNthSymm3beta3*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)); + } + else + { + B1L = 0; + + B2L = 0; + + B3L = 0; + } + /* Copy local copies back to grid functions */ A[index] = AL; diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.cc b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.cc index 5862ff9..dd89408 100644 --- a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.cc +++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.cc @@ -379,7 +379,7 @@ static void ML_BSSN_MP_convertFromADMBaseGamma_Body(cGH const * restrict const c Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33; CCTK_REAL AL = IfThen(LapseACoeff != - 0,3*INV(ToReal(harmonicF))*pow(alphaL,-ToReal(harmonicN))*(-9*dtalpL + + 0,-(INV(ToReal(harmonicF))*pow(alphaL,-ToReal(harmonicN))*(dtalpL - ((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1alpha + (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2alpha + (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3alpha + @@ -387,43 +387,56 @@ static void ML_BSSN_MP_convertFromADMBaseGamma_Body(cGH const * restrict const c J31L*PDupwindNthSymm3alpha)*Abs(beta1L) + (J12L*PDupwindNthSymm1alpha + J22L*PDupwindNthSymm2alpha + J32L*PDupwindNthSymm3alpha)*Abs(beta2L) + (J13L*PDupwindNthSymm1alpha + J23L*PDupwindNthSymm2alpha + - J33L*PDupwindNthSymm3alpha)*Abs(beta3L))*ToReal(LapseAdvectionCoeff)),0); + J33L*PDupwindNthSymm3alpha)*Abs(beta3L))*ToReal(LapseAdvectionCoeff))),0); CCTK_REAL theta = fmin(1,exp(1 - rL*INV(ToReal(SpatialShiftGammaCoeffRadius)))); - CCTK_REAL B1L = IfThen(ShiftBCoeff*ShiftGammaCoeff != - 0,INV(theta)*INV(ToReal(ShiftGammaCoeff))*(27*dtbetaxL - - 3*((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1beta1 + - (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2beta1 + - (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3beta1 + - (J11L*PDupwindNthSymm1beta1 + J21L*PDupwindNthSymm2beta1 + - J31L*PDupwindNthSymm3beta1)*Abs(beta1L) + (J12L*PDupwindNthSymm1beta1 + - J22L*PDupwindNthSymm2beta1 + J32L*PDupwindNthSymm3beta1)*Abs(beta2L) + - (J13L*PDupwindNthSymm1beta1 + J23L*PDupwindNthSymm2beta1 + - J33L*PDupwindNthSymm3beta1)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)),0); - - CCTK_REAL B2L = IfThen(ShiftBCoeff*ShiftGammaCoeff != - 0,INV(theta)*INV(ToReal(ShiftGammaCoeff))*(27*dtbetayL - - 3*((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1beta2 + - (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2beta2 + - (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3beta2 + - (J11L*PDupwindNthSymm1beta2 + J21L*PDupwindNthSymm2beta2 + - J31L*PDupwindNthSymm3beta2)*Abs(beta1L) + (J12L*PDupwindNthSymm1beta2 + - J22L*PDupwindNthSymm2beta2 + J32L*PDupwindNthSymm3beta2)*Abs(beta2L) + - (J13L*PDupwindNthSymm1beta2 + J23L*PDupwindNthSymm2beta2 + - J33L*PDupwindNthSymm3beta2)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)),0); - - CCTK_REAL B3L = IfThen(ShiftBCoeff*ShiftGammaCoeff != - 0,INV(theta)*INV(ToReal(ShiftGammaCoeff))*(27*dtbetazL - - 3*((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1beta3 + - (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2beta3 + - (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3beta3 + - (J11L*PDupwindNthSymm1beta3 + J21L*PDupwindNthSymm2beta3 + - J31L*PDupwindNthSymm3beta3)*Abs(beta1L) + (J12L*PDupwindNthSymm1beta3 + - J22L*PDupwindNthSymm2beta3 + J32L*PDupwindNthSymm3beta3)*Abs(beta2L) + - (J13L*PDupwindNthSymm1beta3 + J23L*PDupwindNthSymm2beta3 + - J33L*PDupwindNthSymm3beta3)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)),0); + CCTK_REAL B1L; + CCTK_REAL B2L; + CCTK_REAL B3L; + + if (ShiftBCoeff*ShiftGammaCoeff != 0) + { + B1L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetaxL - + ((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1beta1 + + (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2beta1 + + (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3beta1 + + (J11L*PDupwindNthSymm1beta1 + J21L*PDupwindNthSymm2beta1 + + J31L*PDupwindNthSymm3beta1)*Abs(beta1L) + (J12L*PDupwindNthSymm1beta1 + + J22L*PDupwindNthSymm2beta1 + J32L*PDupwindNthSymm3beta1)*Abs(beta2L) + + (J13L*PDupwindNthSymm1beta1 + J23L*PDupwindNthSymm2beta1 + + J33L*PDupwindNthSymm3beta1)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)); + + B2L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetayL - + ((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1beta2 + + (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2beta2 + + (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3beta2 + + (J11L*PDupwindNthSymm1beta2 + J21L*PDupwindNthSymm2beta2 + + J31L*PDupwindNthSymm3beta2)*Abs(beta1L) + (J12L*PDupwindNthSymm1beta2 + + J22L*PDupwindNthSymm2beta2 + J32L*PDupwindNthSymm3beta2)*Abs(beta2L) + + (J13L*PDupwindNthSymm1beta2 + J23L*PDupwindNthSymm2beta2 + + J33L*PDupwindNthSymm3beta2)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)); + + B3L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetazL - + ((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1beta3 + + (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2beta3 + + (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3beta3 + + (J11L*PDupwindNthSymm1beta3 + J21L*PDupwindNthSymm2beta3 + + J31L*PDupwindNthSymm3beta3)*Abs(beta1L) + (J12L*PDupwindNthSymm1beta3 + + J22L*PDupwindNthSymm2beta3 + J32L*PDupwindNthSymm3beta3)*Abs(beta2L) + + (J13L*PDupwindNthSymm1beta3 + J23L*PDupwindNthSymm2beta3 + + J33L*PDupwindNthSymm3beta3)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)); + } + else + { + B1L = 0; + + B2L = 0; + + B3L = 0; + } + /* Copy local copies back to grid functions */ A[index] = AL; diff --git a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBaseGamma.cc b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBaseGamma.cc index 2d2d1e7..5937d79 100644 --- a/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBaseGamma.cc +++ b/ML_BSSN_MP_O8/src/ML_BSSN_MP_O8_convertFromADMBaseGamma.cc @@ -385,7 +385,7 @@ static void ML_BSSN_MP_O8_convertFromADMBaseGamma_Body(cGH const * restrict cons Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33; CCTK_REAL AL = IfThen(LapseACoeff != - 0,3*INV(ToReal(harmonicF))*pow(alphaL,-ToReal(harmonicN))*(-9*dtalpL + + 0,-(INV(ToReal(harmonicF))*pow(alphaL,-ToReal(harmonicN))*(dtalpL - ((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1alpha + (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2alpha + (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3alpha + @@ -393,43 +393,56 @@ static void ML_BSSN_MP_O8_convertFromADMBaseGamma_Body(cGH const * restrict cons J31L*PDupwindNthSymm3alpha)*Abs(beta1L) + (J12L*PDupwindNthSymm1alpha + J22L*PDupwindNthSymm2alpha + J32L*PDupwindNthSymm3alpha)*Abs(beta2L) + (J13L*PDupwindNthSymm1alpha + J23L*PDupwindNthSymm2alpha + - J33L*PDupwindNthSymm3alpha)*Abs(beta3L))*ToReal(LapseAdvectionCoeff)),0); + J33L*PDupwindNthSymm3alpha)*Abs(beta3L))*ToReal(LapseAdvectionCoeff))),0); CCTK_REAL theta = fmin(1,exp(1 - rL*INV(ToReal(SpatialShiftGammaCoeffRadius)))); - CCTK_REAL B1L = IfThen(ShiftBCoeff*ShiftGammaCoeff != - 0,INV(theta)*INV(ToReal(ShiftGammaCoeff))*(27*dtbetaxL - - 3*((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1beta1 + - (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2beta1 + - (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3beta1 + - (J11L*PDupwindNthSymm1beta1 + J21L*PDupwindNthSymm2beta1 + - J31L*PDupwindNthSymm3beta1)*Abs(beta1L) + (J12L*PDupwindNthSymm1beta1 + - J22L*PDupwindNthSymm2beta1 + J32L*PDupwindNthSymm3beta1)*Abs(beta2L) + - (J13L*PDupwindNthSymm1beta1 + J23L*PDupwindNthSymm2beta1 + - J33L*PDupwindNthSymm3beta1)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)),0); - - CCTK_REAL B2L = IfThen(ShiftBCoeff*ShiftGammaCoeff != - 0,INV(theta)*INV(ToReal(ShiftGammaCoeff))*(27*dtbetayL - - 3*((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1beta2 + - (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2beta2 + - (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3beta2 + - (J11L*PDupwindNthSymm1beta2 + J21L*PDupwindNthSymm2beta2 + - J31L*PDupwindNthSymm3beta2)*Abs(beta1L) + (J12L*PDupwindNthSymm1beta2 + - J22L*PDupwindNthSymm2beta2 + J32L*PDupwindNthSymm3beta2)*Abs(beta2L) + - (J13L*PDupwindNthSymm1beta2 + J23L*PDupwindNthSymm2beta2 + - J33L*PDupwindNthSymm3beta2)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)),0); - - CCTK_REAL B3L = IfThen(ShiftBCoeff*ShiftGammaCoeff != - 0,INV(theta)*INV(ToReal(ShiftGammaCoeff))*(27*dtbetazL - - 3*((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1beta3 + - (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2beta3 + - (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3beta3 + - (J11L*PDupwindNthSymm1beta3 + J21L*PDupwindNthSymm2beta3 + - J31L*PDupwindNthSymm3beta3)*Abs(beta1L) + (J12L*PDupwindNthSymm1beta3 + - J22L*PDupwindNthSymm2beta3 + J32L*PDupwindNthSymm3beta3)*Abs(beta2L) + - (J13L*PDupwindNthSymm1beta3 + J23L*PDupwindNthSymm2beta3 + - J33L*PDupwindNthSymm3beta3)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)),0); + CCTK_REAL B1L; + CCTK_REAL B2L; + CCTK_REAL B3L; + + if (ShiftBCoeff*ShiftGammaCoeff != 0) + { + B1L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetaxL - + ((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1beta1 + + (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2beta1 + + (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3beta1 + + (J11L*PDupwindNthSymm1beta1 + J21L*PDupwindNthSymm2beta1 + + J31L*PDupwindNthSymm3beta1)*Abs(beta1L) + (J12L*PDupwindNthSymm1beta1 + + J22L*PDupwindNthSymm2beta1 + J32L*PDupwindNthSymm3beta1)*Abs(beta2L) + + (J13L*PDupwindNthSymm1beta1 + J23L*PDupwindNthSymm2beta1 + + J33L*PDupwindNthSymm3beta1)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)); + + B2L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetayL - + ((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1beta2 + + (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2beta2 + + (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3beta2 + + (J11L*PDupwindNthSymm1beta2 + J21L*PDupwindNthSymm2beta2 + + J31L*PDupwindNthSymm3beta2)*Abs(beta1L) + (J12L*PDupwindNthSymm1beta2 + + J22L*PDupwindNthSymm2beta2 + J32L*PDupwindNthSymm3beta2)*Abs(beta2L) + + (J13L*PDupwindNthSymm1beta2 + J23L*PDupwindNthSymm2beta2 + + J33L*PDupwindNthSymm3beta2)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)); + + B3L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetazL - + ((beta1L*J11L + beta2L*J12L + beta3L*J13L)*PDupwindNthAnti1beta3 + + (beta1L*J21L + beta2L*J22L + beta3L*J23L)*PDupwindNthAnti2beta3 + + (beta1L*J31L + beta2L*J32L + beta3L*J33L)*PDupwindNthAnti3beta3 + + (J11L*PDupwindNthSymm1beta3 + J21L*PDupwindNthSymm2beta3 + + J31L*PDupwindNthSymm3beta3)*Abs(beta1L) + (J12L*PDupwindNthSymm1beta3 + + J22L*PDupwindNthSymm2beta3 + J32L*PDupwindNthSymm3beta3)*Abs(beta2L) + + (J13L*PDupwindNthSymm1beta3 + J23L*PDupwindNthSymm2beta3 + + J33L*PDupwindNthSymm3beta3)*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)); + } + else + { + B1L = 0; + + B2L = 0; + + B3L = 0; + } + /* Copy local copies back to grid functions */ A[index] = AL; diff --git a/ML_BSSN_O2/src/ML_BSSN_O2_convertFromADMBaseGamma.cc b/ML_BSSN_O2/src/ML_BSSN_O2_convertFromADMBaseGamma.cc index d8d2b2a..444fbd0 100644 --- a/ML_BSSN_O2/src/ML_BSSN_O2_convertFromADMBaseGamma.cc +++ b/ML_BSSN_O2/src/ML_BSSN_O2_convertFromADMBaseGamma.cc @@ -289,35 +289,48 @@ static void ML_BSSN_O2_convertFromADMBaseGamma_Body(cGH const * restrict const c Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33; CCTK_REAL AL = IfThen(LapseACoeff != - 0,-3*INV(ToReal(harmonicF))*pow(alphaL,-ToReal(harmonicN))*(9*dtalpL - + 0,-(INV(ToReal(harmonicF))*pow(alphaL,-ToReal(harmonicN))*(dtalpL - (beta1L*PDupwindNthAnti1alpha + beta2L*PDupwindNthAnti2alpha + beta3L*PDupwindNthAnti3alpha + PDupwindNthSymm1alpha*Abs(beta1L) + PDupwindNthSymm2alpha*Abs(beta2L) + - PDupwindNthSymm3alpha*Abs(beta3L))*ToReal(LapseAdvectionCoeff)),0); + PDupwindNthSymm3alpha*Abs(beta3L))*ToReal(LapseAdvectionCoeff))),0); CCTK_REAL theta = fmin(1,exp(1 - rL*INV(ToReal(SpatialShiftGammaCoeffRadius)))); - CCTK_REAL B1L = IfThen(ShiftBCoeff*ShiftGammaCoeff != - 0,INV(theta)*INV(ToReal(ShiftGammaCoeff))*(27*dtbetaxL - - 3*(beta1L*PDupwindNthAnti1beta1 + beta2L*PDupwindNthAnti2beta1 + - beta3L*PDupwindNthAnti3beta1 + PDupwindNthSymm1beta1*Abs(beta1L) + - PDupwindNthSymm2beta1*Abs(beta2L) + - PDupwindNthSymm3beta1*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)),0); - - CCTK_REAL B2L = IfThen(ShiftBCoeff*ShiftGammaCoeff != - 0,INV(theta)*INV(ToReal(ShiftGammaCoeff))*(27*dtbetayL - - 3*(beta1L*PDupwindNthAnti1beta2 + beta2L*PDupwindNthAnti2beta2 + - beta3L*PDupwindNthAnti3beta2 + PDupwindNthSymm1beta2*Abs(beta1L) + - PDupwindNthSymm2beta2*Abs(beta2L) + - PDupwindNthSymm3beta2*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)),0); - - CCTK_REAL B3L = IfThen(ShiftBCoeff*ShiftGammaCoeff != - 0,INV(theta)*INV(ToReal(ShiftGammaCoeff))*(27*dtbetazL - - 3*(beta1L*PDupwindNthAnti1beta3 + beta2L*PDupwindNthAnti2beta3 + - beta3L*PDupwindNthAnti3beta3 + PDupwindNthSymm1beta3*Abs(beta1L) + - PDupwindNthSymm2beta3*Abs(beta2L) + - PDupwindNthSymm3beta3*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)),0); + CCTK_REAL B1L; + CCTK_REAL B2L; + CCTK_REAL B3L; + + if (ShiftBCoeff*ShiftGammaCoeff != 0) + { + B1L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetaxL - + (beta1L*PDupwindNthAnti1beta1 + beta2L*PDupwindNthAnti2beta1 + + beta3L*PDupwindNthAnti3beta1 + PDupwindNthSymm1beta1*Abs(beta1L) + + PDupwindNthSymm2beta1*Abs(beta2L) + + PDupwindNthSymm3beta1*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)); + + B2L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetayL - + (beta1L*PDupwindNthAnti1beta2 + beta2L*PDupwindNthAnti2beta2 + + beta3L*PDupwindNthAnti3beta2 + PDupwindNthSymm1beta2*Abs(beta1L) + + PDupwindNthSymm2beta2*Abs(beta2L) + + PDupwindNthSymm3beta2*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)); + + B3L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetazL - + (beta1L*PDupwindNthAnti1beta3 + beta2L*PDupwindNthAnti2beta3 + + beta3L*PDupwindNthAnti3beta3 + PDupwindNthSymm1beta3*Abs(beta1L) + + PDupwindNthSymm2beta3*Abs(beta2L) + + PDupwindNthSymm3beta3*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)); + } + else + { + B1L = 0; + + B2L = 0; + + B3L = 0; + } + /* Copy local copies back to grid functions */ A[index] = AL; diff --git a/ML_BSSN_O8/src/ML_BSSN_O8_convertFromADMBaseGamma.cc b/ML_BSSN_O8/src/ML_BSSN_O8_convertFromADMBaseGamma.cc index 1594e0b..252947e 100644 --- a/ML_BSSN_O8/src/ML_BSSN_O8_convertFromADMBaseGamma.cc +++ b/ML_BSSN_O8/src/ML_BSSN_O8_convertFromADMBaseGamma.cc @@ -289,35 +289,48 @@ static void ML_BSSN_O8_convertFromADMBaseGamma_Body(cGH const * restrict const c Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33; CCTK_REAL AL = IfThen(LapseACoeff != - 0,-3*INV(ToReal(harmonicF))*pow(alphaL,-ToReal(harmonicN))*(9*dtalpL - + 0,-(INV(ToReal(harmonicF))*pow(alphaL,-ToReal(harmonicN))*(dtalpL - (beta1L*PDupwindNthAnti1alpha + beta2L*PDupwindNthAnti2alpha + beta3L*PDupwindNthAnti3alpha + PDupwindNthSymm1alpha*Abs(beta1L) + PDupwindNthSymm2alpha*Abs(beta2L) + - PDupwindNthSymm3alpha*Abs(beta3L))*ToReal(LapseAdvectionCoeff)),0); + PDupwindNthSymm3alpha*Abs(beta3L))*ToReal(LapseAdvectionCoeff))),0); CCTK_REAL theta = fmin(1,exp(1 - rL*INV(ToReal(SpatialShiftGammaCoeffRadius)))); - CCTK_REAL B1L = IfThen(ShiftBCoeff*ShiftGammaCoeff != - 0,INV(theta)*INV(ToReal(ShiftGammaCoeff))*(27*dtbetaxL - - 3*(beta1L*PDupwindNthAnti1beta1 + beta2L*PDupwindNthAnti2beta1 + - beta3L*PDupwindNthAnti3beta1 + PDupwindNthSymm1beta1*Abs(beta1L) + - PDupwindNthSymm2beta1*Abs(beta2L) + - PDupwindNthSymm3beta1*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)),0); - - CCTK_REAL B2L = IfThen(ShiftBCoeff*ShiftGammaCoeff != - 0,INV(theta)*INV(ToReal(ShiftGammaCoeff))*(27*dtbetayL - - 3*(beta1L*PDupwindNthAnti1beta2 + beta2L*PDupwindNthAnti2beta2 + - beta3L*PDupwindNthAnti3beta2 + PDupwindNthSymm1beta2*Abs(beta1L) + - PDupwindNthSymm2beta2*Abs(beta2L) + - PDupwindNthSymm3beta2*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)),0); - - CCTK_REAL B3L = IfThen(ShiftBCoeff*ShiftGammaCoeff != - 0,INV(theta)*INV(ToReal(ShiftGammaCoeff))*(27*dtbetazL - - 3*(beta1L*PDupwindNthAnti1beta3 + beta2L*PDupwindNthAnti2beta3 + - beta3L*PDupwindNthAnti3beta3 + PDupwindNthSymm1beta3*Abs(beta1L) + - PDupwindNthSymm2beta3*Abs(beta2L) + - PDupwindNthSymm3beta3*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)),0); + CCTK_REAL B1L; + CCTK_REAL B2L; + CCTK_REAL B3L; + + if (ShiftBCoeff*ShiftGammaCoeff != 0) + { + B1L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetaxL - + (beta1L*PDupwindNthAnti1beta1 + beta2L*PDupwindNthAnti2beta1 + + beta3L*PDupwindNthAnti3beta1 + PDupwindNthSymm1beta1*Abs(beta1L) + + PDupwindNthSymm2beta1*Abs(beta2L) + + PDupwindNthSymm3beta1*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)); + + B2L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetayL - + (beta1L*PDupwindNthAnti1beta2 + beta2L*PDupwindNthAnti2beta2 + + beta3L*PDupwindNthAnti3beta2 + PDupwindNthSymm1beta2*Abs(beta1L) + + PDupwindNthSymm2beta2*Abs(beta2L) + + PDupwindNthSymm3beta2*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)); + + B3L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetazL - + (beta1L*PDupwindNthAnti1beta3 + beta2L*PDupwindNthAnti2beta3 + + beta3L*PDupwindNthAnti3beta3 + PDupwindNthSymm1beta3*Abs(beta1L) + + PDupwindNthSymm2beta3*Abs(beta2L) + + PDupwindNthSymm3beta3*Abs(beta3L))*ToReal(ShiftAdvectionCoeff)); + } + else + { + B1L = 0; + + B2L = 0; + + B3L = 0; + } + /* Copy local copies back to grid functions */ A[index] = AL; diff --git a/ML_BSSN_UPW/src/ML_BSSN_UPW_convertFromADMBaseGamma.cc b/ML_BSSN_UPW/src/ML_BSSN_UPW_convertFromADMBaseGamma.cc index 1d2c149..c04775e 100644 --- a/ML_BSSN_UPW/src/ML_BSSN_UPW_convertFromADMBaseGamma.cc +++ b/ML_BSSN_UPW/src/ML_BSSN_UPW_convertFromADMBaseGamma.cc @@ -259,31 +259,44 @@ static void ML_BSSN_UPW_convertFromADMBaseGamma_Body(cGH const * restrict const Gt313*gtu13 + Gt323*gtu23) + Gt333*gtu33; CCTK_REAL AL = IfThen(LapseACoeff != - 0,-(INV(ToReal(harmonicF))*pow(alphaL,-ToReal(harmonicN))*(9*dtalpL - + 0,INV(ToReal(harmonicF))*pow(alphaL,-ToReal(harmonicN))*(-dtalpL + (PDupwindNth1(&alpha[index])*beta1L + PDupwindNth2(&alpha[index])*beta2L + - PDupwindNth3(&alpha[index])*beta3L)*ToReal(LapseAdvectionCoeff))),0); + PDupwindNth3(&alpha[index])*beta3L)*ToReal(LapseAdvectionCoeff)),0); CCTK_REAL theta = fmin(1,exp(1 - rL*INV(ToReal(SpatialShiftGammaCoeffRadius)))); - CCTK_REAL B1L = IfThen(ShiftBCoeff*ShiftGammaCoeff != - 0,INV(theta)*INV(ToReal(ShiftGammaCoeff))*(9*dtbetaxL - - (PDupwindNth1(&beta1[index])*beta1L + - PDupwindNth2(&beta1[index])*beta2L + - PDupwindNth3(&beta1[index])*beta3L)*ToReal(ShiftAdvectionCoeff)),0); - - CCTK_REAL B2L = IfThen(ShiftBCoeff*ShiftGammaCoeff != - 0,INV(theta)*INV(ToReal(ShiftGammaCoeff))*(9*dtbetayL - - (PDupwindNth1(&beta2[index])*beta1L + - PDupwindNth2(&beta2[index])*beta2L + - PDupwindNth3(&beta2[index])*beta3L)*ToReal(ShiftAdvectionCoeff)),0); - - CCTK_REAL B3L = IfThen(ShiftBCoeff*ShiftGammaCoeff != - 0,INV(theta)*INV(ToReal(ShiftGammaCoeff))*(9*dtbetazL - - (PDupwindNth1(&beta3[index])*beta1L + - PDupwindNth2(&beta3[index])*beta2L + - PDupwindNth3(&beta3[index])*beta3L)*ToReal(ShiftAdvectionCoeff)),0); + CCTK_REAL B1L; + CCTK_REAL B2L; + CCTK_REAL B3L; + + if (ShiftBCoeff*ShiftGammaCoeff != 0) + { + B1L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetaxL - + (PDupwindNth1(&beta1[index])*beta1L + + PDupwindNth2(&beta1[index])*beta2L + + PDupwindNth3(&beta1[index])*beta3L)*ToReal(ShiftAdvectionCoeff)); + + B2L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetayL - + (PDupwindNth1(&beta2[index])*beta1L + + PDupwindNth2(&beta2[index])*beta2L + + PDupwindNth3(&beta2[index])*beta3L)*ToReal(ShiftAdvectionCoeff)); + + B3L = INV(theta)*INV(ToReal(ShiftGammaCoeff))*(dtbetazL - + (PDupwindNth1(&beta3[index])*beta1L + + PDupwindNth2(&beta3[index])*beta2L + + PDupwindNth3(&beta3[index])*beta3L)*ToReal(ShiftAdvectionCoeff)); + } + else + { + B1L = 0; + + B2L = 0; + + B3L = 0; + } + /* Copy local copies back to grid functions */ A[index] = AL; |