dune-fem  2.4.1-rc
Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::AdaptiveLeafIndexSet< GridPartImp > Class Template Reference

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

#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/gridpart/adaptiveleafindexset.hh>

Inheritance diagram for Dune::Fem::AdaptiveLeafIndexSet< GridPartImp >:
Inheritance graph

Public Types

typedef BaseType::GridPartType GridPartType
 
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 More...
 
typedef GridPartType::IntersectionIteratorType IntersectionIteratorType
 type of intersection iterator More...
 
typedef GridPartType::IntersectionType IntersectionType
 type of intersections More...
 

Public Member Functions

 AdaptiveLeafIndexSet (const GridPartType &gridPart)
 Constructor. More...
 
virtual std::string name () const
 return name of index set More...
 
bool compress ()
 
int type () const
 return type of index set, for GrapeDataIO More...
 
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
 return vector of geometry types used of given codimension */ More...
 
Types types (const int codim) const
 return range of geometry types */ More...
 
bool contains (const EntityType &en) const
 return true if entity has index */ More...
 
bool contains (const Entity &entity) 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 More...
 
void resize ()
 please doc me */ More...
 
IndexType index (const Entity &entity) const
 return number of entities of given type */ More...
 
IndexType index (const typename GridPartType::template Codim< codim >::EntityType &entity) const
 return number of entities of given type */ More...
 
IndexType index (const IntersectionType &intersection) const
 
IndexType index (const typename Codim< codim >::Entity &entity) const
 return index for given entity More...
 
IndexType subIndex (const IntersectionType &intersection, int subNumber, unsigned int codim) const
 
IndexType subIndex (const Entity &entity, int subNumber, unsigned int codim) const
 return index for given subentity */ More...
 
IndexType subIndex (const typename GridPartType::template Codim< cd >::EntityType &entity, int subNumber, unsigned int codim) const
 return index for given subentity */ More...
 
IndexType subIndex (const typename Codim< codim >::Entity &entity, int i, unsigned int cd) const
 return index for given subentity More...
 
int numberOfHoles (GeometryType type) const
 return number of holes for given type */ More...
 
int numberOfHoles (const int codim) const
 return number of holes of the sets indices More...
 
int oldIndex (int hole, GeometryType type) const
 return old index for given hole and type */ More...
 
int oldIndex (const int hole, const int codim) const
 return old index, for dof manager only More...
 
int newIndex (int hole, GeometryType type) const
 return new index for given hole and type */ More...
 
int newIndex (const int hole, const int codim) const
 return new index, for dof manager only returns index More...
 
bool write (OutStreamInterface< StreamTraits > &out) const
 please doc me */ More...
 
bool read (InStreamInterface< StreamTraits > &in)
 please doc me */ More...
 
void backup () const
 please doc me More...
 
void restore ()
 please doc me More...
 
void addBackupRestore () overridefinal
 please doc me More...
 
void removeBackupRestore () overridefinal
 please doc me More...
 

Static Public Attributes

static const int dimension
 grid dimension */ More...
 
static const int numCodimensions
 number of supported codimensions More...
 
static const int intersectionCodimension
 intersection codimension (numCodim-1 if enabled, otherwise -1) More...
 
static const bool hasSingleGeometryType
 true if only one geometry type is available More...
 

Protected Types

typedef GridPartType::GridType GridType
 
typedef AdaptiveLeafIndexSetTraits< GridPartImp >::CodimIndexSetType CodimIndexSetType
 
typedef GridType::template Codim< 0 >::Entity GridElementType
 
typedef DofManager< GridTypeDofManagerType
 dof manager type More...
 

Protected Member Functions

bool codimAvailable (const int codim) const
 
CodimIndexSetTypecodimLeafSet (const int codim) const
 
void insertIndex (const GridElementType &entity)
 
void insertIntersections (const GridElementType &entity) const
 
void insertTemporary (const GridElementType &entity)
 
void removeIndex (const GridElementType &entity)
 
void checkHierarchy (const GridElementType &entity, bool wasNew)
 
void markAllUsed ()
 
void clear ()
 clear index set (only for structured grids) More...
 
void setupIndexSet ()
 mark all indices of interest More...
 
void markAllBelowOld ()
 
void setupCodimSet (const std::integral_constant< bool, true > &hasEntities) const
 
void setupCodimSet (const std::integral_constant< bool, false > &hasEntities) const
 
void setupIntersections () const
 
IndexType countElements (GeometryType type, const std::integral_constant< bool, true > &hasEntities) const
 
IndexType countElements (GeometryType type, const std::integral_constant< bool, false > &hasEntities) const
 
FaceType getIntersectionFace (const IntersectionType &intersection) const
 
FaceType getIntersectionFace (const IntersectionType &intersection, const ElementType &inside) const
 
AdaptiveLeafIndexSetTraits< GridPartImp >::IndexSetType & impl ()
 
const AdaptiveLeafIndexSetTraits< GridPartImp >::IndexSetType & impl () const
 

Protected Attributes

const GridTypegrid_
 
DofManagerTypedofManager_
 

Adaptation

void insertEntity (const typename BaseType::template Codim< 0 >::Entity &entity)
 please doc me More...
 
void removeEntity (const typename BaseType::template Codim< 0 >::Entity &entity)
 please doc me More...
 
void write (OutStreamInterface< T > &stream) const
 please doc me More...
 
void read (InStreamInterface< T > &stream)
 please doc me More...
 
static constexpr bool consecutive () noexcept
 please doc me More...
 

Detailed Description

template<class GridPartImp>
class Dune::Fem::AdaptiveLeafIndexSet< GridPartImp >

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
This index sets supports all indices for all codimensions of the grid.

Member Typedef Documentation

dof manager type

typedef BaseType :: template Codim< 0 >:: Entity Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::ElementType
inherited

type of codimension 0 Entity

typedef GridType::template Codim< 0 >::Entity Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::GridElementType
protectedinherited
template<class GridPartImp >
typedef BaseType :: GridPartType Dune::Fem::AdaptiveLeafIndexSet< GridPartImp >::GridPartType

index type */

*/

type of intersection iterator

type of intersections

geometry type range type */

*/

Constructor & Destructor Documentation

template<class GridPartImp >
Dune::Fem::AdaptiveLeafIndexSet< GridPartImp >::AdaptiveLeafIndexSet ( const GridPartType gridPart)
inline

Constructor.

Member Function Documentation

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

please doc me

Implements Dune::Fem::PersistentIndexSetInterface.

void Dune::Fem::PersistentIndexSet< AdaptiveLeafIndexSetTraits< GridPartImp > , AdaptiveIndexSet >::backup ( ) const
inlineinherited
void Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::checkHierarchy ( const GridElementType entity,
bool  wasNew 
)
protectedinherited
void Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::clear ( )
protectedinherited

clear index set (only for structured grids)

bool Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::codimAvailable ( const int  codim) const
inlineprotectedinherited
CodimIndexSetType& Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::codimLeafSet ( const int  codim) const
inlineprotectedinherited
template<class GridPartImp >
bool Dune::Fem::AdaptiveLeafIndexSet< GridPartImp >::compress ( )
inline
static constexpr bool Dune::Fem::ConsecutiveIndexSet< AdaptiveLeafIndexSetTraits< GridPartImp > >::consecutive ( )
inlinestaticnoexceptinherited

please doc me

bool Dune::Fem::IndexSet< AdaptiveLeafIndexSetTraits< GridPartImp > >::contains ( const Entity &  entity) const
inlineinherited

return true if entity has index

bool Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::contains ( const EntityType &  en) const
inlineinherited

return true if entity has index */

*/

IndexType Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::countElements ( GeometryType  type,
const std::integral_constant< bool, true > &  hasEntities 
) const
inlineprotectedinherited
IndexType Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::countElements ( GeometryType  type,
const std::integral_constant< bool, false > &  hasEntities 
) const
inlineprotectedinherited
const std::vector<GeometryType>& Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::geomTypes ( const int  codim) const
inlineinherited

return vector of geometry types used of given codimension */

Deprecated:
"IndexSet::geomTypes(codim) is deprecated, use IndexSet::types(codim) instead"

*/

FaceType Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::getIntersectionFace ( const IntersectionType intersection) const
inlineprotectedinherited
FaceType Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::getIntersectionFace ( const IntersectionType intersection,
const ElementType inside 
) const
inlineprotectedinherited
const AdaptiveLeafIndexSetTraits< GridPartImp > ::IndexSetType& Dune::Fem::IndexSet< AdaptiveLeafIndexSetTraits< GridPartImp > >::impl ( ) const
inlineprotectedinherited
AdaptiveLeafIndexSetTraits< GridPartImp > ::IndexSetType& Dune::Fem::ConsecutiveIndexSet< AdaptiveLeafIndexSetTraits< GridPartImp > >::impl ( )
inlineprotectedinherited
IndexType Dune::Fem::IndexSet< AdaptiveLeafIndexSetTraits< GridPartImp > >::index ( const typename Codim< codim >::Entity &  entity) const
inlineinherited

return index for given entity

IndexType Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::index ( const Entity &  entity) const
inlineinherited

return number of entities of given type */

*/

IndexType Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::index ( const typename GridPartType::template Codim< codim >::EntityType &  entity) const
inlineinherited

return number of entities of given type */

*/

IndexType Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::index ( const IntersectionType intersection) const
inlineinherited
void Dune::Fem::ConsecutiveIndexSet< AdaptiveLeafIndexSetTraits< GridPartImp > >::insertEntity ( const typename BaseType::template Codim< 0 >::Entity &  entity)
inlineinherited

please doc me

void Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::insertEntity ( const GridElementType entity)
inlineinherited

please doc me */

*/

void Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::insertIndex ( const GridElementType entity)
protectedinherited
void Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::insertIntersections ( const GridElementType entity) const
protectedinherited
void Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::insertTemporary ( const GridElementType entity)
protectedinherited
void Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::markAllBelowOld ( )
protectedinherited
void Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::markAllUsed ( )
protectedinherited
template<class GridPartImp >
virtual std::string Dune::Fem::AdaptiveLeafIndexSet< GridPartImp >::name ( ) const
inlinevirtual
int Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::newIndex ( int  hole,
GeometryType  type 
) const
inlineinherited

return new index for given hole and type */

*/

int Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::newIndex ( const int  hole,
const int  codim 
) const
inlineinherited

return new index, for dof manager only returns index

int Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::numberOfHoles ( GeometryType  type) const
inlineinherited

return number of holes for given type */

*/

int Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::numberOfHoles ( const int  codim) const
inlineinherited

return number of holes of the sets indices

int Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::oldIndex ( int  hole,
GeometryType  type 
) const
inlineinherited

return old index for given hole and type */

*/

int Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::oldIndex ( const int  hole,
const int  codim 
) const
inlineinherited

return old index, for dof manager only

void Dune::Fem::ConsecutiveIndexSet< AdaptiveLeafIndexSetTraits< GridPartImp > >::read ( InStreamInterface< T > &  stream)
inlineinherited

please doc me

bool Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::read ( InStreamInterface< StreamTraits > &  in)
inherited

please doc me */

*/

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

please doc me

Implements Dune::Fem::PersistentIndexSetInterface.

void Dune::Fem::ConsecutiveIndexSet< AdaptiveLeafIndexSetTraits< GridPartImp > >::removeEntity ( const typename BaseType::template Codim< 0 >::Entity &  entity)
inlineinherited

please doc me

void Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::removeEntity ( const GridElementType entity)
inlineinherited

please doc me */

*/

void Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::removeIndex ( const GridElementType entity)
protectedinherited
void Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::resize ( )
inlineinherited

please doc me */

*/

void Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::resizeVectors ( )
inherited

reallocate the vector for new size

void Dune::Fem::PersistentIndexSet< AdaptiveLeafIndexSetTraits< GridPartImp > , AdaptiveIndexSet >::restore ( )
inlineinherited
void Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::setupCodimSet ( const std::integral_constant< bool, true > &  hasEntities) const
protectedinherited
void Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::setupCodimSet ( const std::integral_constant< bool, false > &  hasEntities) const
protectedinherited
void Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::setupIndexSet ( )
protectedinherited

mark all indices of interest

void Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::setupIntersections ( ) const
protectedinherited
IndexType Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::size ( GeometryType  type) const
inlineinherited

return number of entities of given type */

*/

IndexType Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::size ( int  codim) const
inlineinherited

return number of entities of given type */

*/

IndexType Dune::Fem::IndexSet< AdaptiveLeafIndexSetTraits< GridPartImp > >::subIndex ( const typename Codim< codim >::Entity &  entity,
int  i,
unsigned int  cd 
) const
inlineinherited

return index for given subentity

IndexType Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::subIndex ( const IntersectionType intersection,
int  subNumber,
unsigned int  codim 
) const
inlineinherited
IndexType Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::subIndex ( const Entity &  entity,
int  subNumber,
unsigned int  codim 
) const
inlineinherited

return index for given subentity */

*/

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

return index for given subentity */

*/

int Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::type ( ) const
inlineinherited

return type of index set, for GrapeDataIO

Types Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::types ( const int  codim) const
inlineinherited

return range of geometry types */

*/

void Dune::Fem::ConsecutiveIndexSet< AdaptiveLeafIndexSetTraits< GridPartImp > >::write ( OutStreamInterface< T > &  stream) const
inlineinherited

please doc me

bool Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::write ( OutStreamInterface< StreamTraits > &  out) const
inherited

please doc me */

*/

Member Data Documentation

const int Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::dimension
staticinherited

grid dimension */

*/

DofManagerType& Dune::Fem::PersistentIndexSet< AdaptiveLeafIndexSetTraits< GridPartImp > , AdaptiveIndexSet >::dofManager_
protectedinherited
const GridType& Dune::Fem::PersistentIndexSet< AdaptiveLeafIndexSetTraits< GridPartImp > , AdaptiveIndexSet >::grid_
protectedinherited
const bool Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::hasSingleGeometryType
staticinherited

true if only one geometry type is available

const int Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::intersectionCodimension
staticinherited

intersection codimension (numCodim-1 if enabled, otherwise -1)

const int Dune::Fem::AdaptiveIndexSetBase< AdaptiveLeafIndexSetTraits< GridPartImp > >::numCodimensions
staticinherited

number of supported codimensions


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