12#ifndef MFEM_TETRAHEDRON
13#define MFEM_TETRAHEDRON
52 Tetrahedron(
int ind1,
int ind2,
int ind3,
int ind4,
int attr = 1);
55 void Init(
int ind1,
int ind2,
int ind3,
int ind4,
int attr = 1,
109 MFEM_DEPRECATED
int GetNFaces(
int &nFaceVertices)
const override
110 { nFaceVertices = 3;
return 4; }
Data type dense matrix using column-major storage.
Abstract data type element.
Type
Constants for the classes derived from Element.
A 3D linear element on a tetrahedron with nodes at the vertices of the tetrahedron.
Data type tetrahedron element.
void Init(int ind1, int ind2, int ind3, int ind4, int attr=1, int ref_flag=0)
Initialize the vertex indices and the attribute of a Tetrahedron.
int GetNEdges() const override
int GetNVertices() const override
void PushTransform(int tr) override
Add 'tr' to the current chain of coarse-fine transformations.
MFEM_DEPRECATED int GetNFaces(int &nFaceVertices) const override
Geometry::Constants< Geometry::TETRAHEDRON > geom_t
const int * GetEdgeVertices(int ei) const override
int NeedRefinement(HashTable< Hashed2 > &v_to_v) const override
Return 1 if the element needs refinement in order to get conforming mesh.
void ParseRefinementFlag(int refinement_edges[2], int &type, int &flag) const
int GetNFaceVertices(int) const override
int * GetVertices() override
Element * Duplicate(Mesh *m) const override
void SetRefinementFlag(int rf)
int GetRefinementFlag() const
virtual ~Tetrahedron()=default
void SetVertices(const Array< int > &v) override
Set the indices defining the vertices.
int GetNFaces() const override
const int * GetFaceVertices(int fi) const override
void ResetTransform(int tr) override
Set current coarse-fine transformation number.
unsigned GetTransform() const override
Return current coarse-fine transformation.
static void GetPointMatrix(unsigned transform, DenseMatrix &pm)
Calculate point matrix corresponding to a chain of transformations.
Type GetType() const override
Return element's type.
void MarkEdge(const DSTable &v_to_v, const int *length) override
void GetMarkedFace(const int face, int *fv) const
void CreateRefinementFlag(int refinement_edges[2], int type, int flag=0)
MFEM_EXPORT class Linear3DFiniteElement TetrahedronFE
static const int Edges[NumEdges][2]
static const int FaceVert[NumFaces][MaxFaceVert]