diff options
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" } }; |