Go to the documentation of this file.
18 #ifndef __WEIPA_SPECKLEYELEMENTS_H__
19 #define __WEIPA_SPECKLEYELEMENTS_H__
21 #include <weipa/ElementData.h>
22 #include <weipa/SpeckleyNodes.h>
76 bool writeToSilo(DBfile* dbfile,
const std::string& siloPath,
143 #endif // __WEIPA_SPECKLEYELEMENTS_H__
IntVec prepareGhostIndices(int ownIndex)
Definition: SpeckleyElements.cpp:250
virtual const IntVec & getNodeList() const
Returns a vector of the node IDs used by the elements.
Definition: SpeckleyElements.h:98
virtual StringVec getVarNames() const
Returns a vector with the mesh variable names.
Definition: SpeckleyElements.cpp:209
virtual int getGhostCount() const
Returns the number of "ghost" elements.
Definition: SpeckleyElements.h:92
Definition: ElementData.h:55
std::string name
Definition: SpeckleyElements.h:130
void reorderArray(IntVec &v, const IntVec &idx, int elementsPerIndex)
Definition: SpeckleyElements.cpp:230
int getOrder() const
returns the order of the domain
Definition: speckley/src/SpeckleyDomain.h:754
This struct holds a mask (0's and 1's) that indicates which quad nodes contribute to a sub-element wh...
Definition: ElementData.h:52
boost::shared_ptr< SpeckleyNodes > SpeckleyNodes_ptr
Definition: SpeckleyNodes.h:30
virtual ~SpeckleyElements()
Destructor.
Definition: SpeckleyElements.h:55
Definition: ElementData.h:53
QuadMaskInfo quadMask
Definition: SpeckleyElements.h:137
virtual const int * getNumSubdivisionsPerDim() const =0
returns the number of spatial subdivisions in each dimension
bool writeToSilo(DBfile *dbfile, const std::string &siloPath, const StringVec &labels, const StringVec &units, bool writeMeshData)
Writes element data into given directory in given Silo file.
Definition: SpeckleyElements.cpp:316
Definition: DataVar.cpp:50
ZoneType
Definition: ElementData.h:39
IntVec nodes
Definition: SpeckleyElements.h:135
Definition: AbstractAssembler.cpp:18
ZoneType type
Definition: SpeckleyElements.h:134
void copy(dim_t N, double *out, const double *in)
out = in
Definition: PasoUtil.h:113
virtual void writeConnectivityVTK(std::ostream &os)
Writes connectivity data to a stream in VTK text format.
Definition: SpeckleyElements.cpp:287
int nodesPerElement
Definition: SpeckleyElements.h:133
index_t dim_t
Definition: DataTypes.h:90
void buildMeshes()
Definition: SpeckleyElements.cpp:270
const index_t * borrowSampleReferenceIDs(int fsType) const =0
returns the array of reference numbers for a function space type
virtual ElementData_ptr getReducedElements() const
Returns the reduced elements.
Definition: SpeckleyElements.h:112
Stores and manipulates one type of speckley mesh elements (cells, faces).
Definition: SpeckleyElements.h:44
std::vector< float * > CoordArray
Definition: weipa.h:61
virtual StringVec getMeshNames() const
Returns the names of the meshes associated with the elements.
Definition: SpeckleyElements.cpp:201
virtual const IntVec & getVarDataByName(const std::string varName) const
Returns an array of data values for the name provided.
Definition: SpeckleyElements.cpp:218
IntVec owner
Definition: SpeckleyElements.h:136
boost::shared_ptr< ElementData > ElementData_ptr
Definition: weipa.h:66
Stores and manipulates one type of domain elements.
Definition: ElementData.h:61
virtual int getNodesPerElement() const
Returns the number of nodes per element.
Definition: SpeckleyElements.h:89
virtual const dim_t * getNumElementsPerDim() const =0
returns the number of elements per MPI rank in each dimension
SpeckleyDomain extends the AbstractContinuousDomain interface for the Speckley library and is the bas...
Definition: speckley/src/SpeckleyDomain.h:97
int numGhostElements
Definition: SpeckleyElements.h:132
boost::shared_ptr< SpeckleyElements > SpeckleyElements_ptr
Definition: SpeckleyElements.h:32
int numElements
Definition: SpeckleyElements.h:131
virtual const dim_t * getNumNodesPerDim() const =0
returns the number of nodes per MPI rank in each dimension
void removeGhostZones(int ownIndex)
Removes "ghost" elements.
Definition: SpeckleyElements.cpp:265
Definition: ElementData.h:57
SpeckleyNodes_ptr nodeMesh
Definition: SpeckleyElements.h:128
void reorderGhostZones(int ownIndex)
Moves "ghost" elements (whose owner does not match ownIndex) and the corresponding data to the end of...
Definition: SpeckleyElements.cpp:260
Definition: Speckley.h:76
virtual std::pair< int, dim_t > getDataShape(int fsType) const
returns the number of data points per sample, and the number of samples as a pair.
Definition: speckley/src/SpeckleyDomain.cpp:124
virtual ZoneType getType() const
Returns the type of the elements.
Definition: SpeckleyElements.h:95
IntVec ID
Definition: SpeckleyElements.h:136
virtual const QuadMaskInfo & getQuadMask(int functionSpace) const
Returns a QuadMaskInfo structure for given functionspace code.
Definition: SpeckleyElements.h:115
boost::shared_ptr< NodeData > NodeData_ptr
Definition: weipa.h:68
std::vector< std::string > StringVec
Definition: weipa.h:60
bool initFromSpeckley(const speckley::SpeckleyDomain *speckleyDomain, int fsType)
Initialises with data from a SpeckleyDomain instance.
Definition: SpeckleyElements.cpp:75
virtual int getMPIRank() const
returns the MPI rank of this processor
Definition: speckley/src/SpeckleyDomain.h:128
virtual int getDim() const
returns the number of spatial dimensions of the domain
Definition: speckley/src/SpeckleyDomain.h:169
SpeckleyNodes_ptr originalMesh
Definition: SpeckleyElements.h:129
Definition: ElementData.h:56
virtual const dim_t * getNumFacesPerBoundary() const =0
returns the number of face elements in the order (left,right,bottom,top,[front,back]) on current MPI ...
IntVec tag
Definition: SpeckleyElements.h:136
virtual const IntVec & getIDs() const
Returns a vector of element IDs.
Definition: SpeckleyElements.h:101
std::vector< int > IntVec
Definition: weipa.h:59
virtual NodeData_ptr getNodes() const
Returns the node mesh instance used by the elements.
Definition: SpeckleyElements.h:109
Definition: ElementData.h:54
virtual int getNumElements() const
Returns the number of elements.
Definition: SpeckleyElements.h:86
SpeckleyElements()
Definition: SpeckleyElements.h:123
Stores and manipulates speckley mesh nodes.
Definition: SpeckleyNodes.h:38
virtual int getElementFactor() const
If the original element type is not supported they are subdivided into N smaller elements (e....
Definition: SpeckleyElements.h:120