Dune-Functions 2.11
Loading...
Searching...
No Matches
Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T > Class Template Reference

A pre-basis transforming multi-indices. More...

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

Public Types

using RawPreBasis = RPB
using GridView = typename RawPreBasis::GridView
 The grid view that the FE basis is defined on.
using size_type = std::size_t
 Type used for indices and size information.
using Node = typename RawPreBasis::Node
 Template mapping root tree path to type of created tree node.

Public Member Functions

template<class RPB_R, class T_R>
 TransformedIndexPreBasis (RPB_R &&rawPreBasis, T_R &&transformation)
 Constructor for given child pre-basis objects.
void initializeIndices ()
 Initialize the global indices.
const GridViewgridView () const
 Obtain the grid view that the basis is defined on.
void update (const GridView &gv)
 Update the stored grid view, to be called if the grid has changed.
Node makeNode () const
 Create tree node.
size_type size () const
 Same as size(prefix) with empty prefix.
template<class SizePrefix>
size_type size (const SizePrefix &prefix) const
 Return number of possible values for next position in multi index.
auto containerDescriptor () const
 Return the container descriptor of the transformed pre-basis.
size_type dimension () const
 Get the total dimension of the space spanned by this basis.
size_type maxNodeSize () const
 Get the maximal number of DOFs associated to node for any element.
const RawPreBasisrawPreBasis () const
RawPreBasisrawPreBasis ()
template<class MultiIndex>
void transformIndex (MultiIndex &multiIndex) const
template<typename It>
It indices (const Node &node, It it) const

Static Public Attributes

static constexpr size_type maxMultiIndexSize = Transformation::maxIndexSize
static constexpr size_type minMultiIndexSize = Transformation::minIndexSize
static constexpr size_type multiIndexBufferSize = std::max(RawPreBasis::multiIndexBufferSize, maxMultiIndexSize)

Protected Attributes

RawPreBasis rawPreBasis_
Transformation transformation_

Detailed Description

template<class RPB, class T>
class Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >

A pre-basis transforming multi-indices.

Warning
This is experimental and may be removed or modified in a non-compatible way. When using this functionality take care to follow the dune-functions development to be aware of possible changes.

This pre-basis wraps another pre-basis and transforms its global multi-indices.

Template Parameters
RPBRaw PreBasis to be wrapped
TClass of the index transformation

Member Typedef Documentation

◆ GridView

template<class RPB, class T>
using Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::GridView = typename RawPreBasis::GridView

The grid view that the FE basis is defined on.

◆ Node

template<class RPB, class T>
using Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::Node = typename RawPreBasis::Node

Template mapping root tree path to type of created tree node.

◆ RawPreBasis

template<class RPB, class T>
using Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::RawPreBasis = RPB

◆ size_type

template<class RPB, class T>
using Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::size_type = std::size_t

Type used for indices and size information.

Constructor & Destructor Documentation

◆ TransformedIndexPreBasis()

template<class RPB, class T>
template<class RPB_R, class T_R>
Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::TransformedIndexPreBasis ( RPB_R && rawPreBasis,
T_R && transformation )
inline

Constructor for given child pre-basis objects.

The child pre-basis will be stored as copies

Member Function Documentation

◆ containerDescriptor()

template<class RPB, class T>
auto Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::containerDescriptor ( ) const
inline

Return the container descriptor of the transformed pre-basis.

◆ dimension()

template<class RPB, class T>
size_type Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::dimension ( ) const
inline

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

◆ gridView()

template<class RPB, class T>
const GridView & Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::gridView ( ) const
inline

Obtain the grid view that the basis is defined on.

◆ indices()

template<class RPB, class T>
template<typename It>
It Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::indices ( const Node & node,
It it ) const
inline

◆ initializeIndices()

template<class RPB, class T>
void Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::initializeIndices ( )
inline

Initialize the global indices.

◆ makeNode()

template<class RPB, class T>
Node Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::makeNode ( ) const
inline

Create tree node.

◆ maxNodeSize()

template<class RPB, class T>
size_type Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::maxNodeSize ( ) const
inline

Get the maximal number of DOFs associated to node for any element.

◆ rawPreBasis() [1/2]

template<class RPB, class T>
RawPreBasis & Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::rawPreBasis ( )
inline

◆ rawPreBasis() [2/2]

template<class RPB, class T>
const RawPreBasis & Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::rawPreBasis ( ) const
inline

◆ size() [1/2]

template<class RPB, class T>
size_type Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::size ( ) const
inline

Same as size(prefix) with empty prefix.

◆ size() [2/2]

template<class RPB, class T>
template<class SizePrefix>
size_type Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::size ( const SizePrefix & prefix) const
inline

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

◆ transformIndex()

template<class RPB, class T>
template<class MultiIndex>
void Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::transformIndex ( MultiIndex & multiIndex) const
inline

◆ update()

template<class RPB, class T>
void Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::update ( const GridView & gv)
inline

Update the stored grid view, to be called if the grid has changed.

Member Data Documentation

◆ maxMultiIndexSize

template<class RPB, class T>
size_type Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::maxMultiIndexSize = Transformation::maxIndexSize
staticconstexpr

◆ minMultiIndexSize

template<class RPB, class T>
size_type Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::minMultiIndexSize = Transformation::minIndexSize
staticconstexpr

◆ multiIndexBufferSize

template<class RPB, class T>
size_type Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::multiIndexBufferSize = std::max(RawPreBasis::multiIndexBufferSize, maxMultiIndexSize)
staticconstexpr

◆ rawPreBasis_

template<class RPB, class T>
RawPreBasis Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::rawPreBasis_
protected

◆ transformation_

template<class RPB, class T>
Transformation Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::transformation_
protected

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