aboutsummaryrefslogtreecommitdiff
path: root/ML_BSSN_MP
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2010-02-01 11:07:48 -0600
committerErik Schnetter <schnetter@cct.lsu.edu>2010-02-01 11:08:03 -0600
commitd7e78ca6bdeccce7692254163502fb3c1413aa3e (patch)
tree726e05c90b1d0a1544b91f8afc821ddddfdd211f /ML_BSSN_MP
parent77f234967fbcc6344888c8ef5f84d42adf7d1078 (diff)
Handle the case correctly where ShiftGammaCoeff=0. Don't dividy by ShiftGammaCoeff in this case; instead, initialise the (unused) B^i to zero.
Diffstat (limited to 'ML_BSSN_MP')
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c58
1 files changed, 44 insertions, 14 deletions
diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c
index a7c4713..b89269c 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c
@@ -328,20 +328,50 @@ void ML_BSSN_MP_convertFromADMBaseGamma_Body(cGH const * const cctkGH, CCTK_INT
AL = -(dtalpL*(-1 + LapseAdvectionCoeff)*INV(harmonicF)*pow(alphaL,-harmonicN));
- B1L = (dtbetaxL - (PDupwindNth1(beta1, i, j, k)*(beta1L*J11L + beta2L*J12L + beta3L*J13L) +
- PDupwindNth2(beta1, i, j, k)*(beta1L*J21L + beta2L*J22L + beta3L*J23L) +
- PDupwindNth3(beta1, i, j, k)*(beta1L*J31L + beta2L*J32L + beta3L*J33L))*ShiftAdvectionCoeff)*
- INV(ShiftGammaCoeff);
-
- B2L = (dtbetayL - (PDupwindNth1(beta2, i, j, k)*(beta1L*J11L + beta2L*J12L + beta3L*J13L) +
- PDupwindNth2(beta2, i, j, k)*(beta1L*J21L + beta2L*J22L + beta3L*J23L) +
- PDupwindNth3(beta2, i, j, k)*(beta1L*J31L + beta2L*J32L + beta3L*J33L))*ShiftAdvectionCoeff)*
- INV(ShiftGammaCoeff);
-
- B3L = (dtbetazL - (PDupwindNth1(beta3, i, j, k)*(beta1L*J11L + beta2L*J12L + beta3L*J13L) +
- PDupwindNth2(beta3, i, j, k)*(beta1L*J21L + beta2L*J22L + beta3L*J23L) +
- PDupwindNth3(beta3, i, j, k)*(beta1L*J31L + beta2L*J32L + beta3L*J33L))*ShiftAdvectionCoeff)*
- INV(ShiftGammaCoeff);
+ B1L = IfThen(ShiftGammaCoeff,(dtbetaxL - PDupwindNth1(beta1, i, j, k)*beta1L*J11L*ShiftAdvectionCoeff)*
+ INV(ShiftGammaCoeff),0) + IfThen(ShiftGammaCoeff,
+ (dtbetaxL - PDupwindNth1(beta1, i, j, k)*beta2L*J12L*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff),0) +
+ IfThen(ShiftGammaCoeff,(dtbetaxL - PDupwindNth1(beta1, i, j, k)*beta3L*J13L*ShiftAdvectionCoeff)*
+ INV(ShiftGammaCoeff),0) + IfThen(ShiftGammaCoeff,
+ (dtbetaxL - PDupwindNth2(beta1, i, j, k)*beta1L*J21L*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff),0) +
+ IfThen(ShiftGammaCoeff,(dtbetaxL - PDupwindNth2(beta1, i, j, k)*beta2L*J22L*ShiftAdvectionCoeff)*
+ INV(ShiftGammaCoeff),0) + IfThen(ShiftGammaCoeff,
+ (dtbetaxL - PDupwindNth2(beta1, i, j, k)*beta3L*J23L*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff),0) +
+ IfThen(ShiftGammaCoeff,(dtbetaxL - PDupwindNth3(beta1, i, j, k)*beta1L*J31L*ShiftAdvectionCoeff)*
+ INV(ShiftGammaCoeff),0) + IfThen(ShiftGammaCoeff,
+ (dtbetaxL - PDupwindNth3(beta1, i, j, k)*beta2L*J32L*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff),0) +
+ IfThen(ShiftGammaCoeff,(dtbetaxL - PDupwindNth3(beta1, i, j, k)*beta3L*J33L*ShiftAdvectionCoeff)*
+ INV(ShiftGammaCoeff),0);
+
+ B2L = IfThen(ShiftGammaCoeff,(dtbetayL - PDupwindNth1(beta2, i, j, k)*beta1L*J11L*ShiftAdvectionCoeff)*
+ INV(ShiftGammaCoeff),0) + IfThen(ShiftGammaCoeff,
+ (dtbetayL - PDupwindNth1(beta2, i, j, k)*beta2L*J12L*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff),0) +
+ IfThen(ShiftGammaCoeff,(dtbetayL - PDupwindNth1(beta2, i, j, k)*beta3L*J13L*ShiftAdvectionCoeff)*
+ INV(ShiftGammaCoeff),0) + IfThen(ShiftGammaCoeff,
+ (dtbetayL - PDupwindNth2(beta2, i, j, k)*beta1L*J21L*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff),0) +
+ IfThen(ShiftGammaCoeff,(dtbetayL - PDupwindNth2(beta2, i, j, k)*beta2L*J22L*ShiftAdvectionCoeff)*
+ INV(ShiftGammaCoeff),0) + IfThen(ShiftGammaCoeff,
+ (dtbetayL - PDupwindNth2(beta2, i, j, k)*beta3L*J23L*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff),0) +
+ IfThen(ShiftGammaCoeff,(dtbetayL - PDupwindNth3(beta2, i, j, k)*beta1L*J31L*ShiftAdvectionCoeff)*
+ INV(ShiftGammaCoeff),0) + IfThen(ShiftGammaCoeff,
+ (dtbetayL - PDupwindNth3(beta2, i, j, k)*beta2L*J32L*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff),0) +
+ IfThen(ShiftGammaCoeff,(dtbetayL - PDupwindNth3(beta2, i, j, k)*beta3L*J33L*ShiftAdvectionCoeff)*
+ INV(ShiftGammaCoeff),0);
+
+ B3L = IfThen(ShiftGammaCoeff,(dtbetazL - PDupwindNth1(beta3, i, j, k)*beta1L*J11L*ShiftAdvectionCoeff)*
+ INV(ShiftGammaCoeff),0) + IfThen(ShiftGammaCoeff,
+ (dtbetazL - PDupwindNth1(beta3, i, j, k)*beta2L*J12L*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff),0) +
+ IfThen(ShiftGammaCoeff,(dtbetazL - PDupwindNth1(beta3, i, j, k)*beta3L*J13L*ShiftAdvectionCoeff)*
+ INV(ShiftGammaCoeff),0) + IfThen(ShiftGammaCoeff,
+ (dtbetazL - PDupwindNth2(beta3, i, j, k)*beta1L*J21L*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff),0) +
+ IfThen(ShiftGammaCoeff,(dtbetazL - PDupwindNth2(beta3, i, j, k)*beta2L*J22L*ShiftAdvectionCoeff)*
+ INV(ShiftGammaCoeff),0) + IfThen(ShiftGammaCoeff,
+ (dtbetazL - PDupwindNth2(beta3, i, j, k)*beta3L*J23L*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff),0) +
+ IfThen(ShiftGammaCoeff,(dtbetazL - PDupwindNth3(beta3, i, j, k)*beta1L*J31L*ShiftAdvectionCoeff)*
+ INV(ShiftGammaCoeff),0) + IfThen(ShiftGammaCoeff,
+ (dtbetazL - PDupwindNth3(beta3, i, j, k)*beta2L*J32L*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff),0) +
+ IfThen(ShiftGammaCoeff,(dtbetazL - PDupwindNth3(beta3, i, j, k)*beta3L*J33L*ShiftAdvectionCoeff)*
+ INV(ShiftGammaCoeff),0);
/* Copy local copies back to grid functions */