Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
hp3D::Element< F > Class Template Reference

Abstract class for a 3D FEM element. More...

#include <element.hh>

Inheritance diagram for hp3D::Element< F >:
Inheritance graph
[legend]
Collaboration diagram for hp3D::Element< F >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef F type

Public Member Functions

void appendT (concepts::TColumn< Real > *T)
 Appends the T columns to the T matrix.
virtual const concepts::Cell3cell () const =0
 Returns the cell on which the element is built.
 Element (concepts::TColumn< Real > *T, const ushort *p)
 Constructor.
 Element (concepts::TColumn< Real > *T, uint p)
 Constructor.
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
virtual bool operator< (const Element< F > &elm) const =0
 Comparison operator for elements.
const ushort * p () const
 Returns the polynomial degree.
virtual const
concepts::Connector3
support () const =0
 Returns the topolgical support of the element.
virtual const
concepts::TMatrixBase< Real > & 
T () const
 Returns the T matrix of the element.
uint & tag ()
 Returns the tag.
virtual concepts::Real3d vertex (uint i) const =0
 Returns the coordinates of the ith vertex of this element.

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.

Private Attributes

ushort p_ [3]
 Polynomial degree.

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).

Author:
Philipp Frauenfelder, 2001

Definition at line 27 of file element.hh.


Member Typedef Documentation

template<class F>
typedef F concepts::Element< F >::type [inherited]

Definition at line 53 of file element.hh.


Constructor & Destructor Documentation

template<class F>
hp3D::Element< F >::Element ( concepts::TColumn< Real > *  T,
uint  p 
) [inline]

Constructor.

This constructor initializes an isotropic polynomial degree.

Parameters:
TList of T columns for this element
pPolynomial degree of this element

Definition at line 34 of file element.hh.

template<class F>
hp3D::Element< F >::Element ( concepts::TColumn< Real > *  T,
const ushort *  p 
) [inline]

Constructor.

This constructor can initialize an anisotropic polynomial degree.

Parameters:
TList of T columns for this element
pPolynomial degree in the three spatial directions

Definition at line 43 of file element.hh.


Member Function Documentation

template<class F>
void hp3D::Element< F >::appendT ( concepts::TColumn< Real > *  T) [inline]

Appends the T columns to the T matrix.

Definition at line 60 of file element.hh.

template<class F>
virtual const concepts::Cell3& hp3D::Element< F >::cell ( ) const [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.

template<typename F>
Real3d concepts::ElementWithCell< F >::elemMap ( const Real  coord_local) const [inline, inherited]

Definition at line 83 of file element.hh.

template<typename F>
Real3d concepts::ElementWithCell< F >::elemMap ( const Real2d coord_local) const [inline, inherited]

Definition at line 87 of file element.hh.

template<typename F>
Real3d concepts::ElementWithCell< F >::elemMap ( const Real3d coord_local) const [inline, inherited]

Definition at line 91 of file element.hh.

template<class F>
virtual const ElementGraphics<F>* concepts::Element< F >::graphics ( ) const [inline, virtual, inherited]
template<class F>
virtual std::ostream& hp3D::Element< F >::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

Reimplemented in hp3D::Hexahedron.

template<class F>
virtual bool hp3D::Element< F >::operator< ( const Element< F > &  elm) const [pure virtual]

Comparison operator for elements.

template<class F>
const ushort* hp3D::Element< F >::p ( ) const [inline]

Returns the polynomial degree.

The returned array has 3 elements.

Definition at line 49 of file element.hh.

template<class F>
virtual const concepts::Connector3& hp3D::Element< F >::support ( ) const [pure virtual]

Returns the topolgical support of the element.

Possible supports for an element are hexahedrons, tetrahedrons, prisms and pyramids.

Implemented in hp3D::Hexahedron.

template<class F>
virtual const concepts::TMatrixBase<Real>& hp3D::Element< F >::T ( ) const [inline, virtual]

Returns the T matrix of the element.

Implements concepts::Element< F >.

Definition at line 57 of file element.hh.

template<class F>
uint& concepts::Element< F >::tag ( ) [inline, inherited]

Returns the tag.

Definition at line 65 of file element.hh.

template<class F>
virtual concepts::Real3d hp3D::Element< F >::vertex ( uint  i) const [pure virtual]

Returns the coordinates of the ith vertex of this element.

Parameters:
iIndex of the vertex

Implemented in hp3D::Hexahedron.


Member Data Documentation

template<class F>
ushort hp3D::Element< F >::p_[3] [private]

Polynomial degree.

Definition at line 82 of file element.hh.

template<class F>
concepts::TMatrix<Real> hp3D::Element< F >::T_ [protected]

T matrix of the element.

Definition at line 79 of file element.hh.


The documentation for this class was generated from the following file:

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)