KASKADE 7 development version
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
Kaskade::LagrangeCubeShapeFunctionSet< ctype, dimension, Scalar, Ord > Class Template Referenceabstract

#include <lagrangeshapefunctions.hh>

Detailed Description

template<class ctype, int dimension, class Scalar, int Ord>
class Kaskade::LagrangeCubeShapeFunctionSet< ctype, dimension, Scalar, Ord >

Definition at line 788 of file lagrangeshapefunctions.hh.

Inheritance diagram for Kaskade::LagrangeCubeShapeFunctionSet< ctype, dimension, Scalar, Ord >:
Kaskade::ShapeFunctionSet< ctype, dimension, Scalar >

Public Types

typedef LagrangeCubeShapeFunction< ctype, dimension, Scalar, Ord > value_type
 
typedef ShapeFunctionSet< ctype, dimension, Scalar >::Matrix Matrix
 
typedef Scalar Scalar
 Scalar field type. More...
 
typedef std::vector< Dune::FieldVector< ctype, dimension > > InterpolationNodes
 A container type for holding interpolation points in the reference elements. More...
 
typedef DynamicMatrix< Dune::FieldMatrix< Scalar, 1, 1 > > SfValueArray
 

Public Member Functions

 LagrangeCubeShapeFunctionSet ()
 
virtual void interpolate (typename ShapeFunctionSet< ctype, dimension, Scalar >::SfValueArray const &A, Matrix &IA) const
 
virtual value_type const & operator[] (int i) const
 Random access to a shape function. More...
 
virtual Dune::GeometryType type () const
 
virtual int size () const
 Number of shape functions in the set. More...
 
int order () const
 Maximal polynomial order of shape functions. More...
 
auto referenceElement () const
 
void initHierarchicalProjection (ShapeFunctionSet< ctype, dimension, Scalar, 1 > const *sfl)
 Initialize the hierarchical projection matrix based on the given lower order shape function set. More...
 
InterpolationNodes const & interpolationNodes () const
 Interpolation points. More...
 
virtual void interpolate (SfValueArray const &A, Matrix &IA) const=0
 Left-multiplies the provided matrix with the interpolation matrix of the shape function set. More...
 
void evaluate (InterpolationNodes const &iNodes, SfValueArray &phi) const
 Evaluate shape function set at a set of points. In notation of the LocalToGlobalMapperConcept, this gives the matrix \( \Phi \): the entry Phi[i][j] is the value of shape function j evaluated at iNodes[i]. More...
 
Matrix const & hierarchicProjection () const
 Returns a square matrix that projects shape function coefficients to a subspace spanned by shape functions of lower order. This is intended to be used to implement embedded error estimators. The actual definition of this subspace depends on the shape function set specified in the call to initHierarchicalProjection(). More...
 
virtual void removeShapeFunction (size_t index)
 

Static Public Attributes

static int const comps
 Number of components of the shape function values. More...
 

Protected Attributes

InterpolationNodes iNodes
 
Matrix projection
 
int order_
 
int size_
 

Member Typedef Documentation

◆ InterpolationNodes

typedef std::vector<Dune::FieldVector<ctype,dimension> > Kaskade::ShapeFunctionSet< ctype, dimension, Scalar , 1 >::InterpolationNodes
inherited

A container type for holding interpolation points in the reference elements.

Definition at line 164 of file pshapefunctions.hh.

◆ Matrix

template<class ctype , int dimension, class Scalar , int Ord>
typedef ShapeFunctionSet<ctype,dimension,Scalar>::Matrix Kaskade::LagrangeCubeShapeFunctionSet< ctype, dimension, Scalar, Ord >::Matrix

Definition at line 792 of file lagrangeshapefunctions.hh.

◆ Scalar

typedef Scalar Kaskade::ShapeFunctionSet< ctype, dimension, Scalar , 1 >::Scalar
inherited

Scalar field type.

Definition at line 112 of file pshapefunctions.hh.

◆ SfValueArray

typedef DynamicMatrix<Dune::FieldMatrix<Scalar ,1 ,1> > Kaskade::ShapeFunctionSet< ctype, dimension, Scalar , 1 >::SfValueArray
inherited

A twodimensional array type for holding shape function values evaluated at a set of nodes.

Definition at line 168 of file pshapefunctions.hh.

◆ value_type

template<class ctype , int dimension, class Scalar , int Ord>
typedef LagrangeCubeShapeFunction<ctype,dimension,Scalar,Ord> Kaskade::LagrangeCubeShapeFunctionSet< ctype, dimension, Scalar, Ord >::value_type

Definition at line 791 of file lagrangeshapefunctions.hh.

Constructor & Destructor Documentation

◆ LagrangeCubeShapeFunctionSet()

template<class ctype , int dimension, class Scalar , int Ord>
Kaskade::LagrangeCubeShapeFunctionSet< ctype, dimension, Scalar, Ord >::LagrangeCubeShapeFunctionSet ( )

Member Function Documentation

◆ evaluate()

void Kaskade::ShapeFunctionSet< ctype, dimension, Scalar , 1 >::evaluate ( InterpolationNodes const &  iNodes,
SfValueArray phi 
) const
inlineinherited

Evaluate shape function set at a set of points. In notation of the LocalToGlobalMapperConcept, this gives the matrix \( \Phi \): the entry Phi[i][j] is the value of shape function j evaluated at iNodes[i].

Parameters
iNodesthe points at which the shape functions are to be evaluated.
phithe array that is filled with shape function values. The array will be resized if needed.

Definition at line 253 of file pshapefunctions.hh.

◆ hierarchicProjection()

Matrix const & Kaskade::ShapeFunctionSet< ctype, dimension, Scalar , 1 >::hierarchicProjection ( ) const
inlineinherited

Returns a square matrix that projects shape function coefficients to a subspace spanned by shape functions of lower order. This is intended to be used to implement embedded error estimators. The actual definition of this subspace depends on the shape function set specified in the call to initHierarchicalProjection().

Definition at line 276 of file pshapefunctions.hh.

◆ initHierarchicalProjection()

void Kaskade::ShapeFunctionSet< ctype, dimension, Scalar , 1 >::initHierarchicalProjection ( ShapeFunctionSet< ctype, dimension, Scalar , 1 > const *  sfl)
inlineinherited

Initialize the hierarchical projection matrix based on the given lower order shape function set.

Definition at line 174 of file pshapefunctions.hh.

◆ interpolate() [1/2]

virtual void Kaskade::ShapeFunctionSet< ctype, dimension, Scalar , 1 >::interpolate ( SfValueArray const &  A,
Matrix IA 
) const
pure virtualinherited

Left-multiplies the provided matrix with the interpolation matrix of the shape function set.

Each column of A is interpreted as values of some function evaluated at this shape function set's interpolation points (see below). The columns of the output array IA then contain the shape function coefficients such that the corresponding linearcombination of shape functions "interpolates" that function in the interpolation points. What "interpolation" means is up to the actual implementation.

IA is automatically resized if needed.

Storage order: A[i][j] contains the value of function j at interpolation node i.

◆ interpolate() [2/2]

template<class ctype , int dimension, class Scalar , int Ord>
virtual void Kaskade::LagrangeCubeShapeFunctionSet< ctype, dimension, Scalar, Ord >::interpolate ( typename ShapeFunctionSet< ctype, dimension, Scalar >::SfValueArray const &  A,
Matrix IA 
) const
inlinevirtual

Definition at line 796 of file lagrangeshapefunctions.hh.

◆ interpolationNodes()

InterpolationNodes const & Kaskade::ShapeFunctionSet< ctype, dimension, Scalar , 1 >::interpolationNodes ( ) const
inlineinherited

Interpolation points.

Provides interpolation points such that the shape function coefficients can be computed from function values at interpolation nodes by multiplication by this matrix. The interpolation points are guaranteed to be inside the reference element associated to this shape function set.

Definition at line 218 of file pshapefunctions.hh.

◆ operator[]()

template<class ctype , int dimension, class Scalar , int Ord>
virtual value_type const & Kaskade::LagrangeCubeShapeFunctionSet< ctype, dimension, Scalar, Ord >::operator[] ( int  i) const
inlinevirtual

Random access to a shape function.

Implements Kaskade::ShapeFunctionSet< ctype, dimension, Scalar >.

Definition at line 804 of file lagrangeshapefunctions.hh.

◆ order()

int Kaskade::ShapeFunctionSet< ctype, dimension, Scalar , 1 >::order ( ) const
inlineinherited

Maximal polynomial order of shape functions.

Definition at line 149 of file pshapefunctions.hh.

◆ referenceElement()

auto Kaskade::ShapeFunctionSet< ctype, dimension, Scalar , 1 >::referenceElement ( ) const
inlineinherited

Returns a reference to the reference element on which this shape function set is defined.

Definition at line 158 of file pshapefunctions.hh.

◆ removeShapeFunction()

virtual void Kaskade::ShapeFunctionSet< ctype, dimension, Scalar , 1 >::removeShapeFunction ( size_t  index)
inlinevirtualinherited

◆ size()

virtual int Kaskade::ShapeFunctionSet< ctype, dimension, Scalar , 1 >::size ( ) const
inlinevirtualinherited

Number of shape functions in the set.

Definition at line 144 of file pshapefunctions.hh.

◆ type()

template<class ctype , int dimension, class Scalar , int Ord>
virtual Dune::GeometryType Kaskade::LagrangeCubeShapeFunctionSet< ctype, dimension, Scalar, Ord >::type ( ) const
inlinevirtual

Definition at line 805 of file lagrangeshapefunctions.hh.

Member Data Documentation

◆ comps

int const Kaskade::ShapeFunctionSet< ctype, dimension, Scalar , 1 >::comps
staticinherited

Number of components of the shape function values.

Definition at line 132 of file pshapefunctions.hh.

◆ iNodes

InterpolationNodes Kaskade::ShapeFunctionSet< ctype, dimension, Scalar , 1 >::iNodes
protectedinherited

Definition at line 287 of file pshapefunctions.hh.

◆ order_

int Kaskade::ShapeFunctionSet< ctype, dimension, Scalar , 1 >::order_
protectedinherited

Definition at line 289 of file pshapefunctions.hh.

◆ projection

Matrix Kaskade::ShapeFunctionSet< ctype, dimension, Scalar , 1 >::projection
protectedinherited

Definition at line 288 of file pshapefunctions.hh.

◆ size_

int Kaskade::ShapeFunctionSet< ctype, dimension, Scalar , 1 >::size_
protectedinherited

Definition at line 290 of file pshapefunctions.hh.


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