Nektar++
|
A 3-dimensional six-faced element. More...
#include <MeshElements.h>
Public Member Functions | |
Hexahedron (ElmtConfig pConf, std::vector< NodeSharedPtr > pNodeList, std::vector< int > pTagList) | |
Create a hexahedral element. More... | |
Hexahedron (const Hexahedron &pSrc) | |
virtual | ~Hexahedron () |
virtual SpatialDomains::GeometrySharedPtr | GetGeom (int coordDim) |
Generate a Nektar++ geometry object for this element. More... | |
Public Member Functions inherited from Nektar::Utilities::Element | |
Element (ElmtConfig pConf, unsigned int pNumNodes, unsigned int pGotNodes) | |
unsigned int | GetId () const |
Returns the ID of the element (or associated edge or face for boundary elements). More... | |
unsigned int | GetDim () const |
Returns the expansion dimension of the element. More... | |
ElmtConfig | GetConf () const |
Returns the configuration of the element. More... | |
std::string | GetTag () const |
Returns the tag which defines the element shape. More... | |
NodeSharedPtr | GetVertex (unsigned int i) const |
Access a vertex node. More... | |
EdgeSharedPtr | GetEdge (unsigned int i) const |
Access an edge. More... | |
FaceSharedPtr | GetFace (unsigned int i) const |
Access a face. More... | |
std::vector< NodeSharedPtr > | GetVertexList () const |
Access the list of vertex nodes. More... | |
std::vector< EdgeSharedPtr > | GetEdgeList () const |
Access the list of edges. More... | |
std::vector< FaceSharedPtr > | GetFaceList () const |
Access the list of faces. More... | |
std::vector< NodeSharedPtr > | GetVolumeNodes () const |
Access the list of volume nodes. More... | |
void | SetVolumeNodes (std::vector< NodeSharedPtr > &nodes) |
LibUtilities::PointsType | GetCurveType () const |
void | SetCurveType (LibUtilities::PointsType cT) |
unsigned int | GetNodeCount () const |
Returns the total number of nodes (vertices, edge nodes and face nodes and volume nodes). More... | |
std::vector< int > | GetTagList () const |
Access the list of tags associated with this element. More... | |
unsigned int | GetVertexCount () const |
Returns the number of vertices. More... | |
unsigned int | GetEdgeCount () const |
Returns the number of edges. More... | |
unsigned int | GetFaceCount () const |
Returns the number of faces. More... | |
void | SetId (unsigned int p) |
Change the ID of the element. More... | |
void | SetVertex (unsigned int p, NodeSharedPtr pNew) |
Replace a vertex with another vertex object. More... | |
void | SetEdge (unsigned int p, EdgeSharedPtr pNew) |
Replace an edge with another edge object. More... | |
void | SetFace (unsigned int p, FaceSharedPtr pNew) |
Replace a face with another face object. More... | |
void | SetEdgeLink (EdgeSharedPtr pLink) |
Set a correspondence between this element and an edge (2D boundary element). More... | |
EdgeSharedPtr | GetEdgeLink () |
Get correspondence between this element and an edge. More... | |
void | SetFaceLink (FaceSharedPtr pLink) |
Set a correspondence between this element and a face (3D boundary element). More... | |
FaceSharedPtr | GetFaceLink () |
Get correspondence between this element and a face. More... | |
void | SetBoundaryLink (int i, int j) |
Set a correspondence between edge or face i and its representative boundary element m->element[expDim-1][j]. More... | |
int | GetBoundaryLink (int i) |
Get the location of the boundary face/edge i for this element. More... | |
void | SetTagList (const std::vector< int > &tags) |
Set the list of tags associated with this element. More... | |
virtual std::string | GetXmlString () const |
Generate a list of vertices (1D), edges (2D), or faces (3D). More... | |
std::string | GetXmlCurveString () const |
Generates a string listing the coordinates of all nodes associated with this element. More... | |
int | GetMaxOrder () |
Obtain the order of an element by looking at edges. More... | |
virtual void | Complete (int order) |
Complete this object. More... | |
void | Print () |
Static Public Member Functions | |
static ElementSharedPtr | create (ElmtConfig pConf, std::vector< NodeSharedPtr > pNodeList, std::vector< int > pTagList) |
Creates an instance of this class. More... | |
static unsigned int | GetNumNodes (ElmtConfig pConf) |
Return the number of nodes defining a hexahedron. More... | |
Static Public Attributes | |
static LibUtilities::ShapeType | m_type |
Element type. More... | |
Additional Inherited Members | |
Protected Attributes inherited from Nektar::Utilities::Element | |
unsigned int | m_id |
ID of the element. More... | |
unsigned int | m_dim |
Dimension of the element. More... | |
ElmtConfig | m_conf |
Contains configuration of the element. More... | |
std::string | m_tag |
Tag character describing the element. More... | |
std::vector< int > | m_taglist |
List of integers specifying properties of the element. More... | |
std::vector< NodeSharedPtr > | m_vertex |
List of element vertex nodes. More... | |
std::vector< EdgeSharedPtr > | m_edge |
List of element edges. More... | |
std::vector< FaceSharedPtr > | m_face |
List of element faces. More... | |
std::vector< NodeSharedPtr > | m_volumeNodes |
List of element volume nodes. More... | |
LibUtilities::PointsType | m_curveType |
Volume curve type. More... | |
EdgeSharedPtr | m_edgeLink |
Pointer to the corresponding edge if element is a 2D boundary. More... | |
FaceSharedPtr | m_faceLink |
Pointer to the corresponding face if element is a 3D boundary. More... | |
std::map< int, int > | m_boundaryLinks |
Array mapping faces/edges to the location of the appropriate boundary elements in m->element. More... | |
SpatialDomains::GeometrySharedPtr | m_geom |
Nektar++ geometry object for this element. More... | |
A 3-dimensional six-faced element.
Definition at line 1544 of file MeshElements.h.
Nektar::Utilities::Hexahedron::Hexahedron | ( | ElmtConfig | pConf, |
std::vector< NodeSharedPtr > | pNodeList, | ||
std::vector< int > | pTagList | ||
) |
Create a hexahedral element.
Definition at line 1843 of file MeshElements.cpp.
References Nektar::iterator, Nektar::Utilities::Element::m_conf, Nektar::Utilities::Element::m_dim, Nektar::Utilities::Element::m_edge, Nektar::Utilities::ElmtConfig::m_edgeCurveType, Nektar::Utilities::Element::m_face, Nektar::Utilities::ElmtConfig::m_faceCurveType, Nektar::Utilities::ElmtConfig::m_faceNodes, Nektar::Utilities::ElmtConfig::m_order, Nektar::Utilities::Element::m_tag, Nektar::Utilities::Element::m_taglist, and Nektar::Utilities::Element::m_vertex.
Nektar::Utilities::Hexahedron::Hexahedron | ( | const Hexahedron & | pSrc | ) |
|
inlinevirtual |
Definition at line 1568 of file MeshElements.h.
|
inlinestatic |
Creates an instance of this class.
Definition at line 1547 of file MeshElements.h.
|
virtual |
Generate a Nektar++ geometry object for this element.
Reimplemented from Nektar::Utilities::Element.
Definition at line 1945 of file MeshElements.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and Nektar::Utilities::Element::m_face.
|
static |
Return the number of nodes defining a hexahedron.
Definition at line 1965 of file MeshElements.cpp.
References Nektar::Utilities::ElmtConfig::m_faceNodes, Nektar::Utilities::ElmtConfig::m_order, and Nektar::Utilities::ElmtConfig::m_volumeNodes.
Referenced by Nektar::Utilities::InputGmsh::GetNnodes().
|
static |