This class maintains connectivity and coordinates of the mesh read from a file. More...
#include <CoordConn.h>
Public Member Functions | |
CoordConn () | |
virtual | ~CoordConn () |
virtual const std::vector < GlobalNodalIndex > & | getConnectivity () const =0 |
Connectivity of all elements in a single vector. | |
virtual const std::vector < double > & | getCoordinates () const =0 |
Coordinates of all nodes in the mesh in a single vector. | |
virtual size_t | getSpatialDim () const =0 |
virtual size_t | getNodesPerElem () const =0 |
virtual size_t | getTopology () const =0 |
specific to file input format | |
virtual void | subdivide ()=0 |
subdivide each element into smaller elements | |
virtual void | initFromFileData (const FemapInput &neu)=0 |
virtual size_t | getNumNodes () const =0 |
virtual size_t | getNumElements () const =0 |
virtual Element * | makeElem (const size_t elemIndex) const =0 |
helper for MeshInit The derived class decides the kind of element and element geometry to instantiate for each element addressed by elemIndex | |
Protected Member Functions | |
virtual void | genElemConnectivity (size_t elemIndex, std::vector< GlobalNodalIndex > &elemConn) const =0 |
populates vector elemConn with the connectivity of element indexed by elemIndex |
This class maintains connectivity and coordinates of the mesh read from a file.
Connectivity is the ids of the nodes of each element, where nodes are numbered from * 0..numNodes-1 Coordinates is the 2D or 3D coordinates of each node in the mesh The elements themselves have ids 0..numElements-1
CoordConn::CoordConn | ( | ) | [inline] |
virtual CoordConn::~CoordConn | ( | ) | [inline, virtual] |
virtual void CoordConn::genElemConnectivity | ( | size_t | elemIndex, | |
std::vector< GlobalNodalIndex > & | elemConn | |||
) | const [protected, pure virtual] |
populates vector elemConn with the connectivity of element indexed by elemIndex
elemIndex | ||
elemConn |
Implemented in AbstractCoordConn< SPD, NODES_PER_ELEM, TOPO >, AbstractCoordConn< TetLinearTraits::SPD, TetLinearTraits::NODES_PER_ELEM, TetLinearTraits::TOPO >, and AbstractCoordConn< TriLinearTraits::SPD, TriLinearTraits::NODES_PER_ELEM, TriLinearTraits::TOPO >.
virtual const std::vector<GlobalNodalIndex>& CoordConn::getConnectivity | ( | ) | const [pure virtual] |
Connectivity of all elements in a single vector.
Let NPE = nodes per element, then connectivity of element i is in the range [NPE*i, NPE*(i+1))
Implemented in AbstractCoordConn< SPD, NODES_PER_ELEM, TOPO >, AbstractCoordConn< TetLinearTraits::SPD, TetLinearTraits::NODES_PER_ELEM, TetLinearTraits::TOPO >, and AbstractCoordConn< TriLinearTraits::SPD, TriLinearTraits::NODES_PER_ELEM, TriLinearTraits::TOPO >.
virtual const std::vector<double>& CoordConn::getCoordinates | ( | ) | const [pure virtual] |
Coordinates of all nodes in the mesh in a single vector.
Let SPD = number of spatial dimensions e.g. 2D or 3D, the coordinates for node i are in the range [i*SPD, (i+1)*SPD)
Implemented in AbstractCoordConn< SPD, NODES_PER_ELEM, TOPO >, AbstractCoordConn< TetLinearTraits::SPD, TetLinearTraits::NODES_PER_ELEM, TetLinearTraits::TOPO >, and AbstractCoordConn< TriLinearTraits::SPD, TriLinearTraits::NODES_PER_ELEM, TriLinearTraits::TOPO >.
virtual size_t CoordConn::getNodesPerElem | ( | ) | const [pure virtual] |
virtual size_t CoordConn::getNumElements | ( | ) | const [pure virtual] |
virtual size_t CoordConn::getNumNodes | ( | ) | const [pure virtual] |
virtual size_t CoordConn::getSpatialDim | ( | ) | const [pure virtual] |
virtual size_t CoordConn::getTopology | ( | ) | const [pure virtual] |
virtual void CoordConn::initFromFileData | ( | const FemapInput & | neu | ) | [pure virtual] |
virtual Element* CoordConn::makeElem | ( | const size_t | elemIndex | ) | const [pure virtual] |
helper for MeshInit The derived class decides the kind of element and element geometry to instantiate for each element addressed by elemIndex
elemIndex |
Implemented in TetLinearCoordConn, and TriLinearCoordConn.
virtual void CoordConn::subdivide | ( | ) | [pure virtual] |
subdivide each element into smaller elements
Implemented in TetLinearCoordConn, and TriLinearCoordConn.