aboutsummaryrefslogtreecommitdiff
path: root/ML_BSSN
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2010-01-25 18:14:47 -0600
committerErik Schnetter <schnetter@cct.lsu.edu>2010-01-25 18:14:47 -0600
commit08571b14f158653ced2d954f75b36b4105a582e2 (patch)
tree4ff8b3689747f3687fa2349372e4b35c42baf51f /ML_BSSN
parentb34404d76b7ffbc9088fb0efc44380229c6d3132 (diff)
Avoid division-by-zero problems when ShiftGammaCoeff=0
Diffstat (limited to 'ML_BSSN')
-rw-r--r--ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c25
1 files changed, 17 insertions, 8 deletions
diff --git a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c
index ef2a0a3..8de9e36 100644
--- a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c
+++ b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c
@@ -266,14 +266,23 @@ void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * const cctkGH, CCTK_INT con
AL = -(dtalpL*(-1 + LapseAdvectionCoeff)*INV(harmonicF)*pow(alphaL,-harmonicN));
- B1L = (dtbetaxL - (PDupwindNth1(beta1, i, j, k)*beta1L + PDupwindNth2(beta1, i, j, k)*beta2L +
- PDupwindNth3(beta1, i, j, k)*beta3L)*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff);
-
- B2L = (dtbetayL - (PDupwindNth1(beta2, i, j, k)*beta1L + PDupwindNth2(beta2, i, j, k)*beta2L +
- PDupwindNth3(beta2, i, j, k)*beta3L)*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff);
-
- B3L = (dtbetazL - (PDupwindNth1(beta3, i, j, k)*beta1L + PDupwindNth2(beta3, i, j, k)*beta2L +
- PDupwindNth3(beta3, i, j, k)*beta3L)*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff);
+ B1L = 6*IfThen(ShiftGammaCoeff,dtbetaxL*INV(ShiftGammaCoeff),0) +
+ IfThen(ShiftGammaCoeff,(dtbetaxL - PDupwindNth1(beta1, i, j, k)*beta1L*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff),
+ 0) + IfThen(ShiftGammaCoeff,(dtbetaxL - PDupwindNth2(beta1, i, j, k)*beta2L*ShiftAdvectionCoeff)*
+ INV(ShiftGammaCoeff),0) + IfThen(ShiftGammaCoeff,
+ (dtbetaxL - PDupwindNth3(beta1, i, j, k)*beta3L*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff),0);
+
+ B2L = 6*IfThen(ShiftGammaCoeff,dtbetayL*INV(ShiftGammaCoeff),0) +
+ IfThen(ShiftGammaCoeff,(dtbetayL - PDupwindNth1(beta2, i, j, k)*beta1L*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff),
+ 0) + IfThen(ShiftGammaCoeff,(dtbetayL - PDupwindNth2(beta2, i, j, k)*beta2L*ShiftAdvectionCoeff)*
+ INV(ShiftGammaCoeff),0) + IfThen(ShiftGammaCoeff,
+ (dtbetayL - PDupwindNth3(beta2, i, j, k)*beta3L*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff),0);
+
+ B3L = 6*IfThen(ShiftGammaCoeff,dtbetazL*INV(ShiftGammaCoeff),0) +
+ IfThen(ShiftGammaCoeff,(dtbetazL - PDupwindNth1(beta3, i, j, k)*beta1L*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff),
+ 0) + IfThen(ShiftGammaCoeff,(dtbetazL - PDupwindNth2(beta3, i, j, k)*beta2L*ShiftAdvectionCoeff)*
+ INV(ShiftGammaCoeff),0) + IfThen(ShiftGammaCoeff,
+ (dtbetazL - PDupwindNth3(beta3, i, j, k)*beta3L*ShiftAdvectionCoeff)*INV(ShiftGammaCoeff),0);
/* Copy local copies back to grid functions */