DUNE PDELab (unstable)

A pre-basis mixin class parametrized with a local finite-element and a DOF layout. More...

#include <dune/functions/functionspacebases/lfeprebasismixin.hh>

Classes

class  Node
 Leaf basis node that encapsulates a local finite-element given from the LFEPreBasisMixin of type LFE. More...
 

Public Types

using GridView = GV
 The grid view that the FE basis is defined on.
 
using size_type = std::size_t
 Type used for index digits.
 

Public Member Functions

template<class LFE_ = LFE, std::enable_if_t< std::is_default_constructible_v< LFE_ >, int > = 0>
 LFEPreBasisMixin (const GridView &gv, MCMGLayout layout)
 Constructor for a given grid view object and layout. More...
 
template<class LFE_ >
 LFEPreBasisMixin (const GridView &gv, LFE_ &&lfe, MCMGLayout layout)
 Constructor for a given grid view object, local finite-element and layout. More...
 
Node makeNode () const
 Create tree node.
 
void initializeIndices ()
 Initialize the global index information.
 
const GridView & gridView () const
 Export the stored GridView.
 
void update (const GridView &gv)
 Update the stored GridView.
 
size_type dimension () const
 Return total number of basis functions.
 
size_type maxNodeSize () const
 Return maximal number of basis functions per element.
 
template<class Node , class It >
It indices (const Node &node, It it) const
 Fill cache with global indices of DOFs associated to the given bound node.
 
size_type size (const SizePrefix &prefix) const
 Return number of possible values for next position in multi index.
 
size_type size () const
 Get the total dimension of the space spanned by this basis.
 
auto containerDescriptor () const
 Return a flat container-descriptor.
 

Static Public Attributes

static constexpr size_type maxMultiIndexSize
 Maximal length of global multi-indices.
 
static constexpr size_type minMultiIndexSize
 Minimal length of global multi-indices.
 
static constexpr size_type multiIndexBufferSize
 Size required temporarily when constructing global multi-indices.
 

Detailed Description

template<class GV, class LFE>
class Dune::Functions::LFEPreBasisMixin< GV, LFE >

A pre-basis mixin class parametrized with a local finite-element and a DOF layout.

This mixin class allows for simple construction of leaf pre-bases that are based on a local finite-element and a DOF layout only. Examples are the refined Lagrange pre-bases, or a hierarchical Lagrange pre-basis. Note that the layout is currently not capable of describing a reordering of local DOFs if there are multiple assigned to a grid entity. Thus higher-order continuous finite-elements are currently not possible to describe by this mixin class. Note also that this mixin fixes the local finite-element type and thus cannot handle mixed GeometryTypes.

Example

template <class GV, class R = double>
class RefinedP0PreBasis :
public LFEPreBasisMixin<GV, RefinedP0LocalFiniteElement<typename GV::ctype,R,GV::dimension>>
{
static const int dim = GV::dimension;
public:
RefinedP0PreBasis (const GV& gv) :
Base(gv, [](GeometryType gt, int) { return (gt.dim()==dim) ? (1<<dim) : 0; })
{}
};
A pre-basis mixin class parametrized with a local finite-element and a DOF layout.
Definition: lfeprebasismixin.hh:57
A generic MixIn class for PreBasis with flat indices computed from a mapper.
Definition: leafprebasismappermixin.hh:62
Unique label for each type of entities that can occur in DUNE grids.
Definition: type.hh:114
Local finite element that is piecewise P0 on a once uniformly refined reference geometry.
Definition: refinedp0.hh:29
bool gt(const T &first, const T &second, typename EpsilonType< T >::Type epsilon)
test if first greater than second
Definition: float_cmp.cc:158
Template Parameters
GVThe grid view that the FE basis is defined on
LFEThe local finite-element type

Constructor & Destructor Documentation

◆ LFEPreBasisMixin() [1/2]

template<class GV , class LFE >
template<class LFE_ = LFE, std::enable_if_t< std::is_default_constructible_v< LFE_ >, int > = 0>
Dune::Functions::LFEPreBasisMixin< GV, LFE >::LFEPreBasisMixin ( const GridView &  gv,
MCMGLayout  layout 
)
inline

Constructor for a given grid view object and layout.

Requires that the local-finite element is default constructible.

◆ LFEPreBasisMixin() [2/2]

template<class GV , class LFE >
template<class LFE_ >
Dune::Functions::LFEPreBasisMixin< GV, LFE >::LFEPreBasisMixin ( const GridView &  gv,
LFE_ &&  lfe,
MCMGLayout  layout 
)
inline

Constructor for a given grid view object, local finite-element and layout.

Requires that the local-finite element is copyable or movable.


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden & Uni Heidelberg  |  generated with Hugo v0.111.3 (Jun 19, 23:17, 2026)