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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 155 - (hide annotations)
Wed Nov 9 02:02:19 2005 UTC (14 years ago) by jgs
Original Path: trunk/finley/src/finleyC/ElementFile.h
File MIME type: text/plain
File size: 4606 byte(s)
move all directories from trunk/esys2 into trunk and remove esys2

1 jgs 150 /*
2     ******************************************************************************
3     * *
4     * COPYRIGHT ACcESS 2003,2004,2005 - All Rights Reserved *
5     * *
6     * This software is the property of ACcESS. No part of this code *
7     * may be copied in any form or by any means without the expressed written *
8     * consent of ACcESS. Copying, use or modification of this software *
9     * by any unauthorised person is illegal unless that person has a software *
10     * license agreement with ACcESS. *
11     * *
12     ******************************************************************************
13     */
14 jgs 82
15 jgs 150 /* Version: $Id$ */
16    
17 jgs 82 #ifndef INC_FINLEY_ELEMENTFILE
18     #define INC_FINLEY_ELEMENTFILE
19    
20 jgs 150 #include "Finley.h"
21 jgs 82 #include "ReferenceElements.h"
22    
23     struct Finley_ElementFile {
24    
25     Finley_RefElement* ReferenceElement; /* the reference element, see
26     Reference element.c */
27    
28     Finley_RefElement* LinearReferenceElement; /* the reference element for
29     the linear mesh. it is
30     vital that both are using
31     the same quadrature
32     scheme */
33    
34 jgs 123 dim_t numElements; /* number of elements. */
35    
36     index_t *Id; /* Id[i] is the id nmber of
37 jgs 82 node i. this number is not
38     used but useful when
39     elements are resorted. in
40     the entire code the term
41     'element id' refers to i
42     but nor to Id[i] if not
43     explicitly stated
44     otherwise. */
45    
46 jgs 123 index_t *Tag; /* Tag[i] is the tag of
47 jgs 82 element i. */
48    
49 jgs 123 index_t *Nodes; /* Nodes[INDEX(k, i,
50 jgs 82 ReferenceElement.Type.numNodes)
51     is the k-the node in the
52     i-the element. note that
53     in the way the nodes are
54     ordered Nodes[INDEX(k, i,
55     LinearReferenceElement.Type.numNodes)
56     is k-the node of element i
57     when refering to the
58     linear version of the
59     mesh. */
60 jgs 123 index_t minColor; /* minimum color */
61     index_t maxColor; /* maximum color */
62     index_t *Color; /* assigns each element a color. elements with the same color */
63 jgs 82 /* are don't share a node so they can be processed simultaneously */
64     /* at anytime Color must provide a valid value. In any case one can set */
65     /* Color[e]=e for all e */
66 jgs 123 index_t order; /* order of the element */
67 jgs 82 };
68    
69     typedef struct Finley_ElementFile Finley_ElementFile;
70    
71 jgs 123 Finley_ElementFile* Finley_ElementFile_alloc(ElementTypeId,dim_t);
72 jgs 82 void Finley_ElementFile_dealloc(Finley_ElementFile*);
73 jgs 123 void Finley_ElementFile_improveColoring(Finley_ElementFile* in,dim_t numNodes,dim_t* degreeOfFreedom);
74 jgs 82 void Finley_ElementFile_optimizeDistribution(Finley_ElementFile** in);
75 jgs 123 void Finley_ElementFile_setNodeRange(dim_t*,dim_t*,Finley_ElementFile*);
76     void Finley_ElementFile_relableNodes(dim_t*,dim_t,Finley_ElementFile*);
77     void Finley_ElementFile_markNodes(dim_t*,dim_t,Finley_ElementFile*,dim_t);
78     void Finley_ElementFile_scatter(dim_t*,Finley_ElementFile*,Finley_ElementFile*);
79     void Finley_ElementFile_gather(dim_t*,Finley_ElementFile*,Finley_ElementFile*);
80     void Finley_ElementFile_copyTable(dim_t,Finley_ElementFile*,dim_t,dim_t,Finley_ElementFile*);
81     void Finley_ElementFile_allocTable(Finley_ElementFile*,dim_t);
82 jgs 82 void Finley_ElementFile_deallocTable(Finley_ElementFile*);
83 jgs 123 void Finley_ElementFile_prepare(Finley_ElementFile** in,dim_t numNodes,dim_t* degreeOfFreedom);
84 jgs 82
85     #endif /* #ifndef INC_FINLEY_ELEMENTFILE */
86    
87     /*
88     * $Log$
89 jgs 150 * Revision 1.3 2005/09/15 03:44:21 jgs
90     * Merge of development branch dev-02 back to main trunk on 2005-09-15
91     *
92     * Revision 1.2.2.1 2005/09/07 06:26:18 gross
93     * the solver from finley are put into the standalone package paso now
94     *
95 jgs 123 * Revision 1.2 2005/07/08 04:07:49 jgs
96     * Merge of development branch back to main trunk on 2005-07-08
97 jgs 82 *
98 jgs 123 * Revision 1.1.1.1.2.1 2005/06/29 02:34:49 gross
99     * some changes towards 64 integers in finley
100     *
101     * Revision 1.1.1.1 2004/10/26 06:53:57 jgs
102     * initial import of project esys2
103     *
104 jgs 82 * Revision 1.1.1.1 2004/06/24 04:00:40 johng
105     * Initial version of eys using boost-python.
106     *
107     *
108     */

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26