aboutsummaryrefslogtreecommitdiff
path: root/ML_BSSN_O2/src/ML_BSSN_O2_Dissipation.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ML_BSSN_O2/src/ML_BSSN_O2_Dissipation.cc')
-rw-r--r--ML_BSSN_O2/src/ML_BSSN_O2_Dissipation.cc46
1 files changed, 45 insertions, 1 deletions
diff --git a/ML_BSSN_O2/src/ML_BSSN_O2_Dissipation.cc b/ML_BSSN_O2/src/ML_BSSN_O2_Dissipation.cc
index 255a4d1..9fe0ea4 100644
--- a/ML_BSSN_O2/src/ML_BSSN_O2_Dissipation.cc
+++ b/ML_BSSN_O2/src/ML_BSSN_O2_Dissipation.cc
@@ -53,6 +53,9 @@ extern "C" void ML_BSSN_O2_Dissipation_SelectBCs(CCTK_ARGUMENTS)
ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_O2::ML_shiftrhs","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_O2::ML_shiftrhs.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_O2::ML_Thetarhs","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_O2::ML_Thetarhs.");
ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "ML_BSSN_O2::ML_trace_curvrhs","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for ML_BSSN_O2::ML_trace_curvrhs.");
@@ -277,6 +280,8 @@ static void ML_BSSN_O2_Dissipation_Body(cGH const * restrict const cctkGH, int c
CCTK_REAL_VEC gt33rhsL = vec_load(gt33rhs[index]);
CCTK_REAL_VEC phiL = vec_load(phi[index]);
CCTK_REAL_VEC phirhsL = vec_load(phirhs[index]);
+ CCTK_REAL_VEC ThetaL = vec_load(Theta[index]);
+ CCTK_REAL_VEC ThetarhsL = vec_load(Thetarhs[index]);
CCTK_REAL_VEC trKL = vec_load(trK[index]);
CCTK_REAL_VEC trKrhsL = vec_load(trKrhs[index]);
CCTK_REAL_VEC Xt1L = vec_load(Xt1[index]);
@@ -368,6 +373,9 @@ static void ML_BSSN_O2_Dissipation_Body(cGH const * restrict const cctkGH, int c
CCTK_REAL_VEC PDdissipationNth1phi;
CCTK_REAL_VEC PDdissipationNth2phi;
CCTK_REAL_VEC PDdissipationNth3phi;
+ CCTK_REAL_VEC PDdissipationNth1Theta;
+ CCTK_REAL_VEC PDdissipationNth2Theta;
+ CCTK_REAL_VEC PDdissipationNth3Theta;
CCTK_REAL_VEC PDdissipationNth1trK;
CCTK_REAL_VEC PDdissipationNth2trK;
CCTK_REAL_VEC PDdissipationNth3trK;
@@ -447,6 +455,9 @@ static void ML_BSSN_O2_Dissipation_Body(cGH const * restrict const cctkGH, int c
PDdissipationNth1phi = PDdissipationNthfdOrder21(&phi[index]);
PDdissipationNth2phi = PDdissipationNthfdOrder22(&phi[index]);
PDdissipationNth3phi = PDdissipationNthfdOrder23(&phi[index]);
+ PDdissipationNth1Theta = PDdissipationNthfdOrder21(&Theta[index]);
+ PDdissipationNth2Theta = PDdissipationNthfdOrder22(&Theta[index]);
+ PDdissipationNth3Theta = PDdissipationNthfdOrder23(&Theta[index]);
PDdissipationNth1trK = PDdissipationNthfdOrder21(&trK[index]);
PDdissipationNth2trK = PDdissipationNthfdOrder22(&trK[index]);
PDdissipationNth3trK = PDdissipationNthfdOrder23(&trK[index]);
@@ -525,6 +536,9 @@ static void ML_BSSN_O2_Dissipation_Body(cGH const * restrict const cctkGH, int c
PDdissipationNth1phi = PDdissipationNthfdOrder41(&phi[index]);
PDdissipationNth2phi = PDdissipationNthfdOrder42(&phi[index]);
PDdissipationNth3phi = PDdissipationNthfdOrder43(&phi[index]);
+ PDdissipationNth1Theta = PDdissipationNthfdOrder41(&Theta[index]);
+ PDdissipationNth2Theta = PDdissipationNthfdOrder42(&Theta[index]);
+ PDdissipationNth3Theta = PDdissipationNthfdOrder43(&Theta[index]);
PDdissipationNth1trK = PDdissipationNthfdOrder41(&trK[index]);
PDdissipationNth2trK = PDdissipationNthfdOrder42(&trK[index]);
PDdissipationNth3trK = PDdissipationNthfdOrder43(&trK[index]);
@@ -603,6 +617,9 @@ static void ML_BSSN_O2_Dissipation_Body(cGH const * restrict const cctkGH, int c
PDdissipationNth1phi = PDdissipationNthfdOrder61(&phi[index]);
PDdissipationNth2phi = PDdissipationNthfdOrder62(&phi[index]);
PDdissipationNth3phi = PDdissipationNthfdOrder63(&phi[index]);
+ PDdissipationNth1Theta = PDdissipationNthfdOrder61(&Theta[index]);
+ PDdissipationNth2Theta = PDdissipationNthfdOrder62(&Theta[index]);
+ PDdissipationNth3Theta = PDdissipationNthfdOrder63(&Theta[index]);
PDdissipationNth1trK = PDdissipationNthfdOrder61(&trK[index]);
PDdissipationNth2trK = PDdissipationNthfdOrder62(&trK[index]);
PDdissipationNth3trK = PDdissipationNthfdOrder63(&trK[index]);
@@ -681,6 +698,9 @@ static void ML_BSSN_O2_Dissipation_Body(cGH const * restrict const cctkGH, int c
PDdissipationNth1phi = PDdissipationNthfdOrder81(&phi[index]);
PDdissipationNth2phi = PDdissipationNthfdOrder82(&phi[index]);
PDdissipationNth3phi = PDdissipationNthfdOrder83(&phi[index]);
+ PDdissipationNth1Theta = PDdissipationNthfdOrder81(&Theta[index]);
+ PDdissipationNth2Theta = PDdissipationNthfdOrder82(&Theta[index]);
+ PDdissipationNth3Theta = PDdissipationNthfdOrder83(&Theta[index]);
PDdissipationNth1trK = PDdissipationNthfdOrder81(&trK[index]);
PDdissipationNth2trK = PDdissipationNthfdOrder82(&trK[index]);
PDdissipationNth3trK = PDdissipationNthfdOrder83(&trK[index]);
@@ -718,6 +738,7 @@ static void ML_BSSN_O2_Dissipation_Body(cGH const * restrict const cctkGH, int c
CCTK_REAL_VEC JacPDdissipationNth1gt23;
CCTK_REAL_VEC JacPDdissipationNth1gt33;
CCTK_REAL_VEC JacPDdissipationNth1phi;
+ CCTK_REAL_VEC JacPDdissipationNth1Theta;
CCTK_REAL_VEC JacPDdissipationNth1trK;
CCTK_REAL_VEC JacPDdissipationNth1Xt1;
CCTK_REAL_VEC JacPDdissipationNth1Xt2;
@@ -743,6 +764,7 @@ static void ML_BSSN_O2_Dissipation_Body(cGH const * restrict const cctkGH, int c
CCTK_REAL_VEC JacPDdissipationNth2gt23;
CCTK_REAL_VEC JacPDdissipationNth2gt33;
CCTK_REAL_VEC JacPDdissipationNth2phi;
+ CCTK_REAL_VEC JacPDdissipationNth2Theta;
CCTK_REAL_VEC JacPDdissipationNth2trK;
CCTK_REAL_VEC JacPDdissipationNth2Xt1;
CCTK_REAL_VEC JacPDdissipationNth2Xt2;
@@ -768,6 +790,7 @@ static void ML_BSSN_O2_Dissipation_Body(cGH const * restrict const cctkGH, int c
CCTK_REAL_VEC JacPDdissipationNth3gt23;
CCTK_REAL_VEC JacPDdissipationNth3gt33;
CCTK_REAL_VEC JacPDdissipationNth3phi;
+ CCTK_REAL_VEC JacPDdissipationNth3Theta;
CCTK_REAL_VEC JacPDdissipationNth3trK;
CCTK_REAL_VEC JacPDdissipationNth3Xt1;
CCTK_REAL_VEC JacPDdissipationNth3Xt2;
@@ -838,6 +861,9 @@ static void ML_BSSN_O2_Dissipation_Body(cGH const * restrict const cctkGH, int c
JacPDdissipationNth1phi =
kmadd(J11L,PDdissipationNth1phi,kmadd(J21L,PDdissipationNth2phi,kmul(J31L,PDdissipationNth3phi)));
+ JacPDdissipationNth1Theta =
+ kmadd(J11L,PDdissipationNth1Theta,kmadd(J21L,PDdissipationNth2Theta,kmul(J31L,PDdissipationNth3Theta)));
+
JacPDdissipationNth1trK =
kmadd(J11L,PDdissipationNth1trK,kmadd(J21L,PDdissipationNth2trK,kmul(J31L,PDdissipationNth3trK)));
@@ -913,6 +939,9 @@ static void ML_BSSN_O2_Dissipation_Body(cGH const * restrict const cctkGH, int c
JacPDdissipationNth2phi =
kmadd(J12L,PDdissipationNth1phi,kmadd(J22L,PDdissipationNth2phi,kmul(J32L,PDdissipationNth3phi)));
+ JacPDdissipationNth2Theta =
+ kmadd(J12L,PDdissipationNth1Theta,kmadd(J22L,PDdissipationNth2Theta,kmul(J32L,PDdissipationNth3Theta)));
+
JacPDdissipationNth2trK =
kmadd(J12L,PDdissipationNth1trK,kmadd(J22L,PDdissipationNth2trK,kmul(J32L,PDdissipationNth3trK)));
@@ -988,6 +1017,9 @@ static void ML_BSSN_O2_Dissipation_Body(cGH const * restrict const cctkGH, int c
JacPDdissipationNth3phi =
kmadd(J13L,PDdissipationNth1phi,kmadd(J23L,PDdissipationNth2phi,kmul(J33L,PDdissipationNth3phi)));
+ JacPDdissipationNth3Theta =
+ kmadd(J13L,PDdissipationNth1Theta,kmadd(J23L,PDdissipationNth2Theta,kmul(J33L,PDdissipationNth3Theta)));
+
JacPDdissipationNth3trK =
kmadd(J13L,PDdissipationNth1trK,kmadd(J23L,PDdissipationNth2trK,kmul(J33L,PDdissipationNth3trK)));
@@ -1044,6 +1076,8 @@ static void ML_BSSN_O2_Dissipation_Body(cGH const * restrict const cctkGH, int c
JacPDdissipationNth1phi = PDdissipationNth1phi;
+ JacPDdissipationNth1Theta = PDdissipationNth1Theta;
+
JacPDdissipationNth1trK = PDdissipationNth1trK;
JacPDdissipationNth1Xt1 = PDdissipationNth1Xt1;
@@ -1094,6 +1128,8 @@ static void ML_BSSN_O2_Dissipation_Body(cGH const * restrict const cctkGH, int c
JacPDdissipationNth2phi = PDdissipationNth2phi;
+ JacPDdissipationNth2Theta = PDdissipationNth2Theta;
+
JacPDdissipationNth2trK = PDdissipationNth2trK;
JacPDdissipationNth2Xt1 = PDdissipationNth2Xt1;
@@ -1144,6 +1180,8 @@ static void ML_BSSN_O2_Dissipation_Body(cGH const * restrict const cctkGH, int c
JacPDdissipationNth3phi = PDdissipationNth3phi;
+ JacPDdissipationNth3Theta = PDdissipationNth3Theta;
+
JacPDdissipationNth3trK = PDdissipationNth3trK;
JacPDdissipationNth3Xt1 = PDdissipationNth3Xt1;
@@ -1189,6 +1227,9 @@ static void ML_BSSN_O2_Dissipation_Body(cGH const * restrict const cctkGH, int c
Xt3rhsL =
kadd(Xt3rhsL,kmadd(epsdiss1,JacPDdissipationNth1Xt3,kmadd(epsdiss2,JacPDdissipationNth2Xt3,kmul(epsdiss3,JacPDdissipationNth3Xt3))));
+ ThetarhsL =
+ kadd(ThetarhsL,kmadd(epsdiss1,JacPDdissipationNth1Theta,kmadd(epsdiss2,JacPDdissipationNth2Theta,kmul(epsdiss3,JacPDdissipationNth3Theta))));
+
trKrhsL =
kadd(trKrhsL,kmadd(epsdiss1,JacPDdissipationNth1trK,kmadd(epsdiss2,JacPDdissipationNth2trK,kmul(epsdiss3,JacPDdissipationNth3trK))));
@@ -1257,6 +1298,7 @@ static void ML_BSSN_O2_Dissipation_Body(cGH const * restrict const cctkGH, int c
vec_store_nta_partial(gt23rhs[index],gt23rhsL);
vec_store_nta_partial(gt33rhs[index],gt33rhsL);
vec_store_nta_partial(phirhs[index],phirhsL);
+ vec_store_nta_partial(Thetarhs[index],ThetarhsL);
vec_store_nta_partial(trKrhs[index],trKrhsL);
vec_store_nta_partial(Xt1rhs[index],Xt1rhsL);
vec_store_nta_partial(Xt2rhs[index],Xt2rhsL);
@@ -1298,9 +1340,11 @@ extern "C" void ML_BSSN_O2_Dissipation(CCTK_ARGUMENTS)
"ML_BSSN_O2::ML_metricrhs",
"ML_BSSN_O2::ML_shift",
"ML_BSSN_O2::ML_shiftrhs",
+ "ML_BSSN_O2::ML_Theta",
+ "ML_BSSN_O2::ML_Thetarhs",
"ML_BSSN_O2::ML_trace_curv",
"ML_BSSN_O2::ML_trace_curvrhs"};
- GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O2_Dissipation", 18, groups);
+ GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_O2_Dissipation", 20, groups);
switch(fdOrder)
{