concepts::Formula< F > Class Template Referenceabstract

Interface for a formula. More...

#include <lform.hh>

Inheritance diagram for concepts::Formula< F >:
concepts::FormulaContainer< F > concepts::FormulaFromElementFormula< dim, F, G > concepts::Frm_Product< F, H, J > concepts::Frm_Sum< F, H, J >

Public Types

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

Public Member Functions

virtual Formulaclone () const =0
 
virtual F operator() (const Real p, const Real t=0.0) const =0
 Application operator. More...
 
virtual F operator() (const Real2d &p, const Real t=0.0) const =0
 Application operator. More...
 
virtual F operator() (const Real3d &p, const Real t=0.0) const =0
 Application operator. More...
 

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 18 of file lform.hh.

Member Typedef Documentation

◆ G

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

Definition at line 37 of file formula.hh.

◆ value_type

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

Definition at line 36 of file formula.hh.

Member Function Documentation

◆ clone()

◆ operator()() [1/6]

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

Convenience implementation, that by default ignores its elm param.

Reimplemented in concepts::FormulaFromElementFormula< dim, F, G >.

Definition at line 53 of file formula.hh.

◆ operator()() [2/6]

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

Convenience implementation, that by default ignores its elm param.

Reimplemented in concepts::FormulaFromElementFormula< dim, F, G >.

Definition at line 56 of file formula.hh.

◆ operator()() [3/6]

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

Convenience implementation, that by default ignores its elm param.

Reimplemented in concepts::FormulaFromElementFormula< dim, F, G >.

Definition at line 59 of file formula.hh.

◆ operator()() [4/6]

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

Application operator.

Evaluates the formula.

Parameters
pPoint in space
tPoint in time

Implemented in concepts::FormulaLayerPlaneWaveLayerGrad, concepts::FormulaLayerPlaneWaveLayer, concepts::FormulaLayerPlaneWaveSourceGrad, concepts::FormulaLayerPlaneWaveSource, concepts::FormulaExpImag2DGrad, concepts::FormulaExpImag2DRadialDer, concepts::FormulaExpImag2D, concepts::FormulaExpImag1D, concepts::FormulaPMLPowerSigmaB2D< F >, concepts::FormulaPMLPowerSigma2D< F >, concepts::FormulaPMLPowerSigma< F >, concepts::DivGradHField_CircularCoil, concepts::CurlHField_CircularCoil, concepts::HField_CircularCoil, concepts::Wunsym_y< dim >, concepts::Wunsym_x< dim >, concepts::Wsym_y< dim >, concepts::Wsym_x< dim >, concepts::FormulaFromElementFormula< dim, F, G >, concepts::VectorFormula< F, dim >, concepts::SphericalFormula< Real2d >, concepts::SphericalFormula< Real >, concepts::ParsedFormula< Real2d >, concepts::ParsedFormula< Cmplx >, concepts::ParsedFormula< Real >, concepts::Frm_Sum< F, H, J >, concepts::Frm_Product< F, H, J >, concepts::Sin_n_y, concepts::Cos_n_y, concepts::Exp_i_n_y, concepts::Sin_n_x, concepts::Cos_n_x, concepts::Exp_i_n_x, concepts::Sin_n_phi, concepts::Cos_n_phi, concepts::Exp_i_n_phi, concepts::FormulaLiCo, concepts::FormulaContainer< F >, concepts::ConstFormula< F >, concepts::BesselY< n >, concepts::BesselJ< n >, concepts::FormulaPMLPowerSigmaB2D< F >, concepts::FormulaPMLPowerSigma2D< F >, concepts::FormulaPMLPowerSigma< F >, concepts::FormulaExpImag2DGrad, concepts::FormulaExpImag2DRadialDer, concepts::FormulaExpImag2D, and concepts::FormulaExpImag1D.

◆ operator()() [5/6]

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

Application operator.

Evaluates the formula.

Parameters
pPoint in space
tPoint in time

Implemented in concepts::FormulaLayerPlaneWaveLayerGrad, concepts::FormulaLayerPlaneWaveLayer, concepts::FormulaLayerPlaneWaveSourceGrad, concepts::FormulaLayerPlaneWaveSource, concepts::FormulaExpImag2DGrad, concepts::FormulaExpImag2DRadialDer, concepts::FormulaExpImag2D, concepts::FormulaExpImag1D, concepts::FormulaPMLPowerSigmaB2D< F >, concepts::FormulaPMLPowerSigma2D< F >, concepts::FormulaPMLPowerSigma< F >, concepts::DivGradHField_CircularCoil, concepts::CurlHField_CircularCoil, concepts::HField_CircularCoil, concepts::Wunsym_y< dim >, concepts::Wunsym_x< dim >, concepts::Wsym_y< dim >, concepts::Wsym_x< dim >, concepts::FormulaFromElementFormula< dim, F, G >, concepts::VectorFormula< F, dim >, concepts::SphericalFormula< Real2d >, concepts::SphericalFormula< Real >, concepts::ParsedFormula< Real2d >, concepts::ParsedFormula< Cmplx >, concepts::ParsedFormula< Real >, concepts::Frm_Sum< F, H, J >, concepts::Frm_Product< F, H, J >, concepts::Sin_n_y, concepts::Cos_n_y, concepts::Exp_i_n_y, concepts::Sin_n_x, concepts::Cos_n_x, concepts::Exp_i_n_x, concepts::Sin_n_phi, concepts::Cos_n_phi, concepts::Exp_i_n_phi, concepts::FormulaLiCo, concepts::FormulaContainer< F >, concepts::ConstFormula< F >, concepts::BesselY< n >, concepts::BesselJ< n >, concepts::FormulaPMLPowerSigmaB2D< F >, concepts::FormulaPMLPowerSigma2D< F >, concepts::FormulaPMLPowerSigma< F >, concepts::FormulaExpImag2DGrad, concepts::FormulaExpImag2DRadialDer, concepts::FormulaExpImag2D, and concepts::FormulaExpImag1D.

◆ operator()() [6/6]

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

Application operator.

Evaluates the formula.

Parameters
pPoint in space
tPoint in time

Implemented in concepts::FormulaLayerPlaneWaveLayerGrad, concepts::FormulaLayerPlaneWaveLayer, concepts::FormulaLayerPlaneWaveSourceGrad, concepts::FormulaLayerPlaneWaveSource, concepts::FormulaExpImag2DGrad, concepts::FormulaExpImag2DRadialDer, concepts::FormulaExpImag2D, concepts::FormulaExpImag1D, concepts::FormulaPMLPowerSigmaB2D< F >, concepts::FormulaPMLPowerSigma2D< F >, concepts::FormulaPMLPowerSigma< F >, concepts::DivGradHField_CircularCoil, concepts::CurlHField_CircularCoil, concepts::HField_CircularCoil, concepts::Wunsym_y< dim >, concepts::Wunsym_x< dim >, concepts::Wsym_y< dim >, concepts::Wsym_x< dim >, concepts::FormulaFromElementFormula< dim, F, G >, concepts::VectorFormula< F, dim >, concepts::SphericalFormula< Real2d >, concepts::SphericalFormula< Real >, concepts::ParsedFormula< Real2d >, concepts::ParsedFormula< Cmplx >, concepts::ParsedFormula< Real >, concepts::Frm_Sum< F, H, J >, concepts::Frm_Product< F, H, J >, concepts::Sin_n_y, concepts::Cos_n_y, concepts::Exp_i_n_y, concepts::Sin_n_x, concepts::Cos_n_x, concepts::Exp_i_n_x, concepts::Sin_n_phi, concepts::Cos_n_phi, concepts::Exp_i_n_phi, concepts::FormulaLiCo, concepts::FormulaContainer< F >, concepts::ConstFormula< F >, concepts::BesselY< n >, concepts::BesselJ< n >, concepts::FormulaPMLPowerSigmaB2D< F >, concepts::FormulaPMLPowerSigma2D< F >, concepts::FormulaPMLPowerSigma< F >, concepts::FormulaExpImag2DGrad, concepts::FormulaExpImag2DRadialDer, concepts::FormulaExpImag2D, and concepts::FormulaExpImag1D.


The documentation for this class was generated from the following files:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich