![]() |
MFEM v4.8.0
Finite element discretization library
|
Data type tetrahedron element. More...
#include <tetrahedron.hpp>
Public Types | |
| enum | { TYPE_PU =0 , TYPE_A =1 , TYPE_PF =2 , TYPE_O =3 , TYPE_M =4 } |
| Constants for different types of tetrahedrons. More... | |
| typedef Geometry::Constants< Geometry::TETRAHEDRON > | geom_t |
Public Types inherited from mfem::Element | |
| enum | Type { POINT , SEGMENT , TRIANGLE , QUADRILATERAL , TETRAHEDRON , HEXAHEDRON , WEDGE , PYRAMID } |
| Constants for the classes derived from Element. More... | |
Public Member Functions | |
| Tetrahedron () | |
| Tetrahedron (const int *ind, int attr=1) | |
| Constructs tetrahedron by specifying the indices and the attribute. | |
| Tetrahedron (int ind1, int ind2, int ind3, int ind4, int attr=1) | |
| Constructs tetrahedron by specifying the indices and the attribute. | |
| 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. | |
| Type | GetType () const override |
| Return element's type. | |
| void | ParseRefinementFlag (int refinement_edges[2], int &type, int &flag) const |
| void | CreateRefinementFlag (int refinement_edges[2], int type, int flag=0) |
| void | GetMarkedFace (const int face, int *fv) const |
| int | GetRefinementFlag () const |
| void | SetRefinementFlag (int rf) |
| int | NeedRefinement (HashTable< Hashed2 > &v_to_v) const override |
| Return 1 if the element needs refinement in order to get conforming mesh. | |
| void | MarkEdge (const DSTable &v_to_v, const int *length) override |
| void | ResetTransform (int tr) override |
| Set current coarse-fine transformation number. | |
| unsigned | GetTransform () const override |
| Return current coarse-fine transformation. | |
| void | PushTransform (int tr) override |
| Add 'tr' to the current chain of coarse-fine transformations. | |
| void | GetVertices (Array< int > &v) const override |
| Get the indices defining the vertices. | |
| void | SetVertices (const Array< int > &v) override |
| Set the indices defining the vertices. | |
| int * | GetVertices () override |
| void | SetVertices (const int *ind) override |
| Set the indices defining the vertices. | |
| int | GetNVertices () const override |
| int | GetNEdges () const override |
| const int * | GetEdgeVertices (int ei) const override |
| MFEM_DEPRECATED int | GetNFaces (int &nFaceVertices) const override |
| int | GetNFaces () const override |
| int | GetNFaceVertices (int) const override |
| const int * | GetFaceVertices (int fi) const override |
| Element * | Duplicate (Mesh *m) const override |
| virtual | ~Tetrahedron ()=default |
Public Member Functions inherited from mfem::Element | |
| Element (Geometry::Type bg=Geometry::POINT) | |
| Default element constructor. | |
| Geometry::Type | GetGeometryType () const |
| int | GetAttribute () const |
| Return element's attribute. | |
| void | SetAttribute (const int attr) |
| Set element's attribute. | |
| const int * | GetVertices () const |
| virtual | ~Element () |
| Destroys element. | |
Static Public Member Functions | |
| static void | GetPointMatrix (unsigned transform, DenseMatrix &pm) |
| Calculate point matrix corresponding to a chain of transformations. | |
Static Public Member Functions inherited from mfem::Element | |
| static Type | TypeFromGeometry (const Geometry::Type geom) |
| Return the Element::Type associated with the given Geometry::Type. | |
Protected Attributes | |
| int | indices [4] |
| int | refinement_flag |
| unsigned | transform |
Protected Attributes inherited from mfem::Element | |
| int | attribute |
| Element's attribute (specifying material property, etc). | |
| Geometry::Type | base_geom |
| Element's type from the Finite Element's perspective. | |
Data type tetrahedron element.
Definition at line 22 of file tetrahedron.hpp.
Definition at line 40 of file tetrahedron.hpp.
| anonymous enum |
Constants for different types of tetrahedrons.
| Enumerator | |
|---|---|
| TYPE_PU | |
| TYPE_A | |
| TYPE_PF | |
| TYPE_O | |
| TYPE_M | |
Definition at line 43 of file tetrahedron.hpp.
|
inline |
Definition at line 45 of file tetrahedron.hpp.
| mfem::Tetrahedron::Tetrahedron | ( | const int * | ind, |
| int | attr = 1 ) |
Constructs tetrahedron by specifying the indices and the attribute.
Definition at line 19 of file tetrahedron.cpp.
| mfem::Tetrahedron::Tetrahedron | ( | int | ind1, |
| int | ind2, | ||
| int | ind3, | ||
| int | ind4, | ||
| int | attr = 1 ) |
Constructs tetrahedron by specifying the indices and the attribute.
Definition at line 31 of file tetrahedron.cpp.
|
virtualdefault |
| void mfem::Tetrahedron::CreateRefinementFlag | ( | int | refinement_edges[2], |
| int | type, | ||
| int | flag = 0 ) |
Definition at line 71 of file tetrahedron.cpp.
Implements mfem::Element.
Definition at line 339 of file tetrahedron.cpp.
|
inlineoverridevirtual |
Implements mfem::Element.
Definition at line 105 of file tetrahedron.hpp.
|
inlineoverridevirtual |
Implements mfem::Element.
Definition at line 116 of file tetrahedron.hpp.
| void mfem::Tetrahedron::GetMarkedFace | ( | const int | face, |
| int * | fv ) const |
Definition at line 137 of file tetrahedron.cpp.
|
inlineoverridevirtual |
Implements mfem::Element.
Definition at line 103 of file tetrahedron.hpp.
|
inlineoverridevirtual |
Implements mfem::Element.
Definition at line 112 of file tetrahedron.hpp.
|
inlineoverridevirtual |
Implements mfem::Element.
Definition at line 109 of file tetrahedron.hpp.
|
inlineoverridevirtual |
Implements mfem::Element.
Definition at line 114 of file tetrahedron.hpp.
|
inlineoverridevirtual |
Implements mfem::Element.
Definition at line 101 of file tetrahedron.hpp.
|
static |
Calculate point matrix corresponding to a chain of transformations.
Definition at line 285 of file tetrahedron.cpp.
|
inline |
Definition at line 67 of file tetrahedron.hpp.
|
inlineoverridevirtual |
Return current coarse-fine transformation.
Reimplemented from mfem::Element.
Definition at line 80 of file tetrahedron.hpp.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements mfem::Element.
Definition at line 96 of file tetrahedron.hpp.
|
overridevirtual |
Get the indices defining the vertices.
Implements mfem::Element.
Definition at line 327 of file tetrahedron.cpp.
| void mfem::Tetrahedron::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.
Definition at line 43 of file tetrahedron.cpp.
|
overridevirtual |
Reorder the vertices so that the longest edge is from vertex 0 to vertex 1. If called it should be once from the mesh constructor, because the order may be used later for setting the edges.
Reimplemented from mfem::Element.
Definition at line 188 of file tetrahedron.cpp.
Return 1 if the element needs refinement in order to get conforming mesh.
Reimplemented from mfem::Element.
Definition at line 169 of file tetrahedron.cpp.
| void mfem::Tetrahedron::ParseRefinementFlag | ( | int | refinement_edges[2], |
| int & | type, | ||
| int & | flag ) const |
Definition at line 55 of file tetrahedron.cpp.
|
inlineoverridevirtual |
Add 'tr' to the current chain of coarse-fine transformations.
Reimplemented from mfem::Element.
Definition at line 83 of file tetrahedron.hpp.
|
inlineoverridevirtual |
Set current coarse-fine transformation number.
Reimplemented from mfem::Element.
Definition at line 79 of file tetrahedron.hpp.
|
inline |
Definition at line 69 of file tetrahedron.hpp.
|
overridevirtual |
Set the indices defining the vertices.
Implements mfem::Element.
Definition at line 333 of file tetrahedron.cpp.
|
overridevirtual |
Set the indices defining the vertices.
Implements mfem::Element.
Definition at line 180 of file tetrahedron.cpp.
|
protected |
Definition at line 25 of file tetrahedron.hpp.
|
protected |
The refinement flag keeps (in order) :
Definition at line 35 of file tetrahedron.hpp.
|
protected |
Definition at line 37 of file tetrahedron.hpp.