version 0.4
Ikarus::PowerBasisFE< Basis > Class Template Reference

PowerBasisFE class for working with a power basis in FlatInterLeaved elements. More...

#include <ikarus/finiteelements/febases/powerbasisfe.hh>

Inheritance diagram for Ikarus::PowerBasisFE< Basis >:
[legend]

Public Types

using RootBasis = Basis
 Type of the root basis. More...
 
using LocalView = typename Basis::LocalView
 Type of the local view. More...
 
using GlobalIndex = typename LocalView::MultiIndex
 Type of the global index. More...
 
using GridElement = typename LocalView::Element
 Type of the grid element. More...
 
using Traits = FETraits< GridElement >
 Type of the traits. More...
 

Public Member Functions

 PowerBasisFE (const Basis &p_basis, const typename LocalView::Element &element)
 Constructor for the PowerBasisFE class. More...
 
constexpr size_t size () const
 Get the size of the local view. More...
 
void globalFlatIndices (std::vector< GlobalIndex > &globalIndices) const
 Get the global flat indices for the power basis. More...
 
const GridElementgridElement () const
 Get the grid element associated with the local view. More...
 
const LocalViewlocalView () const
 Get the const reference to the local view. More...
 
LocalViewlocalView ()
 Get the reference to the local view. More...
 

Static Public Attributes

static constexpr int num_children = RootBasis::PreBasis::Node::degree()
 Number of children in the powerBasis. More...
 

Detailed Description

template<typename Basis>
class Ikarus::PowerBasisFE< Basis >

This class assumes the local indices in a FlatInterLeaved order.

Template Parameters
BasisThe type of the power basis.

Member Typedef Documentation

◆ GlobalIndex

template<typename Basis >
using Ikarus::PowerBasisFE< Basis >::GlobalIndex = typename LocalView::MultiIndex

◆ GridElement

template<typename Basis >
using Ikarus::PowerBasisFE< Basis >::GridElement = typename LocalView::Element

◆ LocalView

template<typename Basis >
using Ikarus::PowerBasisFE< Basis >::LocalView = typename Basis::LocalView

◆ RootBasis

template<typename Basis >
using Ikarus::PowerBasisFE< Basis >::RootBasis = Basis

◆ Traits

template<typename Basis >
using Ikarus::PowerBasisFE< Basis >::Traits = FETraits<GridElement>

Constructor & Destructor Documentation

◆ PowerBasisFE()

template<typename Basis >
Ikarus::PowerBasisFE< Basis >::PowerBasisFE ( const Basis p_basis,
const typename LocalView::Element &  element 
)
inlineexplicit
Parameters
p_basisThe power basis.
elementThe local element.

Member Function Documentation

◆ globalFlatIndices()

template<typename Basis >
void Ikarus::PowerBasisFE< Basis >::globalFlatIndices ( std::vector< GlobalIndex > &  globalIndices) const
inline

The global indices are collected in a FlatInterLeaved order. I.e. x_0, y_0, z_0, ..., x_n, y_n, z_n

Parameters
globalIndicesOutput vector to store global indices.

◆ gridElement()

template<typename Basis >
const GridElement & Ikarus::PowerBasisFE< Basis >::gridElement ( ) const
inline
Returns
The grid element.

◆ localView() [1/2]

template<typename Basis >
LocalView & Ikarus::PowerBasisFE< Basis >::localView ( )
inline
Returns
The reference to the local view.

◆ localView() [2/2]

template<typename Basis >
const LocalView & Ikarus::PowerBasisFE< Basis >::localView ( ) const
inline
Returns
The const reference to the local view.

◆ size()

template<typename Basis >
constexpr size_t Ikarus::PowerBasisFE< Basis >::size ( ) const
inlineconstexpr
Returns
The size of the local view.

Member Data Documentation

◆ num_children

template<typename Basis >
constexpr int Ikarus::PowerBasisFE< Basis >::num_children = RootBasis::PreBasis::Node::degree()
staticconstexpr

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