17 #ifndef __WEIPA_FINLEYELEMENTS_H__ 18 #define __WEIPA_FINLEYELEMENTS_H__ 20 #include <weipa/ElementData.h> 21 #include <weipa/FinleyNodes.h> 24 #include <dudley/Dudley.h> 25 #include <dudley/ElementType.h> 28 #include <finley/ReferenceElements.h> 35 #define NCFTYPE netCDF::NcFile& 38 #define NCFTYPE NcFile* 95 bool readFromNc(
NCFTYPE ncfile);
99 void reorderGhostZones(
int ownIndex);
102 void removeGhostZones(
int ownIndex);
105 virtual void writeConnectivityVTK(std::ostream& os);
112 bool writeToSilo(DBfile* dbfile,
const std::string& siloPath,
148 virtual const IntVec& getVarDataByName(
const std::string varName)
const;
157 virtual const QuadMaskInfo& getQuadMask(
int functionSpace)
const;
175 IntVec prepareGhostIndices(
int ownIndex);
176 void reorderArray(
IntVec& v,
const IntVec& idx,
int elementsPerIndex);
197 #endif // __WEIPA_FINLEYELEMENTS_H__ This struct holds a mask (0's and 1's) that indicates which quad nodes contribute to a sub-element wh...
Definition: ElementData.h:39
virtual int getNumElements() const
Returns the number of elements.
Definition: FinleyElements.h:123
const size_t * multiCellIndices
Definition: FinleyElements.h:58
int numElements
Definition: FinleyElements.h:183
std::vector< float * > CoordArray
Definition: weipa.h:61
virtual const IntVec & getNodeList() const
Returns a vector of the node IDs used by the elements.
Definition: FinleyElements.h:140
Stores and manipulates one type of domain elements.
Definition: ElementData.h:48
boost::shared_ptr< FinleyNodes > FinleyNodes_ptr
Definition: FinleyNodes.h:42
Holds information that is used to convert from finley element types to elements supported by Silo and...
Definition: FinleyElements.h:53
int numGhostElements
Definition: FinleyElements.h:184
boost::shared_ptr< FinleyElements > FinleyElements_ptr
Definition: FinleyElements.h:63
virtual ~FinleyElements()
Destructor.
Definition: FinleyElements.h:86
virtual int getGhostCount() const
Returns the number of "ghost" elements.
Definition: FinleyElements.h:129
int nodesPerElement
Definition: FinleyElements.h:185
int elementFactor
Definition: FinleyElements.h:191
bool useQuadNodes
Definition: FinleyElements.h:59
IntVec tag
Definition: FinleyElements.h:188
std::vector< std::string > StringVec
Definition: weipa.h:60
virtual ElementData_ptr getReducedElements() const
Returns the reduced elements.
Definition: FinleyElements.h:154
A suite of factory methods for creating various finley domains.
Definition: finley/src/Assemble.h:31
ZoneType reducedElementType
Definition: FinleyElements.h:55
FinleyNodes_ptr nodeMesh
Definition: FinleyElements.h:180
FinleyElements_ptr reducedElements
Definition: FinleyElements.h:179
Definition: DataVar.cpp:50
#define NCFTYPE
Definition: FinleyElements.h:38
std::vector< int > IntVec
Definition: weipa.h:59
ZoneType
Definition: ElementData.h:26
virtual NodeData_ptr getNodes() const
Returns the node mesh instance used by the elements.
Definition: FinleyElements.h:151
FinleyNodes_ptr originalMesh
Definition: FinleyElements.h:181
ZoneType type
Definition: FinleyElements.h:186
ElementTypeId
Definition: ElementType.h:24
Stores and manipulates one type of finley mesh elements (cells, faces or contacts).
Definition: FinleyElements.h:75
virtual int getElementFactor() const
If the original element type is not supported they are subdivided into N smaller elements (e...
Definition: FinleyElements.h:162
std::string name
Definition: FinleyElements.h:182
Definition: dudley/src/ElementFile.h:51
A suite of factory methods for creating 2D and 3D dudley domains.
Definition: dudley/src/Assemble.h:31
int quadDim
Definition: FinleyElements.h:60
FinleyElements()
Definition: FinleyElements.h:165
virtual ZoneType getType() const
Returns the type of the elements.
Definition: FinleyElements.h:132
int reducedElementSize
Definition: FinleyElements.h:57
ElementTypeId
Definition: ReferenceElements.h:38
IntVec nodes
Definition: FinleyElements.h:187
virtual const IntVec & getIDs() const
Returns a vector of element IDs.
Definition: FinleyElements.h:143
virtual int getNodesPerElement() const
Returns the number of nodes per element.
Definition: FinleyElements.h:126
boost::shared_ptr< ElementData > ElementData_ptr
Definition: weipa.h:66
IntVec owner
Definition: FinleyElements.h:189
boost::shared_ptr< NodeData > NodeData_ptr
Definition: weipa.h:68
QuadMaskInfo reducedQuadMask
Definition: FinleyElements.h:190
Definition: finley/src/ElementFile.h:61
int elementFactor
Definition: FinleyElements.h:56