concepts::PiecewiseFormulaVectorBase< F, G, H, I > Class Template Referenceabstract

Base class for piecewise defined formula, which are a function of a FE function. More...

#include <formula.hh>

Inheritance diagram for concepts::PiecewiseFormulaVectorBase< F, G, H, I >:
concepts::PiecewiseFormulaBase< H > concepts::ElementFormula< H, concepts::Realtype< H >::type > concepts::Cloneable concepts::OutputOperator

Public Types

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

Public Member Functions

virtual Cloneableclone () const =0
 Virtual constructor. More...
 
virtual PiecewiseFormulaBase< H > * clone () const=0
 Virtual constructor. More...
 
virtual H & dflt_value ()
 Gives default value. More...
 
virtual const H & dflt_value () const
 Gives default value. More...
 
virtual H 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 H operator() (const Connector &cntr, const Real2d &p, const Real t=0.0) const=0
 
virtual H operator() (const Connector &cntr, const Real3d &p, const Real t=0.0) const=0
 
virtual H operator() (const ElementWithCell< concepts::Realtype< H >::type > &elm, const Real p, const Real t=0.0) const=0
 Evaluates the formula. More...
 
virtual H operator() (const ElementWithCell< concepts::Realtype< H >::type > &elm, const Real2d &p, const Real t=0.0) const=0
 Evaluates the formula. More...
 
virtual H operator() (const ElementWithCell< concepts::Realtype< H >::type > &elm, const Real3d &p, const Real t=0.0) const=0
 Evaluates the formula. More...
 
virtual H operator() (const ElementWithCell< G > &elm, const Real p, const Real t=0.0) const
 
virtual H operator() (const ElementWithCell< G > &elm, const Real2d &p, const Real t=0.0) const
 
virtual H operator() (const ElementWithCell< G > &elm, const Real3d &p, const Real t=0.0) const
 
 PiecewiseFormulaVectorBase (const Space< G > &spc, const Vector< F > &coeff, const ElementFunction< I, G > &fun)
 Constructor. More...
 

Protected Member Functions

const ElementWithCell< G > * element_ (const Connector &cell) const
 Returns pointer to the element to which the cell cell or one of their children belongs. More...
 
virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream. More...
 

Protected Attributes

Array< F > coeff_
 Solution vector. More...
 
std::map< uint, const ElementWithCell< G > * > elm_
 Mapping from cell key to the element. More...
 
const ElementFunction< I, G > * fun_
 Function of the FE function. More...
 
const Space< G > & spc_
 Space. More...
 

Private Attributes

dflt_value_
 default value More...
 

Detailed Description

template<class F, class G, class H, class I>
class concepts::PiecewiseFormulaVectorBase< F, G, H, I >

Base class for piecewise defined formula, which are a function of a FE function.

Parameters
Ftype of the coefficients
Gtype of the space, i.e. that of the T matrices
Htype of the formula, is determined by derived classes
Itype of the element function
Author
Kersten Schmidt, 2005

Definition at line 33 of file formula.hh.

Member Typedef Documentation

◆ G

typedef concepts::Realtype<H >::type concepts::PiecewiseFormulaBase< H >::G
inherited

Definition at line 45 of file piecewiseFormula.hh.

◆ value_type

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

Definition at line 37 of file elementFormula.hh.

Constructor & Destructor Documentation

◆ PiecewiseFormulaVectorBase()

template<class F , class G , class H , class I >
concepts::PiecewiseFormulaVectorBase< F, G, H, I >::PiecewiseFormulaVectorBase ( const Space< G > &  spc,
const Vector< F > &  coeff,
const ElementFunction< I, G > &  fun 
)

Constructor.

Definition at line 56 of file formula.hh.

Member Function Documentation

◆ clone() [1/2]

virtual Cloneable* concepts::Cloneable::clone ( ) const
pure virtualinherited

Virtual constructor.

Returns a pointer to a copy of itself. The caller is responsible to destroy this copy.

Implemented in concepts::BilinearForm< F, G >, hp2D::PolyEdgeRule, concepts::Operation< F >, concepts::MappingEdge2d, concepts::ElementFormulaVectorBase< F, G, H, I >, concepts::PiecewiseFormulaBase< F >, concepts::ElementFormula< F, G >, concepts::ExplicitResidual< F >, concepts::LocalEstimator< F >, concepts::FormulaIncPlaneWaveSource, concepts::ComposeFormulaVecEntry< F, DIM, G >, concepts::ComposeFormulaMatVec< F, DIM, G >, concepts::FormulaNormalOuterSP2D< F >, concepts::FrmE_PMLTransformation< dim >, concepts::FormulaPMLHamburger, concepts::FormulaPMLCartNew, concepts::FormulaPMLRadia, concepts::FormulaPMLBoxRestriction< F, G >, concepts::FormulaPMLCart, concepts::FormulaPMLEdgeRadia, concepts::SourceFunctionF0_y, concepts::SourceFunctionF0_x, concepts::FrmE_ScalarProductNormalEdge2d< F >, concepts::ElementFormulaRotate2D< F >, concepts::ElementFormulaBoundary, concepts::ElementFormulaCompose< F, G, H >, concepts::ElementFormulaLiCo< F, G, H, J >, concepts::BilinearF_W< F, H, J, G >, concepts::BilinearF_Sum< F, H, J, G >, concepts::BilinearFormContainer< F, G >, concepts::BilinearFormLiCo< F, G >, linearFEM::Identity2d, linearFEM::Laplace2d, linearFEM::CIdentity1d, linearFEM::Identity1d, linearFEM::Laplace1d, linDG3D::LaplaceVolBF, linDG3D::Identity, linDG2D::LaplaceStabBf, linDG2D::LaplaceFluxBf, linDG2D::LaplaceVolBf, linDG2D::IdentityBf, linDG1D::BoundaryIntStab, linDG1D::BoundaryInt, hp3D::ElementFormulaVectorOnTrace< dim, F, G >, hp3D::RotRot, hp3D::MaxwellSharedData, hp3D::FormulaFromWeight< Weight >, hp3D::DivDiv< Weight >, hp3D::Advection< F >, hp3D::Identity< F >, hp3D::Laplace< F >, hp3D::BilinearFormTwoPartDeriv< F >, hp3D::LinearElasticity< F >, hp2Dedge::EdgeIdentity, hp2Dedge::Rotuv, hp2Dedge::RotRot< F >, hp2Dedge::IdentityMatrix< F >, hp2Dedge::Identity< F >, hp2Dedge::GraduvMatrix< F >, hp2Dedge::Graduv< F >, concepts::DirichletElementFormula< F, G >, hp2D::RotRot, hp2D::MaxwellSharedData, hp2D::FormulaFromWeight< Weight >, hp2D::ElementFormulaSignNormalVector, hp2D::ElementFormulaEdgeJump< F >, hp2D::ElementFormulaEdgeMean< F >, hp2D::ElementFormulaInterpGradN< F, 2 >, hp2D::ElementFormulaInterpGrad< F, 2 >, hp2D::H1Extension< F >, hp2D::PolyEdgeMinNeighMaxChild, hp2D::PolyEdgeMin, hp2D::PolyEdgeMax, hp2D::DivDiv< Weight >, hp2D::BilinearFormTwoPartDeriv< F >, hp2D::BilinearFormOnePartDeriv< F >, hp2D::LaplaceMatrix< F >, hp2D::Laplace< F >, hp2D::Identity< F >, hp2D::Advection< F >, hp1D::ElementFormulaInterpGrad< F >, hp1D::Mean2Jump1< F >, hp1D::Jump1Jump1< F >, hp1D::BiLaplace< F >, hp1D::IdentityParallel< F >, hp1D::Identity< F >, hp1D::Laplace< F >, concepts::SharedJacobianAdj< dim >, concepts::SharedJacobianDet, concepts::FrmE_NormalVector3d, concepts::FrmE_TangentialVector, concepts::FrmE_NormalVector, concepts::CurvatureElementFormula, concepts::PiecewiseFormulaCombine< F, G, H, I >, concepts::PiecewiseFormulaFun< F, G >, concepts::OpRecipr< F >, concepts::OpAdd< F >, concepts::OpMult< F >, concepts::PiecewiseElementFormula< F, G >, concepts::PiecewiseFormula< F >, concepts::PiecewiseConstDynArrayFormula< F >, concepts::PiecewiseConstFormula< F >, concepts::PiecewiseFormula0< F >, concepts::MappingQuadEdge2d, concepts::MappingParallelEdge2d, concepts::ParabelMappingEdge2d, concepts::EllipseMappingEdge2d, concepts::CircleMappingEdge2d, concepts::MappingStraightEdge2d, concepts::InverseMappingEdge2d, concepts::PartMappingEdge2d, concepts::PiecewiseFormulaVector< 1, F, G, H >, concepts::PiecewiseFormulaVector< dim, F, G, H >, concepts::ElementFormulaVector< 1, F, G, H >, concepts::ElementFormulaVector< dim, F, G, H >, concepts::VectorElementFormulaBase< F, dim, G >, concepts::MatrixElementFormula< F, dim, G >, concepts::FrmE_Sum< F, H, J, G >, concepts::FrmE_Product< F, H, J, G >, concepts::FrmE_Trace< dim, F, G >, concepts::FrmE_PointsToMapping< 2, F, G >, concepts::FrmE_PointToMapping< dim, F, G >, concepts::FrmE_Inverse< F, G >, concepts::FrmE_Conjugate< F, G >, concepts::FrmE_Component_Matrix< F, G, H >, concepts::FrmE_Component< F, G, H >, concepts::ElementFormulaContainer< F, G >, estimator::KeysInfo< F >, estimator::PolynomialDegrees< dim >, hp2D::ImplicitEquilibratedA0< F >, hp2D::LocalFluxes, hp2D::Fluxes, hp2D::ExplicitResidual2D< F >, hp2D::ExplicitResidual2D< F >::EdgeWeight, hp2D::ExplicitResidual2D< F >::Distance, estimator::LocalProjections_P< dim, F, H >, estimator::LocalProjections_S< F, H >, constraints::ConstraintsList< F >, bem::AdaptLaplaceSL01< F >, bem::AdaptLaplaceDL01< F >, bem::AdaptLaplaceDL00< F >, bem::ArbKrnl000< F, K >, bem::Identity< F >, bem::LaplaceHyp< F >, bem::LaplacePLD< F >, bem::LaplaceDL< F >, bem::LaplaceSL< F >, concepts::FormulaPMLRadia, concepts::FormulaPMLBoxRestriction< F, G >, concepts::FormulaPMLCart, concepts::FormulaIncPlaneWaveSource, concepts::ComposeFormulaVecEntry< F, DIM, G >, concepts::ComposeFormulaMatVec< F, DIM, G >, concepts::FormulaNormalOuterSP2D< F >, aglowav2::WavIdentity< F >, and aglowav2::AglowavBF00< F >.

◆ clone() [2/2]

virtual PiecewiseFormulaBase<H >* concepts::PiecewiseFormulaBase< H >::clone ( ) const
pure virtualinherited

Virtual constructor.

Returns a pointer to a copy of itself. The caller is responsible to destroy this copy.

Implements concepts::ElementFormula< H, concepts::Realtype< H >::type >.

◆ dflt_value() [1/2]

virtual H & concepts::PiecewiseFormulaBase< H >::dflt_value ( )
inlinevirtualinherited

Gives default value.

Definition at line 83 of file piecewiseFormula.hh.

◆ dflt_value() [2/2]

virtual const H & concepts::PiecewiseFormulaBase< H >::dflt_value ( ) const
inlinevirtualinherited

Gives default value.

Definition at line 81 of file piecewiseFormula.hh.

◆ element_()

template<class F , class G , class H , class I >
const ElementWithCell< G > * concepts::PiecewiseFormulaVectorBase< F, G, H, I >::element_ ( const Connector cell) const
protected

Returns pointer to the element to which the cell cell or one of their children belongs.

If not such a element exists, null pointer is returned.

Definition at line 79 of file formula.hh.

◆ info()

std::ostream & concepts::PiecewiseFormulaBase< H >::info ( std::ostream &  os) const
protectedvirtualinherited

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

Definition at line 85 of file piecewiseFormula.hh.

◆ operator()() [1/9]

virtual H concepts::PiecewiseFormulaBase< H >::operator() ( const Connector cntr,
const Real  p,
const Real  t = 0.0 
) const
pure virtualinherited

Gives the value in an particular cell on a particular point.

Parameters
celltopological cell
pphysical coordinates
ttime

Implemented in concepts::PiecewiseFormulaVector< 1, F, G, H >.

◆ operator()() [2/9]

virtual H concepts::PiecewiseFormulaBase< H >::operator() ( const Connector cntr,
const Real2d p,
const Real  t = 0.0 
) const
pure virtualinherited

◆ operator()() [3/9]

virtual H concepts::PiecewiseFormulaBase< H >::operator() ( const Connector cntr,
const Real3d p,
const Real  t = 0.0 
) const
pure virtualinherited

◆ operator()() [4/9]

virtual H concepts::ElementFormula< H , concepts::Realtype< H >::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 H concepts::ElementFormula< H , concepts::Realtype< H >::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 H concepts::ElementFormula< H , concepts::Realtype< H >::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]

virtual H concepts::PiecewiseFormulaBase< H >::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]

virtual H concepts::PiecewiseFormulaBase< H >::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]

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

Definition at line 63 of file piecewiseFormula.hh.

Member Data Documentation

◆ coeff_

template<class F , class G , class H , class I >
Array<F> concepts::PiecewiseFormulaVectorBase< F, G, H, I >::coeff_
protected

Solution vector.

Definition at line 43 of file formula.hh.

◆ dflt_value_

H concepts::PiecewiseFormulaBase< H >::dflt_value_
privateinherited

default value

Definition at line 88 of file piecewiseFormula.hh.

◆ elm_

template<class F , class G , class H , class I >
std::map<uint, const ElementWithCell<G>*> concepts::PiecewiseFormulaVectorBase< F, G, H, I >::elm_
protected

Mapping from cell key to the element.

Definition at line 47 of file formula.hh.

◆ fun_

template<class F , class G , class H , class I >
const ElementFunction<I,G>* concepts::PiecewiseFormulaVectorBase< F, G, H, I >::fun_
protected

Function of the FE function.

Definition at line 45 of file formula.hh.

◆ spc_

template<class F , class G , class H , class I >
const Space<G>& concepts::PiecewiseFormulaVectorBase< F, G, H, I >::spc_
protected

Space.

Definition at line 41 of file formula.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