concepts::PiecewiseFormulaBase< F > Class Template Referenceabstract

Piecewise defined function on a number of cells. More...

#include <piecewiseFormula.hh>

Inheritance diagram for concepts::PiecewiseFormulaBase< F >:
concepts::ElementFormula< F, concepts::Realtype< F >::type > concepts::Cloneable concepts::OutputOperator concepts::LocalEstimator< F > concepts::PiecewiseFormula< F > concepts::PiecewiseFormula0< F > concepts::PiecewiseFormulaCombine< F, G, H, I > concepts::PiecewiseFormulaFun< F, G > concepts::ExplicitResidual< F > hp2D::ImplicitEquilibratedA0< F > hp1D::ExplicitResidual1D< F > hp2D::ExplicitResidual2D< F >

Public Types

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

Public Member Functions

virtual PiecewiseFormulaBase< F > * clone () const =0
 Virtual constructor. More...
 
virtual ElementFormula< F, concepts::Realtype< F >::type > * clone () const=0
 Virtual copy constructor. More...
 
virtual F & dflt_value ()
 Gives default value. More...
 
virtual const F & dflt_value () const
 Gives default value. More...
 
virtual F operator() (const Connector &cntr, const Real p, const Real t=0.0) const =0
 Gives the value in an particular cell on a particular point. More...
 
virtual F operator() (const Connector &cntr, const Real2d &p, const Real t=0.0) const =0
 
virtual F operator() (const Connector &cntr, 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. More...
 
virtual F operator() (const ElementWithCell< concepts::Realtype< F >::type > &elm, const Real2d &p, const Real t=0.0) const=0
 Evaluates the formula. More...
 
virtual F operator() (const ElementWithCell< concepts::Realtype< F >::type > &elm, const Real3d &p, const Real t=0.0) const=0
 Evaluates the formula. More...
 
virtual F operator() (const ElementWithCell< G > &elm, const Real 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 ElementWithCell< G > &elm, const Real3d &p, const Real t=0.0) const
 
 PiecewiseFormulaBase (const F dflt_value=(F) 0)
 Constructor with default value. More...
 
virtual ~PiecewiseFormulaBase ()
 

Protected Member Functions

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

Private Attributes

dflt_value_
 default value More...
 

Detailed Description

template<typename F>
class concepts::PiecewiseFormulaBase< F >

Piecewise defined function on a number of cells.

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

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

If a value is asked for an cell, 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.

ElementFormula is more general than PiecewiseFormulaBase, it always takes an additional ElementWithCell argument. PiecewiseFormulaBase is derived from ElementFormula and will by default just ignore this argument.

Author
Kersten Schmidt, 2005

Definition at line 42 of file piecewiseFormula.hh.

Member Typedef Documentation

◆ G

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

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

◆ PiecewiseFormulaBase()

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

Constructor with default value.

Definition at line 92 of file piecewiseFormula.hh.

◆ ~PiecewiseFormulaBase()

template<typename F >
concepts::PiecewiseFormulaBase< F >::~PiecewiseFormulaBase
virtual

Definition at line 97 of file piecewiseFormula.hh.

Member Function Documentation

◆ clone() [1/2]

◆ clone() [2/2]

virtual ElementFormula<F,concepts::Realtype< F >::type >* concepts::ElementFormula< F, concepts::Realtype< F >::type >::clone ( ) const
pure virtualinherited

Virtual copy constructor.

◆ dflt_value() [1/2]

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

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
inlinevirtual

Gives default value.

Definition at line 81 of file piecewiseFormula.hh.

◆ info()

◆ operator()() [1/9]

◆ operator()() [2/9]

◆ operator()() [3/9]

◆ operator()() [4/9]

virtual F concepts::ElementFormula< F, concepts::Realtype< F >::type >::operator() ( const ElementWithCell< G > &  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< G > &  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< G > &  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
inlinevirtual

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
inlinevirtual

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
inlinevirtual

Definition at line 63 of file piecewiseFormula.hh.

Member Data Documentation

◆ dflt_value_

template<typename F >
F concepts::PiecewiseFormulaBase< F >::dflt_value_
private

default value

Definition at line 88 of file piecewiseFormula.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich