Piecewise defined function on a number of cells. More...
#include <piecewiseFormula.hh>


Public Types | |
| typedef concepts::Realtype< F > ::type | G |
| typedef F | value_type |
Public Member Functions | |
| virtual PiecewiseFormulaBase< F > * | clone () const =0 |
| 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< 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 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 Connector &cntr, const Real p, const Real t=0.0) const =0 |
| Gives the value in an particular cell on a particular point. | |
| 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< concepts::Realtype< F >::type > &elm, const Real3d &p, const Real t=0.0) const =0 |
| 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. | |
| virtual | ~PiecewiseFormulaBase () |
Protected Member Functions | |
| virtual std::ostream & | info (std::ostream &os) const |
| Returns information in an output stream. | |
Private Attributes | |
| F | dflt_value_ |
| default value | |
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.
Definition at line 37 of file piecewiseFormula.hh.
| typedef concepts::Realtype<F>::type concepts::PiecewiseFormulaBase< F >::G |
Reimplemented in concepts::Formula< F >, concepts::Formula< concepts::Point< Cmplx, 2 > >, concepts::Formula< Point< F, dim > >, concepts::Formula< Cmplx >, concepts::Formula< Real >, and concepts::Formula< Real2d >.
Definition at line 40 of file piecewiseFormula.hh.
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.
| concepts::PiecewiseFormulaBase< F >::PiecewiseFormulaBase | ( | const F | dflt_value = (F)0 | ) |
Constructor with default value.
Definition at line 87 of file piecewiseFormula.hh.
| concepts::PiecewiseFormulaBase< F >::~PiecewiseFormulaBase | ( | ) | [virtual] |
Definition at line 92 of file piecewiseFormula.hh.
| virtual PiecewiseFormulaBase<F>* concepts::PiecewiseFormulaBase< F >::clone | ( | ) | const [pure virtual] |
Virtual copy constructor.
Implements concepts::ElementFormula< F, concepts::Realtype< F >::type >.
Implemented in concepts::FormulaExpImag1D, concepts::FormulaExpImag2D, concepts::FormulaExpImag2DRadialDer, concepts::FormulaExpImag2DGrad, concepts::FormulaPMLPowerSigma< F >, concepts::FormulaPMLPowerSigma2D< F >, concepts::FormulaPMLPowerSigmaB2D< F >, BoxSin, InitTest, TimeSquared, HeatSolution, ADLoad, ADSolution, concepts::BesselJ< n >, concepts::BesselY< n >, concepts::ConstFormula< F >, concepts::Formula< F >, concepts::FormulaLiCo, concepts::Frm_Product< F, H, J >, concepts::Frm_Sum< F, H, J >, concepts::ParsedFormula< Real >, concepts::ParsedFormula< Cmplx >, concepts::VectorFormula< F, dim >, concepts::PiecewiseFormulaVector< dim, F, G, H >, concepts::PiecewiseFormulaVector< 1, F, G, H >, concepts::PiecewiseFormula0< F >, concepts::PiecewiseConstFormula< F >, concepts::PiecewiseConstDynArrayFormula< F >, concepts::PiecewiseFormula< F >, concepts::PiecewiseFormulaFun< F, G >, concepts::PiecewiseFormulaCombine< F, G, H, I >, concepts::HField_CircularCoil, concepts::CurlHField_CircularCoil, concepts::DivGradHField_CircularCoil, concepts::FormulaPMLPowerSigma< F >, concepts::FormulaPMLPowerSigma2D< F >, concepts::FormulaPMLPowerSigmaB2D< F >, concepts::FormulaExpImag1D, concepts::FormulaExpImag2D, concepts::FormulaExpImag2DRadialDer, concepts::FormulaExpImag2DGrad, concepts::Formula< concepts::Point< Cmplx, 2 > >, concepts::Formula< Point< F, dim > >, concepts::Formula< Cmplx >, concepts::Formula< Real >, concepts::Formula< Real2d >, concepts::PiecewiseConstFormula< concepts::Real >, concepts::PiecewiseConstFormula< Cmplx >, concepts::PiecewiseConstFormula< Real >, concepts::PiecewiseConstFormula< Real2d >, concepts::PiecewiseFormula< Real >, concepts::PiecewiseFormula< Real2d >, concepts::PiecewiseFormulaFun< Cmplx, Real >, and concepts::PiecewiseFormulaFun< Real, Real >.
| virtual const F& concepts::PiecewiseFormulaBase< F >::dflt_value | ( | ) | const [inline, virtual] |
Gives default value.
Definition at line 76 of file piecewiseFormula.hh.
| virtual F& concepts::PiecewiseFormulaBase< F >::dflt_value | ( | ) | [inline, virtual] |
Gives default value.
Definition at line 78 of file piecewiseFormula.hh.
| std::ostream & concepts::PiecewiseFormulaBase< F >::info | ( | std::ostream & | os | ) | const [protected, virtual] |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.
Reimplemented in concepts::FormulaExpImag1D, concepts::FormulaExpImag2D, concepts::FormulaExpImag2DRadialDer, concepts::FormulaExpImag2DGrad, concepts::FormulaPMLPowerSigma< F >, concepts::FormulaPMLPowerSigma2D< F >, concepts::FormulaPMLPowerSigmaB2D< F >, concepts::BesselJ< n >, concepts::BesselY< n >, concepts::ConstFormula< F >, concepts::Frm_Product< F, H, J >, concepts::Frm_Sum< F, H, J >, concepts::ParsedFormula< Real >, concepts::ParsedFormula< Cmplx >, concepts::VectorFormula< F, dim >, concepts::PiecewiseFormula0< F >, concepts::PiecewiseConstFormula< F >, concepts::PiecewiseConstDynArrayFormula< F >, concepts::PiecewiseFormula< F >, concepts::PiecewiseFormulaFun< F, G >, concepts::PiecewiseFormulaCombine< F, G, H, I >, concepts::HField_CircularCoil, concepts::CurlHField_CircularCoil, concepts::DivGradHField_CircularCoil, concepts::FormulaPMLPowerSigma< F >, concepts::FormulaPMLPowerSigma2D< F >, concepts::FormulaPMLPowerSigmaB2D< F >, concepts::FormulaExpImag1D, concepts::FormulaExpImag2D, concepts::FormulaExpImag2DRadialDer, concepts::FormulaExpImag2DGrad, concepts::PiecewiseConstFormula< concepts::Real >, concepts::PiecewiseConstFormula< Cmplx >, concepts::PiecewiseConstFormula< Real >, concepts::PiecewiseConstFormula< Real2d >, concepts::PiecewiseFormula< Real >, concepts::PiecewiseFormula< Real2d >, concepts::PiecewiseFormulaFun< Cmplx, Real >, and concepts::PiecewiseFormulaFun< Real, Real >.
Definition at line 95 of file piecewiseFormula.hh.
| virtual F concepts::PiecewiseFormulaBase< F >::operator() | ( | const Connector & | cntr, |
| const Real | p, | ||
| const Real | t = 0.0 |
||
| ) | const [pure virtual] |
Gives the value in an particular cell on a particular point.
| cell | topological cell |
| p | physical coordinates |
| t | time |
Implemented in concepts::Formula< F >, concepts::PiecewiseFormulaVector< dim, F, G, H >, concepts::PiecewiseFormulaVector< 1, F, G, H >, concepts::PiecewiseFormula0< F >, concepts::PiecewiseConstFormula< F >, concepts::PiecewiseConstDynArrayFormula< F >, concepts::PiecewiseFormula< F >, concepts::PiecewiseFormulaFun< F, G >, concepts::PiecewiseFormulaCombine< F, G, H, I >, concepts::Formula< concepts::Point< Cmplx, 2 > >, concepts::Formula< Point< F, dim > >, concepts::Formula< Cmplx >, concepts::Formula< Real >, concepts::Formula< Real2d >, concepts::PiecewiseConstFormula< concepts::Real >, concepts::PiecewiseConstFormula< Cmplx >, concepts::PiecewiseConstFormula< Real >, concepts::PiecewiseConstFormula< Real2d >, concepts::PiecewiseFormula< Real >, concepts::PiecewiseFormula< Real2d >, concepts::PiecewiseFormulaFun< Cmplx, Real >, and concepts::PiecewiseFormulaFun< Real, Real >.
| virtual F concepts::PiecewiseFormulaBase< F >::operator() | ( | const ElementWithCell< G > & | elm, |
| const Real | p, | ||
| const Real | t = 0.0 |
||
| ) | const [inline, virtual] |
Definition at line 47 of file piecewiseFormula.hh.
| virtual F concepts::PiecewiseFormulaBase< F >::operator() | ( | const ElementWithCell< G > & | elm, |
| const Real3d & | p, | ||
| const Real | t = 0.0 |
||
| ) | const [inline, virtual] |
Definition at line 58 of file piecewiseFormula.hh.
| virtual F concepts::PiecewiseFormulaBase< F >::operator() | ( | const Connector & | cntr, |
| const Real3d & | p, | ||
| const Real | t = 0.0 |
||
| ) | const [pure virtual] |
Implemented in concepts::Formula< F >, concepts::PiecewiseFormulaVector< dim, F, G, H >, concepts::PiecewiseFormulaVector< 1, F, G, H >, concepts::PiecewiseFormula0< F >, concepts::PiecewiseConstFormula< F >, concepts::PiecewiseConstDynArrayFormula< F >, concepts::PiecewiseFormula< F >, concepts::PiecewiseFormulaFun< F, G >, concepts::PiecewiseFormulaCombine< F, G, H, I >, concepts::Formula< concepts::Point< Cmplx, 2 > >, concepts::Formula< Point< F, dim > >, concepts::Formula< Cmplx >, concepts::Formula< Real >, concepts::Formula< Real2d >, concepts::PiecewiseConstFormula< concepts::Real >, concepts::PiecewiseConstFormula< Cmplx >, concepts::PiecewiseConstFormula< Real >, concepts::PiecewiseConstFormula< Real2d >, concepts::PiecewiseFormula< Real >, concepts::PiecewiseFormula< Real2d >, concepts::PiecewiseFormulaFun< Cmplx, Real >, and concepts::PiecewiseFormulaFun< Real, Real >.
| virtual F concepts::PiecewiseFormulaBase< F >::operator() | ( | const Connector & | cntr, |
| const Real2d & | p, | ||
| const Real | t = 0.0 |
||
| ) | const [pure virtual] |
Implemented in concepts::Formula< F >, concepts::PiecewiseFormulaVector< dim, F, G, H >, concepts::PiecewiseFormulaVector< 1, F, G, H >, concepts::PiecewiseFormula0< F >, concepts::PiecewiseConstFormula< F >, concepts::PiecewiseConstDynArrayFormula< F >, concepts::PiecewiseFormula< F >, concepts::PiecewiseFormulaFun< F, G >, concepts::PiecewiseFormulaCombine< F, G, H, I >, concepts::Formula< concepts::Point< Cmplx, 2 > >, concepts::Formula< Point< F, dim > >, concepts::Formula< Cmplx >, concepts::Formula< Real >, concepts::Formula< Real2d >, concepts::PiecewiseConstFormula< concepts::Real >, concepts::PiecewiseConstFormula< Cmplx >, concepts::PiecewiseConstFormula< Real >, concepts::PiecewiseConstFormula< Real2d >, concepts::PiecewiseFormula< Real >, concepts::PiecewiseFormula< Real2d >, concepts::PiecewiseFormulaFun< Cmplx, Real >, and concepts::PiecewiseFormulaFun< Real, Real >.
| 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] |
| 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] |
| virtual F concepts::PiecewiseFormulaBase< F >::operator() | ( | const ElementWithCell< G > & | elm, |
| const Real2d & | p, | ||
| const Real | t = 0.0 |
||
| ) | const [inline, virtual] |
Definition at line 52 of file piecewiseFormula.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.
| elm | Element |
| p | Point in space in local element coordinates |
| t | Point in time |
F concepts::PiecewiseFormulaBase< F >::dflt_value_ [private] |
default value
Definition at line 83 of file piecewiseFormula.hh.