dune-pdelab
2.4-dev
|
A view on a subtree of a multi-component ordering. More...
#include <dune/pdelab/ordering/subordering.hh>
Public Types | |
typedef BaseOrdering_ | BaseOrdering |
The type of the BaseOrdering for which to represent a SubOrdering view. More... | |
using | TargetOrdering = TypeTree::ChildForTreePath< BaseOrdering, TreePath > |
The target ordering that makes up the root of this SubOrdering view. More... | |
typedef BaseOrdering::Traits | Traits |
Forwarded Ordering traits from BaseOrdering. More... | |
typedef BaseOrdering::ContainerAllocationTag | ContainerAllocationTag |
Forwarded tag from BaseOrdering, required by PDELab internals. More... | |
typedef BaseOrdering::CacheTag | CacheTag |
Forwarded tag from BaseOrdering, required by PDELab internals. More... | |
Public Member Functions | |
SubOrdering (std::shared_ptr< const BaseOrdering > base_ordering) | |
Constructs a SubOrdering for base_ordering. More... | |
void | update () |
Updates this SubOrdering. More... | |
template<typename ItIn , typename ItOut > | |
void | map_lfs_indices (ItIn begin, const ItIn end, ItOut out) const |
Traits::ContainerIndex | mapIndex (const typename Traits::DOFIndex &di) const |
Maps di from the DOFIndex subtree to the ContainerIndex in the BaseOrdering. More... | |
void | mapIndex (typename Traits::DOFIndexView di, typename Traits::ContainerIndex &ci) const |
Maps di from the DOFIndex subtree to the ContainerIndex in the BaseOrdering - inplace version. More... | |
Traits::SizeType | size () const |
Returns the size of the BaseOrdering. More... | |
Traits::SizeType | blockCount () const |
Returns the block count of the BaseOrdering. More... | |
Traits::SizeType | maxLocalSize () const |
Returns the maximum per-entity size of the TargetOrdering. More... | |
bool | contains (typename Traits::SizeType codim) const |
Returns whether the TargetOrdering has DOFs attached to entities of codimension codim. More... | |
bool | fixedSize (typename Traits::SizeType codim) const |
Returns whether the TargetOrdering is of fixed size for entities of codimension codim. More... | |
const BaseOrdering & | baseOrdering () const |
Returns the BaseOrdering. More... | |
const TargetOrdering & | targetOrdering () const |
Returns the TargetOrdering. More... | |
bool | containsPartition (PartitionType partition) const |
Returns whether this ordering contains entities with PartitionType partition. More... | |
std::bitset< 6 > | containedPartitions () const |
Returns the internal representation of the set of contained entities. More... | |
Static Public Attributes | |
static const bool | has_dynamic_ordering_children = TargetOrdering::has_dynamic_ordering_children |
Forwarded ordering property from TargetOrdering, required by PDELab internals. More... | |
static const bool | consume_tree_index = TargetOrdering::consume_tree_index |
Forwarded ordering property from TargetOrdering, required by PDELab internals. More... | |
Protected Member Functions | |
void | clearPartitionSet () |
Empties the set of contained partitions. More... | |
void | mergePartitionSet (const PartitionInfoProvider &r) |
Adds all partitions contained in r the set of contained partitions. More... | |
void | setPartitionSet (const std::bitset< 6 > &partitions) |
Sets the set of contained partitions to the passed-in value. More... | |
void | setPartitionSet (const PartitionInfoProvider &r) |
Copies the set of contained partitions from r. More... | |
template<typename It > | |
void | mergePartitionSets (It begin, It end) |
Adds the partitions from all PartitionInfoProviders in the range [begin,end). More... | |
A view on a subtree of a multi-component ordering.
SubOrdering presents a read-only view on the components of BaseOrdering contained in the subtree pointed at by TreePath. The TreePath has to be an instantiation of Dune::TypeTree::TreePath and is interpreted from left to right, i.e. a TypeTree<3,1> means take the fourth child of BaseOrdering and continue to the second child of that ordering.
BaseOrdering_ | The type of the underlying base ordering. |
TreePath | The path to the subtree for which to provide a view. |
typedef BaseOrdering_ Dune::PDELab::SubOrdering< BaseOrdering_, TreePath >::BaseOrdering |
The type of the BaseOrdering for which to represent a SubOrdering view.
typedef BaseOrdering::CacheTag Dune::PDELab::SubOrdering< BaseOrdering_, TreePath >::CacheTag |
Forwarded tag from BaseOrdering, required by PDELab internals.
typedef BaseOrdering::ContainerAllocationTag Dune::PDELab::SubOrdering< BaseOrdering_, TreePath >::ContainerAllocationTag |
Forwarded tag from BaseOrdering, required by PDELab internals.
using Dune::PDELab::SubOrdering< BaseOrdering_, TreePath >::TargetOrdering = TypeTree::ChildForTreePath<BaseOrdering,TreePath> |
The target ordering that makes up the root of this SubOrdering view.
typedef BaseOrdering::Traits Dune::PDELab::SubOrdering< BaseOrdering_, TreePath >::Traits |
Forwarded Ordering traits from BaseOrdering.
|
inlineexplicit |
Constructs a SubOrdering for base_ordering.
Constructor for a subordering view of base_ordering rooted in the subtree pointed to by TreePath. The second parameter DOFIndexTreePath represents the subtree in the DOFIndex space, i.e. the path to append to passed-in DOFIndices to obtain valid DOFIndices that can be mapped using base_ordering (usually, this will be the TreePath of a GridFunctionSubSpace). This information has to be passed in separately, as the two paths will generally not be identical due to synthesized nodes in the ordering tree.
base_ordering | Storage pointer to the BaseOrdering. |
DOFIndexTreePath | Instantiation of TypeTree::TreePath, representing the path from the root of the DOFIndex tree to the DOFIndices passed to this ordering. |
|
inline |
Returns the BaseOrdering.
Referenced by Dune::PDELab::SubOrdering< typename GFS::Ordering, typename find_ordering_treepath_for_sub_gfs< typename GFS::Ordering, GFS, TreePath >::type >::blockCount(), Dune::PDELab::SubOrdering< typename GFS::Ordering, typename find_ordering_treepath_for_sub_gfs< typename GFS::Ordering, GFS, TreePath >::type >::mapIndex(), and Dune::PDELab::SubOrdering< typename GFS::Ordering, typename find_ordering_treepath_for_sub_gfs< typename GFS::Ordering, GFS, TreePath >::type >::size().
|
inline |
Returns the block count of the BaseOrdering.
|
inlineprotectedinherited |
Empties the set of contained partitions.
Referenced by Dune::PDELab::PartitionInfoProvider::mergePartitionSets().
|
inlineinherited |
Returns the internal representation of the set of contained entities.
|
inline |
Returns whether the TargetOrdering has DOFs attached to entities of codimension codim.
|
inlineinherited |
Returns whether this ordering contains entities with PartitionType partition.
Referenced by Dune::PDELab::GridFunctionSpaceBase< GridFunctionSpace, PowerCompositeGridFunctionSpaceTraits< GV, B, O, k > >::containsPartition().
|
inline |
Returns whether the TargetOrdering is of fixed size for entities of codimension codim.
|
inline |
|
inline |
Maps di from the DOFIndex subtree to the ContainerIndex in the BaseOrdering.
|
inline |
Maps di from the DOFIndex subtree to the ContainerIndex in the BaseOrdering - inplace version.
|
inline |
Returns the maximum per-entity size of the TargetOrdering.
|
inlineprotectedinherited |
Adds all partitions contained in r the set of contained partitions.
Referenced by Dune::PDELab::PartitionInfoProvider::mergePartitionSets().
|
inlineprotectedinherited |
Adds the partitions from all PartitionInfoProviders in the range [begin,end).
References Dune::PDELab::PartitionInfoProvider::clearPartitionSet(), and Dune::PDELab::PartitionInfoProvider::mergePartitionSet().
Referenced by Dune::PDELab::LocalOrderingBase< first_type< Children...>::type::Traits::GridView, first_type< Children...>::type::Traits::DOFIndex, first_type< Children...>::type::Traits::ContainerIndex >::LocalOrderingBase(), and Dune::PDELab::OrderingBase< Ordering::Traits::DOFIndex, Ordering::Traits::ContainerIndex >::OrderingBase().
|
inlineprotectedinherited |
Sets the set of contained partitions to the passed-in value.
Referenced by Dune::PDELab::ChunkedBlockOrdering< Ordering >::ChunkedBlockOrdering(), Dune::PDELab::DirectLeafLocalOrdering< OrderingTag, FEM, GV, DI, CI >::DirectLeafLocalOrdering(), Dune::PDELab::GridViewOrdering< LocalOrdering >::GridViewOrdering(), Dune::PDELab::LeafLocalOrdering< OrderingTag, FEM, GV, DI, CI >::LeafLocalOrdering(), Dune::PDELab::LeafOrderingBase< LocalOrdering >::LeafOrderingBase(), Dune::PDELab::PermutedOrdering< Ordering >::PermutedOrdering(), and Dune::PDELab::SubOrdering< typename GFS::Ordering, typename find_ordering_treepath_for_sub_gfs< typename GFS::Ordering, GFS, TreePath >::type >::update().
|
inlineprotectedinherited |
Copies the set of contained partitions from r.
|
inline |
Returns the size of the BaseOrdering.
Referenced by Dune::PDELab::gfs::DefaultSubSpaceFeatures< GFS, TreePath, TypeTree::ChildForTreePath< GFS, TreePath >::ImplementationTag >::globalSize(), and Dune::PDELab::gfs::DefaultSubSpaceFeatures< GFS, TreePath, TypeTree::ChildForTreePath< GFS, TreePath >::ImplementationTag >::size().
|
inline |
Returns the TargetOrdering.
Referenced by Dune::PDELab::SubOrdering< typename GFS::Ordering, typename find_ordering_treepath_for_sub_gfs< typename GFS::Ordering, GFS, TreePath >::type >::contains(), Dune::PDELab::SubOrdering< typename GFS::Ordering, typename find_ordering_treepath_for_sub_gfs< typename GFS::Ordering, GFS, TreePath >::type >::fixedSize(), and Dune::PDELab::SubOrdering< typename GFS::Ordering, typename find_ordering_treepath_for_sub_gfs< typename GFS::Ordering, GFS, TreePath >::type >::maxLocalSize().
|
inline |
|
static |
Forwarded ordering property from TargetOrdering, required by PDELab internals.
|
static |
Forwarded ordering property from TargetOrdering, required by PDELab internals.