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>
78 , _local_view(gfs->basis())
79 , _tree_path(tree_path)
80 , _tree(TypeTree::child(_local_view.tree(),tree_path))
81 , _local_index_set(gfs->basis().localIndexSet())
92 return _local_view.size();
98 return _local_view.maxSize();
104 return _tree.localIndex(index);
109 return _local_index_set.index(_tree.localIndex(index));
118 void bind(
const typename GFS::Traits::EntitySet::template Codim<0>::Entity&
e)
121 _local_index_set.bind(_local_view);
126 return _gfs->constraints();
136 std::shared_ptr<const GFS> _gfs;
145 template<
typename DFBasis,
typename V,
typename CE=NoConstra
ints>
152 template<
typename DFBasis,
typename V,
typename CE,
typename TAG>
171 template<
typename DFBasis,
typename V,
typename CE>
194 #endif // DUNE_PDELAB_GRIDFUNCTIONSPACE_DUNEFUNCTIONSLOCALFUNCTIONSPACE_HH size_type maxSize() const
Definition: dunefunctionslocalfunctionspace.hh:95
Definition: localfunctionspacetags.hh:40
GFS GridFunctionSpace
Definition: dunefunctionslocalfunctionspace.hh:67
LocalFunctionSpace(std::shared_ptr< const GFS > gfs)
Definition: dunefunctionslocalfunctionspace.hh:161
const Entity & e
Definition: localfunctionspace.hh:111
LocalFunctionSpace(std::shared_ptr< const GFS > gfs)
Definition: dunefunctionslocalfunctionspace.hh:180
size_type size() const
get current size
Definition: dunefunctionslocalfunctionspace.hh:90
DOFIndex dofIndex(size_type index) const
Definition: dunefunctionslocalfunctionspace.hh:107
const auto & finiteElement() const
Definition: dunefunctionslocalfunctionspace.hh:34
typename Experimental::GridFunctionSpace< DFBasis, V, CE > ::Basis Basis
Definition: dunefunctionslocalfunctionspace.hh:54
typename Basis::LocalIndexSet LocalIndexSet
Definition: dunefunctionslocalfunctionspace.hh:57
TypeTree::ChildForTreePath< typename LocalView::Tree, TypeTree::HybridTreePath<> > Tree
Definition: dunefunctionslocalfunctionspace.hh:56
LocalFunctionSpace(const GFS &gfs)
Definition: dunefunctionslocalfunctionspace.hh:165
Definition: dunefunctionslocalfunctionspace.hh:30
const Traits::ConstraintsType & constraints() const
Definition: dunefunctionslocalfunctionspace.hh:124
void bind(const typename GFS::Traits::EntitySet::template Codim< 0 >::Entity &e)
Definition: dunefunctionslocalfunctionspace.hh:118
FiniteElement FiniteElementType
Definition: dunefunctionslocalfunctionspace.hh:43
const std::size_t offset
Definition: localfunctionspace.hh:74
For backward compatibility – Do not use this!
Definition: adaptivity.hh:27
typename Basis::MultiIndex DOFIndex
Definition: dunefunctionslocalfunctionspace.hh:58
LocalFunctionSpace(const GFS &gfs)
Definition: dunefunctionslocalfunctionspace.hh:184
const GFS & gridFunctionSpace() const
Returns the GridFunctionSpace underlying this LocalFunctionSpace.
Definition: dunefunctionslocalfunctionspace.hh:113
Definition: dunefunctionslocalfunctionspace.hh:48
const Tree & tree() const
Definition: dunefunctionslocalfunctionspace.hh:129
Definition: dunefunctionslocalfunctionspace.hh:40
size_type localIndex(size_type index) const
map index in this local function space to root local function space
Definition: dunefunctionslocalfunctionspace.hh:102
std::size_t size_type
Definition: dunefunctionslocalfunctionspace.hh:74
typename Basis::MultiIndex DOFIndex
Definition: dunefunctionslocalfunctionspace.hh:69
Definition: lfsindexcache.hh:240
typename Basis::LocalView LocalView
Definition: dunefunctionslocalfunctionspace.hh:55
Definition: dunefunctionslocalfunctionspace.hh:63
size_type subSpaceDepth() const
Definition: dunefunctionslocalfunctionspace.hh:84
std::size_t index
Definition: interpolate.hh:118
A pdelab grid function space implemented by a dune-functions function space basis.
Definition: dunefunctionsgridfunctionspace.hh:37
Create a local function space from a global function space.
Definition: localfunctionspace.hh:670
LocalFunctionSpace(std::shared_ptr< const GFS > gfs, TreePath tree_path=TreePath(), size_type offset=0)
Definition: dunefunctionslocalfunctionspace.hh:76
std::size_t SizeType
Definition: dunefunctionslocalfunctionspace.hh:68
A grid function space.
Definition: gridfunctionspace.hh:169
typename Tree::FiniteElement FiniteElement
Definition: dunefunctionslocalfunctionspace.hh:42
typename GFS::Traits::ConstraintsType ConstraintsType
Definition: dunefunctionslocalfunctionspace.hh:70