Class documentation of Concepts

Loading...
Searching...
No Matches
concepts::PiecewiseConstFormula< F > Class Template Referenceabstract

#include <formula.hh>

Inheritance diagram for concepts::PiecewiseConstFormula< F >:
concepts::PiecewiseFormulaBase< F > concepts::ElementFormula< F, concepts::Realtype< F >::type > concepts::Cloneable concepts::OutputOperator concepts::PiecewiseConstImportFormula< F >

Public Types

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

Public Member Functions

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

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
Examples
BGT_0.cc, and exactDtN.cc.

Definition at line 84 of file formula.hh.

Member Typedef Documentation

◆ G

template<typename F >
typedef concepts::Realtype<F>::type concepts::PiecewiseFormulaBase< F >::G
inherited

Definition at line 45 of file piecewiseFormula.hh.

◆ value_type

typedef F concepts::ElementFormula< F, concepts::Realtype< F >::type >::value_type
inherited

Definition at line 37 of file elementFormula.hh.

Constructor & Destructor Documentation

◆ PiecewiseConstFormula() [1/2]

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

◆ PiecewiseConstFormula() [2/2]

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

Member Function Documentation

◆ clone()

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

Virtual copy constructor.

Implements concepts::PiecewiseFormulaBase< F >.

◆ dflt_value() [1/2]

template<typename F >
virtual F & concepts::PiecewiseFormulaBase< F >::dflt_value ( )
inlinevirtualinherited

Gives default value.

Definition at line 83 of file piecewiseFormula.hh.

◆ dflt_value() [2/2]

template<typename F >
virtual const F & concepts::PiecewiseFormulaBase< F >::dflt_value ( ) const
inlinevirtualinherited

Gives default value.

Definition at line 81 of file piecewiseFormula.hh.

◆ info()

template<typename F = Real>
virtual std::ostream & concepts::PiecewiseConstFormula< F >::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::PiecewiseFormulaBase< F >.

◆ operator()() [1/9]

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

Gives the constant in an particular cell.

Implements concepts::PiecewiseFormulaBase< F >.

Definition at line 100 of file formula.hh.

◆ operator()() [2/9]

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

Implements concepts::PiecewiseFormulaBase< F >.

Definition at line 104 of file formula.hh.

◆ operator()() [3/9]

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

Implements concepts::PiecewiseFormulaBase< F >.

Definition at line 117 of file formula.hh.

◆ operator()() [4/9]

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 virtualinherited

Evaluates the formula.

Parameters
elmElement
pPoint in space in local element coordinates
tPoint in time

◆ operator()() [5/9]

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 virtualinherited

Evaluates the formula.

Parameters
elmElement
pPoint in space in local element coordinates
tPoint in time

◆ operator()() [6/9]

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 virtualinherited

Evaluates the formula.

Parameters
elmElement
pPoint in space in local element coordinates
tPoint in time

◆ operator()() [7/9]

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

Definition at line 52 of file piecewiseFormula.hh.

◆ operator()() [8/9]

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

Definition at line 57 of file piecewiseFormula.hh.

◆ operator()() [9/9]

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

Definition at line 63 of file piecewiseFormula.hh.

◆ operator*=()

template<typename F >
template<class H >
PiecewiseConstFormula< F > & concepts::PiecewiseConstFormula< F >::operator*= ( const H &  factor)

Definition at line 139 of file formula.hh.

◆ operator[]()

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.

Member Data Documentation

◆ formula_

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

Mapping from the elements on to the constants.

Definition at line 133 of file formula.hh.


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