#include <element.hh>
Public Types | |
typedef F | type |
Public Member Functions | |
Element (concepts::TColumn< Real > *T, uint p) | |
Element (concepts::TColumn< Real > *T, const ushort *p) | |
const ushort * | p () const |
virtual const concepts::Connector3 & | support () const =0 |
virtual const concepts::TMatrix< Real > & | T () const |
Returns the T matrix of the element. | |
void | appendT (concepts::TColumn< Real > *T) |
Appends the T columns to the T matrix. | |
virtual concepts::Real3d | vertex (uint i) const =0 |
virtual const concepts::Cell3 & | cell () const =0 |
virtual bool | operator< (const Element< F > &elm) const =0 |
Comparison operator for elements. | |
Real3d | elemMap (const Real coord_local) const |
Real3d | elemMap (const Real2d &coord_local) const |
Real3d | elemMap (const Real3d &coord_local) const |
virtual const ElementGraphics< F > * | graphics () const |
uint & | tag () |
Returns the tag. | |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. | |
Protected Attributes | |
concepts::TMatrix< Real > | T_ |
T matrix of the element. | |
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.
|
inherited |
Definition at line 81 of file element.hh.
|
inline |
Constructor. This constructor initializes an isotropic polynomial degree.
T | List of T columns for this element |
p | Polynomial degree of this element |
Definition at line 36 of file element.hh.
|
inline |
Constructor. This constructor can initialize an anisotropic polynomial degree.
T | List of T columns for this element |
p | Polynomial degree in the three spatial directions |
Definition at line 45 of file element.hh.
|
inline |
Appends the T columns to the T matrix.
Definition at line 62 of file element.hh.
|
pure virtual |
Returns the cell on which the element is built. Possible are tetrahedrons, hexahedron, prims and pyramids.
Implements concepts::ElementWithCell< F >.
Implemented in hp3D::Hexahedron.
|
inlineinherited |
Definition at line 86 of file element.hh.
|
inlineinherited |
Definition at line 90 of file element.hh.
|
inlineinherited |
Definition at line 94 of file element.hh.
|
inlinevirtualinherited |
Reimplemented in hp1D::BaseElement< F >, hp1D::BaseElement< Real >, hp2D::Quad< F >, hp2D::Quad< H >, hp2D::Quad< Real >, hp2Dedge::Quad< F >, linDG2D::Triangle, linDG3D::FvdgP0TetElem, linDG3D::FvdgP1TetElem, hp2D::BaseQuad< F >, linDG3D::FvdgElement, hp2D::BaseQuad< H >, and hp2D::BaseQuad< Real >.
Definition at line 63 of file element.hh.
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.
Reimplemented in hp3D::Hexahedron.
|
inline |
Returns the polynomial degree. The returned array has 3 elements.
Definition at line 51 of file element.hh.
|
pure virtual |
Returns the topolgical support of the element. Possible supports for an element are hexahedrons, tetrahedrons, prisms and pyramids.
Implemented in hp3D::Hexahedron.
|
inlinevirtual |
Returns the T matrix of the element.
Implements concepts::ElementWithCell< F >.
Definition at line 59 of file element.hh.
|
inlineinherited |
Returns the tag.
Definition at line 66 of file element.hh.
|
pure virtual |
Returns the coordinates of the ith vertex of this element.
i | Index of the vertex |
Implemented in hp3D::Hexahedron.
|
protected |
T matrix of the element.
Definition at line 81 of file element.hh.