dune-functions 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | List of all members
Dune::Functions::Experimental::TransformedIndexPreBasis< MI, 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.
 
using IndexSet = Impl::DefaultNodeIndexSet< TransformedIndexPreBasis >
 Type of created tree node index set.
 
using MultiIndex = MI
 Type used for global numbering of the basis vectors.
 
using SizePrefix = Dune::ReservedVector< size_type, MultiIndex::max_size()+1 >
 Type used for prefixes handed to the size() method.
 

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 with given root tree path.
 
IndexSet makeIndexSet () const
 Create tree node index set.
 
size_type size () const
 Same as size(prefix) with empty prefix.
 
size_type size (const SizePrefix &prefix) const
 Return number of possible values for next position in multi index.
 
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 ()
 
void transformIndex (MultiIndex &multiIndex) const
 
template<typename It >
It indices (const Node &node, It it) const
 

Protected Attributes

RawPreBasis rawPreBasis_
 
Transformation transformation_
 

Detailed Description

template<class MI, class RPB, class T>
class Dune::Functions::Experimental::TransformedIndexPreBasis< MI, 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
MIType to be used for global multi-indices
RPBRaw PreBasis to be wrapped
TClass of the index transformation

Member Typedef Documentation

◆ GridView

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

The grid view that the FE basis is defined on.

◆ IndexSet

template<class MI , class RPB , class T >
using Dune::Functions::Experimental::TransformedIndexPreBasis< MI, RPB, T >::IndexSet = Impl::DefaultNodeIndexSet<TransformedIndexPreBasis>

Type of created tree node index set.

Deprecated:

◆ MultiIndex

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

Type used for global numbering of the basis vectors.

◆ Node

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

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

◆ RawPreBasis

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

◆ size_type

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

Type used for indices and size information.

◆ SizePrefix

template<class MI , class RPB , class T >
using Dune::Functions::Experimental::TransformedIndexPreBasis< MI, RPB, T >::SizePrefix = Dune::ReservedVector<size_type, MultiIndex::max_size()+1>

Type used for prefixes handed to the size() method.

Constructor & Destructor Documentation

◆ TransformedIndexPreBasis()

template<class MI , class RPB , class T >
template<class RPB_R , class T_R >
Dune::Functions::Experimental::TransformedIndexPreBasis< MI, 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 MI , class RPB , class T >
size_type Dune::Functions::Experimental::TransformedIndexPreBasis< MI, RPB, T >::dimension ( ) const
inline

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

◆ gridView()

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

Obtain the grid view that the basis is defined on.

◆ indices()

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

◆ initializeIndices()

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

Initialize the global indices.

◆ makeIndexSet()

template<class MI , class RPB , class T >
IndexSet Dune::Functions::Experimental::TransformedIndexPreBasis< MI, RPB, T >::makeIndexSet ( ) const
inline

Create tree node index set.

Create an index set suitable for the tree node obtained by makeNode().

Deprecated:

◆ makeNode()

template<class MI , class RPB , class T >
Node Dune::Functions::Experimental::TransformedIndexPreBasis< MI, 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 MI , class RPB , class T >
size_type Dune::Functions::Experimental::TransformedIndexPreBasis< MI, RPB, T >::maxNodeSize ( ) const
inline

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

◆ rawPreBasis() [1/2]

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

◆ rawPreBasis() [2/2]

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

◆ size() [1/2]

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

Same as size(prefix) with empty prefix.

◆ size() [2/2]

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

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

◆ transformIndex()

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

◆ update()

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

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

Member Data Documentation

◆ rawPreBasis_

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

◆ transformation_

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

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