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

Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
concepts::PiecewiseConstFormula< F > Class Template Reference

Piecewise constant function defined by the attribute of a cell. More...

#include <formula.hh>

Inheritance diagram for concepts::PiecewiseConstFormula< F >:
Inheritance graph
[legend]
Collaboration diagram for concepts::PiecewiseConstFormula< F >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef concepts::Realtype< F >
::type 
G
typedef F value_type

Public Member Functions

virtual PiecewiseConstFormula
< F > * 
clone () const
 Virtual copy constructor.
virtual const F & dflt_value () const
 Gives default value.
virtual F & dflt_value ()
 Gives default value.
virtual F operator() (const ElementWithCell< concepts::Realtype< F >::type > &elm, const Real2d &p, const Real t=0.0) const =0
virtual F operator() (const ElementWithCell< concepts::Realtype< F >::type > &elm, const Real3d &p, const Real t=0.0) const =0
virtual F operator() (const ElementWithCell< concepts::Realtype< F >::type > &elm, const Real p, const Real t=0.0) const =0
 Evaluates the formula.
virtual F operator() (const ElementWithCell< G > &elm, const Real3d &p, const Real t=0.0) const
virtual F operator() (const ElementWithCell< G > &elm, const Real2d &p, const Real t=0.0) const
virtual F operator() (const Connector &cell, const Real3d &p, const Real t=0.0) const
virtual F operator() (const Connector &cell, const Real p, const Real t=0.0) const
 Gives the constant in an particular cell.
virtual F operator() (const ElementWithCell< G > &elm, const Real p, const Real t=0.0) const
virtual F operator() (const Connector &cell, const Real2d &p, const Real t=0.0) const
template<class H >
PiecewiseConstFormula< F > & operator*= (const H &factor)
virtual const F & operator[] (const uint attrib) const
virtual F & operator[] (const uint attrib)
 Set the constant in an particular cell.
 PiecewiseConstFormula (const HashMap< F > formula, const F dflt_value=0)
 Constructor with given mapping formula and default value dflt_value.
 PiecewiseConstFormula (const std::map< int, F > formula, const F dflt_value=0)
 Constructor with given mapping formula and default value dflt_value.
 PiecewiseConstFormula (const F dflt_value=0)
 Constructor with default value dflt_value.
virtual ~PiecewiseConstFormula ()

Protected Member Functions

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

Protected Attributes

HashMap< F > formula_
 Mapping from the elements on to the constants.

Detailed Description

template<typename F = Real>
class concepts::PiecewiseConstFormula< F >

Piecewise constant function defined by the attribute of a cell.

This is a proper function for piecewise constant material coefficients, which are most needed in linear and bilinear forms.

Because in linear and bilinear forms are loops over the elements, the appropiate topological cell (connector), respectively the attribute, is known and so it's possible to avoid the searching und to use operator() with attrib as input.

In refined meshes the children of a cell gets the same constant due to the handing down the attributes.

If the constant is asked for an element, which can't be find in the list, the default value set in the constructor, is taken. If the default value is not given, it is created by the constructor of the type F, this is mostly 0.

Author:
Kersten Schmidt, 2004

Definition at line 82 of file formula.hh.


Member Typedef Documentation

template<typename F>
typedef concepts::Realtype<F>::type concepts::PiecewiseFormulaBase< F >::G [inherited]
typedef F concepts::ElementFormula< F, concepts::Realtype< F >::type >::value_type [inherited]

Reimplemented in concepts::Formula< F >.

Definition at line 31 of file elementFormula.hh.


Constructor & Destructor Documentation

template<typename F = Real>
concepts::PiecewiseConstFormula< F >::PiecewiseConstFormula ( const F  dflt_value = 0)

Constructor with default value dflt_value.

template<typename F = Real>
concepts::PiecewiseConstFormula< F >::PiecewiseConstFormula ( const HashMap< F >  formula,
const F  dflt_value = 0 
)

Constructor with given mapping formula and default value dflt_value.

template<typename F = Real>
concepts::PiecewiseConstFormula< F >::PiecewiseConstFormula ( const std::map< int, F >  formula,
const F  dflt_value = 0 
)

Constructor with given mapping formula and default value dflt_value.

template<typename F = Real>
virtual concepts::PiecewiseConstFormula< F >::~PiecewiseConstFormula ( ) [virtual]

Member Function Documentation

template<typename F = Real>
virtual PiecewiseConstFormula<F>* concepts::PiecewiseConstFormula< F >::clone ( ) const [virtual]

Virtual copy constructor.

Implements concepts::PiecewiseFormulaBase< F >.

template<typename F>
virtual F& concepts::PiecewiseFormulaBase< F >::dflt_value ( ) [inline, virtual, inherited]

Gives default value.

Definition at line 78 of file piecewiseFormula.hh.

template<typename F>
virtual const F& concepts::PiecewiseFormulaBase< F >::dflt_value ( ) const [inline, virtual, inherited]

Gives default value.

Definition at line 76 of file piecewiseFormula.hh.

template<typename F = Real>
virtual std::ostream& concepts::PiecewiseConstFormula< F >::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::PiecewiseFormulaBase< F >.

virtual F concepts::ElementFormula< F, concepts::Realtype< F >::type >::operator() ( const ElementWithCell< concepts::Realtype< F >::type > &  elm,
const Real2d p,
const Real  t = 0.0 
) const [pure virtual, inherited]
template<typename F = Real>
virtual F concepts::PiecewiseConstFormula< F >::operator() ( const Connector cell,
const Real3d p,
const Real  t = 0.0 
) const [inline, virtual]

Implements concepts::PiecewiseFormulaBase< F >.

Definition at line 115 of file formula.hh.

template<typename F>
virtual F concepts::PiecewiseFormulaBase< F >::operator() ( const ElementWithCell< G > &  elm,
const Real3d p,
const Real  t = 0.0 
) const [inline, virtual, inherited]

Definition at line 58 of file piecewiseFormula.hh.

template<typename F = Real>
virtual F concepts::PiecewiseConstFormula< F >::operator() ( const Connector cell,
const Real  p,
const Real  t = 0.0 
) const [inline, virtual]

Gives the constant in an particular cell.

Implements concepts::PiecewiseFormulaBase< F >.

Definition at line 98 of file formula.hh.

template<typename F>
virtual F concepts::PiecewiseFormulaBase< F >::operator() ( const ElementWithCell< G > &  elm,
const Real  p,
const Real  t = 0.0 
) const [inline, virtual, inherited]

Definition at line 47 of file piecewiseFormula.hh.

template<typename F>
virtual F concepts::PiecewiseFormulaBase< F >::operator() ( const ElementWithCell< G > &  elm,
const Real2d p,
const Real  t = 0.0 
) const [inline, virtual, inherited]

Definition at line 52 of file piecewiseFormula.hh.

template<typename F = Real>
virtual F concepts::PiecewiseConstFormula< F >::operator() ( const Connector cell,
const Real2d p,
const Real  t = 0.0 
) const [inline, virtual]

Implements concepts::PiecewiseFormulaBase< F >.

Definition at line 102 of file formula.hh.

virtual F concepts::ElementFormula< F, concepts::Realtype< F >::type >::operator() ( const ElementWithCell< concepts::Realtype< F >::type > &  elm,
const Real  p,
const Real  t = 0.0 
) const [pure virtual, inherited]

Evaluates the formula.

Parameters:
elmElement
pPoint in space in local element coordinates
tPoint in time
virtual F concepts::ElementFormula< F, concepts::Realtype< F >::type >::operator() ( const ElementWithCell< concepts::Realtype< F >::type > &  elm,
const Real3d p,
const Real  t = 0.0 
) const [pure virtual, inherited]
template<typename F >
template<class H >
PiecewiseConstFormula< F > & concepts::PiecewiseConstFormula< F >::operator*= ( const H &  factor)

Definition at line 137 of file formula.hh.

template<typename F = Real>
virtual F& concepts::PiecewiseConstFormula< F >::operator[] ( const uint  attrib) [virtual]

Set the constant in an particular cell.

Parameters:
cellCell the value is to set
valueValue
recursiveIf flag is set all children get the same value.
template<typename F = Real>
virtual const F& concepts::PiecewiseConstFormula< F >::operator[] ( const uint  attrib) const [virtual]

Member Data Documentation

template<typename F = Real>
HashMap<F> concepts::PiecewiseConstFormula< F >::formula_ [protected]

Mapping from the elements on to the constants.

Definition at line 131 of file formula.hh.


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

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