dune-functions 2.10
|
A generic MixIn class for PreBasis with flat indices computed from a mapper. More...
#include <dune/functions/functionspacebases/leafprebasismappermixin.hh>
Public Types | |
using | GridView = GV |
Type of the associated GridView. | |
using | size_type = std::size_t |
Type used for index digits. | |
Public Member Functions | |
LeafPreBasisMapperMixin (const GridView &gv, Dune::MCMGLayout layout) | |
Construct from GridView and local DOF layout. | |
void | initializeIndices () |
Initialize the global index information. | |
const GridView & | gridView () const |
Export the stored GridView. | |
void | update (const GridView &gv) |
Update the stored GridView. | |
size_type | dimension () const |
Return total number of basis functions. | |
size_type | maxNodeSize () const |
Return maximal number of basis functions per element. | |
template<class Node , class It > | |
It | indices (const Node &node, It it) const |
Fill cache with global indices of DOFs associated to the given bound node. | |
size_type | size (const SizePrefix &prefix) const |
Return number of possible values for next position in multi index. | |
size_type | size () const |
Get the total dimension of the space spanned by this basis. | |
auto | containerDescriptor () const |
Return a flat container-descriptor. | |
Static Public Attributes | |
static constexpr size_type | maxMultiIndexSize |
Maximal length of global multi-indices. | |
static constexpr size_type | minMultiIndexSize |
Minimal length of global multi-indices. | |
static constexpr size_type | multiIndexBufferSize |
Size required temporarily when constructing global multi-indices. | |
Protected Attributes | |
GridView | gridView_ |
Dune::MultipleCodimMultipleGeomTypeMapper< GridView > | mapper_ |
std::size_t | maxNodeSize_ |
A generic MixIn class for PreBasis with flat indices computed from a mapper.
This abstracts all index computations that can be implemented using a MultipleCodimMultipleGeomTypeMapper with appropriate MCMGLayout. In order to use this, you need to derive from this class and pass the layout in the constructor. Then the mixin takes care for all the index and size computation and the derived class only needs to add the node creation.
Be careful: This does not do any reordering of indices if multiple basis functions are associated to the same subentity.
GV | The grid view the basis is defined on. |
using Dune::Functions::LeafPreBasisMapperMixin< GV >::GridView = GV |
Type of the associated GridView.
using Dune::Functions::LeafPreBasisMapperMixin< GV >::size_type = std::size_t |
Type used for index digits.
|
inline |
Construct from GridView and local DOF layout.
|
inlineinherited |
Return a flat container-descriptor.
|
inline |
Return total number of basis functions.
|
inline |
Export the stored GridView.
|
inline |
Fill cache with global indices of DOFs associated to the given bound node.
|
inline |
Initialize the global index information.
|
inline |
Return maximal number of basis functions per element.
|
inlineinherited |
Get the total dimension of the space spanned by this basis.
|
inlineinherited |
Return number of possible values for next position in multi index.
|
inline |
Update the stored GridView.
|
protected |
|
protected |
|
staticconstexprinherited |
Maximal length of global multi-indices.
|
protected |
|
staticconstexprinherited |
Minimal length of global multi-indices.
|
staticconstexprinherited |
Size required temporarily when constructing global multi-indices.