3 #ifndef DUNE_IDENTITYGRIDENTITY_HH 4 #define DUNE_IDENTITYGRIDENTITY_HH 17 template<
int codim,
int dim,
class Gr
idImp>
20 template<
int codim, PartitionIteratorType pitype,
class Gr
idImp>
23 template<
class Gr
idImp>
26 template<
class Gr
idImp>
29 template<
class Gr
idImp>
34 template<
class Gr
id >
50 template<
int codim,
int dim,
class Gr
idImp>
55 template <
class Gr
idImp_>
58 template <
class Gr
idImp_>
61 template <
class Gr
idImp_>
64 template <
class Gr
idImp_>
72 typedef typename GridImp::ctype ctype;
75 enum {CodimInHostGrid = GridImp::HostGridType::dimension - GridImp::dimension + codim};
78 typedef typename GridImp::HostGridType::Traits::template Codim<CodimInHostGrid>::Entity HostGridEntity;
83 typedef typename GridImp::template Codim<codim>::Geometry
Geometry;
86 typedef typename GridImp::template Codim<codim>::EntitySeed
EntitySeed;
89 : identityGrid_(nullptr)
94 , identityGrid_(identityGrid)
99 , identityGrid_(identityGrid)
105 , identityGrid_(original.identityGrid_)
110 , identityGrid_(original.identityGrid_)
116 if (
this != &original)
118 identityGrid_ = original.identityGrid_;
127 if (
this != &original)
129 identityGrid_ = original.identityGrid_;
167 template<
int cc>
int count ()
const {
189 const GridImp* identityGrid_;
208 template<
int dim,
class Gr
idImp>
217 enum {CodimInHostGrid = GridImp::HostGridType::dimension - GridImp::dimension};
220 typedef typename GridImp::HostGridType::Traits::template Codim<CodimInHostGrid>::Entity
HostGridEntity;
222 typedef typename GridImp::template Codim<0>::Geometry
Geometry;
236 typedef typename GridImp::template Codim<0>::EntitySeed
EntitySeed;
241 : identityGrid_(nullptr)
246 , identityGrid_(identityGrid)
251 , identityGrid_(identityGrid)
257 , identityGrid_(original.identityGrid_)
262 , identityGrid_(original.identityGrid_)
268 if (
this != &original)
270 identityGrid_ = original.identityGrid_;
279 if (
this != &original)
281 identityGrid_ = original.identityGrid_;
344 typename GridImp::template Codim<cc>::Entity
subEntity (
int i)
const {
369 identityGrid_->getHostGrid().leafGridView().ibegin(
hostEntity_));
377 identityGrid_->getHostGrid().leafGridView().iend(
hostEntity_));
389 typename GridImp::template Codim<0>::Entity
father ()
const {
405 return LocalGeometry(
hostEntity_.geometryInFather() );
429 if (identityGrid_->adaptationStep!=GridImp::adaptDone)
433 int index = identityGrid_->levelIndexSet(level).index(*
this);
434 return identityGrid_->refinementMark_[
level][index];
455 typedef typename GridImp::ctype ctype;
IdentityGridLeafIntersectionIterator< GridImp > LeafIntersectionIterator
The Iterator over intersections on the leaf level.
Definition: identitygridentity.hh:230
GridImp::template Codim< 0 >::Geometry Geometry
Definition: identitygridentity.hh:222
Geometry geometry() const
Geometry of this entity.
Definition: identitygridentity.hh:317
IdentityGridEntity(IdentityGridEntity &&original)
Definition: identitygridentity.hh:108
bool equals(const IdentityGridEntity &other) const
Definition: identitygridentity.hh:287
IdentityGridLevelIntersectionIterator< GridImp > ilevelbegin() const
First level intersection.
Definition: identitygridentity.hh:350
PartitionType partitionType() const
The partition type for parallel computing.
Definition: identitygridentity.hh:159
Iterator over all entities of a given codimension and level of a grid.
Definition: identitygridentity.hh:21
HostGridEntity hostEntity_
Definition: identitygridentity.hh:185
IdentityGridEntity & operator=(const IdentityGridEntity &original)
Definition: identitygridentity.hh:266
provides access to host grid objects from GeometryGrid
Definition: identitygrid.hh:36
EntitySeed seed() const
Create EntitySeed.
Definition: identitygridentity.hh:146
bool mightBeCoarsened() const
Definition: identitygridentity.hh:439
IdentityGridEntity(const GridImp *identityGrid, HostGridEntity &&hostEntity)
Definition: identitygridentity.hh:97
unsigned int subEntities(unsigned int cc) const
Return the number of subEntities of codimension codim.
Definition: identitygridentity.hh:173
IdentityGridEntity(const IdentityGridEntity &original)
Definition: identitygridentity.hh:103
GridImp::HostGridType::Traits::template Codim< CodimInHostGrid >::Entity HostGridEntity
Definition: identitygridentity.hh:220
PartitionType
Attributes used in the generic overlap model.
Definition: gridenums.hh:28
Definition: identitygridentity.hh:24
GridImp::template Codim< codim >::Geometry Geometry
Definition: identitygridentity.hh:83
The implementation of entities in a IdentityGridA Grid is a container of grid entities. An entity is parametrized by the codimension. An entity of codimension c in dimension d is a d-c dimensional object.
Definition: identitygridentity.hh:18
GeometryType type() const
Return the name of the reference element. The type can be used to access the Dune::ReferenceElement.
Definition: common/entity.hh:603
IdentityGridEntity & operator=(IdentityGridEntity &&original)
Definition: identitygridentity.hh:125
unsigned int subEntities(unsigned int codim) const
Return the number of subEntities of codimension codim.
Definition: identitygridentity.hh:334
IdentityGridLeafIntersectionIterator< GridImp > ileafbegin() const
First leaf intersection.
Definition: identitygridentity.hh:366
IdentityGridLevelIntersectionIterator< GridImp > LevelIntersectionIterator
The Iterator over intersections on this level.
Definition: identitygridentity.hh:227
IdentityGridEntity(const GridImp *identityGrid, const HostGridEntity &hostEntity)
Definition: identitygridentity.hh:92
IdentityGridHierarchicIterator< GridImp > hend(int maxLevel) const
Returns iterator to one past the last son.
Definition: identitygridentity.hh:420
GridImp::template Codim< codim >::EntitySeed EntitySeed
The type of the EntitySeed interface class.
Definition: identitygridentity.hh:86
IdentityGridLeafIntersectionIterator< GridImp > ileafend() const
Reference to one past the last leaf intersection.
Definition: identitygridentity.hh:374
IdentityGridEntity(const IdentityGridEntity &original)
Definition: identitygridentity.hh:255
Geometry geometry() const
geometry of this entity
Definition: identitygridentity.hh:179
Iterator over the descendants of an entity.Mesh entities of codimension 0 ("elements") allow to visit...
Definition: identitygridentity.hh:30
IdentityGridEntity(const GridImp *identityGrid, const HostGridEntity &hostEntity)
Definition: identitygridentity.hh:244
EntitySeed seed() const
Create EntitySeed.
Definition: identitygridentity.hh:298
GridImp::template Codim< 0 >::LocalGeometry LocalGeometry
Definition: identitygridentity.hh:224
IdentityGridEntity(const GridImp *identityGrid, HostGridEntity &&hostEntity)
Definition: identitygridentity.hh:249
bool equals(const IdentityGridEntity &other) const
Definition: identitygridentity.hh:135
const GridImp * identityGrid_
Definition: identitygridentity.hh:451
int count() const
Definition: identitygridentity.hh:167
IdentityGridEntity & operator=(const IdentityGridEntity &original)
Definition: identitygridentity.hh:114
bool hasFather() const
returns true if father entity exists
Definition: identitygridentity.hh:141
bool hasFather() const
returns true if father entity exists
Definition: identitygridentity.hh:293
Definition: identitygridindexsets.hh:95
Default Implementations for EntityImp.
Definition: common/entity.hh:568
int level() const
level of this element
Definition: identitygridentity.hh:152
Iterator over all element neighborsMesh entities of codimension 0 ("elements") allow to visit all nei...
Definition: identitygridentity.hh:27
int count() const
Return the number of subEntities of codimension cc.
Definition: identitygridentity.hh:326
Include standard header files.
Definition: agrid.hh:59
HostGridEntity hostEntity_
Definition: identitygridentity.hh:450
Definition: identitygridindexsets.hh:246
IdentityGridHierarchicIterator< GridImp > HierarchicIterator
Iterator over descendants of the entity.
Definition: identitygridentity.hh:233
IdentityGridEntity & operator=(IdentityGridEntity &&original)
Definition: identitygridentity.hh:277
GridImp::template Codim< cc >::Entity subEntity(int i) const
Provide access to sub entity i of given codimension. Entities are numbered 0 ... count<cc>()-1.
Definition: identitygridentity.hh:344
Definition: identitygridindexsets.hh:18
IdentityGridEntity(IdentityGridEntity &&original)
Definition: identitygridentity.hh:260
IdentityGridLevelIntersectionIterator< GridImp > ilevelend() const
Reference to one past the last neighbor.
Definition: identitygridentity.hh:358
bool wasRefined() const
Definition: identitygridentity.hh:427
bool isLeaf() const
returns true if Entity has NO children
Definition: identitygridentity.hh:382
PartitionType partitionType() const
The partition type for parallel computing.
Definition: identitygridentity.hh:311
Definition: identitygridindexsets.hh:194
int level() const
Level of this element.
Definition: identitygridentity.hh:304
GridImp::template Codim< 0 >::EntitySeed EntitySeed
The type of the EntitySeed interface class.
Definition: identitygridentity.hh:236
LocalGeometry geometryInFather() const
Location of this element relative to the reference element element of the father. This is sufficient ...
Definition: identitygridentity.hh:403
IdentityGridEntity()
Definition: identitygridentity.hh:88
IdentityGridHierarchicIterator< GridImp > hbegin(int maxLevel) const
Inter-level access to son elements on higher levels<=maxlevel. This is provided for sparsely stored n...
Definition: identitygridentity.hh:413
Different resources needed by all grid implementations.
GridImp::template Codim< 0 >::Entity father() const
Definition: identitygridentity.hh:389
IdentityGridEntity()
Definition: identitygridentity.hh:240