|
dune-pdelab 2.10-git
|
single component local function space More...
#include <dune/pdelab/gridfunctionspace/localfunctionspace.hh>

Public Types | |
| typedef LeafLocalFunctionSpaceTraits< GFS, DOFIndex, LeafLocalFunctionSpaceNode > | Traits |
| typedef LeafLocalFunctionSpaceTag | ImplementationTag |
| typedef LeafNodeTag | NodeTag |
Public Member Functions | |
| template<typename Transformation > | |
| LeafLocalFunctionSpaceNode (std::shared_ptr< const GFS > gfs, const Transformation &t) | |
| initialize with grid function space | |
| template<typename Transformation > | |
| LeafLocalFunctionSpaceNode (const GFS &gfs, const Transformation &t) | |
| const Traits::FiniteElementType & | finiteElement () const |
| get finite element | |
| const Traits::ConstraintsType & | constraints () const |
| get constraints engine | |
| template<typename Entity , typename DOFIndexIterator , bool fast> | |
| void | dofIndices (const Entity &e, DOFIndexIterator it, DOFIndexIterator endit, std::integral_constant< bool, fast >) |
| Calculates the multiindices associated with the given entity. | |
| template<typename GC , typename LC > | |
| void | insert_constraints (const LC &lc, GC &gc) const |
| template<bool fast = false> | |
| void | bind (const typename Traits::Element &e, std::integral_constant< bool, fast > fast_=std::integral_constant< bool, fast >{}) |
| bind local function space to entity | |
| template<class FE > | |
| void | bindFiniteElement (FE &&fe) |
| Binds a finite element to the local space If the finite element is lvalue, the caller (i.e. FEM) must guarantee the lifetime of the object since we only keep a view on it. On the other hand, if it is rvalue, we store it locally but we require the object to be fully movable. | |
| void | unbindFiniteElement () noexcept |
| Release view of the bound finite element. | |
| template<typename NodeType , bool fast> | |
| void | bind (NodeType &node, const typename GridViewLocalFunctionSpaceBaseNode< GFS, DOFIndex >::Traits::Element &e, std::integral_constant< bool, fast >) |
| Traits::IndexContainer::size_type | size () const |
| number of degrees of freedom contained in this lfs node | |
| std::size_t | subSpaceDepth () const |
| Traits::IndexContainer::size_type | maxSize () const |
| get maximum possible size (which is maxLocalSize from grid function space) | |
| Traits::IndexContainer::size_type | localVectorSize () const |
| get size of an appropriate local vector object | |
| Traits::IndexContainer::size_type | localIndex (typename Traits::IndexContainer::size_type index) const |
| map index in this local function space to root local function space | |
| const Traits::DOFIndex & | dofIndex (typename Traits::IndexContainer::size_type index) const |
| Maps given index in this local function space to its corresponding global MultiIndex. | |
| void | debug () const |
| print debug information about this local function space | |
| const GFS & | gridFunctionSpace () const |
| Returns the GridFunctionSpace underlying this LocalFunctionSpace. | |
| template<typename NodeType > | |
| void | setup (NodeType &node) |
Static Public Member Functions | |
| static constexpr auto | degree () |
Public Attributes | |
| 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 |
Static Public Attributes | |
| static const bool | isLeaf |
| static const bool | isPower |
| static const bool | isComposite |
Protected Member Functions | |
| template<typename NodeType , bool fast = false> | |
| void | bind (NodeType &node, const typename Traits::Element &e, std::integral_constant< bool, fast >=std::integral_constant< bool, fast >{}) |
| bind local function space to entity | |
Friends | |
| template<typename > | |
| struct | PropagateGlobalStorageVisitor |
| template<typename > | |
| struct | ClearSizeVisitor |
| template<typename , bool > | |
| struct | ComputeSizeVisitor |
| template<typename , bool > | |
| struct | FillIndicesVisitor |
Detailed Description
class Dune::PDELab::LeafLocalFunctionSpaceNode< GFS, DOFIndex >
single component local function space
Member Typedef Documentation
◆ ImplementationTag
| typedef LeafLocalFunctionSpaceTag Dune::PDELab::LeafLocalFunctionSpaceNode< GFS, DOFIndex >::ImplementationTag |
◆ Traits
| typedef LeafLocalFunctionSpaceTraits<GFS,DOFIndex,LeafLocalFunctionSpaceNode> Dune::PDELab::LeafLocalFunctionSpaceNode< GFS, DOFIndex >::Traits |
Constructor & Destructor Documentation
◆ LeafLocalFunctionSpaceNode() [1/2]
|
inline |
initialize with grid function space
◆ LeafLocalFunctionSpaceNode() [2/2]
|
inline |
Member Function Documentation
◆ bind() [1/2]
|
inline |
bind local function space to entity
◆ bind() [2/2]
|
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
-
node reference to the derived node, the address must be the same as this e entity to bind to
◆ bindFiniteElement()
|
inline |
Binds a finite element to the local space If the finite element is lvalue, the caller (i.e. FEM) must guarantee the lifetime of the object since we only keep a view on it. On the other hand, if it is rvalue, we store it locally but we require the object to be fully movable.
- Template Parameters
-
FE rvalue or lvalue type of the finite element
- Parameters
-
fe the finite element to be bound
◆ constraints()
|
inline |
get constraints engine
◆ debug()
|
inlineinherited |
print debug information about this local function space
◆ dofIndex()
|
inlineinherited |
Maps given index in this local function space to its corresponding global MultiIndex.
- Parameters
-
index The 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).
◆ dofIndices()
|
inline |
Calculates the multiindices associated with the given entity.
◆ finiteElement()
|
inline |
get finite element
◆ gridFunctionSpace()
|
inlineinherited |
Returns the GridFunctionSpace underlying this LocalFunctionSpace.
◆ insert_constraints()
|
inline |
◆ localIndex()
|
inlineinherited |
map index in this local function space to root local function space
◆ localVectorSize()
|
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()[
◆ maxSize()
|
inlineinherited |
get maximum possible size (which is maxLocalSize from grid function space)
◆ setup()
|
inlineinherited |
◆ size()
|
inlineinherited |
number of degrees of freedom contained in this lfs node
◆ subSpaceDepth()
|
inlineinherited |
◆ unbindFiniteElement()
|
inlinenoexcept |
Release view of the bound finite element.
Friends And Related Symbol Documentation
◆ ClearSizeVisitor
|
friend |
◆ ComputeSizeVisitor
|
friend |
◆ FillIndicesVisitor
|
friend |
◆ PropagateGlobalStorageVisitor
|
friend |
Member Data Documentation
◆ _dof_index_storage
|
inherited |
◆ _dof_indices
|
inherited |
◆ n
|
inherited |
◆ offset
|
inherited |
◆ pgfs
|
inherited |
The documentation for this class was generated from the following file:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8