/[escript]/trunk/finley/src/ElementFile.h
ViewVC logotype

Contents of /trunk/finley/src/ElementFile.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 82 - (show annotations)
Tue Oct 26 06:53:54 2004 UTC (15 years ago) by jgs
Original Path: trunk/esys2/finley/src/finleyC/ElementFile.h
File MIME type: text/plain
File size: 3206 byte(s)
Initial revision

1 /* $Id$ */
2
3 #ifndef INC_FINLEY_ELEMENTFILE
4 #define INC_FINLEY_ELEMENTFILE
5
6 #include "Common.h"
7 #include "ReferenceElements.h"
8
9 struct Finley_ElementFile {
10
11 Finley_RefElement* ReferenceElement; /* the reference element, see
12 Reference element.c */
13
14 Finley_RefElement* LinearReferenceElement; /* the reference element for
15 the linear mesh. it is
16 vital that both are using
17 the same quadrature
18 scheme */
19
20 maybelong numElements; /* number of elements. */
21
22 maybelong *Id; /* Id[i] is the id nmber of
23 node i. this number is not
24 used but useful when
25 elements are resorted. in
26 the entire code the term
27 'element id' refers to i
28 but nor to Id[i] if not
29 explicitly stated
30 otherwise. */
31
32 maybelong *Tag; /* Tag[i] is the tag of
33 element i. */
34
35 maybelong *Nodes; /* Nodes[INDEX(k, i,
36 ReferenceElement.Type.numNodes)
37 is the k-the node in the
38 i-the element. note that
39 in the way the nodes are
40 ordered Nodes[INDEX(k, i,
41 LinearReferenceElement.Type.numNodes)
42 is k-the node of element i
43 when refering to the
44 linear version of the
45 mesh. */
46 maybelong numColors; /* number of colours (sould be as small as possible) */
47 maybelong *Color; /* assigns each element a color. elements with the same color */
48 /* are don't share a node so they can be processed simultaneously */
49 /* at anytime Color must provide a valid value. In any case one can set */
50 /* Color[e]=e for all e */
51 int order; /* order of the element */
52 };
53
54 typedef struct Finley_ElementFile Finley_ElementFile;
55
56 Finley_ElementFile* Finley_ElementFile_alloc(ElementTypeId,int);
57 void Finley_ElementFile_dealloc(Finley_ElementFile*);
58 void Finley_ElementFile_improveColoring(Finley_ElementFile* in,maybelong numNodes,maybelong* degreeOfFreedom);
59 void Finley_ElementFile_optimizeDistribution(Finley_ElementFile** in);
60 void Finley_ElementFile_setNodeRange(int*,int*,Finley_ElementFile*);
61 void Finley_ElementFile_relableNodes(int*,int,Finley_ElementFile*);
62 void Finley_ElementFile_markNodes(int*,int,Finley_ElementFile*,int);
63 void Finley_ElementFile_scatter(int*,Finley_ElementFile*,Finley_ElementFile*);
64 void Finley_ElementFile_gather(int*,Finley_ElementFile*,Finley_ElementFile*);
65 void Finley_ElementFile_copyTable(int,Finley_ElementFile*,int,int,Finley_ElementFile*);
66 void Finley_ElementFile_allocTable(Finley_ElementFile*,int);
67 void Finley_ElementFile_deallocTable(Finley_ElementFile*);
68 void Finley_ElementFile_prepare(Finley_ElementFile** in,maybelong numNodes,maybelong* degreeOfFreedom);
69
70 #endif /* #ifndef INC_FINLEY_ELEMENTFILE */
71
72 /*
73 * $Log$
74 * Revision 1.1 2004/10/26 06:53:57 jgs
75 * Initial revision
76 *
77 * Revision 1.1.1.1 2004/06/24 04:00:40 johng
78 * Initial version of eys using boost-python.
79 *
80 *
81 */

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26