diff options
Diffstat (limited to 'src/SymmetryWrappers.c')
-rw-r--r-- | src/SymmetryWrappers.c | 27 |
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], |