cjy-dystopia #2
@@ -330,40 +330,39 @@ int f_compute_rhs_bssn(int *ex, double &T,
|
||||
fderivs(ex,Gamy,Gamyx,Gamyy,Gamyz,X,Y,Z,SYM ,ANTI,SYM ,Symmetry,Lev);
|
||||
fderivs(ex,Gamz,Gamzx,Gamzy,Gamzz,X,Y,Z,SYM ,SYM ,ANTI,Symmetry,Lev);
|
||||
|
||||
// 3.5ms //
|
||||
// Fused: fxx/Gamxa + Gamma_rhs part 2 (2 loops -> 1)
|
||||
for(int i=0;i<all;i+=1){
|
||||
fxx[i] = gxxx[i] + gxyy[i] + gxzz[i];
|
||||
fxy[i] = gxyx[i] + gyyy[i] + gyzz[i];
|
||||
fxz[i] = gxzx[i] + gyzy[i] + gzzz[i];
|
||||
Gamxa[i] = gupxx[i]*Gamxxx[i] + gupyy[i]*Gamxyy[i] + gupzz[i]*Gamxzz[i]
|
||||
double lfxx = gxxx[i] + gxyy[i] + gxzz[i];
|
||||
double lfxy = gxyx[i] + gyyy[i] + gyzz[i];
|
||||
double lfxz = gxzx[i] + gyzy[i] + gzzz[i];
|
||||
fxx[i] = lfxx; fxy[i] = lfxy; fxz[i] = lfxz;
|
||||
|
||||
double gxa = gupxx[i]*Gamxxx[i] + gupyy[i]*Gamxyy[i] + gupzz[i]*Gamxzz[i]
|
||||
+ TWO * ( gupxy[i]*Gamxxy[i] + gupxz[i]*Gamxxz[i] + gupyz[i]*Gamxyz[i] );
|
||||
|
||||
Gamya[i] = gupxx[i]*Gamyxx[i] + gupyy[i]*Gamyyy[i] + gupzz[i]*Gamyzz[i]
|
||||
double gya = gupxx[i]*Gamyxx[i] + gupyy[i]*Gamyyy[i] + gupzz[i]*Gamyzz[i]
|
||||
+ TWO * ( gupxy[i]*Gamyxy[i] + gupxz[i]*Gamyxz[i] + gupyz[i]*Gamyyz[i] );
|
||||
|
||||
Gamza[i] = gupxx[i]*Gamzxx[i] + gupyy[i]*Gamzyy[i] + gupzz[i]*Gamzzz[i]
|
||||
double gza = gupxx[i]*Gamzxx[i] + gupyy[i]*Gamzyy[i] + gupzz[i]*Gamzzz[i]
|
||||
+ TWO * ( gupxy[i]*Gamzxy[i] + gupxz[i]*Gamzxz[i] + gupyz[i]*Gamzyz[i] );
|
||||
}
|
||||
// 3.9ms //
|
||||
for(int i=0;i<all;i+=1){
|
||||
Gamxa[i] = gxa; Gamya[i] = gya; Gamza[i] = gza;
|
||||
|
||||
Gamx_rhs[i] = Gamx_rhs[i]
|
||||
+ F2o3 * Gamxa[i] * div_beta[i]
|
||||
- Gamxa[i] * betaxx[i] - Gamya[i] * betaxy[i] - Gamza[i] * betaxz[i]
|
||||
+ F1o3 * ( gupxx[i] * fxx[i] + gupxy[i] * fxy[i] + gupxz[i] * fxz[i] )
|
||||
+ F2o3 * gxa * div_beta[i]
|
||||
- gxa * betaxx[i] - gya * betaxy[i] - gza * betaxz[i]
|
||||
+ F1o3 * ( gupxx[i] * lfxx + gupxy[i] * lfxy + gupxz[i] * lfxz )
|
||||
+ gupxx[i] * gxxx[i] + gupyy[i] * gyyx[i] + gupzz[i] * gzzx[i]
|
||||
+ TWO * ( gupxy[i] * gxyx[i] + gupxz[i] * gxzx[i] + gupyz[i] * gyzx[i] );
|
||||
|
||||
Gamy_rhs[i] = Gamy_rhs[i]
|
||||
+ F2o3 * Gamya[i] * div_beta[i]
|
||||
- Gamxa[i] * betayx[i] - Gamya[i] * betayy[i] - Gamza[i] * betayz[i]
|
||||
+ F1o3 * ( gupxy[i] * fxx[i] + gupyy[i] * fxy[i] + gupyz[i] * fxz[i] )
|
||||
+ F2o3 * gya * div_beta[i]
|
||||
- gxa * betayx[i] - gya * betayy[i] - gza * betayz[i]
|
||||
+ F1o3 * ( gupxy[i] * lfxx + gupyy[i] * lfxy + gupyz[i] * lfxz )
|
||||
+ gupxx[i] * gxxy[i] + gupyy[i] * gyyy[i] + gupzz[i] * gzzy[i]
|
||||
+ TWO * ( gupxy[i] * gxyy[i] + gupxz[i] * gxzy[i] + gupyz[i] * gyzy[i] );
|
||||
|
||||
Gamz_rhs[i] = Gamz_rhs[i]
|
||||
+ F2o3 * Gamza[i] * div_beta[i]
|
||||
- Gamxa[i] * betazx[i] - Gamya[i] * betazy[i] - Gamza[i] * betazz[i]
|
||||
+ F1o3 * ( gupxz[i] * fxx[i] + gupyz[i] * fxy[i] + gupzz[i] * fxz[i] )
|
||||
+ F2o3 * gza * div_beta[i]
|
||||
- gxa * betazx[i] - gya * betazy[i] - gza * betazz[i]
|
||||
+ F1o3 * ( gupxz[i] * lfxx + gupyz[i] * lfxy + gupzz[i] * lfxz )
|
||||
+ gupxx[i] * gxxz[i] + gupyy[i] * gyyz[i] + gupzz[i] * gzzz[i]
|
||||
+ TWO * ( gupxy[i] * gxyz[i] + gupxz[i] * gxzz[i] + gupyz[i] * gyzz[i] );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user