dune-functions 2.10
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
Dune::Functions::LeafPreBasisMapperMixin< GV > Class Template Reference

A generic MixIn class for PreBasis with flat indices computed from a mapper. More...

#include <dune/functions/functionspacebases/leafprebasismappermixin.hh>

Inheritance diagram for Dune::Functions::LeafPreBasisMapperMixin< GV >:
Inheritance graph

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 GridViewgridView () 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< GridViewmapper_
 
std::size_t maxNodeSize_
 

Detailed Description

template<typename GV>
class Dune::Functions::LeafPreBasisMapperMixin< GV >

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.

Template Parameters
GVThe grid view the basis is defined on.

Member Typedef Documentation

◆ GridView

template<typename GV >
using Dune::Functions::LeafPreBasisMapperMixin< GV >::GridView = GV

Type of the associated GridView.

◆ size_type

template<typename GV >
using Dune::Functions::LeafPreBasisMapperMixin< GV >::size_type = std::size_t

Type used for index digits.

Constructor & Destructor Documentation

◆ LeafPreBasisMapperMixin()

template<typename GV >
Dune::Functions::LeafPreBasisMapperMixin< GV >::LeafPreBasisMapperMixin ( const GridView gv,
Dune::MCMGLayout  layout 
)
inline

Construct from GridView and local DOF layout.

Member Function Documentation

◆ containerDescriptor()

auto Dune::Functions::LeafPreBasisMixin< LeafPreBasisMapperMixin< GV > >::containerDescriptor ( ) const
inlineinherited

Return a flat container-descriptor.

◆ dimension()

template<typename GV >
size_type Dune::Functions::LeafPreBasisMapperMixin< GV >::dimension ( ) const
inline

Return total number of basis functions.

◆ gridView()

template<typename GV >
const GridView & Dune::Functions::LeafPreBasisMapperMixin< GV >::gridView ( ) const
inline

Export the stored GridView.

◆ indices()

template<typename GV >
template<class Node , class It >
It Dune::Functions::LeafPreBasisMapperMixin< GV >::indices ( const Node &  node,
It  it 
) const
inline

Fill cache with global indices of DOFs associated to the given bound node.

◆ initializeIndices()

template<typename GV >
void Dune::Functions::LeafPreBasisMapperMixin< GV >::initializeIndices ( )
inline

Initialize the global index information.

◆ maxNodeSize()

template<typename GV >
size_type Dune::Functions::LeafPreBasisMapperMixin< GV >::maxNodeSize ( ) const
inline

Return maximal number of basis functions per element.

◆ size() [1/2]

size_type Dune::Functions::LeafPreBasisMixin< LeafPreBasisMapperMixin< GV > >::size ( ) const
inlineinherited

Get the total dimension of the space spanned by this basis.

◆ size() [2/2]

size_type Dune::Functions::LeafPreBasisMixin< LeafPreBasisMapperMixin< GV > >::size ( const SizePrefix &  prefix) const
inlineinherited

Return number of possible values for next position in multi index.

◆ update()

template<typename GV >
void Dune::Functions::LeafPreBasisMapperMixin< GV >::update ( const GridView gv)
inline

Update the stored GridView.

Member Data Documentation

◆ gridView_

template<typename GV >
GridView Dune::Functions::LeafPreBasisMapperMixin< GV >::gridView_
protected

◆ mapper_

template<typename GV >
Dune::MultipleCodimMultipleGeomTypeMapper<GridView> Dune::Functions::LeafPreBasisMapperMixin< GV >::mapper_
protected

◆ maxMultiIndexSize

constexpr size_type Dune::Functions::LeafPreBasisMixin< LeafPreBasisMapperMixin< GV > >::maxMultiIndexSize
staticconstexprinherited

Maximal length of global multi-indices.

◆ maxNodeSize_

template<typename GV >
std::size_t Dune::Functions::LeafPreBasisMapperMixin< GV >::maxNodeSize_
protected

◆ minMultiIndexSize

constexpr size_type Dune::Functions::LeafPreBasisMixin< LeafPreBasisMapperMixin< GV > >::minMultiIndexSize
staticconstexprinherited

Minimal length of global multi-indices.

◆ multiIndexBufferSize

constexpr size_type Dune::Functions::LeafPreBasisMixin< LeafPreBasisMapperMixin< GV > >::multiIndexBufferSize
staticconstexprinherited

Size required temporarily when constructing global multi-indices.


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