|
MFEM
v3.4
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 } |
| 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. More... | |
| Tetrahedron (int ind1, int ind2, int ind3, int ind4, int attr=1) | |
| Constructs tetrahedron by specifying the indices and the attribute. More... | |
| virtual int | GetType () const |
| Return element's type. More... | |
| void | ParseRefinementFlag (int refinement_edges[2], int &type, int &flag) |
| void | CreateRefinementFlag (int refinement_edges[2], int type, int flag=0) |
| void | GetMarkedFace (const int face, int *fv) |
| virtual int | GetRefinementFlag () |
| void | SetRefinementFlag (int rf) |
| virtual int | NeedRefinement (DSTable &v_to_v, int *middle) const |
| Return 1 if the element needs refinement in order to get conforming mesh. More... | |
| virtual void | SetVertices (const int *ind) |
| Set the vertices according to the given input. More... | |
| virtual void | MarkEdge (DenseMatrix &pmat) |
| Mark the longest edge by assuming/changing the order of the vertices. More... | |
| virtual void | MarkEdge (const DSTable &v_to_v, const int *length) |
| virtual void | ResetTransform (int tr) |
| Set current coarse-fine transformation number. More... | |
| virtual unsigned | GetTransform () const |
| Return current coarse-fine transformation. More... | |
| virtual void | PushTransform (int tr) |
| Add 'tr' to the current chain of coarse-fine transformations. More... | |
| virtual void | GetVertices (Array< int > &v) const |
| Returns the indices of the element's vertices. More... | |
| virtual int * | GetVertices () |
| virtual int | GetNVertices () const |
| virtual int | GetNEdges () const |
| virtual const int * | GetEdgeVertices (int ei) const |
| virtual int | GetNFaces (int &nFaceVertices) const |
| virtual const int * | GetFaceVertices (int fi) const |
| virtual Element * | Duplicate (Mesh *m) const |
| virtual | ~Tetrahedron () |
Public Member Functions inherited from mfem::Element | |
| Element (int bg=Geometry::POINT) | |
| Default element constructor. More... | |
| int | GetGeometryType () const |
| int | GetAttribute () const |
| Return element's attribute. More... | |
| void | SetAttribute (const int attr) |
| Set element's attribute. More... | |
| const int * | GetVertices () const |
| virtual | ~Element () |
| Destroys element. More... | |
Static Public Member Functions | |
| static void | GetPointMatrix (unsigned transform, DenseMatrix &pm) |
| Calculate point matrix corresponding to a chain of transformations. More... | |
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). More... | |
| int | base_geom |
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.
|
inlinevirtual |
Definition at line 110 of file tetrahedron.hpp.
| void mfem::Tetrahedron::CreateRefinementFlag | ( | int | refinement_edges[2], |
| int | type, | ||
| int | flag = 0 |
||
| ) |
Definition at line 59 of file tetrahedron.cpp.
Implements mfem::Element.
Definition at line 331 of file tetrahedron.cpp.
|
inlinevirtual |
Implements mfem::Element.
Definition at line 99 of file tetrahedron.hpp.
|
inlinevirtual |
Implements mfem::Element.
Definition at line 105 of file tetrahedron.hpp.
| void mfem::Tetrahedron::GetMarkedFace | ( | const int | face, |
| int * | fv | ||
| ) |
Definition at line 125 of file tetrahedron.cpp.
|
inlinevirtual |
Implements mfem::Element.
Definition at line 97 of file tetrahedron.hpp.
|
inlinevirtual |
Implements mfem::Element.
Definition at line 102 of file tetrahedron.hpp.
|
inlinevirtual |
Implements mfem::Element.
Definition at line 95 of file tetrahedron.hpp.
|
static |
Calculate point matrix corresponding to a chain of transformations.
Definition at line 280 of file tetrahedron.cpp.
|
inlinevirtual |
Reimplemented from mfem::Element.
Definition at line 62 of file tetrahedron.hpp.
|
inlinevirtual |
Return current coarse-fine transformation.
Reimplemented from mfem::Element.
Definition at line 81 of file tetrahedron.hpp.
|
inlinevirtual |
|
virtual |
Returns the indices of the element's vertices.
Implements mfem::Element.
Definition at line 322 of file tetrahedron.cpp.
|
inlinevirtual |
Implements mfem::Element.
Definition at line 93 of file tetrahedron.hpp.
|
inlinevirtual |
Mark the longest edge by assuming/changing the order of the vertices.
Reimplemented from mfem::Element.
Definition at line 73 of file tetrahedron.hpp.
|
virtual |
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 183 of file tetrahedron.cpp.
|
virtual |
Return 1 if the element needs refinement in order to get conforming mesh.
Reimplemented from mfem::Element.
Definition at line 156 of file tetrahedron.cpp.
| void mfem::Tetrahedron::ParseRefinementFlag | ( | int | refinement_edges[2], |
| int & | type, | ||
| int & | flag | ||
| ) |
Definition at line 43 of file tetrahedron.cpp.
|
inlinevirtual |
Add 'tr' to the current chain of coarse-fine transformations.
Reimplemented from mfem::Element.
Definition at line 84 of file tetrahedron.hpp.
|
inlinevirtual |
Set current coarse-fine transformation number.
Reimplemented from mfem::Element.
Definition at line 80 of file tetrahedron.hpp.
|
inline |
Definition at line 64 of file tetrahedron.hpp.
|
virtual |
Set the vertices according to the given input.
Reimplemented from mfem::Element.
Definition at line 175 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.
1.8.5