dune-grid
2.4.1
|
Provides a meta grid that is identical to its host. More...
#include <dune/grid/identitygrid.hh>
Public Types | |
typedef HostGrid | HostGridType |
typedef IdentityGridFamily < HostGrid::dimension, HostGrid > | GridFamily |
type of the used GridFamily for this grid More... | |
typedef IdentityGridFamily < HostGrid::dimension, HostGrid >::Traits | Traits |
the Traits More... | |
typedef HostGrid::ctype | ctype |
The type used to store coordinates, inherited from the HostGrid. More... | |
Exported constants | |
enum | { dimension =dim } |
A constant that exports the template parameter dim. More... | |
enum | { dimensionworld =dimworld } |
A constant that exports the template parameter dimworld. More... | |
Exported types | |
typedef Partition < All_Partition > ::LevelGridView | LevelGridView |
View types for All_Partition. More... | |
typedef Partition < All_Partition > ::LeafGridView | LeafGridView |
typedef GridFamily::Traits::LeafIntersection | LeafIntersection |
A type that is a model of Dune::Intersection, an intersections of two codimension 1 of two codimension 0 entities in the leaf view. More... | |
typedef GridFamily::Traits::LevelIntersection | LevelIntersection |
A type that is a model of Dune::Intersection, an intersections of two codimension 1 of two codimension 0 entities in a level view. More... | |
typedef GridFamily::Traits::LeafIntersectionIterator | LeafIntersectionIterator |
A type that is a model of Dune::IntersectionIterator which is an iterator that allows to examine, but not to modify, the intersections of codimension 1 of an leaf element (entity of codimension 0) with other leaf elements. More... | |
typedef GridFamily::Traits::LevelIntersectionIterator | LevelIntersectionIterator |
A type that is a model of Dune::IntersectionIterator which is an iterator that allows to examine, but not to modify, the intersections of codimension 1 of an element (entity of codimension 0) with other elements on the same level. More... | |
typedef GridFamily::Traits::HierarchicIterator | HierarchicIterator |
A type that is a model of Dune::HierarchicIterator A type of iterator that allows to examine, but not to modify, entities of codimension 0 that result from refinement of an entity of codimension 0. More... | |
typedef GridFamily::Traits::LevelIndexSet | LevelIndexSet |
A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent, numbering for entities on a grid level. More... | |
typedef GridFamily::Traits::LeafIndexSet | LeafIndexSet |
A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent, numbering for entities in the leaf grid. More... | |
typedef GridFamily::Traits::GlobalIdSet | GlobalIdSet |
A type that is a model of Dune::IdSet which provides a unique and persistent numbering for all entities in the grid. The numbering is unique over all processes over which the grid is partitioned. The numbering is not necessarily consecutive. More... | |
typedef GridFamily::Traits::LocalIdSet | LocalIdSet |
A type that is a model of Dune::IdSet which provides a unique and persistent numbering for all entities in the grid. The numbering is only unique in a single process and it is not necessarily consecutive. More... | |
typedef GridFamily::Traits::CollectiveCommunication | CollectiveCommunication |
A type that is a model of Dune::CollectiveCommunication. It provides a portable way for collective communication on the set of processes used by the grid. More... | |
Public Member Functions | |
IdentityGrid (HostGrid &hostgrid) | |
Constructor. More... | |
~IdentityGrid () | |
Desctructor. More... | |
int | maxLevel () const |
Return maximum level defined in this grid. More... | |
template<int codim> | |
Traits::template Codim< codim > ::LevelIterator | lbegin (int level) const |
Iterator to first entity of given codim on level. More... | |
template<int codim> | |
Traits::template Codim< codim > ::LevelIterator | lend (int level) const |
one past the end on this level More... | |
template<int codim, PartitionIteratorType PiType> | |
Traits::template Codim< codim > ::template Partition< PiType > ::LevelIterator | lbegin (int level) const |
Iterator to first entity of given codim on level. More... | |
template<int codim, PartitionIteratorType PiType> | |
Traits::template Codim< codim > ::template Partition< PiType > ::LevelIterator | lend (int level) const |
one past the end on this level More... | |
template<int codim> | |
Traits::template Codim< codim > ::LeafIterator | leafbegin () const |
Iterator to first leaf entity of given codim. More... | |
template<int codim> | |
Traits::template Codim< codim > ::LeafIterator | leafend () const |
one past the end of the sequence of leaf entities More... | |
template<int codim, PartitionIteratorType PiType> | |
Traits::template Codim< codim > ::template Partition< PiType > ::LeafIterator | leafbegin () const |
Iterator to first leaf entity of given codim. More... | |
template<int codim, PartitionIteratorType PiType> | |
Traits::template Codim< codim > ::template Partition< PiType > ::LeafIterator | leafend () const |
one past the end of the sequence of leaf entities More... | |
int | size (int level, int codim) const |
Number of grid entities per level and codim. More... | |
size_t | numBoundarySegments () const |
returns the number of boundary segments within the macro grid More... | |
int | size (int codim) const |
number of leaf entities per codim in this process More... | |
int | size (int level, GeometryType type) const |
number of entities per level, codim and geometry type in this process More... | |
int | size (GeometryType type) const |
number of leaf entities per codim and geometry type in this process More... | |
const Traits::GlobalIdSet & | globalIdSet () const |
Access to the GlobalIdSet. More... | |
const Traits::LocalIdSet & | localIdSet () const |
Access to the LocalIdSet. More... | |
const Traits::LevelIndexSet & | levelIndexSet (int level) const |
Access to the LevelIndexSets. More... | |
const Traits::LeafIndexSet & | leafIndexSet () const |
Access to the LeafIndexSet. More... | |
template<class EntitySeed > | |
Traits::template Codim < EntitySeed::codimension > ::EntityPointer | entityPointer (const EntitySeed &seed) const |
Create EntityPointer from EntitySeed. More... | |
template<class EntitySeed > | |
Traits::template Codim < EntitySeed::codimension > ::Entity | entity (const EntitySeed &seed) const |
Create Entity from EntitySeed. More... | |
unsigned int | overlapSize (int codim) const |
Size of the overlap on the leaf level. More... | |
unsigned int | ghostSize (int codim) const |
Size of the ghost cell layer on the leaf level. More... | |
unsigned int | overlapSize (int level, int codim) const |
Size of the overlap on a given level. More... | |
unsigned int | ghostSize (int level, int codim) const |
Size of the ghost cell layer on a given level. More... | |
const CollectiveCommunication < IdentityGrid > & | comm () const |
dummy collective communication More... | |
HostGridType & | getHostGrid () const |
Returns the hostgrid this IdentityGrid lives in. More... | |
template<int codim> | |
HostGrid::Traits::template Codim< codim >::EntityPointer | getHostEntityPointer (const typename Traits::template Codim< codim >::Entity &e) const |
Returns the hostgrid entity encapsulated in given IdentityGrid entity. More... | |
template<int codim> | |
const HostGrid::Traits::template Codim< codim >::Entity & | getHostEntity (const typename Traits::template Codim< codim >::Entity &e) const |
Traits::template Partition < pitype >::LevelGridView | levelGridView (int level) const |
View for a grid level. More... | |
Traits::template Partition < All_Partition > ::LevelGridView | levelGridView (int level) const |
View for a grid level for All_Partition. More... | |
Traits::template Partition < pitype >::LeafGridView | leafGridView () const |
View for the leaf grid. More... | |
Traits::template Partition < All_Partition > ::LeafGridView | leafGridView () const |
View for the leaf grid for All_Partition. More... | |
void | communicate (CommDataHandleIF< DataHandleImp, DataTypeImp > &data, InterfaceType iftype, CommunicationDirection dir, int level) const |
void | communicate (CommDataHandleIF< DataHandleImp, DataTypeImp > &data, InterfaceType iftype, CommunicationDirection dir) const |
bool | loadBalance () |
default implementation of load balance does nothing and returns false More... | |
bool | loadBalance (DataHandle &data) |
default implementation of load balance does nothing and returns false More... | |
Grid Refinement Methods | |
void | globalRefine (int refCount) |
bool | mark (int refCount, const typename Traits::template Codim< 0 >::Entity &e) |
Mark entity for refinement. More... | |
int | getMark (const typename Traits::template Codim< 0 >::Entity &e) const |
Return refinement mark for entity. More... | |
bool | preAdapt () |
returns true, if at least one entity is marked for adaption More... | |
bool | adapt () |
Triggers the grid refinement process. More... | |
void | postAdapt () |
Clean up refinement markers. More... | |
Adaptivity and grid refinement | |
bool | mark (int refCount, const typename Codim< 0 >::Entity &e) |
Marks an entity to be refined/coarsened in a subsequent adapt. More... | |
int | getMark (const typename Codim< 0 >::Entity &e) const |
returns adaptation mark for given entity More... | |
Protected Member Functions | |
GridImp & | asImp () |
Barton-Nackman trick. More... | |
const GridImp & | asImp () const |
Barton-Nackman trick. More... | |
Static Protected Member Functions | |
static std::conditional < std::is_reference < InterfaceType >::value, typename std::add_lvalue_reference < typename ReturnImplementationType < typename std::remove_reference < InterfaceType >::type > ::ImplementationType >::type, typename std::remove_const < typename ReturnImplementationType < typename std::remove_reference < InterfaceType >::type > ::ImplementationType >::type > ::type | getRealImplementation (InterfaceType &&i) |
return real implementation of interface class More... | |
Protected Attributes | |
HostGrid * | hostgrid_ |
The host grid which contains the actual grid hierarchy structure. More... | |
Provides a meta grid that is identical to its host.
HostGrid | The host grid type wrapped by the IdentityGrid |
|
inherited |
A type that is a model of Dune::CollectiveCommunication. It provides a portable way for collective communication on the set of processes used by the grid.
typedef HostGrid::ctype Dune::IdentityGrid< HostGrid >::ctype |
The type used to store coordinates, inherited from the HostGrid.
|
inherited |
A type that is a model of Dune::IdSet which provides a unique and persistent numbering for all entities in the grid. The numbering is unique over all processes over which the grid is partitioned. The numbering is not necessarily consecutive.
typedef IdentityGridFamily<HostGrid::dimension,HostGrid> Dune::IdentityGrid< HostGrid >::GridFamily |
type of the used GridFamily for this grid
|
inherited |
A type that is a model of Dune::HierarchicIterator A type of iterator that allows to examine, but not to modify, entities of codimension 0 that result from refinement of an entity of codimension 0.
typedef HostGrid Dune::IdentityGrid< HostGrid >::HostGridType |
|
inherited |
|
inherited |
A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent, numbering for entities in the leaf grid.
|
inherited |
A type that is a model of Dune::Intersection, an intersections of two codimension 1 of two codimension 0 entities in the leaf view.
|
inherited |
A type that is a model of Dune::IntersectionIterator which is an iterator that allows to examine, but not to modify, the intersections of codimension 1 of an leaf element (entity of codimension 0) with other leaf elements.
|
inherited |
View types for All_Partition.
|
inherited |
A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent, numbering for entities on a grid level.
|
inherited |
A type that is a model of Dune::Intersection, an intersections of two codimension 1 of two codimension 0 entities in a level view.
|
inherited |
A type that is a model of Dune::IntersectionIterator which is an iterator that allows to examine, but not to modify, the intersections of codimension 1 of an element (entity of codimension 0) with other elements on the same level.
|
inherited |
A type that is a model of Dune::IdSet which provides a unique and persistent numbering for all entities in the grid. The numbering is only unique in a single process and it is not necessarily consecutive.
typedef IdentityGridFamily<HostGrid::dimension,HostGrid>::Traits Dune::IdentityGrid< HostGrid >::Traits |
the Traits
|
inherited |
|
inherited |
|
inlineexplicit |
Constructor.
hostgrid | The host grid wrapped by the IdentityGrid |
|
inline |
Desctructor.
|
inline |
Triggers the grid refinement process.
References Dune::IdentityGrid< HostGrid >::hostgrid_.
|
inlineprotectedinherited |
Barton-Nackman trick.
Referenced by Dune::Grid< dim, dimworld, ct, GridFamily >::adapt(), Dune::Grid< dim, dimworld, ct, GridFamily >::comm(), Dune::Grid< dim, dimworld, ct, GridFamily >::communicate(), Dune::Grid< dim, dimworld, ct, GridFamily >::entity(), Dune::Grid< dim, dimworld, ct, GridFamily >::entityPointer(), Dune::Grid< dim, dimworld, ct, GridFamily >::getMark(), Dune::Grid< dim, dimworld, ct, GridFamily >::ghostSize(), Dune::Grid< dim, dimworld, ct, GridFamily >::globalIdSet(), Dune::Grid< dim, dimworld, ct, GridFamily >::globalRefine(), Dune::Grid< dim, dimworld, ct, GridFamily >::lbegin(), Dune::GridDefaultImplementation< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::lbegin(), Dune::Grid< dim, dimworld, ct, GridFamily >::leafbegin(), Dune::GridDefaultImplementation< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::leafbegin(), Dune::Grid< dim, dimworld, ct, GridFamily >::leafend(), Dune::GridDefaultImplementation< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::leafend(), Dune::Grid< dim, dimworld, ct, GridFamily >::leafGridView(), Dune::GridDefaultImplementation< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::leafGridView(), Dune::Grid< dim, dimworld, ct, GridFamily >::leafIndexSet(), Dune::Grid< dim, dimworld, ct, GridFamily >::lend(), Dune::GridDefaultImplementation< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::lend(), Dune::Grid< dim, dimworld, ct, GridFamily >::levelGridView(), Dune::GridDefaultImplementation< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::levelGridView(), Dune::Grid< dim, dimworld, ct, GridFamily >::levelIndexSet(), Dune::Grid< dim, dimworld, ct, GridFamily >::loadBalance(), Dune::Grid< dim, dimworld, ct, GridFamily >::localIdSet(), Dune::Grid< dim, dimworld, ct, GridFamily >::mark(), Dune::Grid< dim, dimworld, ct, GridFamily >::maxLevel(), Dune::Grid< dim, dimworld, ct, GridFamily >::numBoundarySegments(), Dune::Grid< dim, dimworld, ct, GridFamily >::overlapSize(), Dune::Grid< dim, dimworld, ct, GridFamily >::postAdapt(), Dune::Grid< dim, dimworld, ct, GridFamily >::preAdapt(), and Dune::Grid< dim, dimworld, ct, GridFamily >::size().
|
inlineprotectedinherited |
Barton-Nackman trick.
|
inline |
dummy collective communication
|
inlineinherited |
dummy communicate, doing nothing
|
inlineinherited |
dummy communicate, doing nothing
|
inline |
Create Entity from EntitySeed.
References Dune::EntitySeed< GridImp, EntitySeedImp >::codimension, and Dune::IdentityGrid< HostGrid >::hostgrid_.
|
inline |
Create EntityPointer from EntitySeed.
References Dune::EntitySeed< GridImp, EntitySeedImp >::codimension, and Dune::IdentityGrid< HostGrid >::hostgrid_.
|
inline |
|
inline |
Returns the hostgrid entity encapsulated in given IdentityGrid entity.
|
inline |
Returns the hostgrid this IdentityGrid lives in.
References Dune::IdentityGrid< HostGrid >::hostgrid_.
Referenced by Dune::HostGridAccess< IdentityGrid< HG > >::hostGrid().
|
inline |
Return refinement mark for entity.
References Dune::IdentityGrid< HostGrid >::hostgrid_.
|
inlineinherited |
returns adaptation mark for given entity
[in] | e | Entity for which adaptation mark should be determined |
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
|
inlinestaticprotectedinherited |
return real implementation of interface class
Referenced by Dune::IdentityGrid< HostGrid >::getHostEntity(), and Dune::IdentityGrid< HostGrid >::getHostEntityPointer().
|
inline |
Size of the ghost cell layer on the leaf level.
References Dune::IdentityGrid< HostGrid >::hostgrid_.
|
inline |
Size of the ghost cell layer on a given level.
References Dune::IdentityGrid< HostGrid >::hostgrid_.
|
inline |
Access to the GlobalIdSet.
|
inline |
global refinement
References Dune::IdentityGrid< HostGrid >::hostgrid_.
|
inline |
Iterator to first entity of given codim on level.
|
inline |
Iterator to first entity of given codim on level.
|
inline |
Iterator to first leaf entity of given codim.
|
inline |
Iterator to first leaf entity of given codim.
|
inline |
one past the end of the sequence of leaf entities
|
inline |
one past the end of the sequence of leaf entities
|
inlineinherited |
View for the leaf grid.
|
inlineinherited |
View for the leaf grid for All_Partition.
|
inline |
Access to the LeafIndexSet.
Referenced by Dune::IdentityGrid< HostGrid >::size().
|
inline |
one past the end on this level
|
inline |
one past the end on this level
|
inlineinherited |
View for a grid level.
|
inlineinherited |
View for a grid level for All_Partition.
|
inline |
Access to the LevelIndexSets.
References Dune::IdentityGrid< HostGrid >::maxLevel().
|
inlineinherited |
default implementation of load balance does nothing and returns false
|
inlineinherited |
default implementation of load balance does nothing and returns false
|
inline |
Access to the LocalIdSet.
|
inline |
Mark entity for refinement.
This only works for entities of codim 0. The parameter is currently ignored
References Dune::IdentityGrid< HostGrid >::hostgrid_.
|
inlineinherited |
Marks an entity to be refined/coarsened in a subsequent adapt.
[in] | refCount | Number of subdivisions that should be applied. Negative value means coarsening. |
[in] | e | Entity that should be marked |
References Dune::Grid< dim, dimworld, ct, GridFamily >::asImp().
|
inline |
Return maximum level defined in this grid.
Levels are numbered 0 ... maxlevel with 0 the coarsest level.
References Dune::IdentityGrid< HostGrid >::hostgrid_.
Referenced by Dune::IdentityGrid< HostGrid >::levelIndexSet().
|
inline |
returns the number of boundary segments within the macro grid
References Dune::IdentityGrid< HostGrid >::hostgrid_.
|
inline |
Size of the overlap on the leaf level.
References Dune::IdentityGrid< HostGrid >::hostgrid_.
|
inline |
Size of the overlap on a given level.
References Dune::IdentityGrid< HostGrid >::hostgrid_.
|
inline |
Clean up refinement markers.
References Dune::IdentityGrid< HostGrid >::hostgrid_.
|
inline |
returns true, if at least one entity is marked for adaption
References Dune::IdentityGrid< HostGrid >::hostgrid_.
|
inline |
Number of grid entities per level and codim.
References Dune::IdentityGrid< HostGrid >::hostgrid_.
|
inline |
number of leaf entities per codim in this process
References Dune::IdentityGrid< HostGrid >::leafIndexSet(), and Dune::IndexSet< GridImp, IndexSetImp, IndexTypeImp, TypesImp >::size().
|
inline |
number of entities per level, codim and geometry type in this process
|
inline |
number of leaf entities per codim and geometry type in this process
References Dune::IdentityGrid< HostGrid >::leafIndexSet(), and Dune::IndexSet< GridImp, IndexSetImp, IndexTypeImp, TypesImp >::size().
|
protected |
The host grid which contains the actual grid hierarchy structure.
Referenced by Dune::IdentityGrid< HostGrid >::adapt(), Dune::IdentityGrid< HostGrid >::entity(), Dune::IdentityGrid< HostGrid >::entityPointer(), Dune::IdentityGrid< HostGrid >::getHostGrid(), Dune::IdentityGrid< HostGrid >::getMark(), Dune::IdentityGrid< HostGrid >::ghostSize(), Dune::IdentityGrid< HostGrid >::globalRefine(), Dune::IdentityGrid< HostGrid >::mark(), Dune::IdentityGrid< HostGrid >::maxLevel(), Dune::IdentityGrid< HostGrid >::numBoundarySegments(), Dune::IdentityGrid< HostGrid >::overlapSize(), Dune::IdentityGrid< HostGrid >::postAdapt(), Dune::IdentityGrid< HostGrid >::preAdapt(), and Dune::IdentityGrid< HostGrid >::size().