dune-pdelab 2.7-git
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Types | Protected Member Functions | List of all members
Dune::PDELab::PowerInterleavedOrdering< DI, CI, Child, k > Class Template Reference

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

Inheritance diagram for Dune::PDELab::PowerInterleavedOrdering< DI, CI, Child, k >:
Inheritance graph

Public Types

typedef OrderingBase< DI, CI >::Traits Traits
 
typedef InterleavedOrderingTag OrderingTag
 
typedef HierarchicContainerAllocationTag ContainerAllocationTag
 
typedef DefaultLFSCacheTag CacheTag
 

Public Member Functions

 PowerInterleavedOrdering (bool container_blocked, const InterleavedOrderingTag &ordering_tag, const typename Node::NodeStorage &children, typename Base::GFSData *gfs_data)
 Construct ordering object. More...
 
void update ()
 
std::string name () 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) const
 
Traits::ContainerIndex mapIndex (const typename Traits::DOFIndex &di) const
 
void mapIndex (typename Traits::DOFIndexView di, typename Traits::ContainerIndex &ci) const
 
Traits::SizeType size () const
 
Traits::SizeType size (const typename Traits::SizeType child_index) const
 
Traits::SizeType blockCount () const
 
Traits::SizeType sizeOffset (const typename Traits::SizeType child_index) const
 
Traits::SizeType blockOffset (const typename Traits::SizeType child_index) const
 
Traits::SizeType maxLocalSize () const
 
MergeMode::type mergeMode () const
 
bool containerBlocked () const
 
std::size_t childOrderingCount () const
 
OrderingBasechildOrdering (typename Traits::SizeType i)
 
const OrderingBasechildOrdering (typename Traits::SizeType i) const
 
bool contains (typename Traits::SizeType codim) const
 
bool fixedSize () const
 
bool fixedSize (typename Traits::SizeType codim) const
 

Public Attributes

bool _fixed_size
 
const bool _container_blocked
 
const MergeMode::type _merge_mode
 
const std::size_t _child_count
 
std::vector< OrderingBase * > _children
 
std::vector< typename Traits::SizeType_child_size_offsets
 
std::vector< typename Traits::SizeType_child_block_offsets
 
std::vector< typename Traits::SizeType_child_block_merge_offsets
 
Traits::CodimFlag _codim_used
 
Traits::CodimFlag _codim_fixed_size
 
std::size_t _max_local_size
 
std::size_t _size
 
std::size_t _block_count
 
const VirtualOrderingBase< DI, CI > * _delegate
 
GFSData_gfs_data
 

Static Public Attributes

static const bool consume_tree_index
 
static const bool has_dynamic_ordering_children = true
 

Protected Types

typedef Dune::PDELab::impl::GridFunctionSpaceOrderingData< typename Traits::SizeTypeGFSData
 

Protected Member Functions

void setDelegate (const VirtualOrderingBase< DI, CI > *delegate)
 Set the delegate called in mapIndex(). More...
 
void _mapIndex (typename Traits::DOFIndexView di, typename Traits::ContainerIndex &ci) const
 

Member Typedef Documentation

◆ CacheTag

template<typename DI , typename CI >
typedef DefaultLFSCacheTag Dune::PDELab::OrderingBase< DI, CI >::CacheTag
inherited

◆ ContainerAllocationTag

template<typename DI , typename CI >
typedef HierarchicContainerAllocationTag Dune::PDELab::OrderingBase< DI, CI >::ContainerAllocationTag
inherited

◆ GFSData

template<typename DI , typename CI >
typedef Dune::PDELab::impl::GridFunctionSpaceOrderingData<typename Traits::SizeType> Dune::PDELab::OrderingBase< DI, CI >::GFSData
protectedinherited

◆ OrderingTag

typedef InterleavedOrderingTag Dune::PDELab::interleaved_ordering::Base< DI, CI, PowerInterleavedOrdering< DI, CI, Child, k > >::OrderingTag
inherited

◆ Traits

typedef OrderingBase<DI,CI>::Traits Dune::PDELab::interleaved_ordering::Base< DI, CI, PowerInterleavedOrdering< DI, CI, Child, k > >::Traits
inherited

Constructor & Destructor Documentation

◆ PowerInterleavedOrdering()

template<typename DI , typename CI , typename Child , std::size_t k>
Dune::PDELab::PowerInterleavedOrdering< DI, CI, Child, k >::PowerInterleavedOrdering ( bool  container_blocked,
const InterleavedOrderingTag ordering_tag,
const typename Node::NodeStorage &  children,
typename Base::GFSData gfs_data 
)
inline

Construct ordering object.

In general, an ordering object is not properly setup after construction. This must be done by a seperate call to update() after all the children have been properly set up.

Note
This constructor must be present for ordering objects not at the leaf of the tree.

Member Function Documentation

◆ _mapIndex()

template<typename DI , typename CI >
void Dune::PDELab::OrderingBase< DI, CI >::_mapIndex ( typename Traits::DOFIndexView  di,
typename Traits::ContainerIndex ci 
) const
inlineprotectedinherited

◆ blockCount()

template<typename DI , typename CI >
Traits::SizeType Dune::PDELab::OrderingBase< DI, CI >::blockCount ( ) const
inlineinherited

◆ blockOffset()

template<typename DI , typename CI >
Traits::SizeType Dune::PDELab::OrderingBase< DI, CI >::blockOffset ( const typename Traits::SizeType  child_index) const
inlineinherited

◆ childOrdering() [1/2]

template<typename DI , typename CI >
OrderingBase & Dune::PDELab::OrderingBase< DI, CI >::childOrdering ( typename Traits::SizeType  i)
inlineinherited

◆ childOrdering() [2/2]

template<typename DI , typename CI >
const OrderingBase & Dune::PDELab::OrderingBase< DI, CI >::childOrdering ( typename Traits::SizeType  i) const
inlineinherited

◆ childOrderingCount()

template<typename DI , typename CI >
std::size_t Dune::PDELab::OrderingBase< DI, CI >::childOrderingCount ( ) const
inlineinherited

◆ containerBlocked()

template<typename DI , typename CI >
bool Dune::PDELab::OrderingBase< DI, CI >::containerBlocked ( ) const
inlineinherited

◆ contains()

template<typename DI , typename CI >
bool Dune::PDELab::OrderingBase< DI, CI >::contains ( typename Traits::SizeType  codim) const
inlineinherited

◆ extract_entity_indices()

Traits::SizeType Dune::PDELab::interleaved_ordering::Base< DI, CI, PowerInterleavedOrdering< DI, CI, Child, k > >::extract_entity_indices ( const typename Traits::DOFIndex::EntityIndex &  ei,
typename Traits::SizeType  child_index,
CIOutIterator  ci_out,
const CIOutIterator  ci_end 
) const
inlineinherited

◆ fixedSize() [1/2]

template<typename DI , typename CI >
bool Dune::PDELab::OrderingBase< DI, CI >::fixedSize ( ) const
inlineinherited

◆ fixedSize() [2/2]

template<typename DI , typename CI >
bool Dune::PDELab::OrderingBase< DI, CI >::fixedSize ( typename Traits::SizeType  codim) const
inlineinherited

◆ map_lfs_indices()

void Dune::PDELab::interleaved_ordering::Base< DI, CI, PowerInterleavedOrdering< DI, CI, Child, k > >::map_lfs_indices ( const ItIn  begin,
const ItIn  end,
ItOut  out 
) const
inlineinherited

◆ mapIndex() [1/2]

template<typename DI , typename CI >
Traits::ContainerIndex Dune::PDELab::OrderingBase< DI, CI >::mapIndex ( const typename Traits::DOFIndex di) const
inlineinherited

◆ mapIndex() [2/2]

template<typename DI , typename CI >
void Dune::PDELab::OrderingBase< DI, CI >::mapIndex ( typename Traits::DOFIndexView  di,
typename Traits::ContainerIndex ci 
) const
inlineinherited

◆ maxLocalSize()

template<typename DI , typename CI >
Traits::SizeType Dune::PDELab::OrderingBase< DI, CI >::maxLocalSize ( ) const
inlineinherited

◆ mergeMode()

template<typename DI , typename CI >
MergeMode::type Dune::PDELab::OrderingBase< DI, CI >::mergeMode ( ) const
inlineinherited

◆ name()

template<typename DI , typename CI , typename Child , std::size_t k>
std::string Dune::PDELab::PowerInterleavedOrdering< DI, CI, Child, k >::name ( ) const
inline

◆ setDelegate()

template<typename DI , typename CI >
void Dune::PDELab::OrderingBase< DI, CI >::setDelegate ( const VirtualOrderingBase< DI, CI > *  delegate)
inlineprotectedinherited

Set the delegate called in mapIndex().

When copying an Ordering with a delegate, the derived Ordering must call this method with 'this' as its argument in the copy and the move constructors!

◆ size() [1/2]

template<typename DI , typename CI >
Traits::SizeType Dune::PDELab::OrderingBase< DI, CI >::size ( ) const
inlineinherited

◆ size() [2/2]

template<typename DI , typename CI >
Traits::SizeType Dune::PDELab::OrderingBase< DI, CI >::size ( const typename Traits::SizeType  child_index) const
inlineinherited

◆ sizeOffset()

template<typename DI , typename CI >
Traits::SizeType Dune::PDELab::OrderingBase< DI, CI >::sizeOffset ( const typename Traits::SizeType  child_index) const
inlineinherited

◆ update()

template<typename DI , typename CI , typename Child , std::size_t k>
void Dune::PDELab::PowerInterleavedOrdering< DI, CI, Child, k >::update ( )
inline

Member Data Documentation

◆ _block_count

template<typename DI , typename CI >
std::size_t Dune::PDELab::OrderingBase< DI, CI >::_block_count
inherited

◆ _child_block_merge_offsets

template<typename DI , typename CI >
std::vector<typename Traits::SizeType> Dune::PDELab::OrderingBase< DI, CI >::_child_block_merge_offsets
inherited

◆ _child_block_offsets

template<typename DI , typename CI >
std::vector<typename Traits::SizeType> Dune::PDELab::OrderingBase< DI, CI >::_child_block_offsets
inherited

◆ _child_count

template<typename DI , typename CI >
const std::size_t Dune::PDELab::OrderingBase< DI, CI >::_child_count
inherited

◆ _child_size_offsets

template<typename DI , typename CI >
std::vector<typename Traits::SizeType> Dune::PDELab::OrderingBase< DI, CI >::_child_size_offsets
inherited

◆ _children

template<typename DI , typename CI >
std::vector<OrderingBase*> Dune::PDELab::OrderingBase< DI, CI >::_children
inherited

◆ _codim_fixed_size

template<typename DI , typename CI >
Traits::CodimFlag Dune::PDELab::OrderingBase< DI, CI >::_codim_fixed_size
inherited

◆ _codim_used

template<typename DI , typename CI >
Traits::CodimFlag Dune::PDELab::OrderingBase< DI, CI >::_codim_used
inherited

◆ _container_blocked

template<typename DI , typename CI >
const bool Dune::PDELab::OrderingBase< DI, CI >::_container_blocked
inherited

◆ _delegate

template<typename DI , typename CI >
const VirtualOrderingBase<DI,CI>* Dune::PDELab::OrderingBase< DI, CI >::_delegate
inherited

◆ _fixed_size

template<typename DI , typename CI >
bool Dune::PDELab::OrderingBase< DI, CI >::_fixed_size
inherited

◆ _gfs_data

template<typename DI , typename CI >
GFSData* Dune::PDELab::OrderingBase< DI, CI >::_gfs_data
inherited

◆ _max_local_size

template<typename DI , typename CI >
std::size_t Dune::PDELab::OrderingBase< DI, CI >::_max_local_size
inherited

◆ _merge_mode

template<typename DI , typename CI >
const MergeMode::type Dune::PDELab::OrderingBase< DI, CI >::_merge_mode
inherited

◆ _size

template<typename DI , typename CI >
std::size_t Dune::PDELab::OrderingBase< DI, CI >::_size
inherited

◆ consume_tree_index

const bool Dune::PDELab::interleaved_ordering::Base< DI, CI, PowerInterleavedOrdering< DI, CI, Child, k > >::consume_tree_index
staticinherited

◆ has_dynamic_ordering_children

template<typename DI , typename CI >
const bool Dune::PDELab::OrderingBase< DI, CI >::has_dynamic_ordering_children = true
staticinherited

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