3 #ifndef DUNE_FUNCTIONS_FUNCTIONSPACEBASES_DEFAULTGLOBALBASIS_HH 4 #define DUNE_FUNCTIONS_FUNCTIONSPACEBASES_DEFAULTGLOBALBASIS_HH 6 #include <dune/common/reservedvector.hh> 7 #include <dune/common/typeutilities.hh> 8 #include <dune/common/concept.hh> 53 using GridView =
typename NodeFactory::GridView;
65 using NodeIndexSet =
typename NodeFactory::template IndexSet<PrefixPath>;
166 namespace BasisBuilder {
168 template<
class Gr
idView,
class FactoryTag>
170 ->
DefaultGlobalBasis<decltype(factoryTag.template build<
typename Dune::ReservedVector<std::size_t, FactoryTag::requiredMultiIndexSize> >(
gridView))>
172 using MultiIndex =
typename Dune::ReservedVector<std::size_t, FactoryTag::requiredMultiIndexSize>;
173 return {factoryTag.template build<MultiIndex>(
gridView)};
176 template<
class MultiIndex,
class Gr
idView,
class FactoryTag>
180 return {factoryTag.template build<MultiIndex>(
gridView)};
192 #endif // DUNE_FUNCTIONS_FUNCTIONSPACEBASES_DEFAULTGLOBALBASIS_HH Definition: defaultlocalindexset.hh:15
typename NodeFactory::template IndexSet< PrefixPath > NodeIndexSet
Node index set provided by NodeFactory.
Definition: defaultglobalbasis.hh:65
const GridView & gridView() const
Obtain the grid view that the basis is defined on.
Definition: defaultglobalbasis.hh:94
typename NodeFactory::MultiIndex MultiIndex
Type used for global numbering of the basis vectors.
Definition: defaultglobalbasis.hh:56
DefaultGlobalBasis(T &&... t)
Constructor.
Definition: defaultglobalbasis.hh:85
DefaultLocalView< DefaultGlobalBasis< NodeFactory > > LocalView
Type of the local view on the restriction of the basis to a single element.
Definition: defaultglobalbasis.hh:62
Global basis for given node factory.
Definition: defaultglobalbasis.hh:42
Definition: polynomial.hh:7
typename std::enable_if< std::is_constructible< T, Args... >::value, int >::type enableIfConstructible
Helper to constrain forwarding constructors.
Definition: type_traits.hh:26
size_type size() const
Return number of possible values for next position in empty multi index.
Definition: defaultglobalbasis.hh:124
The restriction of a finite element basis to a single element.
Definition: defaultlocalview.hh:22
auto makeBasis(const GridView &gridView, FactoryTag &&factoryTag) -> DefaultGlobalBasis< decltype(factoryTag.template build< MultiIndex >(gridView))>
Definition: defaultglobalbasis.hh:177
LocalIndexSet localIndexSet() const
Return local index set for basis.
Definition: defaultglobalbasis.hh:142
const PrefixPath & prefixPath() const
Return empty path, because this is the root in the local ansatz tree.
Definition: defaultglobalbasis.hh:154
NodeFactory nodeFactory_
Definition: defaultglobalbasis.hh:160
std::size_t size_type
Type used for indices and size information.
Definition: defaultglobalbasis.hh:59
LocalView localView() const
Return local view for basis.
Definition: defaultglobalbasis.hh:136
typename NodeFactory::SizePrefix SizePrefix
Type used for prefixes handed to the size() method.
Definition: defaultglobalbasis.hh:68
size_type dimension() const
Get the total dimension of the space spanned by this basis.
Definition: defaultglobalbasis.hh:118
void update(const GridView &gv)
Update the stored grid view.
Definition: defaultglobalbasis.hh:111
const NodeFactory & nodeFactory() const
Obtain the node factory providing the implementation details.
Definition: defaultglobalbasis.hh:100
PrefixPath prefixPath_
Definition: defaultglobalbasis.hh:161
size_type size(const SizePrefix &prefix) const
Return number of possible values for next position in multi index.
Definition: defaultglobalbasis.hh:130
NF NodeFactory
Node factory providing the implementation details.
Definition: defaultglobalbasis.hh:47
Definition: concepts.hh:152
typename NodeFactory::GridView GridView
The grid view that the FE space is defined on.
Definition: defaultglobalbasis.hh:53
DefaultLocalIndexSet< LocalView, NodeIndexSet > LocalIndexSet
Type of local indixes set exported by localIndexSet()
Definition: defaultglobalbasis.hh:71
const DefaultGlobalBasis & rootBasis() const
Return *this because we are not embedded in a larger basis.
Definition: defaultglobalbasis.hh:148
TypeTree::HybridTreePath<> PrefixPath
The empty prefix path that identifies the root in the local ansatz tree.
Definition: defaultglobalbasis.hh:50