dune-grid 2.9.0
|
Calculate globally unique index over all processes in a Dune grid. More...
#include <dune/grid/utility/globalindexset.hh>
Classes | |
struct | SubPartitionTypeProvider |
Helper class to provide access to subentity PartitionTypes with a run-time codimension. More... | |
struct | SubPartitionTypeProvider< Entity, 0 > |
Public Types | |
typedef int | Index |
The number type used for global indices More... | |
Public Member Functions | |
GlobalIndexSet (const GridView &gridview, int codim) | |
Constructor for a given GridView. More... | |
template<class Entity > | |
Index | index (const Entity &entity) const |
Return the global index of a given entity. More... | |
template<class Entity > | |
Index | subIndex (const Entity &entity, unsigned int i, unsigned int codim) const |
Return the global index of a subentity of a given entity. More... | |
unsigned int | size (unsigned int codim) const |
Return the total number of entities over all processes that we have indices for. More... | |
Protected Attributes | |
const GridView | gridview_ |
unsigned int | codim_ |
Codimension of the entities that we hold indices for. More... | |
int | nGlobalEntity_ |
Global number of entities, i.e. number of entities without rendundant entities on interprocessor boundaries. More... | |
IndexMap | localGlobalMap_ |
MapId2Index | globalIndex_ |
Stores global index of entities with entity's globally unique id as key. More... | |
Calculate globally unique index over all processes in a Dune grid.
typedef int Dune::GlobalIndexSet< GridView >::Index |
The number type used for global indices
|
inline |
Constructor for a given GridView.
This constructor calculates the complete set of global unique indices so that we can then later query the global index, by directly passing the entity in question.
Share number of locally owned entities
retrieve globally unique Id set
initialize contribution for the global index
retrieve the entity's id
if the entity is owned by the process, go ahead with computing the global index
compute global index
insert pair (key, datum) into the map
increment contribution to global index
if entity is not owned, insert -1 to signal not yet calculated global index
insert pair (key, datum) into the map
if the entity is owned by the process, go ahead with computing the global index
compute global index
insert pair (key, value) into the map
increment contribution to global index
if entity is not owned, insert -1 to signal not yet calculated global index
|
inline |
Return the global index of a given entity.
global unique index is only applicable for inter or border type entities
retrieve globally unique Id set
obtain the entity's id
retrieve the global index in the map with the id as key
|
inline |
Return the total number of entities over all processes that we have indices for.
codim | If this matches GlobalIndexSet codimension, the number of entities is returned. Otherwise, zero is returned. |
|
inline |
Return the global index of a subentity of a given entity.
i | Number of the requested subentity among all subentities of the given codimension |
codim | Codimension of the requested subentity |
global unique index is only applicable for inter or border type entities
retrieve globally unique Id set
obtain the entity's id
retrieve the global index in the map with the id as key
|
protected |
Codimension of the entities that we hold indices for.
|
protected |
Stores global index of entities with entity's globally unique id as key.
|
protected |
|
protected |
|
protected |
Global number of entities, i.e. number of entities without rendundant entities on interprocessor boundaries.