concepts::ComposeFormulaMatVec< F, DIM, G > Class Template Referenceabstract

Computes the Matrix-vector product A * vf, where A is a matrix valued formula and vf a vector valued formula. More...

#include <pml_formula.h>

Inheritance diagram for concepts::ComposeFormulaMatVec< F, DIM, G >:
concepts::ElementFormula< concepts::Point< F, DIM >, typename Realtype< F >::type > concepts::Cloneable concepts::OutputOperator

Public Types

typedef concepts::Point< F, DIM > value_type
 

Public Member Functions

virtual ComposeFormulaMatVecclone () const
 Virtual constructor. More...
 
virtual ComposeFormulaMatVecclone () const
 Virtual constructor. More...
 
virtual ElementFormula< concepts::Point< F, DIM >, typename Realtype< F >::type > * clone () const=0
 Virtual copy constructor. More...
 
 ComposeFormulaMatVec (RCP< const ElementFormula< concepts::Mapping< F, DIM >, G > > A, RCP< const ElementFormula< concepts::Point< F, DIM >, G > > vf)
 
 ComposeFormulaMatVec (RCP< const ElementFormula< Mapping< F, DIM >, G > > A, RCP< const ElementFormula< Point< F, DIM >, G > > vf)
 
virtual concepts::Point< F, DIM > operator() (const concepts::ElementWithCell< G > &elm, const concepts::Real2d &p, const Real t=0.0) const
 
virtual concepts::Point< F, DIM > operator() (const concepts::ElementWithCell< G > &elm, const concepts::Real3d &p, const Real t=0.0) const
 
virtual concepts::Point< F, DIM > operator() (const concepts::ElementWithCell< G > &elm, const Real p, const Real t=0.0) const
 
virtual Point< F, DIM > operator() (const ElementWithCell< G > &elm, const Real p, const Real t=0.0) const
 
virtual Point< F, DIM > operator() (const ElementWithCell< G > &elm, const Real2d &p, const Real t=0.0) const
 
virtual Point< F, DIM > operator() (const ElementWithCell< G > &elm, const Real3d &p, const Real t=0.0) const
 
virtual concepts::Point< F, DIM > operator() (const ElementWithCell< typename Realtype< F >::type > &elm, const Real p, const Real t=0.0) const=0
 Evaluates the formula. More...
 
virtual concepts::Point< F, DIM > operator() (const ElementWithCell< typename Realtype< F >::type > &elm, const Real2d &p, const Real t=0.0) const=0
 Evaluates the formula. More...
 
virtual concepts::Point< F, DIM > operator() (const ElementWithCell< typename Realtype< F >::type > &elm, const Real3d &p, const Real t=0.0) const=0
 Evaluates the formula. More...
 

Public Attributes

RCP< const ElementFormula< concepts::Mapping< F, DIM >, G > > A
 
RCP< const ElementFormula< Mapping< F, DIM >, G > > A
 
RCP< const ElementFormula< concepts::Point< F, DIM >, G > > vf
 
RCP< const ElementFormula< Point< F, DIM >, G > > vf
 

Protected Member Functions

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

Detailed Description

template<class F, uint DIM, typename G = typename Realtype<F>::type>
class concepts::ComposeFormulaMatVec< F, DIM, G >

Computes the Matrix-vector product A * vf, where A is a matrix valued formula and vf a vector valued formula.

The result is a vector valued formula.

The result is a vector valued formula. This class will obsolete, as the 2D case A * vf is implemented in frmE_product.hh

Definition at line 269 of file pml_formula.h.

Member Typedef Documentation

◆ value_type

typedef concepts::Point< F, DIM > concepts::ElementFormula< concepts::Point< F, DIM > , typename Realtype< F >::type >::value_type
inherited

Definition at line 37 of file elementFormula.hh.

Constructor & Destructor Documentation

◆ ComposeFormulaMatVec() [1/2]

template<class F , uint DIM, typename G = typename Realtype<F>::type>
concepts::ComposeFormulaMatVec< F, DIM, G >::ComposeFormulaMatVec ( RCP< const ElementFormula< concepts::Mapping< F, DIM >, G > >  A,
RCP< const ElementFormula< concepts::Point< F, DIM >, G > >  vf 
)
inline

Definition at line 272 of file pml_formula.h.

◆ ComposeFormulaMatVec() [2/2]

template<class F , uint DIM, typename G = typename Realtype<F>::type>
concepts::ComposeFormulaMatVec< F, DIM, G >::ComposeFormulaMatVec ( RCP< const ElementFormula< Mapping< F, DIM >, G > >  A,
RCP< const ElementFormula< Point< F, DIM >, G > >  vf 
)
inline

Definition at line 302 of file sources.hh.

Member Function Documentation

◆ clone() [1/3]

template<class F , uint DIM, typename G = typename Realtype<F>::type>
virtual ComposeFormulaMatVec* concepts::ComposeFormulaMatVec< F, DIM, G >::clone ( ) const
inlinevirtual

Virtual constructor.

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

Implements concepts::Cloneable.

Definition at line 280 of file pml_formula.h.

◆ clone() [2/3]

template<class F , uint DIM, typename G = typename Realtype<F>::type>
virtual ComposeFormulaMatVec* concepts::ComposeFormulaMatVec< F, DIM, G >::clone ( ) const
inlinevirtual

Virtual constructor.

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

Implements concepts::Cloneable.

Definition at line 310 of file sources.hh.

◆ clone() [3/3]

virtual ElementFormula<concepts::Point< F, DIM > ,typename Realtype< F >::type >* concepts::ElementFormula< concepts::Point< F, DIM > , typename Realtype< F >::type >::clone
pure virtualinherited

Virtual copy constructor.

◆ info() [1/2]

template<class F , uint DIM, typename G = typename Realtype<F>::type>
virtual std::ostream& concepts::ComposeFormulaMatVec< F, DIM, G >::info ( std::ostream &  os) const
inlineprotectedvirtual

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

Definition at line 304 of file pml_formula.h.

◆ info() [2/2]

template<class F , uint DIM, typename G = typename Realtype<F>::type>
virtual std::ostream& concepts::ComposeFormulaMatVec< F, DIM, G >::info ( std::ostream &  os) const
inlineprotectedvirtual

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

Definition at line 334 of file sources.hh.

◆ operator()() [1/9]

template<class F , uint DIM, typename G = typename Realtype<F>::type>
virtual concepts::Point<F, DIM> concepts::ComposeFormulaMatVec< F, DIM, G >::operator() ( const concepts::ElementWithCell< G > &  elm,
const concepts::Real2d p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 290 of file pml_formula.h.

◆ operator()() [2/9]

template<class F , uint DIM, typename G = typename Realtype<F>::type>
virtual concepts::Point<F, DIM> concepts::ComposeFormulaMatVec< F, DIM, G >::operator() ( const concepts::ElementWithCell< G > &  elm,
const concepts::Real3d p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 298 of file pml_formula.h.

◆ operator()() [3/9]

template<class F , uint DIM, typename G = typename Realtype<F>::type>
virtual concepts::Point<F, DIM> concepts::ComposeFormulaMatVec< F, DIM, G >::operator() ( const concepts::ElementWithCell< G > &  elm,
const Real  p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 284 of file pml_formula.h.

◆ operator()() [4/9]

template<class F , uint DIM, typename G = typename Realtype<F>::type>
virtual Point<F, DIM> concepts::ComposeFormulaMatVec< F, DIM, G >::operator() ( const ElementWithCell< G > &  elm,
const Real  p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 314 of file sources.hh.

◆ operator()() [5/9]

template<class F , uint DIM, typename G = typename Realtype<F>::type>
virtual Point<F, DIM> concepts::ComposeFormulaMatVec< F, DIM, G >::operator() ( const ElementWithCell< G > &  elm,
const Real2d p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 320 of file sources.hh.

◆ operator()() [6/9]

template<class F , uint DIM, typename G = typename Realtype<F>::type>
virtual Point<F, DIM> concepts::ComposeFormulaMatVec< F, DIM, G >::operator() ( const ElementWithCell< G > &  elm,
const Real3d p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 328 of file sources.hh.

◆ operator()() [7/9]

virtual concepts::Point< F, DIM > concepts::ElementFormula< concepts::Point< F, DIM > , typename Realtype< F >::type >::operator() ( const ElementWithCell< typename Realtype< F >::type > &  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()() [8/9]

virtual concepts::Point< F, DIM > concepts::ElementFormula< concepts::Point< F, DIM > , typename Realtype< F >::type >::operator() ( const ElementWithCell< typename Realtype< F >::type > &  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()() [9/9]

virtual concepts::Point< F, DIM > concepts::ElementFormula< concepts::Point< F, DIM > , typename Realtype< F >::type >::operator() ( const ElementWithCell< typename Realtype< F >::type > &  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

Member Data Documentation

◆ A [1/2]

template<class F , uint DIM, typename G = typename Realtype<F>::type>
RCP<const ElementFormula< concepts::Mapping<F, DIM>, G> > concepts::ComposeFormulaMatVec< F, DIM, G >::A

Definition at line 308 of file pml_formula.h.

◆ A [2/2]

template<class F , uint DIM, typename G = typename Realtype<F>::type>
RCP<const ElementFormula< Mapping<F, DIM>, G> > concepts::ComposeFormulaMatVec< F, DIM, G >::A

Definition at line 338 of file sources.hh.

◆ vf [1/2]

template<class F , uint DIM, typename G = typename Realtype<F>::type>
RCP<const ElementFormula< concepts::Point<F, DIM>, G> > concepts::ComposeFormulaMatVec< F, DIM, G >::vf

Definition at line 309 of file pml_formula.h.

◆ vf [2/2]

template<class F , uint DIM, typename G = typename Realtype<F>::type>
RCP<const ElementFormula< Point<F, DIM>, G> > concepts::ComposeFormulaMatVec< F, DIM, G >::vf

Definition at line 339 of file sources.hh.


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