diff options
author | schnetter <schnetter@c3c03602-0f4f-0410-b3fa-d2c81c8a7dc5> | 2010-03-21 16:41:51 +0000 |
---|---|---|
committer | schnetter <schnetter@c3c03602-0f4f-0410-b3fa-d2c81c8a7dc5> | 2010-03-21 16:41:51 +0000 |
commit | 926445aafaf5e85e219ebe3c3e9c8b852a981c87 (patch) | |
tree | 82b35cd196b438472f6cc9c5e26443995b3272a9 /src/interpolate.c | |
parent | 0c69a6c5990d6033758cdad326bee95b4a4c3fee (diff) |
Add tensor type ddd_sym, corresponding to T_i(jk).
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/RotatingSymmetry90/trunk@51 c3c03602-0f4f-0410-b3fa-d2c81c8a7dc5
Diffstat (limited to 'src/interpolate.c')
-rw-r--r-- | src/interpolate.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/interpolate.c b/src/interpolate.c index 16370f2..50e3b70 100644 --- a/src/interpolate.c +++ b/src/interpolate.c @@ -355,10 +355,16 @@ Rot90_CheckTensorTypes (CCTK_ARGUMENTS) { /* 4-vector */ assert (numvars == DIM+1); + } else if (CCTK_EQUALS (tensortypealias, "du")) { + /* tensor */ + assert (numvars == DIM*DIM); } else if (CCTK_EQUALS (tensortypealias, "uu_sym") || CCTK_EQUALS (tensortypealias, "dd_sym")) { /* symmetric tensor */ assert (numvars == DIM*(DIM+1)/2); + } else if (CCTK_EQUALS (tensortypealias, "ddd_sym")) { + /* 3rd rank tensor, symmetric in last 2 indices */ + assert (numvars == DIM*DIM*(DIM+1)/2); } else if (CCTK_EQUALS (tensortypealias, "4uu_sym") || CCTK_EQUALS (tensortypealias, "4dd_sym")) { /* symmetric 4-tensor */ @@ -712,6 +718,12 @@ Rot90_SymmetryInterpolate (CCTK_POINTER_TO_CONST const cctkGH_, basevar = firstvar + off; var = vi - basevar; } + } else if (CCTK_EQUALS (tensortypealias, "du")) { + /* tensor */ + assert (numvars == DIM*DIM); + tensortype = &tensor; + basevar = firstvar; + var = vi - basevar; } else if (CCTK_EQUALS (tensortypealias, "uu_sym") || CCTK_EQUALS (tensortypealias, "dd_sym")) { /* symmetric tensor */ @@ -719,6 +731,12 @@ Rot90_SymmetryInterpolate (CCTK_POINTER_TO_CONST const cctkGH_, tensortype = &symmtensor; basevar = firstvar; var = vi - basevar; + } else if (CCTK_EQUALS (tensortypealias, "ddd_sym")) { + /* 3rd rank tensor, symmetric in last 2 indices */ + assert (numvars == DIM*DIM*(DIM+1)/2); + tensortype = &symmtensor3b; + basevar = firstvar; + var = vi - basevar; } else if (CCTK_EQUALS (tensortypealias, "4uu_sym") || CCTK_EQUALS (tensortypealias, "4dd_sym")) { /* symmetric 4-tensor */ |