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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 82 - (hide annotations)
Tue Oct 26 06:53:54 2004 UTC (15 years, 7 months 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 jgs 82 /* $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