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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 682 - (hide annotations)
Mon Mar 27 02:43:09 2006 UTC (13 years, 6 months ago) by robwdcock
File MIME type: text/plain
File size: 4533 byte(s)
+ NEW BUILD SYSTEM

This commit contains the new build system with cross-platform support.
Most things work are before though you can have more control.

ENVIRONMENT settings have changed:
+ You no longer require LD_LIBRARY_PATH or PYTHONPATH to point to the
esysroot for building and testing performed via scons
+ ACcESS altix users: It is recommended you change your modules to load
the latest intel compiler and other libraries required by boost to match
the setup in svn (you can override). The correct modules are as follows

module load intel_cc.9.0.026
export
MODULEPATH=${MODULEPATH}:/data/raid2/toolspp4/modulefiles/gcc-3.3.6
module load boost/1.33.0/python-2.4.1
module load python/2.4.1
module load numarray/1.3.3


1 jgs 150 /*
2 elspeth 626 ************************************************************
3     * Copyright 2006 by ACcESS MNRF *
4     * *
5     * http://www.access.edu.au *
6     * Primary Business: Queensland, Australia *
7     * Licensed under the Open Software License version 3.0 *
8     * http://www.opensource.org/licenses/osl-3.0.php *
9     * *
10     ************************************************************
11 jgs 150 */
12 jgs 82
13 jgs 150 /* Version: $Id$ */
14    
15 jgs 82 #ifndef INC_FINLEY_NODEFILE
16     #define INC_FINLEY_NODEFILE
17    
18     #define MAX_numDim 3
19    
20 jgs 150 #include "Finley.h"
21 robwdcock 682 #include "escript/DataC.h"
22 jgs 82
23     struct Finley_NodeFile {
24 jgs 123 dim_t numNodes; /* number of nodes */
25     dim_t numDim; /* spatial dimension */
26     index_t *Id; /* Id[i] is the id number of node i. this number is not really
27 jgs 82 used but useful when the nodes are
28     relabled. see also Finley_resolveNodeIds. */
29 jgs 123 /* in the entire code the term 'node id' refers to i but nor to Id[i] */
30     /* if not explicitly stated otherwise. */
31     index_t *Tag; /* Tag[i] is the tag of node i. */
32     double *Coordinates; /* Coordinates[INDEX2(k,i,numDim)] is the k-th coordinate of the */
33     /* node i. */
34     index_t* degreeOfFreedom; /* degreeOfFreedom[i] is the degree of freedom assigned to node i */
35     /* this index is used to consider periodic boundary conditions by assigning */
36     /* the same degreeOfFreedom to the same node */
37 jgs 82 /* the following data are set by Finley_NodeFile_? */
38 jgs 123 dim_t numDegreesOfFreedom; /* number of degrees of freedom in the mesh (<=numNodes)*/
39     /* notice that numDegreesOfFreedom=max(degreeOfFreedom[:]) */
40     index_t* reducedDegreeOfFreedom; /* reducedDegreeOfFreedom[i] is the degree of freedom in the reduced version of the mesh */
41     /* assigned to node i. reducedDegreeOfFreedom[i]<0 indicates that the node is not appearing */
42     /* as a degree of freedom in the reduced version of the mesh. */
43     dim_t reducedNumDegreesOfFreedom; /* number of degrees of freedom in the reduced version of the mesh */
44     /* notice that reducedNumDegreesOfFreedom=max(reducedDegreeOfFreedom[:]) */
45 jgs 82 /* this information is used by interfaces to postprocessing tools that can deal with linear elements only: */
46 jgs 123 dim_t reducedNumNodes; /* returnes the number of nodes in the mesh when looking at the corners */
47     /* of elements only */
48     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 */
49 jgs 82 };
50    
51     typedef struct Finley_NodeFile Finley_NodeFile;
52    
53 jgs 123 Finley_NodeFile * Finley_NodeFile_alloc(dim_t);
54 jgs 82 void Finley_NodeFile_dealloc(Finley_NodeFile*);
55 jgs 123 void Finley_NodeFile_setIdRange(index_t*,index_t*,Finley_NodeFile*);
56     void Finley_NodeFile_scatter(index_t*,Finley_NodeFile*,Finley_NodeFile*);
57     void Finley_NodeFile_gather(index_t*,Finley_NodeFile*,Finley_NodeFile*);
58 jgs 82 void Finley_NodeFile_setCoordinates(Finley_NodeFile*,escriptDataC*);
59 jgs 123 void Finley_NodeFile_copyTable(dim_t,Finley_NodeFile*,dim_t,dim_t,Finley_NodeFile*);
60     void Finley_NodeFile_allocTable(Finley_NodeFile*,dim_t);
61 jgs 82 void Finley_NodeFile_deallocTable(Finley_NodeFile*);
62    
63     #endif
64    
65     /*
66     * $Log$
67 jgs 150 * Revision 1.3 2005/09/15 03:44:23 jgs
68     * Merge of development branch dev-02 back to main trunk on 2005-09-15
69     *
70     * Revision 1.2.2.1 2005/09/07 06:26:20 gross
71     * the solver from finley are put into the standalone package paso now
72     *
73 jgs 123 * Revision 1.2 2005/07/08 04:07:55 jgs
74     * Merge of development branch back to main trunk on 2005-07-08
75 jgs 82 *
76 jgs 123 * Revision 1.1.1.1.2.1 2005/06/29 02:34:54 gross
77     * some changes towards 64 integers in finley
78     *
79     * Revision 1.1.1.1 2004/10/26 06:53:57 jgs
80     * initial import of project esys2
81     *
82 jgs 82 * Revision 1.2 2004/07/02 04:21:13 gross
83     * Finley C code has been included
84     *
85     * Revision 1.1.1.1 2004/06/24 04:00:40 johng
86     * Initial version of eys using boost-python.
87     *
88     *
89     */

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26