diff options
Diffstat (limited to 'src/SetSymmetry.c')
-rw-r--r-- | src/SetSymmetry.c | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/src/SetSymmetry.c b/src/SetSymmetry.c index 092dafb..afefea2 100644 --- a/src/SetSymmetry.c +++ b/src/SetSymmetry.c @@ -20,10 +20,6 @@ static const char *rcsid = "$Header$"; CCTK_FILEVERSION(CactusBase_CartGrid3D_SetSymmetry_c) -#define MAX_DIM 3 -#define MAX_FACE 6 - - /******************************************************************** ********************* Local Data Types *********************** ********************************************************************/ @@ -94,10 +90,22 @@ int SetCartSymVI(cGH *GH, int *sym, int vi) DecodeSymParameters3D(domainsym); for (dir=0; dir<MAX_FACE; ++dir) { - if (domainsym[dir]) + if (domainsym[dir] == GFSYM_REFLECTION) { sGHex->GFSym[vi][dir] = sym[dir/2]; - } + } + else if (domainsym[dir] == GFSYM_ROTATION_X) + { + sGHex->GFSym[vi][dir] = sym[1]*sym[2]; + } + else if (domainsym[dir] == GFSYM_ROTATION_Y) + { + sGHex->GFSym[vi][dir] = sym[0]*sym[2]; + } + else if (domainsym[dir] == GFSYM_ROTATION_Z) + { + sGHex->GFSym[vi][dir] = sym[0]*sym[1]; + } else { sGHex->GFSym[vi][dir] = GFSYM_NOSYM; @@ -105,7 +113,7 @@ int SetCartSymVI(cGH *GH, int *sym, int vi) } #ifdef SYM_DEBUG - printf("SetSymmetry: %s [%d,%d,%d]\n\n",imp_gf, + printf("SetSymmetry: %s [%d,%d,%d]\n\n", CCTK_VarName(vi), sGHex->GFSym[vi][0], sGHex->GFSym[vi][2], sGHex->GFSym[vi][4]); @@ -217,10 +225,22 @@ int SetCartSymGI(cGH *GH, int *sym, int gi) DecodeSymParameters3D (domainsym); for (dir=0; dir<MAX_FACE; dir++) { - if (domainsym[dir]) + if (domainsym[dir] == GFSYM_REFLECTION) { sGHex->GFSym[vi][dir] = sym[dir/2]; } + else if (domainsym[dir] == GFSYM_ROTATION_X) + { + sGHex->GFSym[vi][dir] = sym[1]*sym[2]; + } + else if (domainsym[dir] == GFSYM_ROTATION_Y) + { + sGHex->GFSym[vi][dir] = sym[0]*sym[2]; + } + else if (domainsym[dir] == GFSYM_ROTATION_Z) + { + sGHex->GFSym[vi][dir] = sym[0]*sym[1]; + } else { sGHex->GFSym[vi][dir] = GFSYM_NOSYM; @@ -228,7 +248,7 @@ int SetCartSymGI(cGH *GH, int *sym, int gi) } #ifdef SYM_DEBUG - printf("SetSymmetry: %s [%d,%d,%d]\n\n",imp_gf, + printf("SetSymmetry: %s [%d,%d,%d]\n\n", CCTK_VarName(vi), sGHex->GFSym[vi][0], sGHex->GFSym[vi][2], sGHex->GFSym[vi][4]); |