diff options
author | Peter Diener <diener@cct.lsu.edu> | 2010-05-05 16:29:12 -0500 |
---|---|---|
committer | Peter Diener <diener@cct.lsu.edu> | 2010-05-05 16:29:12 -0500 |
commit | 18fac7798ad3edc8c00f922b3b3d372dcb8b20f7 (patch) | |
tree | e8e59b8516ef07b3e1fdaf3d8a8656c45480fc01 /m | |
parent | 62d9d30ff0ce10b2650bae9e15969029d2711d4b (diff) |
Reintroduce an optimization.
Reintroduce an optimization in the evolution calculation, that was previously only introduced in the hand split optimised calculation.
Signed-off-by: Peter Diener <diener@cct.lsu.edu>
Diffstat (limited to 'm')
-rw-r--r-- | m/McLachlan_BSSN.m | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/m/McLachlan_BSSN.m b/m/McLachlan_BSSN.m index fdc786a..19e61d8 100644 --- a/m/McLachlan_BSSN.m +++ b/m/McLachlan_BSSN.m @@ -595,7 +595,8 @@ evolCalc = Where -> InteriorNoSync, Shorthands -> {dir[ua], detgt, gtu[ua,ub], - Gt[ua,lb,lc], Xtn[ua], Rt[la,lb], Rphi[la,lb], R[la,lb], + Gt[ua,lb,lc], Gtl[la,lb,lc], Gtlu[la,lb,uc], Xtn[ua], + Rt[la,lb], Rphi[la,lb], R[la,lb], Atm[ua,lb], Atu[ua,ub], e4phi, em4phi, cdphi[la], cdphi2[la,lb], g[la,lb], detg, gu[ua,ub], Ats[la,lb], trAts, eta, theta, @@ -610,9 +611,11 @@ evolCalc = (* This leads to simpler code... *) gtu[ua,ub] -> 1/detgt detgtExpr MatrixInverse [gt[ua,ub]], - Gt[ua,lb,lc] -> 1/2 gtu[ua,ud] - (PD[gt[lb,ld],lc] + PD[gt[lc,ld],lb] - PD[gt[lb,lc],ld]), - + Gtl[la,lb,lc] -> 1/2 + (PD[gt[lb,la],lc] + PD[gt[lc,la],lb] - PD[gt[lb,lc],la]), + Gtlu[la,lb,uc] -> gtu[uc,ud] Gtl[la,lb,ld], + Gt[ua,lb,lc] -> gtu[ua,ud] Gtl[ld,lb,lc], + (* The conformal connection functions calculated from the conformal metric, used instead of Xt where no derivatives of Xt are taken *) Xtn[ui] -> gtu[uj,uk] Gt[ui,lj,lk], @@ -621,11 +624,11 @@ evolCalc = Rt[li,lj] -> - (1/2) gtu[ul,um] PD[gt[li,lj],ll,lm] + (1/2) gt[lk,li] PD[Xt[uk],lj] + (1/2) gt[lk,lj] PD[Xt[uk],li] - + (1/2) Xtn[uk] gt[li,ln] Gt[un,lj,lk] - + (1/2) Xtn[uk] gt[lj,ln] Gt[un,li,lk] - + gtu[ul,um] (+ Gt[uk,ll,li] gt[lj,ln] Gt[un,lk,lm] - + Gt[uk,ll,lj] gt[li,ln] Gt[un,lk,lm] - + Gt[uk,li,lm] gt[lk,ln] Gt[un,ll,lj]), + + (1/2) Xtn[uk] Gtl[li,lj,lk] + + (1/2) Xtn[uk] Gtl[lj,li,lk] + + (+ Gt[uk,li,ll] Gtlu[lj,lk,ul] + + Gt[uk,lj,ll] Gtlu[li,lk,ul] + + Gt[uk,li,ll] Gtlu[lk,lj,ul]), fac1 -> IfThen [conformalMethod, -1/(2 phi), 1], cdphi[la] -> fac1 CDt[phi,la], |