dune-functions 2.9.0
Public Types | Public Member Functions | Protected Attributes | List of all members
Dune::Functions::SubspaceLocalView< RLV, PP > Class Template Reference

The restriction of a finite element basis to a single element. More...

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

Public Types

using RootLocalView = RLV
 
using GlobalBasis = SubspaceBasis< typename RootLocalView::GlobalBasis, PrefixPath >
 The global FE basis that this is a view on. More...
 
using GridView = typename GlobalBasis::GridView
 The grid view the global FE basis lives on. More...
 
using Element = typename GridView::template Codim< 0 >::Entity
 Type of the grid element we are bound to. More...
 
using size_type = std::size_t
 The type used for sizes. More...
 
using RootTree = typename RootLocalView::Tree
 Tree of local finite elements / local shape function sets. More...
 
using Tree = typename TypeTree::ChildForTreePath< RootTree, PrefixPath >
 Tree of local finite elements / local shape function sets. More...
 
using MultiIndex = typename RootLocalView::MultiIndex
 Type used for global numbering of the basis vectors. More...
 

Public Member Functions

 SubspaceLocalView (const GlobalBasis &globalBasis, const PrefixPath &)
 Construct local view for a given global finite element basis. More...
 
void bind (const Element &e)
 Bind the view to a grid element. More...
 
const Elementelement () const
 Return the grid element that the view is bound to. More...
 
void unbind ()
 Unbind from the current element. More...
 
bool bound () const
 Return if the view is bound to a grid element. More...
 
const Treetree () const
 Return the local ansatz tree associated to the bound entity. More...
 
size_type size () const
 Total number of degrees of freedom on this element. More...
 
size_type maxSize () const
 Maximum local size for any element on the GridView. More...
 
MultiIndex index (size_type i) const
 Maps from subtree index set [0..size-1] to a globally unique multi index in global basis. More...
 
const GlobalBasisglobalBasis () const
 Return the global basis that we are a view on. More...
 
const RootLocalViewrootLocalView () const
 

Protected Attributes

const GlobalBasisglobalBasis_
 
RootLocalView rootLocalView_
 

Detailed Description

template<class RLV, class PP>
class Dune::Functions::SubspaceLocalView< RLV, PP >

The restriction of a finite element basis to a single element.

Member Typedef Documentation

◆ Element

template<class RLV , class PP >
using Dune::Functions::SubspaceLocalView< RLV, PP >::Element = typename GridView::template Codim<0>::Entity

Type of the grid element we are bound to.

◆ GlobalBasis

template<class RLV , class PP >
using Dune::Functions::SubspaceLocalView< RLV, PP >::GlobalBasis = SubspaceBasis<typename RootLocalView::GlobalBasis, PrefixPath>

The global FE basis that this is a view on.

◆ GridView

template<class RLV , class PP >
using Dune::Functions::SubspaceLocalView< RLV, PP >::GridView = typename GlobalBasis::GridView

The grid view the global FE basis lives on.

◆ MultiIndex

template<class RLV , class PP >
using Dune::Functions::SubspaceLocalView< RLV, PP >::MultiIndex = typename RootLocalView::MultiIndex

Type used for global numbering of the basis vectors.

◆ RootLocalView

template<class RLV , class PP >
using Dune::Functions::SubspaceLocalView< RLV, PP >::RootLocalView = RLV

◆ RootTree

template<class RLV , class PP >
using Dune::Functions::SubspaceLocalView< RLV, PP >::RootTree = typename RootLocalView::Tree

Tree of local finite elements / local shape function sets.

◆ size_type

template<class RLV , class PP >
using Dune::Functions::SubspaceLocalView< RLV, PP >::size_type = std::size_t

The type used for sizes.

◆ Tree

template<class RLV , class PP >
using Dune::Functions::SubspaceLocalView< RLV, PP >::Tree = typename TypeTree::ChildForTreePath<RootTree, PrefixPath>

Tree of local finite elements / local shape function sets.

Constructor & Destructor Documentation

◆ SubspaceLocalView()

template<class RLV , class PP >
Dune::Functions::SubspaceLocalView< RLV, PP >::SubspaceLocalView ( const GlobalBasis globalBasis,
const PrefixPath &   
)
inline

Construct local view for a given global finite element basis.

Member Function Documentation

◆ bind()

template<class RLV , class PP >
void Dune::Functions::SubspaceLocalView< RLV, PP >::bind ( const Element e)
inline

Bind the view to a grid element.

Having to bind the view to an element before being able to actually access any of its data members offers to centralize some expensive setup code in the 'bind' method, which can save a lot of run-time.

◆ bound()

template<class RLV , class PP >
bool Dune::Functions::SubspaceLocalView< RLV, PP >::bound ( ) const
inline

Return if the view is bound to a grid element.

◆ element()

template<class RLV , class PP >
const Element & Dune::Functions::SubspaceLocalView< RLV, PP >::element ( ) const
inline

Return the grid element that the view is bound to.

Exceptions
Dune::Exceptionif the view is not bound to anything

◆ globalBasis()

template<class RLV , class PP >
const GlobalBasis & Dune::Functions::SubspaceLocalView< RLV, PP >::globalBasis ( ) const
inline

Return the global basis that we are a view on.

◆ index()

template<class RLV , class PP >
MultiIndex Dune::Functions::SubspaceLocalView< RLV, PP >::index ( size_type  i) const
inline

Maps from subtree index set [0..size-1] to a globally unique multi index in global basis.

◆ maxSize()

template<class RLV , class PP >
size_type Dune::Functions::SubspaceLocalView< RLV, PP >::maxSize ( ) const
inline

Maximum local size for any element on the GridView.

This is the maximal size needed for local matrices and local vectors, i.e., the result is

◆ rootLocalView()

template<class RLV , class PP >
const RootLocalView & Dune::Functions::SubspaceLocalView< RLV, PP >::rootLocalView ( ) const
inline

◆ size()

template<class RLV , class PP >
size_type Dune::Functions::SubspaceLocalView< RLV, PP >::size ( ) const
inline

Total number of degrees of freedom on this element.

◆ tree()

template<class RLV , class PP >
const Tree & Dune::Functions::SubspaceLocalView< RLV, PP >::tree ( ) const
inline

Return the local ansatz tree associated to the bound entity.

Returns
Tree // This is tree

◆ unbind()

template<class RLV , class PP >
void Dune::Functions::SubspaceLocalView< RLV, PP >::unbind ( )
inline

Unbind from the current element.

Calling this method should only be a hint that the view can be unbound.

Member Data Documentation

◆ globalBasis_

template<class RLV , class PP >
const GlobalBasis* Dune::Functions::SubspaceLocalView< RLV, PP >::globalBasis_
protected

◆ rootLocalView_

template<class RLV , class PP >
RootLocalView Dune::Functions::SubspaceLocalView< RLV, PP >::rootLocalView_
protected

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