DUNE PDELab (unstable)
defaultglobalbasis.hh
91 static_assert(models<Concept::PreBasis<GridView>, PreBasis>(), "Type passed to DefaultGlobalBasis does not model the PreBasis concept.");
107 static_assert(models<Concept::PreBasis<GridView>, PreBasis>(), "Type passed to DefaultGlobalBasis does not model the PreBasis concept.");
197DefaultGlobalBasis(const GridView& gv, PreBasisFactory&& f) -> DefaultGlobalBasis<std::decay_t<decltype(f(gv))>>;
Global basis for given pre-basis.
Definition: defaultglobalbasis.hh:51
std::size_t size_type
Type used for indices and size information.
Definition: defaultglobalbasis.hh:65
typename PreBasis::GridView GridView
The grid view that the FE space is defined on.
Definition: defaultglobalbasis.hh:62
const GridView & gridView() const
Obtain the grid view that the basis is defined on.
Definition: defaultglobalbasis.hh:112
PB PreBasis
Pre-basis providing the implementation details.
Definition: defaultglobalbasis.hh:56
PreBasis & preBasis()
Obtain the pre-basis providing the implementation details.
Definition: defaultglobalbasis.hh:124
void update(const GridView &gv)
Update the stored grid view.
Definition: defaultglobalbasis.hh:135
DefaultLocalView< DefaultGlobalBasis< PreBasis > > LocalView
Type of the local view on the restriction of the basis to a single element.
Definition: defaultglobalbasis.hh:68
typename LocalView::MultiIndex MultiIndex
Type used for global numbering of the basis vectors.
Definition: defaultglobalbasis.hh:71
size_type size(const SizePrefix &prefix) const
Return number of possible values for next position in multi index.
Definition: defaultglobalbasis.hh:154
size_type dimension() const
Get the total dimension of the space spanned by this basis.
Definition: defaultglobalbasis.hh:142
LocalView localView() const
Return local view for basis.
Definition: defaultglobalbasis.hh:160
TypeTree::HybridTreePath<> PrefixPath
The empty prefix path that identifies the root in the local ansatz tree.
Definition: defaultglobalbasis.hh:59
DefaultGlobalBasis(T &&... t)
Constructor.
Definition: defaultglobalbasis.hh:87
DefaultGlobalBasis(const GridView &gridView, PreBasisFactory &&factory)
Constructor from a PreBasis factory.
Definition: defaultglobalbasis.hh:103
size_type size() const
Return number of possible values for next position in empty multi index.
Definition: defaultglobalbasis.hh:148
const PreBasis & preBasis() const
Obtain the pre-basis providing the implementation details.
Definition: defaultglobalbasis.hh:118
auto containerDescriptor() const
Return the associated container descriptor.
Definition: defaultglobalbasis.hh:178
const DefaultGlobalBasis & rootBasis() const
Return *this because we are not embedded in a larger basis.
Definition: defaultglobalbasis.hh:166
const PrefixPath & prefixPath() const
Return empty path, because this is the root in the local ansatz tree.
Definition: defaultglobalbasis.hh:172
The restriction of a finite element basis to a single element.
Definition: defaultlocalview.hh:32
std::conditional_t<(PreBasis::minMultiIndexSize==PreBasis::maxMultiIndexSize), StaticMultiIndex< size_type, PreBasis::maxMultiIndexSize >, Dune::ReservedVector< size_type, PreBasis::multiIndexBufferSize > > MultiIndex
Type used for global numbering of the basis vectors.
Definition: defaultlocalview.hh:68
A hybrid multi-index class that supports both compile time and run time indices.
Definition: hybridmultiindex.hh:81
Infrastructure for concepts.
std::enable_if_t< not Impl::disableCopyMoveHelper< This, T... >::value, int > disableCopyMove
Helper to disable constructor as copy and move constructor.
Definition: typeutilities.hh:45
std::enable_if_t< std::is_constructible_v< T, Args... >, int > enableIfConstructible
Helper to constrain forwarding constructors.
Definition: type_traits.hh:31
STL namespace.
An stl-compliant random-access container which stores everything on the stack.
Fallback container descriptor if nothing else fits.
Definition: containerdescriptors.hh:52
Check if a type is callable with ()-operator and given arguments.
Definition: typetraits.hh:162
Utilities for type computations, constraining overloads, ...
