dune-functions
2.5.1
|
Global basis for given node factory. More...
#include <dune/functions/functionspacebases/defaultglobalbasis.hh>
Public Types | |
using | NodeFactory = NF |
Node factory providing the implementation details. More... | |
using | PrefixPath = TypeTree::HybridTreePath<> |
The empty prefix path that identifies the root in the local ansatz tree. More... | |
using | GridView = typename NodeFactory::GridView |
The grid view that the FE space is defined on. More... | |
using | MultiIndex = typename NodeFactory::MultiIndex |
Type used for global numbering of the basis vectors. More... | |
using | size_type = std::size_t |
Type used for indices and size information. More... | |
using | LocalView = DefaultLocalView< DefaultGlobalBasis< NodeFactory > > |
Type of the local view on the restriction of the basis to a single element. More... | |
using | NodeIndexSet = typename NodeFactory::template IndexSet< PrefixPath > |
Node index set provided by NodeFactory. More... | |
using | SizePrefix = typename NodeFactory::SizePrefix |
Type used for prefixes handed to the size() method. More... | |
using | LocalIndexSet = DefaultLocalIndexSet< LocalView, NodeIndexSet > |
Type of local indixes set exported by localIndexSet() More... | |
Public Member Functions | |
template<class... T, disableCopyMove< DefaultGlobalBasis, T... > = 0, enableIfConstructible< NodeFactory, T... > = 0> | |
DefaultGlobalBasis (T &&... t) | |
Constructor. More... | |
const GridView & | gridView () const |
Obtain the grid view that the basis is defined on. More... | |
const NodeFactory & | nodeFactory () const |
Obtain the node factory providing the implementation details. More... | |
void | update (const GridView &gv) |
Update the stored grid view. More... | |
size_type | dimension () const |
Get the total dimension of the space spanned by this basis. More... | |
size_type | size () const |
Return number of possible values for next position in empty multi index. More... | |
size_type | size (const SizePrefix &prefix) const |
Return number of possible values for next position in multi index. More... | |
LocalView | localView () const |
Return local view for basis. More... | |
LocalIndexSet | localIndexSet () const |
Return local index set for basis. More... | |
const DefaultGlobalBasis & | rootBasis () const |
Return *this because we are not embedded in a larger basis. More... | |
const PrefixPath & | prefixPath () const |
Return empty path, because this is the root in the local ansatz tree. More... | |
Protected Attributes | |
NodeFactory | nodeFactory_ |
PrefixPath | prefixPath_ |
Global basis for given node factory.
This class implements the interface of a global basis using the details from a given node factory. Hence it serves as an example for this interface.
If you want to implement your own global basis, it may be better to implement a node factory instead. On the one hand this needs less boiler-plate code. On the other hand it makes your implementation composable and thus much more flexible. That is, you can reuse your factory as one part in a larger product space by plugging it e.g. into a CompositeNodeFactory of PowerNodeFactory. The actual global basis for your FooNodeFactory is then obtained by using DefaultGlobalBasis<FooNodeFactory>.
NF | Node factory providing the implementation details |
using Dune::Functions::DefaultGlobalBasis< NF >::GridView = typename NodeFactory::GridView |
The grid view that the FE space is defined on.
using Dune::Functions::DefaultGlobalBasis< NF >::LocalIndexSet = DefaultLocalIndexSet<LocalView, NodeIndexSet> |
Type of local indixes set exported by localIndexSet()
using Dune::Functions::DefaultGlobalBasis< NF >::LocalView = DefaultLocalView<DefaultGlobalBasis<NodeFactory> > |
Type of the local view on the restriction of the basis to a single element.
using Dune::Functions::DefaultGlobalBasis< NF >::MultiIndex = typename NodeFactory::MultiIndex |
Type used for global numbering of the basis vectors.
using Dune::Functions::DefaultGlobalBasis< NF >::NodeFactory = NF |
Node factory providing the implementation details.
using Dune::Functions::DefaultGlobalBasis< NF >::NodeIndexSet = typename NodeFactory::template IndexSet<PrefixPath> |
Node index set provided by NodeFactory.
using Dune::Functions::DefaultGlobalBasis< NF >::PrefixPath = TypeTree::HybridTreePath<> |
The empty prefix path that identifies the root in the local ansatz tree.
using Dune::Functions::DefaultGlobalBasis< NF >::size_type = std::size_t |
Type used for indices and size information.
using Dune::Functions::DefaultGlobalBasis< NF >::SizePrefix = typename NodeFactory::SizePrefix |
Type used for prefixes handed to the size() method.
|
inline |
Constructor.
T | Argument list for NodeFactory |
t | Argument list for NodeFactory |
This will forward all arguments to the constructor of NodeFactory
|
inline |
Get the total dimension of the space spanned by this basis.
|
inline |
Obtain the grid view that the basis is defined on.
|
inline |
Return local index set for basis.
|
inline |
Return local view for basis.
|
inline |
Obtain the node factory providing the implementation details.
|
inline |
Return empty path, because this is the root in the local ansatz tree.
|
inline |
Return *this because we are not embedded in a larger basis.
|
inline |
Return number of possible values for next position in empty multi index.
|
inline |
Return number of possible values for next position in multi index.
|
inline |
Update the stored grid view.
This will update the indexing information of the global basis. It must be called if the grid has changed.
|
protected |
|
protected |