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 GridElement & gridElement () const
 Get the grid element associated with the local view. More...
 
const LocalView & localView () const
 Get the const reference to the local view. More...
 
LocalView & localView ()
 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: