35 #ifndef NekMeshUtils_MESHELEMENTS_TET 36 #define NekMeshUtils_MESHELEMENTS_TET 43 namespace NekMeshUtils
54 std::vector<NodeSharedPtr> pNodeList,
55 std::vector<int> pTagList)
57 return std::make_shared<Tetrahedron>(pConf, pNodeList, pTagList);
63 std::vector<NodeSharedPtr> pNodeList,
64 std::vector<int> pTagList);
73 std::vector<NodeSharedPtr> &nodeList)
const;
82 bool justConfig =
false);
static ElementSharedPtr create(ElmtConfig pConf, std::vector< NodeSharedPtr > pNodeList, std::vector< int > pTagList)
Creates an instance of this class.
static int m_faceEdgeMap[4][3]
Local edges that make up each tetrahedral face.
A 3-dimensional four-faced element.
Basic information about an element.
static int m_faceVertMap[4][3]
Local vertices that make up each tetrahedral face.
virtual NEKMESHUTILS_EXPORT StdRegions::Orientation GetEdgeOrient(int edgeId, EdgeSharedPtr edge)
Get the edge orientation of edge with respect to the local element, which lies at edge index edgeId...
virtual NEKMESHUTILS_EXPORT ~Tetrahedron()
virtual NEKMESHUTILS_EXPORT SpatialDomains::GeometrySharedPtr GetGeom(int coordDim)
Generate a Nektar++ geometry object for this element.
std::shared_ptr< Edge > EdgeSharedPtr
Shared pointer to an edge.
static int m_edgeVertMap[6][2]
Local vertices that make up each tetrahedral edge.
virtual NEKMESHUTILS_EXPORT int GetFaceVertex(int i, int j)
Returns the local index of vertex j of face i.
static LibUtilities::ShapeType m_type
Element type.
std::shared_ptr< Element > ElementSharedPtr
std::shared_ptr< Geometry > GeometrySharedPtr
virtual NEKMESHUTILS_EXPORT void GetCurvedNodes(std::vector< NodeSharedPtr > &nodeList) const
get list of volume interior nodes
void OrientTet()
Orient tetrahedron to align degenerate vertices.
static NEKMESHUTILS_EXPORT unsigned int GetNumNodes(ElmtConfig pConf)
Return the number of nodes defining a tetrahedron.
#define NEKMESHUTILS_EXPORT
virtual NEKMESHUTILS_EXPORT void MakeOrder(int order, SpatialDomains::GeometrySharedPtr geom, LibUtilities::PointsType pType, int coordDim, int &id, bool justConfig=false)
Insert interior (i.e. volume) points into this element to make the geometry an order order representa...
NEKMESHUTILS_EXPORT Tetrahedron(ElmtConfig pConf, std::vector< NodeSharedPtr > pNodeList, std::vector< int > pTagList)
Create a tetrahedron element.
Base class for element definitions.