dune-pdelab
2.0.0
|
Non-nesting implementation of GridFunctionSubSpace. More...
#include <dune/pdelab/gridfunctionspace/subspace.hh>
Public Types | |
typedef GFS | BaseGridFunctionSpace |
The base GridFunctionSpace that this GridFunctionSubSpace is based on. More... | |
typedef TypeTree::extract_child_type < GFS, TreePath >::type | ChildGridFunctionSpace |
The type of the original GridFunctionSpace that is the root of this GridFunctionSpace. More... | |
typedef ChildGridFunctionSpace::Traits | Traits |
Re-exported Traits from the original GridFunctionSpace. More... | |
typedef GridFunctionSubSpaceTag < typename ChildGridFunctionSpace::ImplementationTag > | ImplementationTag |
Our ImplementationTag is derived from the tag of the original GridFunctionSpace. More... | |
Public Member Functions | |
GridFunctionSubSpace (shared_ptr< const GFS > gfs_storage) | |
GridFunctionSubSpace (const GFS &gfs) | |
const BaseGridFunctionSpace & | baseGridFunctionSpace () const |
Returns the root GridFunctionSpace that this subspace view is based on. More... | |
shared_ptr< const BaseGridFunctionSpace > | baseGridFunctionSpaceStorage () const |
Returns the storage object of the root GridFunctionSpace that this subspace view is based on. More... | |
const ChildGridFunctionSpace & | childGridFunctionSpace () const |
Returns the original GridFunctionSpace that we provide a view for. More... | |
shared_ptr< const ChildGridFunctionSpace > | childGridFunctionSpaceStorage () const |
Returns the storage object of the original GridFunctionSpace that we provide a view for. More... | |
Additional Functionality for Leaf Spaces | |
const Traits::FiniteElementMap & | finiteElementMap () const |
Returns the finite element map of this space. More... | |
shared_ptr< const typename Traits::FiniteElementMap > | finiteElementMapStorage () const |
Returns the storage object for the finite element map of this space. More... | |
const Traits::ConstraintsType & | constraints () const |
Returns the constraints engine of this space. More... | |
const std::string & | name () const |
Returns the name of this space. More... | |
Default Functionality for all GridFunctionSpaces | |
std::size_t | subSpaceDepth () const |
const Ordering & | ordering () const |
Returns the ordering associated with this GridFunctionSubSpace. More... | |
const Traits::GridViewType & | gridView () const |
Returns the underlying GridView. More... | |
Traits::SizeType | globalSize () const |
Returns the global size of the root space. More... | |
Traits::SizeType | size () const |
Returns the global size of the root space. More... | |
Traits::SizeType | maxLocalSize () const |
Returns the maximum number of DOFs per cells in this subspace. More... | |
typedef TreePath | SubSpacePath |
The TreePath from the root of the space hierarchy to this subspace. More... | |
typedef ChildGridFunctionSpace::OrderingTag | OrderingTag |
Re-exported OrderingTag from the original GridFunctionSpace. More... | |
typedef SubOrdering< typename GFS::Ordering, typename find_ordering_treepath_for_sub_gfs < typename GFS::Ordering, GFS, TreePath >::type > | Ordering |
The ordering used by this GridFunctionSubSpace. More... | |
Non-nesting implementation of GridFunctionSubSpace.
This is the actual implementation of GridFunctionSubSpace. It is based around the idea of performing the mapping from the subspace to the rootspace in a single step using a SubOrdering. As SubOrderings cannot be nested, this class needs some helper functionality that constructs a new GridFunctionSubSpace directly on top of the underlying root GridFunctionSpace if the user attempts to nest GridFunctionSubSpaces. On the other hand, this implementation should render such usage mostly unnecessary, as it is now possible to directly construct a subspace for a given leaf space. If the compiler has support for template aliases, the de-nesting infrastructure will be able to completely remove all traces of nesting, letting the type obtained by nesting two GridFunctionSubSpaces look exactly like the type obtained by constructing a single GridFunctionSubSpace. Alternatively, without template aliases, it is only possible to have the actual implementation be non-nested. In this case, the Dune::PDELab::GridFunctionSubSpace classes will still nest.
GFS | The root GridFunctionSpace. |
TreePath | Path from the root GridFunctionSpace to the represented subspace. Without template alias support, this interface class inherits from the actual, de-nested implementation. |
|
inherited |
The base GridFunctionSpace that this GridFunctionSubSpace is based on.
|
inherited |
The type of the original GridFunctionSpace that is the root of this GridFunctionSpace.
|
inherited |
Our ImplementationTag is derived from the tag of the original GridFunctionSpace.
|
inherited |
The ordering used by this GridFunctionSubSpace.
|
inherited |
Re-exported OrderingTag from the original GridFunctionSpace.
|
inherited |
The TreePath from the root of the space hierarchy to this subspace.
|
inherited |
Re-exported Traits from the original GridFunctionSpace.
|
inlineexplicit |
|
inlineexplicit |
|
inlineinherited |
Returns the root GridFunctionSpace that this subspace view is based on.
|
inlineinherited |
Returns the storage object of the root GridFunctionSpace that this subspace view is based on.
|
inlineinherited |
Returns the original GridFunctionSpace that we provide a view for.
Referenced by Dune::PDELab::gfs::LeafSubSpaceFeatures< GFS, TreePath, TypeTree::extract_child_type< GFS, TreePath >::type::ImplementationTag >::constraints(), Dune::PDELab::gfs::LeafSubSpaceFeatures< GFS, TreePath, TypeTree::extract_child_type< GFS, TreePath >::type::ImplementationTag >::finiteElementMap(), Dune::PDELab::gfs::LeafSubSpaceFeatures< GFS, TreePath, TypeTree::extract_child_type< GFS, TreePath >::type::ImplementationTag >::finiteElementMapStorage(), Dune::PDELab::gfs::DefaultSubSpaceFeatures< GFS, TreePath, TypeTree::extract_child_type< GFS, TreePath >::type::ImplementationTag >::gridView(), and Dune::PDELab::gfs::LeafSubSpaceFeatures< GFS, TreePath, TypeTree::extract_child_type< GFS, TreePath >::type::ImplementationTag >::name().
|
inlineinherited |
Returns the storage object of the original GridFunctionSpace that we provide a view for.
|
inlineinherited |
Returns the constraints engine of this space.
References Dune::PDELab::gfs::GridFunctionSubSpace< GFS, TreePath >::childGridFunctionSpace().
|
inlineinherited |
Returns the finite element map of this space.
References Dune::PDELab::gfs::GridFunctionSubSpace< GFS, TreePath >::childGridFunctionSpace().
|
inlineinherited |
Returns the storage object for the finite element map of this space.
References Dune::PDELab::gfs::GridFunctionSubSpace< GFS, TreePath >::childGridFunctionSpace().
|
inlineinherited |
Returns the global size of the root space.
References Dune::PDELab::SubOrdering< BaseOrdering_, TreePath >::size().
|
inlineinherited |
Returns the underlying GridView.
References Dune::PDELab::gfs::GridFunctionSubSpace< GFS, TreePath >::childGridFunctionSpace().
|
inlineinherited |
Returns the maximum number of DOFs per cells in this subspace.
References Dune::PDELab::SubOrdering< BaseOrdering_, TreePath >::maxLocalSize().
|
inlineinherited |
Returns the name of this space.
References Dune::PDELab::gfs::GridFunctionSubSpace< GFS, TreePath >::childGridFunctionSpace().
|
inlineinherited |
Returns the ordering associated with this GridFunctionSubSpace.
|
inlineinherited |
Returns the global size of the root space.
References Dune::PDELab::SubOrdering< BaseOrdering_, TreePath >::size().
|
inlineinherited |
References value.