version 0.4.1
Ikarus::BasisHandler< PB > Class Template Reference

Wrapper class for a hierarchical basis constructed from a pre-basis. More...

#include <ikarus/utils/basis.hh>

Public Types

using PreBasis = PB
 The type of the untouched pre basis. More...
 
using GridView = typename PreBasis::GridView
 The type of the grid view. More...
 
using UntouchedBasis = decltype(Dune::Functions::DefaultGlobalBasis(std::declval< PreBasis >()))
 The type of the untouched basis. More...
 
using FlatBasis = decltype(Dune::Functions::DefaultGlobalBasis(Ikarus::flatPreBasis(std::declval< PreBasis >())))
 The type of the flattened basis. More...
 

Public Member Functions

 BasisHandler (const PreBasis &pb)
 Constructs a Basis object from a pre-basis. More...
 
auto & flat ()
 Returns a reference to the flat version of the basis. More...
 
auto & untouched ()
 Returns a reference to the untouched version of the basis. More...
 
const auto & flat () const
 Returns a const reference to the flat version of the basis. More...
 
const auto & untouched () const
 Returns a const reference to the untouched version of the basis. More...
 
const auto & gridView () const
 Returns a const reference to the grid view associated with the untouched basis. More...
 
auto & gridView ()
 Returns a reference to the grid view associated with the untouched basis. More...
 

Detailed Description

template<typename PB>
class Ikarus::BasisHandler< PB >

This class provides a convenient wrapper for a hierarchical basis constructed from a pre-basis. It contains both the original untouched basis and a flattened version of the basis.

Template Parameters
PBThe type of the pre-basis used to construct the hierarchical basis.

Member Typedef Documentation

◆ FlatBasis

template<typename PB >
using Ikarus::BasisHandler< PB >::FlatBasis = decltype(Dune::Functions::DefaultGlobalBasis( Ikarus::flatPreBasis(std::declval<PreBasis>())))

◆ GridView

template<typename PB >
using Ikarus::BasisHandler< PB >::GridView = typename PreBasis::GridView

◆ PreBasis

template<typename PB >
using Ikarus::BasisHandler< PB >::PreBasis = PB

◆ UntouchedBasis

template<typename PB >
using Ikarus::BasisHandler< PB >::UntouchedBasis = decltype(Dune::Functions::DefaultGlobalBasis(std::declval<PreBasis>()))

Constructor & Destructor Documentation

◆ BasisHandler()

template<typename PB >
Ikarus::BasisHandler< PB >::BasisHandler ( const PreBasis pb)
inlineexplicit

Constructs a Basis object from a given pre-basis, creating both the untouched and flat versions of the basis.

Parameters
pbThe pre-basis used to construct the hierarchical basis.

Member Function Documentation

◆ flat() [1/2]

template<typename PB >
auto & Ikarus::BasisHandler< PB >::flat ( )
inline
Returns
A reference to the flat version of the basis.
Here is the caller graph for this function:

◆ flat() [2/2]

template<typename PB >
const auto & Ikarus::BasisHandler< PB >::flat ( ) const
inline
Returns
A const reference to the flat version of the basis.

◆ gridView() [1/2]

template<typename PB >
auto & Ikarus::BasisHandler< PB >::gridView ( )
inline
Returns
A reference to the grid view associated with the untouched basis.

◆ gridView() [2/2]

template<typename PB >
const auto & Ikarus::BasisHandler< PB >::gridView ( ) const
inline
Returns
A const reference to the grid view associated with the untouched basis.

◆ untouched() [1/2]

template<typename PB >
auto & Ikarus::BasisHandler< PB >::untouched ( )
inline
Returns
A reference to the untouched version of the basis.
Here is the caller graph for this function:

◆ untouched() [2/2]

template<typename PB >
const auto & Ikarus::BasisHandler< PB >::untouched ( ) const
inline
Returns
A const reference to the untouched version of the basis.

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