DUNE-FEM (unstable)

Dune::Fem::AdaptiveIndexSetBase< TraitsImp > Class Template Reference

consecutive, persistent index set for the leaf level based on the grid's hierarchy index set More...

#include <dune/fem/gridpart/adaptiveleafindexset.hh>

Public Types

typedef BaseType ::IndexType IndexType
 index type *‍/ More...
 
typedef BaseType ::Types Types
 geometry type range type *‍/ More...
 
typedef BaseType ::template Codim< 0 >::Entity ElementType
 type of codimension 0 Entity
 
typedef GridPartType ::IntersectionIteratorType IntersectionIteratorType
 type of intersection iterator
 
typedef GridPartType ::IntersectionType IntersectionType
 type of intersections
 

Public Member Functions

 AdaptiveIndexSetBase (const GridType *grid)
 Constructor.
 
 AdaptiveIndexSetBase (const GridPartType &gridPart)
 Constructor.
 
int type () const
 return type of index set, for GrapeDataIO
 
virtual std::string name () const
 return name of index set
 
IndexType size (GeometryType type) const
 return number of entities of given type *‍/ More...
 
IndexType size (int codim) const
 return number of entities of given type *‍/ More...
 
const std::vector< GeometryType > & geomTypes (const int codim) const
 *‍/ More...
 
Types types (const int codim) const
 return range of geometry types *‍/ More...
 
template<class EntityType >
bool contains (const EntityType &en) const
 return true if entity has index *‍/ More...
 
void insertEntity (const GridElementType &entity)
 please doc me *‍/ More...
 
void removeEntity (const GridElementType &entity)
 please doc me *‍/ More...
 
void resizeVectors ()
 reallocate the vector for new size
 
void resize ()
 please doc me *‍/ More...
 
bool compress ()
 please doc me *‍/ More...
 
template<class Entity >
IndexType index (const Entity &entity) const
 return number of entities of given type *‍/ More...
 
template<int codim>
IndexType index (const typename GridPartType::template Codim< codim >::EntityType &entity) const
 return number of entities of given type *‍/ More...
 
template<class Entity >
IndexType subIndex (const Entity &entity, int subNumber, unsigned int codim) const
 return index for given subentity *‍/ More...
 
template<int cd>
IndexType subIndex (const typename GridPartType::template Codim< cd >::EntityType &entity, int subNumber, unsigned int codim) const
 return index for given subentity *‍/ More...
 
IndexType numberOfHoles (GeometryType type) const
 return number of holes for given type *‍/ More...
 
IndexType numberOfHoles (const int codim) const
 return number of holes of the sets indices
 
IndexType oldIndex (IndexType hole, GeometryType type) const
 return old index for given hole and type *‍/ More...
 
IndexType oldIndex (const IndexType hole, const int codim) const
 return old index, for dof manager only
 
IndexType newIndex (IndexType hole, GeometryType type) const
 return new index for given hole and type *‍/ More...
 
IndexType newIndex (const IndexType hole, const int codim) const
 return new index, for dof manager only returns index
 
template<class StreamTraits >
bool write (OutStreamInterface< StreamTraits > &out) const
 please doc me *‍/ More...
 
template<class StreamTraits >
bool read (InStreamInterface< StreamTraits > &in)
 please doc me *‍/ More...
 
void backup () const
 please doc me More...
 
void restore ()
 please doc me More...
 
void addBackupRestore () override final
 please doc me More...
 
void removeBackupRestore () override final
 please doc me More...
 
template<class Entity >
bool contains (const Entity &entity) const
 return true if entity has index
 
template<int codim>
IndexType index (const typename Codim< codim >::Entity &entity) const
 return index for given entity
 
template<int codim>
IndexType subIndex (const typename Codim< codim >::Entity &entity, int i, unsigned int cd) const
 return index for given subentity
 
Adaptation
int oldIndex (int hole, GeometryType type) const
 return old index for given hole and type
 
int newIndex (int hole, GeometryType type) const
 return new index for given hole and type
 
Adaptation
void insertEntity (const typename BaseType::template Codim< 0 >::Entity &entity)
 please doc me
 
void removeEntity (const typename BaseType::template Codim< 0 >::Entity &entity)
 please doc me
 
template<class T >
void write (OutStreamInterface< T > &stream) const
 please doc me
 
template<class T >
void read (InStreamInterface< T > &stream)
 please doc me
 

Static Public Attributes

static const int dimension = BaseType::dimension
 grid dimension *‍/ More...
 
static const int numCodimensions = TraitsImp :: numCodimensions
 number of supported codimensions
 
static const int intersectionCodimension = TraitsImp :: intersectionCodimension
 intersection codimension (numCodim-1 if enabled, otherwise -1)
 
static const bool hasSingleGeometryType = Dune::Capabilities::hasSingleGeometryType< GridType > :: v
 true if only one geometry type is available
 

Protected Types

typedef DofManager< GridType > DofManagerType
 dof manager type
 

Protected Member Functions

template<class MacroIndexSet >
void setupGeomTypes (const MacroIndexSet &indexSet)
 
void clear ()
 clear index set (only for structured grids)
 
void setupIndexSet ()
 mark all indices of interest
 

Detailed Description

template<class TraitsImp>
class Dune::Fem::AdaptiveIndexSetBase< TraitsImp >

consecutive, persistent index set for the leaf level based on the grid's hierarchy index set

This index set generates a consecutive leaf index out of the unique global index of each entity. It can be used instead of the default grid index sets and can be generated for each grid implementation.

Note
The base implementation can support either only one codimension or all codimensions of the grid.

Member Typedef Documentation

◆ IndexType

template<class TraitsImp >
typedef BaseType :: IndexType Dune::Fem::AdaptiveIndexSetBase< TraitsImp >::IndexType

index type *‍/

*‍/

◆ Types

template<class TraitsImp >
typedef BaseType :: Types Dune::Fem::AdaptiveIndexSetBase< TraitsImp >::Types

geometry type range type *‍/

*‍/

Member Function Documentation

◆ addBackupRestore()

void Dune::Fem::PersistentIndexSet< Traits, AdaptiveIndexSet >::addBackupRestore ( )
inlinefinaloverridevirtualinherited

please doc me

Implements Dune::Fem::PersistentIndexSetInterface.

◆ backup()

void Dune::Fem::PersistentIndexSet< Traits, AdaptiveIndexSet >::backup ( ) const
inlineinherited

please doc me

◆ compress()

template<class TraitsImp >
bool Dune::Fem::AdaptiveIndexSetBase< TraitsImp >::compress
inline

please doc me *‍/

*‍/

◆ contains()

template<class TraitsImp >
template<class EntityType >
bool Dune::Fem::AdaptiveIndexSetBase< TraitsImp >::contains ( const EntityType &  en) const
inline

return true if entity has index *‍/

*‍/

◆ geomTypes()

◆ index() [1/2]

template<class TraitsImp >
template<class Entity >
IndexType Dune::Fem::AdaptiveIndexSetBase< TraitsImp >::index ( const Entity entity) const
inline

return number of entities of given type *‍/

*‍/

◆ index() [2/2]

template<class TraitsImp >
template<int codim>
IndexType Dune::Fem::AdaptiveIndexSetBase< TraitsImp >::index ( const typename GridPartType::template Codim< codim >::EntityType &  entity) const
inline

return number of entities of given type *‍/

*‍/

References DUNE_THROW, and Dune::Fem::AdaptiveIndexSetBase< TraitsImp >::name().

◆ insertEntity()

template<class TraitsImp >
void Dune::Fem::AdaptiveIndexSetBase< TraitsImp >::insertEntity ( const GridElementType &  entity)
inline

◆ newIndex()

◆ numberOfHoles()

◆ oldIndex()

◆ read()

template<class TraitsImp >
template<class StreamTraits >
bool Dune::Fem::AdaptiveIndexSetBase< TraitsImp >::read ( InStreamInterface< StreamTraits > &  in)
inline

please doc me *‍/

*‍/

References DUNE_THROW, and Dune::Hybrid::min.

◆ removeBackupRestore()

void Dune::Fem::PersistentIndexSet< Traits, AdaptiveIndexSet >::removeBackupRestore ( )
inlinefinaloverridevirtualinherited

please doc me

Implements Dune::Fem::PersistentIndexSetInterface.

◆ removeEntity()

template<class TraitsImp >
void Dune::Fem::AdaptiveIndexSetBase< TraitsImp >::removeEntity ( const GridElementType &  entity)
inline

please doc me *‍/

*‍/

◆ resize()

◆ restore()

void Dune::Fem::PersistentIndexSet< Traits, AdaptiveIndexSet >::restore ( )
inlineinherited

please doc me

◆ setupGeomTypes()

template<class TraitsImp >
template<class MacroIndexSet >
void Dune::Fem::AdaptiveIndexSetBase< TraitsImp >::setupGeomTypes ( const MacroIndexSet &  indexSet)
inlineprotected

◆ size() [1/2]

◆ size() [2/2]

template<class TraitsImp >
IndexType Dune::Fem::AdaptiveIndexSetBase< TraitsImp >::size ( int  codim) const
inline

◆ subIndex() [1/2]

template<class TraitsImp >
template<class Entity >
IndexType Dune::Fem::AdaptiveIndexSetBase< TraitsImp >::subIndex ( const Entity entity,
int  subNumber,
unsigned int  codim 
) const
inline

return index for given subentity *‍/

*‍/

◆ subIndex() [2/2]

template<class TraitsImp >
template<int cd>
IndexType Dune::Fem::AdaptiveIndexSetBase< TraitsImp >::subIndex ( const typename GridPartType::template Codim< cd >::EntityType &  entity,
int  subNumber,
unsigned int  codim 
) const
inline

◆ types()

template<class TraitsImp >
Types Dune::Fem::AdaptiveIndexSetBase< TraitsImp >::types ( const int  codim) const
inline

return range of geometry types *‍/

*‍/

References Dune::Fem::AdaptiveIndexSetBase< TraitsImp >::geomTypes().

◆ write()

template<class TraitsImp >
template<class StreamTraits >
bool Dune::Fem::AdaptiveIndexSetBase< TraitsImp >::write ( OutStreamInterface< StreamTraits > &  out) const
inline

please doc me *‍/

*‍/

Member Data Documentation

◆ dimension


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (May 6, 22:30, 2024)