KASKADE 7 development version
|
A container of hierarchic shape functions of nominal order Ord on the unit simplex of grid dimension. For Ord<0, this set is empty. More...
#include <hierarchicshapefunctions.hh>
A container of hierarchic shape functions of nominal order Ord on the unit simplex of grid dimension. For Ord<0, this set is empty.
TODO: Common functionality of HierarchicExtensionSimplexShapeFunctionSet and HierarchicSimplexShapeFunctionSet should be factored out into a base class.
Definition at line 594 of file hierarchicshapefunctions.hh.
Public Types | |
typedef HierarchicSimplexShapeFunction< ctype, dimension, Scalar > | 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 | |
HierarchicExtensionSimplexShapeFunctionSet (int ord) | |
HierarchicExtensionSimplexShapeFunctionSet (HierarchicExtensionSimplexShapeFunctionSet const &other)=default | |
HierarchicExtensionSimplexShapeFunctionSet (HierarchicExtensionSimplexShapeFunctionSet &&other)=default | |
virtual value_type const & | operator[] (int i) const |
Random access to a shape function. More... | |
virtual Dune::GeometryType | type () const |
virtual void | interpolate (typename ShapeFunctionSet< ctype, dimension, Scalar >::SfValueArray const &A, Matrix &IA) const |
void | removeShapeFunction (size_t index) |
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... | |
Static Public Attributes | |
static int const | comps |
Number of components of the shape function values. More... | |
Protected Attributes | |
std::vector< value_type > | sf |
DynamicMatrix< Dune::FieldMatrix< Scalar, 1, 1 > > | pinv |
InterpolationNodes | iNodes |
Matrix | projection |
int | order_ |
int | size_ |
|
inherited |
A container type for holding interpolation points in the reference elements.
Definition at line 164 of file pshapefunctions.hh.
typedef ShapeFunctionSet<ctype,dimension,Scalar>::Matrix Kaskade::HierarchicExtensionSimplexShapeFunctionSet< ctype, dimension, Scalar >::Matrix |
Definition at line 598 of file hierarchicshapefunctions.hh.
|
inherited |
Scalar field type.
Definition at line 112 of file pshapefunctions.hh.
|
inherited |
A twodimensional array type for holding shape function values evaluated at a set of nodes.
Definition at line 168 of file pshapefunctions.hh.
typedef HierarchicSimplexShapeFunction<ctype,dimension,Scalar> Kaskade::HierarchicExtensionSimplexShapeFunctionSet< ctype, dimension, Scalar >::value_type |
Definition at line 597 of file hierarchicshapefunctions.hh.
|
inline |
Definition at line 600 of file hierarchicshapefunctions.hh.
|
default |
|
default |
|
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].
iNodes | the points at which the shape functions are to be evaluated. |
phi | the array that is filled with shape function values. The array will be resized if needed. |
Definition at line 253 of file pshapefunctions.hh.
|
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.
|
inlineinherited |
Initialize the hierarchical projection matrix based on the given lower order shape function set.
Definition at line 174 of file pshapefunctions.hh.
|
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.
|
inlinevirtual |
Definition at line 657 of file hierarchicshapefunctions.hh.
|
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.
|
inlinevirtual |
Random access to a shape function.
Implements Kaskade::ShapeFunctionSet< ctype, dimension, Scalar >.
Definition at line 650 of file hierarchicshapefunctions.hh.
|
inlineinherited |
Maximal polynomial order of shape functions.
Definition at line 149 of file pshapefunctions.hh.
|
inlineinherited |
Returns a reference to the reference element on which this shape function set is defined.
Definition at line 158 of file pshapefunctions.hh.
|
inlinevirtual |
Reimplemented from Kaskade::ShapeFunctionSet< ctype, dimension, Scalar >.
Definition at line 664 of file hierarchicshapefunctions.hh.
|
inlinevirtualinherited |
Number of shape functions in the set.
Definition at line 144 of file pshapefunctions.hh.
|
inlinevirtual |
Definition at line 652 of file hierarchicshapefunctions.hh.
|
staticinherited |
Number of components of the shape function values.
Definition at line 132 of file pshapefunctions.hh.
|
protectedinherited |
Definition at line 287 of file pshapefunctions.hh.
|
protectedinherited |
Definition at line 289 of file pshapefunctions.hh.
|
protected |
Definition at line 674 of file hierarchicshapefunctions.hh.
Referenced by Kaskade::HierarchicExtensionSimplexShapeFunctionSet< ctype, dimension, Scalar >::interpolate().
|
protectedinherited |
Definition at line 288 of file pshapefunctions.hh.
|
protected |
Definition at line 673 of file hierarchicshapefunctions.hh.
Referenced by Kaskade::HierarchicExtensionSimplexShapeFunctionSet< ctype, dimension, Scalar >::HierarchicExtensionSimplexShapeFunctionSet(), Kaskade::HierarchicExtensionSimplexShapeFunctionSet< ctype, dimension, Scalar >::operator[](), and Kaskade::HierarchicExtensionSimplexShapeFunctionSet< ctype, dimension, Scalar >::removeShapeFunction().
|
protectedinherited |
Definition at line 290 of file pshapefunctions.hh.