dune-pdelab  2.7-git
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
Dune::PDELab::LeafOrderingBase< LocalOrdering > Class Template Referenceabstract

Generic infrastructure for orderings for leaf spaces. More...

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

Inheritance diagram for Dune::PDELab::LeafOrderingBase< LocalOrdering >:
Inheritance graph

Public Types

typedef LocalOrdering::Traits Traits
 
typedef HierarchicContainerAllocationTag ContainerAllocationTag
 
typedef DefaultLFSCacheTag CacheTag
 

Public Member Functions

LocalOrdering & localOrdering ()
 
const LocalOrdering & localOrdering () const
 
 LeafOrderingBase (const typename NodeT::NodeStorage &local_ordering, bool container_blocked, typename BaseT::GFSData *gfs_data)
 
virtual ~LeafOrderingBase () override=default
 
virtual void map_index_dynamic (typename Traits::DOFIndexView di, typename Traits::ContainerIndex &ci) const override
 
Traits::ContainerIndex mapIndex (const typename Traits::DOFIndex &di) const
 
void mapIndex (typename Traits::DOFIndexView di, typename Traits::ContainerIndex &ci) const
 
template<typename ItIn , typename ItOut >
void map_lfs_indices (const ItIn begin, const ItIn end, ItOut out) const
 
template<typename CIOutIterator >
Traits::SizeType extract_entity_indices (const typename Traits::DOFIndex::EntityIndex &ei, typename Traits::SizeType child_index, CIOutIterator ci_out, const CIOutIterator ci_end) const
 
virtual void update ()=0
 
bool fixedSize () const
 
bool fixedSize (typename Traits::SizeType codim) const
 
virtual void map_index_dynamic (typename Traits::DOFIndexView di, typename Traits::ContainerIndex &ci) const=0
 
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 (typename Traits::SizeType codim) const
 

Public Attributes

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
 
const VirtualOrderingBase< LocalOrdering::Traits::DOFIndex, LocalOrdering::Traits::ContainerIndex > * _delegate
 
GFSData_gfs_data
 

Static Public Attributes

static const bool has_dynamic_ordering_children = false
 
static const bool consume_tree_index = false
 

Protected Types

typedef TypeTree::CompositeNode< LocalOrdering > NodeT
 
typedef OrderingBase< typename LocalOrdering::Traits::DOFIndex, typename LocalOrdering::Traits::ContainerIndex > BaseT
 
typedef Dune::PDELab::impl::GridFunctionSpaceOrderingData< typename Traits::SizeType > GFSData
 

Protected Member Functions

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

Protected Attributes

std::vector< typename Traits::SizeType > _gt_dof_offsets
 
std::size_t _max_local_size
 
std::size_t _size
 
std::size_t _block_count
 
const bool _container_blocked
 
bool _fixed_size
 
Traits::CodimFlag _codim_used
 
Traits::CodimFlag _codim_fixed_size
 

Detailed Description

template<typename LocalOrdering>
class Dune::PDELab::LeafOrderingBase< LocalOrdering >

Generic infrastructure for orderings for leaf spaces.

Member Typedef Documentation

◆ BaseT

template<typename LocalOrdering >
typedef OrderingBase<typename LocalOrdering::Traits::DOFIndex, typename LocalOrdering::Traits::ContainerIndex> Dune::PDELab::LeafOrderingBase< LocalOrdering >::BaseT
protected

◆ CacheTag

typedef DefaultLFSCacheTag Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::CacheTag
inherited

◆ ContainerAllocationTag

typedef HierarchicContainerAllocationTag Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::ContainerAllocationTag
inherited

◆ GFSData

typedef Dune::PDELab::impl::GridFunctionSpaceOrderingData<typename Traits::SizeType> Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::GFSData
protectedinherited

◆ NodeT

template<typename LocalOrdering >
typedef TypeTree::CompositeNode<LocalOrdering> Dune::PDELab::LeafOrderingBase< LocalOrdering >::NodeT
protected

◆ Traits

template<typename LocalOrdering >
typedef LocalOrdering::Traits Dune::PDELab::LeafOrderingBase< LocalOrdering >::Traits

Constructor & Destructor Documentation

◆ LeafOrderingBase()

template<typename LocalOrdering >
Dune::PDELab::LeafOrderingBase< LocalOrdering >::LeafOrderingBase ( const typename NodeT::NodeStorage &  local_ordering,
bool  container_blocked,
typename BaseT::GFSData gfs_data 
)
inline

◆ ~LeafOrderingBase()

template<typename LocalOrdering >
virtual Dune::PDELab::LeafOrderingBase< LocalOrdering >::~LeafOrderingBase ( )
overridevirtualdefault

Member Function Documentation

◆ _mapIndex()

void Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::_mapIndex ( typename Traits::DOFIndexView  di,
typename Traits::ContainerIndex ci 
) const
inlineprotectedinherited

◆ blockCount()

Traits::SizeType Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::blockCount ( ) const
inlineinherited

◆ blockOffset()

Traits::SizeType Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::blockOffset ( const typename Traits::SizeType  child_index) const
inlineinherited

◆ childOrdering() [1/2]

OrderingBase& Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::childOrdering ( typename Traits::SizeType  i)
inlineinherited

◆ childOrdering() [2/2]

const OrderingBase& Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::childOrdering ( typename Traits::SizeType  i) const
inlineinherited

◆ childOrderingCount()

std::size_t Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::childOrderingCount ( ) const
inlineinherited

◆ containerBlocked()

bool Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::containerBlocked ( ) const
inlineinherited

◆ contains()

bool Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::contains ( typename Traits::SizeType  codim) const
inlineinherited

◆ extract_entity_indices()

template<typename LocalOrdering >
template<typename CIOutIterator >
Traits::SizeType Dune::PDELab::LeafOrderingBase< LocalOrdering >::extract_entity_indices ( const typename Traits::DOFIndex::EntityIndex &  ei,
typename Traits::SizeType  child_index,
CIOutIterator  ci_out,
const CIOutIterator  ci_end 
) const
inline

◆ fixedSize() [1/3]

template<typename LocalOrdering >
bool Dune::PDELab::OrderingBase< DI, CI >::fixedSize
inline

◆ fixedSize() [2/3]

bool Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::fixedSize ( typename Traits::SizeType  codim) const
inlineinherited

◆ fixedSize() [3/3]

template<typename LocalOrdering >
bool Dune::PDELab::OrderingBase< DI, CI >::fixedSize
inline

◆ localOrdering() [1/2]

template<typename LocalOrdering >
LocalOrdering& Dune::PDELab::LeafOrderingBase< LocalOrdering >::localOrdering ( )
inline

◆ localOrdering() [2/2]

template<typename LocalOrdering >
const LocalOrdering& Dune::PDELab::LeafOrderingBase< LocalOrdering >::localOrdering ( ) const
inline

◆ map_index_dynamic() [1/2]

template<typename LocalOrdering >
virtual void Dune::PDELab::LeafOrderingBase< LocalOrdering >::map_index_dynamic ( typename Traits::DOFIndexView  di,
typename Traits::ContainerIndex &  ci 
) const
inlineoverridevirtual

◆ map_index_dynamic() [2/2]

virtual void Dune::PDELab::VirtualOrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::map_index_dynamic ( typename Traits::DOFIndexView  di,
typename Traits::ContainerIndex ci 
) const
pure virtualinherited

◆ map_lfs_indices()

template<typename LocalOrdering >
template<typename ItIn , typename ItOut >
void Dune::PDELab::LeafOrderingBase< LocalOrdering >::map_lfs_indices ( const ItIn  begin,
const ItIn  end,
ItOut  out 
) const
inline

◆ mapIndex() [1/4]

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

◆ mapIndex() [2/4]

template<typename LocalOrdering >
Traits::ContainerIndex Dune::PDELab::LeafOrderingBase< LocalOrdering >::mapIndex ( const typename Traits::DOFIndex &  di) const
inline

◆ mapIndex() [3/4]

void Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::mapIndex ( typename Traits::DOFIndexView  di,
typename Traits::ContainerIndex ci 
) const
inlineinherited

◆ mapIndex() [4/4]

template<typename LocalOrdering >
void Dune::PDELab::LeafOrderingBase< LocalOrdering >::mapIndex ( typename Traits::DOFIndexView  di,
typename Traits::ContainerIndex &  ci 
) const
inline

◆ maxLocalSize()

Traits::SizeType Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::maxLocalSize ( ) const
inlineinherited

◆ mergeMode()

MergeMode::type Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::mergeMode ( ) const
inlineinherited

◆ setDelegate()

void Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::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]

Traits::SizeType Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::size ( ) const
inlineinherited

◆ size() [2/2]

Traits::SizeType Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::size ( const typename Traits::SizeType  child_index) const
inlineinherited

◆ sizeOffset()

Traits::SizeType Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::sizeOffset ( const typename Traits::SizeType  child_index) const
inlineinherited

◆ update()

template<typename LocalOrdering >
virtual void Dune::PDELab::LeafOrderingBase< LocalOrdering >::update ( )
pure virtual

The actual implementation has to implement an update() method to fill ...

Implemented in Dune::PDELab::LeafGridViewOrdering< LocalOrdering >.

Member Data Documentation

◆ _block_count

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

◆ _child_block_merge_offsets

std::vector<typename Traits::SizeType> Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::_child_block_merge_offsets
inherited

◆ _child_block_offsets

std::vector<typename Traits::SizeType> Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::_child_block_offsets
inherited

◆ _child_count

const std::size_t Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::_child_count
inherited

◆ _child_size_offsets

std::vector<typename Traits::SizeType> Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::_child_size_offsets
inherited

◆ _children

std::vector<OrderingBase*> Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::_children
inherited

◆ _codim_fixed_size

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

◆ _codim_used

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

◆ _container_blocked

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

◆ _delegate

const VirtualOrderingBase<LocalOrdering::Traits::DOFIndex ,LocalOrdering::Traits::ContainerIndex >* Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::_delegate
inherited

◆ _fixed_size

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

◆ _gfs_data

GFSData* Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::_gfs_data
inherited

◆ _gt_dof_offsets

template<typename LocalOrdering >
std::vector<typename Traits::SizeType> Dune::PDELab::LeafOrderingBase< LocalOrdering >::_gt_dof_offsets
protected

◆ _max_local_size

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

◆ _merge_mode

const MergeMode::type Dune::PDELab::OrderingBase< LocalOrdering::Traits::DOFIndex , LocalOrdering::Traits::ContainerIndex >::_merge_mode
inherited

◆ _size

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

◆ consume_tree_index

template<typename LocalOrdering >
const bool Dune::PDELab::LeafOrderingBase< LocalOrdering >::consume_tree_index = false
static

◆ has_dynamic_ordering_children

template<typename LocalOrdering >
const bool Dune::PDELab::LeafOrderingBase< LocalOrdering >::has_dynamic_ordering_children = false
static

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