concepts::ElementFormulaLiCo< F, G, H, J > Class Template Referenceabstract

#include <formula.hh>

Inheritance diagram for concepts::ElementFormulaLiCo< F, G, H, J >:
concepts::ElementFormula< Real, typename Realtype< Real >::type > concepts::Cloneable concepts::OutputOperator

Public Types

typedef Real value_type
 

Public Member Functions

virtual ElementFormulaLiCo< F, G, H, J > * clone () const
 Virtual constructor. More...
 
virtual ElementFormula< Real, typename Realtype< Real >::type > * clone () const=0
 Virtual copy constructor. More...
 
 ElementFormulaLiCo (const ElementFormula< F, J > &frm1, const ElementFormula< G, J > &frm2, H a=1.0, H b=1.0)
 
 ElementFormulaLiCo (const ElementFormulaLiCo< F, G, H, J > &frm)
 
virtual F operator() (const ElementWithCell< J > &elm, const Real p, const Real t=0.0) const
 
virtual F operator() (const ElementWithCell< J > &elm, const Real2d &p, const Real t=0.0) const
 
virtual F operator() (const ElementWithCell< J > &elm, const Real3d &p, const Real t=0.0) const
 
virtual Real operator() (const ElementWithCell< typename Realtype< Real >::type > &elm, const Real p, const Real t=0.0) const=0
 Evaluates the formula. More...
 
virtual Real operator() (const ElementWithCell< typename Realtype< Real >::type > &elm, const Real2d &p, const Real t=0.0) const=0
 Evaluates the formula. More...
 
virtual Real operator() (const ElementWithCell< typename Realtype< Real >::type > &elm, const Real3d &p, const Real t=0.0) const=0
 Evaluates the formula. More...
 
virtual ~ElementFormulaLiCo ()
 

Protected Member Functions

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

Private Member Functions

template<typename P >
combine_ (const ElementWithCell< J > &elm, const P &p, const Real t=0.0) const
 Method for calculating the return value. More...
 

Private Attributes

const H a_
 Scalar factors. More...
 
const H b_
 
std::unique_ptr< const ElementFormula< F, J > > frm1_
 1st element formulas More...
 
std::unique_ptr< const ElementFormula< G, J > > frm2_
 2nd element formulas More...
 

Detailed Description

template<class F = Real, class G = F, class H = F, class J = typename Realtype<F>::type>
class concepts::ElementFormulaLiCo< F, G, H, J >

Definition at line 39 of file formula.hh.

Member Typedef Documentation

◆ value_type

typedef Real concepts::ElementFormula< Real , typename Realtype< Real >::type >::value_type
inherited

Definition at line 37 of file elementFormula.hh.

Constructor & Destructor Documentation

◆ ElementFormulaLiCo() [1/2]

template<class F = Real, class G = F, class H = F, class J = typename Realtype<F>::type>
concepts::ElementFormulaLiCo< F, G, H, J >::ElementFormulaLiCo ( const ElementFormula< F, J > &  frm1,
const ElementFormula< G, J > &  frm2,
a = 1.0,
b = 1.0 
)
inline

Definition at line 41 of file formula.hh.

◆ ElementFormulaLiCo() [2/2]

template<class F = Real, class G = F, class H = F, class J = typename Realtype<F>::type>
concepts::ElementFormulaLiCo< F, G, H, J >::ElementFormulaLiCo ( const ElementFormulaLiCo< F, G, H, J > &  frm)
inline

Definition at line 45 of file formula.hh.

◆ ~ElementFormulaLiCo()

template<class F = Real, class G = F, class H = F, class J = typename Realtype<F>::type>
virtual concepts::ElementFormulaLiCo< F, G, H, J >::~ElementFormulaLiCo ( )
inlinevirtual

Definition at line 48 of file formula.hh.

Member Function Documentation

◆ clone() [1/2]

template<class F = Real, class G = F, class H = F, class J = typename Realtype<F>::type>
virtual ElementFormulaLiCo<F,G,H,J>* concepts::ElementFormulaLiCo< F, G, H, J >::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 63 of file formula.hh.

◆ clone() [2/2]

virtual ElementFormula<Real ,typename Realtype< Real >::type >* concepts::ElementFormula< Real , typename Realtype< Real >::type >::clone
pure virtualinherited

Virtual copy constructor.

Implemented in concepts::ElementFormulaContainer< Real >.

◆ combine_()

template<typename F , typename G , typename H , typename J >
template<typename P >
F concepts::ElementFormulaLiCo< F, G, H, J >::combine_ ( const ElementWithCell< J > &  elm,
const P &  p,
const Real  t = 0.0 
) const
private

Method for calculating the return value.

Definition at line 83 of file formula.hh.

◆ info()

template<typename F , typename G , typename H , typename J >
std::ostream & concepts::ElementFormulaLiCo< F, G, H, J >::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

Definition at line 91 of file formula.hh.

◆ operator()() [1/6]

template<class F = Real, class G = F, class H = F, class J = typename Realtype<F>::type>
virtual F concepts::ElementFormulaLiCo< F, G, H, J >::operator() ( const ElementWithCell< J > &  elm,
const Real  p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 51 of file formula.hh.

◆ operator()() [2/6]

template<class F = Real, class G = F, class H = F, class J = typename Realtype<F>::type>
virtual F concepts::ElementFormulaLiCo< F, G, H, J >::operator() ( const ElementWithCell< J > &  elm,
const Real2d p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 55 of file formula.hh.

◆ operator()() [3/6]

template<class F = Real, class G = F, class H = F, class J = typename Realtype<F>::type>
virtual F concepts::ElementFormulaLiCo< F, G, H, J >::operator() ( const ElementWithCell< J > &  elm,
const Real3d p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 59 of file formula.hh.

◆ operator()() [4/6]

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

Implemented in concepts::ElementFormulaContainer< Real >.

◆ operator()() [5/6]

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

Implemented in concepts::ElementFormulaContainer< Real >.

◆ operator()() [6/6]

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

Implemented in concepts::ElementFormulaContainer< Real >.

Member Data Documentation

◆ a_

template<class F = Real, class G = F, class H = F, class J = typename Realtype<F>::type>
const H concepts::ElementFormulaLiCo< F, G, H, J >::a_
private

Scalar factors.

Definition at line 74 of file formula.hh.

◆ b_

template<class F = Real, class G = F, class H = F, class J = typename Realtype<F>::type>
const H concepts::ElementFormulaLiCo< F, G, H, J >::b_
private

Definition at line 74 of file formula.hh.

◆ frm1_

template<class F = Real, class G = F, class H = F, class J = typename Realtype<F>::type>
std::unique_ptr<const ElementFormula<F,J> > concepts::ElementFormulaLiCo< F, G, H, J >::frm1_
private

1st element formulas

Definition at line 70 of file formula.hh.

◆ frm2_

template<class F = Real, class G = F, class H = F, class J = typename Realtype<F>::type>
std::unique_ptr<const ElementFormula<G,J> > concepts::ElementFormulaLiCo< F, G, H, J >::frm2_
private

2nd element formulas

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