Loading...
Searching...
No Matches
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 >:

## 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.
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_

## 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

  GV | The 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

inline inherited

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()

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

inline inherited

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

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

static constexpr inherited

Maximal length of global multi-indices.

## maxNodeSize_

template<typename GV>

std::size_t Dune::Functions::LeafPreBasisMapperMixin< GV >::maxNodeSize_

protected

## minMultiIndexSize

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

static constexpr inherited

Minimal length of global multi-indices.

## multiIndexBufferSize

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

static constexpr inherited

Size required temporarily when constructing global multi-indices.

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

- leafprebasismappermixin.hh