dune-functions  2.6-dev
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
Dune::Functions::CompositeNodeIndexSet< MI, TP, IMS, SPB > Class Template Reference

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

Classes

struct  Lambda_PreBasisToSubIndexSet
 

Public Types

template<std::size_t k>
using SubPreBasis = typename std::tuple_element< k, std::tuple< SPB... > >::type
 
using GridView = typename SubPreBasis< 0 >::GridView
 
using size_type = std::size_t
 
using IndexMergingStrategy = IMS
 
using MultiIndex = MI
 Type used for global numbering of the basis vectors. More...
 
using PreBasis = CompositePreBasis< MI, IMS, SPB... >
 
using Node = typename PreBasis::template Node< TP >
 
using SubTreePaths = typename PreBasis::template FixedTP< TP >::SubTreePaths
 
using SubIndexSets = typename PreBasis::template FixedTP< TP >::SubIndexSets
 

Public Member Functions

 CompositeNodeIndexSet (const PreBasis &preBasis)
 
void bind (const Node &node)
 
void unbind ()
 
size_type size () const
 
template<typename It >
It indices (It it) const
 Maps from subtree index set [0..size-1] to a globally unique multi index in global basis. More...
 
template<typename It >
It indices (It multiIndices, BasisBuilder::FlatLexicographic) const
 
template<typename It >
It indices (It multiIndices, BasisBuilder::BlockedLexicographic) const
 

Static Public Member Functions

static const void multiIndexPushFront (MultiIndex &M, size_type M0)
 

Member Typedef Documentation

◆ GridView

template<class MI , class TP , class IMS , class... SPB>
using Dune::Functions::CompositeNodeIndexSet< MI, TP, IMS, SPB >::GridView = typename SubPreBasis<0>::GridView

◆ IndexMergingStrategy

template<class MI , class TP , class IMS , class... SPB>
using Dune::Functions::CompositeNodeIndexSet< MI, TP, IMS, SPB >::IndexMergingStrategy = IMS

◆ MultiIndex

template<class MI , class TP , class IMS , class... SPB>
using Dune::Functions::CompositeNodeIndexSet< MI, TP, IMS, SPB >::MultiIndex = MI

Type used for global numbering of the basis vectors.

◆ Node

template<class MI , class TP , class IMS , class... SPB>
using Dune::Functions::CompositeNodeIndexSet< MI, TP, IMS, SPB >::Node = typename PreBasis::template Node<TP>

◆ PreBasis

template<class MI , class TP , class IMS , class... SPB>
using Dune::Functions::CompositeNodeIndexSet< MI, TP, IMS, SPB >::PreBasis = CompositePreBasis<MI, IMS, SPB...>

◆ size_type

template<class MI , class TP , class IMS , class... SPB>
using Dune::Functions::CompositeNodeIndexSet< MI, TP, IMS, SPB >::size_type = std::size_t

◆ SubIndexSets

template<class MI , class TP , class IMS , class... SPB>
using Dune::Functions::CompositeNodeIndexSet< MI, TP, IMS, SPB >::SubIndexSets = typename PreBasis::template FixedTP<TP>::SubIndexSets

◆ SubPreBasis

template<class MI , class TP , class IMS , class... SPB>
template<std::size_t k>
using Dune::Functions::CompositeNodeIndexSet< MI, TP, IMS, SPB >::SubPreBasis = typename std::tuple_element<k, std::tuple<SPB...> >::type

◆ SubTreePaths

template<class MI , class TP , class IMS , class... SPB>
using Dune::Functions::CompositeNodeIndexSet< MI, TP, IMS, SPB >::SubTreePaths = typename PreBasis::template FixedTP<TP>::SubTreePaths

Constructor & Destructor Documentation

◆ CompositeNodeIndexSet()

template<class MI , class TP , class IMS , class... SPB>
Dune::Functions::CompositeNodeIndexSet< MI, TP, IMS, SPB >::CompositeNodeIndexSet ( const PreBasis preBasis)
inline

Member Function Documentation

◆ bind()

template<class MI , class TP , class IMS , class... SPB>
void Dune::Functions::CompositeNodeIndexSet< MI, TP, IMS, SPB >::bind ( const Node node)
inline

◆ indices() [1/3]

template<class MI , class TP , class IMS , class... SPB>
template<typename It >
It Dune::Functions::CompositeNodeIndexSet< MI, TP, IMS, SPB >::indices ( It  it) const
inline

Maps from subtree index set [0..size-1] to a globally unique multi index in global basis.

◆ indices() [2/3]

template<class MI , class TP , class IMS , class... SPB>
template<typename It >
It Dune::Functions::CompositeNodeIndexSet< MI, TP, IMS, SPB >::indices ( It  multiIndices,
BasisBuilder::FlatLexicographic   
) const
inline

◆ indices() [3/3]

template<class MI , class TP , class IMS , class... SPB>
template<typename It >
It Dune::Functions::CompositeNodeIndexSet< MI, TP, IMS, SPB >::indices ( It  multiIndices,
BasisBuilder::BlockedLexicographic   
) const
inline

◆ multiIndexPushFront()

template<class MI , class TP , class IMS , class... SPB>
static const void Dune::Functions::CompositeNodeIndexSet< MI, TP, IMS, SPB >::multiIndexPushFront ( MultiIndex M,
size_type  M0 
)
inlinestatic

◆ size()

template<class MI , class TP , class IMS , class... SPB>
size_type Dune::Functions::CompositeNodeIndexSet< MI, TP, IMS, SPB >::size ( ) const
inline

◆ unbind()

template<class MI , class TP , class IMS , class... SPB>
void Dune::Functions::CompositeNodeIndexSet< MI, TP, IMS, SPB >::unbind ( )
inline

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