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

#include <pshapefunctions.hh>

Detailed Description

template<class ctype, int dimension, class T, int comp = 1>
class Kaskade::EmptyShapeFunctionSet< ctype, dimension, T, comp >

Definition at line 299 of file pshapefunctions.hh.

Inheritance diagram for Kaskade::EmptyShapeFunctionSet< ctype, dimension, T, comp >:
Kaskade::ShapeFunctionSet< ctype, dimension, T, 1 >

Public Types

typedef T Scalar
 Scalar field type. More...
 
typedef ShapeFunction< ctype, dimension, T, comp > value_type
 type of one shape function More...
 
typedef DynamicMatrix< Dune::FieldMatrix< T, 1, 1 > > Matrix
 A matrix type mapping one-component coefficient vectors. 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< T, comp, 1 > > SfValueArray
 

Public Member Functions

 EmptyShapeFunctionSet (Dune::GeometryType const &gt)
 
virtual Base::value_type const & operator[] (int i) const
 Random access to a shape function. More...
 
virtual void interpolate (typename Base::SfValueArray const &A, typename Base::Matrix &IA) const
 
virtual int size () const
 Number of shape functions in the set. More...
 
int order () const
 Maximal polynomial order of shape functions. More...
 
Dune::GeometryType type () const
 Type of geometry on which the shape functions are defined. More...
 
auto referenceElement () const
 
void initHierarchicalProjection (ShapeFunctionSet< ctype, dimension, T, comp > 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, T, comp >::InterpolationNodes
inherited

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

Definition at line 164 of file pshapefunctions.hh.

◆ Matrix

typedef DynamicMatrix<Dune::FieldMatrix<T,1,1> > Kaskade::ShapeFunctionSet< ctype, dimension, T, comp >::Matrix
inherited

A matrix type mapping one-component coefficient vectors.

Definition at line 119 of file pshapefunctions.hh.

◆ Scalar

typedef T Kaskade::ShapeFunctionSet< ctype, dimension, T, comp >::Scalar
inherited

Scalar field type.

Definition at line 112 of file pshapefunctions.hh.

◆ SfValueArray

typedef DynamicMatrix<Dune::FieldMatrix<T,comp,1> > Kaskade::ShapeFunctionSet< ctype, dimension, T, comp >::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

typedef ShapeFunction<ctype,dimension,T,comp> Kaskade::ShapeFunctionSet< ctype, dimension, T, comp >::value_type
inherited

type of one shape function

Definition at line 114 of file pshapefunctions.hh.

Constructor & Destructor Documentation

◆ EmptyShapeFunctionSet()

template<class ctype , int dimension, class T , int comp = 1>
Kaskade::EmptyShapeFunctionSet< ctype, dimension, T, comp >::EmptyShapeFunctionSet ( Dune::GeometryType const &  gt)
inline

Definition at line 303 of file pshapefunctions.hh.

Member Function Documentation

◆ evaluate()

void Kaskade::ShapeFunctionSet< ctype, dimension, T, comp >::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, T, comp >::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, T, comp >::initHierarchicalProjection ( ShapeFunctionSet< ctype, dimension, T, comp > 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, T, comp >::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 T , int comp = 1>
virtual void Kaskade::EmptyShapeFunctionSet< ctype, dimension, T, comp >::interpolate ( typename Base::SfValueArray const &  A,
typename Base::Matrix IA 
) const
inlinevirtual

Definition at line 309 of file pshapefunctions.hh.

◆ interpolationNodes()

InterpolationNodes const & Kaskade::ShapeFunctionSet< ctype, dimension, T, comp >::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 T , int comp = 1>
virtual Base::value_type const & Kaskade::EmptyShapeFunctionSet< ctype, dimension, T, comp >::operator[] ( int  i) const
inlinevirtual

Random access to a shape function.

Implements Kaskade::ShapeFunctionSet< ctype, dimension, T, 1 >.

Definition at line 308 of file pshapefunctions.hh.

◆ order()

int Kaskade::ShapeFunctionSet< ctype, dimension, T, comp >::order ( ) const
inlineinherited

Maximal polynomial order of shape functions.

Definition at line 149 of file pshapefunctions.hh.

◆ referenceElement()

auto Kaskade::ShapeFunctionSet< ctype, dimension, T, comp >::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, T, comp >::removeShapeFunction ( size_t  index)
inlinevirtualinherited

Definition at line 284 of file pshapefunctions.hh.

◆ size()

virtual int Kaskade::ShapeFunctionSet< ctype, dimension, T, comp >::size ( ) const
inlinevirtualinherited

Number of shape functions in the set.

Definition at line 144 of file pshapefunctions.hh.

◆ type()

Dune::GeometryType Kaskade::ShapeFunctionSet< ctype, dimension, T, comp >::type ( ) const
inlineinherited

Type of geometry on which the shape functions are defined.

Definition at line 152 of file pshapefunctions.hh.

Member Data Documentation

◆ comps

int const Kaskade::ShapeFunctionSet< ctype, dimension, T, comp >::comps
staticinherited

Number of components of the shape function values.

Definition at line 132 of file pshapefunctions.hh.

◆ iNodes

InterpolationNodes Kaskade::ShapeFunctionSet< ctype, dimension, T, comp >::iNodes
protectedinherited

Definition at line 287 of file pshapefunctions.hh.

◆ order_

int Kaskade::ShapeFunctionSet< ctype, dimension, T, comp >::order_
protectedinherited

Definition at line 289 of file pshapefunctions.hh.

◆ projection

Matrix Kaskade::ShapeFunctionSet< ctype, dimension, T, comp >::projection
protectedinherited

Definition at line 288 of file pshapefunctions.hh.

◆ size_

int Kaskade::ShapeFunctionSet< ctype, dimension, T, comp >::size_
protectedinherited

Definition at line 290 of file pshapefunctions.hh.


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