dune-grid 2.10
Loading...
Searching...
No Matches
Dune::AlbertaGridHierarchicIndexSet< dim, dimworld > Class Template Reference

#include <dune/grid/albertagrid/indexsets.hh>

Inheritance diagram for Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >:
Inheritance graph

Classes

class  InitEntityNumber

Public Types

typedef AlbertaGrid< dim, dimworld > Grid
typedef AlbertaGridFamily< dim, dimworld > GridFamily
typedef Base::IndexType IndexType
typedef Base::Types Types
typedef Alberta::ElementInfo< dimensionElementInfo
typedef Alberta::HierarchyDofNumbering< dimensionDofNumbering
typedef Alberta::IndexStack IndexStack

Public Member Functions

template<class Entity>
bool contains (const Entity &) const
 return true if entity is contained in set
template<int cc>
IndexType index (const typename Traits::template Codim< cc >::Entity &entity) const
 return hierarchic index of given entity
template<int cc>
IndexType subIndex (const typename Traits::template Codim< cc >::Entity &entity, int i, unsigned int codim) const
 return subIndex of given enitiy's sub entity
std::size_t size (const GeometryType &type) const
 return size of set for given GeometryType
std::size_t size (int codim) const
 return size of set
Types types (int codim) const
 obtain all geometry types of entities in domain
IndexType subIndex (const ElementInfo &elementInfo, int i, unsigned int codim) const
IndexType subIndex (const Alberta::Element *element, int i, unsigned int codim) const
 obtain hierarchic subindex
void preAdapt ()
void postAdapt ()
void create ()
void read (const std::string &filename)
bool write (const std::string &filename) const
void release ()
IndexType index (const Entity &e) const
 Map entity to index. Easier to use than the above because codimension template parameter need not be supplied explicitly. The result of calling this method with an entity that is not in the index set is undefined.
IndexType subIndex (const Entity &e, int i, unsigned int codim) const
 Map a subentity to an index.
Access to entity set
auto size (GeometryType type) const
 Return total number of entities of given geometry type in entity set $E$.

Static Public Attributes

static const int dimension = GridFamily::dimension

Member Typedef Documentation

◆ DofNumbering

template<int dim, int dimworld>
typedef Alberta::HierarchyDofNumbering< dimension > Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::DofNumbering

◆ ElementInfo

template<int dim, int dimworld>
typedef Alberta::ElementInfo< dimension > Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::ElementInfo

◆ Grid

template<int dim, int dimworld>
typedef AlbertaGrid< dim, dimworld > Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::Grid

◆ GridFamily

template<int dim, int dimworld>
typedef AlbertaGridFamily< dim, dimworld > Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::GridFamily

◆ IndexStack

template<int dim, int dimworld>
typedef Alberta::IndexStack Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::IndexStack

◆ IndexType

template<int dim, int dimworld>
typedef Base::IndexType Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::IndexType

◆ Types

template<int dim, int dimworld>
typedef Base::Types Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::Types

Member Function Documentation

◆ contains()

template<int dim, int dimworld>
template<class Entity>
bool Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::contains ( const Entity & ) const
inline

return true if entity is contained in set

◆ create()

template<int dim, int dimworld>
void Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::create ( )

◆ index() [1/2]

template<int dim, int dimworld>
IndexType Dune::IndexSet< AlbertaGridFamily< dim, dimworld >, AlbertaGridHierarchicIndexSet< dim, dimworld >, int, std::array< GeometryType, 1 > >::index ( const Entity & e) const
inline

Map entity to index. Easier to use than the above because codimension template parameter need not be supplied explicitly. The result of calling this method with an entity that is not in the index set is undefined.

Parameters
eReference to codim cc entity. Since entity knows its codimension, automatic extraction is possible.
Returns
An index in the range 0 ... Max number of entities in set - 1.

◆ index() [2/2]

template<int dim, int dimworld>
template<int cc>
IndexType Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::index ( const typename Traits::template Codim< cc >::Entity & entity) const
inline

return hierarchic index of given entity

◆ postAdapt()

template<int dim, int dimworld>
void Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::postAdapt ( )
inline

◆ preAdapt()

template<int dim, int dimworld>
void Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::preAdapt ( )
inline

◆ read()

template<int dim, int dimworld>
void Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::read ( const std::string & filename)

◆ release()

template<int dim, int dimworld>
void Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::release ( )
inline

◆ size() [1/3]

template<int dim, int dimworld>
std::size_t Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::size ( const GeometryType & type) const
inline

return size of set for given GeometryType

◆ size() [2/3]

template<int dim, int dimworld>
std::size_t Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::size ( int codim) const
inline

return size of set

◆ size() [3/3]

auto Dune::IndexSet< AlbertaGridFamily< dim, dimworld >, AlbertaGridHierarchicIndexSet< dim, dimworld >, int, std::array< GeometryType, 1 > >::size ( GeometryType type) const
inlineinherited

Return total number of entities of given geometry type in entity set $E$.

Parameters
[in]typeA valid geometry type.
Returns
number of entities (type is auto determined by the implementation. std::size_t is the expected return type).

◆ subIndex() [1/4]

template<int dim, int dimworld>
IndexType Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::subIndex ( const Alberta::Element * element,
int i,
unsigned int codim ) const
inline

obtain hierarchic subindex

Parameters
[in]elementpointer to ALBERTA element
[in]inumber of the subelement (in ALBERTA numbering)
[in]codimcodimension

◆ subIndex() [2/4]

template<int dim, int dimworld>
IndexType Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::subIndex ( const ElementInfo & elementInfo,
int i,
unsigned int codim ) const
inline

◆ subIndex() [3/4]

template<int dim, int dimworld>
IndexType Dune::IndexSet< AlbertaGridFamily< dim, dimworld >, AlbertaGridHierarchicIndexSet< dim, dimworld >, int, std::array< GeometryType, 1 > >::subIndex ( const Entity & e,
int i,
unsigned int codim ) const
inline

Map a subentity to an index.

The result of calling this method with an entity that is not in the index set is undefined.

Note
This method exists for convenience only. It extracts the codimension from the type of the entity, which can be guessed by the compiler.
Template Parameters
Entitytype of entity (must be GridImp::Codim< cc >::Entity for some cc)
Parameters
[in]ereference to entity
[in]inumber subentity of e within the codimension
[in]codimcodimension of the subentity we're interested in
Note
The parameter codim denotes the codimension with respect to the grid, i.e., it must satisfy cc <= codim <= dimension.
Returns
An index in the range 0 ... Max number of entities in set - 1.

◆ subIndex() [4/4]

template<int dim, int dimworld>
template<int cc>
IndexType Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::subIndex ( const typename Traits::template Codim< cc >::Entity & entity,
int i,
unsigned int codim ) const
inline

return subIndex of given enitiy's sub entity

◆ types()

template<int dim, int dimworld>
Types Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::types ( int codim) const
inline

obtain all geometry types of entities in domain

◆ write()

template<int dim, int dimworld>
bool Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::write ( const std::string & filename) const

Member Data Documentation

◆ dimension

template<int dim, int dimworld>
const int Dune::AlbertaGridHierarchicIndexSet< dim, dimworld >::dimension = GridFamily::dimension
static

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