Loading...
Searching...
No Matches
Dune::Functions::BasisFactory::Experimental Namespace Reference

## Classes

class | PeriodicIndexSet
| Container storing identified indices for a periodic basis. More...
class | GenericIndexingTransformation
| A generic implementation of a transformation. 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.
template<class RawPreBasisFactory, class Transformation>
auto | transformIndices (RawPreBasisFactory &&preBasisFactory, Transformation &&transformation)
| Create a TransformedIndexPreBasisFactory.
template<class IndexTransformation, class SizeImplementation, class ContainerDescriptorImplementation, std::size_t minIndexSize, std::size_t maxIndexSize>
auto | indexTransformation (IndexTransformation &&indexTransformation, SizeImplementation &&sizeImplementation, ContainerDescriptorImplementation &&containerDescriptorImplementation, Dune::index_constant< minIndexSize >, Dune::index_constant< maxIndexSize >)
| A generic implementation of a transformation.
template<class IndexTransformation, class SizeImplementation, std::size_t minIndexSize, std::size_t maxIndexSize>
auto | indexTransformation (IndexTransformation &&indexTrafo, SizeImplementation &&sizeImpl, Dune::index_constant< minIndexSize > minSize, Dune::index_constant< maxIndexSize > maxSize)
| Fallback implementation if no container descriptor argument is given.

## Function Documentation

## indexTransformation() [1/2]

template<class IndexTransformation, class SizeImplementation, std::size_t minIndexSize, std::size_t maxIndexSize>

auto Dune::Functions::BasisFactory::Experimental::indexTransformation | ( | IndexTransformation && | indexTrafo,
|  | SizeImplementation && | sizeImpl,
|  | Dune::index_constant< minIndexSize > | minSize,
|  | Dune::index_constant< maxIndexSize > | maxSize )

Fallback implementation if no container descriptor argument is given.

## indexTransformation() [2/2]

template<class IndexTransformation, class SizeImplementation, class ContainerDescriptorImplementation, std::size_t minIndexSize, std::size_t maxIndexSize>

auto Dune::Functions::BasisFactory::Experimental::indexTransformation | ( | IndexTransformation && | indexTransformation,
|  | SizeImplementation && | sizeImplementation,
|  | ContainerDescriptorImplementation && | containerDescriptorImplementation,
|  | 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

  IndexTransformation | Callback type for transforming multi-indices
  SizeImplementation | Callback type for implementation of size(prefix)
  ContainerDescriptorImplementation | Callback type for implementation of containerDescriptor()
  minIS | Minimal multi-index size
  maxIS | Maximal 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

  preBasisFactory | A PreBasisFactory creating the wrapped pre-basis
  transformation | The transformation object