dune-functions 2.9.0
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
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. More...
 
using size_type = std::size_t
 Type used for indices and size information. More...
 
using Node = typename RawPreBasis::Node
 Template mapping root tree path to type of created tree node. More...
 

Public Member Functions

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

◆ 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 with given root tree path.

Template Parameters
TPType of root tree path
Parameters
tpRoot tree path

By passing a non-trivial root tree path this can be used to create a node suitable for being placed in a tree at the position specified by the root tree path.

◆ 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 >
constexpr size_type Dune::Functions::Experimental::TransformedIndexPreBasis< RPB, T >::maxMultiIndexSize = Transformation::maxIndexSize
staticconstexpr

◆ minMultiIndexSize

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

◆ multiIndexBufferSize

template<class RPB , class T >
constexpr 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: