Go to the documentation of this file.
17 #ifndef __WEIPA_FINLEYNODES_H__
18 #define __WEIPA_FINLEYNODES_H__
20 #include <weipa/NodeData.h>
26 #define NCFTYPE netCDF::NcFile&
30 #define NCFTYPE NcFile*
57 const std::string& meshName);
92 virtual std::string
getName()
const {
return name; }
133 if (result.length() == 0 || *result.rbegin() !=
'/')
142 #endif // __WEIPA_FINLEYNODES_H__
index_t * globalDegreesOfFreedom
Definition: dudley/src/NodeFile.h:155
virtual int getNumNodes() const
Returns the number of mesh nodes.
Definition: FinleyNodes.h:112
const IntVec & getVarDataByName(const std::string &name) const
Returns an array of nodal data by the given name.
Definition: FinleyNodes.cpp:395
index_t * globalReducedNodesIndex
Definition: finley/src/NodeFile.h:179
bool initFromDudley(const dudley::NodeFile *dudleyFile)
Initialises with dudley node file.
Definition: FinleyNodes.cpp:140
IntVec nodeDist
Definition: FinleyNodes.h:123
escript::Distribution_ptr nodesDistribution
MPI distribution of nodes.
Definition: dudley/src/NodeFile.h:162
int numDim
number of spatial dimensions
Definition: dudley/src/NodeFile.h:144
Definition: dudley/src/NodeFile.h:37
index_t * globalDegreesOfFreedom
Definition: finley/src/NodeFile.h:171
virtual std::string getName() const
Returns the name of this node mesh.
Definition: FinleyNodes.h:91
int * Tag
Tag[i] is the tag of node i.
Definition: finley/src/NodeFile.h:164
escript::Distribution_ptr nodesDistribution
MPI distribution of nodes.
Definition: finley/src/NodeFile.h:184
dim_t getNumNodes() const
returns the number of FEM nodes (on this rank)
Definition: dudley/src/NodeFile.h:202
index_t * globalReducedDOFIndex
Definition: finley/src/NodeFile.h:176
virtual void writeCoordinatesVTK(std::ostream &os, int ownIndex)
Writes coordinates to a stream in VTK text format.
Definition: FinleyNodes.cpp:442
IntVec nodeGNI
Definition: FinleyNodes.h:122
std::string siloPath
the name of this node mesh
Definition: FinleyNodes.h:125
bool readFromNc(NcFile *ncFile)
Reads node data from a NetCDF file.
Definition: FinleyNodes.cpp:318
virtual int getGlobalNumNodes() const
Returns the total number of mesh nodes for a distributed mesh.
Definition: FinleyNodes.cpp:431
Definition: DataVar.cpp:49
dim_t getNumNodes() const
returns the number of FEM nodes (on this rank)
Definition: finley/src/NodeFile.h:254
void copy(dim_t N, double *out, const double *in)
out = in
Definition: PasoUtil.h:110
double * Coordinates
Coordinates[INDEX2(k,i,numDim)] is the k-th coordinate of node i.
Definition: finley/src/NodeFile.h:173
Definition: NodeData.h:37
A suite of factory methods for creating 2D and 3D dudley domains.
Definition: dudley/src/Assemble.h:31
IntVec nodeGDOF
Definition: FinleyNodes.h:122
IntVec nodeTag
node IDs
Definition: FinleyNodes.h:122
std::map< int, size_t > IndexMap
Definition: weipa.h:61
std::vector< float * > CoordArray
Definition: weipa.h:60
virtual const IntVec & getGlobalNodeIndices() const
Returns the global node index array.
Definition: FinleyNodes.h:103
bool initFromFinley(const finley::NodeFile *finleyFile)
Initialises with finley node file.
Definition: FinleyNodes.cpp:187
index_t * Id
Id[i] is the unique ID number of FEM node i.
Definition: finley/src/NodeFile.h:162
virtual ~FinleyNodes()
Virtual destructor.
Definition: FinleyNodes.cpp:130
IntVec nodeID
number of nodes
Definition: FinleyNodes.h:121
std::string getFullSiloName() const
Returns full Silo mesh name, e.g. "/block0000/Nodes".
Definition: FinleyNodes.h:129
virtual int getNumDims() const
Returns the dimensionality of this mesh (2 or 3).
Definition: FinleyNodes.h:109
int numNodes
dimensionality (2 or 3)
Definition: FinleyNodes.h:120
bool writeToSilo(DBfile *dbfile)
Writes node data to a Silo file.
Definition: FinleyNodes.cpp:463
void setSiloPath(const std::string &path)
Sets the silo path to be used when saving.
Definition: FinleyNodes.h:80
virtual const CoordArray & getCoords() const
Returns the coordinates of the mesh nodes.
Definition: FinleyNodes.h:106
int numDims
x, y[, z] coordinates of nodes
Definition: FinleyNodes.h:119
#define NCFTYPE
Definition: FinleyNodes.h:29
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:82
virtual const IntVec & getNodeIDs() const
Returns the node ID array.
Definition: FinleyNodes.h:97
CoordArray coords
Definition: FinleyNodes.h:118
Definition: finley/src/NodeFile.h:39
IntVec nodeGRDFI
Definition: FinleyNodes.h:122
std::string name
node distribution
Definition: FinleyNodes.h:124
FinleyNodes(const std::string &meshName)
Constructor with mesh name.
Definition: FinleyNodes.cpp:53
std::vector< std::string > StringVec
Definition: weipa.h:59
index_t * globalNodesIndex
assigns each local node a global unique ID in a dense labeling
Definition: finley/src/NodeFile.h:181
index_t * Id
Id[i] is the unique ID number of FEM node i.
Definition: dudley/src/NodeFile.h:146
int * Tag
Tag[i] is the tag of node i.
Definition: dudley/src/NodeFile.h:148
Stores and manipulates finley mesh nodes.
Definition: FinleyNodes.h:49
boost::shared_ptr< FinleyNodes > FinleyNodes_ptr
Definition: FinleyNodes.h:41
virtual const IntVec & getNodeDistribution() const
Returns the node distribution array.
Definition: FinleyNodes.h:100
virtual StringVec getVarNames() const
Returns a vector with the mesh variable names.
Definition: FinleyNodes.cpp:416
std::vector< int > IntVec
Definition: weipa.h:58
A suite of factory methods for creating various finley domains.
Definition: finley/src/Assemble.h:31
int numDim
number of spatial dimensions
Definition: finley/src/NodeFile.h:160
double * Coordinates
Coordinates[INDEX2(k,i,numDim)] is the k-th coordinate of node i.
Definition: dudley/src/NodeFile.h:157
IntVec nodeGRNI
Definition: FinleyNodes.h:122
index_t * globalNodesIndex
assigns each local node a global unique ID in a dense labeling
Definition: dudley/src/NodeFile.h:159