/[escript]/trunk/finley/src/finleyC/NodeFile.h
ViewVC logotype

Annotation of /trunk/finley/src/finleyC/NodeFile.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 123 - (hide annotations)
Fri Jul 8 04:08:13 2005 UTC (14 years, 5 months ago) by jgs
Original Path: trunk/esys2/finley/src/finleyC/NodeFile.h
File MIME type: text/plain
File size: 3726 byte(s)
Merge of development branch back to main trunk on 2005-07-08

1 jgs 82 /* $Id$ */
2    
3     #ifndef INC_FINLEY_NODEFILE
4     #define INC_FINLEY_NODEFILE
5    
6     #define MAX_numDim 3
7    
8     #include "Common.h"
9     #include "escript/Data/DataC.h"
10    
11     struct Finley_NodeFile {
12 jgs 123 dim_t numNodes; /* number of nodes */
13     dim_t numDim; /* spatial dimension */
14     index_t *Id; /* Id[i] is the id number of node i. this number is not really
15 jgs 82 used but useful when the nodes are
16     relabled. see also Finley_resolveNodeIds. */
17 jgs 123 /* in the entire code the term 'node id' refers to i but nor to Id[i] */
18     /* if not explicitly stated otherwise. */
19     index_t *Tag; /* Tag[i] is the tag of node i. */
20     double *Coordinates; /* Coordinates[INDEX2(k,i,numDim)] is the k-th coordinate of the */
21     /* node i. */
22     index_t* degreeOfFreedom; /* degreeOfFreedom[i] is the degree of freedom assigned to node i */
23     /* this index is used to consider periodic boundary conditions by assigning */
24     /* the same degreeOfFreedom to the same node */
25 jgs 82 /* the following data are set by Finley_NodeFile_? */
26 jgs 123 dim_t numDegreesOfFreedom; /* number of degrees of freedom in the mesh (<=numNodes)*/
27     /* notice that numDegreesOfFreedom=max(degreeOfFreedom[:]) */
28     index_t* reducedDegreeOfFreedom; /* reducedDegreeOfFreedom[i] is the degree of freedom in the reduced version of the mesh */
29     /* assigned to node i. reducedDegreeOfFreedom[i]<0 indicates that the node is not appearing */
30     /* as a degree of freedom in the reduced version of the mesh. */
31     dim_t reducedNumDegreesOfFreedom; /* number of degrees of freedom in the reduced version of the mesh */
32     /* notice that reducedNumDegreesOfFreedom=max(reducedDegreeOfFreedom[:]) */
33 jgs 82 /* this information is used by interfaces to postprocessing tools that can deal with linear elements only: */
34 jgs 123 dim_t reducedNumNodes; /* returnes the number of nodes in the mesh when looking at the corners */
35     /* of elements only */
36     index_t *toReduced; /* toReduced[i] is the node id in the reduced mesh. if toReduced[i]<0 it means that the node does not appear in the reduced mesh */
37 jgs 82 };
38    
39     typedef struct Finley_NodeFile Finley_NodeFile;
40    
41 jgs 123 Finley_NodeFile * Finley_NodeFile_alloc(dim_t);
42 jgs 82 void Finley_NodeFile_dealloc(Finley_NodeFile*);
43 jgs 123 void Finley_NodeFile_setIdRange(index_t*,index_t*,Finley_NodeFile*);
44     void Finley_NodeFile_scatter(index_t*,Finley_NodeFile*,Finley_NodeFile*);
45     void Finley_NodeFile_gather(index_t*,Finley_NodeFile*,Finley_NodeFile*);
46 jgs 82 void Finley_NodeFile_setCoordinates(Finley_NodeFile*,escriptDataC*);
47 jgs 123 void Finley_NodeFile_copyTable(dim_t,Finley_NodeFile*,dim_t,dim_t,Finley_NodeFile*);
48     void Finley_NodeFile_allocTable(Finley_NodeFile*,dim_t);
49 jgs 82 void Finley_NodeFile_deallocTable(Finley_NodeFile*);
50    
51     #endif
52    
53     /*
54     * $Log$
55 jgs 123 * Revision 1.2 2005/07/08 04:07:55 jgs
56     * Merge of development branch back to main trunk on 2005-07-08
57 jgs 82 *
58 jgs 123 * Revision 1.1.1.1.2.1 2005/06/29 02:34:54 gross
59     * some changes towards 64 integers in finley
60     *
61     * Revision 1.1.1.1 2004/10/26 06:53:57 jgs
62     * initial import of project esys2
63     *
64 jgs 82 * Revision 1.2 2004/07/02 04:21:13 gross
65     * Finley C code has been included
66     *
67     * Revision 1.1.1.1 2004/06/24 04:00:40 johng
68     * Initial version of eys using boost-python.
69     *
70     *
71     */

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26