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

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

1D FEM element. More...

#include <element.hh>

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

List of all members.

Public Types

enum  intFormType { ZERO, ONE, TWO, THREE }
 Integration form, which determines terms coming from integration over reference element. More...
typedef F type

Public Member Functions

void appendT (concepts::TColumn< F > *T)
 Appends the T columns to the T matrix.
virtual const concepts::EdgeNdcell () const
 Returns the cell on which the element is built.
const concepts::Real3d chi (const Real x) const
 Computes the element map.
 Element (const concepts::EdgeNd &cell, uint p, concepts::TColumn< F > *T0, concepts::TColumn< F > *T1)
 Constructor.
Real3d elemMap (const Real coord_local) const
Real3d elemMap (const Real2d &coord_local) const
Real3d elemMap (const Real3d &coord_local) const
virtual const
concepts::ElementGraphics
< Real > * 
graphics () const
const concepts::QuadratureRuleintegration () const
 Returns the integration rule.
Real jacobianDeterminant (const Real x) const
 Computes the determinant of the Jacobian.
ushort p () const
 Returns the polynomial degree.
virtual bool quadraturePoint (uint i, intPoint &p, intFormType form=ZERO, bool localCoord=false) const
 Delivers a quadrature point.
void recomputeShapefunctions ()
 Recompute shape functions, e.g.
const concepts::Karniadakis< 1, 0 > * shpfct () const
 Returns the shape functions.
const concepts::Karniadakis< 1, 1 > * shpfctD () const
 Returns the derivatives of the shape functions.
virtual const concepts::Edgesupport () const
virtual const
concepts::TMatrix< F > & 
T () const
 Returns the T matrix of the element.
uint & tag ()
 Returns the tag.
virtual concepts::Real3d vertex (uint i) const
virtual ~Element ()

Static Public Member Functions

static concepts::QuadRuleFactoryrule ()
 Access to the quadrature rule, which is valid for all elements of this type (hp1D::IntegrableElm).

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.

Protected Attributes

const concepts::EdgeNdcell_
 The cell.
std::auto_ptr
< concepts::QuadratureRule
int_
 The integration rule.
concepts::TMatrix< Real > T_
 T matrix of the element.

Static Protected Attributes

static concepts::QuadRuleFactory rule_

Private Attributes

ushort p_
 Polynomial degree.
std::auto_ptr
< concepts::Karniadakis< 1, 0 > > 
shpfct_
 The shape functions.
std::auto_ptr
< concepts::Karniadakis< 1, 1 > > 
shpfctD_
 The derivatives of the shape functions.

Static Private Attributes

static std::auto_ptr
< LineGraphics
graphics_

Detailed Description

template<class F>
class hp1D::Element< F >

1D FEM element.

Author:
Philipp Frauenfelder, 2002

Definition at line 72 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.


Member Enumeration Documentation

Integration form, which determines terms coming from integration over reference element.

Enumerator:
ZERO 
ONE 
TWO 
THREE 

Definition at line 27 of file integral.hh.


Constructor & Destructor Documentation

template<class F>
hp1D::Element< F >::Element ( const concepts::EdgeNd cell,
uint  p,
concepts::TColumn< F > *  T0,
concepts::TColumn< F > *  T1 
)

Constructor.

Parameters:
cellCell of this element
pPolynomial degree of this element
T0List of T columns for this element
T1List of T columns for this element
template<class F>
virtual hp1D::Element< F >::~Element ( ) [virtual]

Reimplemented from concepts::Element< F >.


Member Function Documentation

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

Appends the T columns to the T matrix.

Definition at line 91 of file element.hh.

template<class F>
virtual const concepts::EdgeNd& hp1D::Element< F >::cell ( ) const [inline, virtual]

Returns the cell on which the element is built.

Implements concepts::ElementWithCell< F >.

Definition at line 87 of file element.hh.

const concepts::Real3d hp1D::IntegrableElm::chi ( const Real  x) const [inline, inherited]

Computes the element map.

The reference element is [0,1].

Definition at line 32 of file element.hh.

Here is the call graph for this function:

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 concepts::ElementGraphics<Real>* hp1D::Element< F >::graphics ( ) const [virtual]

Reimplemented from concepts::Element< F >.

template<class F>
virtual std::ostream& hp1D::Element< F >::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

const concepts::QuadratureRule* hp1D::IntegrableElm::integration ( ) const [inline, inherited]

Returns the integration rule.

Definition at line 41 of file element.hh.

Real hp1D::IntegrableElm::jacobianDeterminant ( const Real  x) const [inline, inherited]

Computes the determinant of the Jacobian.

Definition at line 35 of file element.hh.

Here is the call graph for this function:

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

Returns the polynomial degree.

Definition at line 94 of file element.hh.

virtual bool hp1D::IntegrableElm::quadraturePoint ( uint  i,
intPoint p,
intFormType  form = ZERO,
bool  localCoord = false 
) const [virtual, inherited]

Delivers a quadrature point.

Quadrature point consists of coordinates (for evaluation of formulas) and intermediate data, consisting of the weight and term coming from mapping.

Returns false, if the number of quadrature points is overstepped.

Parameters:
inumber of quadrature point
intPointdata given back
formIntegration form
localCoordIf true, local coordinates are returned. Else physical coordinates.

Implements concepts::IntegrationCell.

template<class F>
void hp1D::Element< F >::recomputeShapefunctions ( )

Recompute shape functions, e.g.

for other abscissas redefined through IntegrableElm::rule().set(...)

static concepts::QuadRuleFactory& hp1D::IntegrableElm::rule ( ) [inline, static, inherited]

Access to the quadrature rule, which is valid for all elements of this type (hp1D::IntegrableElm).

Change of the quadrature rule is put into practice for newly created elements and for already created elements by precomputing the integration points and shape functions on them.

Definition at line 52 of file element.hh.

template<class F>
const concepts::Karniadakis<1,0>* hp1D::Element< F >::shpfct ( ) const [inline]

Returns the shape functions.

Definition at line 102 of file element.hh.

template<class F>
const concepts::Karniadakis<1,1>* hp1D::Element< F >::shpfctD ( ) const [inline]

Returns the derivatives of the shape functions.

Definition at line 104 of file element.hh.

template<class F>
virtual const concepts::Edge& hp1D::Element< F >::support ( ) const [inline, virtual]

Definition at line 84 of file element.hh.

template<class F>
virtual const concepts::TMatrix<F>& hp1D::Element< F >::T ( ) const [inline, virtual]

Returns the T matrix of the element.

Implements concepts::Element< F >.

Definition at line 89 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 hp1D::Element< F >::vertex ( uint  i) const [virtual]

Member Data Documentation

const concepts::EdgeNd& hp1D::IntegrableElm::cell_ [protected, inherited]

The cell.

Reimplemented in hp2D::NeumannTraceElement< F >.

Definition at line 59 of file element.hh.

template<class F>
std::auto_ptr<LineGraphics> hp1D::Element< F >::graphics_ [static, private]

Definition at line 121 of file element.hh.

std::auto_ptr<concepts::QuadratureRule> hp1D::IntegrableElm::int_ [protected, inherited]

The integration rule.

Definition at line 61 of file element.hh.

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

Polynomial degree.

Definition at line 120 of file element.hh.

concepts::QuadRuleFactory hp1D::IntegrableElm::rule_ [static, protected, inherited]

Definition at line 63 of file element.hh.

template<class F>
std::auto_ptr<concepts::Karniadakis<1,0> > hp1D::Element< F >::shpfct_ [private]

The shape functions.

Definition at line 115 of file element.hh.

template<class F>
std::auto_ptr<concepts::Karniadakis<1,1> > hp1D::Element< F >::shpfctD_ [private]

The derivatives of the shape functions.

Definition at line 117 of file element.hh.

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

T matrix of the element.

Definition at line 112 of file element.hh.


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

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