dune-pdelab  2.4-dev
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | List of all members
Dune::PDELab::LeafLocalFunctionSpaceNode< GFS, DOFIndex > Class Template Reference

single component local function space More...

#include <dune/pdelab/gridfunctionspace/localfunctionspace.hh>

Inheritance diagram for Dune::PDELab::LeafLocalFunctionSpaceNode< GFS, DOFIndex >:
Inheritance graph

Public Types

typedef LeafLocalFunctionSpaceTraits< GFS, DOFIndex, LeafLocalFunctionSpaceNodeTraits
 
typedef LeafLocalFunctionSpaceTag ImplementationTag
 

Public Member Functions

template<typename Transformation >
 LeafLocalFunctionSpaceNode (std::shared_ptr< const GFS > gfs, const Transformation &t)
 initialize with grid function space More...
 
template<typename Transformation >
 LeafLocalFunctionSpaceNode (const GFS &gfs, const Transformation &t)
 
const Traits::FiniteElementTypefiniteElement () const
 get finite element More...
 
const Traits::ConstraintsTypeconstraints () const
 get constraints engine More...
 
template<typename Entity , typename DOFIndexIterator >
void dofIndices (const Entity &e, DOFIndexIterator it, DOFIndexIterator endit)
 Calculates the multiindices associated with the given entity. More...
 
template<typename GC , typename LC >
void insert_constraints (const LC &lc, GC &gc) const
 
void bind (const typename Traits::Element &e)
 bind local function space to entity More...
 
template<typename NodeType >
void bind (NodeType &node, const typename GridViewLocalFunctionSpaceBaseNode< GFS, DOFIndex >::Traits::Element &e)
 
Traits::IndexContainer::size_type size () const
 get current size More...
 
std::size_t subSpaceDepth () const
 
Traits::IndexContainer::size_type maxSize () const
 get maximum possible size (which is maxLocalSize from grid function space) More...
 
Traits::IndexContainer::size_type localVectorSize () const
 get size of an appropriate local vector object More...
 
Traits::IndexContainer::size_type localIndex (typename Traits::IndexContainer::size_type index) const
 map index in this local function space to root local function space More...
 
const Traits::DOFIndexdofIndex (typename Traits::IndexContainer::size_type index) const
 Maps given index in this local function space to its corresponding global MultiIndex. More...
 
void debug () const
 print debug information about this local function space More...
 
const GFS & gridFunctionSpace () const
 Returns the GridFunctionSpace underlying this LocalFunctionSpace. More...
 
template<typename NodeType >
void setup (NodeType &node)
 

Public Attributes

FESwitch::Store pfe
 
std::shared_ptr< GFS const > pgfs
 
Traits::DOFIndexContainer _dof_index_storage
 
Traits::DOFIndexContainer_dof_indices
 
Traits::IndexContainer::size_type n
 
Traits::IndexContainer::size_type offset
 

Protected Member Functions

template<typename NodeType >
void bind (NodeType &node, const typename Traits::Element &e)
 bind local function space to entity More...
 

Detailed Description

template<typename GFS, typename DOFIndex>
class Dune::PDELab::LeafLocalFunctionSpaceNode< GFS, DOFIndex >

single component local function space

Member Typedef Documentation

template<typename GFS , typename DOFIndex >
typedef LeafLocalFunctionSpaceTag Dune::PDELab::LeafLocalFunctionSpaceNode< GFS, DOFIndex >::ImplementationTag

Constructor & Destructor Documentation

template<typename GFS , typename DOFIndex >
template<typename Transformation >
Dune::PDELab::LeafLocalFunctionSpaceNode< GFS, DOFIndex >::LeafLocalFunctionSpaceNode ( std::shared_ptr< const GFS >  gfs,
const Transformation &  t 
)
inline

initialize with grid function space

template<typename GFS , typename DOFIndex >
template<typename Transformation >
Dune::PDELab::LeafLocalFunctionSpaceNode< GFS, DOFIndex >::LeafLocalFunctionSpaceNode ( const GFS &  gfs,
const Transformation &  t 
)
inline

Member Function Documentation

template<typename GFS, typename DOFIndex>
template<typename NodeType >
void Dune::PDELab::GridViewLocalFunctionSpaceBaseNode< GFS, DOFIndex >::bind ( NodeType &  node,
const typename Traits::Element e 
)
protectedinherited

bind local function space to entity

This is a generic implementation of the bind function. It is parametrized with the NodeType, which the type of the derived LocalFunctionSpaceNode. Handing the NodeType as a parammeter avoid the need for the CRTP construct, but all derived classes have to add a method bind, which forward to this method.

Parameters
nodereference to the derived node, the address must be the same as this
eentity to bind to

Referenced by Dune::PDELab::PowerLocalFunctionSpaceNode< GFS, DOFIndex, ChildLFS, k >::bind(), Dune::PDELab::CompositeLocalFunctionSpaceNode< GFS, DOFIndex, Children >::bind(), and Dune::PDELab::LeafLocalFunctionSpaceNode< GFS, DOFIndex >::bind().

template<typename GFS , typename DOFIndex >
void Dune::PDELab::LeafLocalFunctionSpaceNode< GFS, DOFIndex >::bind ( const typename Traits::Element e)
inline

bind local function space to entity

References Dune::PDELab::GridViewLocalFunctionSpaceBaseNode< GFS, DOFIndex >::bind().

template<typename GFS , typename DOFIndex >
const Traits::ConstraintsType& Dune::PDELab::LeafLocalFunctionSpaceNode< GFS, DOFIndex >::constraints ( ) const
inline
template<typename GFS , typename DOFIndex >
void Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::debug ( ) const
inlineinherited
template<typename GFS , typename DOFIndex >
const Traits::DOFIndex& Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::dofIndex ( typename Traits::IndexContainer::size_type  index) const
inlineinherited

Maps given index in this local function space to its corresponding global MultiIndex.

Parameters
indexThe local index value from the range 0,...,size()-1
Returns
A const reference to the associated, globally unique MultiIndex. Note that the returned object may (and must) be copied if it needs to be stored beyond the time of the next call to bind() on this LocalFunctionSpace (e.g. when the MultiIndex is used as a DOF identifier in a constraints container).

References Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::_dof_indices, and Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::offset.

Referenced by Dune::PDELab::LeafLocalFunctionSpaceNode< GFS, DOFIndex >::insert_constraints().

template<typename GFS , typename DOFIndex >
template<typename Entity , typename DOFIndexIterator >
void Dune::PDELab::LeafLocalFunctionSpaceNode< GFS, DOFIndex >::dofIndices ( const Entity &  e,
DOFIndexIterator  it,
DOFIndexIterator  endit 
)
inline
template<typename GFS , typename DOFIndex >
const Traits::FiniteElementType& Dune::PDELab::LeafLocalFunctionSpaceNode< GFS, DOFIndex >::finiteElement ( ) const
inline
template<typename GFS , typename DOFIndex >
const GFS& Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::gridFunctionSpace ( ) const
inlineinherited
template<typename GFS , typename DOFIndex >
template<typename GC , typename LC >
void Dune::PDELab::LeafLocalFunctionSpaceNode< GFS, DOFIndex >::insert_constraints ( const LC &  lc,
GC &  gc 
) const
inline
template<typename GFS , typename DOFIndex >
Traits::IndexContainer::size_type Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::localIndex ( typename Traits::IndexContainer::size_type  index) const
inlineinherited

map index in this local function space to root local function space

References Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::offset.

Referenced by Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::debug().

template<typename GFS , typename DOFIndex >
Traits::IndexContainer::size_type Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::localVectorSize ( ) const
inlineinherited

get size of an appropriate local vector object

this is the number of dofs of the complete local function space tree, i.e. the size() of the root node. The local vector objects must always have this size and the localIndex method maps into the range [0,localVectorSize()[

References Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::_dof_indices.

template<typename GFS , typename DOFIndex >
Traits::IndexContainer::size_type Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::maxSize ( ) const
inlineinherited

get maximum possible size (which is maxLocalSize from grid function space)

References Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::_dof_indices.

template<typename GFS , typename DOFIndex >
template<typename NodeType >
void Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::setup ( NodeType &  node)
inlineinherited
template<typename GFS , typename DOFIndex >
Traits::IndexContainer::size_type Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::size ( ) const
inlineinherited
template<typename GFS , typename DOFIndex >
std::size_t Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::subSpaceDepth ( ) const
inlineinherited

Member Data Documentation

template<typename GFS , typename DOFIndex >
Traits::DOFIndexContainer Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::_dof_index_storage
inherited
template<typename GFS , typename DOFIndex >
Traits::DOFIndexContainer* Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::_dof_indices
inherited
template<typename GFS , typename DOFIndex >
Traits::IndexContainer::size_type Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::n
inherited
template<typename GFS , typename DOFIndex >
Traits::IndexContainer::size_type Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::offset
inherited
template<typename GFS , typename DOFIndex >
FESwitch::Store Dune::PDELab::LeafLocalFunctionSpaceNode< GFS, DOFIndex >::pfe
template<typename GFS , typename DOFIndex >
std::shared_ptr<GFS const> Dune::PDELab::LocalFunctionSpaceBaseNode< GFS, DOFIndex >::pgfs
inherited

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