Go to the documentation of this file.
3 #ifndef DUNE_PDELAB_GRIDFUNCTIONSPACE_DUNEFUNCTIONSLOCALFUNCTIONSPACE_HH
4 #define DUNE_PDELAB_GRIDFUNCTIONSPACE_DUNEFUNCTIONSLOCALFUNCTIONSPACE_HH
8 #include <dune/common/stdstreams.hh>
10 #include <dune/geometry/referenceelements.hh>
12 #include <dune/localfunctions/common/interfaceswitch.hh>
13 #include <dune/localfunctions/common/localkey.hh>
15 #include <dune/typetree/typetree.hh>
27 namespace Experimental {
29 template<
typename LFS>
31 :
public TypeTree::LeafNode
36 return static_cast<const LFS*
>(
this)->tree().finiteElement();
39 template<
typename Tree>
47 template<
typename GFS,
typename TreePath = TypeTree::Hybr
idTreePath<>>
54 using Basis =
typename GFS::Basis;
56 using Tree = TypeTree::ChildForTreePath<typename LocalView::Tree,TreePath>;
60 template<
typename LFS,
typename C,
typename Tag,
bool fast>
68 using GridView =
typename GFS::Traits::GridView;
79 , _local_view(gfs->basis())
80 , _tree_path(tree_path)
81 , _tree(TypeTree::child(_local_view.
tree(),tree_path))
82 , _local_index_set(gfs->basis().localIndexSet())
93 return _local_view.size();
99 return _local_view.maxSize();
105 return _tree.localIndex(
index);
110 return _local_index_set.index(_tree.localIndex(
index));
119 void bind(
const typename GFS::Traits::EntitySet::template Codim<0>::Entity&
e)
122 _local_index_set.bind(_local_view);
127 return _gfs->constraints();
137 std::shared_ptr<const GFS> _gfs;
146 template<
typename DFBasis,
typename V,
typename CE=NoConstra
ints>
153 template<
typename DFBasis,
typename V,
typename CE,
typename TAG>
172 template<
typename DFBasis,
typename V,
typename CE>
195 #endif // DUNE_PDELAB_GRIDFUNCTIONSPACE_DUNEFUNCTIONSLOCALFUNCTIONSPACE_HH
typename Basis::MultiIndex DOFIndex
Definition: dunefunctionslocalfunctionspace.hh:58
void bind(const typename GFS::Traits::EntitySet::template Codim< 0 >::Entity &e)
Definition: dunefunctionslocalfunctionspace.hh:119
Definition: localfunctionspacetags.hh:40
LocalFunctionSpace(std::shared_ptr< const GFS > gfs)
Definition: dunefunctionslocalfunctionspace.hh:162
Definition: dunefunctionslocalfunctionspace.hh:48
const GFS & gridFunctionSpace() const
Returns the GridFunctionSpace underlying this LocalFunctionSpace.
Definition: dunefunctionslocalfunctionspace.hh:114
typename GFS::Traits::GridView GridView
Definition: dunefunctionslocalfunctionspace.hh:68
std::size_t index
Definition: interpolate.hh:118
For backward compatibility – Do not use this!
Definition: adaptivity.hh:28
DOFIndex dofIndex(size_type index) const
Definition: dunefunctionslocalfunctionspace.hh:108
std::size_t SizeType
Definition: dunefunctionslocalfunctionspace.hh:69
typename Basis::LocalView LocalView
Definition: dunefunctionslocalfunctionspace.hh:55
const auto & finiteElement() const
Definition: dunefunctionslocalfunctionspace.hh:34
FiniteElement FiniteElementType
Definition: dunefunctionslocalfunctionspace.hh:43
size_type subSpaceDepth() const
Definition: dunefunctionslocalfunctionspace.hh:85
const std::size_t offset
Definition: localfunctionspace.hh:74
GFS GridFunctionSpace
Definition: dunefunctionslocalfunctionspace.hh:67
typename Basis::MultiIndex DOFIndex
Definition: dunefunctionslocalfunctionspace.hh:70
const Tree & tree() const
Definition: dunefunctionslocalfunctionspace.hh:130
typename Experimental::GridFunctionSpace< DFBasis, V, CE > ::Basis Basis
Definition: dunefunctionslocalfunctionspace.hh:54
A grid function space.
Definition: gridfunctionspace.hh:166
size_type localIndex(size_type index) const
map index in this local function space to root local function space
Definition: dunefunctionslocalfunctionspace.hh:103
Definition: dunefunctionslocalfunctionspace.hh:63
const Entity & e
Definition: localfunctionspace.hh:120
LocalFunctionSpace(const GFS &gfs)
Definition: dunefunctionslocalfunctionspace.hh:166
LocalFunctionSpace(std::shared_ptr< const GFS > gfs, TreePath tree_path=TreePath(), size_type offset=0)
Definition: dunefunctionslocalfunctionspace.hh:77
Definition: dunefunctionslocalfunctionspace.hh:40
typename GFS::Traits::ConstraintsType ConstraintsType
Definition: dunefunctionslocalfunctionspace.hh:71
size_type size() const
get current size
Definition: dunefunctionslocalfunctionspace.hh:91
Definition: lfsindexcache.hh:244
Definition: dunefunctionslocalfunctionspace.hh:30
const Traits::ConstraintsType & constraints() const
Definition: dunefunctionslocalfunctionspace.hh:125
Create a local function space from a global function space.
Definition: localfunctionspace.hh:698
TypeTree::ChildForTreePath< typename LocalView::Tree, TypeTree::HybridTreePath<> > Tree
Definition: dunefunctionslocalfunctionspace.hh:56
std::size_t size_type
Definition: dunefunctionslocalfunctionspace.hh:75
LocalFunctionSpace(const GFS &gfs)
Definition: dunefunctionslocalfunctionspace.hh:185
LocalFunctionSpace(std::shared_ptr< const GFS > gfs)
Definition: dunefunctionslocalfunctionspace.hh:181
typename Basis::LocalIndexSet LocalIndexSet
Definition: dunefunctionslocalfunctionspace.hh:57
size_type maxSize() const
Definition: dunefunctionslocalfunctionspace.hh:96
typename Tree::FiniteElement FiniteElement
Definition: dunefunctionslocalfunctionspace.hh:42