aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2010-03-14 14:11:03 -0500
committerErik Schnetter <schnetter@cct.lsu.edu>2010-03-14 14:11:03 -0500
commit33479637cddfa24c0150cb691ee0bc1695f42866 (patch)
tree12f8f433b8e2875bd75ed76a91c50ddcd0dee0dd
parent5e7d21dadf4c03aeb63e42720a8c52c2cf57917a (diff)
Correct boundary conditions
-rw-r--r--ML_ADMConstraints/param.ccl12
-rw-r--r--ML_ADMConstraints/schedule.ccl5
-rw-r--r--ML_ADMConstraints/src/Boundaries.c6
-rw-r--r--ML_ADMConstraints/src/ML_ADMConstraints_boundary.c147
-rw-r--r--ML_ADMConstraints/src/make.code.defn2
-rw-r--r--ML_ADMConstraints_MP/param.ccl12
-rw-r--r--ML_ADMConstraints_MP/schedule.ccl5
-rw-r--r--ML_ADMConstraints_MP/src/Boundaries.c6
-rw-r--r--ML_ADMConstraints_MP/src/ML_ADMConstraints_MP_boundary.c147
-rw-r--r--ML_ADMConstraints_MP/src/make.code.defn2
-rw-r--r--ML_ADMConstraints_O2/param.ccl12
-rw-r--r--ML_ADMConstraints_O2/schedule.ccl5
-rw-r--r--ML_ADMConstraints_O2/src/Boundaries.c6
-rw-r--r--ML_ADMConstraints_O2/src/ML_ADMConstraints_O2_boundary.c153
-rw-r--r--ML_ADMConstraints_O2/src/make.code.defn2
-rw-r--r--ML_ADMQuantities/param.ccl12
-rw-r--r--ML_ADMQuantities/schedule.ccl5
-rw-r--r--ML_ADMQuantities/src/Boundaries.c6
-rw-r--r--ML_ADMQuantities/src/ML_ADMQuantities_boundary.c147
-rw-r--r--ML_ADMQuantities/src/make.code.defn2
-rw-r--r--ML_ADMQuantities_MP/param.ccl12
-rw-r--r--ML_ADMQuantities_MP/schedule.ccl5
-rw-r--r--ML_ADMQuantities_MP/src/Boundaries.c6
-rw-r--r--ML_ADMQuantities_MP/src/ML_ADMQuantities_MP_boundary.c147
-rw-r--r--ML_ADMQuantities_MP/src/make.code.defn2
-rw-r--r--ML_ADMQuantities_O2/param.ccl12
-rw-r--r--ML_ADMQuantities_O2/schedule.ccl5
-rw-r--r--ML_ADMQuantities_O2/src/Boundaries.c6
-rw-r--r--ML_ADMQuantities_O2/src/ML_ADMQuantities_O2_boundary.c153
-rw-r--r--ML_ADMQuantities_O2/src/make.code.defn2
-rw-r--r--m/Makefile2
-rw-r--r--m/McLachlan_ADMConstraints.m6
-rw-r--r--m/McLachlan_ADMQuantities.m6
-rwxr-xr-xm/fixup-ADMConstraints.pl36
-rwxr-xr-xm/fixup-ADMQuantities.pl36
35 files changed, 120 insertions, 1010 deletions
diff --git a/ML_ADMConstraints/param.ccl b/ML_ADMConstraints/param.ccl
index 5ab232d..d35f62d 100644
--- a/ML_ADMConstraints/param.ccl
+++ b/ML_ADMConstraints/param.ccl
@@ -45,20 +45,8 @@ CCTK_INT ML_ADMConstraints_calc_every "ML_ADMConstraints_calc_every"
} 1
restricted:
-CCTK_INT ML_ADMConstraints_boundary_calc_every "ML_ADMConstraints_boundary_calc_every"
-{
- *:* :: ""
-} 1
-
-restricted:
CCTK_INT ML_ADMConstraints_calc_offset "ML_ADMConstraints_calc_offset"
{
*:* :: ""
} 0
-restricted:
-CCTK_INT ML_ADMConstraints_boundary_calc_offset "ML_ADMConstraints_boundary_calc_offset"
-{
- *:* :: ""
-} 0
-
diff --git a/ML_ADMConstraints/schedule.ccl b/ML_ADMConstraints/schedule.ccl
index e0d2615..13b9b86 100644
--- a/ML_ADMConstraints/schedule.ccl
+++ b/ML_ADMConstraints/schedule.ccl
@@ -30,11 +30,6 @@ schedule ML_ADMConstraints IN MoL_PseudoEvolution BEFORE ML_ADMConstraints_Selec
SYNC: ML_mom
} "ML_ADMConstraints"
-schedule ML_ADMConstraints_boundary IN MoL_PseudoEvolution BEFORE ML_ADMConstraints_SelectBoundConds
-{
- LANG: C
-} "ML_ADMConstraints_boundary"
-
schedule ML_ADMConstraints_SelectBoundConds in MoL_PseudoEvolution
{
LANG: C
diff --git a/ML_ADMConstraints/src/Boundaries.c b/ML_ADMConstraints/src/Boundaries.c
index de168ca..91bac44 100644
--- a/ML_ADMConstraints/src/Boundaries.c
+++ b/ML_ADMConstraints/src/Boundaries.c
@@ -31,7 +31,11 @@ void ML_ADMConstraints_SelectBoundConds(CCTK_ARGUMENTS)
DECLARE_CCTK_PARAMETERS;
CCTK_INT ierr = 0;
- return;
+ ierr = Boundary_SelectGroupForBC (cctkGH, CCTK_ALL_FACES, 1, -1, "ML_ADMConstraints::ML_Ham", "scalar");
+ if (ierr<0) CCTK_WARN (CCTK_WARN_ABORT, "Failed to select boundary condition for ML_ADMConstraints::ML_Ham");
+
+ ierr = Boundary_SelectGroupForBC (cctkGH, CCTK_ALL_FACES, 1, -1, "ML_ADMConstraints::ML_mom", "scalar");
+ if (ierr<0) CCTK_WARN (CCTK_WARN_ABORT, "Failed to select boundary condition for ML_ADMConstraints::ML_mom");
}
diff --git a/ML_ADMConstraints/src/ML_ADMConstraints_boundary.c b/ML_ADMConstraints/src/ML_ADMConstraints_boundary.c
deleted file mode 100644
index a41c5a5..0000000
--- a/ML_ADMConstraints/src/ML_ADMConstraints_boundary.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/* File produced by Kranc */
-
-#define KRANC_C
-
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "cctk.h"
-#include "cctk_Arguments.h"
-#include "cctk_Parameters.h"
-#include "GenericFD.h"
-#include "Differencing.h"
-#include "loopcontrol.h"
-
-/* Define macros used in calculations */
-#define INITVALUE (42)
-#define INV(x) ((1.0) / (x))
-#define SQR(x) ((x) * (x))
-#define CUB(x) ((x) * (x) * (x))
-#define QAD(x) ((x) * (x) * (x) * (x))
-
-void ML_ADMConstraints_boundary_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
-{
- DECLARE_CCTK_ARGUMENTS;
- DECLARE_CCTK_PARAMETERS;
-
-
- /* Declare finite differencing variables */
-
- /* Declare predefined quantities */
- // CCTK_REAL p1o12dx = INITVALUE;
- // CCTK_REAL p1o12dy = INITVALUE;
- // CCTK_REAL p1o12dz = INITVALUE;
- // CCTK_REAL p1o144dxdy = INITVALUE;
- // CCTK_REAL p1o144dxdz = INITVALUE;
- // CCTK_REAL p1o144dydz = INITVALUE;
- // CCTK_REAL p1odx = INITVALUE;
- // CCTK_REAL p1ody = INITVALUE;
- // CCTK_REAL p1odz = INITVALUE;
- // CCTK_REAL pm1o12dx2 = INITVALUE;
- // CCTK_REAL pm1o12dy2 = INITVALUE;
- // CCTK_REAL pm1o12dz2 = INITVALUE;
-
- if (verbose > 1)
- {
- CCTK_VInfo(CCTK_THORNSTRING,"Entering ML_ADMConstraints_boundary_Body");
- }
-
- if (cctk_iteration % ML_ADMConstraints_boundary_calc_every != ML_ADMConstraints_boundary_calc_offset)
- {
- return;
- }
-
- /* Include user-supplied include files */
-
- /* Initialise finite differencing variables */
- CCTK_REAL const dx = CCTK_DELTA_SPACE(0);
- CCTK_REAL const dy = CCTK_DELTA_SPACE(1);
- CCTK_REAL const dz = CCTK_DELTA_SPACE(2);
- int const di = 1;
- int const dj = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- int const dk = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- CCTK_REAL const dxi = 1.0 / dx;
- CCTK_REAL const dyi = 1.0 / dy;
- CCTK_REAL const dzi = 1.0 / dz;
- CCTK_REAL const khalf = 0.5;
- CCTK_REAL const kthird = 1/3.0;
- CCTK_REAL const ktwothird = 2.0/3.0;
- CCTK_REAL const kfourthird = 4.0/3.0;
- CCTK_REAL const keightthird = 8.0/3.0;
- CCTK_REAL const hdxi = 0.5 * dxi;
- CCTK_REAL const hdyi = 0.5 * dyi;
- CCTK_REAL const hdzi = 0.5 * dzi;
-
- /* Initialize predefined quantities */
- CCTK_REAL const p1o12dx = INV(dx)/12.;
- CCTK_REAL const p1o12dy = INV(dy)/12.;
- CCTK_REAL const p1o12dz = INV(dz)/12.;
- CCTK_REAL const p1o144dxdy = (INV(dx)*INV(dy))/144.;
- CCTK_REAL const p1o144dxdz = (INV(dx)*INV(dz))/144.;
- CCTK_REAL const p1o144dydz = (INV(dy)*INV(dz))/144.;
- CCTK_REAL const p1odx = INV(dx);
- CCTK_REAL const p1ody = INV(dy);
- CCTK_REAL const p1odz = INV(dz);
- CCTK_REAL const pm1o12dx2 = -pow(dx,-2)/12.;
- CCTK_REAL const pm1o12dy2 = -pow(dy,-2)/12.;
- CCTK_REAL const pm1o12dz2 = -pow(dz,-2)/12.;
-
- /* Loop over the grid points */
- #pragma omp parallel
- LC_LOOP3 (ML_ADMConstraints_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])
- {
- // int index = INITVALUE;
- // int subblock_index = INITVALUE;
- int const index = CCTK_GFINDEX3D(cctkGH,i,j,k);
- int const subblock_index = i - min[0] + (max[0] - min[0]) * (j - min[1] + (max[1]-min[1]) * (k - min[2]));
-
- /* Declare shorthands */
-
- /* Declare local copies of grid functions */
- // CCTK_REAL HL = INITVALUE;
- // CCTK_REAL M1L = INITVALUE, M2L = INITVALUE, M3L = INITVALUE;
- /* Declare precomputed derivatives*/
-
- /* Declare derivatives */
-
- /* Assign local copies of grid functions */
-
- /* Assign local copies of subblock grid functions */
-
- /* Include user supplied include files */
-
- /* Precompute derivatives (new style) */
-
- /* Precompute derivatives (old style) */
-
- /* Calculate temporaries and grid functions */
- CCTK_REAL const HL = 0;
-
- CCTK_REAL const M1L = 0;
-
- CCTK_REAL const M2L = 0;
-
- CCTK_REAL const M3L = 0;
-
-
- /* Copy local copies back to grid functions */
- H[index] = HL;
- M1[index] = M1L;
- M2[index] = M2L;
- M3[index] = M3L;
-
- /* Copy local copies back to subblock grid functions */
- }
- LC_ENDLOOP3 (ML_ADMConstraints_boundary);
-}
-
-void ML_ADMConstraints_boundary(CCTK_ARGUMENTS)
-{
- DECLARE_CCTK_ARGUMENTS;
- DECLARE_CCTK_PARAMETERS;
-
- GenericFD_LoopOverBoundaryWithGhosts(cctkGH, &ML_ADMConstraints_boundary_Body);
-}
diff --git a/ML_ADMConstraints/src/make.code.defn b/ML_ADMConstraints/src/make.code.defn
index 63f8ba4..16f8fb2 100644
--- a/ML_ADMConstraints/src/make.code.defn
+++ b/ML_ADMConstraints/src/make.code.defn
@@ -1,3 +1,3 @@
# File produced by Kranc
-SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_ADMConstraints.c ML_ADMConstraints_boundary.c Boundaries.c
+SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_ADMConstraints.c Boundaries.c
diff --git a/ML_ADMConstraints_MP/param.ccl b/ML_ADMConstraints_MP/param.ccl
index 94f6235..cf4d97b 100644
--- a/ML_ADMConstraints_MP/param.ccl
+++ b/ML_ADMConstraints_MP/param.ccl
@@ -45,20 +45,8 @@ CCTK_INT ML_ADMConstraints_MP_calc_every "ML_ADMConstraints_MP_calc_every"
} 1
restricted:
-CCTK_INT ML_ADMConstraints_MP_boundary_calc_every "ML_ADMConstraints_MP_boundary_calc_every"
-{
- *:* :: ""
-} 1
-
-restricted:
CCTK_INT ML_ADMConstraints_MP_calc_offset "ML_ADMConstraints_MP_calc_offset"
{
*:* :: ""
} 0
-restricted:
-CCTK_INT ML_ADMConstraints_MP_boundary_calc_offset "ML_ADMConstraints_MP_boundary_calc_offset"
-{
- *:* :: ""
-} 0
-
diff --git a/ML_ADMConstraints_MP/schedule.ccl b/ML_ADMConstraints_MP/schedule.ccl
index 0d2c89e..36d7a2a 100644
--- a/ML_ADMConstraints_MP/schedule.ccl
+++ b/ML_ADMConstraints_MP/schedule.ccl
@@ -30,11 +30,6 @@ schedule ML_ADMConstraints_MP IN MoL_PseudoEvolution BEFORE ML_ADMConstraints_MP
SYNC: ML_mom
} "ML_ADMConstraints_MP"
-schedule ML_ADMConstraints_MP_boundary IN MoL_PseudoEvolution BEFORE ML_ADMConstraints_MP_SelectBoundConds
-{
- LANG: C
-} "ML_ADMConstraints_MP_boundary"
-
schedule ML_ADMConstraints_MP_SelectBoundConds in MoL_PseudoEvolution
{
LANG: C
diff --git a/ML_ADMConstraints_MP/src/Boundaries.c b/ML_ADMConstraints_MP/src/Boundaries.c
index 981f196..6edf1cd 100644
--- a/ML_ADMConstraints_MP/src/Boundaries.c
+++ b/ML_ADMConstraints_MP/src/Boundaries.c
@@ -31,7 +31,11 @@ void ML_ADMConstraints_MP_SelectBoundConds(CCTK_ARGUMENTS)
DECLARE_CCTK_PARAMETERS;
CCTK_INT ierr = 0;
- return;
+ ierr = Boundary_SelectGroupForBC (cctkGH, CCTK_ALL_FACES, 1, -1, "ML_ADMConstraints_MP::ML_Ham", "scalar");
+ if (ierr<0) CCTK_WARN (CCTK_WARN_ABORT, "Failed to select boundary condition for ML_ADMConstraints_MP::ML_Ham");
+
+ ierr = Boundary_SelectGroupForBC (cctkGH, CCTK_ALL_FACES, 1, -1, "ML_ADMConstraints_MP::ML_mom", "scalar");
+ if (ierr<0) CCTK_WARN (CCTK_WARN_ABORT, "Failed to select boundary condition for ML_ADMConstraints_MP::ML_mom");
}
diff --git a/ML_ADMConstraints_MP/src/ML_ADMConstraints_MP_boundary.c b/ML_ADMConstraints_MP/src/ML_ADMConstraints_MP_boundary.c
deleted file mode 100644
index 0f4e380..0000000
--- a/ML_ADMConstraints_MP/src/ML_ADMConstraints_MP_boundary.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/* File produced by Kranc */
-
-#define KRANC_C
-
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "cctk.h"
-#include "cctk_Arguments.h"
-#include "cctk_Parameters.h"
-#include "GenericFD.h"
-#include "Differencing.h"
-#include "loopcontrol.h"
-
-/* Define macros used in calculations */
-#define INITVALUE (42)
-#define INV(x) ((1.0) / (x))
-#define SQR(x) ((x) * (x))
-#define CUB(x) ((x) * (x) * (x))
-#define QAD(x) ((x) * (x) * (x) * (x))
-
-void ML_ADMConstraints_MP_boundary_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
-{
- DECLARE_CCTK_ARGUMENTS;
- DECLARE_CCTK_PARAMETERS;
-
-
- /* Declare finite differencing variables */
-
- /* Declare predefined quantities */
- // CCTK_REAL p1o12dx = INITVALUE;
- // CCTK_REAL p1o12dy = INITVALUE;
- // CCTK_REAL p1o12dz = INITVALUE;
- // CCTK_REAL p1o144dxdy = INITVALUE;
- // CCTK_REAL p1o144dxdz = INITVALUE;
- // CCTK_REAL p1o144dydz = INITVALUE;
- // CCTK_REAL p1odx = INITVALUE;
- // CCTK_REAL p1ody = INITVALUE;
- // CCTK_REAL p1odz = INITVALUE;
- // CCTK_REAL pm1o12dx2 = INITVALUE;
- // CCTK_REAL pm1o12dy2 = INITVALUE;
- // CCTK_REAL pm1o12dz2 = INITVALUE;
-
- if (verbose > 1)
- {
- CCTK_VInfo(CCTK_THORNSTRING,"Entering ML_ADMConstraints_MP_boundary_Body");
- }
-
- if (cctk_iteration % ML_ADMConstraints_MP_boundary_calc_every != ML_ADMConstraints_MP_boundary_calc_offset)
- {
- return;
- }
-
- /* Include user-supplied include files */
-
- /* Initialise finite differencing variables */
- CCTK_REAL const dx = CCTK_DELTA_SPACE(0);
- CCTK_REAL const dy = CCTK_DELTA_SPACE(1);
- CCTK_REAL const dz = CCTK_DELTA_SPACE(2);
- int const di = 1;
- int const dj = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- int const dk = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- CCTK_REAL const dxi = 1.0 / dx;
- CCTK_REAL const dyi = 1.0 / dy;
- CCTK_REAL const dzi = 1.0 / dz;
- CCTK_REAL const khalf = 0.5;
- CCTK_REAL const kthird = 1/3.0;
- CCTK_REAL const ktwothird = 2.0/3.0;
- CCTK_REAL const kfourthird = 4.0/3.0;
- CCTK_REAL const keightthird = 8.0/3.0;
- CCTK_REAL const hdxi = 0.5 * dxi;
- CCTK_REAL const hdyi = 0.5 * dyi;
- CCTK_REAL const hdzi = 0.5 * dzi;
-
- /* Initialize predefined quantities */
- CCTK_REAL const p1o12dx = INV(dx)/12.;
- CCTK_REAL const p1o12dy = INV(dy)/12.;
- CCTK_REAL const p1o12dz = INV(dz)/12.;
- CCTK_REAL const p1o144dxdy = (INV(dx)*INV(dy))/144.;
- CCTK_REAL const p1o144dxdz = (INV(dx)*INV(dz))/144.;
- CCTK_REAL const p1o144dydz = (INV(dy)*INV(dz))/144.;
- CCTK_REAL const p1odx = INV(dx);
- CCTK_REAL const p1ody = INV(dy);
- CCTK_REAL const p1odz = INV(dz);
- CCTK_REAL const pm1o12dx2 = -pow(dx,-2)/12.;
- CCTK_REAL const pm1o12dy2 = -pow(dy,-2)/12.;
- CCTK_REAL const pm1o12dz2 = -pow(dz,-2)/12.;
-
- /* Loop over the grid points */
- #pragma omp parallel
- LC_LOOP3 (ML_ADMConstraints_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])
- {
- // int index = INITVALUE;
- // int subblock_index = INITVALUE;
- int const index = CCTK_GFINDEX3D(cctkGH,i,j,k);
- int const subblock_index = i - min[0] + (max[0] - min[0]) * (j - min[1] + (max[1]-min[1]) * (k - min[2]));
-
- /* Declare shorthands */
-
- /* Declare local copies of grid functions */
- // CCTK_REAL HL = INITVALUE;
- // CCTK_REAL M1L = INITVALUE, M2L = INITVALUE, M3L = INITVALUE;
- /* Declare precomputed derivatives*/
-
- /* Declare derivatives */
-
- /* Assign local copies of grid functions */
-
- /* Assign local copies of subblock grid functions */
-
- /* Include user supplied include files */
-
- /* Precompute derivatives (new style) */
-
- /* Precompute derivatives (old style) */
-
- /* Calculate temporaries and grid functions */
- CCTK_REAL const HL = 0;
-
- CCTK_REAL const M1L = 0;
-
- CCTK_REAL const M2L = 0;
-
- CCTK_REAL const M3L = 0;
-
-
- /* Copy local copies back to grid functions */
- H[index] = HL;
- M1[index] = M1L;
- M2[index] = M2L;
- M3[index] = M3L;
-
- /* Copy local copies back to subblock grid functions */
- }
- LC_ENDLOOP3 (ML_ADMConstraints_MP_boundary);
-}
-
-void ML_ADMConstraints_MP_boundary(CCTK_ARGUMENTS)
-{
- DECLARE_CCTK_ARGUMENTS;
- DECLARE_CCTK_PARAMETERS;
-
- GenericFD_LoopOverBoundaryWithGhosts(cctkGH, &ML_ADMConstraints_MP_boundary_Body);
-}
diff --git a/ML_ADMConstraints_MP/src/make.code.defn b/ML_ADMConstraints_MP/src/make.code.defn
index d610c8f..94d7ac6 100644
--- a/ML_ADMConstraints_MP/src/make.code.defn
+++ b/ML_ADMConstraints_MP/src/make.code.defn
@@ -1,3 +1,3 @@
# File produced by Kranc
-SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_ADMConstraints_MP.c ML_ADMConstraints_MP_boundary.c Boundaries.c
+SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_ADMConstraints_MP.c Boundaries.c
diff --git a/ML_ADMConstraints_O2/param.ccl b/ML_ADMConstraints_O2/param.ccl
index 5286c3c..c659cee 100644
--- a/ML_ADMConstraints_O2/param.ccl
+++ b/ML_ADMConstraints_O2/param.ccl
@@ -45,20 +45,8 @@ CCTK_INT ML_ADMConstraints_O2_calc_every "ML_ADMConstraints_O2_calc_every"
} 1
restricted:
-CCTK_INT ML_ADMConstraints_O2_boundary_calc_every "ML_ADMConstraints_O2_boundary_calc_every"
-{
- *:* :: ""
-} 1
-
-restricted:
CCTK_INT ML_ADMConstraints_O2_calc_offset "ML_ADMConstraints_O2_calc_offset"
{
*:* :: ""
} 0
-restricted:
-CCTK_INT ML_ADMConstraints_O2_boundary_calc_offset "ML_ADMConstraints_O2_boundary_calc_offset"
-{
- *:* :: ""
-} 0
-
diff --git a/ML_ADMConstraints_O2/schedule.ccl b/ML_ADMConstraints_O2/schedule.ccl
index b24813a..9a496dd 100644
--- a/ML_ADMConstraints_O2/schedule.ccl
+++ b/ML_ADMConstraints_O2/schedule.ccl
@@ -30,11 +30,6 @@ schedule ML_ADMConstraints_O2 IN MoL_PseudoEvolution BEFORE ML_ADMConstraints_O2
SYNC: ML_mom
} "ML_ADMConstraints_O2"
-schedule ML_ADMConstraints_O2_boundary IN MoL_PseudoEvolution BEFORE ML_ADMConstraints_O2_SelectBoundConds
-{
- LANG: C
-} "ML_ADMConstraints_O2_boundary"
-
schedule ML_ADMConstraints_O2_SelectBoundConds in MoL_PseudoEvolution
{
LANG: C
diff --git a/ML_ADMConstraints_O2/src/Boundaries.c b/ML_ADMConstraints_O2/src/Boundaries.c
index b500240..7acefcc 100644
--- a/ML_ADMConstraints_O2/src/Boundaries.c
+++ b/ML_ADMConstraints_O2/src/Boundaries.c
@@ -31,7 +31,11 @@ void ML_ADMConstraints_O2_SelectBoundConds(CCTK_ARGUMENTS)
DECLARE_CCTK_PARAMETERS;
CCTK_INT ierr = 0;
- return;
+ ierr = Boundary_SelectGroupForBC (cctkGH, CCTK_ALL_FACES, 1, -1, "ML_ADMConstraints_O2::ML_Ham", "scalar");
+ if (ierr<0) CCTK_WARN (CCTK_WARN_ABORT, "Failed to select boundary condition for ML_ADMConstraints_O2::ML_Ham");
+
+ ierr = Boundary_SelectGroupForBC (cctkGH, CCTK_ALL_FACES, 1, -1, "ML_ADMConstraints_O2::ML_mom", "scalar");
+ if (ierr<0) CCTK_WARN (CCTK_WARN_ABORT, "Failed to select boundary condition for ML_ADMConstraints_O2::ML_mom");
}
diff --git a/ML_ADMConstraints_O2/src/ML_ADMConstraints_O2_boundary.c b/ML_ADMConstraints_O2/src/ML_ADMConstraints_O2_boundary.c
deleted file mode 100644
index 7c24428..0000000
--- a/ML_ADMConstraints_O2/src/ML_ADMConstraints_O2_boundary.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/* File produced by Kranc */
-
-#define KRANC_C
-
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "cctk.h"
-#include "cctk_Arguments.h"
-#include "cctk_Parameters.h"
-#include "GenericFD.h"
-#include "Differencing.h"
-#include "loopcontrol.h"
-
-/* Define macros used in calculations */
-#define INITVALUE (42)
-#define INV(x) ((1.0) / (x))
-#define SQR(x) ((x) * (x))
-#define CUB(x) ((x) * (x) * (x))
-#define QAD(x) ((x) * (x) * (x) * (x))
-
-void ML_ADMConstraints_O2_boundary_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
-{
- DECLARE_CCTK_ARGUMENTS;
- DECLARE_CCTK_PARAMETERS;
-
-
- /* Declare finite differencing variables */
-
- /* Declare predefined quantities */
- // CCTK_REAL p1o2dx = INITVALUE;
- // CCTK_REAL p1o2dy = INITVALUE;
- // CCTK_REAL p1o2dz = INITVALUE;
- // CCTK_REAL p1o4dxdy = INITVALUE;
- // CCTK_REAL p1o4dxdz = INITVALUE;
- // CCTK_REAL p1o4dydz = INITVALUE;
- // CCTK_REAL p1odx = INITVALUE;
- // CCTK_REAL p1odx2 = INITVALUE;
- // CCTK_REAL p1ody = INITVALUE;
- // CCTK_REAL p1ody2 = INITVALUE;
- // CCTK_REAL p1odz = INITVALUE;
- // CCTK_REAL p1odz2 = INITVALUE;
- // CCTK_REAL pm1o2dx = INITVALUE;
- // CCTK_REAL pm1o2dy = INITVALUE;
- // CCTK_REAL pm1o2dz = INITVALUE;
-
- if (verbose > 1)
- {
- CCTK_VInfo(CCTK_THORNSTRING,"Entering ML_ADMConstraints_O2_boundary_Body");
- }
-
- if (cctk_iteration % ML_ADMConstraints_O2_boundary_calc_every != ML_ADMConstraints_O2_boundary_calc_offset)
- {
- return;
- }
-
- /* Include user-supplied include files */
-
- /* Initialise finite differencing variables */
- CCTK_REAL const dx = CCTK_DELTA_SPACE(0);
- CCTK_REAL const dy = CCTK_DELTA_SPACE(1);
- CCTK_REAL const dz = CCTK_DELTA_SPACE(2);
- int const di = 1;
- int const dj = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- int const dk = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- CCTK_REAL const dxi = 1.0 / dx;
- CCTK_REAL const dyi = 1.0 / dy;
- CCTK_REAL const dzi = 1.0 / dz;
- CCTK_REAL const khalf = 0.5;
- CCTK_REAL const kthird = 1/3.0;
- CCTK_REAL const ktwothird = 2.0/3.0;
- CCTK_REAL const kfourthird = 4.0/3.0;
- CCTK_REAL const keightthird = 8.0/3.0;
- CCTK_REAL const hdxi = 0.5 * dxi;
- CCTK_REAL const hdyi = 0.5 * dyi;
- CCTK_REAL const hdzi = 0.5 * dzi;
-
- /* Initialize predefined quantities */
- CCTK_REAL const p1o2dx = khalf*INV(dx);
- CCTK_REAL const p1o2dy = khalf*INV(dy);
- CCTK_REAL const p1o2dz = khalf*INV(dz);
- CCTK_REAL const p1o4dxdy = (INV(dx)*INV(dy))/4.;
- CCTK_REAL const p1o4dxdz = (INV(dx)*INV(dz))/4.;
- CCTK_REAL const p1o4dydz = (INV(dy)*INV(dz))/4.;
- CCTK_REAL const p1odx = INV(dx);
- CCTK_REAL const p1odx2 = pow(dx,-2);
- CCTK_REAL const p1ody = INV(dy);
- CCTK_REAL const p1ody2 = pow(dy,-2);
- CCTK_REAL const p1odz = INV(dz);
- CCTK_REAL const p1odz2 = pow(dz,-2);
- CCTK_REAL const pm1o2dx = -(khalf*INV(dx));
- CCTK_REAL const pm1o2dy = -(khalf*INV(dy));
- CCTK_REAL const pm1o2dz = -(khalf*INV(dz));
-
- /* Loop over the grid points */
- #pragma omp parallel
- LC_LOOP3 (ML_ADMConstraints_O2_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])
- {
- // int index = INITVALUE;
- // int subblock_index = INITVALUE;
- int const index = CCTK_GFINDEX3D(cctkGH,i,j,k);
- int const subblock_index = i - min[0] + (max[0] - min[0]) * (j - min[1] + (max[1]-min[1]) * (k - min[2]));
-
- /* Declare shorthands */
-
- /* Declare local copies of grid functions */
- // CCTK_REAL HL = INITVALUE;
- // CCTK_REAL M1L = INITVALUE, M2L = INITVALUE, M3L = INITVALUE;
- /* Declare precomputed derivatives*/
-
- /* Declare derivatives */
-
- /* Assign local copies of grid functions */
-
- /* Assign local copies of subblock grid functions */
-
- /* Include user supplied include files */
-
- /* Precompute derivatives (new style) */
-
- /* Precompute derivatives (old style) */
-
- /* Calculate temporaries and grid functions */
- CCTK_REAL const HL = 0;
-
- CCTK_REAL const M1L = 0;
-
- CCTK_REAL const M2L = 0;
-
- CCTK_REAL const M3L = 0;
-
-
- /* Copy local copies back to grid functions */
- H[index] = HL;
- M1[index] = M1L;
- M2[index] = M2L;
- M3[index] = M3L;
-
- /* Copy local copies back to subblock grid functions */
- }
- LC_ENDLOOP3 (ML_ADMConstraints_O2_boundary);
-}
-
-void ML_ADMConstraints_O2_boundary(CCTK_ARGUMENTS)
-{
- DECLARE_CCTK_ARGUMENTS;
- DECLARE_CCTK_PARAMETERS;
-
- GenericFD_LoopOverBoundaryWithGhosts(cctkGH, &ML_ADMConstraints_O2_boundary_Body);
-}
diff --git a/ML_ADMConstraints_O2/src/make.code.defn b/ML_ADMConstraints_O2/src/make.code.defn
index fa8065a..18155e5 100644
--- a/ML_ADMConstraints_O2/src/make.code.defn
+++ b/ML_ADMConstraints_O2/src/make.code.defn
@@ -1,3 +1,3 @@
# File produced by Kranc
-SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_ADMConstraints_O2.c ML_ADMConstraints_O2_boundary.c Boundaries.c
+SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_ADMConstraints_O2.c Boundaries.c
diff --git a/ML_ADMQuantities/param.ccl b/ML_ADMQuantities/param.ccl
index 4eb63da..37d0295 100644
--- a/ML_ADMQuantities/param.ccl
+++ b/ML_ADMQuantities/param.ccl
@@ -51,20 +51,8 @@ CCTK_INT ML_ADMQuantities_calc_every "ML_ADMQuantities_calc_every"
} 1
restricted:
-CCTK_INT ML_ADMQuantities_boundary_calc_every "ML_ADMQuantities_boundary_calc_every"
-{
- *:* :: ""
-} 1
-
-restricted:
CCTK_INT ML_ADMQuantities_calc_offset "ML_ADMQuantities_calc_offset"
{
*:* :: ""
} 0
-restricted:
-CCTK_INT ML_ADMQuantities_boundary_calc_offset "ML_ADMQuantities_boundary_calc_offset"
-{
- *:* :: ""
-} 0
-
diff --git a/ML_ADMQuantities/schedule.ccl b/ML_ADMQuantities/schedule.ccl
index 7bf4931..b0c416a 100644
--- a/ML_ADMQuantities/schedule.ccl
+++ b/ML_ADMQuantities/schedule.ccl
@@ -30,11 +30,6 @@ schedule ML_ADMQuantities IN MoL_PseudoEvolution BEFORE ML_ADMQuantities_SelectB
SYNC: ML_Madm
} "ML_ADMQuantities"
-schedule ML_ADMQuantities_boundary IN MoL_PseudoEvolution BEFORE ML_ADMQuantities_SelectBoundConds
-{
- LANG: C
-} "ML_ADMQuantities_boundary"
-
schedule ML_ADMQuantities_SelectBoundConds in MoL_PseudoEvolution
{
LANG: C
diff --git a/ML_ADMQuantities/src/Boundaries.c b/ML_ADMQuantities/src/Boundaries.c
index 6886528..ca87ac2 100644
--- a/ML_ADMQuantities/src/Boundaries.c
+++ b/ML_ADMQuantities/src/Boundaries.c
@@ -31,7 +31,11 @@ void ML_ADMQuantities_SelectBoundConds(CCTK_ARGUMENTS)
DECLARE_CCTK_PARAMETERS;
CCTK_INT ierr = 0;
- return;
+ ierr = Boundary_SelectGroupForBC (cctkGH, CCTK_ALL_FACES, 1, -1, "ML_ADMQuantities::ML_Jadm", "scalar");
+ if (ierr<0) CCTK_WARN (CCTK_WARN_ABORT, "Failed to select boundary condition for ML_ADMQuantities::ML_Jadm");
+
+ ierr = Boundary_SelectGroupForBC (cctkGH, CCTK_ALL_FACES, 1, -1, "ML_ADMQuantities::ML_Madm", "scalar");
+ if (ierr<0) CCTK_WARN (CCTK_WARN_ABORT, "Failed to select boundary condition for ML_ADMQuantities::ML_Madm");
}
diff --git a/ML_ADMQuantities/src/ML_ADMQuantities_boundary.c b/ML_ADMQuantities/src/ML_ADMQuantities_boundary.c
deleted file mode 100644
index df55620..0000000
--- a/ML_ADMQuantities/src/ML_ADMQuantities_boundary.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/* File produced by Kranc */
-
-#define KRANC_C
-
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "cctk.h"
-#include "cctk_Arguments.h"
-#include "cctk_Parameters.h"
-#include "GenericFD.h"
-#include "Differencing.h"
-#include "loopcontrol.h"
-
-/* Define macros used in calculations */
-#define INITVALUE (42)
-#define INV(x) ((1.0) / (x))
-#define SQR(x) ((x) * (x))
-#define CUB(x) ((x) * (x) * (x))
-#define QAD(x) ((x) * (x) * (x) * (x))
-
-void ML_ADMQuantities_boundary_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
-{
- DECLARE_CCTK_ARGUMENTS;
- DECLARE_CCTK_PARAMETERS;
-
-
- /* Declare finite differencing variables */
-
- /* Declare predefined quantities */
- // CCTK_REAL p1o12dx = INITVALUE;
- // CCTK_REAL p1o12dy = INITVALUE;
- // CCTK_REAL p1o12dz = INITVALUE;
- // CCTK_REAL p1o144dxdy = INITVALUE;
- // CCTK_REAL p1o144dxdz = INITVALUE;
- // CCTK_REAL p1o144dydz = INITVALUE;
- // CCTK_REAL p1odx = INITVALUE;
- // CCTK_REAL p1ody = INITVALUE;
- // CCTK_REAL p1odz = INITVALUE;
- // CCTK_REAL pm1o12dx2 = INITVALUE;
- // CCTK_REAL pm1o12dy2 = INITVALUE;
- // CCTK_REAL pm1o12dz2 = INITVALUE;
-
- if (verbose > 1)
- {
- CCTK_VInfo(CCTK_THORNSTRING,"Entering ML_ADMQuantities_boundary_Body");
- }
-
- if (cctk_iteration % ML_ADMQuantities_boundary_calc_every != ML_ADMQuantities_boundary_calc_offset)
- {
- return;
- }
-
- /* Include user-supplied include files */
-
- /* Initialise finite differencing variables */
- CCTK_REAL const dx = CCTK_DELTA_SPACE(0);
- CCTK_REAL const dy = CCTK_DELTA_SPACE(1);
- CCTK_REAL const dz = CCTK_DELTA_SPACE(2);
- int const di = 1;
- int const dj = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- int const dk = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- CCTK_REAL const dxi = 1.0 / dx;
- CCTK_REAL const dyi = 1.0 / dy;
- CCTK_REAL const dzi = 1.0 / dz;
- CCTK_REAL const khalf = 0.5;
- CCTK_REAL const kthird = 1/3.0;
- CCTK_REAL const ktwothird = 2.0/3.0;
- CCTK_REAL const kfourthird = 4.0/3.0;
- CCTK_REAL const keightthird = 8.0/3.0;
- CCTK_REAL const hdxi = 0.5 * dxi;
- CCTK_REAL const hdyi = 0.5 * dyi;
- CCTK_REAL const hdzi = 0.5 * dzi;
-
- /* Initialize predefined quantities */
- CCTK_REAL const p1o12dx = INV(dx)/12.;
- CCTK_REAL const p1o12dy = INV(dy)/12.;
- CCTK_REAL const p1o12dz = INV(dz)/12.;
- CCTK_REAL const p1o144dxdy = (INV(dx)*INV(dy))/144.;
- CCTK_REAL const p1o144dxdz = (INV(dx)*INV(dz))/144.;
- CCTK_REAL const p1o144dydz = (INV(dy)*INV(dz))/144.;
- CCTK_REAL const p1odx = INV(dx);
- CCTK_REAL const p1ody = INV(dy);
- CCTK_REAL const p1odz = INV(dz);
- CCTK_REAL const pm1o12dx2 = -pow(dx,-2)/12.;
- CCTK_REAL const pm1o12dy2 = -pow(dy,-2)/12.;
- CCTK_REAL const pm1o12dz2 = -pow(dz,-2)/12.;
-
- /* Loop over the grid points */
- #pragma omp parallel
- LC_LOOP3 (ML_ADMQuantities_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])
- {
- // int index = INITVALUE;
- // int subblock_index = INITVALUE;
- int const index = CCTK_GFINDEX3D(cctkGH,i,j,k);
- int const subblock_index = i - min[0] + (max[0] - min[0]) * (j - min[1] + (max[1]-min[1]) * (k - min[2]));
-
- /* Declare shorthands */
-
- /* Declare local copies of grid functions */
- // CCTK_REAL Jadm1L = INITVALUE, Jadm2L = INITVALUE, Jadm3L = INITVALUE;
- // CCTK_REAL MadmL = INITVALUE;
- /* Declare precomputed derivatives*/
-
- /* Declare derivatives */
-
- /* Assign local copies of grid functions */
-
- /* Assign local copies of subblock grid functions */
-
- /* Include user supplied include files */
-
- /* Precompute derivatives (new style) */
-
- /* Precompute derivatives (old style) */
-
- /* Calculate temporaries and grid functions */
- CCTK_REAL const MadmL = 0;
-
- CCTK_REAL const Jadm1L = 0;
-
- CCTK_REAL const Jadm2L = 0;
-
- CCTK_REAL const Jadm3L = 0;
-
-
- /* Copy local copies back to grid functions */
- Jadm1[index] = Jadm1L;
- Jadm2[index] = Jadm2L;
- Jadm3[index] = Jadm3L;
- Madm[index] = MadmL;
-
- /* Copy local copies back to subblock grid functions */
- }
- LC_ENDLOOP3 (ML_ADMQuantities_boundary);
-}
-
-void ML_ADMQuantities_boundary(CCTK_ARGUMENTS)
-{
- DECLARE_CCTK_ARGUMENTS;
- DECLARE_CCTK_PARAMETERS;
-
- GenericFD_LoopOverBoundaryWithGhosts(cctkGH, &ML_ADMQuantities_boundary_Body);
-}
diff --git a/ML_ADMQuantities/src/make.code.defn b/ML_ADMQuantities/src/make.code.defn
index 214cde4..c58ef15 100644
--- a/ML_ADMQuantities/src/make.code.defn
+++ b/ML_ADMQuantities/src/make.code.defn
@@ -1,3 +1,3 @@
# File produced by Kranc
-SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_ADMQuantities.c ML_ADMQuantities_boundary.c Boundaries.c
+SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_ADMQuantities.c Boundaries.c
diff --git a/ML_ADMQuantities_MP/param.ccl b/ML_ADMQuantities_MP/param.ccl
index 544602a..4ffd973 100644
--- a/ML_ADMQuantities_MP/param.ccl
+++ b/ML_ADMQuantities_MP/param.ccl
@@ -51,20 +51,8 @@ CCTK_INT ML_ADMQuantities_MP_calc_every "ML_ADMQuantities_MP_calc_every"
} 1
restricted:
-CCTK_INT ML_ADMQuantities_MP_boundary_calc_every "ML_ADMQuantities_MP_boundary_calc_every"
-{
- *:* :: ""
-} 1
-
-restricted:
CCTK_INT ML_ADMQuantities_MP_calc_offset "ML_ADMQuantities_MP_calc_offset"
{
*:* :: ""
} 0
-restricted:
-CCTK_INT ML_ADMQuantities_MP_boundary_calc_offset "ML_ADMQuantities_MP_boundary_calc_offset"
-{
- *:* :: ""
-} 0
-
diff --git a/ML_ADMQuantities_MP/schedule.ccl b/ML_ADMQuantities_MP/schedule.ccl
index 162b989..35aedea 100644
--- a/ML_ADMQuantities_MP/schedule.ccl
+++ b/ML_ADMQuantities_MP/schedule.ccl
@@ -30,11 +30,6 @@ schedule ML_ADMQuantities_MP IN MoL_PseudoEvolution BEFORE ML_ADMQuantities_MP_S
SYNC: ML_Madm
} "ML_ADMQuantities_MP"
-schedule ML_ADMQuantities_MP_boundary IN MoL_PseudoEvolution BEFORE ML_ADMQuantities_MP_SelectBoundConds
-{
- LANG: C
-} "ML_ADMQuantities_MP_boundary"
-
schedule ML_ADMQuantities_MP_SelectBoundConds in MoL_PseudoEvolution
{
LANG: C
diff --git a/ML_ADMQuantities_MP/src/Boundaries.c b/ML_ADMQuantities_MP/src/Boundaries.c
index 7abe454..b46b917 100644
--- a/ML_ADMQuantities_MP/src/Boundaries.c
+++ b/ML_ADMQuantities_MP/src/Boundaries.c
@@ -31,7 +31,11 @@ void ML_ADMQuantities_MP_SelectBoundConds(CCTK_ARGUMENTS)
DECLARE_CCTK_PARAMETERS;
CCTK_INT ierr = 0;
- return;
+ ierr = Boundary_SelectGroupForBC (cctkGH, CCTK_ALL_FACES, 1, -1, "ML_ADMQuantities_MP::ML_Jadm", "scalar");
+ if (ierr<0) CCTK_WARN (CCTK_WARN_ABORT, "Failed to select boundary condition for ML_ADMQuantities_MP::ML_Jadm");
+
+ ierr = Boundary_SelectGroupForBC (cctkGH, CCTK_ALL_FACES, 1, -1, "ML_ADMQuantities_MP::ML_Madm", "scalar");
+ if (ierr<0) CCTK_WARN (CCTK_WARN_ABORT, "Failed to select boundary condition for ML_ADMQuantities_MP::ML_Madm");
}
diff --git a/ML_ADMQuantities_MP/src/ML_ADMQuantities_MP_boundary.c b/ML_ADMQuantities_MP/src/ML_ADMQuantities_MP_boundary.c
deleted file mode 100644
index 643a953..0000000
--- a/ML_ADMQuantities_MP/src/ML_ADMQuantities_MP_boundary.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/* File produced by Kranc */
-
-#define KRANC_C
-
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "cctk.h"
-#include "cctk_Arguments.h"
-#include "cctk_Parameters.h"
-#include "GenericFD.h"
-#include "Differencing.h"
-#include "loopcontrol.h"
-
-/* Define macros used in calculations */
-#define INITVALUE (42)
-#define INV(x) ((1.0) / (x))
-#define SQR(x) ((x) * (x))
-#define CUB(x) ((x) * (x) * (x))
-#define QAD(x) ((x) * (x) * (x) * (x))
-
-void ML_ADMQuantities_MP_boundary_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
-{
- DECLARE_CCTK_ARGUMENTS;
- DECLARE_CCTK_PARAMETERS;
-
-
- /* Declare finite differencing variables */
-
- /* Declare predefined quantities */
- // CCTK_REAL p1o12dx = INITVALUE;
- // CCTK_REAL p1o12dy = INITVALUE;
- // CCTK_REAL p1o12dz = INITVALUE;
- // CCTK_REAL p1o144dxdy = INITVALUE;
- // CCTK_REAL p1o144dxdz = INITVALUE;
- // CCTK_REAL p1o144dydz = INITVALUE;
- // CCTK_REAL p1odx = INITVALUE;
- // CCTK_REAL p1ody = INITVALUE;
- // CCTK_REAL p1odz = INITVALUE;
- // CCTK_REAL pm1o12dx2 = INITVALUE;
- // CCTK_REAL pm1o12dy2 = INITVALUE;
- // CCTK_REAL pm1o12dz2 = INITVALUE;
-
- if (verbose > 1)
- {
- CCTK_VInfo(CCTK_THORNSTRING,"Entering ML_ADMQuantities_MP_boundary_Body");
- }
-
- if (cctk_iteration % ML_ADMQuantities_MP_boundary_calc_every != ML_ADMQuantities_MP_boundary_calc_offset)
- {
- return;
- }
-
- /* Include user-supplied include files */
-
- /* Initialise finite differencing variables */
- CCTK_REAL const dx = CCTK_DELTA_SPACE(0);
- CCTK_REAL const dy = CCTK_DELTA_SPACE(1);
- CCTK_REAL const dz = CCTK_DELTA_SPACE(2);
- int const di = 1;
- int const dj = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- int const dk = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- CCTK_REAL const dxi = 1.0 / dx;
- CCTK_REAL const dyi = 1.0 / dy;
- CCTK_REAL const dzi = 1.0 / dz;
- CCTK_REAL const khalf = 0.5;
- CCTK_REAL const kthird = 1/3.0;
- CCTK_REAL const ktwothird = 2.0/3.0;
- CCTK_REAL const kfourthird = 4.0/3.0;
- CCTK_REAL const keightthird = 8.0/3.0;
- CCTK_REAL const hdxi = 0.5 * dxi;
- CCTK_REAL const hdyi = 0.5 * dyi;
- CCTK_REAL const hdzi = 0.5 * dzi;
-
- /* Initialize predefined quantities */
- CCTK_REAL const p1o12dx = INV(dx)/12.;
- CCTK_REAL const p1o12dy = INV(dy)/12.;
- CCTK_REAL const p1o12dz = INV(dz)/12.;
- CCTK_REAL const p1o144dxdy = (INV(dx)*INV(dy))/144.;
- CCTK_REAL const p1o144dxdz = (INV(dx)*INV(dz))/144.;
- CCTK_REAL const p1o144dydz = (INV(dy)*INV(dz))/144.;
- CCTK_REAL const p1odx = INV(dx);
- CCTK_REAL const p1ody = INV(dy);
- CCTK_REAL const p1odz = INV(dz);
- CCTK_REAL const pm1o12dx2 = -pow(dx,-2)/12.;
- CCTK_REAL const pm1o12dy2 = -pow(dy,-2)/12.;
- CCTK_REAL const pm1o12dz2 = -pow(dz,-2)/12.;
-
- /* Loop over the grid points */
- #pragma omp parallel
- LC_LOOP3 (ML_ADMQuantities_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])
- {
- // int index = INITVALUE;
- // int subblock_index = INITVALUE;
- int const index = CCTK_GFINDEX3D(cctkGH,i,j,k);
- int const subblock_index = i - min[0] + (max[0] - min[0]) * (j - min[1] + (max[1]-min[1]) * (k - min[2]));
-
- /* Declare shorthands */
-
- /* Declare local copies of grid functions */
- // CCTK_REAL Jadm1L = INITVALUE, Jadm2L = INITVALUE, Jadm3L = INITVALUE;
- // CCTK_REAL MadmL = INITVALUE;
- /* Declare precomputed derivatives*/
-
- /* Declare derivatives */
-
- /* Assign local copies of grid functions */
-
- /* Assign local copies of subblock grid functions */
-
- /* Include user supplied include files */
-
- /* Precompute derivatives (new style) */
-
- /* Precompute derivatives (old style) */
-
- /* Calculate temporaries and grid functions */
- CCTK_REAL const MadmL = 0;
-
- CCTK_REAL const Jadm1L = 0;
-
- CCTK_REAL const Jadm2L = 0;
-
- CCTK_REAL const Jadm3L = 0;
-
-
- /* Copy local copies back to grid functions */
- Jadm1[index] = Jadm1L;
- Jadm2[index] = Jadm2L;
- Jadm3[index] = Jadm3L;
- Madm[index] = MadmL;
-
- /* Copy local copies back to subblock grid functions */
- }
- LC_ENDLOOP3 (ML_ADMQuantities_MP_boundary);
-}
-
-void ML_ADMQuantities_MP_boundary(CCTK_ARGUMENTS)
-{
- DECLARE_CCTK_ARGUMENTS;
- DECLARE_CCTK_PARAMETERS;
-
- GenericFD_LoopOverBoundaryWithGhosts(cctkGH, &ML_ADMQuantities_MP_boundary_Body);
-}
diff --git a/ML_ADMQuantities_MP/src/make.code.defn b/ML_ADMQuantities_MP/src/make.code.defn
index 87b03bf..403ab28 100644
--- a/ML_ADMQuantities_MP/src/make.code.defn
+++ b/ML_ADMQuantities_MP/src/make.code.defn
@@ -1,3 +1,3 @@
# File produced by Kranc
-SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_ADMQuantities_MP.c ML_ADMQuantities_MP_boundary.c Boundaries.c
+SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_ADMQuantities_MP.c Boundaries.c
diff --git a/ML_ADMQuantities_O2/param.ccl b/ML_ADMQuantities_O2/param.ccl
index 144e5e6..cee29ee 100644
--- a/ML_ADMQuantities_O2/param.ccl
+++ b/ML_ADMQuantities_O2/param.ccl
@@ -51,20 +51,8 @@ CCTK_INT ML_ADMQuantities_O2_calc_every "ML_ADMQuantities_O2_calc_every"
} 1
restricted:
-CCTK_INT ML_ADMQuantities_O2_boundary_calc_every "ML_ADMQuantities_O2_boundary_calc_every"
-{
- *:* :: ""
-} 1
-
-restricted:
CCTK_INT ML_ADMQuantities_O2_calc_offset "ML_ADMQuantities_O2_calc_offset"
{
*:* :: ""
} 0
-restricted:
-CCTK_INT ML_ADMQuantities_O2_boundary_calc_offset "ML_ADMQuantities_O2_boundary_calc_offset"
-{
- *:* :: ""
-} 0
-
diff --git a/ML_ADMQuantities_O2/schedule.ccl b/ML_ADMQuantities_O2/schedule.ccl
index ea46d09..c48d48c 100644
--- a/ML_ADMQuantities_O2/schedule.ccl
+++ b/ML_ADMQuantities_O2/schedule.ccl
@@ -30,11 +30,6 @@ schedule ML_ADMQuantities_O2 IN MoL_PseudoEvolution BEFORE ML_ADMQuantities_O2_S
SYNC: ML_Madm
} "ML_ADMQuantities_O2"
-schedule ML_ADMQuantities_O2_boundary IN MoL_PseudoEvolution BEFORE ML_ADMQuantities_O2_SelectBoundConds
-{
- LANG: C
-} "ML_ADMQuantities_O2_boundary"
-
schedule ML_ADMQuantities_O2_SelectBoundConds in MoL_PseudoEvolution
{
LANG: C
diff --git a/ML_ADMQuantities_O2/src/Boundaries.c b/ML_ADMQuantities_O2/src/Boundaries.c
index 45d2160..eb94663 100644
--- a/ML_ADMQuantities_O2/src/Boundaries.c
+++ b/ML_ADMQuantities_O2/src/Boundaries.c
@@ -31,7 +31,11 @@ void ML_ADMQuantities_O2_SelectBoundConds(CCTK_ARGUMENTS)
DECLARE_CCTK_PARAMETERS;
CCTK_INT ierr = 0;
- return;
+ ierr = Boundary_SelectGroupForBC (cctkGH, CCTK_ALL_FACES, 1, -1, "ML_ADMQuantities_O2::ML_Jadm", "scalar");
+ if (ierr<0) CCTK_WARN (CCTK_WARN_ABORT, "Failed to select boundary condition for ML_ADMQuantities_O2::ML_Jadm");
+
+ ierr = Boundary_SelectGroupForBC (cctkGH, CCTK_ALL_FACES, 1, -1, "ML_ADMQuantities_O2::ML_Madm", "scalar");
+ if (ierr<0) CCTK_WARN (CCTK_WARN_ABORT, "Failed to select boundary condition for ML_ADMQuantities_O2::ML_Madm");
}
diff --git a/ML_ADMQuantities_O2/src/ML_ADMQuantities_O2_boundary.c b/ML_ADMQuantities_O2/src/ML_ADMQuantities_O2_boundary.c
deleted file mode 100644
index b27b78e..0000000
--- a/ML_ADMQuantities_O2/src/ML_ADMQuantities_O2_boundary.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/* File produced by Kranc */
-
-#define KRANC_C
-
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "cctk.h"
-#include "cctk_Arguments.h"
-#include "cctk_Parameters.h"
-#include "GenericFD.h"
-#include "Differencing.h"
-#include "loopcontrol.h"
-
-/* Define macros used in calculations */
-#define INITVALUE (42)
-#define INV(x) ((1.0) / (x))
-#define SQR(x) ((x) * (x))
-#define CUB(x) ((x) * (x) * (x))
-#define QAD(x) ((x) * (x) * (x) * (x))
-
-void ML_ADMQuantities_O2_boundary_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
-{
- DECLARE_CCTK_ARGUMENTS;
- DECLARE_CCTK_PARAMETERS;
-
-
- /* Declare finite differencing variables */
-
- /* Declare predefined quantities */
- // CCTK_REAL p1o2dx = INITVALUE;
- // CCTK_REAL p1o2dy = INITVALUE;
- // CCTK_REAL p1o2dz = INITVALUE;
- // CCTK_REAL p1o4dxdy = INITVALUE;
- // CCTK_REAL p1o4dxdz = INITVALUE;
- // CCTK_REAL p1o4dydz = INITVALUE;
- // CCTK_REAL p1odx = INITVALUE;
- // CCTK_REAL p1odx2 = INITVALUE;
- // CCTK_REAL p1ody = INITVALUE;
- // CCTK_REAL p1ody2 = INITVALUE;
- // CCTK_REAL p1odz = INITVALUE;
- // CCTK_REAL p1odz2 = INITVALUE;
- // CCTK_REAL pm1o2dx = INITVALUE;
- // CCTK_REAL pm1o2dy = INITVALUE;
- // CCTK_REAL pm1o2dz = INITVALUE;
-
- if (verbose > 1)
- {
- CCTK_VInfo(CCTK_THORNSTRING,"Entering ML_ADMQuantities_O2_boundary_Body");
- }
-
- if (cctk_iteration % ML_ADMQuantities_O2_boundary_calc_every != ML_ADMQuantities_O2_boundary_calc_offset)
- {
- return;
- }
-
- /* Include user-supplied include files */
-
- /* Initialise finite differencing variables */
- CCTK_REAL const dx = CCTK_DELTA_SPACE(0);
- CCTK_REAL const dy = CCTK_DELTA_SPACE(1);
- CCTK_REAL const dz = CCTK_DELTA_SPACE(2);
- int const di = 1;
- int const dj = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- int const dk = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- CCTK_REAL const dxi = 1.0 / dx;
- CCTK_REAL const dyi = 1.0 / dy;
- CCTK_REAL const dzi = 1.0 / dz;
- CCTK_REAL const khalf = 0.5;
- CCTK_REAL const kthird = 1/3.0;
- CCTK_REAL const ktwothird = 2.0/3.0;
- CCTK_REAL const kfourthird = 4.0/3.0;
- CCTK_REAL const keightthird = 8.0/3.0;
- CCTK_REAL const hdxi = 0.5 * dxi;
- CCTK_REAL const hdyi = 0.5 * dyi;
- CCTK_REAL const hdzi = 0.5 * dzi;
-
- /* Initialize predefined quantities */
- CCTK_REAL const p1o2dx = khalf*INV(dx);
- CCTK_REAL const p1o2dy = khalf*INV(dy);
- CCTK_REAL const p1o2dz = khalf*INV(dz);
- CCTK_REAL const p1o4dxdy = (INV(dx)*INV(dy))/4.;
- CCTK_REAL const p1o4dxdz = (INV(dx)*INV(dz))/4.;
- CCTK_REAL const p1o4dydz = (INV(dy)*INV(dz))/4.;
- CCTK_REAL const p1odx = INV(dx);
- CCTK_REAL const p1odx2 = pow(dx,-2);
- CCTK_REAL const p1ody = INV(dy);
- CCTK_REAL const p1ody2 = pow(dy,-2);
- CCTK_REAL const p1odz = INV(dz);
- CCTK_REAL const p1odz2 = pow(dz,-2);
- CCTK_REAL const pm1o2dx = -(khalf*INV(dx));
- CCTK_REAL const pm1o2dy = -(khalf*INV(dy));
- CCTK_REAL const pm1o2dz = -(khalf*INV(dz));
-
- /* Loop over the grid points */
- #pragma omp parallel
- LC_LOOP3 (ML_ADMQuantities_O2_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])
- {
- // int index = INITVALUE;
- // int subblock_index = INITVALUE;
- int const index = CCTK_GFINDEX3D(cctkGH,i,j,k);
- int const subblock_index = i - min[0] + (max[0] - min[0]) * (j - min[1] + (max[1]-min[1]) * (k - min[2]));
-
- /* Declare shorthands */
-
- /* Declare local copies of grid functions */
- // CCTK_REAL Jadm1L = INITVALUE, Jadm2L = INITVALUE, Jadm3L = INITVALUE;
- // CCTK_REAL MadmL = INITVALUE;
- /* Declare precomputed derivatives*/
-
- /* Declare derivatives */
-
- /* Assign local copies of grid functions */
-
- /* Assign local copies of subblock grid functions */
-
- /* Include user supplied include files */
-
- /* Precompute derivatives (new style) */
-
- /* Precompute derivatives (old style) */
-
- /* Calculate temporaries and grid functions */
- CCTK_REAL const MadmL = 0;
-
- CCTK_REAL const Jadm1L = 0;
-
- CCTK_REAL const Jadm2L = 0;
-
- CCTK_REAL const Jadm3L = 0;
-
-
- /* Copy local copies back to grid functions */
- Jadm1[index] = Jadm1L;
- Jadm2[index] = Jadm2L;
- Jadm3[index] = Jadm3L;
- Madm[index] = MadmL;
-
- /* Copy local copies back to subblock grid functions */
- }
- LC_ENDLOOP3 (ML_ADMQuantities_O2_boundary);
-}
-
-void ML_ADMQuantities_O2_boundary(CCTK_ARGUMENTS)
-{
- DECLARE_CCTK_ARGUMENTS;
- DECLARE_CCTK_PARAMETERS;
-
- GenericFD_LoopOverBoundaryWithGhosts(cctkGH, &ML_ADMQuantities_O2_boundary_Body);
-}
diff --git a/ML_ADMQuantities_O2/src/make.code.defn b/ML_ADMQuantities_O2/src/make.code.defn
index 7dceb0e..693ddb5 100644
--- a/ML_ADMQuantities_O2/src/make.code.defn
+++ b/ML_ADMQuantities_O2/src/make.code.defn
@@ -1,3 +1,3 @@
# File produced by Kranc
-SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_ADMQuantities_O2.c ML_ADMQuantities_O2_boundary.c Boundaries.c
+SRCS = Startup.c RegisterMoL.c RegisterSymmetries.c ML_ADMQuantities_O2.c Boundaries.c
diff --git a/m/Makefile b/m/Makefile
index ba82b5a..262016a 100644
--- a/m/Makefile
+++ b/m/Makefile
@@ -26,6 +26,7 @@ McLachlan_ADMConstraints.out: McLachlan_ADMConstraints.m
./runmath.sh $^
perl -pi -e 's/MoL_PostStep/MoL_PseudoEvolution/g' ML_ADMConstraints*/schedule.ccl
for thorn in ML_ADMConstraints*; do \
+ ./fixup-ADMConstraints.pl $$thorn; \
./copy-if-changed.sh $$thorn ../$$thorn; \
done
@@ -34,6 +35,7 @@ McLachlan_ADMQuantities.out: McLachlan_ADMQuantities.m
./runmath.sh $^
perl -pi -e 's/MoL_PostStep/MoL_PseudoEvolution/g' ML_ADMQuantities*/schedule.ccl
for thorn in ML_ADMQuantities*; do \
+ ./fixup-ADMQuantities.pl $$thorn; \
./copy-if-changed.sh $$thorn ../$$thorn; \
done
diff --git a/m/McLachlan_ADMConstraints.m b/m/McLachlan_ADMConstraints.m
index 57d53cd..ab7d98e 100644
--- a/m/McLachlan_ADMConstraints.m
+++ b/m/McLachlan_ADMConstraints.m
@@ -259,6 +259,7 @@ ADMConstraintsCalc =
}
};
+(*
ADMConstraintsBoundaryCalc =
{
Name -> ADMConstraints <> "_boundary",
@@ -270,6 +271,7 @@ ADMConstraintsBoundaryCalc =
M[la] -> 0
}
};
+*)
(******************************************************************************)
(* Implementations *)
@@ -290,8 +292,10 @@ inheritedImplementations =
calculations =
{
- ADMConstraintsCalc,
+ ADMConstraintsCalc
+(*
ADMConstraintsBoundaryCalc
+*)
};
CreateKrancThornTT [groups, ".", ADMConstraints,
diff --git a/m/McLachlan_ADMQuantities.m b/m/McLachlan_ADMQuantities.m
index db3406d..5891c93 100644
--- a/m/McLachlan_ADMQuantities.m
+++ b/m/McLachlan_ADMQuantities.m
@@ -292,6 +292,7 @@ ADMQuantitiesCalc =
}
};
+(*
ADMQuantitiesBoundaryCalc =
{
Name -> ADMQuantities <> "_boundary",
@@ -303,6 +304,7 @@ ADMQuantitiesBoundaryCalc =
Jadm[la] -> 0
}
};
+*)
(******************************************************************************)
(* Implementations *)
@@ -335,8 +337,10 @@ intParameters =
calculations =
{
- ADMQuantitiesCalc,
+ ADMQuantitiesCalc
+(*
ADMQuantitiesBoundaryCalc
+*)
};
CreateKrancThornTT [groups, ".", ADMQuantities,
diff --git a/m/fixup-ADMConstraints.pl b/m/fixup-ADMConstraints.pl
new file mode 100755
index 0000000..faf68b6
--- /dev/null
+++ b/m/fixup-ADMConstraints.pl
@@ -0,0 +1,36 @@
+#! /usr/bin/perl -w
+
+use strict;
+
+my $thorn = $ARGV[0];
+print "Post-processing thorn $thorn\n";
+
+my $filename = "$thorn/src/Boundaries.c";
+
+open (FILE, "< $filename") or die "Cannot read file \"$filename\"";
+my @lines = <FILE>;
+close FILE or die;
+
+#my $n=0;
+#foreach my $line (@lines) {
+# print "$n $line";
+# ++$n;
+#}
+
+$lines[33] = <<EOF;
+ ierr = Boundary_SelectGroupForBC (cctkGH, CCTK_ALL_FACES, 1, -1, "${thorn}::ML_Ham", "scalar");
+ if (ierr<0) CCTK_WARN (CCTK_WARN_ABORT, "Failed to select boundary condition for ${thorn}::ML_Ham");
+
+ ierr = Boundary_SelectGroupForBC (cctkGH, CCTK_ALL_FACES, 1, -1, "${thorn}::ML_mom", "scalar");
+ if (ierr<0) CCTK_WARN (CCTK_WARN_ABORT, "Failed to select boundary condition for ${thorn}::ML_mom");
+EOF
+
+#my $n=0;
+#foreach my $line (@lines) {
+# print "$n $line";
+# ++$n;
+#}
+
+open (FILE, "> $filename") or die "Cannot write file \"$filename\"";
+print FILE join '', @lines;
+close FILE or die;
diff --git a/m/fixup-ADMQuantities.pl b/m/fixup-ADMQuantities.pl
new file mode 100755
index 0000000..0cf061a
--- /dev/null
+++ b/m/fixup-ADMQuantities.pl
@@ -0,0 +1,36 @@
+#! /usr/bin/perl -w
+
+use strict;
+
+my $thorn = $ARGV[0];
+print "Post-processing thorn $thorn\n";
+
+my $filename = "$thorn/src/Boundaries.c";
+
+open (FILE, "< $filename") or die "Cannot read file \"$filename\"";
+my @lines = <FILE>;
+close FILE or die;
+
+#my $n=0;
+#foreach my $line (@lines) {
+# print "$n $line";
+# ++$n;
+#}
+
+$lines[33] = <<EOF;
+ ierr = Boundary_SelectGroupForBC (cctkGH, CCTK_ALL_FACES, 1, -1, "${thorn}::ML_Jadm", "scalar");
+ if (ierr<0) CCTK_WARN (CCTK_WARN_ABORT, "Failed to select boundary condition for ${thorn}::ML_Jadm");
+
+ ierr = Boundary_SelectGroupForBC (cctkGH, CCTK_ALL_FACES, 1, -1, "${thorn}::ML_Madm", "scalar");
+ if (ierr<0) CCTK_WARN (CCTK_WARN_ABORT, "Failed to select boundary condition for ${thorn}::ML_Madm");
+EOF
+
+#my $n=0;
+#foreach my $line (@lines) {
+# print "$n $line";
+# ++$n;
+#}
+
+open (FILE, "> $filename") or die "Cannot write file \"$filename\"";
+print FILE join '', @lines;
+close FILE or die;