escript
Revision_
|
Stores and manipulates one type of ripley mesh elements (cells, faces). More...
#include <RipleyElements.h>
Public Member Functions | |
RipleyElements (const std::string &elementName, RipleyNodes_ptr nodes) | |
Constructor with name and accompanying NodeData object. More... | |
RipleyElements (const RipleyElements &e) | |
Copy constructor. More... | |
virtual | ~RipleyElements () |
Destructor. More... | |
bool | initFromRipley (const ripley::RipleyDomain *ripleyDomain, int fsType) |
Initialises with data from a RipleyDomain instance. More... | |
void | reorderGhostZones (int ownIndex) |
Moves "ghost" elements (whose owner does not match ownIndex) and the corresponding data to the end of the arrays. More... | |
void | removeGhostZones (int ownIndex) |
Removes "ghost" elements. More... | |
virtual void | writeConnectivityVTK (std::ostream &os) |
Writes connectivity data to a stream in VTK text format. More... | |
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. More... | |
virtual StringVec | getMeshNames () const |
Returns the names of the meshes associated with the elements. More... | |
virtual StringVec | getVarNames () const |
Returns a vector with the mesh variable names. More... | |
virtual int | getNumElements () const |
Returns the number of elements. More... | |
virtual int | getNodesPerElement () const |
Returns the number of nodes per element. More... | |
virtual int | getGhostCount () const |
Returns the number of "ghost" elements. More... | |
virtual ZoneType | getType () const |
Returns the type of the elements. More... | |
virtual const IntVec & | getNodeList () const |
Returns a vector of the node IDs used by the elements. More... | |
virtual const IntVec & | getIDs () const |
Returns a vector of element IDs. More... | |
virtual const IntVec & | getVarDataByName (const std::string varName) const |
Returns an array of data values for the name provided. More... | |
virtual NodeData_ptr | getNodes () const |
Returns the node mesh instance used by the elements. More... | |
virtual ElementData_ptr | getReducedElements () const |
Returns the reduced elements. More... | |
virtual const QuadMaskInfo & | getQuadMask (int functionSpace) const |
Returns a QuadMaskInfo structure for given functionspace code. More... | |
virtual int | getElementFactor () const |
If the original element type is not supported they are subdivided into N smaller elements (e.g. one Rec9 -> four Rec4) and this method returns the multiplication factor N. More... | |
Private Member Functions | |
RipleyElements () | |
void | buildMeshes () |
IntVec | prepareGhostIndices (int ownIndex) |
void | reorderArray (IntVec &v, const IntVec &idx, int elementsPerIndex) |
Private Attributes | |
RipleyNodes_ptr | nodeMesh |
RipleyNodes_ptr | originalMesh |
std::string | name |
int | numElements |
int | numGhostElements |
int | nodesPerElement |
ZoneType | type |
IntVec | nodes |
IntVec | ID |
IntVec | tag |
IntVec | owner |
QuadMaskInfo | quadMask |
Additional Inherited Members | |
![]() | |
virtual | ~ElementData () |
Stores and manipulates one type of ripley mesh elements (cells, faces).
This class provides functionality to manipulate a ripley domain. It is able to load element data from NetCDF files or retrieve it from a RipleyDomain instance.
weipa::RipleyElements::RipleyElements | ( | const std::string & | elementName, |
RipleyNodes_ptr | nodes | ||
) |
weipa::RipleyElements::RipleyElements | ( | const RipleyElements & | e | ) |
Copy constructor.
References ID, name, nodeMesh, nodes, nodesPerElement, numElements, numGhostElements, originalMesh, owner, and type.
|
inlinevirtual |
Destructor.
|
inlineprivate |
|
private |
References name, nodeMesh, nodes, numElements, and originalMesh.
Referenced by initFromRipley().
|
inlinevirtual |
If the original element type is not supported they are subdivided into N smaller elements (e.g. one Rec9 -> four Rec4) and this method returns the multiplication factor N.
Implements weipa::ElementData.
|
inlinevirtual |
Returns the number of "ghost" elements.
Implements weipa::ElementData.
|
inlinevirtual |
Returns a vector of element IDs.
Implements weipa::ElementData.
|
virtual |
Returns the names of the meshes associated with the elements.
Implements weipa::ElementData.
References nodeMesh.
|
inlinevirtual |
Returns a vector of the node IDs used by the elements.
Implements weipa::ElementData.
|
inlinevirtual |
Returns the node mesh instance used by the elements.
Implements weipa::ElementData.
|
inlinevirtual |
Returns the number of nodes per element.
Implements weipa::ElementData.
|
inlinevirtual |
Returns the number of elements.
Implements weipa::ElementData.
|
inlinevirtual |
Returns a QuadMaskInfo structure for given functionspace code.
Implements weipa::ElementData.
|
inlinevirtual |
Returns the reduced elements.
Implements weipa::ElementData.
|
inlinevirtual |
Returns the type of the elements.
Implements weipa::ElementData.
|
virtual |
Returns an array of data values for the name provided.
The name must be one of the names returned from getVarNames().
|
virtual |
bool weipa::RipleyElements::initFromRipley | ( | const ripley::RipleyDomain * | ripleyDomain, |
int | fsType | ||
) |
Initialises with data from a RipleyDomain instance.
References ripley::RipleyDomain::borrowSampleReferenceIDs(), buildMeshes(), ripley::Elements, ripley::FaceElements, ripley::RipleyDomain::getDataShape(), ripley::RipleyDomain::getDim(), ripley::RipleyDomain::getNumElementsPerDim(), ripley::RipleyDomain::getNumFacesPerBoundary(), ripley::RipleyDomain::getNumNodesPerDim(), ripley::RipleyDomain::getOwnerVector(), ID, nodes, nodesPerElement, numElements, owner, type, weipa::ZONETYPE_BEAM, weipa::ZONETYPE_HEX, and weipa::ZONETYPE_QUAD.
|
private |
References numElements, numGhostElements, and owner.
Referenced by reorderGhostZones().
void weipa::RipleyElements::removeGhostZones | ( | int | ownIndex | ) |
Removes "ghost" elements.
References ID, nodes, nodesPerElement, numElements, numGhostElements, owner, and reorderGhostZones().
|
private |
References paso::util::copy().
Referenced by reorderGhostZones().
void weipa::RipleyElements::reorderGhostZones | ( | int | ownIndex | ) |
Moves "ghost" elements (whose owner does not match ownIndex) and the corresponding data to the end of the arrays.
References ID, nodes, nodesPerElement, numGhostElements, owner, prepareGhostIndices(), and reorderArray().
Referenced by removeGhostZones().
|
virtual |
Writes connectivity data to a stream in VTK text format.
Implements weipa::ElementData.
References nodeMesh, nodes, nodesPerElement, numElements, type, weipa::ZONETYPE_BEAM, weipa::ZONETYPE_HEX, weipa::ZONETYPE_POLYGON, and weipa::ZONETYPE_QUAD.
bool weipa::RipleyElements::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.
Since the mesh depends on element information this method also writes the node mesh itself. If Silo was not available at compile time or if a Silo function fails this method returns false.
References ID, name, nodeMesh, nodes, nodesPerElement, numElements, numGhostElements, and owner.
|
private |
Referenced by getVarDataByName(), initFromRipley(), removeGhostZones(), reorderGhostZones(), RipleyElements(), and writeToSilo().
|
private |
Referenced by buildMeshes(), getVarDataByName(), getVarNames(), RipleyElements(), and writeToSilo().
|
private |
Referenced by buildMeshes(), getMeshNames(), RipleyElements(), writeConnectivityVTK(), and writeToSilo().
|
private |
Referenced by buildMeshes(), initFromRipley(), removeGhostZones(), reorderGhostZones(), RipleyElements(), writeConnectivityVTK(), and writeToSilo().
|
private |
Referenced by initFromRipley(), removeGhostZones(), reorderGhostZones(), RipleyElements(), writeConnectivityVTK(), and writeToSilo().
|
private |
Referenced by buildMeshes(), initFromRipley(), prepareGhostIndices(), removeGhostZones(), RipleyElements(), writeConnectivityVTK(), and writeToSilo().
|
private |
Referenced by prepareGhostIndices(), removeGhostZones(), reorderGhostZones(), RipleyElements(), and writeToSilo().
|
private |
Referenced by buildMeshes(), and RipleyElements().
|
private |
Referenced by getVarDataByName(), initFromRipley(), prepareGhostIndices(), removeGhostZones(), reorderGhostZones(), RipleyElements(), and writeToSilo().
|
private |
|
private |
|
private |
Referenced by initFromRipley(), RipleyElements(), and writeConnectivityVTK().