From 446827de87f13a982c4f3503be2d7ac4b3fb9568 Mon Sep 17 00:00:00 2001 From: schnetter Date: Wed, 20 Feb 2008 16:37:27 +0000 Subject: Add more error checking. Handle staggered upper boundaries (a very rare case) correctly. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/ReflectionSymmetry/trunk@22 082bdb00-0f4f-0410-b49e-b1835e5f2039 --- src/apply.c | 47 +++++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/src/apply.c b/src/apply.c index 918957e..d5223da 100644 --- a/src/apply.c +++ b/src/apply.c @@ -29,31 +29,34 @@ CCTK_FILEVERSION(AEIDevelopment_ReflectionSymmetry_apply_c); int const idir, int const jdir, int const kdir, \ int const parity) \ { \ - int i, j, k, iimin, jjmin, kkmin, iimax, jjmax, kkmax; \ + int i, j, k; \ \ - 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&&kkmin=0 && imax<=ni); \ + assert(jmin>=0 && jmax<=nj); \ + assert(kmin>=0 && kmax<=nk); \ + assert(iimin>=0 && iimax<=ni); \ + assert(jjmin>=0 && jjmax<=nj); \ + assert(kkmin>=0 && kkmax<=nk); \ + assert(iimax>=-1 && iimin=-1 && jjmin=-1 && kkmincctk_nghostzones[dir]; ioff[dir] = (+ 2*cctkGH->cctk_nghostzones[dir] - 1 - + (do_stagger[2*dir+face] ? 0 : 1)); + + (do_stagger[2*dir+face] ? 0 : 1)); idir[dir] = -1; } else { imin[dir] = cctkGH->cctk_lsh[dir] - cctkGH->cctk_nghostzones[dir]; - ioff[dir] = (- 2*cctkGH->cctk_nghostzones[dir] - - (do_stagger[2*dir+face] ? 0 : 1)); + ioff[dir] = (- 2*cctkGH->cctk_nghostzones[dir] + 1 + - (do_stagger[2*dir+face] ? 0 : 1)); idir[dir] = -1; } -- cgit v1.2.3