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

Combines two piecewise defined formulas with an operation, e.g. More...

#include <formula.hh>

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

Public Types

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

Public Member Functions

virtual PiecewiseFormulaCombine< F, G, H, I > * clone () const
 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 &cell, const Real p, const Real t=0.0) const
 Gives the value in an particular cell on a particular point. More...
 
virtual F operator() (const Connector &cell, const Real2d &p, const Real t=0.0) const
 
virtual F operator() (const Connector &cell, const Real3d &p, const Real t=0.0) const
 
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
 
 PiecewiseFormulaCombine (const PiecewiseFormulaBase< G > &formula1, const PiecewiseFormulaBase< H > &formula2)
 Constructor. More...
 
virtual ~PiecewiseFormulaCombine ()
 

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...
 
std::unique_ptr< const PiecewiseFormulaBase< G > > formula1_
 formulas More...
 
std::unique_ptr< const PiecewiseFormulaBase< H > > formula2_
 
const I fun_
 operation More...
 

Detailed Description

template<typename F, typename G, typename H = G, typename I = multiplies<G,H,F>>
class concepts::PiecewiseFormulaCombine< F, G, H, I >

Combines two piecewise defined formulas with an operation, e.g.

multiplication

Author
Kersten Schmidt, 2005

Definition at line 462 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

◆ PiecewiseFormulaCombine()

template<typename F , typename G , typename H = G, typename I = multiplies<G,H,F>>
concepts::PiecewiseFormulaCombine< F, G, H, I >::PiecewiseFormulaCombine ( const PiecewiseFormulaBase< G > &  formula1,
const PiecewiseFormulaBase< H > &  formula2 
)

Constructor.

◆ ~PiecewiseFormulaCombine()

template<typename F , typename G , typename H = G, typename I = multiplies<G,H,F>>
virtual concepts::PiecewiseFormulaCombine< F, G, H, I >::~PiecewiseFormulaCombine ( )
inlinevirtual

Definition at line 467 of file formula.hh.

Member Function Documentation

◆ clone() [1/2]

template<typename F , typename G , typename H = G, typename I = multiplies<G,H,F>>
virtual PiecewiseFormulaCombine<F,G,H,I>* concepts::PiecewiseFormulaCombine< F, G, H, I >::clone ( ) const
virtual

Virtual constructor.

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

Implements concepts::PiecewiseFormulaBase< F >.

◆ 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 ( )
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 , typename G , typename H = G, typename I = multiplies<G,H,F>>
virtual std::ostream& concepts::PiecewiseFormulaCombine< F, G, H, I >::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::PiecewiseFormulaBase< F >.

◆ operator()() [1/9]

template<typename F , typename G , typename H = G, typename I = multiplies<G,H,F>>
virtual F concepts::PiecewiseFormulaCombine< F, G, H, I >::operator() ( const Connector cell,
const Real  p,
const Real  t = 0.0 
) const
virtual

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

Implements concepts::PiecewiseFormulaBase< F >.

◆ operator()() [2/9]

template<typename F , typename G , typename H = G, typename I = multiplies<G,H,F>>
virtual F concepts::PiecewiseFormulaCombine< F, G, H, I >::operator() ( const Connector cell,
const Real2d p,
const Real  t = 0.0 
) const
virtual

◆ operator()() [3/9]

template<typename F , typename G , typename H = G, typename I = multiplies<G,H,F>>
virtual F concepts::PiecewiseFormulaCombine< F, G, H, I >::operator() ( const Connector cell,
const Real3d p,
const Real  t = 0.0 
) const
virtual

◆ 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
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.

Member Data Documentation

◆ dflt_value_

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

default value

Definition at line 88 of file piecewiseFormula.hh.

◆ formula1_

template<typename F , typename G , typename H = G, typename I = multiplies<G,H,F>>
std::unique_ptr<const PiecewiseFormulaBase<G> > concepts::PiecewiseFormulaCombine< F, G, H, I >::formula1_
private

formulas

Definition at line 480 of file formula.hh.

◆ formula2_

template<typename F , typename G , typename H = G, typename I = multiplies<G,H,F>>
std::unique_ptr<const PiecewiseFormulaBase<H> > concepts::PiecewiseFormulaCombine< F, G, H, I >::formula2_
private

Definition at line 481 of file formula.hh.

◆ fun_

template<typename F , typename G , typename H = G, typename I = multiplies<G,H,F>>
const I concepts::PiecewiseFormulaCombine< F, G, H, I >::fun_
private

operation

Definition at line 483 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