vectorial::ElementFunctionAllComponents< F, G > Class Template Referenceabstract

Vectorial element function with the same scalar element function on each component. More...

#include <function.hh>

Inheritance diagram for vectorial::ElementFunctionAllComponents< F, G >:
concepts::ElementFunction< F, Real >

Public Member Functions

virtual ElementFunctionAllComponents< F, G > * clone () const
 
virtual ElementFunction< F, Real > * clone () const=0
 
 ElementFunctionAllComponents (uint vdim, const concepts::ElementFunction< F, G > &fun)
 
virtual uint n () const
 
virtual uint n () const=0
 Number of components. More...
 
virtual void operator() (const concepts::Element< G > &elm, const concepts::Array< F > &coeff, concepts::Array< F > &val, const Real p, const Real t=0.0) const
 
virtual void operator() (const concepts::Element< G > &elm, const concepts::Array< F > &coeff, concepts::Array< F > &val, const Real2d &p, const Real t=0.0) const
 
virtual void operator() (const concepts::Element< G > &elm, const concepts::Array< F > &coeff, concepts::Array< F > &val, const Real3d &p, const Real t=0.0) const
 
virtual void operator() (const concepts::Element< G > &elm, const concepts::Array< F > &coeff, concepts::Array< F > &val, const uint *i) const
 
virtual void operator() (const concepts::Element< G > &elm, const uint *j, concepts::Array< F > &val, const uint *i) const
 
virtual void operator() (const Element< Real > &elm, const Array< F > &coeff, Array< F > &val, const Real p, const Real t=0.0) const=0
 Evaluates the function value in an arbitrary point p of physical space. More...
 
virtual void operator() (const Element< Real > &elm, const Array< F > &coeff, Array< F > &val, const Real2d &p, const Real t=0.0) const=0
 
virtual void operator() (const Element< Real > &elm, const Array< F > &coeff, Array< F > &val, const Real3d &p, const Real t=0.0) const=0
 
virtual void operator() (const Element< Real > &elm, const Array< F > &coeff, Array< F > &val, const uint *i) const=0
 Evaluates the function on precalculated quadrature points. More...
 
virtual void operator() (const Element< Real > &elm, const uint *j, Array< F > &val, const uint *i) const=0
 Evaluates the given function on a specific shape function j (on precalculated quadrature points). More...
 
virtual ~ElementFunctionAllComponents ()
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 

Private Member Functions

 ElementFunctionAllComponents (ElementFunction< F, G > *fun, uint n)
 Private constructor. More...
 

Private Attributes

std::unique_ptr< ElementFunction< F, G > > fun_
 Vectorial element function. More...
 
uint n_
 Number of components. More...
 

Detailed Description

template<class F, class G = Real>
class vectorial::ElementFunctionAllComponents< F, G >

Vectorial element function with the same scalar element function on each component.

Author
Philipp Kliewe, 2013

Definition at line 156 of file function.hh.

Constructor & Destructor Documentation

◆ ElementFunctionAllComponents() [1/2]

template<class F , class G = Real>
vectorial::ElementFunctionAllComponents< F, G >::ElementFunctionAllComponents ( uint  vdim,
const concepts::ElementFunction< F, G > &  fun 
)

◆ ~ElementFunctionAllComponents()

template<class F , class G = Real>
virtual vectorial::ElementFunctionAllComponents< F, G >::~ElementFunctionAllComponents ( )
inlinevirtual

Definition at line 161 of file function.hh.

◆ ElementFunctionAllComponents() [2/2]

template<class F , class G = Real>
vectorial::ElementFunctionAllComponents< F, G >::ElementFunctionAllComponents ( ElementFunction< F, G > *  fun,
uint  n 
)
inlineprivate

Private constructor.

Definition at line 207 of file function.hh.

Member Function Documentation

◆ clone() [1/2]

template<class F , class G = Real>
virtual ElementFunctionAllComponents<F,G>* vectorial::ElementFunctionAllComponents< F, G >::clone ( ) const
inlinevirtual

Definition at line 163 of file function.hh.

◆ clone() [2/2]

virtual ElementFunction<F,Real >* concepts::ElementFunction< F, Real >::clone ( ) const
pure virtualinherited

◆ info()

template<class F , class G = Real>
virtual std::ostream& vectorial::ElementFunctionAllComponents< F, G >::info ( std::ostream &  os) const
inlineprotectedvirtual

Reimplemented from concepts::ElementFunction< F, Real >.

Definition at line 196 of file function.hh.

◆ n() [1/2]

template<class F , class G = Real>
virtual uint vectorial::ElementFunctionAllComponents< F, G >::n ( ) const
inlinevirtual

Definition at line 168 of file function.hh.

◆ n() [2/2]

virtual uint concepts::ElementFunction< F, Real >::n ( ) const
pure virtualinherited

Number of components.

◆ operator()() [1/10]

template<class F , class G = Real>
virtual void vectorial::ElementFunctionAllComponents< F, G >::operator() ( const concepts::Element< G > &  elm,
const concepts::Array< F > &  coeff,
concepts::Array< F > &  val,
const Real  p,
const Real  t = 0.0 
) const
virtual

◆ operator()() [2/10]

template<class F , class G = Real>
virtual void vectorial::ElementFunctionAllComponents< F, G >::operator() ( const concepts::Element< G > &  elm,
const concepts::Array< F > &  coeff,
concepts::Array< F > &  val,
const Real2d &  p,
const Real  t = 0.0 
) const
virtual

◆ operator()() [3/10]

template<class F , class G = Real>
virtual void vectorial::ElementFunctionAllComponents< F, G >::operator() ( const concepts::Element< G > &  elm,
const concepts::Array< F > &  coeff,
concepts::Array< F > &  val,
const Real3d &  p,
const Real  t = 0.0 
) const
virtual

◆ operator()() [4/10]

template<class F , class G = Real>
virtual void vectorial::ElementFunctionAllComponents< F, G >::operator() ( const concepts::Element< G > &  elm,
const concepts::Array< F > &  coeff,
concepts::Array< F > &  val,
const uint *  i 
) const
virtual

◆ operator()() [5/10]

template<class F , class G = Real>
virtual void vectorial::ElementFunctionAllComponents< F, G >::operator() ( const concepts::Element< G > &  elm,
const uint *  j,
concepts::Array< F > &  val,
const uint *  i 
) const
virtual

◆ operator()() [6/10]

virtual void concepts::ElementFunction< F, Real >::operator() ( const Element< G > &  elm,
const Array< F > &  coeff,
Array< F > &  val,
const Real  p,
const Real  t = 0.0 
) const
pure virtualinherited

Evaluates the function value in an arbitrary point p of physical space.

Parameters
elmElement
coeffCoefficients of local shape functions
valFunction value
pPoint in space in local element coordinates
tPoint in time

◆ operator()() [7/10]

virtual void concepts::ElementFunction< F, Real >::operator() ( const Element< G > &  elm,
const Array< F > &  coeff,
Array< F > &  val,
const Real2d p,
const Real  t = 0.0 
) const
pure virtualinherited

◆ operator()() [8/10]

virtual void concepts::ElementFunction< F, Real >::operator() ( const Element< G > &  elm,
const Array< F > &  coeff,
Array< F > &  val,
const Real3d p,
const Real  t = 0.0 
) const
pure virtualinherited

◆ operator()() [9/10]

virtual void concepts::ElementFunction< F, Real >::operator() ( const Element< G > &  elm,
const Array< F > &  coeff,
Array< F > &  val,
const uint *  i 
) const
pure virtualinherited

Evaluates the function on precalculated quadrature points.

Parameters
elmElement
coeffCoefficients of local shape functions
valFunction value
imulti-index of the quadrature point

◆ operator()() [10/10]

virtual void concepts::ElementFunction< F, Real >::operator() ( const Element< G > &  elm,
const uint *  j,
Array< F > &  val,
const uint *  i 
) const
pure virtualinherited

Evaluates the given function on a specific shape function j (on precalculated quadrature points).

Parameters
elmElement
jmulti-index of a shapefunction
valFunction value
imulti-index of the quadrature point

Member Data Documentation

◆ fun_

template<class F , class G = Real>
std::unique_ptr<ElementFunction<F,G> > vectorial::ElementFunctionAllComponents< F, G >::fun_
private

Vectorial element function.

Definition at line 204 of file function.hh.

◆ n_

template<class F , class G = Real>
uint vectorial::ElementFunctionAllComponents< F, G >::n_
private

Number of components.

Definition at line 202 of file function.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