dune-pdelab 2.8
Loading...
Searching...
No Matches
Dune::PDELab::LeafLocalOrdering< OrderingTag, FEM, ES, DI, CI > Class Template Reference

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

Inheritance diagram for Dune::PDELab::LeafLocalOrdering< OrderingTag, FEM, ES, DI, CI >:
Inheritance graph

Public Types

typedef BaseT::Traits Traits
 
typedef LeafNodeTag NodeTag
 

Public Member Functions

 LeafLocalOrdering (const std::shared_ptr< const FEM > &fem, const ES &es, bool backend_blocked, typename BaseT::GFSData *gfs_data)
 
const Traits::EntitySetentitySet () const
 
const Traits::GridViewgridView () const
 
const FEM & finiteElementMap () const
 
template<typename CodimMask >
void collect_used_codims (CodimMask &codims) const
 
void update_a_priori_fixed_size ()
 
void setup_fixed_size_possible ()
 
Traits::SizeType size (const typename Traits::ContainerIndex &suffix, const typename Traits::DOFIndex::EntityIndex &index) const
 Returns the size for a given suffix.
 
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
 
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
 
template<typename ItIn , typename ItOut >
void map_lfs_indices (const ItIn begin, const ItIn end, ItOut out) const
 Set last index of container indices.
 
template<typename CIOutIterator , typename DIOutIterator = DummyDOFIndexIterator>
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 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 Member Functions

static constexpr auto degree ()
 

Static Public Attributes

static const bool isLeaf
 
static const bool isPower
 
static const bool isComposite
 
static const std::size_t CHILDREN
 
static const bool has_dynamic_ordering_children = true
 
static const bool consume_tree_index = true
 
static constexpr auto GT_UNUSED = ~std::size_t(0)
 

Protected Types

typedef impl::GridFunctionSpaceOrderingData< typename Traits::SizeTypeGFSData
 

Protected Member Functions

template<class Node >
Traits::SizeType node_size (const Node &node, typename Traits::ContainerIndex suffix, const typename Traits::DOFIndex::EntityIndex &index) const
 Gives the size for a given entity and suffix.
 
bool containerBlocked () const
 
std::size_t childOrderingCount () const
 
LocalOrderingBasechildOrdering (typename Traits::SizeType i)
 
const LocalOrderingBasechildOrdering (typename Traits::SizeType i) const
 
void disable_container_blocking ()
 

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

◆ GFSData

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

◆ Traits

template<typename OrderingTag , typename FEM , typename ES , typename DI , typename CI >
typedef BaseT::Traits Dune::PDELab::LeafLocalOrdering< OrderingTag, FEM, ES, DI, CI >::Traits

Constructor & Destructor Documentation

◆ LeafLocalOrdering()

template<typename OrderingTag , typename FEM , typename ES , typename DI , typename CI >
Dune::PDELab::LeafLocalOrdering< OrderingTag, FEM, ES, DI, CI >::LeafLocalOrdering ( const std::shared_ptr< const FEM > &  fem,
const ES &  es,
bool  backend_blocked,
typename BaseT::GFSData gfs_data 
)
inline

Member Function Documentation

◆ childOrdering() [1/2]

template<typename ES , typename DI , typename CI >
LocalOrderingBase & Dune::PDELab::LocalOrderingBase< ES, DI, CI >::childOrdering ( typename Traits::SizeType  i)
inlineprotectedinherited

◆ childOrdering() [2/2]

template<typename ES , typename DI , typename CI >
const LocalOrderingBase & Dune::PDELab::LocalOrderingBase< ES, DI, CI >::childOrdering ( typename Traits::SizeType  i) const
inlineprotectedinherited

◆ childOrderingCount()

template<typename ES , typename DI , typename CI >
std::size_t Dune::PDELab::LocalOrderingBase< ES, DI, CI >::childOrderingCount ( ) const
inlineprotectedinherited

◆ collect_used_codims()

template<typename OrderingTag , typename FEM , typename ES , typename DI , typename CI >
template<typename CodimMask >
void Dune::PDELab::LeafLocalOrdering< OrderingTag, FEM, ES, DI, CI >::collect_used_codims ( CodimMask &  codims) const
inline

◆ containerBlocked()

template<typename ES , typename DI , typename CI >
bool Dune::PDELab::LocalOrderingBase< ES, DI, CI >::containerBlocked ( ) const
inlineprotectedinherited

◆ contains() [1/2]

template<typename ES , typename DI , typename CI >
bool Dune::PDELab::LocalOrderingBase< ES, DI, CI >::contains ( const GeometryType gt) const
inlineinherited

◆ contains() [2/2]

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

◆ contains_geometry_type()

template<typename ES , typename DI , typename CI >
bool Dune::PDELab::LocalOrderingBase< ES, DI, CI >::contains_geometry_type ( typename Traits::SizeType  gt_index) const
inlineinherited

◆ disable_container_blocking()

template<typename ES , typename DI , typename CI >
void Dune::PDELab::LocalOrderingBase< ES, DI, CI >::disable_container_blocking ( )
inlineprotectedinherited

◆ entitySet()

template<typename OrderingTag , typename FEM , typename ES , typename DI , typename CI >
const Traits::EntitySet & Dune::PDELab::LeafLocalOrdering< OrderingTag, FEM, ES, DI, CI >::entitySet ( ) const
inline

◆ extract_entity_indices()

template<typename ES , typename DI , typename CI >
template<typename CIOutIterator , typename DIOutIterator = DummyDOFIndexIterator>
Traits::SizeType Dune::PDELab::LocalOrderingBase< ES, DI, CI >::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

◆ finiteElementMap()

template<typename OrderingTag , typename FEM , typename ES , typename DI , typename CI >
const FEM & Dune::PDELab::LeafLocalOrdering< OrderingTag, FEM, ES, DI, CI >::finiteElementMap ( ) const
inline

◆ fixedSize()

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

◆ gridView()

template<typename OrderingTag , typename FEM , typename ES , typename DI , typename CI >
const Traits::GridView & Dune::PDELab::LeafLocalOrdering< OrderingTag, FEM, ES, DI, CI >::gridView ( ) const
inline

◆ map_lfs_indices()

template<typename ES , typename DI , typename CI >
template<typename ItIn , typename ItOut >
void Dune::PDELab::LocalOrderingBase< ES, DI, CI >::map_lfs_indices ( const ItIn  begin,
const ItIn  end,
ItOut  out 
) const
inlineinherited

Set last index of container indices.

For a (view) list of dof indices, this method will fill or append the last index of the same ammount of container indices.

Template Parameters
ItInDOFIndexViewIterator<DOFIterator>
ItOutstd::vector<CI>::iterator
Parameters
beginbegin iterator for (view) list of dof indices
endbegin iterator for (view) list of dof indices
outbegin iterator of container indices to be filled out

◆ map_local_index()

template<typename ES , typename DI , typename CI >
void Dune::PDELab::LocalOrderingBase< ES, DI, CI >::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

◆ maxLocalSize()

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

◆ node_size()

template<typename ES , typename DI , typename CI >
template<class Node >
Traits::SizeType Dune::PDELab::LocalOrderingBase< ES, DI, CI >::node_size ( const Node &  node,
typename Traits::ContainerIndex  suffix,
const typename Traits::DOFIndex::EntityIndex &  index 
) const
inlineprotectedinherited

Gives the size for a given entity and suffix.

This method is used by typetree class derived from this class

Parameters
nodeTypeTree version of this class
suffixMultiIndex with a partial path to a container
indexEntity index to compute the size
Returns
Traits::SizeType The size required for such a path.

◆ offset()

template<typename ES , typename DI , typename CI >
Traits::SizeType Dune::PDELab::LocalOrderingBase< ES, DI, CI >::offset ( const typename Traits::SizeType  geometry_type_index,
const typename Traits::SizeType  entity_index,
const typename Traits::SizeType  child_index 
) const
inlineinherited

◆ setup_fixed_size_possible()

template<typename OrderingTag , typename FEM , typename ES , typename DI , typename CI >
void Dune::PDELab::LeafLocalOrdering< OrderingTag, FEM, ES, DI, CI >::setup_fixed_size_possible ( )
inline

◆ size() [1/4]

template<typename OrderingTag , typename FEM , typename ES , typename DI , typename CI >
Traits::SizeType Dune::PDELab::LeafLocalOrdering< OrderingTag, FEM, ES, DI, CI >::size ( const typename Traits::ContainerIndex suffix,
const typename Traits::DOFIndex::EntityIndex &  index 
) const
inline

Returns the size for a given suffix.

This computes the size required for a given suffix of a container index.

Parameters
suffixMultiIndex with a partial path to a container
indexEntity index to compute the size
Returns
Traits::SizeType The size required for such a path.

◆ size() [2/4]

template<typename OrderingTag , typename FEM , typename ES , typename DI , typename CI >
Traits::SizeType Dune::PDELab::LocalOrderingBase< ES, DI, CI >::size ( const typename Traits::DOFIndex::EntityIndex &  index) const
inline

◆ size() [3/4]

template<typename OrderingTag , typename FEM , typename ES , typename DI , typename CI >
Traits::SizeType Dune::PDELab::LocalOrderingBase< ES, DI, CI >::size ( const typename Traits::SizeType  geometry_type_index,
const typename Traits::SizeType  entity_index 
) const
inline

◆ size() [4/4]

template<typename OrderingTag , typename FEM , typename ES , typename DI , typename CI >
Traits::SizeType Dune::PDELab::LocalOrderingBase< ES, DI, CI >::size ( const typename Traits::SizeType  geometry_type_index,
const typename Traits::SizeType  entity_index,
const typename Traits::SizeType  child_index 
) const
inline

◆ update_a_priori_fixed_size()

template<typename OrderingTag , typename FEM , typename ES , typename DI , typename CI >
void Dune::PDELab::LeafLocalOrdering< OrderingTag, FEM, ES, DI, CI >::update_a_priori_fixed_size ( )
inline

Member Data Documentation

◆ _child_count

template<typename ES , typename DI , typename CI >
const std::size_t Dune::PDELab::LocalOrderingBase< ES, DI, CI >::_child_count
protectedinherited

◆ _children

template<typename ES , typename DI , typename CI >
std::vector<LocalOrderingBase*> Dune::PDELab::LocalOrderingBase< ES, DI, CI >::_children
protectedinherited

◆ _codim_used

template<typename ES , typename DI , typename CI >
Traits::CodimFlag Dune::PDELab::LocalOrderingBase< ES, DI, CI >::_codim_used
protectedinherited

◆ _container_blocked

template<typename ES , typename DI , typename CI >
bool Dune::PDELab::LocalOrderingBase< ES, DI, CI >::_container_blocked
protectedinherited

◆ _entity_dof_offsets

template<typename ES , typename DI , typename CI >
std::vector<typename Traits::SizeType> Dune::PDELab::LocalOrderingBase< ES, DI, CI >::_entity_dof_offsets
protectedinherited

◆ _fixed_size

template<typename ES , typename DI , typename CI >
bool Dune::PDELab::LocalOrderingBase< ES, DI, CI >::_fixed_size
protectedinherited

◆ _fixed_size_possible

template<typename ES , typename DI , typename CI >
bool Dune::PDELab::LocalOrderingBase< ES, DI, CI >::_fixed_size_possible
protectedinherited

◆ _gfs_data

template<typename ES , typename DI , typename CI >
GFSData* Dune::PDELab::LocalOrderingBase< ES, DI, CI >::_gfs_data
protectedinherited

◆ _gt_dof_offsets

template<typename ES , typename DI , typename CI >
std::vector<typename Traits::SizeType> Dune::PDELab::LocalOrderingBase< ES, DI, CI >::_gt_dof_offsets
protectedinherited

◆ _gt_entity_offsets

template<typename ES , typename DI , typename CI >
std::vector<typename Traits::SizeType> Dune::PDELab::LocalOrderingBase< ES, DI, CI >::_gt_entity_offsets
protectedinherited

◆ _gt_used

template<typename ES , typename DI , typename CI >
std::vector<bool> Dune::PDELab::LocalOrderingBase< ES, DI, CI >::_gt_used
protectedinherited

◆ _max_local_size

template<typename ES , typename DI , typename CI >
std::size_t Dune::PDELab::LocalOrderingBase< ES, DI, CI >::_max_local_size
protectedinherited

◆ consume_tree_index

template<typename ES , typename DI , typename CI >
const bool Dune::PDELab::LocalOrderingBase< ES, DI, CI >::consume_tree_index = true
staticinherited

◆ GT_UNUSED

template<typename ES , typename DI , typename CI >
constexpr auto Dune::PDELab::LocalOrderingBase< ES, DI, CI >::GT_UNUSED = ~std::size_t(0)
staticconstexprinherited

◆ has_dynamic_ordering_children

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

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