aboutsummaryrefslogtreecommitdiff
path: root/src/include/pGV.h
diff options
context:
space:
mode:
authorallen <allen@b61c5cb5-eaca-4651-9a7a-d64986f99364>1999-10-21 08:33:07 +0000
committerallen <allen@b61c5cb5-eaca-4651-9a7a-d64986f99364>1999-10-21 08:33:07 +0000
commitaa701dd7c16955943c35777ee37d7e6babb88263 (patch)
treebabe64056dd8d8e7d63afed1f0d06454065dcad2 /src/include/pGV.h
parentc9ec404518cd9ecf522bf7492257ca9bbe852ab7 (diff)
The general structure for a grid variable, not used yet.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@113 b61c5cb5-eaca-4651-9a7a-d64986f99364
Diffstat (limited to 'src/include/pGV.h')
-rw-r--r--src/include/pGV.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/include/pGV.h b/src/include/pGV.h
new file mode 100644
index 0000000..5784a67
--- /dev/null
+++ b/src/include/pGV.h
@@ -0,0 +1,63 @@
+ /*@@
+ @header pGV.h
+ @date Wed Oct 13 01:14:02 CEST 1999
+ @author Gabrielle Allen
+ @desc
+ The Pugh Grid Variable structure. Based heavily on the former pGH.h and pGF.h
+ @enddesc
+ @version $Id$
+ @@*/
+
+#include "pugh_constants.h"
+
+typedef struct PGV {
+
+ /* Size of the problems */
+ int *size; /* Size of array */
+ int *nghostzones; /* Width of ghost zone in each direction */
+
+ /* Processor group layouts */
+ CCTK_REAL maxskew; /* Maximum point skew */
+ int **lb; /* Lower bound (nprocs X 3) for each proc */
+ int **ub; /* Upper bound (same sizes) */
+ int *lsize; /* Size on this processor */
+ int npoints; /* LOCAL number of points on this proc. */
+ int *rnpoints; /* Number of points on each proc */
+ int **rsize; /* Number of points on each proc */
+ int **neighbors; /* An array of size nprocs X dim*2 of the
+ * neighbors on each side. The entry in
+ * this array is the processor number of
+ * the neighbor.
+ */
+
+ char *name; /* The name of the grid function */
+ int gvindex; /* My ID number in my GH parent. */
+ void *padddata; /* Storage for the data. */
+ void *data; /* See the note above. */
+ int *buffer_sz; /* Size of the face ghost zones */
+ void **send_buffer; /* Storage for buffered Comm if */
+ void **recv_buffer; /* we don't use derived types */
+ int commflag; /* What is the comm flag set to? */
+ int *docomm; /* Do we do comm or not? */
+ int storage; /* Do we have storage or not? */
+ int stagger; /* Only Vertex Centered now... */
+
+ struct PGH *parentGH; /* The GH to which I belong */
+ /* Note this is struct PGH whic is
+ typedeffed to pGH in pGH.h, but
+ that is included AFTER this so we
+ need the full name for the lookahead
+ structure reference thingy.
+ */
+
+ int varsize; /* The size of the data */
+ int vtype; /* The type of the data */
+ int gtype; /* Variable type (GF, scalar, array) */
+
+#ifdef MPI
+ MPI_Request *sreq, *rreq; /* Comm requests and statuses. */
+ MPI_Status ms;
+#endif
+
+} pGV;
+