DUNE PDELab (2.8)

Dune::Functions::SubEntityDOFs< GridView > Class Template Reference

Range of DOFs associated to sub-entity. More...

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

Public Member Functions

template<class LocalView >
SubEntityDOFsbind (const LocalView &localView, std::size_t subEntityIndex, std::size_t subEntityCodim)
 Bind SubEntityDOFs object to LocalView and sub-entity. More...
 
template<class LocalView , class Intersection >
SubEntityDOFsbind (const LocalView &localView, const Intersection &intersection)
 Bind SubEntityDOFs object to LocalView and sub-entity. More...
 
auto begin () const
 Create begin iterator for access to range of contained local indices.
 
auto end () const
 Create end iterator for access to range of contained local indices.
 
auto size () const
 Return number of contained DOFs.
 
decltype(auto) operator[] (std::size_t i) const
 Return i-th entry of the range of contained local indices.
 
bool contains (std::size_t localIndex) const
 Check if given local index is contained in this range of DOFs.
 

Detailed Description

template<class GridView>
class Dune::Functions::SubEntityDOFs< GridView >

Range of DOFs associated to sub-entity.

This provides a range of DOFs associated to a given sub-entity by its LocalKeys. In order to use this, it has to be bound to a bound LocalView and a sub-entity. The latter is either encoded by its local index and codimension wrt the element the LocalView is bound to, or by an intersection having this element as inside.

After beeing bound this class can be used as range of local indices of those DOFs that are associated to the sub-entity or sub-sub-entities of this sub-entity. Furthermore it allows to ask if a given local index is contained in this range.

Notice that the class itself does only depend on the GridView because it needs to allocate some dimension-dependent containers for caching the information computed during bind.

Template Parameters
GridViewThe GridView LocalViews should act on

Member Function Documentation

◆ bind() [1/2]

template<class GridView >
template<class LocalView , class Intersection >
SubEntityDOFs & Dune::Functions::SubEntityDOFs< GridView >::bind ( const LocalView &  localView,
const Intersection intersection 
)
inline

Bind SubEntityDOFs object to LocalView and sub-entity.

Notice that this method will pre-compute and cache the contained local indices as well as a look-up table for checking if a local index is contained. The sub-entity is encoded as intersection having localView.element() as inside. This is equivalent to bind(localView, intersection.indexInInside(),1), In order to be able to bind and use the range in a single expression this returns *this for convenience.

Parameters
localViewA bound LocalView to bind to
intersectionAn Intersection encoding the sub-entity to bind to
Returns
*this for convenience

References Dune::Intersection< GridImp, IntersectionImp >::indexInInside().

◆ bind() [2/2]

template<class GridView >
template<class LocalView >
SubEntityDOFs & Dune::Functions::SubEntityDOFs< GridView >::bind ( const LocalView &  localView,
std::size_t  subEntityIndex,
std::size_t  subEntityCodim 
)
inline

Bind SubEntityDOFs object to LocalView and sub-entity.

Notice that this method will pre-compute and cache the contained local indices as well as a look-up table for checking if a local index is contained. The sub-entity is encoded as (index,codim) with respect to the element the LocalView is bound to. In order to be able to bind and use the range in a single expression this returns *this for convenience.

Parameters
localViewA bound LocalView to bind to
subEntityIndexIndex of sub-entity in localView.element()
subEntityCodimCodimension of sub-entity in localView.element()
Returns
*this for convenience

References Dune::TypeTree::forEachLeafNode(), and Dune::TypeTree::treePath().


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Dec 21, 23:30, 2024)