3#ifndef DUNE_IDENTITYGRIDENTITY_HH
4#define DUNE_IDENTITYGRIDENTITY_HH
17 template<
int codim,
int dim,
class Gr
idImp>
18 class IdentityGridEntity;
20 template<
int codim,
class Gr
idImp,
typename HostEntityPo
inter>
21 class IdentityGridEntityPointer;
23 template<
int codim, PartitionIteratorType pitype,
class Gr
idImp>
24 class IdentityGridLevelIterator;
26 template<
class Gr
idImp>
27 class IdentityGridLevelIntersectionIterator;
29 template<
class Gr
idImp>
30 class IdentityGridLeafIntersectionIterator;
32 template<
class Gr
idImp>
33 class IdentityGridHierarchicIterator;
37 template<
class Gr
id >
38 struct HostGridAccess;
53 template<
int codim,
int dim,
class Gr
idImp>
58 template <
class Gr
idImp_>
61 template <
class Gr
idImp_>
64 template <
class Gr
idImp_>
67 template <
class Gr
idImp_>
70 template<
int,
typename,
typename>
78 typedef typename GridImp::ctype ctype;
81 enum {CodimInHostGrid = GridImp::HostGridType::dimension - GridImp::dimension + codim};
84 typedef typename GridImp::HostGridType::Traits::template Codim<CodimInHostGrid>::Entity HostGridEntity;
89 typedef typename GridImp::template Codim<codim>::Geometry
Geometry;
92 typedef typename GridImp::template Codim<codim>::EntitySeed
EntitySeed;
95 : identityGrid_(nullptr)
100 , identityGrid_(identityGrid)
105 , identityGrid_(identityGrid)
111 , identityGrid_(original.identityGrid_)
116 , identityGrid_(original.identityGrid_)
122 if (
this != &original)
124 identityGrid_ = original.identityGrid_;
133 if (
this != &original)
135 identityGrid_ = original.identityGrid_;
173 template<
int cc>
int count ()
const {
189 const GridImp* identityGrid_;
208 template<
int dim,
class Gr
idImp>
214 template<int,typename, typename>
220 enum {CodimInHostGrid = GridImp::HostGridType::dimension - GridImp::dimension};
223 typedef typename GridImp::HostGridType::Traits::template Codim<CodimInHostGrid>::Entity
HostGridEntity;
225 typedef typename GridImp::template Codim<0>::Geometry
Geometry;
239 typedef typename GridImp::template Codim<0>::EntitySeed
EntitySeed;
244 : identityGrid_(nullptr)
249 , identityGrid_(identityGrid)
254 , identityGrid_(identityGrid)
260 , identityGrid_(original.identityGrid_)
265 , identityGrid_(original.identityGrid_)
271 if (
this != &original)
273 identityGrid_ = original.identityGrid_;
282 if (
this != &original)
284 identityGrid_ = original.identityGrid_;
347 typename GridImp::template Codim<cc>::Entity
subEntity (
int i)
const {
372 identityGrid_->getHostGrid().leafGridView().ibegin(
hostEntity_));
380 identityGrid_->getHostGrid().leafGridView().iend(
hostEntity_));
392 typename GridImp::template Codim<0>::Entity
father ()
const {
432 if (identityGrid_->adaptationStep!=GridImp::adaptDone)
436 int index = identityGrid_->levelIndexSet(
level).index(*
this);
437 return identityGrid_->refinementMark_[
level][index];
458 typedef typename GridImp::ctype ctype;
PartitionType
Attributes used in the generic overlap model.
Definition gridenums.hh:28
Include standard header files.
Definition agrid.hh:60
Default Implementations for EntityImp.
Definition common/entity.hh:544
GeometryType type() const
Return the name of the reference element. The type can be used to access the Dune::ReferenceElement.
Definition common/entity.hh:561
provides access to host grid objects from GeometryGrid
Definition identitygrid.hh:37
The implementation of entities in a IdentityGrid.
Definition identitygridentity.hh:56
IdentityGridEntity()
Definition identitygridentity.hh:94
IdentityGridEntity & operator=(IdentityGridEntity &&original)
Definition identitygridentity.hh:131
int count() const
Definition identitygridentity.hh:173
IdentityGridEntity(IdentityGridEntity &&original)
Definition identitygridentity.hh:114
bool equals(const IdentityGridEntity &other) const
Definition identitygridentity.hh:141
HostGridEntity hostEntity_
Definition identitygridentity.hh:185
GridImp::template Codim< codim >::EntitySeed EntitySeed
The type of the EntitySeed interface class.
Definition identitygridentity.hh:92
EntitySeed seed() const
Create EntitySeed.
Definition identitygridentity.hh:152
IdentityGridEntity(const GridImp *identityGrid, const HostGridEntity &hostEntity)
Definition identitygridentity.hh:98
Geometry geometry() const
geometry of this entity
Definition identitygridentity.hh:179
PartitionType partitionType() const
The partition type for parallel computing.
Definition identitygridentity.hh:165
IdentityGridEntity(const IdentityGridEntity &original)
Definition identitygridentity.hh:109
IdentityGridEntity(const GridImp *identityGrid, HostGridEntity &&hostEntity)
Definition identitygridentity.hh:103
bool hasFather() const
returns true if father entity exists
Definition identitygridentity.hh:147
GridImp::template Codim< codim >::Geometry Geometry
Definition identitygridentity.hh:89
IdentityGridEntity & operator=(const IdentityGridEntity &original)
Definition identitygridentity.hh:120
int level() const
level of this element
Definition identitygridentity.hh:158
Definition identitygridentitypointer.hh:19
Definition identitygridintersectioniterator.hh:82
Iterator over all element neighborsMesh entities of codimension 0 ("elements") allow to visit all nei...
Definition identitygridintersectioniterator.hh:27
Iterator over the descendants of an entity.Mesh entities of codimension 0 ("elements") allow to visit...
Definition identitygridhierarchiciterator.hh:26
unsigned int subEntities(unsigned int codim) const
Return the number of subEntities of codimension codim.
Definition identitygridentity.hh:337
IdentityGridEntity(const GridImp *identityGrid, HostGridEntity &&hostEntity)
Definition identitygridentity.hh:252
bool isLeaf() const
returns true if Entity has NO children
Definition identitygridentity.hh:385
IdentityGridEntity()
Definition identitygridentity.hh:243
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:416
GridImp::template Codim< 0 >::LocalGeometry LocalGeometry
Definition identitygridentity.hh:227
GridImp::template Codim< 0 >::EntitySeed EntitySeed
The type of the EntitySeed interface class.
Definition identitygridentity.hh:239
EntitySeed seed() const
Create EntitySeed.
Definition identitygridentity.hh:301
IdentityGridLevelIntersectionIterator< GridImp > ilevelbegin() const
First level intersection.
Definition identitygridentity.hh:353
IdentityGridEntity(const GridImp *identityGrid, const HostGridEntity &hostEntity)
Definition identitygridentity.hh:247
int level() const
Level of this element.
Definition identitygridentity.hh:307
IdentityGridLeafIntersectionIterator< GridImp > ileafbegin() const
First leaf intersection.
Definition identitygridentity.hh:369
HostGridEntity hostEntity_
Definition identitygridentity.hh:453
IdentityGridEntity & operator=(const IdentityGridEntity &original)
Definition identitygridentity.hh:269
Geometry geometry() const
Geometry of this entity.
Definition identitygridentity.hh:320
IdentityGridLevelIntersectionIterator< GridImp > ilevelend() const
Reference to one past the last neighbor.
Definition identitygridentity.hh:361
IdentityGridEntity(const IdentityGridEntity &original)
Definition identitygridentity.hh:258
IdentityGridHierarchicIterator< GridImp > hend(int maxLevel) const
Returns iterator to one past the last son.
Definition identitygridentity.hh:423
IdentityGridLeafIntersectionIterator< GridImp > ileafend() const
Reference to one past the last leaf intersection.
Definition identitygridentity.hh:377
IdentityGridHierarchicIterator< GridImp > HierarchicIterator
Iterator over descendants of the entity.
Definition identitygridentity.hh:236
IdentityGridLevelIntersectionIterator< GridImp > LevelIntersectionIterator
The Iterator over intersections on this level.
Definition identitygridentity.hh:230
bool wasRefined() const
Definition identitygridentity.hh:430
IdentityGridEntity & operator=(IdentityGridEntity &&original)
Definition identitygridentity.hh:280
bool hasFather() const
returns true if father entity exists
Definition identitygridentity.hh:296
int count() const
Return the number of subEntities of codimension cc.
Definition identitygridentity.hh:329
GridImp::HostGridType::Traits::template Codim< CodimInHostGrid >::Entity HostGridEntity
Definition identitygridentity.hh:223
GridImp::template Codim< 0 >::Entity father() const
Definition identitygridentity.hh:392
bool mightBeCoarsened() const
Definition identitygridentity.hh:442
LocalGeometry geometryInFather() const
Location of this element relative to the reference element element of the father. This is sufficient ...
Definition identitygridentity.hh:406
const GridImp * identityGrid_
Definition identitygridentity.hh:454
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:347
IdentityGridEntity(IdentityGridEntity &&original)
Definition identitygridentity.hh:263
GridImp::template Codim< 0 >::Geometry Geometry
Definition identitygridentity.hh:225
IdentityGridLeafIntersectionIterator< GridImp > LeafIntersectionIterator
The Iterator over intersections on the leaf level.
Definition identitygridentity.hh:233
bool equals(const IdentityGridEntity &other) const
Definition identitygridentity.hh:290
PartitionType partitionType() const
The partition type for parallel computing.
Definition identitygridentity.hh:314
Definition identitygridindexsets.hh:24
Definition identitygridindexsets.hh:101
Definition identitygridindexsets.hh:197
Definition identitygridindexsets.hh:249
Different resources needed by all grid implementations.