From c40c422692bc788f6746358598ff67a82a9a806c Mon Sep 17 00:00:00 2001 From: hawke Date: Tue, 22 Jun 2004 13:18:36 +0000 Subject: Remove a few conflicts and memory errors. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/ReflectionSymmetry/trunk@3 082bdb00-0f4f-0410-b49e-b1835e5f2039 --- src/apply.c | 35 +++++++++++++++++++++++++++-------- src/interpolate.c | 12 +++++++----- src/register.c | 2 +- 3 files changed, 35 insertions(+), 14 deletions(-) diff --git a/src/apply.c b/src/apply.c index 114c1f7..fa21a2b 100644 --- a/src/apply.c +++ b/src/apply.c @@ -29,13 +29,29 @@ CCTK_FILEVERSION(AEIDevelopment_ReflectionSymmetry_apply_c); int const idir, int const jdir, int const kdir, \ int const parity) \ { \ - int i, j, k; \ + int i, j, k, iimin, jjmin, kkmin, iimax, jjmax, kkmax; \ + \ + assert(imin>=0&&imax<=ni); \ + assert(jmin>=0&&jmax<=nj); \ + assert(kmin>=0&&kmax<=nk); \ + iimin = ioff + idir*imin; \ + jjmin = joff + jdir*jmin; \ + kkmin = koff + kdir*kmin; \ + iimax = ioff + idir*imax; \ + jjmax = joff + jdir*jmax; \ + kkmax = koff + kdir*kmax; \ + assert(iimin>=0&&iimax<=ni); \ + assert(jjmin>=0&&jjmax<=nj); \ + assert(kkmin>=0&&kkmax<=nk); \ + assert(iimax>=-1&&iimin=-1&&jjmin=-1&&kkmincctk_lsh[d]; ioff[d] = 0; + idir[d] = 1; } if (face == 0) { - imax[d] = cctkGH->cctk_nghostzones[d]; - ioff[d] = (+ cctkGH->cctk_nghostzones[d] - + (do_stagger[2*d+face] ? 0 : 1)); + imax[dir] = cctkGH->cctk_nghostzones[dir]; + ioff[dir] = (+ 2*cctkGH->cctk_nghostzones[dir] - 1 + + (do_stagger[2*dir+face] ? 0 : 1)); + idir[dir] = -1; } else { - imin[d] = cctkGH->cctk_lsh[d] - cctkGH->cctk_nghostzones[d]; - ioff[d] = (- cctkGH->cctk_nghostzones[d] - - (do_stagger[2*d+face] ? 0 : 1)); + imin[dir] = cctkGH->cctk_lsh[dir] - cctkGH->cctk_nghostzones[dir]; + ioff[dir] = (- 2*cctkGH->cctk_nghostzones[dir] + - (do_stagger[2*dir+face] ? 0 : 1)); + idir[dir] = -1; } /* Copy region */ diff --git a/src/interpolate.c b/src/interpolate.c index 8591fd7..cb58ba9 100644 --- a/src/interpolate.c +++ b/src/interpolate.c @@ -87,8 +87,8 @@ ReflectionSymmetry_Interpolate (CCTK_POINTER_TO_CONST restrict const cctkGH_, if (do_reflection[2*dir]) { new_interp_coords[dir] - = malloc (N_interp_points * sizeof *new_interp_coords[dir]); - assert (new_interp_coords[d]); + = malloc (N_interp_points * sizeof (CCTK_REAL)); + assert (new_interp_coords[dir]); for (n=0; n0); firstvar = CCTK_FirstVarIndexI(gi); assert (firstvar>=0); - + table = CCTK_GroupTagsTableI(gi); + assert (table>=0); + /* Get and check tensor type information */ @@ -314,8 +316,8 @@ ReflectionSymmetry_Interpolate (CCTK_POINTER_TO_CONST restrict const cctkGH_, needs_checking = 0; for (dir=0; dir<3; ++dir) { - check_dir[d] = do_reflection[2*dir] && parities[dir] < 0; - needs_checking |= check_dir[d]; + check_dir[dir] = do_reflection[2*dir] && parities[dir] < 0; + needs_checking |= check_dir[dir]; } diff --git a/src/register.c b/src/register.c index 2ae4b58..7a9bc17 100644 --- a/src/register.c +++ b/src/register.c @@ -45,7 +45,7 @@ ReflectionSymmetry_Register (CCTK_ARGUMENTS) } } - handle = SymmetryRegister ("reflection_symmetry"); + handle = SymmetryRegister ("reflection_symmetry_thorn"); if (handle < 0) { CCTK_WARN (0, "Could not register symmetry boundary condition"); -- cgit v1.2.3