![]() |
MFEM v4.8.0
Finite element discretization library
|
Abstract data type element. More...
#include <element.hpp>
Public Types | |
| enum | Type { POINT , SEGMENT , TRIANGLE , QUADRILATERAL , TETRAHEDRON , HEXAHEDRON , WEDGE , PYRAMID } |
| Constants for the classes derived from Element. More... | |
Public Member Functions | |
| Element (Geometry::Type bg=Geometry::POINT) | |
| Default element constructor. | |
| virtual Type | GetType () const =0 |
| Returns element's type. | |
| Geometry::Type | GetGeometryType () const |
| int | GetAttribute () const |
| Return element's attribute. | |
| void | SetAttribute (const int attr) |
| Set element's attribute. | |
| virtual void | GetVertices (Array< int > &v) const =0 |
| Get the indices defining the vertices. | |
| virtual void | SetVertices (const Array< int > &v)=0 |
| Set the indices defining the vertices. | |
| virtual void | SetVertices (const int *ind)=0 |
| Set the indices defining the vertices. | |
| virtual int * | GetVertices ()=0 |
| const int * | GetVertices () const |
| virtual int | GetNVertices () const =0 |
| virtual int | GetNEdges () const =0 |
| virtual const int * | GetEdgeVertices (int) const =0 |
| virtual MFEM_DEPRECATED int | GetNFaces (int &nFaceVertices) const =0 |
| virtual int | GetNFaces () const =0 |
| virtual int | GetNFaceVertices (int fi) const =0 |
| virtual const int * | GetFaceVertices (int fi) const =0 |
| virtual void | MarkEdge (const DSTable &v_to_v, const int *length) |
| Mark the longest edge by assuming/changing the order of the vertices. | |
| virtual int | NeedRefinement (HashTable< Hashed2 > &v_to_v) const |
| Return 1 if the element needs refinement in order to get conforming mesh. | |
| virtual void | ResetTransform (int tr) |
| Set current coarse-fine transformation number. | |
| virtual void | PushTransform (int tr) |
| Add 'tr' to the current chain of coarse-fine transformations. | |
| virtual unsigned | GetTransform () const |
| Return current coarse-fine transformation. | |
| virtual Element * | Duplicate (Mesh *m) const =0 |
| virtual | ~Element () |
| Destroys element. | |
Static Public Member Functions | |
| static Type | TypeFromGeometry (const Geometry::Type geom) |
| Return the Element::Type associated with the given Geometry::Type. | |
Protected Attributes | |
| int | attribute |
| Element's attribute (specifying material property, etc). | |
| Geometry::Type | base_geom |
| Element's type from the Finite Element's perspective. | |
Abstract data type element.
Definition at line 28 of file element.hpp.
| enum mfem::Element::Type |
Constants for the classes derived from Element.
| Enumerator | |
|---|---|
| POINT | |
| SEGMENT | |
| TRIANGLE | |
| QUADRILATERAL | |
| TETRAHEDRON | |
| HEXAHEDRON | |
| WEDGE | |
| PYRAMID | |
Definition at line 41 of file element.hpp.
|
inlineexplicit |
Default element constructor.
Definition at line 46 of file element.hpp.
|
inlinevirtual |
Destroys element.
Definition at line 112 of file element.hpp.
Implemented in mfem::Hexahedron, mfem::Point, mfem::Pyramid, mfem::Quadrilateral, mfem::Segment, mfem::Tetrahedron, mfem::Triangle, and mfem::Wedge.
|
inline |
Return element's attribute.
Definition at line 58 of file element.hpp.
|
pure virtual |
Implemented in mfem::Hexahedron, mfem::Point, mfem::Pyramid, mfem::Quadrilateral, mfem::Segment, mfem::Tetrahedron, mfem::Triangle, and mfem::Wedge.
|
pure virtual |
Implemented in mfem::Hexahedron, mfem::Point, mfem::Pyramid, mfem::Quadrilateral, mfem::Segment, mfem::Tetrahedron, mfem::Triangle, and mfem::Wedge.
|
inline |
Definition at line 55 of file element.hpp.
|
pure virtual |
Implemented in mfem::Hexahedron, mfem::Point, mfem::Pyramid, mfem::Quadrilateral, mfem::Segment, mfem::Tetrahedron, mfem::Triangle, and mfem::Wedge.
|
pure virtual |
Implemented in mfem::Hexahedron, mfem::Point, mfem::Pyramid, mfem::Quadrilateral, mfem::Segment, mfem::Tetrahedron, mfem::Triangle, and mfem::Wedge.
|
pure virtual |
Implemented in mfem::Hexahedron, mfem::Point, mfem::Pyramid, mfem::Quadrilateral, mfem::Segment, mfem::Tetrahedron, mfem::Triangle, and mfem::Wedge.
|
pure virtual |
Implemented in mfem::Hexahedron, mfem::Point, mfem::Pyramid, mfem::Quadrilateral, mfem::Segment, mfem::Tetrahedron, mfem::Triangle, and mfem::Wedge.
|
pure virtual |
Implemented in mfem::Hexahedron, mfem::Point, mfem::Pyramid, mfem::Quadrilateral, mfem::Segment, mfem::Tetrahedron, mfem::Triangle, and mfem::Wedge.
|
inlinevirtual |
Return current coarse-fine transformation.
Reimplemented in mfem::Tetrahedron, and mfem::Triangle.
Definition at line 106 of file element.hpp.
|
pure virtual |
Returns element's type.
Implemented in mfem::Hexahedron, mfem::Point, mfem::Pyramid, mfem::Quadrilateral, mfem::Segment, mfem::Tetrahedron, mfem::Triangle, and mfem::Wedge.
|
inline |
Definition at line 75 of file element.hpp.
|
pure virtual |
Implemented in mfem::Hexahedron, mfem::Point, mfem::Pyramid, mfem::Quadrilateral, mfem::Segment, mfem::Tetrahedron, mfem::Triangle, and mfem::Wedge.
|
pure virtual |
Get the indices defining the vertices.
Implemented in mfem::Hexahedron, mfem::Point, mfem::Pyramid, mfem::Quadrilateral, mfem::Segment, mfem::Tetrahedron, mfem::Triangle, and mfem::Wedge.
|
inlinevirtual |
Mark the longest edge by assuming/changing the order of the vertices.
Reimplemented in mfem::Tetrahedron, and mfem::Triangle.
Definition at line 94 of file element.hpp.
Return 1 if the element needs refinement in order to get conforming mesh.
Reimplemented in mfem::Tetrahedron, and mfem::Triangle.
Definition at line 97 of file element.hpp.
|
inlinevirtual |
Add 'tr' to the current chain of coarse-fine transformations.
Reimplemented in mfem::Tetrahedron, and mfem::Triangle.
Definition at line 103 of file element.hpp.
|
inlinevirtual |
Set current coarse-fine transformation number.
Reimplemented in mfem::Tetrahedron, and mfem::Triangle.
Definition at line 100 of file element.hpp.
|
inline |
Set element's attribute.
Definition at line 61 of file element.hpp.
|
pure virtual |
Set the indices defining the vertices.
Implemented in mfem::Hexahedron, mfem::Point, mfem::Pyramid, mfem::Quadrilateral, mfem::Segment, mfem::Tetrahedron, mfem::Triangle, and mfem::Wedge.
|
pure virtual |
Set the indices defining the vertices.
Implemented in mfem::Hexahedron, mfem::Point, mfem::Pyramid, mfem::Quadrilateral, mfem::Segment, mfem::Tetrahedron, mfem::Triangle, and mfem::Wedge.
Definition at line 33 of file element.cpp.
|
static |
Return the Element::Type associated with the given Geometry::Type.
Definition at line 17 of file element.cpp.
|
protected |
Element's attribute (specifying material property, etc).
Definition at line 33 of file element.hpp.
|
protected |
Element's type from the Finite Element's perspective.
Definition at line 36 of file element.hpp.