summaryrefslogtreecommitdiff
path: root/src/include/cctk_Groups.h
diff options
context:
space:
mode:
authorgoodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac>2001-10-07 09:51:48 +0000
committergoodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac>2001-10-07 09:51:48 +0000
commit25d3924f2ff5ad0ac523999508dc84cf7190f7dc (patch)
tree4e1379d37e0ce9f7662792d883591a84806c4b31 /src/include/cctk_Groups.h
parent9d06eca06dac69e3d8647580a90acac9f9eb37b7 (diff)
Preliminary support for 'vector' Grid Variables -
defined as <type> <group_name>[<size>] ... as per a normal 1 variable group except with an extra argument. This creates a vector of GVS, with an extra index (the last one for a GA or GF) corresponding to the element in the vector. For scalars this creates an array similar to a DISTRIB=CONSTANT GA. <size> may be either an integer or an integer-valued parameter. So, fortran sees REAL foo[param] TYPE=GF DIM=3 as CCTK_REAL foo(nx,ny,nz,param) and in C it should be accessed as foo[CCTK_GFINDEX3D(cctkGH,i,j,k)*l] When we have COMPACT groups you will also be able to make the extra index the first one rather than the last one. Please treat this as volatile until it is documented, and let me know if you are using it. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@2392 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'src/include/cctk_Groups.h')
-rw-r--r--src/include/cctk_Groups.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/include/cctk_Groups.h b/src/include/cctk_Groups.h
index 6f382fe2..3fd94b31 100644
--- a/src/include/cctk_Groups.h
+++ b/src/include/cctk_Groups.h
@@ -20,6 +20,7 @@ typedef struct
int dim;
int numvars;
int numtimelevels;
+ int vectorgroup;
} cGroup;
/* Prototypes */
@@ -76,6 +77,8 @@ const char *CCTK_VarTypeName(int vartype);
int CCTK_VarTypeSize(int vtype);
+const int *CCTKi_GroupLengthAsPointer(const char *fullgroupname);
+
/* traverse a string of group and/or variable names */
int CCTK_TraverseString (const char *parsestring,
void (*callback) (int index,