DUNE-FEM (unstable)

Dune::Fem::ShapeFunctionSet< FunctionSpace > Class Template Reference

Interface class for shape function sets. More...

#include <dune/fem/space/shapefunctionset/shapefunctionset.hh>

Public Types

typedef FunctionSpace FunctionSpaceType
 function space type
 
typedef FunctionSpaceType::DomainType DomainType
 domain type
 
typedef FunctionSpaceType::RangeType RangeType
 range type
 
typedef FunctionSpaceType::JacobianRangeType JacobianRangeType
 jacobian range type
 
typedef FunctionSpaceType::HessianRangeType HessianRangeType
 hessian range type
 

Public Member Functions

int order () const
 return order of shape functions
 
std::size_t size () const
 return number of shape functions
 
template<class Point , class Functor >
void evaluateEach (const Point &x, Functor functor) const
 evalute each shape function More...
 
template<class Point , class Functor >
void jacobianEach (const Point &x, Functor functor) const
 evalute jacobian of each shape function More...
 
template<class Point , class Functor >
void hessianEach (const Point &x, Functor functor) const
 evalute hessian of each shape function More...
 

Detailed Description

template<class FunctionSpace>
class Dune::Fem::ShapeFunctionSet< FunctionSpace >

Interface class for shape function sets.

This class cannot be used itself, it is for documentation purposes only.

Note
Constructor signatures are explicitly not specified by this interface.

Member Function Documentation

◆ evaluateEach()

template<class FunctionSpace >
template<class Point , class Functor >
void Dune::Fem::ShapeFunctionSet< FunctionSpace >::evaluateEach ( const Point &  x,
Functor  functor 
) const

evalute each shape function

Parameters
[in]xcoordinate or quadrature point
[in]functorfunctor call for evaluating each shape function

The functor has to be a copyable object satisfying the following interface:

struct Functor
{
template< class Value >
void operator() ( const int shapeFunction, const Value &value );
};

Referenced by Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::axpy(), Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::axpy(), Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::evaluateAll(), and Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::evaluateAll().

◆ hessianEach()

template<class FunctionSpace >
template<class Point , class Functor >
void Dune::Fem::ShapeFunctionSet< FunctionSpace >::hessianEach ( const Point &  x,
Functor  functor 
) const

evalute hessian of each shape function

Parameters
[in]xcoordinate or quadrature point
[in]functorfunctor call for evaluating the hessian of each shape function

The functor has to be a copyable object satisfying the following interface:

struct Functor
{
template< class Hessian >
void operator() ( const int shapeFunction, const Hessian &hessian );
};

Referenced by Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::axpy(), and Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::hessianAll().

◆ jacobianEach()

template<class FunctionSpace >
template<class Point , class Functor >
void Dune::Fem::ShapeFunctionSet< FunctionSpace >::jacobianEach ( const Point &  x,
Functor  functor 
) const

evalute jacobian of each shape function

Parameters
[in]xcoordinate or quadrature point
[in]functorfunctor call for evaluating the jacobian of each shape function

The functor has to be a copyable object satisfying the following interface:

struct Functor
{
template< class Jacobian >
void operator() ( const int shapeFunction, const Jacobian &jacobian );
};

Referenced by Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::axpy(), Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::axpy(), Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::jacobianAll(), and Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::jacobianAll().


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Jul 27, 22:29, 2024)