#include <piecewiseFormula.hh>
Public Types | |
typedef concepts::Realtype< F >::type | G |
typedef F | value_type |
Public Member Functions | |
PiecewiseFormulaBase (const F dflt_value=(F) 0) | |
Constructor with default value. | |
virtual PiecewiseFormulaBase< F > * | clone () const =0 |
Virtual copy constructor. | |
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 |
virtual F | operator() (const Connector &cntr, const Real p, const Real t=0.0) const =0 |
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 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 Real p, const Real t=0.0) const=0 |
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 |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. | |
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 42 of file piecewiseFormula.hh.
typedef concepts::Realtype<F>::type concepts::PiecewiseFormulaBase< F >::G |
Definition at line 45 of file piecewiseFormula.hh.
|
inherited |
Definition at line 37 of file elementFormula.hh.
concepts::PiecewiseFormulaBase< F >::PiecewiseFormulaBase | ( | const F | dflt_value = (F)0 | ) |
Constructor with default value.
Definition at line 92 of file piecewiseFormula.hh.
|
virtual |
Definition at line 97 of file piecewiseFormula.hh.
|
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 >, estimator::PolynomialDegrees< dim >, estimator::KeysInfo< F >, concepts::BesselJ< n >, concepts::BesselY< n >, concepts::ConstFormula< F >, concepts::FormulaContainer< F >, concepts::FormulaLiCo, concepts::Exp_i_n_phi, concepts::Cos_n_phi, concepts::Sin_n_phi, concepts::Exp_i_n_x, concepts::Cos_n_x, concepts::Sin_n_x, concepts::Exp_i_n_y, concepts::Cos_n_y, concepts::Sin_n_y, concepts::Frm_Product< F, H, J >, concepts::Frm_Sum< F, H, J >, concepts::ParsedFormula< Real >, concepts::ParsedFormula< Cmplx >, concepts::ParsedFormula< Real2d >, concepts::SphericalFormula< Real >, concepts::SphericalFormula< Real2d >, concepts::VectorFormula< F, dim >, concepts::PiecewiseFormulaVector< dim, F, G, H >, concepts::PiecewiseFormulaVector< 1, F, G, H >, concepts::PiecewiseFormula0< F >, concepts::PiecewiseConstFormula< F >, concepts::PiecewiseConstFormula< concepts::Point >, concepts::PiecewiseConstFormula< Real >, concepts::PiecewiseConstDynArrayFormula< F >, concepts::PiecewiseFormula< F >, concepts::PiecewiseFormula< Cmplx >, concepts::PiecewiseFormula< Cmplx2d >, concepts::PiecewiseFormula< concepts::Point >, concepts::PiecewiseFormula< Real >, concepts::PiecewiseFormulaFun< F, G >, concepts::PiecewiseFormulaFun< Cmplx, Real >, concepts::PiecewiseFormulaFun< Real, Real >, concepts::PiecewiseFormulaCombine< F, G, H, I >, concepts::FormulaFromElementFormula< dim, F, G >, concepts::Wsym_x< dim >, concepts::Wsym_y< dim >, concepts::Wunsym_x< dim >, concepts::Wunsym_y< dim >, concepts::FormulaPMLPowerSigma< F >, concepts::FormulaPMLPowerSigma2D< F >, concepts::FormulaPMLPowerSigmaB2D< F >, concepts::FormulaExpImag1D, concepts::FormulaExpImag2D, concepts::FormulaExpImag2DRadialDer, concepts::FormulaExpImag2DGrad, concepts::FormulaLayerPlaneWaveSource, concepts::FormulaLayerPlaneWaveSourceGrad, concepts::FormulaLayerPlaneWaveLayer, concepts::FormulaLayerPlaneWaveLayerGrad, concepts::LocalEstimator< F >, concepts::ExplicitResidual< F >, concepts::Formula< F >, concepts::Formula< Cmplx >, concepts::Formula< Cmplx2d >, concepts::Formula< concepts::Point< Cmplx, 2 > >, concepts::Formula< Point< Cmplx, 2 > >, concepts::Formula< Point< F, dim > >, concepts::Formula< Real >, and concepts::Formula< Real2d >.
|
inlinevirtual |
Gives default value.
Definition at line 83 of file piecewiseFormula.hh.
|
inlinevirtual |
Gives default value.
Definition at line 81 of file piecewiseFormula.hh.
|
protectedvirtual |
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::ExplicitResidual< F >, estimator::PolynomialDegrees< dim >, estimator::KeysInfo< F >, concepts::BesselJ< n >, concepts::BesselY< n >, concepts::ConstFormula< F >, concepts::FormulaContainer< F >, concepts::Exp_i_n_phi, concepts::Cos_n_phi, concepts::Sin_n_phi, concepts::Exp_i_n_x, concepts::Cos_n_x, concepts::Sin_n_x, concepts::Exp_i_n_y, concepts::Cos_n_y, concepts::Sin_n_y, concepts::Frm_Product< F, H, J >, concepts::Frm_Sum< F, H, J >, concepts::ParsedFormula< Real >, concepts::ParsedFormula< Cmplx >, concepts::ParsedFormula< Real2d >, concepts::SphericalFormula< Real >, concepts::SphericalFormula< Real2d >, concepts::VectorFormula< F, dim >, concepts::PiecewiseFormula0< F >, concepts::PiecewiseConstFormula< F >, concepts::PiecewiseConstFormula< concepts::Point >, concepts::PiecewiseConstFormula< Real >, concepts::PiecewiseConstDynArrayFormula< F >, concepts::PiecewiseFormula< F >, concepts::PiecewiseFormula< Cmplx >, concepts::PiecewiseFormula< Cmplx2d >, concepts::PiecewiseFormula< concepts::Point >, concepts::PiecewiseFormula< Real >, concepts::PiecewiseFormulaFun< F, G >, concepts::PiecewiseFormulaFun< Cmplx, Real >, concepts::PiecewiseFormulaFun< Real, Real >, concepts::PiecewiseFormulaCombine< F, G, H, I >, concepts::FormulaFromElementFormula< dim, F, G >, concepts::Wsym_x< dim >, concepts::Wsym_y< dim >, concepts::Wunsym_x< dim >, concepts::Wunsym_y< dim >, concepts::FormulaPMLPowerSigma< F >, concepts::FormulaPMLPowerSigma2D< F >, concepts::FormulaPMLPowerSigmaB2D< F >, concepts::FormulaExpImag1D, concepts::FormulaExpImag2D, concepts::FormulaExpImag2DRadialDer, concepts::FormulaExpImag2DGrad, concepts::FormulaLayerPlaneWaveSource, concepts::FormulaLayerPlaneWaveSourceGrad, concepts::FormulaLayerPlaneWaveLayer, concepts::FormulaLayerPlaneWaveLayerGrad, and concepts::LocalEstimator< F >.
Definition at line 100 of file piecewiseFormula.hh.
|
pure virtual |
Gives the value in an particular cell on a particular point
cell | topological cell |
p | physical coordinates |
t | time |
Implemented in concepts::PiecewiseFormulaVector< dim, F, G, H >, concepts::PiecewiseFormulaVector< 1, F, G, H >, concepts::PiecewiseFormula0< F >, concepts::PiecewiseConstFormula< F >, concepts::PiecewiseConstFormula< concepts::Point >, concepts::PiecewiseConstFormula< Real >, concepts::PiecewiseConstDynArrayFormula< F >, concepts::PiecewiseFormula< F >, concepts::PiecewiseFormula< Cmplx >, concepts::PiecewiseFormula< Cmplx2d >, concepts::PiecewiseFormula< concepts::Point >, concepts::PiecewiseFormula< Real >, concepts::PiecewiseFormulaFun< F, G >, concepts::PiecewiseFormulaFun< Cmplx, Real >, concepts::PiecewiseFormulaFun< Real, Real >, concepts::PiecewiseFormulaCombine< F, G, H, I >, concepts::LocalEstimator< F >, concepts::Formula< F >, concepts::Formula< Cmplx >, concepts::Formula< Cmplx2d >, concepts::Formula< concepts::Point< Cmplx, 2 > >, concepts::Formula< Point< Cmplx, 2 > >, concepts::Formula< Point< F, dim > >, concepts::Formula< Real >, concepts::Formula< Real2d >, and concepts::FormulaFromElementFormula< dim, F, G >.
|
pure virtual |
Implemented in concepts::PiecewiseConstDynArrayFormula< F >.
|
pure virtual |
Implemented in concepts::PiecewiseConstDynArrayFormula< F >.
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtualinherited |
|
inlinevirtual |
Definition at line 52 of file piecewiseFormula.hh.
|
inlinevirtual |
Definition at line 57 of file piecewiseFormula.hh.
|
inlinevirtual |
Definition at line 63 of file piecewiseFormula.hh.