aboutsummaryrefslogtreecommitdiff
path: root/src/SetSymmetry.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/SetSymmetry.c')
-rw-r--r--src/SetSymmetry.c38
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]);