diff options
author | eschnett <eschnett@20f44201-0f4f-0410-9130-e5fc2714a787> | 2011-09-26 01:39:09 +0000 |
---|---|---|
committer | eschnett <eschnett@20f44201-0f4f-0410-9130-e5fc2714a787> | 2011-09-26 01:39:09 +0000 |
commit | 119825afea3a659098d5a6f08c433d3feb99fcdf (patch) | |
tree | bdf2edacd8dc0928156076593046c3d8d1d841da | |
parent | 3a8cc0d7cec63a12eb45a1c6dcfdfeb303671e19 (diff) |
Implement the "dd" tensor type
Implement the "dd" tensor type, a full 3x3 tensor without symmetries.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/RotatingSymmetry180/trunk@65 20f44201-0f4f-0410-9130-e5fc2714a787
-rw-r--r-- | src/interpolate.c | 16 | ||||
-rw-r--r-- | src/rotatingsymmetry180.c | 10 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/interpolate.c b/src/interpolate.c index 6fb3b16..0d51359 100644 --- a/src/interpolate.c +++ b/src/interpolate.c @@ -94,6 +94,12 @@ Rot180_CheckTensorTypes (CCTK_ARGUMENTS) || CCTK_EQUALS (tensortypealias, "dd_sym")) { /* symmetric tensor */ assert (numvars == 6); + } else if (CCTK_EQUALS (tensortypealias, "uu") + || CCTK_EQUALS (tensortypealias, "ud") + || CCTK_EQUALS (tensortypealias, "du") + || CCTK_EQUALS (tensortypealias, "dd")) { + /* tensor */ + assert (numvars == 9); } else if (CCTK_EQUALS (tensortypealias, "ddd_sym")) { /* 3rd rank tensor, symmetric in last 2 indices */ assert (numvars == 18); @@ -343,6 +349,16 @@ Rot180_SymmetryInterpolate (CCTK_POINTER_TO_CONST const cctkGH_, case 5: break; default: assert(0); } + } else if (CCTK_EQUALS (tensortypealias, "uu") + || CCTK_EQUALS (tensortypealias, "ud") + || CCTK_EQUALS (tensortypealias, "du") + || CCTK_EQUALS (tensortypealias, "dd")) { + assert (numvars == 9); + parities[0] = parities[1] = parities[2] = +1; + int const d1 = index % 3; + int const d2 = index / 3; + parities[d1] *= -1; + parities[d2] *= -1; } else if (CCTK_EQUALS (tensortypealias, "ddd_sym")) { assert (numvars == 18); parities[0] = parities[1] = parities[2] = +1; diff --git a/src/rotatingsymmetry180.c b/src/rotatingsymmetry180.c index c12407c..bbd8dd5 100644 --- a/src/rotatingsymmetry180.c +++ b/src/rotatingsymmetry180.c @@ -189,6 +189,16 @@ int BndRot180VI (cGH const * restrict const cctkGH, case 5: break; default: assert(0); } + } else if (CCTK_EQUALS (tensortypealias, "uu") + || CCTK_EQUALS (tensortypealias, "ud") + || CCTK_EQUALS (tensortypealias, "du") + || CCTK_EQUALS (tensortypealias, "dd")) { + assert (numvars == 9); + paritiess[var][0] = paritiess[var][1] = paritiess[var][2] = +1; + int const d1 = index % 3; + int const d2 = index / 3; + paritiess[var][d1] *= -1; + paritiess[var][d2] *= -1; } else if (CCTK_EQUALS (tensortypealias, "ddd_sym")) { assert (numvars == 12); paritiess[var][0] = paritiess[var][1] = paritiess[var][2] = +1; |