diff options
Diffstat (limited to 'ML_BSSN_O2/src/ML_BSSN_O2_Dissipation.cc')
-rw-r--r-- | ML_BSSN_O2/src/ML_BSSN_O2_Dissipation.cc | 46 |
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) { |