dune-pdelab  2.4.1
Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
Dune::PDELab::PowerEntityBlockedLocalOrdering< ChildOrdering, k > Class Template Reference

#include <dune/pdelab/ordering/entityblockedlocalordering.hh>

Inheritance diagram for Dune::PDELab::PowerEntityBlockedLocalOrdering< ChildOrdering, k >:
Inheritance graph

Public Types

typedef BaseT::Traits Traits
 

Public Member Functions

 PowerEntityBlockedLocalOrdering (const typename NodeT::NodeStorage &child_storage, bool container_blocked)
 
const Traits::EntitySetentitySet () const
 
void map_local_index (const typename Traits::SizeType geometry_type_index, const typename Traits::SizeType entity_index, typename Traits::TreeIndexView mi, typename Traits::ContainerIndex &ci) const
 
void map_lfs_indices (const ItIn begin, const ItIn end, ItOut out) const
 
Traits::SizeType extract_entity_indices (const typename Traits::DOFIndex::EntityIndex &ei, typename Traits::SizeType child_index, CIOutIterator ci_out, const CIOutIterator ci_end, DIOutIterator di_out=DIOutIterator()) const
 
Traits::SizeType size (const typename Traits::DOFIndex::EntityIndex &index) const
 
Traits::SizeType size (const typename Traits::SizeType geometry_type_index, const typename Traits::SizeType entity_index) const
 
Traits::SizeType size (const typename Traits::SizeType geometry_type_index, const typename Traits::SizeType entity_index, const typename Traits::SizeType child_index) const
 
Traits::SizeType offset (const typename Traits::SizeType geometry_type_index, const typename Traits::SizeType entity_index, const typename Traits::SizeType child_index) const
 
bool fixedSize () const
 
bool contains (const GeometryType &gt) const
 
bool contains (typename Traits::SizeType codim) const
 
bool contains_geometry_type (typename Traits::SizeType gt_index) const
 
Traits::SizeType maxLocalSize () const
 

Static Public Attributes

static const bool consume_tree_index = true
 
static const bool has_dynamic_ordering_children
 

Protected Types

typedef impl::GridFunctionSpaceOrderingData< typename Traits::SizeTypeGFSData
 

Protected Member Functions

LocalOrderingBasechildOrdering (typename Traits::SizeType i)
 
const LocalOrderingBasechildOrdering (typename Traits::SizeType i) const
 
void disable_container_blocking ()
 
void setup_fixed_size_possible ()
 Initial setup of the flag indicating whether a fixed size ordering is possible. More...
 

Protected Attributes

bool _fixed_size
 
bool _fixed_size_possible
 
bool _container_blocked
 
std::size_t _max_local_size
 
const std::size_t _child_count
 
std::vector< LocalOrderingBase * > _children
 
Traits::CodimFlag _codim_used
 
std::vector< bool > _gt_used
 
std::vector< typename Traits::SizeType_gt_entity_offsets
 
std::vector< typename Traits::SizeType_gt_dof_offsets
 
std::vector< typename Traits::SizeType_entity_dof_offsets
 
GFSData_gfs_data
 

Member Typedef Documentation

typedef impl::GridFunctionSpaceOrderingData<typename Traits::SizeType> Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::GFSData
protectedinherited
template<typename ChildOrdering , std::size_t k>
typedef BaseT::Traits Dune::PDELab::PowerEntityBlockedLocalOrdering< ChildOrdering, k >::Traits

Constructor & Destructor Documentation

template<typename ChildOrdering , std::size_t k>
Dune::PDELab::PowerEntityBlockedLocalOrdering< ChildOrdering, k >::PowerEntityBlockedLocalOrdering ( const typename NodeT::NodeStorage &  child_storage,
bool  container_blocked 
)
inline

Member Function Documentation

LocalOrderingBase& Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::childOrdering ( typename Traits::SizeType  i)
inlineprotectedinherited
const LocalOrderingBase& Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::childOrdering ( typename Traits::SizeType  i) const
inlineprotectedinherited
bool Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::contains ( const GeometryType &  gt) const
inlineinherited
bool Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::contains ( typename Traits::SizeType  codim) const
inlineinherited
bool Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::contains_geometry_type ( typename Traits::SizeType  gt_index) const
inlineinherited
void Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::disable_container_blocking ( )
inlineprotectedinherited
template<typename ChildOrdering , std::size_t k>
const Traits::EntitySet& Dune::PDELab::PowerEntityBlockedLocalOrdering< ChildOrdering, k >::entitySet ( ) const
inline
Traits::SizeType Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::extract_entity_indices ( const typename Traits::DOFIndex::EntityIndex &  ei,
typename Traits::SizeType  child_index,
CIOutIterator  ci_out,
const CIOutIterator  ci_end,
DIOutIterator  di_out = DIOutIterator() 
) const
inlineinherited
bool Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::fixedSize ( ) const
inlineinherited
void Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::map_lfs_indices ( const ItIn  begin,
const ItIn  end,
ItOut  out 
) const
inlineinherited
void Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::map_local_index ( const typename Traits::SizeType  geometry_type_index,
const typename Traits::SizeType  entity_index,
typename Traits::TreeIndexView  mi,
typename Traits::ContainerIndex ci 
) const
inlineinherited
Traits::SizeType Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::maxLocalSize ( ) const
inlineinherited
Traits::SizeType Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::offset ( const typename Traits::SizeType  geometry_type_index,
const typename Traits::SizeType  entity_index,
const typename Traits::SizeType  child_index 
) const
inlineinherited
void Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::setup_fixed_size_possible ( )
inlineprotectedinherited

Initial setup of the flag indicating whether a fixed size ordering is possible.

For a non-leaf ordering, a fixed size ordering is possible if all children can support it, so we implement that logic here.

Note
Leaf orderings will usually want to extract this a priori information from somewhere else, so they should override this method (the correct method will get called even without a virtual call, as the call happens from a TypeTree visitor that is aware of the precise type of the ordering).

References Dune::PDELab::LocalOrderingBase< ES, DI, CI >::_children, and Dune::PDELab::LocalOrderingBase< ES, DI, CI >::_fixed_size_possible.

Traits::SizeType Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::size ( const typename Traits::DOFIndex::EntityIndex &  index) const
inlineinherited
Traits::SizeType Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::size ( const typename Traits::SizeType  geometry_type_index,
const typename Traits::SizeType  entity_index 
) const
inlineinherited
Traits::SizeType Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::size ( const typename Traits::SizeType  geometry_type_index,
const typename Traits::SizeType  entity_index,
const typename Traits::SizeType  child_index 
) const
inlineinherited

Member Data Documentation

const std::size_t Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::_child_count
protectedinherited
std::vector<LocalOrderingBase*> Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::_children
protectedinherited
Traits::CodimFlag Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::_codim_used
protectedinherited
bool Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::_container_blocked
protectedinherited
std::vector<typename Traits::SizeType> Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::_entity_dof_offsets
protectedinherited
bool Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::_fixed_size
protectedinherited
bool Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::_fixed_size_possible
protectedinherited
GFSData* Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::_gfs_data
protectedinherited
std::vector<typename Traits::SizeType> Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::_gt_dof_offsets
protectedinherited
std::vector<typename Traits::SizeType> Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::_gt_entity_offsets
protectedinherited
std::vector<bool> Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::_gt_used
protectedinherited
std::size_t Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::_max_local_size
protectedinherited
template<typename ChildOrdering , std::size_t k>
const bool Dune::PDELab::PowerEntityBlockedLocalOrdering< ChildOrdering, k >::consume_tree_index = true
static
const bool Dune::PDELab::LocalOrderingBase< ChildOrdering::Traits::EntitySet , ChildOrdering::Traits::DOFIndex , ChildOrdering::Traits::ContainerIndex >::has_dynamic_ordering_children
staticinherited

The documentation for this class was generated from the following file: