From 91212f4635d0bd3e95edce0b873b0a714f105943 Mon Sep 17 00:00:00 2001 From: schnetter Date: Tue, 17 Jun 2003 13:58:48 +0000 Subject: Fix a few bugs. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/Periodic/trunk@8 1bf05452-ddb3-4880-bfa1-00436340132b --- src/periodic.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/periodic.c b/src/periodic.c index b114919..38ed889 100644 --- a/src/periodic.c +++ b/src/periodic.c @@ -136,7 +136,7 @@ BndPeriodicVI (cGH const * restrict const cctkGH, int source; assert (domain_size > 0); - if (f==0 && domain_size < step_size) { + if (domain_size < step_size) { /* TODO: this could be made more efficient by taking larger steps */ step_size = 1; @@ -163,10 +163,20 @@ BndPeriodicVI (cGH const * restrict const cctkGH, #endif } else { /* Fill in upper face */ +#if 0 xferinfo[dir].src.off = stencil[dir]; xferinfo[dir].src.len = stencil[dir]; xferinfo[dir].dst.off = data.gsh[dir] - stencil[dir]; xferinfo[dir].dst.len = stencil[dir]; +#else + source = stencil[dir] + step*step_size; + while (source + step_size > data.gsh[dir] - stencil[dir]) source -= domain_size; + assert (source >= stencil[dir]); + xferinfo[dir].src.off = source; + xferinfo[dir].src.len = step_size; + xferinfo[dir].dst.off = data.gsh[dir] - stencil[dir] + step*step_size; + xferinfo[dir].dst.len = step_size; +#endif } ierr = Slab_Transfer @@ -212,7 +222,7 @@ BndPeriodicGI (cGH const * restrict const cctkGH, int vi; int ierr; assert (gi>=0 && gi=0); if (nv>0) { v1 = CCTK_FirstVarIndexI(gi); @@ -251,7 +261,6 @@ Periodic_ApplyBC (cGH const * restrict const cctkGH) int dim; int * restrict stencil; int i; - int d; int ierr; assert (cctkGH); -- cgit v1.2.3