Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Types | Public Member Functions | Protected Member Functions
concepts::Formula< F > Class Template Reference

Interface for a formula. More...

#include <formula.hh>

Inheritance diagram for concepts::Formula< F >:
Inheritance graph
[legend]
Collaboration diagram for concepts::Formula< F >:
Collaboration graph
[legend]

List of all members.

Public Types

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

Public Member Functions

virtual Formulaclone () 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 Real3d &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 Real p, const Real t=0.0) const =0
 Evaluates the formula.
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 Real p, const Real t=0.0) const =0
 Application operator.
virtual F operator() (const Real2d &p, const Real t=0.0) const =0
 Application operator.
virtual F operator() (const Real3d &p, const Real t=0.0) const =0
 Application operator.
virtual F operator() (const Connector &cntr, const Real p, const Real t=0.0) const
 Convenience implementation, that by default ignores its elm param.
virtual F operator() (const Connector &cntr, const Real2d &p, const Real t=0.0) const
 Convenience implementation, that by default ignores its elm param.
virtual F operator() (const Connector &cntr, const Real3d &p, const Real t=0.0) const
 Convenience implementation, that by default ignores its elm param.

Protected Member Functions

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

Detailed Description

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

Interface for a formula.

A general formula would be $ f : R^n \mapsto R^m $. This class covers the possibilities $ f : R^n \mapsto R $ where n is 1, 2 or 3 in space and 0 or 1 in time. The image space is just one dimensional since higher dimensions can be simulated by taking a Formula in every component.

The application operators of this class evaluate the formula in a given point in space p and time t. If a specialization of this interface does not implement a time dependent formula, t is simply discarded.

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

Author:
Philipp Frauenfelder, 2002

Definition at line 32 of file formula.hh.


Member Typedef Documentation

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

Reimplemented from concepts::PiecewiseFormulaBase< F >.

Definition at line 35 of file formula.hh.

template<typename F>
typedef F concepts::Formula< F >::value_type

Reimplemented from concepts::ElementFormula< F, concepts::Realtype< F >::type >.

Reimplemented in concepts::VectorFormula< F, dim >.

Definition at line 34 of file formula.hh.


Member Function Documentation

template<typename F>
virtual Formula* concepts::Formula< F >::clone ( ) const [pure virtual]
template<typename F>
virtual const F& concepts::PiecewiseFormulaBase< F >::dflt_value ( ) const [inline, virtual, inherited]

Gives default value.

Definition at line 76 of file piecewiseFormula.hh.

template<typename F>
virtual F& concepts::PiecewiseFormulaBase< F >::dflt_value ( ) [inline, virtual, inherited]

Gives default value.

Definition at line 78 of file piecewiseFormula.hh.

template<typename F >
std::ostream & concepts::PiecewiseFormulaBase< F >::info ( std::ostream &  os) const [protected, virtual, inherited]

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::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::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 Real  p,
const Real  t = 0.0 
) const [pure virtual, inherited]

Evaluates the formula.

Parameters:
elmElement
pPoint in space in local element coordinates
tPoint in time
template<typename F>
virtual F concepts::PiecewiseFormulaBase< F >::operator() ( const ElementWithCell< G > &  elm,
const Real3d p,
const Real  t = 0.0 
) const [inline, virtual, inherited]

Definition at line 58 of file piecewiseFormula.hh.

template<typename F>
virtual F concepts::PiecewiseFormulaBase< F >::operator() ( const ElementWithCell< G > &  elm,
const Real2d p,
const Real  t = 0.0 
) const [inline, virtual, inherited]

Definition at line 52 of file piecewiseFormula.hh.

template<typename F>
virtual F concepts::Formula< F >::operator() ( const Connector cntr,
const Real  p,
const Real  t = 0.0 
) const [inline, virtual]

Convenience implementation, that by default ignores its elm param.

Implements concepts::PiecewiseFormulaBase< F >.

Definition at line 51 of file formula.hh.

template<typename F>
virtual F concepts::PiecewiseFormulaBase< F >::operator() ( const ElementWithCell< G > &  elm,
const Real  p,
const Real  t = 0.0 
) const [inline, virtual, inherited]

Definition at line 47 of file piecewiseFormula.hh.

template<typename F>
virtual F concepts::Formula< F >::operator() ( const Connector cntr,
const Real3d p,
const Real  t = 0.0 
) const [inline, virtual]

Convenience implementation, that by default ignores its elm param.

Implements concepts::PiecewiseFormulaBase< F >.

Definition at line 57 of file formula.hh.

template<typename F>
virtual F concepts::Formula< F >::operator() ( const Connector cntr,
const Real2d p,
const Real  t = 0.0 
) const [inline, virtual]

Convenience implementation, that by default ignores its elm param.

Implements concepts::PiecewiseFormulaBase< F >.

Definition at line 54 of file formula.hh.

template<typename F>
virtual F concepts::Formula< F >::operator() ( const Real2d p,
const Real  t = 0.0 
) const [pure virtual]
template<typename F>
virtual F concepts::Formula< F >::operator() ( const Real  p,
const Real  t = 0.0 
) const [pure virtual]
template<typename F>
virtual F concepts::Formula< F >::operator() ( const Real3d p,
const Real  t = 0.0 
) const [pure virtual]

The documentation for this class was generated from the following file:

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)