aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschnetter <schnetter@20f44201-0f4f-0410-9130-e5fc2714a787>2006-10-28 17:53:09 +0000
committerschnetter <schnetter@20f44201-0f4f-0410-9130-e5fc2714a787>2006-10-28 17:53:09 +0000
commitd0735c187c48d07e6c6fa30194a7649c07b4a4a2 (patch)
tree96501fd04bbca8426cf0f4e7b110b218240c7c98
parent98f2a11583f4947f502776b371372c384c98aa02 (diff)
Use information from ghost zones when applying the symmetry. This is
necessary at edges and corners with mesh refinement boundaries. This in turn requires that grid functions be synchronised _before_ this symmetry is applied. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/RotatingSymmetry180/trunk@39 20f44201-0f4f-0410-9130-e5fc2714a787
-rw-r--r--src/rotatingsymmetry180.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/rotatingsymmetry180.c b/src/rotatingsymmetry180.c
index df0f0a9..dcfde4b 100644
--- a/src/rotatingsymmetry180.c
+++ b/src/rotatingsymmetry180.c
@@ -45,6 +45,7 @@ int BndRot180VI (cGH const * restrict const cctkGH,
int offset[3]; /* offset 0..1 due to avoid_origin */
struct xferinfo * restrict xferinfo;
+ int options;
int var;
@@ -379,6 +380,7 @@ int BndRot180VI (cGH const * restrict const cctkGH,
int imin[3], imax[3];
int i, j, k;
for (d=0; d<3; ++d) {
+ assert (0); /* xferinfo has not yet been allocated */
imin[d] = xferinfo[d].dst.off;
imax[d] = xferinfo[d].dst.off + xferinfo[d].dst.len;
imin[d] -= cctk_lbnd[d];
@@ -451,11 +453,17 @@ int BndRot180VI (cGH const * restrict const cctkGH,
xferinfo[ dir].flip = 1;
xferinfo[otherdir].flip = 1;
+ options = Util_TableCreateFromString ("useghosts=1");
+ assert (options>=0);
+
ierr = Slab_MultiTransfer
- (cctkGH, group.dim, xferinfo, -1,
+ (cctkGH, group.dim, xferinfo, options,
nvars, vartypes, varptrs, vartypes, varptrs);
assert (!ierr);
+ ierr = Util_TableDestroy (options);
+ assert (!ierr);
+
if (poison_boundaries) {
/* check destination grid points for poison */
if (cctkGH->cctk_bbox[2*dir]) {