hp3D::Element< F > Class Template Referenceabstract
Abstract class for a 3D FEM element. More...
#include <element.hh>
Public Types | |
typedef F | type |
Public Member Functions | |
void | appendT (concepts::TColumn< Real > *T) |
Appends the T columns to the T matrix. More... | |
virtual const concepts::Cell3 & | cell () const =0 |
Returns the cell on which the element is built. More... | |
Element (concepts::TColumn< Real > *T, const ushort *p) | |
Constructor. More... | |
Element (concepts::TColumn< Real > *T, uint p) | |
Constructor. More... | |
Real3d | elemMap (const Real coord_local) const |
Real3d | elemMap (const Real2d &coord_local) const |
Real3d | elemMap (const Real3d &coord_local) const |
virtual bool | operator< (const Element< F > &elm) const =0 |
Comparison operator for elements. More... | |
const ushort * | p () const |
Returns the polynomial degree. More... | |
virtual const concepts::Connector3 & | support () const =0 |
Returns the topolgical support of the element. More... | |
virtual const concepts::TMatrix< Real > & | T () const |
Returns the T matrix of the element. More... | |
virtual concepts::Real3d | vertex (uint i) const =0 |
Returns the coordinates of the ith vertex of this element. More... | |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Protected Attributes | |
concepts::TMatrix< Real > | T_ |
T matrix of the element. More... | |
Private Attributes | |
ushort | p_ [3] |
Polynomial degree. More... | |
Detailed Description
template<class F>
class hp3D::Element< F >
Abstract class for a 3D FEM element.
All FEM elements have to be derived from this class. It prescribes the interface for querying the support of the element and it has a polynomial degree (ie. hp).
Definition at line 29 of file element.hh.
Member Typedef Documentation
◆ type
|
inherited |
Definition at line 81 of file element.hh.
Constructor & Destructor Documentation
◆ Element() [1/2]
|
inline |
Constructor.
This constructor initializes an isotropic polynomial degree.
- Parameters
-
T List of T columns for this element p Polynomial degree of this element
Definition at line 36 of file element.hh.
◆ Element() [2/2]
|
inline |
Constructor.
This constructor can initialize an anisotropic polynomial degree.
- Parameters
-
T List of T columns for this element p Polynomial degree in the three spatial directions
Definition at line 45 of file element.hh.
Member Function Documentation
◆ appendT()
|
inline |
Appends the T columns to the T matrix.
Definition at line 62 of file element.hh.
◆ cell()
|
pure virtual |
Returns the cell on which the element is built.
Possible are tetrahedrons, hexahedron, prims and pyramids.
Implements concepts::ElementWithCell< F >.
◆ elemMap() [1/3]
|
inlineinherited |
Definition at line 86 of file element.hh.
◆ elemMap() [2/3]
|
inlineinherited |
Definition at line 90 of file element.hh.
◆ elemMap() [3/3]
|
inlineinherited |
Definition at line 94 of file element.hh.
◆ info()
|
protectedvirtual |
Reimplemented in hp3D::Hexahedron.
◆ operator<()
|
pure virtual |
Comparison operator for elements.
Implemented in hp3D::Hexahedron.
◆ p()
|
inline |
Returns the polynomial degree.
The returned array has 3 elements.
Definition at line 51 of file element.hh.
◆ support()
|
pure virtual |
Returns the topolgical support of the element.
Possible supports for an element are hexahedrons, tetrahedrons, prisms and pyramids.
◆ T()
|
inlinevirtual |
Returns the T matrix of the element.
Implements concepts::ElementWithCell< F >.
Definition at line 59 of file element.hh.
◆ vertex()
|
pure virtual |
Returns the coordinates of the ith vertex of this element.
- Parameters
-
i Index of the vertex
Implemented in hp3D::Hexahedron.
Member Data Documentation
◆ p_
|
private |
Polynomial degree.
Definition at line 84 of file element.hh.
◆ T_
|
protected |
T matrix of the element.
Definition at line 81 of file element.hh.
The documentation for this class was generated from the following file:
- hp3D/element.hh