3 #ifndef DUNE_PDELAB_GRIDFUNCTIONSPACE_DUNEFUNCTIONSGRIDFUNCTIONSPACE_HH 4 #define DUNE_PDELAB_GRIDFUNCTIONSPACE_DUNEFUNCTIONSGRIDFUNCTIONSPACE_HH 12 #include <dune/common/exceptions.hh> 13 #include <dune/common/typetraits.hh> 28 namespace Experimental {
36 template<
typename DFBasis,
typename V,
typename CE>
38 :
public TypeTree::LeafNode
42 using GV =
typename DFBasis::GridView;
44 template<
typename,
typename>
52 using GridView = Dune::PDELab::impl::GridView<typename DFBasis::GridView>;
53 using EntitySet = Dune::PDELab::impl::EntitySet<typename DFBasis::GridView>;
103 return _gfs.basis().size();
108 return size() / V::block_type::dimension;
113 return _gfs.basis().maxLocalSize();
142 using Type = std::conditional_t<
162 , _df_basis(
std::move(df_basis))
163 , _pce(
std::move(ce))
169 , _df_basis(
std::move(df_basis))
170 , _pce(
std::make_shared<CE>())
177 return _es.gridView();
206 return _ordering.size();
211 return _ordering.blockCount();
216 return _ordering.size();
221 return _ordering.maxLocalSize();
224 const std::string&
name()
const 247 std::shared_ptr<DFBasis> _df_basis;
248 std::shared_ptr<CE const> _pce;
257 #endif // DUNE_PDELAB_GRIDFUNCTIONSPACE_DUNEFUNCTIONSGRIDFUNCTIONSPACE_HH Definition: dunefunctionsgridfunctionspace.hh:81
Definition: dunefunctionsgridfunctionspace.hh:63
Traits::SizeType blockCount() const
Definition: dunefunctionsgridfunctionspace.hh:209
const Traits::EntitySet & entitySet() const
get EntitySet
Definition: dunefunctionsgridfunctionspace.hh:181
Traits::SizeType maxLocalSize() const
Definition: dunefunctionsgridfunctionspace.hh:219
Definition: dunefunctionsgridfunctionspace.hh:79
FiniteElement FiniteElementType
Definition: dunefunctionsgridfunctionspace.hh:68
std::shared_ptr< const CE > constraintsStorage() const
return storage of constraints engine
Definition: dunefunctionsgridfunctionspace.hh:193
const Traits::GridView & gridView() const
get grid view
Definition: dunefunctionsgridfunctionspace.hh:175
ContainerIndex mapIndex(const DOFIndex &di) const
Definition: dunefunctionsgridfunctionspace.hh:116
typename DFBasis::MultiIndex DOFIndex
Definition: dunefunctionsgridfunctionspace.hh:83
typename DFBasis::LocalView::Tree::FiniteElement FiniteElement
Definition: dunefunctionsgridfunctionspace.hh:67
extract type for storing constraints
Definition: dunefunctionsgridfunctionspace.hh:138
Traits::SizeType size() const
Definition: dunefunctionsgridfunctionspace.hh:204
const Basis & basis() const
Definition: dunefunctionsgridfunctionspace.hh:239
std::conditional_t< std::is_same< CE, NoConstraints >::value, EmptyTransformation, ConstraintsTransformation< typename Ordering::Traits::DOFIndex, typename Ordering::Traits::ContainerIndex, E > > Type
define Type as the Type of a container of E's
Definition: dunefunctionsgridfunctionspace.hh:149
size_type SizeType
Definition: dunefunctionsgridfunctionspace.hh:56
size_type size() const
Definition: dunefunctionsgridfunctionspace.hh:101
std::size_t size_type
Definition: dunefunctionsgridfunctionspace.hh:55
void update()
Definition: dunefunctionsgridfunctionspace.hh:126
Dune::PDELab::impl::EntitySet< typename DFBasis::GridView > EntitySet
Definition: dunefunctionsgridfunctionspace.hh:53
size_type maxLocalSize() const
Definition: dunefunctionsgridfunctionspace.hh:111
DOFIndex ContainerIndex
Definition: dunefunctionsgridfunctionspace.hh:84
Definition: constraintstransformation.hh:111
void mapIndex(const DOFIndex &di, ContainerIndex &ci) const
Definition: dunefunctionsgridfunctionspace.hh:121
For backward compatibility – Do not use this!
Definition: adaptivity.hh:27
Dune::PDELab::impl::GridView< typename DFBasis::GridView > GridView
Definition: dunefunctionsgridfunctionspace.hh:52
std::size_t size_type
Definition: dunefunctionsgridfunctionspace.hh:85
typename DFBasis::MultiIndex DOFIndex
Definition: dunefunctionsgridfunctionspace.hh:90
DFBasis Basis
Definition: dunefunctionsgridfunctionspace.hh:59
Definition: gridfunctionspacebase.hh:134
Ordering(const GridFunctionSpace &gfs)
Definition: dunefunctionsgridfunctionspace.hh:97
size_type SizeType
Definition: dunefunctionsgridfunctionspace.hh:86
DFBasis Basis
Definition: dunefunctionsgridfunctionspace.hh:77
DOFIndex ContainerIndex
Definition: dunefunctionsgridfunctionspace.hh:91
export Traits class
Definition: dunefunctionsgridfunctionspace.hh:50
size_type blockCount() const
Definition: dunefunctionsgridfunctionspace.hh:106
Definition: dunefunctions.hh:13
GridFunctionSpace(std::shared_ptr< DFBasis > df_basis, std::shared_ptr< CE > ce)
constructor
Definition: dunefunctionsgridfunctionspace.hh:160
CE ConstraintsType
Definition: dunefunctionsgridfunctionspace.hh:57
Definition: gridfunctionspace/tags.hh:220
Definition: gridfunctionspace/tags.hh:208
bool isRootSpace() const
Definition: dunefunctionsgridfunctionspace.hh:234
const std::string & name() const
Definition: dunefunctionsgridfunctionspace.hh:224
void name(const std::string &name)
Definition: dunefunctionsgridfunctionspace.hh:229
GridFunctionSpace(std::shared_ptr< DFBasis > df_basis)
Definition: dunefunctionsgridfunctionspace.hh:167
a class holding transformation for constrained spaces
Definition: constraintstransformation.hh:18
std::size_t size_type
Definition: dunefunctionsgridfunctionspace.hh:92
Traits::SizeType globalSize() const
Definition: dunefunctionsgridfunctionspace.hh:214
Mixin base class for specifying output hints to I/O routines like VTK.
Definition: function.hh:124
Definition: noconstraints.hh:16
Definition: dunefunctionsgridfunctionspace.hh:65
const Ordering & ordering() const
Direct access to the DOF ordering.
Definition: dunefunctionsgridfunctionspace.hh:199
A pdelab grid function space implemented by a dune-functions function space basis.
Definition: dunefunctionsgridfunctionspace.hh:37
static const unsigned int value
Definition: gridfunctionspace/tags.hh:139
const Traits::ConstraintsType & constraints() const
return constraints engine
Definition: dunefunctionsgridfunctionspace.hh:187