aboutsummaryrefslogtreecommitdiff
path: root/ML_ADMConstraints
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 /ML_ADMConstraints
parent5e7d21dadf4c03aeb63e42720a8c52c2cf57917a (diff)
Correct boundary conditions
Diffstat (limited to 'ML_ADMConstraints')
-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
5 files changed, 6 insertions, 166 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