aboutsummaryrefslogtreecommitdiff
path: root/src/SymmetryWrappers.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/SymmetryWrappers.c')
-rw-r--r--src/SymmetryWrappers.c27
1 files changed, 20 insertions, 7 deletions
diff --git a/src/SymmetryWrappers.c b/src/SymmetryWrappers.c
index 19386fb..548c149 100644
--- a/src/SymmetryWrappers.c
+++ b/src/SymmetryWrappers.c
@@ -14,6 +14,8 @@
#include "cctk_FortranString.h"
#include "Symmetry.h"
+void DecodeSymParameters3D(int sym[6]);
+
void CCTK_FCALL CCTK_FNAME(CartSymGI)(int *ierr, cGH *GH, int *gi);
void CCTK_FCALL CCTK_FNAME(CartSymGN)
(int *ierr, cGH *GH, ONE_FORTSTRING_ARG);
@@ -50,7 +52,7 @@ static const char *rcsid = "$Header$";
CCTK_FILEVERSION(CactusBase_CartGrid3D_SymmetryWrappers_c)
-/*$#define SYM_DEBUG$*/
+/*#define SYM_DEBUG*/
/*@@
@@ -77,6 +79,7 @@ int CartSymGI(cGH *GH, int gi)
int berr=-1,ierr=-1;
int time;
int *doSym, *dstag, *lssh, *cntstag;
+ int domainsym[MAX_FACE];
SymmetryGHex *sGHex;
/* Get out if we are sure no symmetries should be applied */
@@ -118,6 +121,8 @@ int CartSymGI(cGH *GH, int gi)
time = 0;
}*/
+ DecodeSymParameters3D(domainsym);
+
for (vi=first_vi; vi<first_vi+numvars; vi++)
{
/* Apply Symmetries to lower sides [0,2,4,...] if:
@@ -139,16 +144,24 @@ int CartSymGI(cGH *GH, int gi)
}
lssh[idim] = GH->cctk_lssh[CCTK_LSSH_IDX(dstag[idim],idim)];
-
- doSym[idim*2] = (((sGHex->GFSym[vi][idim*2]!=GFSYM_NOSYM) &&
- (sGHex->GFSym[vi][idim*2]!=GFSYM_UNSET)) &&
- lssh[idim]>1 && GH->cctk_bbox[idim*2]==1);
+
+ if (((sGHex->GFSym[vi][idim*2] != GFSYM_NOSYM) &&
+ (sGHex->GFSym[vi][idim*2] != GFSYM_UNSET)) &&
+ lssh[idim]>1 && GH->cctk_bbox[idim*2]==1)
+ {
+ doSym[idim*2] = domainsym[idim*2];
+ }
+ else
+ {
+ doSym[idim*2] = 0;
+ }
+
doSym[idim*2+1] = 0;
}
#ifdef SYM_DEBUG
- printf(" DOSYM: %s [%d,%d] [%d,%d] [%d,%d] --- %d %d %d \n",
+ printf(" DOSYM: %s [%d,%d] [%d,%d] [%d,%d] --- %d %d %d\n",
CCTK_VarName(vi),
doSym[0],doSym[1],
doSym[2],doSym[3],
@@ -335,7 +348,7 @@ int CartSymVI(cGH *GH, int vi)
}
#ifdef SYM_DEBUG
- printf(" DOSYM: %s [%d,%d] [%d,%d] [%d,%d] --- %d %d %d \n",
+ printf(" DOSYM: %s [%d,%d] [%d,%d] [%d,%d] --- %d %d %d\n",
CCTK_VarName(vi),
doSym[0],doSym[1],
doSym[2],doSym[3],