Class documentation of Concepts

Loading...
Searching...
No Matches
vectorial::ElementFunction< F, G > Class Template Referenceabstract

#include <function.hh>

Inheritance diagram for vectorial::ElementFunction< F, G >:
concepts::ElementFunction< F, G > vectorial::Vectorial< F > concepts::OutputOperator

Public Member Functions

 ElementFunction (const uint vdim, uint arrayWidth=0)
 
virtual uint n () const
 Number of components.
 
virtual void operator() (const concepts::Element< G > &elm, const concepts::Array< F > &coeff, concepts::Array< F > &val, const uint *i) const
 Evaluates the function on precalculated quadrature points.
 
virtual void operator() (const concepts::Element< G > &elm, const uint *j, concepts::Array< F > &val, const uint *i) const
 
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 concepts::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 concepts::Real3d &p, const Real t=0.0) const
 
virtual ElementFunction< F, G > * clone () const
 
virtual void put (const concepts::ElementFunction< F, G > &vdata, const uint a=0, const uint b=0)
 
virtual void operator() (const Element< G > &elm, const Array< F > &coeff, Array< F > &val, const Real p, const Real t=0.0) const =0
 
virtual void operator() (const Element< G > &elm, const Array< F > &coeff, Array< F > &val, const Real2d &p, const Real t=0.0) const =0
 
virtual void operator() (const Element< G > &elm, const Array< F > &coeff, Array< F > &val, const Real3d &p, const Real t=0.0) const =0
 
virtual void insert (F &vdata, const int a=0, const int b=0)
 Add a component.
 
virtual const F * get (const int a, const int b=0) const
 Get a component.
 
uint vdim () const
 Returns number of components.
 

Protected Member Functions

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

Protected Attributes

uint vdim_
 Number of components.
 
uint idx_
 Index of the last added component.
 
concepts::Array< F * > vdata_
 Storage.
 

Detailed Description

template<class F, class G = typename concepts::Realtype<F>::type>
class vectorial::ElementFunction< F, G >

Vector valued element function.

Not to each component of the solution an element function has to be applied. E.g. only the second component can be taken.

Author
Kersten Schmidt, 2014

Definition at line 31 of file function.hh.

Constructor & Destructor Documentation

◆ ElementFunction()

template<class F , class G = typename concepts::Realtype<F>::type>
vectorial::ElementFunction< F, G >::ElementFunction ( const uint  vdim,
uint  arrayWidth = 0 
)
inline

Definition at line 34 of file function.hh.

Member Function Documentation

◆ clone()

template<class F , class G = typename concepts::Realtype<F>::type>
virtual ElementFunction< F, G > * vectorial::ElementFunction< F, G >::clone ( ) const
virtual

◆ get()

template<class F >
virtual const F * vectorial::Vectorial< F >::get ( const int  a,
const int  b = 0 
) const
inlinevirtualinherited

Get a component.

Examples
hpFEM3d-EV.cc.

Definition at line 74 of file vectorial.hh.

◆ info()

template<class F , class G = typename concepts::Realtype<F>::type>
virtual std::ostream & vectorial::ElementFunction< F, G >::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

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

◆ insert()

template<class F >
void vectorial::Vectorial< F >::insert ( F &  vdata,
const int  a = 0,
const int  b = 0 
)
virtualinherited

Add a component.

Definition at line 94 of file vectorial.hh.

◆ n()

template<class F , class G = typename concepts::Realtype<F>::type>
virtual uint vectorial::ElementFunction< F, G >::n ( ) const
virtual

Number of components.

Implements concepts::ElementFunction< F, G >.

◆ operator()() [1/5]

template<class F , class G = typename concepts::Realtype<F>::type>
virtual void vectorial::ElementFunction< 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

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

◆ operator()() [2/5]

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

Evaluates the function on precalculated quadrature points.

Implements concepts::ElementFunction< F, G >.

◆ operator()() [3/5]

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

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

Implements concepts::ElementFunction< F, G >.

◆ operator()() [4/5]

template<class F , class G = typename Realtype<F>::type>
virtual void concepts::ElementFunction< F, G >::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

Implemented in hp3D::Laplacian< F, G >, concepts::Squared< F, G >, concepts::AbsoluteComp< F, G >, and concepts::Absolute< F, G >.

◆ operator()() [5/5]

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

Implemented in hp3D::Laplacian< F, G >.

◆ put()

template<class F , class G = typename concepts::Realtype<F>::type>
virtual void vectorial::ElementFunction< F, G >::put ( const concepts::ElementFunction< F, G > &  vdata,
const uint  a = 0,
const uint  b = 0 
)
virtual

Add a component, it will not deleted here.

Parameters
vdatathe element function for solution component a
athe index of the solution component the element function shall be applied
bdummy variable

◆ vdim()

template<class F >
uint vectorial::Vectorial< F >::vdim ( ) const
inlineinherited

Returns number of components.

Definition at line 77 of file vectorial.hh.

Member Data Documentation

◆ idx_

template<class F >
uint vectorial::Vectorial< F >::idx_
protectedinherited

Index of the last added component.

Definition at line 82 of file vectorial.hh.

◆ vdata_

template<class F >
concepts::Array<F*> vectorial::Vectorial< F >::vdata_
mutableprotectedinherited

Storage.

Definition at line 84 of file vectorial.hh.

◆ vdim_

template<class F >
uint vectorial::Vectorial< F >::vdim_
protectedinherited

Number of components.

Definition at line 80 of file vectorial.hh.


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