KASKADE 7 development version
|
A container of hierarchic shape functions (see HierarchicSimplexShapeFunction) up to a given nominal order on the unit simplex of grid dimension. More...
#include <hierarchicshapefunctions.hh>
A container of hierarchic shape functions (see HierarchicSimplexShapeFunction) up to a given nominal order on the unit simplex of grid dimension.
For Ord<0, this set is empty.
Definition at line 398 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 | |
HierarchicSimplexShapeFunctionSet (int ord) | |
Constructs a hierarchic shape function set. More... | |
HierarchicSimplexShapeFunctionSet (HierarchicSimplexShapeFunctionSet const &other)=default | |
Copy constructor. More... | |
HierarchicSimplexShapeFunctionSet (HierarchicSimplexShapeFunctionSet &&other)=default | |
Move constructor. More... | |
virtual | ~HierarchicSimplexShapeFunctionSet () |
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::HierarchicSimplexShapeFunctionSet< ctype, dimension, Scalar >::Matrix |
Definition at line 402 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::HierarchicSimplexShapeFunctionSet< ctype, dimension, Scalar >::value_type |
Definition at line 401 of file hierarchicshapefunctions.hh.
|
inline |
Constructs a hierarchic shape function set.
The shape functions span the set \( \bigcup_{p=0}^{\mathrm{ord}} \Phi_p^d \) (see * HierarchicSimplexShapeFunction).
Definition at line 410 of file hierarchicshapefunctions.hh.
|
default |
Copy constructor.
|
default |
Move constructor.
|
inlinevirtual |
Definition at line 467 of file hierarchicshapefunctions.hh.
|
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 473 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 469 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 480 of file hierarchicshapefunctions.hh.
|
inlinevirtualinherited |
Number of shape functions in the set.
Definition at line 144 of file pshapefunctions.hh.
|
inlinevirtual |
Definition at line 471 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 490 of file hierarchicshapefunctions.hh.
Referenced by Kaskade::HierarchicSimplexShapeFunctionSet< ctype, dimension, Scalar >::interpolate().
|
protectedinherited |
Definition at line 288 of file pshapefunctions.hh.
|
protected |
Definition at line 489 of file hierarchicshapefunctions.hh.
Referenced by Kaskade::HierarchicSimplexShapeFunctionSet< ctype, dimension, Scalar >::HierarchicSimplexShapeFunctionSet(), Kaskade::HierarchicSimplexShapeFunctionSet< ctype, dimension, Scalar >::operator[](), and Kaskade::HierarchicSimplexShapeFunctionSet< ctype, dimension, Scalar >::removeShapeFunction().
|
protectedinherited |
Definition at line 290 of file pshapefunctions.hh.