dune-functions 2.9.0
Classes | Functions
Dune::Functions::BasisFactory::Experimental Namespace Reference

Classes

class  GenericIndexingTransformation
 A generic implementation of a transformation. More...
 
class  PeriodicIndexSet
 Container storing identified indices for a periodic basis. More...
 

Functions

template<class RawPreBasisIndicator , class PIS >
auto periodic (RawPreBasisIndicator &&rawPreBasisIndicator, PIS &&periodicIndexSet)
 Create a pre-basis factory that can create a periodic pre-basis. More...
 
template<class RawPreBasisFactory , class Transformation >
auto transformIndices (RawPreBasisFactory &&preBasisFactory, Transformation &&transformation)
 Create a TransformedIndexPreBasisFactory. More...
 
template<class IndexTransformation , class SizeImplementation , std::size_t minIndexSize, std::size_t maxIndexSize>
auto indexTransformation (IndexTransformation &&indexTransformation, SizeImplementation &&sizeImplementation, Dune::index_constant< minIndexSize >, Dune::index_constant< maxIndexSize >)
 A generic implementation of a transformation. More...
 

Function Documentation

◆ indexTransformation()

template<class IndexTransformation , class SizeImplementation , std::size_t minIndexSize, std::size_t maxIndexSize>
auto Dune::Functions::BasisFactory::Experimental::indexTransformation ( IndexTransformation &&  indexTransformation,
SizeImplementation &&  sizeImplementation,
Dune::index_constant< minIndexSize >  ,
Dune::index_constant< maxIndexSize >   
)

A generic implementation of a transformation.

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 implements an index-transformation based on two callbacks: One transforms an existing multi-index inplace, the other implements the size() method of the pre-basis for a given prefix. Both are passed the wrapped pre-basis as second argument.

Template Parameters
IndexTransformationCallback type for transforming multi-indices
SizeImplementationCallback type for implementation of size(prefix)
minISMinimal multi-index size
maxISMaximal multi-index size. Notice that this has to be large enough to also store the untransformed indices.

◆ transformIndices()

template<class RawPreBasisFactory , class Transformation >
auto Dune::Functions::BasisFactory::Experimental::transformIndices ( RawPreBasisFactory &&  preBasisFactory,
Transformation &&  transformation 
)

Create a TransformedIndexPreBasisFactory.

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.
Parameters
preBasisFactoryA PreBasisFactory creating the wrapped pre-basis
transformationThe transformation object