file: include/hstruct.h

/*---------------------------------------------------------------------------* * RCS Information * * * * $Source: /users/sjs/Nektar/lib/include/RCS/hstruct.h,v $ * $Revision: 2.0 $ * $Date: 1994/11/01 22:44:13 $ * $Author: sjs $ * $State: Exp $ *---------------------------------------------------------------------------*/ /* * This file contains all structures used by the Hotel Library */ #ifndef HSTRUCT_H #define HSTRUCT_H typedef struct mminfo { int L; /* basis order */ double *mat; /* factored matrix */ struct mminfo *next; } MMinfo; #ifdef COMPRESS typedef struct coninfo { int cprocid; /* processor to send information */ int datlen; /* length of assembled communicated data */ int nedges; /* number of edges between local proc and cprocid */ int *elmtid; /* local element id of connecting edge */ int *edgeid; /* edge id within local element for connecting data */ struct coninfo *next; } ConInfo; #endif typedef struct para_info{ int nprocs; /* number of processors */ int procid; /* processor id */ int gnel; /* global number of elements */ int nloop; /* number of elements in loop */ int *eloop; /* loop over elements */ /* the next three are global information */ int *etypes; /* type of each element (global) */ int *eedges; /* sum of Edges + Faces for each element */ int *efaces; /* sum of Edges + Faces for each element */ int *efacets; /* cumulative sum of Edges + Faces for each element */ int *cumfacets; /* cumulative sum of Edges + Faces for each element */ int *partition; /* list of which partition each global element is in */ #ifdef COMPRESS int ncprocs; /* number of connecting processors */ ConInfo *cinfo; /* information about the connecting edge/face*/ #endif } ParaInfo; typedef struct mode{ double *a; /* modal component in a direction g^1(a) */ double *b; /* modal component in b direction g^2(b) */ double *c; /* modal component in c direction g^3(c) */ } Mode; typedef struct bstore{ int q; /* quadrature order */ double **s; /* vector of pointers */ //OVERLOAD CALL: vector: Coords.c(?), Curvi.c(?) struct bstore *next; } Bstore; typedef struct basis { int id; /* id given by L */ int qa,qb,qc; /* quadrature points used */ Mode *vert; /* vertex basis info */ Mode **edge; /* edge basis info */ Mode ***face; /* face basis info */ Mode ***intr; /* interior basis info */ Bstore *sa; /* link list to stored bases in a */ Bstore *sb; /* link list to stored bases in b */ Bstore *sc; /* link list to stored bases in c */ struct basis *next; } Basis; typedef struct locmat{ int asize; int csize; int *list; double **a; double **b; double **c; double **d; } LocMat; typedef struct locmatdiv{ int bsize; int isize; int rows; double **Atot; double **Dxb; double **Dxi; double **Dyb; double **Dyi; } LocMatDiv; #endif


Back to Source File Index


C++ to HTML Conversion by ctoohtml