KASKADE 7 development version
Public Member Functions | List of all members
Kaskade::ShapeFunction< ctype, dim, T, comp > Class Template Referenceabstract

Shape functions. More...

#include <pshapefunctions.hh>

Detailed Description

template<class ctype, int dim, class T = double, int comp = 1>
class Kaskade::ShapeFunction< ctype, dim, T, comp >

Shape functions.

This class provides a common interface to the access of shape functions

Template Parameters
ctypethe scalar type used for coordinates (usually double)
dimthe spatial dimension
TScalar type, the value field type of the shape functions
compnumber of components

A shape function lives on the reference element and may be scalar valued or vector valued:

\[ \phi: R^d \to T^m \]

with the spatial (grid) dimension \( d \), the value field type \( T \) (either a complex or a real type), and the vectorial dimension \( m \) (comp) of the image space. Shape function values are indeed defined not only on the reference element but on whole \( R^d \), even though the values outside the reference elements may be of little interest. It is possible to evaluate the shape function and its derivative.

Definition at line 57 of file pshapefunctions.hh.

Public Member Functions

virtual ~ShapeFunction ()
 
virtual Dune::FieldVector< T, comp > evaluateFunction (Dune::FieldVector< ctype, dim > const &xi) const =0
 Evaluates the shape function (all components at once). More...
 
virtual Dune::FieldMatrix< T, comp, dim > evaluateDerivative (Dune::FieldVector< ctype, dim > const &xi) const =0
 Evaluates the derivative of the shape function (all components and all directions at once). More...
 
virtual Tensor< T, comp, dim, dim > evaluate2ndDerivative (Dune::FieldVector< ctype, dim > const &xi) const
 Evaluates the second derivative of the shape function (all components and all directions at once). More...
 
virtual std::tuple< int, int, int, int > location () const =0
 Returns a tuple (nominalOrder,codim,entity,index) giving detailed information about the location of the shape function. More...
 

Constructor & Destructor Documentation

◆ ~ShapeFunction()

template<class ctype , int dim, class T = double, int comp = 1>
virtual Kaskade::ShapeFunction< ctype, dim, T, comp >::~ShapeFunction ( )
inlinevirtual

Definition at line 60 of file pshapefunctions.hh.

Member Function Documentation

◆ evaluate2ndDerivative()

template<class ctype , int dim, class T = double, int comp = 1>
virtual Tensor< T, comp, dim, dim > Kaskade::ShapeFunction< ctype, dim, T, comp >::evaluate2ndDerivative ( Dune::FieldVector< ctype, dim > const &  xi) const
inlinevirtual

◆ evaluateDerivative()

template<class ctype , int dim, class T = double, int comp = 1>
virtual Dune::FieldMatrix< T, comp, dim > Kaskade::ShapeFunction< ctype, dim, T, comp >::evaluateDerivative ( Dune::FieldVector< ctype, dim > const &  xi) const
pure virtual

◆ evaluateFunction()

template<class ctype , int dim, class T = double, int comp = 1>
virtual Dune::FieldVector< T, comp > Kaskade::ShapeFunction< ctype, dim, T, comp >::evaluateFunction ( Dune::FieldVector< ctype, dim > const &  xi) const
pure virtual

◆ location()

template<class ctype , int dim, class T = double, int comp = 1>
virtual std::tuple< int, int, int, int > Kaskade::ShapeFunction< ctype, dim, T, comp >::location ( ) const
pure virtual

Returns a tuple (nominalOrder,codim,entity,index) giving detailed information about the location of the shape function.

Each shape function is associated to a certain subentity of the element.

nominalOrder is a nonnegative ordering parameter that is usually the polynomial order of the shape function, but need not coincide.

codim is the codimension of the subentity to which the shape function is associated, entity is the number of the subentity, and index is the number of the shape function among those that are associated to the same subentity.

Implemented in Kaskade::HierarchicSimplexShapeFunction< ctype, dimension, Scalar >, Kaskade::LagrangeSimplexShapeFunction< ctype, dimension, Basis, Scalar >, Kaskade::LagrangeCubeShapeFunction< ctype, dimension, Scalar, O >, Kaskade::NedelecSimplexShapeFunction< ctype, dimension, T >, and Kaskade::HdivSimplexShapeFunction< ctype, dimension, T >.

Referenced by Kaskade::ContinuousHierarchicMapperImplementation< Scalar, GV, ShapeFunctionFilter >::entityIndex(), Kaskade::ContinuousHierarchicExtensionMapperImplementation< Scalar, GV, ShapeFunctionFilter >::entityIndex(), and Kaskade::ContinuousLagrangeMapperImplementation< ScalarType, GV, ShapeFunctionFilter >::entityIndex().


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