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

Public Types | Public Member Functions | Protected Member Functions | Private Member Functions
hp2D::ElementFunction< dim, F, Q > Class Template Reference

Base class for element functions for hp elements in 2D. More...

#include <functionBase.hh>

Inheritance diagram for hp2D::ElementFunction< dim, F, Q >:
Inheritance graph
[legend]
Collaboration diagram for hp2D::ElementFunction< dim, F, Q >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef concepts::Element
< typename Q::type > 
Element

Public Member Functions

virtual ElementFunction< F,
Q::type > * 
clone () const =0
virtual uint n () const
 Number of components.
virtual void operator() (const Element< Q::type > &elm, const uint *j, Array< F > &val, const uint *i) const =0
 Evaluates the given function on a specific shape function j (on precalculated quadrature points).
virtual void operator() (const Element< Q::type > &elm, const Array< F > &coeff, Array< F > &val, const uint *i) const =0
 Evaluates the function on precalculated quadrature points.
virtual void operator() (const Element &elm, const concepts::Array< F > &coeff, concepts::Array< F > &val, const concepts::Real3d &p, const Real t=0.0) const
virtual void operator() (const Element &elm, const concepts::Array< F > &coeff, concepts::Array< F > &val, const Real2d &p, const Real t=0.0) const
virtual void operator() (const Element &elm, const concepts::Array< F > &coeff, concepts::Array< F > &val, const uint *i) const
virtual void operator() (const Element &elm, const uint *j, concepts::Array< F > &val, const uint *i) const
virtual void operator() (const Element &elm, const concepts::Array< F > &coeff, concepts::Array< F > &val, const Real p, const Real t=0.0) const
virtual void operator() (const Element< Q::type > &elm, const Array< F > &coeff, Array< F > &val, const Real p, const Real t=0.0) const =0
 Evaluates the function value in an arbitrary point p of physical space.
virtual void operator() (const Element< Q::type > &elm, const Array< F > &coeff, Array< F > &val, const Real2d &p, const Real t=0.0) const =0
 Evaluates the function value in an arbitrary point p of physical space.
virtual void operator() (const Element< Q::type > &elm, const Array< F > &coeff, Array< F > &val, const Real3d &p, const Real t=0.0) const =0
 Evaluates the function value in an arbitrary point p of physical space.

Protected Member Functions

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

Private Member Functions

virtual void compute_ (const Q &elm, const concepts::Array< F > &coeff, concepts::Array< F > &val, const uint i[2]) const =0
virtual void compute_ (const Q &elm, const concepts::Array< F > &coeff, concepts::Array< F > &val, const Real2d &p, const Real t=0.0) const =0
virtual void compute_ (const Q &elm, const uint j[3], concepts::Array< F > &val, const uint i[2]) const =0

Detailed Description

template<uint dim, typename F = Real, typename Q = Quad<Real>>
class hp2D::ElementFunction< dim, F, Q >

Base class for element functions for hp elements in 2D.

The derivated classes have only to implement the three compute_ methods for element of type Q, i.e. quads with different shape functions. The class can be extended to new types, like triangles, with new template parameter and new compute_ methods.

The case of scalar function with template parameter dim = 1 is declared below.

Author:
Kersten Schmidt, 2005

Definition at line 34 of file functionBase.hh.


Member Typedef Documentation

template<uint dim, typename F = Real, typename Q = Quad<Real>>
typedef concepts::Element<typename Q::type> hp2D::ElementFunction< dim, F, Q >::Element

Definition at line 38 of file functionBase.hh.


Member Function Documentation

virtual ElementFunction<F,Q::type >* concepts::ElementFunction< F, Q::type >::clone ( ) const [pure virtual, inherited]
template<uint dim, typename F = Real, typename Q = Quad<Real>>
virtual void hp2D::ElementFunction< dim, F, Q >::compute_ ( const Q &  elm,
const uint  j[3],
concepts::Array< F > &  val,
const uint  i[2] 
) const [private, pure virtual]
template<uint dim, typename F = Real, typename Q = Quad<Real>>
virtual void hp2D::ElementFunction< dim, F, Q >::compute_ ( const Q &  elm,
const concepts::Array< F > &  coeff,
concepts::Array< F > &  val,
const Real2d &  p,
const Real  t = 0.0 
) const [private, pure virtual]
template<uint dim, typename F = Real, typename Q = Quad<Real>>
virtual void hp2D::ElementFunction< dim, F, Q >::compute_ ( const Q &  elm,
const concepts::Array< F > &  coeff,
concepts::Array< F > &  val,
const uint  i[2] 
) const [private, pure virtual]
virtual std::ostream& concepts::ElementFunction< F, Q::type >::info ( std::ostream &  os) const [inline, protected, virtual, inherited]

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

Definition at line 66 of file function.hh.

template<uint dim, typename F = Real, typename Q = Quad<Real>>
virtual uint hp2D::ElementFunction< dim, F, Q >::n ( ) const [inline, virtual]

Number of components.

Implements concepts::ElementFunction< F, Q::type >.

Definition at line 41 of file functionBase.hh.

virtual void concepts::ElementFunction< F, Q::type >::operator() ( const Element< Q::type > &  elm,
const uint *  j,
Array< F > &  val,
const uint *  i 
) const [pure virtual, inherited]

Evaluates the given function on a specific shape function j (on precalculated quadrature points).

Parameters:
elmElement
jmulti-index of a shapefunction
valFunction value
imulti-index of the quadrature point
virtual void concepts::ElementFunction< F, Q::type >::operator() ( const Element< Q::type > &  elm,
const Array< F > &  coeff,
Array< F > &  val,
const uint *  i 
) const [pure virtual, inherited]

Evaluates the function on precalculated quadrature points.

Parameters:
elmElement
coeffCoefficients of local shape functions
valFunction value
imulti-index of the quadrature point
template<uint dim, typename F, typename Q >
void hp2D::ElementFunction< dim, F, Q >::operator() ( const Element elm,
const concepts::Array< F > &  coeff,
concepts::Array< F > &  val,
const uint *  i 
) const [virtual]

Definition at line 78 of file functionBase.hh.

template<uint dim, typename F, typename Q >
void hp2D::ElementFunction< dim, F, Q >::operator() ( const Element elm,
const concepts::Array< F > &  coeff,
concepts::Array< F > &  val,
const Real  p,
const Real  t = 0.0 
) const [virtual]

Definition at line 100 of file functionBase.hh.

virtual void concepts::ElementFunction< F, Q::type >::operator() ( const Element< Q::type > &  elm,
const Array< F > &  coeff,
Array< F > &  val,
const Real3d p,
const Real  t = 0.0 
) const [pure virtual, inherited]

Evaluates the function value in an arbitrary point p of physical space.

Parameters:
elmElement
coeffCoefficients of local shape functions
valFunction value
pPoint in space in local element coordinates
tPoint in time
template<uint dim, typename F, typename Q >
void hp2D::ElementFunction< dim, F, Q >::operator() ( const Element elm,
const concepts::Array< F > &  coeff,
concepts::Array< F > &  val,
const concepts::Real3d p,
const Real  t = 0.0 
) const [virtual]

Definition at line 124 of file functionBase.hh.

template<uint dim, typename F, typename Q >
void hp2D::ElementFunction< dim, F, Q >::operator() ( const Element elm,
const concepts::Array< F > &  coeff,
concepts::Array< F > &  val,
const Real2d &  p,
const Real  t = 0.0 
) const [virtual]

Definition at line 113 of file functionBase.hh.

template<uint dim, typename F, typename Q >
void hp2D::ElementFunction< dim, F, Q >::operator() ( const Element elm,
const uint *  j,
concepts::Array< F > &  val,
const uint *  i 
) const [virtual]

Definition at line 89 of file functionBase.hh.

virtual void concepts::ElementFunction< F, Q::type >::operator() ( const Element< Q::type > &  elm,
const Array< F > &  coeff,
Array< F > &  val,
const Real  p,
const Real  t = 0.0 
) const [pure virtual, inherited]

Evaluates the function value in an arbitrary point p of physical space.

Parameters:
elmElement
coeffCoefficients of local shape functions
valFunction value
pPoint in space in local element coordinates
tPoint in time
virtual void concepts::ElementFunction< F, Q::type >::operator() ( const Element< Q::type > &  elm,
const Array< F > &  coeff,
Array< F > &  val,
const Real2d p,
const Real  t = 0.0 
) const [pure virtual, inherited]

Evaluates the function value in an arbitrary point p of physical space.

Parameters:
elmElement
coeffCoefficients of local shape functions
valFunction value
pPoint in space in local element coordinates
tPoint in time

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

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