ug4
ug::LocalShapeFunctionSetWrapper< TImpl > Class Template Reference

wrapper class implementing the LocalShapeFunctionSet interface More...

+ Inheritance diagram for ug::LocalShapeFunctionSetWrapper< TImpl >:

Public Types

typedef ImplType::grad_type grad_type
 Gradient type. More...
 
typedef ImplType::shape_type shape_type
 Shape type. More...
 
- Public Types inherited from ug::LocalShapeFunctionSet< TImpl::dim, TImpl::shape_type, TImpl::grad_type >
typedef TImpl::grad_type grad_type
 Gradient type. More...
 
typedef MathVector< dimposition_type
 Domain position type. More...
 
typedef TImpl::shape_type shape_type
 Shape type. More...
 

Public Member Functions

virtual bool continuous () const
 returns if space constructs continuous functions More...
 
virtual bool exact_position_available () const
 
virtual void grad (grad_type &g, size_t i, const MathVector< dim > &x) const
 evaluates the gradient of the shape function More...
 
virtual void grads (grad_type *vGrad, const MathVector< dim > &x) const
 returns all gradients evaluated at a point More...
 
virtual void grads (std::vector< grad_type > &vGrad, const MathVector< dim > &x) const
 returns all gradients evaluated at a point More...
 
virtual void grads (std::vector< std::vector< grad_type > > &vvGrad, const std::vector< MathVector< dim > > &vLocPos) const
 returns all gradients evaluated at a point More...
 
virtual const LocalDoFlocal_dof (size_t dof) const
 returns the DoFs storage More...
 
 LocalShapeFunctionSetWrapper ()
 constructor More...
 
virtual size_t num_dof (ReferenceObjectID roid) const
 
virtual size_t num_sh () const
 
virtual bool position (size_t i, MathVector< dim > &pos) const
 local position of DoF i More...
 
virtual ReferenceObjectID roid () const
 
virtual void shape (shape_type &s, size_t i, const MathVector< dim > &x) const
 evaluates the shape function More...
 
virtual shape_type shape (size_t i, const MathVector< dim > &x) const
 evaluates the shape function More...
 
virtual void shapes (shape_type *vShape, const MathVector< dim > &x) const
 returns all shape functions evaluated at a point More...
 
virtual void shapes (std::vector< shape_type > &vShape, const MathVector< dim > &x) const
 returns all shape functions evaluated at a point More...
 
virtual void shapes (std::vector< std::vector< shape_type > > &vvShape, const std::vector< MathVector< dim > > &vLocPos) const
 returns all shape functions evaluated at a point More...
 
- Public Member Functions inherited from ug::LocalShapeFunctionSet< TImpl::dim, TImpl::shape_type, TImpl::grad_type >
virtual void grad (grad_type &g, size_t i, const MathVector< dim > &x) const=0
 evaluates the gradient of the shape function More...
 
virtual void grads (std::vector< std::vector< grad_type > > &vvGrad, const std::vector< MathVector< dim > > &vLocPos) const=0
 returns all gradients evaluated at a several points More...
 
virtual void shape (shape_type &shape, size_t i, const MathVector< dim > &x) const=0
 evaluates the shape function More...
 
virtual void shapes (std::vector< std::vector< shape_type > > &vvShape, const std::vector< MathVector< dim > > &vLocPos) const=0
 returns all shape functions evaluated at several point More...
 
virtual ~LocalShapeFunctionSet ()
 virtual destructor More...
 
virtual void shapes (shape_type *vShape, const MathVector< dim > &x) const=0
 returns all shape functions evaluated at a point More...
 
virtual void shapes (std::vector< shape_type > &vShape, const MathVector< dim > &x) const=0
 returns all shape functions evaluated at a point More...
 
virtual void grads (grad_type *vGrad, const MathVector< dim > &x) const=0
 returns all gradients evaluated at a point More...
 
virtual void grads (std::vector< grad_type > &vGrad, const MathVector< dim > &x) const=0
 returns all gradients evaluated at a point More...
 
- Public Member Functions inherited from ug::DimLocalDoFSet< TDim >
 DimLocalDoFSet ()
 constructor More...
 
bool operator!= (const DimLocalDoFSet< TDim > &v) const
 inequality check More...
 
bool operator== (const DimLocalDoFSet< TDim > &v) const
 equality check More...
 
virtual bool position (size_t i, MathVector< TDim > &pos) const =0
 local position of DoF i More...
 
- Public Member Functions inherited from ug::LocalDoFSet
int dim () const
 returns the reference dimension More...
 
size_t num_dof (int d, size_t id) const
 returns the number of DoFs on a sub-geometric object of dim and id More...
 
bool operator!= (const LocalDoFSet &v) const
 inequality check More...
 
bool operator== (const LocalDoFSet &v) const
 equality check More...
 
virtual ~LocalDoFSet ()
 virtual destructor More...
 
size_t num_dof () const
 

Static Public Attributes

static const int dim = TImpl::dim
 reference element dimension More...
 
- Static Public Attributes inherited from ug::LocalShapeFunctionSet< TImpl::dim, TImpl::shape_type, TImpl::grad_type >
static const int dim
 Dimension, where shape functions are defined. More...
 

Private Types

typedef TImpl ImplType
 Implementation. More...
 

Detailed Description

template<typename TImpl>
class ug::LocalShapeFunctionSetWrapper< TImpl >

wrapper class implementing the LocalShapeFunctionSet interface

This class wrappes a class passed by the template argument into the virtual ILocalShapeFunctionSet interface and makes it thus usable in that context on the price of virtual functions.

Template Parameters
TImplImplementation of a Local Shape Function Set

Member Typedef Documentation

◆ grad_type

template<typename TImpl >
typedef ImplType::grad_type ug::LocalShapeFunctionSetWrapper< TImpl >::grad_type

Gradient type.

◆ ImplType

template<typename TImpl >
typedef TImpl ug::LocalShapeFunctionSetWrapper< TImpl >::ImplType
private

Implementation.

◆ shape_type

template<typename TImpl >
typedef ImplType::shape_type ug::LocalShapeFunctionSetWrapper< TImpl >::shape_type

Shape type.

Constructor & Destructor Documentation

◆ LocalShapeFunctionSetWrapper()

template<typename TImpl >
ug::LocalShapeFunctionSetWrapper< TImpl >::LocalShapeFunctionSetWrapper ( )
inline

constructor

Member Function Documentation

◆ continuous()

template<typename TImpl >
virtual bool ug::LocalShapeFunctionSetWrapper< TImpl >::continuous ( ) const
inlinevirtual

returns if space constructs continuous functions

Implements ug::LocalShapeFunctionSet< TImpl::dim, TImpl::shape_type, TImpl::grad_type >.

◆ exact_position_available()

template<typename TImpl >
virtual bool ug::LocalShapeFunctionSetWrapper< TImpl >::exact_position_available ( ) const
inlinevirtual

◆ grad()

template<typename TImpl >
virtual void ug::LocalShapeFunctionSetWrapper< TImpl >::grad ( grad_type g,
size_t  i,
const MathVector< dim > &  x 
) const
inlinevirtual

evaluates the gradient of the shape function

This function returns the gradient of Shape Function i at an element-local evaluation point.

Parameters
[in]inumber of DoF
[in]xPosition on reference element (evaluation point)
Returns
gradient at point

◆ grads() [1/3]

template<typename TImpl >
virtual void ug::LocalShapeFunctionSetWrapper< TImpl >::grads ( grad_type vGrad,
const MathVector< dim > &  x 
) const
inlinevirtual

returns all gradients evaluated at a point

This function returns the gradients of all Shape Functions at an element-local evaluation point in an array.

Parameters
[out]vGradVector of gradients
[in]xPosition on reference element (evaluation point)

◆ grads() [2/3]

template<typename TImpl >
virtual void ug::LocalShapeFunctionSetWrapper< TImpl >::grads ( std::vector< grad_type > &  vGrad,
const MathVector< dim > &  x 
) const
inlinevirtual

returns all gradients evaluated at a point

This function returns the gradients of all Shape Functions at an element-local evaluation point in an array.

Parameters
[out]vGradVector of gradients
[in]xPosition on reference element (evaluation point)

◆ grads() [3/3]

template<typename TImpl >
virtual void ug::LocalShapeFunctionSetWrapper< TImpl >::grads ( std::vector< std::vector< grad_type > > &  vvGrad,
const std::vector< MathVector< dim > > &  vLocPos 
) const
inlinevirtual

returns all gradients evaluated at a point

This function returns the gradients of all Shape Functions at an element-local evaluation point in an array.

Parameters
[out]vGradVector of gradients
[in]xPosition on reference element (evaluation point)

◆ local_dof()

template<typename TImpl >
virtual const LocalDoF& ug::LocalShapeFunctionSetWrapper< TImpl >::local_dof ( size_t  dof) const
inlinevirtual

returns the DoFs storage

Implements ug::LocalDoFSet.

◆ num_dof()

template<typename TImpl >
virtual size_t ug::LocalShapeFunctionSetWrapper< TImpl >::num_dof ( ReferenceObjectID  roid) const
inlinevirtual

returns the total number of dofs on the finite element

Implements ug::LocalDoFSet.

References ug::LocalShapeFunctionSetWrapper< TImpl >::roid().

◆ num_sh()

template<typename TImpl >
virtual size_t ug::LocalShapeFunctionSetWrapper< TImpl >::num_sh ( ) const
inlinevirtual

returns the total number of dofs on the finite element

Reimplemented from ug::LocalDoFSet.

◆ position()

template<typename TImpl >
virtual bool ug::LocalShapeFunctionSetWrapper< TImpl >::position ( size_t  i,
MathVector< dim > &  pos 
) const
inlinevirtual

local position of DoF i

This function returns the local position of a DoF if possible.

Parameters
[in]inumber of DoF
[out]posPosition of DoF
Return values
trueif position exists
falseif no meaningful position available

◆ roid()

template<typename TImpl >
virtual ReferenceObjectID ug::LocalShapeFunctionSetWrapper< TImpl >::roid ( ) const
inlinevirtual

◆ shape() [1/2]

template<typename TImpl >
virtual void ug::LocalShapeFunctionSetWrapper< TImpl >::shape ( shape_type s,
size_t  i,
const MathVector< dim > &  x 
) const
inlinevirtual

evaluates the shape function

This function returns the value of Shape Function i at an element-local evaluation point.

Parameters
[in]inumber of DoF
[in]xPosition on reference element (evaluation point)
Returns
shape function value at point

References dim, and s.

◆ shape() [2/2]

template<typename TImpl >
virtual shape_type ug::LocalShapeFunctionSetWrapper< TImpl >::shape ( size_t  i,
const MathVector< dim > &  x 
) const
inlinevirtual

evaluates the shape function

This function returns the value of Shape Function i at an element-local evaluation point.

Parameters
[in]inumber of DoF
[in]xPosition on reference element (evaluation point)
Returns
shape function value at point

Implements ug::LocalShapeFunctionSet< TImpl::dim, TImpl::shape_type, TImpl::grad_type >.

◆ shapes() [1/3]

template<typename TImpl >
virtual void ug::LocalShapeFunctionSetWrapper< TImpl >::shapes ( shape_type vShape,
const MathVector< dim > &  x 
) const
inlinevirtual

returns all shape functions evaluated at a point

This function returns the values of all Shape Functions at an element-local evaluation point in an array.

Parameters
[out]vShapeVector of Shapes
[in]xPosition on reference element (evaluation point)

◆ shapes() [2/3]

template<typename TImpl >
virtual void ug::LocalShapeFunctionSetWrapper< TImpl >::shapes ( std::vector< shape_type > &  vShape,
const MathVector< dim > &  x 
) const
inlinevirtual

returns all shape functions evaluated at a point

This function returns the values of all Shape Functions at an element-local evaluation point in an array.

Parameters
[out]vShapeVector of Shapes
[in]xPosition on reference element (evaluation point)

◆ shapes() [3/3]

template<typename TImpl >
virtual void ug::LocalShapeFunctionSetWrapper< TImpl >::shapes ( std::vector< std::vector< shape_type > > &  vvShape,
const std::vector< MathVector< dim > > &  vLocPos 
) const
inlinevirtual

returns all shape functions evaluated at a point

This function returns the values of all Shape Functions at an element-local evaluation point in an array.

Parameters
[out]vShapeVector of Shapes
[in]xPosition on reference element (evaluation point)

Member Data Documentation

◆ dim

template<typename TImpl >
const int ug::LocalShapeFunctionSetWrapper< TImpl >::dim = TImpl::dim
static

reference element dimension


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