From 33479637cddfa24c0150cb691ee0bc1695f42866 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Sun, 14 Mar 2010 14:11:03 -0500 Subject: Correct boundary conditions --- ML_ADMConstraints/param.ccl | 12 -- ML_ADMConstraints/schedule.ccl | 5 - ML_ADMConstraints/src/Boundaries.c | 6 +- ML_ADMConstraints/src/ML_ADMConstraints_boundary.c | 147 --------------------- ML_ADMConstraints/src/make.code.defn | 2 +- 5 files changed, 6 insertions(+), 166 deletions(-) delete mode 100644 ML_ADMConstraints/src/ML_ADMConstraints_boundary.c (limited to 'ML_ADMConstraints') 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 @@ -44,21 +44,9 @@ 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 -#include -#include -#include -#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 -- cgit v1.2.3