aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2008-06-16 19:57:19 -0500
committerErik Schnetter <schnetter@cct.lsu.edu>2008-06-16 19:57:19 -0500
commit9c1c9c787b183dba5ef41fbfb9028dbbf8b986e5 (patch)
tree2a48e7294892c71b80f0818e8341df5d480f8e0b
parent07b0996314e3b0f22e1781dc5c2239bd0e474f03 (diff)
Add new parameter calculate_ADMBase_variables_at, which determines whether
the ADMBase variables are calculated at every substep in MoL_PostStep, or only once at CCTK_EVOL, or only once at CCTK_ANALYSIS. Remove unused calculation convertToADMBaseLapseShiftCalc.
-rw-r--r--ML_BSSN/param.ccl8
-rw-r--r--ML_BSSN/schedule.ccl34
-rw-r--r--ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c2
-rw-r--r--ML_BSSN/src/ML_BSSN_Minkowski.c2
-rw-r--r--ML_BSSN/src/ML_BSSN_RHS.c35
-rw-r--r--ML_BSSN/src/ML_BSSN_RHSBoundary.c2
-rw-r--r--ML_BSSN/src/ML_BSSN_boundary.c2
-rw-r--r--ML_BSSN/src/ML_BSSN_constraints.c23
-rw-r--r--ML_BSSN/src/ML_BSSN_constraints_boundary.c2
-rw-r--r--ML_BSSN/src/ML_BSSN_convertFromADMBase.c2
-rw-r--r--ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c2
-rw-r--r--ML_BSSN/src/ML_BSSN_convertToADMBase.c2
-rw-r--r--ML_BSSN/src/ML_BSSN_enforce.c2
-rw-r--r--ML_BSSN_Helper/param.ccl1
-rw-r--r--ML_BSSN_Helper/schedule.ccl23
-rw-r--r--ML_BSSN_M/param.ccl8
-rw-r--r--ML_BSSN_M/schedule.ccl34
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_ADMBaseBoundary.c2
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_Minkowski.c2
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_RHS.c35
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_RHSBoundary.c2
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_boundary.c2
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_constraints.c23
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_constraints_boundary.c2
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_convertFromADMBase.c2
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_convertFromADMBaseGamma.c2
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_convertToADMBase.c2
-rw-r--r--ML_BSSN_M/src/ML_BSSN_M_enforce.c2
-rw-r--r--ML_BSSN_MP/param.ccl8
-rw-r--r--ML_BSSN_MP/schedule.ccl34
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_ADMBaseBoundary.c2
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c2
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_RHS.c35
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_RHSBoundary.c2
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_boundary.c2
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_constraints.c23
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c2
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c2
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c2
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c2
-rw-r--r--ML_BSSN_MP/src/ML_BSSN_MP_enforce.c2
-rw-r--r--ML_BSSN_MP_Helper/param.ccl1
-rw-r--r--ML_BSSN_MP_Helper/schedule.ccl23
-rw-r--r--ML_BSSN_M_Helper/param.ccl1
-rw-r--r--ML_BSSN_M_Helper/schedule.ccl23
-rw-r--r--m/McLachlan_BSSN.m56
46 files changed, 178 insertions, 304 deletions
diff --git a/ML_BSSN/param.ccl b/ML_BSSN/param.ccl
index 721cb75..70e3d4d 100644
--- a/ML_BSSN/param.ccl
+++ b/ML_BSSN/param.ccl
@@ -116,6 +116,14 @@ KEYWORD my_boundary_condition "my_boundary_condition"
} "none"
restricted:
+KEYWORD calculate_ADMBase_variables_at "calculate_ADMBase_variables_at"
+{
+ "MoL_PostStep" :: "MoL_PostStep"
+ "CCTK_EVOL" :: "CCTK_EVOL"
+ "CCTK_ANALYSIS" :: "CCTK_ANALYSIS"
+} "MoL_PostStep"
+
+restricted:
CCTK_INT ML_BSSN_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars
{
25:25 :: "Number of evolved variables used by this thorn"
diff --git a/ML_BSSN/schedule.ccl b/ML_BSSN/schedule.ccl
index 852e0d3..254e1ff 100644
--- a/ML_BSSN/schedule.ccl
+++ b/ML_BSSN/schedule.ccl
@@ -220,14 +220,10 @@ if (CCTK_EQUALS(my_rhs_boundary_condition, "radiative"))
} "ML_BSSN_RHSBoundary"
}
-
-if (CCTK_EQUALS(evolution_method, "ML_BSSN"))
+schedule ML_BSSN_enforce IN MoL_PostStep BEFORE ML_BSSN_BoundConds
{
- schedule ML_BSSN_enforce IN MoL_PostStep BEFORE ML_BSSN_BoundConds
- {
- LANG: C
- } "ML_BSSN_enforce"
-}
+ LANG: C
+} "ML_BSSN_enforce"
if (CCTK_EQUALS(my_boundary_condition, "Minkowski"))
@@ -238,25 +234,21 @@ if (CCTK_EQUALS(my_boundary_condition, "Minkowski"))
} "ML_BSSN_boundary"
}
-
-if (CCTK_EQUALS(evolution_method, "ML_BSSN"))
+schedule ML_BSSN_convertToADMBase IN ML_BSSN_convertToADMBaseGroup
{
- schedule ML_BSSN_convertToADMBase IN MoL_PostStep AFTER (ML_BSSN_ApplyBCs ML_BSSN_enforce)
- {
- LANG: C
- SYNC: ADMBase::curv
- SYNC: ADMBase::dtlapse
- SYNC: ADMBase::dtshift
- SYNC: ADMBase::lapse
- SYNC: ADMBase::metric
- SYNC: ADMBase::shift
- } "ML_BSSN_convertToADMBase"
-}
+ LANG: C
+ SYNC: ADMBase::curv
+ SYNC: ADMBase::dtlapse
+ SYNC: ADMBase::dtshift
+ SYNC: ADMBase::lapse
+ SYNC: ADMBase::metric
+ SYNC: ADMBase::shift
+} "ML_BSSN_convertToADMBase"
if (CCTK_EQUALS(my_boundary_condition, "Minkowski"))
{
- schedule ML_BSSN_ADMBaseBoundary IN MoL_PostStep AFTER ML_BSSN_convertToADMBase
+ schedule ML_BSSN_ADMBaseBoundary IN ML_BSSN_convertToADMBaseGroup AFTER ML_BSSN_convertToADMBase
{
LANG: C
} "ML_BSSN_ADMBaseBoundary"
diff --git a/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c b/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c
index 7595fa4..df35b8c 100644
--- a/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c
+++ b/ML_BSSN/src/ML_BSSN_ADMBaseBoundary.c
@@ -102,7 +102,7 @@ void ML_BSSN_ADMBaseBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir,
#pragma omp parallel
LC_LOOP3 (ML_BSSN_ADMBaseBoundary,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN/src/ML_BSSN_Minkowski.c b/ML_BSSN/src/ML_BSSN_Minkowski.c
index b4a7a25..7dc16e2 100644
--- a/ML_BSSN/src/ML_BSSN_Minkowski.c
+++ b/ML_BSSN/src/ML_BSSN_Minkowski.c
@@ -102,7 +102,7 @@ void ML_BSSN_Minkowski_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_I
#pragma omp parallel
LC_LOOP3 (ML_BSSN_Minkowski,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN/src/ML_BSSN_RHS.c b/ML_BSSN/src/ML_BSSN_RHS.c
index dfa32e4..bf71c76 100644
--- a/ML_BSSN/src/ML_BSSN_RHS.c
+++ b/ML_BSSN/src/ML_BSSN_RHS.c
@@ -102,7 +102,7 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
#pragma omp parallel
LC_LOOP3 (ML_BSSN_RHS,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
@@ -164,10 +164,7 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
CCTK_REAL PDstandardNth33alpha = INITVALUE;
CCTK_REAL PDstandardNth12alpha = INITVALUE;
CCTK_REAL PDstandardNth13alpha = INITVALUE;
- CCTK_REAL PDstandardNth21alpha = INITVALUE;
CCTK_REAL PDstandardNth23alpha = INITVALUE;
- CCTK_REAL PDstandardNth31alpha = INITVALUE;
- CCTK_REAL PDstandardNth32alpha = INITVALUE;
CCTK_REAL PDstandardNth1At11 = INITVALUE;
CCTK_REAL PDstandardNth2At11 = INITVALUE;
CCTK_REAL PDstandardNth3At11 = INITVALUE;
@@ -203,10 +200,7 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
CCTK_REAL PDstandardNth33beta1 = INITVALUE;
CCTK_REAL PDstandardNth12beta1 = INITVALUE;
CCTK_REAL PDstandardNth13beta1 = INITVALUE;
- CCTK_REAL PDstandardNth21beta1 = INITVALUE;
CCTK_REAL PDstandardNth23beta1 = INITVALUE;
- CCTK_REAL PDstandardNth31beta1 = INITVALUE;
- CCTK_REAL PDstandardNth32beta1 = INITVALUE;
CCTK_REAL PDstandardNth1beta2 = INITVALUE;
CCTK_REAL PDstandardNth2beta2 = INITVALUE;
CCTK_REAL PDstandardNth3beta2 = INITVALUE;
@@ -215,10 +209,7 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
CCTK_REAL PDstandardNth33beta2 = INITVALUE;
CCTK_REAL PDstandardNth12beta2 = INITVALUE;
CCTK_REAL PDstandardNth13beta2 = INITVALUE;
- CCTK_REAL PDstandardNth21beta2 = INITVALUE;
CCTK_REAL PDstandardNth23beta2 = INITVALUE;
- CCTK_REAL PDstandardNth31beta2 = INITVALUE;
- CCTK_REAL PDstandardNth32beta2 = INITVALUE;
CCTK_REAL PDstandardNth1beta3 = INITVALUE;
CCTK_REAL PDstandardNth2beta3 = INITVALUE;
CCTK_REAL PDstandardNth3beta3 = INITVALUE;
@@ -227,10 +218,7 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
CCTK_REAL PDstandardNth33beta3 = INITVALUE;
CCTK_REAL PDstandardNth12beta3 = INITVALUE;
CCTK_REAL PDstandardNth13beta3 = INITVALUE;
- CCTK_REAL PDstandardNth21beta3 = INITVALUE;
CCTK_REAL PDstandardNth23beta3 = INITVALUE;
- CCTK_REAL PDstandardNth31beta3 = INITVALUE;
- CCTK_REAL PDstandardNth32beta3 = INITVALUE;
CCTK_REAL PDstandardNth1gt11 = INITVALUE;
CCTK_REAL PDstandardNth2gt11 = INITVALUE;
CCTK_REAL PDstandardNth3gt11 = INITVALUE;
@@ -239,10 +227,7 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
CCTK_REAL PDstandardNth33gt11 = INITVALUE;
CCTK_REAL PDstandardNth12gt11 = INITVALUE;
CCTK_REAL PDstandardNth13gt11 = INITVALUE;
- CCTK_REAL PDstandardNth21gt11 = INITVALUE;
CCTK_REAL PDstandardNth23gt11 = INITVALUE;
- CCTK_REAL PDstandardNth31gt11 = INITVALUE;
- CCTK_REAL PDstandardNth32gt11 = INITVALUE;
CCTK_REAL PDstandardNth1gt12 = INITVALUE;
CCTK_REAL PDstandardNth2gt12 = INITVALUE;
CCTK_REAL PDstandardNth3gt12 = INITVALUE;
@@ -251,10 +236,7 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
CCTK_REAL PDstandardNth33gt12 = INITVALUE;
CCTK_REAL PDstandardNth12gt12 = INITVALUE;
CCTK_REAL PDstandardNth13gt12 = INITVALUE;
- CCTK_REAL PDstandardNth21gt12 = INITVALUE;
CCTK_REAL PDstandardNth23gt12 = INITVALUE;
- CCTK_REAL PDstandardNth31gt12 = INITVALUE;
- CCTK_REAL PDstandardNth32gt12 = INITVALUE;
CCTK_REAL PDstandardNth1gt13 = INITVALUE;
CCTK_REAL PDstandardNth2gt13 = INITVALUE;
CCTK_REAL PDstandardNth3gt13 = INITVALUE;
@@ -263,10 +245,7 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
CCTK_REAL PDstandardNth33gt13 = INITVALUE;
CCTK_REAL PDstandardNth12gt13 = INITVALUE;
CCTK_REAL PDstandardNth13gt13 = INITVALUE;
- CCTK_REAL PDstandardNth21gt13 = INITVALUE;
CCTK_REAL PDstandardNth23gt13 = INITVALUE;
- CCTK_REAL PDstandardNth31gt13 = INITVALUE;
- CCTK_REAL PDstandardNth32gt13 = INITVALUE;
CCTK_REAL PDstandardNth1gt22 = INITVALUE;
CCTK_REAL PDstandardNth2gt22 = INITVALUE;
CCTK_REAL PDstandardNth3gt22 = INITVALUE;
@@ -275,10 +254,7 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
CCTK_REAL PDstandardNth33gt22 = INITVALUE;
CCTK_REAL PDstandardNth12gt22 = INITVALUE;
CCTK_REAL PDstandardNth13gt22 = INITVALUE;
- CCTK_REAL PDstandardNth21gt22 = INITVALUE;
CCTK_REAL PDstandardNth23gt22 = INITVALUE;
- CCTK_REAL PDstandardNth31gt22 = INITVALUE;
- CCTK_REAL PDstandardNth32gt22 = INITVALUE;
CCTK_REAL PDstandardNth1gt23 = INITVALUE;
CCTK_REAL PDstandardNth2gt23 = INITVALUE;
CCTK_REAL PDstandardNth3gt23 = INITVALUE;
@@ -287,10 +263,7 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
CCTK_REAL PDstandardNth33gt23 = INITVALUE;
CCTK_REAL PDstandardNth12gt23 = INITVALUE;
CCTK_REAL PDstandardNth13gt23 = INITVALUE;
- CCTK_REAL PDstandardNth21gt23 = INITVALUE;
CCTK_REAL PDstandardNth23gt23 = INITVALUE;
- CCTK_REAL PDstandardNth31gt23 = INITVALUE;
- CCTK_REAL PDstandardNth32gt23 = INITVALUE;
CCTK_REAL PDstandardNth1gt33 = INITVALUE;
CCTK_REAL PDstandardNth2gt33 = INITVALUE;
CCTK_REAL PDstandardNth3gt33 = INITVALUE;
@@ -299,10 +272,7 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
CCTK_REAL PDstandardNth33gt33 = INITVALUE;
CCTK_REAL PDstandardNth12gt33 = INITVALUE;
CCTK_REAL PDstandardNth13gt33 = INITVALUE;
- CCTK_REAL PDstandardNth21gt33 = INITVALUE;
CCTK_REAL PDstandardNth23gt33 = INITVALUE;
- CCTK_REAL PDstandardNth31gt33 = INITVALUE;
- CCTK_REAL PDstandardNth32gt33 = INITVALUE;
CCTK_REAL PDstandardNth1phi = INITVALUE;
CCTK_REAL PDstandardNth2phi = INITVALUE;
CCTK_REAL PDstandardNth3phi = INITVALUE;
@@ -311,10 +281,7 @@ void ML_BSSN_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT con
CCTK_REAL PDstandardNth33phi = INITVALUE;
CCTK_REAL PDstandardNth12phi = INITVALUE;
CCTK_REAL PDstandardNth13phi = INITVALUE;
- CCTK_REAL PDstandardNth21phi = INITVALUE;
CCTK_REAL PDstandardNth23phi = INITVALUE;
- CCTK_REAL PDstandardNth31phi = INITVALUE;
- CCTK_REAL PDstandardNth32phi = INITVALUE;
CCTK_REAL PDstandardNth1trK = INITVALUE;
CCTK_REAL PDstandardNth2trK = INITVALUE;
CCTK_REAL PDstandardNth3trK = INITVALUE;
diff --git a/ML_BSSN/src/ML_BSSN_RHSBoundary.c b/ML_BSSN/src/ML_BSSN_RHSBoundary.c
index b747af2..303ceef 100644
--- a/ML_BSSN/src/ML_BSSN_RHSBoundary.c
+++ b/ML_BSSN/src/ML_BSSN_RHSBoundary.c
@@ -102,7 +102,7 @@ void ML_BSSN_RHSBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK
#pragma omp parallel
LC_LOOP3 (ML_BSSN_RHSBoundary,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN/src/ML_BSSN_boundary.c b/ML_BSSN/src/ML_BSSN_boundary.c
index 0dfd343..72294c1 100644
--- a/ML_BSSN/src/ML_BSSN_boundary.c
+++ b/ML_BSSN/src/ML_BSSN_boundary.c
@@ -102,7 +102,7 @@ void ML_BSSN_boundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_IN
#pragma omp parallel
LC_LOOP3 (ML_BSSN_boundary,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN/src/ML_BSSN_constraints.c b/ML_BSSN/src/ML_BSSN_constraints.c
index 4d86763..62bb163 100644
--- a/ML_BSSN/src/ML_BSSN_constraints.c
+++ b/ML_BSSN/src/ML_BSSN_constraints.c
@@ -102,7 +102,7 @@ void ML_BSSN_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK
#pragma omp parallel
LC_LOOP3 (ML_BSSN_constraints,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
@@ -165,10 +165,7 @@ void ML_BSSN_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK
CCTK_REAL PDstandardNth33gt11 = INITVALUE;
CCTK_REAL PDstandardNth12gt11 = INITVALUE;
CCTK_REAL PDstandardNth13gt11 = INITVALUE;
- CCTK_REAL PDstandardNth21gt11 = INITVALUE;
CCTK_REAL PDstandardNth23gt11 = INITVALUE;
- CCTK_REAL PDstandardNth31gt11 = INITVALUE;
- CCTK_REAL PDstandardNth32gt11 = INITVALUE;
CCTK_REAL PDstandardNth1gt12 = INITVALUE;
CCTK_REAL PDstandardNth2gt12 = INITVALUE;
CCTK_REAL PDstandardNth3gt12 = INITVALUE;
@@ -177,10 +174,7 @@ void ML_BSSN_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK
CCTK_REAL PDstandardNth33gt12 = INITVALUE;
CCTK_REAL PDstandardNth12gt12 = INITVALUE;
CCTK_REAL PDstandardNth13gt12 = INITVALUE;
- CCTK_REAL PDstandardNth21gt12 = INITVALUE;
CCTK_REAL PDstandardNth23gt12 = INITVALUE;
- CCTK_REAL PDstandardNth31gt12 = INITVALUE;
- CCTK_REAL PDstandardNth32gt12 = INITVALUE;
CCTK_REAL PDstandardNth1gt13 = INITVALUE;
CCTK_REAL PDstandardNth2gt13 = INITVALUE;
CCTK_REAL PDstandardNth3gt13 = INITVALUE;
@@ -189,10 +183,7 @@ void ML_BSSN_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK
CCTK_REAL PDstandardNth33gt13 = INITVALUE;
CCTK_REAL PDstandardNth12gt13 = INITVALUE;
CCTK_REAL PDstandardNth13gt13 = INITVALUE;
- CCTK_REAL PDstandardNth21gt13 = INITVALUE;
CCTK_REAL PDstandardNth23gt13 = INITVALUE;
- CCTK_REAL PDstandardNth31gt13 = INITVALUE;
- CCTK_REAL PDstandardNth32gt13 = INITVALUE;
CCTK_REAL PDstandardNth1gt22 = INITVALUE;
CCTK_REAL PDstandardNth2gt22 = INITVALUE;
CCTK_REAL PDstandardNth3gt22 = INITVALUE;
@@ -201,10 +192,7 @@ void ML_BSSN_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK
CCTK_REAL PDstandardNth33gt22 = INITVALUE;
CCTK_REAL PDstandardNth12gt22 = INITVALUE;
CCTK_REAL PDstandardNth13gt22 = INITVALUE;
- CCTK_REAL PDstandardNth21gt22 = INITVALUE;
CCTK_REAL PDstandardNth23gt22 = INITVALUE;
- CCTK_REAL PDstandardNth31gt22 = INITVALUE;
- CCTK_REAL PDstandardNth32gt22 = INITVALUE;
CCTK_REAL PDstandardNth1gt23 = INITVALUE;
CCTK_REAL PDstandardNth2gt23 = INITVALUE;
CCTK_REAL PDstandardNth3gt23 = INITVALUE;
@@ -213,10 +201,7 @@ void ML_BSSN_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK
CCTK_REAL PDstandardNth33gt23 = INITVALUE;
CCTK_REAL PDstandardNth12gt23 = INITVALUE;
CCTK_REAL PDstandardNth13gt23 = INITVALUE;
- CCTK_REAL PDstandardNth21gt23 = INITVALUE;
CCTK_REAL PDstandardNth23gt23 = INITVALUE;
- CCTK_REAL PDstandardNth31gt23 = INITVALUE;
- CCTK_REAL PDstandardNth32gt23 = INITVALUE;
CCTK_REAL PDstandardNth1gt33 = INITVALUE;
CCTK_REAL PDstandardNth2gt33 = INITVALUE;
CCTK_REAL PDstandardNth3gt33 = INITVALUE;
@@ -225,10 +210,7 @@ void ML_BSSN_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK
CCTK_REAL PDstandardNth33gt33 = INITVALUE;
CCTK_REAL PDstandardNth12gt33 = INITVALUE;
CCTK_REAL PDstandardNth13gt33 = INITVALUE;
- CCTK_REAL PDstandardNth21gt33 = INITVALUE;
CCTK_REAL PDstandardNth23gt33 = INITVALUE;
- CCTK_REAL PDstandardNth31gt33 = INITVALUE;
- CCTK_REAL PDstandardNth32gt33 = INITVALUE;
CCTK_REAL PDstandardNth1phi = INITVALUE;
CCTK_REAL PDstandardNth2phi = INITVALUE;
CCTK_REAL PDstandardNth3phi = INITVALUE;
@@ -237,10 +219,7 @@ void ML_BSSN_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK
CCTK_REAL PDstandardNth33phi = INITVALUE;
CCTK_REAL PDstandardNth12phi = INITVALUE;
CCTK_REAL PDstandardNth13phi = INITVALUE;
- CCTK_REAL PDstandardNth21phi = INITVALUE;
CCTK_REAL PDstandardNth23phi = INITVALUE;
- CCTK_REAL PDstandardNth31phi = INITVALUE;
- CCTK_REAL PDstandardNth32phi = INITVALUE;
CCTK_REAL PDstandardNth1trK = INITVALUE;
CCTK_REAL PDstandardNth2trK = INITVALUE;
CCTK_REAL PDstandardNth3trK = INITVALUE;
diff --git a/ML_BSSN/src/ML_BSSN_constraints_boundary.c b/ML_BSSN/src/ML_BSSN_constraints_boundary.c
index 47e7028..c27db97 100644
--- a/ML_BSSN/src/ML_BSSN_constraints_boundary.c
+++ b/ML_BSSN/src/ML_BSSN_constraints_boundary.c
@@ -102,7 +102,7 @@ void ML_BSSN_constraints_boundary_Body(cGH const * const cctkGH, CCTK_INT const
#pragma omp parallel
LC_LOOP3 (ML_BSSN_constraints_boundary,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN/src/ML_BSSN_convertFromADMBase.c b/ML_BSSN/src/ML_BSSN_convertFromADMBase.c
index 424f219..c096e0b 100644
--- a/ML_BSSN/src/ML_BSSN_convertFromADMBase.c
+++ b/ML_BSSN/src/ML_BSSN_convertFromADMBase.c
@@ -102,7 +102,7 @@ void ML_BSSN_convertFromADMBase_Body(cGH const * const cctkGH, CCTK_INT const di
#pragma omp parallel
LC_LOOP3 (ML_BSSN_convertFromADMBase,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c
index e87fdcb..5169c4d 100644
--- a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c
+++ b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.c
@@ -102,7 +102,7 @@ void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * const cctkGH, CCTK_INT con
#pragma omp parallel
LC_LOOP3 (ML_BSSN_convertFromADMBaseGamma,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBase.c b/ML_BSSN/src/ML_BSSN_convertToADMBase.c
index f59ac7b..75238e0 100644
--- a/ML_BSSN/src/ML_BSSN_convertToADMBase.c
+++ b/ML_BSSN/src/ML_BSSN_convertToADMBase.c
@@ -102,7 +102,7 @@ void ML_BSSN_convertToADMBase_Body(cGH const * const cctkGH, CCTK_INT const dir,
#pragma omp parallel
LC_LOOP3 (ML_BSSN_convertToADMBase,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN/src/ML_BSSN_enforce.c b/ML_BSSN/src/ML_BSSN_enforce.c
index 8591735..dc7610e 100644
--- a/ML_BSSN/src/ML_BSSN_enforce.c
+++ b/ML_BSSN/src/ML_BSSN_enforce.c
@@ -102,7 +102,7 @@ void ML_BSSN_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
#pragma omp parallel
LC_LOOP3 (ML_BSSN_enforce,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN_Helper/param.ccl b/ML_BSSN_Helper/param.ccl
index e9a7784..8669144 100644
--- a/ML_BSSN_Helper/param.ccl
+++ b/ML_BSSN_Helper/param.ccl
@@ -9,3 +9,4 @@ USES CCTK_INT boundary_width
SHARES: ML_BSSN
USES CCTK_INT timelevels
+USES KEYWORD calculate_ADMBase_variables_at
diff --git a/ML_BSSN_Helper/schedule.ccl b/ML_BSSN_Helper/schedule.ccl
index e6ec875..74ec69e 100644
--- a/ML_BSSN_Helper/schedule.ccl
+++ b/ML_BSSN_Helper/schedule.ccl
@@ -56,6 +56,29 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN")) {
+ if (CCTK_EQUALS (calculate_ADMBase_variables_at, "MoL_PostStep"))
+ {
+ SCHEDULE GROUP ML_BSSN_convertToADMBaseGroup IN MoL_PostStep AFTER (ML_BSSN_ApplyBCs ML_BSSN_enforce)
+ {
+ } "Calculate ADM variables"
+ }
+ else if (CCTK_EQUALS (calculate_ADMBase_variables_at, "CCTK_EVOL"))
+ {
+ SCHEDULE GROUP ML_BSSN_convertToADMBaseGroup AT evol AFTER MoL_Evolution
+ {
+ } "Calculate ADM variables"
+ }
+ else if (CCTK_EQUALS (calculate_ADMBase_variables_at, "CCTK_ANALYSIS"))
+ {
+ SCHEDULE GROUP ML_BSSN_convertToADMBaseGroup AT analysis
+ {
+ TRIGGERS: ML_BSSN::ML_Ham
+ TRIGGERS: ML_BSSN::ML_mom
+ } "Calculate ADM variables"
+ }
+
+
+
SCHEDULE GROUP ML_BSSN_constraintsCalcGroup AT analysis
{
TRIGGERS: ML_BSSN::ML_Ham
diff --git a/ML_BSSN_M/param.ccl b/ML_BSSN_M/param.ccl
index d6d2958..7c658e6 100644
--- a/ML_BSSN_M/param.ccl
+++ b/ML_BSSN_M/param.ccl
@@ -116,6 +116,14 @@ KEYWORD my_boundary_condition "my_boundary_condition"
} "none"
restricted:
+KEYWORD calculate_ADMBase_variables_at "calculate_ADMBase_variables_at"
+{
+ "MoL_PostStep" :: "MoL_PostStep"
+ "CCTK_EVOL" :: "CCTK_EVOL"
+ "CCTK_ANALYSIS" :: "CCTK_ANALYSIS"
+} "MoL_PostStep"
+
+restricted:
CCTK_INT ML_BSSN_M_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars
{
25:25 :: "Number of evolved variables used by this thorn"
diff --git a/ML_BSSN_M/schedule.ccl b/ML_BSSN_M/schedule.ccl
index a102348..53568fe 100644
--- a/ML_BSSN_M/schedule.ccl
+++ b/ML_BSSN_M/schedule.ccl
@@ -220,14 +220,10 @@ if (CCTK_EQUALS(my_rhs_boundary_condition, "radiative"))
} "ML_BSSN_M_RHSBoundary"
}
-
-if (CCTK_EQUALS(evolution_method, "ML_BSSN_M"))
+schedule ML_BSSN_M_enforce IN MoL_PostStep BEFORE ML_BSSN_M_BoundConds
{
- schedule ML_BSSN_M_enforce IN MoL_PostStep BEFORE ML_BSSN_M_BoundConds
- {
- LANG: C
- } "ML_BSSN_M_enforce"
-}
+ LANG: C
+} "ML_BSSN_M_enforce"
if (CCTK_EQUALS(my_boundary_condition, "Minkowski"))
@@ -238,25 +234,21 @@ if (CCTK_EQUALS(my_boundary_condition, "Minkowski"))
} "ML_BSSN_M_boundary"
}
-
-if (CCTK_EQUALS(evolution_method, "ML_BSSN_M"))
+schedule ML_BSSN_M_convertToADMBase IN ML_BSSN_convertToADMBaseGroup
{
- schedule ML_BSSN_M_convertToADMBase IN MoL_PostStep AFTER (ML_BSSN_M_ApplyBCs ML_BSSN_M_enforce)
- {
- LANG: C
- SYNC: ADMBase::curv
- SYNC: ADMBase::dtlapse
- SYNC: ADMBase::dtshift
- SYNC: ADMBase::lapse
- SYNC: ADMBase::metric
- SYNC: ADMBase::shift
- } "ML_BSSN_M_convertToADMBase"
-}
+ LANG: C
+ SYNC: ADMBase::curv
+ SYNC: ADMBase::dtlapse
+ SYNC: ADMBase::dtshift
+ SYNC: ADMBase::lapse
+ SYNC: ADMBase::metric
+ SYNC: ADMBase::shift
+} "ML_BSSN_M_convertToADMBase"
if (CCTK_EQUALS(my_boundary_condition, "Minkowski"))
{
- schedule ML_BSSN_M_ADMBaseBoundary IN MoL_PostStep AFTER ML_BSSN_M_convertToADMBase
+ schedule ML_BSSN_M_ADMBaseBoundary IN ML_BSSN_convertToADMBaseGroup AFTER ML_BSSN_M_convertToADMBase
{
LANG: C
} "ML_BSSN_M_ADMBaseBoundary"
diff --git a/ML_BSSN_M/src/ML_BSSN_M_ADMBaseBoundary.c b/ML_BSSN_M/src/ML_BSSN_M_ADMBaseBoundary.c
index 1e5c709..071f4aa 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_ADMBaseBoundary.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_ADMBaseBoundary.c
@@ -102,7 +102,7 @@ void ML_BSSN_M_ADMBaseBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir
#pragma omp parallel
LC_LOOP3 (ML_BSSN_M_ADMBaseBoundary,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN_M/src/ML_BSSN_M_Minkowski.c b/ML_BSSN_M/src/ML_BSSN_M_Minkowski.c
index 6351860..4380828 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_Minkowski.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_Minkowski.c
@@ -102,7 +102,7 @@ void ML_BSSN_M_Minkowski_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK
#pragma omp parallel
LC_LOOP3 (ML_BSSN_M_Minkowski,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN_M/src/ML_BSSN_M_RHS.c b/ML_BSSN_M/src/ML_BSSN_M_RHS.c
index f82e7a9..42a48a2 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_RHS.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_RHS.c
@@ -102,7 +102,7 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
#pragma omp parallel
LC_LOOP3 (ML_BSSN_M_RHS,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
@@ -179,10 +179,7 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
CCTK_REAL PDstandardNth33alpha = INITVALUE;
CCTK_REAL PDstandardNth12alpha = INITVALUE;
CCTK_REAL PDstandardNth13alpha = INITVALUE;
- CCTK_REAL PDstandardNth21alpha = INITVALUE;
CCTK_REAL PDstandardNth23alpha = INITVALUE;
- CCTK_REAL PDstandardNth31alpha = INITVALUE;
- CCTK_REAL PDstandardNth32alpha = INITVALUE;
CCTK_REAL PDstandardNth1At11 = INITVALUE;
CCTK_REAL PDstandardNth2At11 = INITVALUE;
CCTK_REAL PDstandardNth3At11 = INITVALUE;
@@ -218,10 +215,7 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
CCTK_REAL PDstandardNth33beta1 = INITVALUE;
CCTK_REAL PDstandardNth12beta1 = INITVALUE;
CCTK_REAL PDstandardNth13beta1 = INITVALUE;
- CCTK_REAL PDstandardNth21beta1 = INITVALUE;
CCTK_REAL PDstandardNth23beta1 = INITVALUE;
- CCTK_REAL PDstandardNth31beta1 = INITVALUE;
- CCTK_REAL PDstandardNth32beta1 = INITVALUE;
CCTK_REAL PDstandardNth1beta2 = INITVALUE;
CCTK_REAL PDstandardNth2beta2 = INITVALUE;
CCTK_REAL PDstandardNth3beta2 = INITVALUE;
@@ -230,10 +224,7 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
CCTK_REAL PDstandardNth33beta2 = INITVALUE;
CCTK_REAL PDstandardNth12beta2 = INITVALUE;
CCTK_REAL PDstandardNth13beta2 = INITVALUE;
- CCTK_REAL PDstandardNth21beta2 = INITVALUE;
CCTK_REAL PDstandardNth23beta2 = INITVALUE;
- CCTK_REAL PDstandardNth31beta2 = INITVALUE;
- CCTK_REAL PDstandardNth32beta2 = INITVALUE;
CCTK_REAL PDstandardNth1beta3 = INITVALUE;
CCTK_REAL PDstandardNth2beta3 = INITVALUE;
CCTK_REAL PDstandardNth3beta3 = INITVALUE;
@@ -242,10 +233,7 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
CCTK_REAL PDstandardNth33beta3 = INITVALUE;
CCTK_REAL PDstandardNth12beta3 = INITVALUE;
CCTK_REAL PDstandardNth13beta3 = INITVALUE;
- CCTK_REAL PDstandardNth21beta3 = INITVALUE;
CCTK_REAL PDstandardNth23beta3 = INITVALUE;
- CCTK_REAL PDstandardNth31beta3 = INITVALUE;
- CCTK_REAL PDstandardNth32beta3 = INITVALUE;
CCTK_REAL PDstandardNth1gt11 = INITVALUE;
CCTK_REAL PDstandardNth2gt11 = INITVALUE;
CCTK_REAL PDstandardNth3gt11 = INITVALUE;
@@ -254,10 +242,7 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
CCTK_REAL PDstandardNth33gt11 = INITVALUE;
CCTK_REAL PDstandardNth12gt11 = INITVALUE;
CCTK_REAL PDstandardNth13gt11 = INITVALUE;
- CCTK_REAL PDstandardNth21gt11 = INITVALUE;
CCTK_REAL PDstandardNth23gt11 = INITVALUE;
- CCTK_REAL PDstandardNth31gt11 = INITVALUE;
- CCTK_REAL PDstandardNth32gt11 = INITVALUE;
CCTK_REAL PDstandardNth1gt12 = INITVALUE;
CCTK_REAL PDstandardNth2gt12 = INITVALUE;
CCTK_REAL PDstandardNth3gt12 = INITVALUE;
@@ -266,10 +251,7 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
CCTK_REAL PDstandardNth33gt12 = INITVALUE;
CCTK_REAL PDstandardNth12gt12 = INITVALUE;
CCTK_REAL PDstandardNth13gt12 = INITVALUE;
- CCTK_REAL PDstandardNth21gt12 = INITVALUE;
CCTK_REAL PDstandardNth23gt12 = INITVALUE;
- CCTK_REAL PDstandardNth31gt12 = INITVALUE;
- CCTK_REAL PDstandardNth32gt12 = INITVALUE;
CCTK_REAL PDstandardNth1gt13 = INITVALUE;
CCTK_REAL PDstandardNth2gt13 = INITVALUE;
CCTK_REAL PDstandardNth3gt13 = INITVALUE;
@@ -278,10 +260,7 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
CCTK_REAL PDstandardNth33gt13 = INITVALUE;
CCTK_REAL PDstandardNth12gt13 = INITVALUE;
CCTK_REAL PDstandardNth13gt13 = INITVALUE;
- CCTK_REAL PDstandardNth21gt13 = INITVALUE;
CCTK_REAL PDstandardNth23gt13 = INITVALUE;
- CCTK_REAL PDstandardNth31gt13 = INITVALUE;
- CCTK_REAL PDstandardNth32gt13 = INITVALUE;
CCTK_REAL PDstandardNth1gt22 = INITVALUE;
CCTK_REAL PDstandardNth2gt22 = INITVALUE;
CCTK_REAL PDstandardNth3gt22 = INITVALUE;
@@ -290,10 +269,7 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
CCTK_REAL PDstandardNth33gt22 = INITVALUE;
CCTK_REAL PDstandardNth12gt22 = INITVALUE;
CCTK_REAL PDstandardNth13gt22 = INITVALUE;
- CCTK_REAL PDstandardNth21gt22 = INITVALUE;
CCTK_REAL PDstandardNth23gt22 = INITVALUE;
- CCTK_REAL PDstandardNth31gt22 = INITVALUE;
- CCTK_REAL PDstandardNth32gt22 = INITVALUE;
CCTK_REAL PDstandardNth1gt23 = INITVALUE;
CCTK_REAL PDstandardNth2gt23 = INITVALUE;
CCTK_REAL PDstandardNth3gt23 = INITVALUE;
@@ -302,10 +278,7 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
CCTK_REAL PDstandardNth33gt23 = INITVALUE;
CCTK_REAL PDstandardNth12gt23 = INITVALUE;
CCTK_REAL PDstandardNth13gt23 = INITVALUE;
- CCTK_REAL PDstandardNth21gt23 = INITVALUE;
CCTK_REAL PDstandardNth23gt23 = INITVALUE;
- CCTK_REAL PDstandardNth31gt23 = INITVALUE;
- CCTK_REAL PDstandardNth32gt23 = INITVALUE;
CCTK_REAL PDstandardNth1gt33 = INITVALUE;
CCTK_REAL PDstandardNth2gt33 = INITVALUE;
CCTK_REAL PDstandardNth3gt33 = INITVALUE;
@@ -314,10 +287,7 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
CCTK_REAL PDstandardNth33gt33 = INITVALUE;
CCTK_REAL PDstandardNth12gt33 = INITVALUE;
CCTK_REAL PDstandardNth13gt33 = INITVALUE;
- CCTK_REAL PDstandardNth21gt33 = INITVALUE;
CCTK_REAL PDstandardNth23gt33 = INITVALUE;
- CCTK_REAL PDstandardNth31gt33 = INITVALUE;
- CCTK_REAL PDstandardNth32gt33 = INITVALUE;
CCTK_REAL PDstandardNth1phi = INITVALUE;
CCTK_REAL PDstandardNth2phi = INITVALUE;
CCTK_REAL PDstandardNth3phi = INITVALUE;
@@ -326,10 +296,7 @@ void ML_BSSN_M_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT c
CCTK_REAL PDstandardNth33phi = INITVALUE;
CCTK_REAL PDstandardNth12phi = INITVALUE;
CCTK_REAL PDstandardNth13phi = INITVALUE;
- CCTK_REAL PDstandardNth21phi = INITVALUE;
CCTK_REAL PDstandardNth23phi = INITVALUE;
- CCTK_REAL PDstandardNth31phi = INITVALUE;
- CCTK_REAL PDstandardNth32phi = INITVALUE;
CCTK_REAL PDstandardNth1trK = INITVALUE;
CCTK_REAL PDstandardNth2trK = INITVALUE;
CCTK_REAL PDstandardNth3trK = INITVALUE;
diff --git a/ML_BSSN_M/src/ML_BSSN_M_RHSBoundary.c b/ML_BSSN_M/src/ML_BSSN_M_RHSBoundary.c
index b4ce177..9976421 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_RHSBoundary.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_RHSBoundary.c
@@ -102,7 +102,7 @@ void ML_BSSN_M_RHSBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CC
#pragma omp parallel
LC_LOOP3 (ML_BSSN_M_RHSBoundary,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN_M/src/ML_BSSN_M_boundary.c b/ML_BSSN_M/src/ML_BSSN_M_boundary.c
index 08432d5..28e2cbb 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_boundary.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_boundary.c
@@ -102,7 +102,7 @@ void ML_BSSN_M_boundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_
#pragma omp parallel
LC_LOOP3 (ML_BSSN_M_boundary,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN_M/src/ML_BSSN_M_constraints.c b/ML_BSSN_M/src/ML_BSSN_M_constraints.c
index e21c421..2d101e4 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_constraints.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_constraints.c
@@ -102,7 +102,7 @@ void ML_BSSN_M_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CC
#pragma omp parallel
LC_LOOP3 (ML_BSSN_M_constraints,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
@@ -181,10 +181,7 @@ void ML_BSSN_M_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CC
CCTK_REAL PDstandardNth33gt11 = INITVALUE;
CCTK_REAL PDstandardNth12gt11 = INITVALUE;
CCTK_REAL PDstandardNth13gt11 = INITVALUE;
- CCTK_REAL PDstandardNth21gt11 = INITVALUE;
CCTK_REAL PDstandardNth23gt11 = INITVALUE;
- CCTK_REAL PDstandardNth31gt11 = INITVALUE;
- CCTK_REAL PDstandardNth32gt11 = INITVALUE;
CCTK_REAL PDstandardNth1gt12 = INITVALUE;
CCTK_REAL PDstandardNth2gt12 = INITVALUE;
CCTK_REAL PDstandardNth3gt12 = INITVALUE;
@@ -193,10 +190,7 @@ void ML_BSSN_M_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CC
CCTK_REAL PDstandardNth33gt12 = INITVALUE;
CCTK_REAL PDstandardNth12gt12 = INITVALUE;
CCTK_REAL PDstandardNth13gt12 = INITVALUE;
- CCTK_REAL PDstandardNth21gt12 = INITVALUE;
CCTK_REAL PDstandardNth23gt12 = INITVALUE;
- CCTK_REAL PDstandardNth31gt12 = INITVALUE;
- CCTK_REAL PDstandardNth32gt12 = INITVALUE;
CCTK_REAL PDstandardNth1gt13 = INITVALUE;
CCTK_REAL PDstandardNth2gt13 = INITVALUE;
CCTK_REAL PDstandardNth3gt13 = INITVALUE;
@@ -205,10 +199,7 @@ void ML_BSSN_M_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CC
CCTK_REAL PDstandardNth33gt13 = INITVALUE;
CCTK_REAL PDstandardNth12gt13 = INITVALUE;
CCTK_REAL PDstandardNth13gt13 = INITVALUE;
- CCTK_REAL PDstandardNth21gt13 = INITVALUE;
CCTK_REAL PDstandardNth23gt13 = INITVALUE;
- CCTK_REAL PDstandardNth31gt13 = INITVALUE;
- CCTK_REAL PDstandardNth32gt13 = INITVALUE;
CCTK_REAL PDstandardNth1gt22 = INITVALUE;
CCTK_REAL PDstandardNth2gt22 = INITVALUE;
CCTK_REAL PDstandardNth3gt22 = INITVALUE;
@@ -217,10 +208,7 @@ void ML_BSSN_M_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CC
CCTK_REAL PDstandardNth33gt22 = INITVALUE;
CCTK_REAL PDstandardNth12gt22 = INITVALUE;
CCTK_REAL PDstandardNth13gt22 = INITVALUE;
- CCTK_REAL PDstandardNth21gt22 = INITVALUE;
CCTK_REAL PDstandardNth23gt22 = INITVALUE;
- CCTK_REAL PDstandardNth31gt22 = INITVALUE;
- CCTK_REAL PDstandardNth32gt22 = INITVALUE;
CCTK_REAL PDstandardNth1gt23 = INITVALUE;
CCTK_REAL PDstandardNth2gt23 = INITVALUE;
CCTK_REAL PDstandardNth3gt23 = INITVALUE;
@@ -229,10 +217,7 @@ void ML_BSSN_M_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CC
CCTK_REAL PDstandardNth33gt23 = INITVALUE;
CCTK_REAL PDstandardNth12gt23 = INITVALUE;
CCTK_REAL PDstandardNth13gt23 = INITVALUE;
- CCTK_REAL PDstandardNth21gt23 = INITVALUE;
CCTK_REAL PDstandardNth23gt23 = INITVALUE;
- CCTK_REAL PDstandardNth31gt23 = INITVALUE;
- CCTK_REAL PDstandardNth32gt23 = INITVALUE;
CCTK_REAL PDstandardNth1gt33 = INITVALUE;
CCTK_REAL PDstandardNth2gt33 = INITVALUE;
CCTK_REAL PDstandardNth3gt33 = INITVALUE;
@@ -241,10 +226,7 @@ void ML_BSSN_M_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CC
CCTK_REAL PDstandardNth33gt33 = INITVALUE;
CCTK_REAL PDstandardNth12gt33 = INITVALUE;
CCTK_REAL PDstandardNth13gt33 = INITVALUE;
- CCTK_REAL PDstandardNth21gt33 = INITVALUE;
CCTK_REAL PDstandardNth23gt33 = INITVALUE;
- CCTK_REAL PDstandardNth31gt33 = INITVALUE;
- CCTK_REAL PDstandardNth32gt33 = INITVALUE;
CCTK_REAL PDstandardNth1phi = INITVALUE;
CCTK_REAL PDstandardNth2phi = INITVALUE;
CCTK_REAL PDstandardNth3phi = INITVALUE;
@@ -253,10 +235,7 @@ void ML_BSSN_M_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, CC
CCTK_REAL PDstandardNth33phi = INITVALUE;
CCTK_REAL PDstandardNth12phi = INITVALUE;
CCTK_REAL PDstandardNth13phi = INITVALUE;
- CCTK_REAL PDstandardNth21phi = INITVALUE;
CCTK_REAL PDstandardNth23phi = INITVALUE;
- CCTK_REAL PDstandardNth31phi = INITVALUE;
- CCTK_REAL PDstandardNth32phi = INITVALUE;
CCTK_REAL PDstandardNth1trK = INITVALUE;
CCTK_REAL PDstandardNth2trK = INITVALUE;
CCTK_REAL PDstandardNth3trK = INITVALUE;
diff --git a/ML_BSSN_M/src/ML_BSSN_M_constraints_boundary.c b/ML_BSSN_M/src/ML_BSSN_M_constraints_boundary.c
index 3a06368..ca44d6b 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_constraints_boundary.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_constraints_boundary.c
@@ -102,7 +102,7 @@ void ML_BSSN_M_constraints_boundary_Body(cGH const * const cctkGH, CCTK_INT cons
#pragma omp parallel
LC_LOOP3 (ML_BSSN_M_constraints_boundary,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBase.c b/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBase.c
index 3fa09e1..a3c2ec2 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBase.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBase.c
@@ -102,7 +102,7 @@ void ML_BSSN_M_convertFromADMBase_Body(cGH const * const cctkGH, CCTK_INT const
#pragma omp parallel
LC_LOOP3 (ML_BSSN_M_convertFromADMBase,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBaseGamma.c b/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBaseGamma.c
index 0b07d0a..f607832 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBaseGamma.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_convertFromADMBaseGamma.c
@@ -102,7 +102,7 @@ void ML_BSSN_M_convertFromADMBaseGamma_Body(cGH const * const cctkGH, CCTK_INT c
#pragma omp parallel
LC_LOOP3 (ML_BSSN_M_convertFromADMBaseGamma,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN_M/src/ML_BSSN_M_convertToADMBase.c b/ML_BSSN_M/src/ML_BSSN_M_convertToADMBase.c
index e25f3b8..fc36c1f 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_convertToADMBase.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_convertToADMBase.c
@@ -102,7 +102,7 @@ void ML_BSSN_M_convertToADMBase_Body(cGH const * const cctkGH, CCTK_INT const di
#pragma omp parallel
LC_LOOP3 (ML_BSSN_M_convertToADMBase,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN_M/src/ML_BSSN_M_enforce.c b/ML_BSSN_M/src/ML_BSSN_M_enforce.c
index 139bbbd..1c72715 100644
--- a/ML_BSSN_M/src/ML_BSSN_M_enforce.c
+++ b/ML_BSSN_M/src/ML_BSSN_M_enforce.c
@@ -102,7 +102,7 @@ void ML_BSSN_M_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_I
#pragma omp parallel
LC_LOOP3 (ML_BSSN_M_enforce,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN_MP/param.ccl b/ML_BSSN_MP/param.ccl
index 8bc281d..c45407d 100644
--- a/ML_BSSN_MP/param.ccl
+++ b/ML_BSSN_MP/param.ccl
@@ -116,6 +116,14 @@ KEYWORD my_boundary_condition "my_boundary_condition"
} "none"
restricted:
+KEYWORD calculate_ADMBase_variables_at "calculate_ADMBase_variables_at"
+{
+ "MoL_PostStep" :: "MoL_PostStep"
+ "CCTK_EVOL" :: "CCTK_EVOL"
+ "CCTK_ANALYSIS" :: "CCTK_ANALYSIS"
+} "MoL_PostStep"
+
+restricted:
CCTK_INT ML_BSSN_MP_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars
{
25:25 :: "Number of evolved variables used by this thorn"
diff --git a/ML_BSSN_MP/schedule.ccl b/ML_BSSN_MP/schedule.ccl
index 92b2b97..2611331 100644
--- a/ML_BSSN_MP/schedule.ccl
+++ b/ML_BSSN_MP/schedule.ccl
@@ -220,14 +220,10 @@ if (CCTK_EQUALS(my_rhs_boundary_condition, "radiative"))
} "ML_BSSN_MP_RHSBoundary"
}
-
-if (CCTK_EQUALS(evolution_method, "ML_BSSN_MP"))
+schedule ML_BSSN_MP_enforce IN MoL_PostStep BEFORE ML_BSSN_MP_BoundConds
{
- schedule ML_BSSN_MP_enforce IN MoL_PostStep BEFORE ML_BSSN_MP_BoundConds
- {
- LANG: C
- } "ML_BSSN_MP_enforce"
-}
+ LANG: C
+} "ML_BSSN_MP_enforce"
if (CCTK_EQUALS(my_boundary_condition, "Minkowski"))
@@ -238,25 +234,21 @@ if (CCTK_EQUALS(my_boundary_condition, "Minkowski"))
} "ML_BSSN_MP_boundary"
}
-
-if (CCTK_EQUALS(evolution_method, "ML_BSSN_MP"))
+schedule ML_BSSN_MP_convertToADMBase IN ML_BSSN_convertToADMBaseGroup
{
- schedule ML_BSSN_MP_convertToADMBase IN MoL_PostStep AFTER (ML_BSSN_MP_ApplyBCs ML_BSSN_MP_enforce)
- {
- LANG: C
- SYNC: ADMBase::curv
- SYNC: ADMBase::dtlapse
- SYNC: ADMBase::dtshift
- SYNC: ADMBase::lapse
- SYNC: ADMBase::metric
- SYNC: ADMBase::shift
- } "ML_BSSN_MP_convertToADMBase"
-}
+ LANG: C
+ SYNC: ADMBase::curv
+ SYNC: ADMBase::dtlapse
+ SYNC: ADMBase::dtshift
+ SYNC: ADMBase::lapse
+ SYNC: ADMBase::metric
+ SYNC: ADMBase::shift
+} "ML_BSSN_MP_convertToADMBase"
if (CCTK_EQUALS(my_boundary_condition, "Minkowski"))
{
- schedule ML_BSSN_MP_ADMBaseBoundary IN MoL_PostStep AFTER ML_BSSN_MP_convertToADMBase
+ schedule ML_BSSN_MP_ADMBaseBoundary IN ML_BSSN_convertToADMBaseGroup AFTER ML_BSSN_MP_convertToADMBase
{
LANG: C
} "ML_BSSN_MP_ADMBaseBoundary"
diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_ADMBaseBoundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_ADMBaseBoundary.c
index 33fbf06..36f78f3 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_ADMBaseBoundary.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_ADMBaseBoundary.c
@@ -102,7 +102,7 @@ void ML_BSSN_MP_ADMBaseBoundary_Body(cGH const * const cctkGH, CCTK_INT const di
#pragma omp parallel
LC_LOOP3 (ML_BSSN_MP_ADMBaseBoundary,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c b/ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c
index 682c53a..6a120c5 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_Minkowski.c
@@ -102,7 +102,7 @@ void ML_BSSN_MP_Minkowski_Body(cGH const * const cctkGH, CCTK_INT const dir, CCT
#pragma omp parallel
LC_LOOP3 (ML_BSSN_MP_Minkowski,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_RHS.c b/ML_BSSN_MP/src/ML_BSSN_MP_RHS.c
index 9aff0b4..31ce38c 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_RHS.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_RHS.c
@@ -102,7 +102,7 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
#pragma omp parallel
LC_LOOP3 (ML_BSSN_MP_RHS,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
@@ -169,10 +169,7 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
CCTK_REAL PDstandardNth33alpha = INITVALUE;
CCTK_REAL PDstandardNth12alpha = INITVALUE;
CCTK_REAL PDstandardNth13alpha = INITVALUE;
- CCTK_REAL PDstandardNth21alpha = INITVALUE;
CCTK_REAL PDstandardNth23alpha = INITVALUE;
- CCTK_REAL PDstandardNth31alpha = INITVALUE;
- CCTK_REAL PDstandardNth32alpha = INITVALUE;
CCTK_REAL PDstandardNth1At11 = INITVALUE;
CCTK_REAL PDstandardNth2At11 = INITVALUE;
CCTK_REAL PDstandardNth3At11 = INITVALUE;
@@ -208,10 +205,7 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
CCTK_REAL PDstandardNth33beta1 = INITVALUE;
CCTK_REAL PDstandardNth12beta1 = INITVALUE;
CCTK_REAL PDstandardNth13beta1 = INITVALUE;
- CCTK_REAL PDstandardNth21beta1 = INITVALUE;
CCTK_REAL PDstandardNth23beta1 = INITVALUE;
- CCTK_REAL PDstandardNth31beta1 = INITVALUE;
- CCTK_REAL PDstandardNth32beta1 = INITVALUE;
CCTK_REAL PDstandardNth1beta2 = INITVALUE;
CCTK_REAL PDstandardNth2beta2 = INITVALUE;
CCTK_REAL PDstandardNth3beta2 = INITVALUE;
@@ -220,10 +214,7 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
CCTK_REAL PDstandardNth33beta2 = INITVALUE;
CCTK_REAL PDstandardNth12beta2 = INITVALUE;
CCTK_REAL PDstandardNth13beta2 = INITVALUE;
- CCTK_REAL PDstandardNth21beta2 = INITVALUE;
CCTK_REAL PDstandardNth23beta2 = INITVALUE;
- CCTK_REAL PDstandardNth31beta2 = INITVALUE;
- CCTK_REAL PDstandardNth32beta2 = INITVALUE;
CCTK_REAL PDstandardNth1beta3 = INITVALUE;
CCTK_REAL PDstandardNth2beta3 = INITVALUE;
CCTK_REAL PDstandardNth3beta3 = INITVALUE;
@@ -232,10 +223,7 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
CCTK_REAL PDstandardNth33beta3 = INITVALUE;
CCTK_REAL PDstandardNth12beta3 = INITVALUE;
CCTK_REAL PDstandardNth13beta3 = INITVALUE;
- CCTK_REAL PDstandardNth21beta3 = INITVALUE;
CCTK_REAL PDstandardNth23beta3 = INITVALUE;
- CCTK_REAL PDstandardNth31beta3 = INITVALUE;
- CCTK_REAL PDstandardNth32beta3 = INITVALUE;
CCTK_REAL PDstandardNth1gt11 = INITVALUE;
CCTK_REAL PDstandardNth2gt11 = INITVALUE;
CCTK_REAL PDstandardNth3gt11 = INITVALUE;
@@ -244,10 +232,7 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
CCTK_REAL PDstandardNth33gt11 = INITVALUE;
CCTK_REAL PDstandardNth12gt11 = INITVALUE;
CCTK_REAL PDstandardNth13gt11 = INITVALUE;
- CCTK_REAL PDstandardNth21gt11 = INITVALUE;
CCTK_REAL PDstandardNth23gt11 = INITVALUE;
- CCTK_REAL PDstandardNth31gt11 = INITVALUE;
- CCTK_REAL PDstandardNth32gt11 = INITVALUE;
CCTK_REAL PDstandardNth1gt12 = INITVALUE;
CCTK_REAL PDstandardNth2gt12 = INITVALUE;
CCTK_REAL PDstandardNth3gt12 = INITVALUE;
@@ -256,10 +241,7 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
CCTK_REAL PDstandardNth33gt12 = INITVALUE;
CCTK_REAL PDstandardNth12gt12 = INITVALUE;
CCTK_REAL PDstandardNth13gt12 = INITVALUE;
- CCTK_REAL PDstandardNth21gt12 = INITVALUE;
CCTK_REAL PDstandardNth23gt12 = INITVALUE;
- CCTK_REAL PDstandardNth31gt12 = INITVALUE;
- CCTK_REAL PDstandardNth32gt12 = INITVALUE;
CCTK_REAL PDstandardNth1gt13 = INITVALUE;
CCTK_REAL PDstandardNth2gt13 = INITVALUE;
CCTK_REAL PDstandardNth3gt13 = INITVALUE;
@@ -268,10 +250,7 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
CCTK_REAL PDstandardNth33gt13 = INITVALUE;
CCTK_REAL PDstandardNth12gt13 = INITVALUE;
CCTK_REAL PDstandardNth13gt13 = INITVALUE;
- CCTK_REAL PDstandardNth21gt13 = INITVALUE;
CCTK_REAL PDstandardNth23gt13 = INITVALUE;
- CCTK_REAL PDstandardNth31gt13 = INITVALUE;
- CCTK_REAL PDstandardNth32gt13 = INITVALUE;
CCTK_REAL PDstandardNth1gt22 = INITVALUE;
CCTK_REAL PDstandardNth2gt22 = INITVALUE;
CCTK_REAL PDstandardNth3gt22 = INITVALUE;
@@ -280,10 +259,7 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
CCTK_REAL PDstandardNth33gt22 = INITVALUE;
CCTK_REAL PDstandardNth12gt22 = INITVALUE;
CCTK_REAL PDstandardNth13gt22 = INITVALUE;
- CCTK_REAL PDstandardNth21gt22 = INITVALUE;
CCTK_REAL PDstandardNth23gt22 = INITVALUE;
- CCTK_REAL PDstandardNth31gt22 = INITVALUE;
- CCTK_REAL PDstandardNth32gt22 = INITVALUE;
CCTK_REAL PDstandardNth1gt23 = INITVALUE;
CCTK_REAL PDstandardNth2gt23 = INITVALUE;
CCTK_REAL PDstandardNth3gt23 = INITVALUE;
@@ -292,10 +268,7 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
CCTK_REAL PDstandardNth33gt23 = INITVALUE;
CCTK_REAL PDstandardNth12gt23 = INITVALUE;
CCTK_REAL PDstandardNth13gt23 = INITVALUE;
- CCTK_REAL PDstandardNth21gt23 = INITVALUE;
CCTK_REAL PDstandardNth23gt23 = INITVALUE;
- CCTK_REAL PDstandardNth31gt23 = INITVALUE;
- CCTK_REAL PDstandardNth32gt23 = INITVALUE;
CCTK_REAL PDstandardNth1gt33 = INITVALUE;
CCTK_REAL PDstandardNth2gt33 = INITVALUE;
CCTK_REAL PDstandardNth3gt33 = INITVALUE;
@@ -304,10 +277,7 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
CCTK_REAL PDstandardNth33gt33 = INITVALUE;
CCTK_REAL PDstandardNth12gt33 = INITVALUE;
CCTK_REAL PDstandardNth13gt33 = INITVALUE;
- CCTK_REAL PDstandardNth21gt33 = INITVALUE;
CCTK_REAL PDstandardNth23gt33 = INITVALUE;
- CCTK_REAL PDstandardNth31gt33 = INITVALUE;
- CCTK_REAL PDstandardNth32gt33 = INITVALUE;
CCTK_REAL PDstandardNth1phi = INITVALUE;
CCTK_REAL PDstandardNth2phi = INITVALUE;
CCTK_REAL PDstandardNth3phi = INITVALUE;
@@ -316,10 +286,7 @@ void ML_BSSN_MP_RHS_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_INT
CCTK_REAL PDstandardNth33phi = INITVALUE;
CCTK_REAL PDstandardNth12phi = INITVALUE;
CCTK_REAL PDstandardNth13phi = INITVALUE;
- CCTK_REAL PDstandardNth21phi = INITVALUE;
CCTK_REAL PDstandardNth23phi = INITVALUE;
- CCTK_REAL PDstandardNth31phi = INITVALUE;
- CCTK_REAL PDstandardNth32phi = INITVALUE;
CCTK_REAL PDstandardNth1trK = INITVALUE;
CCTK_REAL PDstandardNth2trK = INITVALUE;
CCTK_REAL PDstandardNth3trK = INITVALUE;
diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_RHSBoundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_RHSBoundary.c
index 74b8727..8fdb21a 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_RHSBoundary.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_RHSBoundary.c
@@ -102,7 +102,7 @@ void ML_BSSN_MP_RHSBoundary_Body(cGH const * const cctkGH, CCTK_INT const dir, C
#pragma omp parallel
LC_LOOP3 (ML_BSSN_MP_RHSBoundary,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c
index ee60f76..256e9d7 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_boundary.c
@@ -102,7 +102,7 @@ void ML_BSSN_MP_boundary_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK
#pragma omp parallel
LC_LOOP3 (ML_BSSN_MP_boundary,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_constraints.c b/ML_BSSN_MP/src/ML_BSSN_MP_constraints.c
index ac924f1..c65c69d 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_constraints.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_constraints.c
@@ -102,7 +102,7 @@ void ML_BSSN_MP_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, C
#pragma omp parallel
LC_LOOP3 (ML_BSSN_MP_constraints,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
@@ -170,10 +170,7 @@ void ML_BSSN_MP_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, C
CCTK_REAL PDstandardNth33gt11 = INITVALUE;
CCTK_REAL PDstandardNth12gt11 = INITVALUE;
CCTK_REAL PDstandardNth13gt11 = INITVALUE;
- CCTK_REAL PDstandardNth21gt11 = INITVALUE;
CCTK_REAL PDstandardNth23gt11 = INITVALUE;
- CCTK_REAL PDstandardNth31gt11 = INITVALUE;
- CCTK_REAL PDstandardNth32gt11 = INITVALUE;
CCTK_REAL PDstandardNth1gt12 = INITVALUE;
CCTK_REAL PDstandardNth2gt12 = INITVALUE;
CCTK_REAL PDstandardNth3gt12 = INITVALUE;
@@ -182,10 +179,7 @@ void ML_BSSN_MP_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, C
CCTK_REAL PDstandardNth33gt12 = INITVALUE;
CCTK_REAL PDstandardNth12gt12 = INITVALUE;
CCTK_REAL PDstandardNth13gt12 = INITVALUE;
- CCTK_REAL PDstandardNth21gt12 = INITVALUE;
CCTK_REAL PDstandardNth23gt12 = INITVALUE;
- CCTK_REAL PDstandardNth31gt12 = INITVALUE;
- CCTK_REAL PDstandardNth32gt12 = INITVALUE;
CCTK_REAL PDstandardNth1gt13 = INITVALUE;
CCTK_REAL PDstandardNth2gt13 = INITVALUE;
CCTK_REAL PDstandardNth3gt13 = INITVALUE;
@@ -194,10 +188,7 @@ void ML_BSSN_MP_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, C
CCTK_REAL PDstandardNth33gt13 = INITVALUE;
CCTK_REAL PDstandardNth12gt13 = INITVALUE;
CCTK_REAL PDstandardNth13gt13 = INITVALUE;
- CCTK_REAL PDstandardNth21gt13 = INITVALUE;
CCTK_REAL PDstandardNth23gt13 = INITVALUE;
- CCTK_REAL PDstandardNth31gt13 = INITVALUE;
- CCTK_REAL PDstandardNth32gt13 = INITVALUE;
CCTK_REAL PDstandardNth1gt22 = INITVALUE;
CCTK_REAL PDstandardNth2gt22 = INITVALUE;
CCTK_REAL PDstandardNth3gt22 = INITVALUE;
@@ -206,10 +197,7 @@ void ML_BSSN_MP_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, C
CCTK_REAL PDstandardNth33gt22 = INITVALUE;
CCTK_REAL PDstandardNth12gt22 = INITVALUE;
CCTK_REAL PDstandardNth13gt22 = INITVALUE;
- CCTK_REAL PDstandardNth21gt22 = INITVALUE;
CCTK_REAL PDstandardNth23gt22 = INITVALUE;
- CCTK_REAL PDstandardNth31gt22 = INITVALUE;
- CCTK_REAL PDstandardNth32gt22 = INITVALUE;
CCTK_REAL PDstandardNth1gt23 = INITVALUE;
CCTK_REAL PDstandardNth2gt23 = INITVALUE;
CCTK_REAL PDstandardNth3gt23 = INITVALUE;
@@ -218,10 +206,7 @@ void ML_BSSN_MP_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, C
CCTK_REAL PDstandardNth33gt23 = INITVALUE;
CCTK_REAL PDstandardNth12gt23 = INITVALUE;
CCTK_REAL PDstandardNth13gt23 = INITVALUE;
- CCTK_REAL PDstandardNth21gt23 = INITVALUE;
CCTK_REAL PDstandardNth23gt23 = INITVALUE;
- CCTK_REAL PDstandardNth31gt23 = INITVALUE;
- CCTK_REAL PDstandardNth32gt23 = INITVALUE;
CCTK_REAL PDstandardNth1gt33 = INITVALUE;
CCTK_REAL PDstandardNth2gt33 = INITVALUE;
CCTK_REAL PDstandardNth3gt33 = INITVALUE;
@@ -230,10 +215,7 @@ void ML_BSSN_MP_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, C
CCTK_REAL PDstandardNth33gt33 = INITVALUE;
CCTK_REAL PDstandardNth12gt33 = INITVALUE;
CCTK_REAL PDstandardNth13gt33 = INITVALUE;
- CCTK_REAL PDstandardNth21gt33 = INITVALUE;
CCTK_REAL PDstandardNth23gt33 = INITVALUE;
- CCTK_REAL PDstandardNth31gt33 = INITVALUE;
- CCTK_REAL PDstandardNth32gt33 = INITVALUE;
CCTK_REAL PDstandardNth1phi = INITVALUE;
CCTK_REAL PDstandardNth2phi = INITVALUE;
CCTK_REAL PDstandardNth3phi = INITVALUE;
@@ -242,10 +224,7 @@ void ML_BSSN_MP_constraints_Body(cGH const * const cctkGH, CCTK_INT const dir, C
CCTK_REAL PDstandardNth33phi = INITVALUE;
CCTK_REAL PDstandardNth12phi = INITVALUE;
CCTK_REAL PDstandardNth13phi = INITVALUE;
- CCTK_REAL PDstandardNth21phi = INITVALUE;
CCTK_REAL PDstandardNth23phi = INITVALUE;
- CCTK_REAL PDstandardNth31phi = INITVALUE;
- CCTK_REAL PDstandardNth32phi = INITVALUE;
CCTK_REAL PDstandardNth1trK = INITVALUE;
CCTK_REAL PDstandardNth2trK = INITVALUE;
CCTK_REAL PDstandardNth3trK = INITVALUE;
diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c b/ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c
index 0a4636c..c9335e3 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_constraints_boundary.c
@@ -102,7 +102,7 @@ void ML_BSSN_MP_constraints_boundary_Body(cGH const * const cctkGH, CCTK_INT con
#pragma omp parallel
LC_LOOP3 (ML_BSSN_MP_constraints_boundary,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c
index b0942a3..09700ff 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBase.c
@@ -102,7 +102,7 @@ void ML_BSSN_MP_convertFromADMBase_Body(cGH const * const cctkGH, CCTK_INT const
#pragma omp parallel
LC_LOOP3 (ML_BSSN_MP_convertFromADMBase,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c
index 58a1e45..d5697c9 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertFromADMBaseGamma.c
@@ -102,7 +102,7 @@ void ML_BSSN_MP_convertFromADMBaseGamma_Body(cGH const * const cctkGH, CCTK_INT
#pragma omp parallel
LC_LOOP3 (ML_BSSN_MP_convertFromADMBaseGamma,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c b/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c
index 6e4bb02..a19c28a 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_convertToADMBase.c
@@ -102,7 +102,7 @@ void ML_BSSN_MP_convertToADMBase_Body(cGH const * const cctkGH, CCTK_INT const d
#pragma omp parallel
LC_LOOP3 (ML_BSSN_MP_convertToADMBase,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c b/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c
index fae01b8..06a508e 100644
--- a/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c
+++ b/ML_BSSN_MP/src/ML_BSSN_MP_enforce.c
@@ -102,7 +102,7 @@ void ML_BSSN_MP_enforce_Body(cGH const * const cctkGH, CCTK_INT const dir, CCTK_
#pragma omp parallel
LC_LOOP3 (ML_BSSN_MP_enforce,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lssh[CCTK_LSSH_IDX(0,0)],cctk_lssh[CCTK_LSSH_IDX(0,1)],cctk_lssh[CCTK_LSSH_IDX(0,2)])
{
int index = INITVALUE;
int subblock_index = INITVALUE;
diff --git a/ML_BSSN_MP_Helper/param.ccl b/ML_BSSN_MP_Helper/param.ccl
index e7642dc..05396c9 100644
--- a/ML_BSSN_MP_Helper/param.ccl
+++ b/ML_BSSN_MP_Helper/param.ccl
@@ -9,3 +9,4 @@ USES CCTK_INT boundary_width
SHARES: ML_BSSN_MP
USES CCTK_INT timelevels
+USES KEYWORD calculate_ADMBase_variables_at
diff --git a/ML_BSSN_MP_Helper/schedule.ccl b/ML_BSSN_MP_Helper/schedule.ccl
index 79799bc..79cafb3 100644
--- a/ML_BSSN_MP_Helper/schedule.ccl
+++ b/ML_BSSN_MP_Helper/schedule.ccl
@@ -56,6 +56,29 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN_MP")) {
+ if (CCTK_EQUALS (calculate_ADMBase_variables_at, "MoL_PostStep"))
+ {
+ SCHEDULE GROUP ML_BSSN_MP_convertToADMBaseGroup IN MoL_PostStep AFTER (ML_BSSN_MP_ApplyBCs ML_BSSN_MP_enforce)
+ {
+ } "Calculate ADM variables"
+ }
+ else if (CCTK_EQUALS (calculate_ADMBase_variables_at, "CCTK_EVOL"))
+ {
+ SCHEDULE GROUP ML_BSSN_MP_convertToADMBaseGroup AT evol AFTER MoL_Evolution
+ {
+ } "Calculate ADM variables"
+ }
+ else if (CCTK_EQUALS (calculate_ADMBase_variables_at, "CCTK_ANALYSIS"))
+ {
+ SCHEDULE GROUP ML_BSSN_MP_convertToADMBaseGroup AT analysis
+ {
+ TRIGGERS: ML_BSSN_MP::ML_Ham
+ TRIGGERS: ML_BSSN_MP::ML_mom
+ } "Calculate ADM variables"
+ }
+
+
+
SCHEDULE GROUP ML_BSSN_MP_constraintsCalcGroup AT analysis
{
TRIGGERS: ML_BSSN_MP::ML_Ham
diff --git a/ML_BSSN_M_Helper/param.ccl b/ML_BSSN_M_Helper/param.ccl
index 3a8f1cd..1fbd30e 100644
--- a/ML_BSSN_M_Helper/param.ccl
+++ b/ML_BSSN_M_Helper/param.ccl
@@ -9,3 +9,4 @@ USES CCTK_INT boundary_width
SHARES: ML_BSSN_M
USES CCTK_INT timelevels
+USES KEYWORD calculate_ADMBase_variables_at
diff --git a/ML_BSSN_M_Helper/schedule.ccl b/ML_BSSN_M_Helper/schedule.ccl
index 2bbbd76..bcfd190 100644
--- a/ML_BSSN_M_Helper/schedule.ccl
+++ b/ML_BSSN_M_Helper/schedule.ccl
@@ -56,6 +56,29 @@ if (CCTK_EQUALS (evolution_method, "ML_BSSN_M")) {
+ if (CCTK_EQUALS (calculate_ADMBase_variables_at, "MoL_PostStep"))
+ {
+ SCHEDULE GROUP ML_BSSN_M_convertToADMBaseGroup IN MoL_PostStep AFTER (ML_BSSN_M_ApplyBCs ML_BSSN_M_enforce)
+ {
+ } "Calculate ADM variables"
+ }
+ else if (CCTK_EQUALS (calculate_ADMBase_variables_at, "CCTK_EVOL"))
+ {
+ SCHEDULE GROUP ML_BSSN_M_convertToADMBaseGroup AT evol AFTER MoL_Evolution
+ {
+ } "Calculate ADM variables"
+ }
+ else if (CCTK_EQUALS (calculate_ADMBase_variables_at, "CCTK_ANALYSIS"))
+ {
+ SCHEDULE GROUP ML_BSSN_M_convertToADMBaseGroup AT analysis
+ {
+ TRIGGERS: ML_BSSN_M::ML_Ham
+ TRIGGERS: ML_BSSN_M::ML_mom
+ } "Calculate ADM variables"
+ }
+
+
+
SCHEDULE GROUP ML_BSSN_M_constraintsCalcGroup AT analysis
{
TRIGGERS: ML_BSSN_M::ML_Ham
diff --git a/m/McLachlan_BSSN.m b/m/McLachlan_BSSN.m
index bc6abea..7f32d26 100644
--- a/m/McLachlan_BSSN.m
+++ b/m/McLachlan_BSSN.m
@@ -271,8 +271,7 @@ convertFromADMBaseGammaCalc =
convertToADMBaseCalc =
{
Name -> BSSN <> "_convertToADMBase",
- Schedule -> {"IN MoL_PostStep AFTER (" <> BSSN <> "_ApplyBCs " <> BSSN <> "_enforce)"},
- ConditionalOnKeyword -> {"evolution_method", BSSN},
+ Schedule -> {"IN ML_BSSN_convertToADMBaseGroup"},
Where -> Interior,
Shorthands -> {e4phi, g[la,lb], K[la,lb]},
Equations ->
@@ -302,48 +301,7 @@ convertToADMBaseCalc =
+ LapseAdvectionCoeff beta[ua] PD[alpha,la],
dtbetax -> + ShiftGammaCoeff B1
+ ShiftAdvectionCoeff beta[ub] PD[beta[ua],lb],
- dtbetay -> + ShiftGammaCoeff B2
- + ShiftAdvectionCoeff beta[ub] PD[beta[ua],lb],
- dtbetaz -> + ShiftGammaCoeff B3
- + ShiftAdvectionCoeff beta[ub] PD[beta[ua],lb]
- }
-};
-
-convertToADMBaseLapseShiftCalc =
-{
- Name -> BSSN <> "_convertToADMBase",
- Schedule -> {"IN MoL_PostStep AFTER (" <> BSSN <> "_ApplyBCs " <> BSSN <> "_enforce)"},
- ConditionalOnKeyword -> {"evolution_method", BSSN},
- Where -> Interior,
- Shorthands -> {e4phi, g[la,lb], K[la,lb]},
- Equations ->
- {
- e4phi -> Exp [4 phi],
- g[la,lb] -> e4phi gt[la,lb],
- gxx -> g11,
- gxy -> g12,
- gxz -> g13,
- gyy -> g22,
- gyz -> g23,
- gzz -> g33,
- K[la,lb] -> e4phi At[la,lb] + (1/3) g[la,lb] trK,
- kxx -> K11,
- kxy -> K12,
- kxz -> K13,
- kyy -> K22,
- kyz -> K23,
- kzz -> K33,
- alp -> alpha,
- betax -> beta1,
- betay -> beta2,
- betaz -> beta3,
- (* see RHS *)
- dtalp -> - harmonicF alpha^harmonicN
- ((1 - LapseAdvectionCoeff) A + LapseAdvectionCoeff trK)
- + LapseAdvectionCoeff beta[ua] PD[alpha,la],
- dtbetax -> + ShiftGammaCoeff B1
- + ShiftAdvectionCoeff beta[ub] PD[beta[ua],lb],
- dtbetay -> + ShiftGammaCoeff B2
+ dtbetay -> + ShiftGammaCoeff B2
+ ShiftAdvectionCoeff beta[ub] PD[beta[ua],lb],
dtbetaz -> + ShiftGammaCoeff B3
+ ShiftAdvectionCoeff beta[ub] PD[beta[ua],lb]
@@ -353,7 +311,7 @@ convertToADMBaseLapseShiftCalc =
boundaryCalcADMBase =
{
Name -> BSSN <> "_ADMBaseBoundary",
- Schedule -> {"IN MoL_PostStep AFTER " <> BSSN <> "_convertToADMBase"},
+ Schedule -> {"IN ML_BSSN_convertToADMBaseGroup AFTER " <> BSSN <> "_convertToADMBase"},
ConditionalOnKeyword -> {"my_boundary_condition", "Minkowski"},
Where -> BoundaryWithGhosts,
Equations ->
@@ -567,7 +525,6 @@ enforceCalc =
{
Name -> BSSN <> "_enforce",
Schedule -> {"IN MoL_PostStep BEFORE " <> BSSN <> "_BoundConds"},
- ConditionalOnKeyword -> {"evolution_method", BSSN},
Shorthands -> {detgt, gtu[ua,ub], trAt},
Equations ->
{
@@ -802,6 +759,13 @@ keywordParameters =
(* Description -> "ddd", *)
AllowedValues -> {"none", "Minkowski"},
Default -> "none"
+ },
+ {
+ Name -> "calculate_ADMBase_variables_at",
+ Visibility -> "restricted",
+ (* Description -> "ddd", *)
+ AllowedValues -> {"MoL_PostStep", "CCTK_EVOL", "CCTK_ANALYSIS"},
+ Default -> "MoL_PostStep"
}
};