7#ifndef DUNE_FUNCTIONS_FUNCTIONSPACEBASES_SUBSPACEBASIS_HH
8#define DUNE_FUNCTIONS_FUNCTIONSPACEBASES_SUBSPACEBASIS_HH
10#include <dune/common/reservedvector.hh>
11#include <dune/common/typeutilities.hh>
12#include <dune/common/concept.hh>
14#include <dune/common/typetree/treepath.hh>
27template<
class RB,
class TP>
63 template<
class RootRootBasis,
class InnerTP,
class OuterTP>
127template<
class RB,
class TP>
131template<
class RootRootBasis,
class InnerTP,
class OuterTP>
133 ->
SubspaceBasis<std::decay_t<
decltype(rootBasis.rootBasis())>,
decltype(Dune::TypeTree::join(rootBasis.prefixPath(), prefixPath))>;
147template<
class RootBasis,
class... PrefixTreeIndices>
148auto subspaceBasis(
const RootBasis& rootBasis,
const TypeTree::TreePath<PrefixTreeIndices...>& prefixPath)
153template<
class RootBasis,
class... PrefixTreeIndices>
154auto subspaceBasis(
const RootBasis& rootBasis,
const PrefixTreeIndices&... prefixTreeIndices)
156 return subspaceBasis(rootBasis, TypeTree::treePath(prefixTreeIndices...));
Definition monomialset.hh:19
Definition monomialset.hh:19
SubspaceBasis(const RB &, const TP) -> SubspaceBasis< RB, TP >
auto subspaceBasis(const RootBasis &rootBasis, const TypeTree::TreePath< PrefixTreeIndices... > &prefixPath)
Create SubspaceBasis from a root basis and a prefixPath.
Definition subspacebasis.hh:148
Definition subspacebasis.hh:29
typename RootBasis::LocalView RootLocalView
Definition subspacebasis.hh:34
LocalView localView() const
Return local view for basis.
Definition subspacebasis.hh:99
const RootBasis * rootBasis_
Definition subspacebasis.hh:121
typename RootBasis::SizePrefix SizePrefix
Definition subspacebasis.hh:49
TP PrefixPath
Definition subspacebasis.hh:36
SubspaceLocalView< RootLocalView, PrefixPath > LocalView
Type of the local view on the restriction of the basis to a single element.
Definition subspacebasis.hh:47
size_type size(const SizePrefix &prefix) const
Return number possible values for next position in multi index.
Definition subspacebasis.hh:91
typename RootBasis::GridView GridView
The grid view that the FE space is defined on.
Definition subspacebasis.hh:39
const PrefixPath & prefixPath() const
Definition subspacebasis.hh:109
SubspaceBasis(const SubspaceBasis< RootRootBasis, InnerTP > &rootBasis, const OuterTP &prefixPath)
Constructor from another SubspaceBasis.
Definition subspacebasis.hh:64
const GridView & gridView() const
Obtain the grid view that the basis is defined on.
Definition subspacebasis.hh:71
auto containerDescriptor() const
Return the associated container descriptor.
Definition subspacebasis.hh:115
RB RootBasis
Definition subspacebasis.hh:32
PrefixPath prefixPath_
Definition subspacebasis.hh:122
size_type size() const
Return number of possible values for next position in empty multi index.
Definition subspacebasis.hh:85
const RootBasis & rootBasis() const
Definition subspacebasis.hh:104
typename RootBasis::MultiIndex MultiIndex
Type used for global numbering of the basis vectors.
Definition subspacebasis.hh:42
size_type dimension() const
Definition subspacebasis.hh:79
std::size_t size_type
Definition subspacebasis.hh:44
SubspaceBasis(const RootBasis &rootBasis, const PrefixPath &prefixPath)
Constructor for a given grid view object.
Definition subspacebasis.hh:53
The restriction of a finite element basis to a single element.
Definition subspacelocalview.hh:34