diff options
author | hawke <hawke@082bdb00-0f4f-0410-b49e-b1835e5f2039> | 2004-06-22 13:18:36 +0000 |
---|---|---|
committer | hawke <hawke@082bdb00-0f4f-0410-b49e-b1835e5f2039> | 2004-06-22 13:18:36 +0000 |
commit | c40c422692bc788f6746358598ff67a82a9a806c (patch) | |
tree | a74cf32f70e0d8763c7cc2a2877f1a2fc689b4b9 | |
parent | d02895af18ae9c3673202d6231da078cb3d74bac (diff) |
Remove a few conflicts and memory errors.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/ReflectionSymmetry/trunk@3 082bdb00-0f4f-0410-b49e-b1835e5f2039
-rw-r--r-- | src/apply.c | 35 | ||||
-rw-r--r-- | src/interpolate.c | 12 | ||||
-rw-r--r-- | 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<ni); \ + assert(jjmax>=-1&&jjmin<nj); \ + assert(kkmax>=-1&&kkmin<nk); \ \ for (k=kmin; k<kmax; ++k) \ { \ for (j=jmin; j<jmax; ++j) \ { \ - for (i=imin; j<imax; ++i) \ + for (i=imin; i<imax; ++i) \ { \ int const dstind = i + ni * (j + nj * k); \ int const ii = ioff + idir * i; \ @@ -342,18 +358,21 @@ BndReflectVI (cGH const * restrict const cctkGH, imin[d] = 0; imax[d] = cctkGH->cctk_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; n<N_interp_points; ++n) { @@ -193,7 +193,9 @@ ReflectionSymmetry_Interpolate (CCTK_POINTER_TO_CONST restrict const cctkGH_, assert (numvars>0); 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"); |