aboutsummaryrefslogtreecommitdiff
path: root/m
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@gmail.com>2012-01-02 12:02:53 -0500
committerErik Schnetter <schnetter@gmail.com>2012-01-02 12:02:53 -0500
commit6cd8c6e35730454e4091ca1fc11c5ded823d6448 (patch)
treee7290b282b49896e2b51f51fc4d3775bb225211f /m
parentcea0b49075b30965932112399b8531292c5f09be (diff)
Correct definition of dot[A] advection terms
There terms were implemented wrong, probably when the advection terms were split out of the main RHS routine. Without this correction, Kerr-Schild is not manifestly stationary any more. Some of these terms are in code paths that are (to my knowledge) unused, and so it is not clear what to do. I've tried to make these code paths as similar to the others as possible.
Diffstat (limited to 'm')
-rw-r--r--m/McLachlan_BSSN.m18
1 files changed, 11 insertions, 7 deletions
diff --git a/m/McLachlan_BSSN.m b/m/McLachlan_BSSN.m
index 7ff370c..4df6573 100644
--- a/m/McLachlan_BSSN.m
+++ b/m/McLachlan_BSSN.m
@@ -648,10 +648,9 @@ evolCalc =
*)
dot[alpha] -> - harmonicF alpha^harmonicN
(+ LapseACoeff A
- + (1 - LapseACoeff) trK),
+ + (1 - LapseACoeff) (trK + AlphaDriver (alpha - 1))),
dot[A] -> + LapseACoeff (dottrK - AlphaDriver A),
-
eta -> etaExpr,
theta -> thetaExpr,
@@ -702,16 +701,21 @@ advectCalc =
dot[At[la,lb]] -> dot[At[la,lb]] + Upwind[beta[uc], At[la,lb], lc],
- dot[alpha] -> dot[alpha] + LapseAdvectionCoeff Upwind[beta[ua], alpha, la],
+ dot[alpha] -> dot[alpha]
+ + LapseAdvectionCoeff Upwind[beta[ua], alpha, la],
- dot[A] -> dot[A] + LapseAdvectionCoeff Upwind[beta[ua], A, la],
+ dot[A] -> dot[A]
+ + LapseAdvectionCoeff Upwind[beta[ua], A, la]
+ + (LapseACoeff - LapseAdvectionCoeff)
+ Upwind[beta[ua], trK, la],
- dot[beta[ua]] -> dot[beta[ua]] + ShiftAdvectionCoeff Upwind[beta[ub], beta[ua], lb],
+ dot[beta[ua]] -> dot[beta[ua]]
+ + ShiftAdvectionCoeff Upwind[beta[ub], beta[ua], lb],
dot[B[ua]] -> dot[B[ua]]
- + ShiftBCoeff Upwind[beta[uj], Xt[ua], lj] (* take care *)
+ ShiftAdvectionCoeff Upwind[beta[ub], B[ua], lb]
- - ShiftAdvectionCoeff Upwind[beta[ub], Xt[ua], lb]
+ + (ShiftBCoeff - ShiftAdvectionCoeff)
+ Upwind[beta[ub], Xt[ua], lb]
}
};