bssn_rhs_c: recompute contracted Gamma terms to remove temp arrays
This commit is contained in:
@@ -52,7 +52,7 @@ int f_compute_rhs_bssn(int *ex, double &T,
|
||||
double Gamzx[all],Gamzy[all],Gamzz[all];
|
||||
double Kx[all], Ky[all], Kz[all], S[all];
|
||||
double f[all], fxx[all], fxy[all], fxz[all], fyy[all], fyz[all], fzz[all];
|
||||
double Gamxa[all], Gamya[all], Gamza[all], alpn1[all], chin1[all];
|
||||
double alpn1[all], chin1[all];
|
||||
double gupxx[all], gupxy[all], gupxz[all];
|
||||
double gupyy[all], gupyz[all], gupzz[all];
|
||||
double SSS[3] = { 1.0, 1.0, 1.0};
|
||||
@@ -340,8 +340,6 @@ int f_compute_rhs_bssn(int *ex, double &T,
|
||||
+ TWO * ( gupxy[i]*Gamyxy[i] + gupxz[i]*Gamyxz[i] + gupyz[i]*Gamyyz[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] );
|
||||
Gamxa[i] = gxa; Gamya[i] = gya; Gamza[i] = gza;
|
||||
|
||||
Gamx_rhs[i] = Gamx_rhs[i]
|
||||
+ F2o3 * gxa * divb
|
||||
- gxa * betaxx[i] - gya * betaxy[i] - gza * betaxz[i]
|
||||
@@ -432,10 +430,17 @@ int f_compute_rhs_bssn(int *ex, double &T,
|
||||
// 14ms //
|
||||
/* 假设 all = ex1*ex2*ex3,所有量都是 length=all 的 double 数组(已按同一扁平化规则排布) */
|
||||
for (int i = 0; i < all; i += 1) {
|
||||
const 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] );
|
||||
const 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] );
|
||||
const 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] );
|
||||
|
||||
Rxx[i] =
|
||||
-HALF * Rxx[i]
|
||||
+ (dxx[i] + ONE) * Gamxx[i] + gxy[i] * Gamyx[i] + gxz[i] * Gamzx[i]
|
||||
+ Gamxa[i] * gxxx[i] + Gamya[i] * gxyx[i] + Gamza[i] * gxzx[i]
|
||||
+ gxa * gxxx[i] + gya * gxyx[i] + gza * gxzx[i]
|
||||
+ gupxx[i] * (
|
||||
TWO * (Gamxxx[i] * gxxx[i] + Gamyxx[i] * gxyx[i] + Gamzxx[i] * gxzx[i]) +
|
||||
(Gamxxx[i] * gxxx[i] + Gamyxx[i] * gxxy[i] + Gamzxx[i] * gxxz[i])
|
||||
@@ -470,7 +475,7 @@ int f_compute_rhs_bssn(int *ex, double &T,
|
||||
Ryy[i] =
|
||||
-HALF * Ryy[i]
|
||||
+ gxy[i] * Gamxy[i] + (dyy[i] + ONE) * Gamyy[i] + gyz[i] * Gamzy[i]
|
||||
+ Gamxa[i] * gxyy[i] + Gamya[i] * gyyy[i] + Gamza[i] * gyzy[i]
|
||||
+ gxa * gxyy[i] + gya * gyyy[i] + gza * gyzy[i]
|
||||
+ gupxx[i] * (
|
||||
TWO * (Gamxxy[i] * gxxy[i] + Gamyxy[i] * gxyy[i] + Gamzxy[i] * gxzy[i]) +
|
||||
(Gamxxy[i] * gxyx[i] + Gamyxy[i] * gxyy[i] + Gamzxy[i] * gxyz[i])
|
||||
@@ -505,7 +510,7 @@ int f_compute_rhs_bssn(int *ex, double &T,
|
||||
Rzz[i] =
|
||||
-HALF * Rzz[i]
|
||||
+ gxz[i] * Gamxz[i] + gyz[i] * Gamyz[i] + (dzz[i] + ONE) * Gamzz[i]
|
||||
+ Gamxa[i] * gxzz[i] + Gamya[i] * gyzz[i] + Gamza[i] * gzzz[i]
|
||||
+ gxa * gxzz[i] + gya * gyzz[i] + gza * gzzz[i]
|
||||
+ gupxx[i] * (
|
||||
TWO * (Gamxxz[i] * gxxz[i] + Gamyxz[i] * gxyz[i] + Gamzxz[i] * gxzz[i]) +
|
||||
(Gamxxz[i] * gxzx[i] + Gamyxz[i] * gxzy[i] + Gamzxz[i] * gxzz[i])
|
||||
@@ -542,8 +547,8 @@ int f_compute_rhs_bssn(int *ex, double &T,
|
||||
-Rxy[i]
|
||||
+ (dxx[i] + ONE) * Gamxy[i] + gxy[i] * Gamyy[i] + gxz[i] * Gamzy[i]
|
||||
+ gxy[i] * Gamxx[i] + (dyy[i] + ONE) * Gamyx[i] + gyz[i] * Gamzx[i]
|
||||
+ Gamxa[i] * gxyx[i] + Gamya[i] * gyyx[i] + Gamza[i] * gyzx[i]
|
||||
+ Gamxa[i] * gxxy[i] + Gamya[i] * gxyy[i] + Gamza[i] * gxzy[i]
|
||||
+ gxa * gxyx[i] + gya * gyyx[i] + gza * gyzx[i]
|
||||
+ gxa * gxxy[i] + gya * gxyy[i] + gza * gxzy[i]
|
||||
)
|
||||
+ gupxx[i] * (
|
||||
Gamxxx[i] * gxxy[i] + Gamyxx[i] * gxyy[i] + Gamzxx[i] * gxzy[i]
|
||||
@@ -590,8 +595,8 @@ int f_compute_rhs_bssn(int *ex, double &T,
|
||||
-Rxz[i]
|
||||
+ (dxx[i] + ONE) * Gamxz[i] + gxy[i] * Gamyz[i] + gxz[i] * Gamzz[i]
|
||||
+ gxz[i] * Gamxx[i] + gyz[i] * Gamyx[i] + (dzz[i] + ONE) * Gamzx[i]
|
||||
+ Gamxa[i] * gxzx[i] + Gamya[i] * gyzx[i] + Gamza[i] * gzzx[i]
|
||||
+ Gamxa[i] * gxxz[i] + Gamya[i] * gxyz[i] + Gamza[i] * gxzz[i]
|
||||
+ gxa * gxzx[i] + gya * gyzx[i] + gza * gzzx[i]
|
||||
+ gxa * gxxz[i] + gya * gxyz[i] + gza * gxzz[i]
|
||||
)
|
||||
+ gupxx[i] * (
|
||||
Gamxxx[i] * gxxz[i] + Gamyxx[i] * gxyz[i] + Gamzxx[i] * gxzz[i]
|
||||
@@ -638,8 +643,8 @@ int f_compute_rhs_bssn(int *ex, double &T,
|
||||
-Ryz[i]
|
||||
+ gxy[i] * Gamxz[i] + (dyy[i] + ONE) * Gamyz[i] + gyz[i] * Gamzz[i]
|
||||
+ gxz[i] * Gamxy[i] + gyz[i] * Gamyy[i] + (dzz[i] + ONE) * Gamzy[i]
|
||||
+ Gamxa[i] * gxzy[i] + Gamya[i] * gyzy[i] + Gamza[i] * gzzy[i]
|
||||
+ Gamxa[i] * gxyz[i] + Gamya[i] * gyyz[i] + Gamza[i] * gyzz[i]
|
||||
+ gxa * gxzy[i] + gya * gyzy[i] + gza * gzzy[i]
|
||||
+ gxa * gxyz[i] + gya * gyyz[i] + gza * gyzz[i]
|
||||
)
|
||||
+ gupxx[i] * (
|
||||
Gamxxy[i] * gxxz[i] + Gamyxy[i] * gxyz[i] + Gamzxy[i] * gxzz[i]
|
||||
|
||||
Reference in New Issue
Block a user