Intrepid2
|
Serendipity Basis, defined as the sub-basis of a provided basis, consisting of basis elements for which tensorial component polynomial orders satisfy the Serendipity criterion. More...
#include <Intrepid2_SerendipityBasis.hpp>
Public Member Functions | |
SerendipityBasis (BasisPtr fullBasis) | |
Constructor. More... | |
virtual int | getNumTensorialExtrusions () const override |
virtual BasisValues < OutputValueType, DeviceType > | allocateBasisValues (TensorPoints< PointValueType, DeviceType > points, const EOperator operatorType=OPERATOR_VALUE) const override |
Allocate BasisValues container suitable for passing to the getValues() variant that takes a TensorPoints container as argument. More... | |
virtual const char * | getName () const override |
Returns basis name. More... | |
virtual void | getValues (BasisValues< OutputValueType, DeviceType > outputValues, const TensorPoints< PointValueType, DeviceType > inputPoints, const EOperator operatorType=OPERATOR_VALUE) const override |
Evaluation of a FEM basis on a reference cell, using point and output value containers that allow preservation of tensor-product structure. More... | |
virtual void | getValues (OutputViewType outputValues, const PointViewType inputPoints, const EOperator operatorType=OPERATOR_VALUE) const override |
Evaluation of a FEM basis on a reference cell. More... | |
virtual HostBasisPtr < OutputValueType, PointValueType > | getHostBasis () const override |
Creates and returns a Basis object whose DeviceType template argument is Kokkos::HostSpace::device_type, but is otherwise identical to this. More... | |
BasisPtr | getUnderlyingBasis () const |
Returns a pointer to the underlying full basis. More... | |
OrdinalTypeArray1D | ordinalMap () const |
Returns the ordinal map from the Serendipity basis ordinal to the ordinal in the underlying full basis. More... | |
Protected Attributes | |
BasisPtr | fullBasis_ |
std::string | name_ |
int | numTensorialExtrusions_ |
OrdinalTypeArray1D | ordinalMap_ |
Serendipity Basis, defined as the sub-basis of a provided basis, consisting of basis elements for which tensorial component polynomial orders satisfy the Serendipity criterion.
Definition at line 28 of file Intrepid2_SerendipityBasis.hpp.
|
inline |
Constructor.
[in] | basis | - the full, hierarchical basis |
Definition at line 59 of file Intrepid2_SerendipityBasis.hpp.
|
inlineoverridevirtual |
Allocate BasisValues container suitable for passing to the getValues() variant that takes a TensorPoints container as argument.
The basic exact-sequence operators are supported (VALUE, GRAD, DIV, CURL), as are the Dn operators (OPERATOR_D1 through OPERATOR_D10).
Definition at line 197 of file Intrepid2_SerendipityBasis.hpp.
|
inlineoverridevirtual |
Creates and returns a Basis object whose DeviceType template argument is Kokkos::HostSpace::device_type, but is otherwise identical to this.
Definition at line 271 of file Intrepid2_SerendipityBasis.hpp.
|
inlineoverridevirtual |
Returns basis name.
Definition at line 215 of file Intrepid2_SerendipityBasis.hpp.
|
inline |
Returns a pointer to the underlying full basis.
Definition at line 282 of file Intrepid2_SerendipityBasis.hpp.
|
inlineoverridevirtual |
Evaluation of a FEM basis on a reference cell, using point and output value containers that allow preservation of tensor-product structure.
Returns values of operatorType acting on FEM basis functions for a set of points in the reference cell for which the basis is defined.
outputValues | [out] - variable rank array with the basis values. Should be allocated using Basis::allocateBasisValues(). |
inputPoints | [in] - rank-2 array (P,D) with the evaluation points. This should be allocated using Cubature::allocateCubaturePoints() and filled using Cubature::getCubature(). |
operatorType | [in] - the operator acting on the basis function |
This is the preferred getValues() method for SerendipityBasis. It allows a reduced memory footprint and optimized integration, etc.
Definition at line 232 of file Intrepid2_SerendipityBasis.hpp.
|
inlineoverridevirtual |
Evaluation of a FEM basis on a reference cell.
Returns values of operatorType acting on FEM basis functions for a set of points in the reference cell for which the basis is defined.
outputValues | [out] - variable rank array with the basis values |
inputPoints | [in] - rank-2 array (P,D) with the evaluation points |
operatorType | [in] - the operator acting on the basis functions |
Definition at line 259 of file Intrepid2_SerendipityBasis.hpp.
|
inline |
Returns the ordinal map from the Serendipity basis ordinal to the ordinal in the underlying full basis.
Definition at line 291 of file Intrepid2_SerendipityBasis.hpp.