diff options
author | goodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2001-10-07 09:51:48 +0000 |
---|---|---|
committer | goodale <goodale@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2001-10-07 09:51:48 +0000 |
commit | 25d3924f2ff5ad0ac523999508dc84cf7190f7dc (patch) | |
tree | 4e1379d37e0ce9f7662792d883591a84806c4b31 /src/include/cctk_Groups.h | |
parent | 9d06eca06dac69e3d8647580a90acac9f9eb37b7 (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.h | 3 |
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, |