DUNE PDELab (unstable)
•All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
subspace.hh
Go to the documentation of this file.
68 // 2. Insert either GFS child index or synthesized child index (always 0) in the ordering treepath.
69 // 3. Keep (synthesized ordering node) or drop (ordering with associated GFS) first entry of GFS TreePath.
102 template<typename Ordering, typename GFS, typename GFSTP, typename OrderingTP = TypeTree::StaticTreePath<> >
225 : _ordering(gfs.orderingStorage(), create_ordering_treepath_for_sub_gfs(gfs.ordering(), gfs, tree_path, TypeTree::treePath()))
395 , public SubSpaceFeatureProvider<GFS,TreePath,TypeTree::ImplementationTag<TypeTree::ChildForTreePath<GFS,TreePath>>>
452 explicit GridFunctionSubSpace(std::shared_ptr<const GridFunctionSubSpace<GFS,TP> > gfs_storage, TreePath tree_path, typename std::enable_if<!std::is_same<TP,TreePath>::value,void*>::type = nullptr)
461 explicit GridFunctionSubSpace(std::shared_ptr<const GridFunctionSubSpace<GFS,TP> > gfs_storage, typename std::enable_if<!std::is_same<TP,TreePath>::value,void*>::type = nullptr)
477 explicit GridFunctionSubSpace(const GridFunctionSubSpace<GFS,TP>& gfs, TreePath tree_path, typename std::enable_if<!std::is_same<TP,TreePath>::value,void*>::type = nullptr)
486 explicit GridFunctionSubSpace(const GridFunctionSubSpace<GFS,TP>& gfs, typename std::enable_if<!std::is_same<TP,TreePath>::value,void*>::type = nullptr)
Mixin base class for specifying output hints to I/O routines like VTK.
Definition: function.hh:126
A view on a subtree of a multi-component ordering.
Definition: subordering.hh:50
static const bool consume_tree_index
Forwarded ordering property from TargetOrdering, required by PDELab internals.
Definition: subordering.hh:75
Traits::SizeType maxLocalSize() const
Returns the maximum per-entity size of the TargetOrdering.
Definition: subordering.hh:195
Traits::SizeType size() const
Returns the size of the BaseOrdering.
Definition: subordering.hh:178
Default features used by every subspace implementation.
Definition: subspace.hh:126
const Traits::GridViewType & gridView() const
Returns the underlying GridView.
Definition: subspace.hh:190
typename GFS::template ConstraintsContainer< E > Constraintscontainer
Re-exported constraints container from the original GridFunctionSpace.
Definition: subspace.hh:160
const Traits::EntitySet & entitySet() const
Returns the underlying EntitySet.
Definition: subspace.hh:184
Traits::SizeType size() const
Returns the global size of the root space.
Definition: subspace.hh:209
ChildGridFunctionSpace::Traits Traits
Re-exported Traits from the original GridFunctionSpace.
Definition: subspace.hh:152
const Ordering & ordering() const
Returns the ordering associated with this GridFunctionSubSpace.
Definition: subspace.hh:178
Traits::SizeType maxLocalSize() const
Returns the maximum number of DOFs per cells in this subspace.
Definition: subspace.hh:215
Traits::SizeType globalSize() const
Returns the global size of the root space.
Definition: subspace.hh:196
TypeTree::ChildForTreePath< GFS, TreePath > ChildGridFunctionSpace
The type of the original GridFunctionSpace that is the root of this GridFunctionSpace.
Definition: subspace.hh:149
ChildGridFunctionSpace::OrderingTag OrderingTag
Re-exported OrderingTag from the original GridFunctionSpace.
Definition: subspace.hh:155
TreePath SubSpacePath
The TreePath from the root of the space hierarchy to this subspace.
Definition: subspace.hh:143
SubOrdering< typename GFS::Ordering, typename find_ordering_treepath_for_sub_gfs< typename GFS::Ordering, GFS, TreePath >::type > Ordering
The ordering used by this GridFunctionSubSpace.
Definition: subspace.hh:170
GFS BaseGridFunctionSpace
The base GridFunctionSpace that this GridFunctionSubSpace is based on.
Definition: subspace.hh:146
Mixin class which inherits from GridFunctionOutputParameters iff T inherits from GridFunctionOutputPa...
Definition: subspace.hh:347
Non-nesting implementation of GridFunctionSubSpace.
Definition: subspace.hh:397
TypeTree::ChildForTreePath< GFS, TreePath > ChildGridFunctionSpace
The type of the original GridFunctionSpace that is the root of this GridFunctionSpace.
Definition: subspace.hh:496
std::shared_ptr< const BaseGridFunctionSpace > baseGridFunctionSpaceStorage() const
Returns the storage object of the root GridFunctionSpace that this subspace view is based on.
Definition: subspace.hh:513
const BaseGridFunctionSpace & baseGridFunctionSpace() const
Returns the root GridFunctionSpace that this subspace view is based on.
Definition: subspace.hh:507
GFS BaseGridFunctionSpace
The base GridFunctionSpace that this GridFunctionSubSpace is based on.
Definition: subspace.hh:493
const ChildGridFunctionSpace & childGridFunctionSpace() const
Returns the original GridFunctionSpace that we provide a view for.
Definition: subspace.hh:524
GridFunctionSubSpaceTag< TypeTree::ImplementationTag< ChildGridFunctionSpace > > ImplementationTag
Our ImplementationTag is derived from the tag of the original GridFunctionSpace.
Definition: subspace.hh:504
GridFunctionSubSpace(const GFS &gfs, TreePath tree_path)
Construct a GridFunctionSubSpace from a root space.
Definition: subspace.hh:428
GridFunctionSubSpace(std::shared_ptr< const GFS > gfs_storage, TreePath tree_path)
Construct a GridFunctionSubSpace from the storage object of a root space.
Definition: subspace.hh:410
std::shared_ptr< const ChildGridFunctionSpace > childGridFunctionSpaceStorage() const
Returns the storage object of the original GridFunctionSpace that we provide a view for.
Definition: subspace.hh:535
GridFunctionSubSpace(std::shared_ptr< const GFS > gfs_storage)
Construct a GridFunctionSubSpace from the storage object of a root space.
Definition: subspace.hh:419
ChildGridFunctionSpace::Traits Traits
Re-exported Traits from the original GridFunctionSpace.
Definition: subspace.hh:499
GridFunctionSubSpace(std::shared_ptr< const GridFunctionSubSpace< GFS, TP > > gfs_storage, TreePath tree_path, typename std::enable_if<!std::is_same< TP, TreePath >::value, void * >::type=nullptr)
Construct a GridFunctionSubSpace from the storage of another GridFunctionSubSpace.
Definition: subspace.hh:452
GridFunctionSubSpace(const GridFunctionSubSpace< GFS, TP > &gfs, TreePath tree_path, typename std::enable_if<!std::is_same< TP, TreePath >::value, void * >::type=nullptr)
Construct a GridFunctionSubSpace from another GridFunctionSubSpace.
Definition: subspace.hh:477
Additional features used by leaf subspaces.
Definition: subspace.hh:242
ChildGridFunctionSpace::Traits Traits
Re-exported Traits from the original GridFunctionSpace.
Definition: subspace.hh:259
TypeTree::ChildForTreePath< GFS, TreePath > ChildGridFunctionSpace
The type of the original GridFunctionSpace that is the root of this GridFunctionSpace.
Definition: subspace.hh:256
const Traits::FiniteElementMap & finiteElementMap() const
Returns the finite element map of this space.
Definition: subspace.hh:265
std::shared_ptr< const typename Traits::FiniteElementMap > finiteElementMapStorage() const
Returns the storage object for the finite element map of this space.
Definition: subspace.hh:271
const Traits::ConstraintsType & constraints() const
Returns the constraints engine of this space.
Definition: subspace.hh:277
const std::string & name() const
Returns the name of this space.
Definition: subspace.hh:283
Definition: subspace.hh:301
Base class for nodes acting as a proxy for an existing node.
Definition: proxynode.hh:255
std::enable_if< enabled, const TypeTree::ChildForTreePath< GFS, TreePath > & >::type proxiedNode()
Returns the proxied node.
Definition: proxynode.hh:306
std::enable_if< enabled, std::shared_ptr< const TypeTree::ChildForTreePath< GFS, TreePath > > >::type proxiedNodeStorage()
Returns the storage of the proxied node.
Definition: proxynode.hh:320
constexpr index_constant< 0 > _0
Compile time index with value 0.
Definition: indices.hh:52
gfs::GridFunctionSubSpace< GFS, TreePath > GridFunctionSubSpace
Non-nesting implementation of GridFunctionSubSpace.
Definition: subspace.hh:592
typename std::decay_t< T >::ImplementationTag ImplementationTag
Returns the implementation tag of the given Node.
Definition: nodeinterface.hh:74
constexpr auto pop_front(const HybridTreePath< T... > &tp)
Removes first index on a HybridTreePath.
Definition: treepath.hh:527
constexpr auto join(const HybridTreePath< Head... > &head, const Other &... tail)
Join two tree paths into one.
Definition: treepath.hh:509
constexpr auto treePath(const T &... t)
Constructs a new HybridTreePath from the given indices.
Definition: treepath.hh:323
typename impl::_ChildForTreePath< Node, TreePath >::type ChildForTreePath
Template alias for the type of a child node given by a TreePath or a HybridTreePath type.
Definition: childextraction.hh:251
std::shared_ptr< T > stackobject_to_shared_ptr(T &t)
Create a shared_ptr for a stack-allocated object.
Definition: shared_ptr.hh:72
constexpr std::integer_sequence< T, II..., T(IN)> push_back(std::integer_sequence< T, II... >, std::integral_constant< T, IN >={})
Append an index IN to the back of the sequence.
Definition: integersequence.hh:69
constexpr std::integral_constant< T, I0 > front(std::integer_sequence< T, I0, II... >)
Return the first entry of the sequence.
Definition: integersequence.hh:39
Support infrastructure to make LocalFunctionSpaces of GridFunctionSubSpace work.
