aboutsummaryrefslogtreecommitdiff
path: root/src/DecodeSymParameters.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/DecodeSymParameters.c')
-rw-r--r--src/DecodeSymParameters.c92
1 files changed, 80 insertions, 12 deletions
diff --git a/src/DecodeSymParameters.c b/src/DecodeSymParameters.c
index df8d581..88b12b5 100644
--- a/src/DecodeSymParameters.c
+++ b/src/DecodeSymParameters.c
@@ -1,3 +1,4 @@
+
/*@@
@file DecodeSymParameters.c
@date Wed May 10 18:58:00 EST 2000
@@ -11,6 +12,7 @@
#include "cctk.h"
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
+#include "Symmetry.h"
static const char *rcsid = "$Header$";
@@ -55,39 +57,105 @@ void DecodeSymParameters3D(int sym[6])
{
if (CCTK_Equals(bitant_plane, "xy"))
{
- sym[4] = 1;
+ sym[4] = GFSYM_REFLECTION;
+ }
+ else if (CCTK_Equals(bitant_plane, "xz"))
+ {
+ sym[2] = GFSYM_REFLECTION;
+ }
+ else if (CCTK_Equals(bitant_plane, "yz"))
+ {
+ sym[0] = GFSYM_REFLECTION;
+ }
+ }
+ else if (CCTK_Equals(domain, "bitant_rotate"))
+ {
+ if (CCTK_Equals(bitant_plane, "xy"))
+ {
+ if (CCTK_Equals(rotation_axis, "y"))
+ sym[4] = GFSYM_ROTATION_Y;
+ else if (CCTK_Equals(rotation_axis, "x"))
+ sym[4] = GFSYM_ROTATION_X;
}
else if (CCTK_Equals(bitant_plane, "xz"))
{
- sym[2] = 1;
+ if (CCTK_Equals(rotation_axis, "x"))
+ sym[2] = GFSYM_ROTATION_X;
+ else if (CCTK_Equals(rotation_axis, "z"))
+ sym[2] = GFSYM_ROTATION_Z;
}
else if (CCTK_Equals(bitant_plane, "yz"))
{
- sym[0] = 1;
+ if (CCTK_Equals(rotation_axis, "y"))
+ sym[0] = GFSYM_ROTATION_Y;
+ else if (CCTK_Equals(rotation_axis, "z"))
+ sym[0] = GFSYM_ROTATION_Z;
}
}
else if (CCTK_Equals(domain, "quadrant"))
{
if (CCTK_Equals(quadrant_direction, "x"))
{
- sym[2] = 1;
- sym[4] = 1;
+ sym[2] = GFSYM_REFLECTION;
+ sym[4] = GFSYM_REFLECTION;
+ }
+ else if (CCTK_Equals(quadrant_direction, "y"))
+ {
+ sym[0] = GFSYM_REFLECTION;
+ sym[4] = GFSYM_REFLECTION;
+ }
+ else if (CCTK_Equals(quadrant_direction, "z"))
+ {
+ sym[0] = GFSYM_REFLECTION;
+ sym[2] = GFSYM_REFLECTION;
+ }
+ }
+ else if (CCTK_Equals(domain, "quadrant_reflect_rotate"))
+ {
+ if (CCTK_Equals(quadrant_direction, "x"))
+ {
+ if (CCTK_Equals(rotation_axis, "y"))
+ {
+ sym[2] = GFSYM_REFLECTION;
+ sym[4] = GFSYM_ROTATION_Y;
+ }
+ else if (CCTK_Equals(rotation_axis, "z"))
+ {
+ sym[2] = GFSYM_ROTATION_Z;
+ sym[4] = GFSYM_REFLECTION;
+ }
}
else if (CCTK_Equals(quadrant_direction, "y"))
{
- sym[0] = 1;
- sym[4] = 1;
+ if (CCTK_Equals(rotation_axis, "x"))
+ {
+ sym[0] = GFSYM_REFLECTION;
+ sym[4] = GFSYM_ROTATION_X;
+ }
+ if (CCTK_Equals(rotation_axis, "z"))
+ {
+ sym[0] = GFSYM_ROTATION_Z;
+ sym[4] = GFSYM_REFLECTION;
+ }
}
else if (CCTK_Equals(quadrant_direction, "z"))
{
- sym[0] = 1;
- sym[2] = 1;
+ if (CCTK_Equals(rotation_axis, "x"))
+ {
+ sym[0] = GFSYM_REFLECTION;
+ sym[2] = GFSYM_ROTATION_X;
+ }
+ if (CCTK_Equals(rotation_axis, "y"))
+ {
+ sym[0] = GFSYM_ROTATION_Y;
+ sym[2] = GFSYM_REFLECTION;
+ }
}
}
else if (CCTK_Equals(domain, "octant"))
{
- sym[0] = 1;
- sym[2] = 1;
- sym[4] = 1;
+ sym[0] = GFSYM_REFLECTION;
+ sym[2] = GFSYM_REFLECTION;
+ sym[4] = GFSYM_REFLECTION;
}
}