dune-alugrid 2.8.0
Loading...
Searching...
No Matches
entity.hh
Go to the documentation of this file.
1#ifndef DUNE_ALU3DGRIDENTITY_HH
2#define DUNE_ALU3DGRIDENTITY_HH
3
4// System includes
5#include <type_traits>
6
7// Dune includes
8#include <dune/grid/common/entity.hh>
11
12// Local includes
13#include "alu3dinclude.hh"
14#include "indexsets.hh"
15#include "iterator.hh"
16#include "entityseed.hh"
17
18namespace Dune
19{
20
21 // Forward declarations
22 template<int cd, int dim, class GridImp>
23 class ALU3dGridEntity;
24 template<int cd, PartitionIteratorType pitype, class GridImp >
25 class ALU3dGridLevelIterator;
26 template<int cd, class GridImp >
27 class ALU3dGridEntityPointer;
28 template<int mydim, int coorddim, class GridImp>
29 class ALU3dGridGeometry;
30 template<class GridImp>
31 class ALU3dGridHierarchicIterator;
32 template<class GridImp>
33 class ALU3dGridIntersectionIterator;
34 template<int codim, PartitionIteratorType, class GridImp>
35 class ALU3dGridLeafIterator;
36 template<int dim, int dimworld, ALU3dGridElementType, class >
37 class ALU3dGrid;
38
45template<int cd, int dim, class GridImp>
47public EntityDefaultImplementation <cd,dim,GridImp,ALU3dGridEntity>
48{
49 // default just returns level
50 template <class GridType, int dm, int cdim>
51 struct GetLevel
52 {
53 template <class ItemType>
54 static int getLevel(const GridType & grid, const ItemType & item )
55 {
56 return item.level();
57 }
58 };
59
60 // for leaf vertices the level is somewhat difficult to obtain, because
61 // this the maximum of levels of elements that have this vertex as sub
62 // entity
63 template <class GridType>
64 struct GetLevel<GridType,dim,dim>
65 {
66 template <class ItemType>
67 static int getLevel(const GridType & grid, const ItemType & item)
68 {
69 return (item.isLeafEntity()) ? grid.getLevelOfLeafVertex(item) : item.level();
70 }
71 };
72
73 enum { dimworld = GridImp::dimensionworld };
74
75 typedef typename GridImp::MPICommunicatorType Comm;
76
77 friend class ALU3dGrid< GridImp::dimension, GridImp::dimensionworld, GridImp::elementType, Comm >;
78 friend class ALU3dGridEntity < 0, dim, GridImp >;
79 friend class ALU3dGridLevelIterator < cd, All_Partition, GridImp >;
80
81 friend class ALU3dGridHierarchicIndexSet< GridImp::dimension, GridImp::dimensionworld, GridImp::elementType, Comm >;
82
83 template< class > friend class ALU3dGridFactory;
84
85 typedef typename GridImp::Traits::template Codim< cd >::GeometryImpl GeometryImpl;
86
87public:
88 typedef ALU3dImplTraits< GridImp::elementType, Comm > ImplTraits;
89 typedef typename ImplTraits::template Codim<dim, cd>::InterfaceType HItemType;
90 typedef typename ImplTraits::template Codim<dim, cd>::ImplementationType ItemType;
91 typedef typename ImplTraits::VertexType VertexType;
92 typedef typename ImplTraits::HBndSegType HBndSegType;
93
94 typedef typename GridImp::template Codim<cd>::Entity Entity;
95 typedef typename GridImp::template Codim<cd>::Geometry Geometry;
96
98 typedef typename GridImp::template Codim<cd>::EntitySeed EntitySeed;
99
102
104 ALU3dGridEntity( const EntitySeed& seed );
105
107 Geometry geometry () const;
108
110 GeometryType type () const { return geo_.type(); }
111
112 // set element as normal entity
113 void setElement(const HItemType & item);
114 void setElement(const HItemType & item, const GridImp& grid );
115 void setElement(const HItemType & item, const int level, int twist=0);
116
117 /* set entity from seed */
118 void setElement(const EntitySeed& seed);
119
121 void setGhost(const HBndSegType &ghost);
122
125 {
126 seed_.clear();
127 geo_.invalidate();
128 }
129
131 bool equals ( const ALU3dGridEntity<cd,dim,GridImp> & org ) const
132 {
133 return seed_ == org.seed_;
134 }
135
137 void setEntity ( const ALU3dGridEntity<cd,dim,GridImp> & org );
138
139 int subIndex ( int i, unsigned int codim ) const
140 {
141 DUNE_THROW( NotImplemented, "Method subIndex for higher codimension not implemented, yet." );
142 }
143
144 // return reference to internal item
145 const ItemType& getItem () const { return *(static_cast<ItemType *> (seed_.item())); }
146
148 EntitySeed seed() const { return seed_; }
149
151 int level () const { return seed_.level(); }
152
154 PartitionType partitionType() const { return this->convertBndId( getItem() ); }
155
156protected:
158 int getIndex () const { return getItem().getIndex(); }
159
161 PartitionType convertBndId(const HItemType & item) const ;
162
164 mutable GeometryImpl geo_;
165
168};
169
183//***********************
184//
185// --ALU3dGridEntity
186// --0Entity
187//
188//***********************
189template<int dim, class GridImp>
190class ALU3dGridEntity<0,dim,GridImp>
191: public EntityDefaultImplementation<0,dim,GridImp,ALU3dGridEntity>
192{
193 static const int dimworld = std::remove_const< GridImp >::type::dimensionworld;
194 static const ALU3dGridElementType elementType = std::remove_const< GridImp >::type::elementType;
195
196 typedef typename GridImp::MPICommunicatorType Comm;
197
199 typedef typename ImplTraits::template Codim<dim, 0>::InterfaceType HElementType;
200
201 typedef typename ImplTraits::GEOElementType GEOElementType;
202 typedef typename ImplTraits::BNDFaceType BNDFaceType;
203 typedef typename ImplTraits::IMPLElementType IMPLElementType;
204 typedef typename ImplTraits::HBndSegType HBndSegType;
205
206 enum { refine_element_t = ImplTraits::RefinementRules::refine_element_t };
207 enum { bisect_element_t = ImplTraits::RefinementRules::bisect_element_t };
208 enum { coarse_element_t = ImplTraits::RefinementRules::coarse_element_t };
209 enum { nosplit_element_t = ImplTraits::RefinementRules::nosplit_element_t };
210
211 typedef typename ImplTraits::MarkRuleType MarkRuleType;
212
213 friend class ALU3dGrid< GridImp::dimension, GridImp::dimensionworld, elementType, Comm >;
214 friend class ALU3dGridIntersectionIterator < GridImp >;
215 friend class ALU3dGridIntersectionIterator < const GridImp >;
216 friend class ALU3dGridHierarchicIterator < const GridImp >;
217 friend class ALU3dGridHierarchicIterator < GridImp >;
218 friend class ALU3dGridLevelIterator <0,All_Partition,GridImp>;
219 friend class ALU3dGridLevelIterator <1,All_Partition,GridImp>;
220 friend class ALU3dGridLevelIterator <2,All_Partition,GridImp>;
221 friend class ALU3dGridLevelIterator <3,All_Partition,GridImp>;
222 friend class ALU3dGridLeafIterator <0, All_Partition,GridImp>;
223 friend class ALU3dGridLeafIterator <1, All_Partition,GridImp>;
224 friend class ALU3dGridLeafIterator <2, All_Partition,GridImp>;
225 friend class ALU3dGridLeafIterator <3, All_Partition,GridImp>;
226
227 friend class ALU3dGridHierarchicIndexSet< GridImp::dimension, GridImp::dimensionworld, elementType, Comm >;
228
229 template< class > friend class ALU3dGridFactory;
230
231 // type of reference element
232 typedef typename GridImp :: ReferenceElementType ReferenceElementType;
233
234 typedef typename GridImp::Traits::template Codim< 0 >::GeometryImpl GeometryImpl;
235 typedef typename GridImp::Traits::template Codim< 0 >::LocalGeometryImpl LocalGeometryImpl;
236
237public:
238 typedef typename GridImp::template Codim< 0 >::Geometry Geometry;
239 typedef typename GridImp::template Codim< 0 >::LocalGeometry LocalGeometry;
241
245
246 typedef typename GridImp::template Codim<0>::Entity Entity;
247
248 template <int cd>
249 struct Codim
250 {
251 typedef typename GridImp::Traits::template Codim< cd >::Twists::Twist Twist;
252 typedef typename GridImp::template Codim< cd >::Entity Entity;
253 };
254
256 typedef typename GridImp::template Codim<0>::EntitySeed EntitySeed;
257
260
263
265 ALU3dGridEntity( const HElementType& element );
266
268 ALU3dGridEntity( const HBndSegType& ghost );
269
271 int level () const ;
272
274 Geometry geometry () const;
275
277 GeometryType type () const;
278
280 PartitionType partitionType() const;
281
285 template<int cc> int count () const ;
286
290 unsigned int subEntities (unsigned int codim) const;
291
294 template< int codim >
295 typename Codim< codim >::Entity subEntity ( int i ) const;
296
297 template< int codim >
298 typename Codim< codim >::Twist twist ( int i ) const;
299
301 bool isLeaf () const;
302
305 Entity father () const;
306
308 bool hasFather () const
309 {
310 return (this->level()>0);
311 }
312
322 LocalGeometry geometryInFather () const;
323
328 ALU3dGridHierarchicIterator<GridImp> hbegin (int maxlevel) const;
329
331 ALU3dGridHierarchicIterator<GridImp> hend (int maxlevel) const;
332
333 //***************************************************************
334 // Interface for Adaptation
335 //***************************************************************
336
338 bool isNew () const;
339
341 bool mightVanish () const;
342
344 bool hasBoundaryIntersections () const;
345
346 // private method
350 bool mark( const int refCount, const bool conformingRefinement ) const;
351
353 int getMark() const;
354
358 void setElement(HElementType &element);
359
360 /* set entity from seed */
361 void setElement(const EntitySeed& seed);
362
364 void setGhost(HBndSegType & ghost);
365
367 void reset ( int l );
368
370 void removeElement();
371
373 bool equals ( const ALU3dGridEntity<0,dim,GridImp> & org ) const;
374
375 void setEntity ( const ALU3dGridEntity<0,dim,GridImp> & org );
376
380 template<int cc> int getSubIndex (int i) const;
381
385 int subIndex(int i, unsigned int codim) const;
386
387 // return reference to internal item
388 const IMPLElementType& getItem () const { return *item_; }
389
390 // return reference to internal item
391 const BNDFaceType& getGhost () const
392 {
393 alugrid_assert ( isGhost() );
394 return *ghost_;
395 }
396
398 bool isGhost () const{ return ImplTraits::isGhost( ghost_ ); }
399
402 {
403 if( isGhost() )
404 return EntitySeed( getGhost () );
405 else
406 return EntitySeed( getItem() );
407 }
408
410 int macroId() const
411 {
412 return (isGhost()) ? getGhost().ldbVertexIndex() : getItem().ldbVertexIndex();
413 }
414
416 int weight() const
417 {
418 return (isGhost()) ? 0 : getItem().weight();
419 }
420
422 int master() const
423 {
424 return (isGhost()) ? getGhost().master() : getItem().master();
425 }
426
427protected:
429 int getIndex () const;
430
432 mutable GeometryImpl geo_;
433
434 // the current element of grid
435 mutable IMPLElementType* item_;
436
438 mutable BNDFaceType* ghost_;
439
440}; // end of ALU3dGridEntity codim = 0
441
442
443
444//**********************************************************************
445//
446// --ALU3dGridEntityPointer
447// --EntityPointer
448// --EnPointer
452template< int codim, class GridImp >
454{
456 enum { dim = GridImp::dimension };
457 enum { dimworld = GridImp::dimensionworld };
458
459 typedef typename GridImp::MPICommunicatorType Comm;
460
461 friend class ALU3dGridEntity<codim,dim,GridImp>;
462 friend class ALU3dGridEntity< 0,dim,GridImp>;
463 friend class ALU3dGrid < GridImp::dimension, GridImp::dimensionworld, GridImp::elementType, Comm >;
464
465 typedef ALU3dImplTraits< GridImp::elementType, Comm > ImplTraits;
466 typedef typename ImplTraits::template Codim<dim, codim>::InterfaceType HElementType;
467
468 typedef typename ImplTraits::HBndSegType HBndSegType;
469 typedef typename ImplTraits::BNDFaceType BNDFaceType;
470public:
471 enum { codimension = codim };
472
474 typedef typename GridImp::template Codim<codimension>::Entity Entity;
477
480
483
486
488 ALU3dGridEntityPointerBase(const HElementType & item);
489
491 ALU3dGridEntityPointerBase(const HBndSegType & ghostFace );
492
495
498
500 bool equals (const ALU3dGridEntityPointerType& i) const;
501
503 ThisType & operator = (const ThisType & org);
504
507 {
508 // don't dereference empty entity pointer
510 alugrid_assert ( seed_.item() == & entityImp().getItem() );
511 return entity_;
512 }
513
515 int level () const { return seed_.level(); }
516
519
520protected:
521 // clones object
522 void clone (const ALU3dGridEntityPointerType & org);
523
525 void done ();
526
527 // update underlying item pointer and set ghost entity
528 void updateGhostPointer( HBndSegType & ghostFace );
529
530 // update underlying item pointer and set entity
531 void updateEntityPointer( HElementType * item , int level = -1 );
532
533 // key to gererate entity
535
536 // entity that this EntityPointer points to
538
539 // return reference to internal entity implementation
540 EntityImp & entityImp () const {
541 return entity_.impl();
542 }
543};
544
548template<class GridImp>
549class ALU3dGridEntityPointer<0,GridImp> :
550public ALU3dGridEntityPointerBase<0,GridImp>
551{
552protected:
554
555 enum { cd = 0 };
556 typedef ALU3dGridEntityPointer <cd,GridImp> ThisType;
557 enum { dim = GridImp::dimension };
558 enum { dimworld = GridImp::dimensionworld };
559
560 typedef typename GridImp::MPICommunicatorType Comm;
561
562 friend class ALU3dGridEntity<cd,dim,GridImp>;
563 friend class ALU3dGridEntity< 0,dim,GridImp>;
564 friend class ALU3dGrid < GridImp::dimension, GridImp::dimensionworld, GridImp::elementType, Comm >;
565
566 typedef ALU3dImplTraits< GridImp::elementType, Comm > ImplTraits;
567 typedef typename ImplTraits::template Codim<dim, cd>::InterfaceType HElementType;
568
569 typedef typename ImplTraits::HBndSegType HBndSegType;
570 typedef typename ImplTraits::BNDFaceType BNDFaceType;
571
572 typedef ALU3dGridEntity< 0,dim,GridImp> ALU3dGridEntityType ;
573
574 using BaseType :: seed_;
575 using BaseType :: entity_;
576 using BaseType :: entityImp;
577public:
580
582 typedef typename GridImp::template Codim<cd>::Entity Entity;
583
586
588 ALU3dGridEntityPointer(const HElementType & item)
589 : ALU3dGridEntityPointerBase<cd,GridImp> ( item )
590 {}
591
594 : ALU3dGridEntityPointerBase<cd,GridImp> ( ghostFace )
595 {}
596
599 : ALU3dGridEntityPointerBase<cd,GridImp> ( seed )
600 {
601 }
602
605 : ALU3dGridEntityPointerBase<cd,GridImp> ( entity.seed() )
606 {
607 }
608
612 : ALU3dGridEntityPointerBase<cd,GridImp> ()
613 {}
614};
615
616
617template<int cd, class GridImp>
619public ALU3dGridEntityPointerBase<cd,GridImp>
620{
621protected:
623 typedef ALU3dGridEntityPointer <cd,GridImp> ThisType;
624 enum { dim = GridImp::dimension };
625 enum { dimworld = GridImp::dimensionworld };
626
627 typedef typename GridImp::MPICommunicatorType Comm;
628
629 friend class ALU3dGridEntity<cd,dim,GridImp>;
630 friend class ALU3dGridEntity< 0,dim,GridImp>;
631 friend class ALU3dGrid < GridImp::dimension, GridImp::dimensionworld, GridImp::elementType, Comm >;
632
633 typedef ALU3dImplTraits< GridImp::elementType, Comm > ImplTraits;
634 typedef typename ImplTraits::template Codim<dim, cd>::InterfaceType HElementType;
635
636 typedef typename ImplTraits::HBndSegType HBndSegType;
637 typedef typename ImplTraits::BNDFaceType BNDFaceType;
638 typedef ALU3dGridEntity<cd,dim,GridImp> ALU3dGridEntityType;
639
640 using BaseType :: seed_;
641 using BaseType :: entity_;
642 using BaseType :: entityImp;
643
644public:
647
649 typedef typename GridImp::template Codim<cd>::Entity Entity;
650
653
654protected:
655 static const int defaultValue = -665; //ALU3dGridEntityPointerType :: defaultValue;
656
657public:
659 ALU3dGridEntityPointer(const ALU3dGridEntityType& entity)
660 : ALU3dGridEntityPointerBase<cd,GridImp> ( entity.seed() )
661 {}
662
665 : ALU3dGridEntityPointerBase<cd,GridImp> ( seed )
666 {}
667
671 : ALU3dGridEntityPointerBase<cd,GridImp> ()
672 {}
673
674protected:
675 void updateEntityPointer( HElementType * item , int level );
676};
677
678} // end namespace Dune
679
680#include "entity_inline.hh"
681
682#if COMPILE_ALUGRID_INLINE
683 #include "entity_imp.cc"
684#endif
685#endif
Provides proxy classes for IntersectionsIterators.
#define alugrid_assert(EX)
Definition: alugrid_assert.hh:20
Definition: alu3dinclude.hh:63
ALU3dGridElementType
Definition: topology.hh:12
Definition: alu3dinclude.hh:242
[ provides Dune::Grid ]
Definition: 3d/grid.hh:429
Definition: entity.hh:48
EntitySeed seed_
the information necessary to make sense of this entity
Definition: entity.hh:167
GridImp::template Codim< cd >::Geometry Geometry
Definition: entity.hh:95
GeometryType type() const
type of geometry of this entity
Definition: entity.hh:110
void removeElement()
reset item pointer to NULL
Definition: entity.hh:124
int level() const
level of this element
Definition: entity.hh:151
PartitionType partitionType() const
return partition type of this entity ( see grid.hh )
Definition: entity.hh:154
ImplTraits::template Codim< dim, cd >::InterfaceType HItemType
Definition: entity.hh:89
ALU3dGridEntity()
Constructor.
Definition: entity_imp.cc:221
PartitionType convertBndId(const HItemType &item) const
convert ALUGrid partition type to dune partition type
Definition: entity_imp.cc:283
Geometry geometry() const
geometry of this entity
Definition: entity_imp.cc:302
GridImp::template Codim< cd >::EntitySeed EntitySeed
typedef of my type
Definition: entity.hh:98
GridImp::template Codim< cd >::Entity Entity
Definition: entity.hh:94
void setEntity(const ALU3dGridEntity< cd, dim, GridImp > &org)
set item from other entity, mainly for copy constructor of entity pointer
Definition: entity_imp.cc:234
int subIndex(int i, unsigned int codim) const
Definition: entity.hh:139
ImplTraits::template Codim< dim, cd >::ImplementationType ItemType
Definition: entity.hh:90
EntitySeed seed() const
return seed of entity
Definition: entity.hh:148
const ItemType & getItem() const
Definition: entity.hh:145
void setElement(const HItemType &item)
Definition: entity_imp.cc:241
ImplTraits::HBndSegType HBndSegType
Definition: entity.hh:92
GeometryImpl geo_
the current geometry
Definition: entity.hh:164
ImplTraits::VertexType VertexType
Definition: entity.hh:91
ALU3dImplTraits< GridImp::elementType, Comm > ImplTraits
Definition: entity.hh:88
void setGhost(const HBndSegType &ghost)
setGhost is not valid for this codim
Definition: entity_imp.cc:273
int getIndex() const
index is unique within the grid hierarchy and per codim
Definition: entity.hh:158
bool equals(const ALU3dGridEntity< cd, dim, GridImp > &org) const
compare 2 elements by comparing the item pointers
Definition: entity.hh:131
Definition: iterator.hh:556
Definition: entity.hh:620
GridImp::MPICommunicatorType Comm
Definition: entity.hh:627
GridImp::template Codim< cd >::Entity Entity
type of Entity
Definition: entity.hh:649
static const int defaultValue
Definition: entity.hh:655
@ dimworld
Definition: entity.hh:625
ALU3dGridEntityPointerBase< cd, GridImp > BaseType
Definition: entity.hh:622
ALU3dGridEntityPointer(const ALU3dGridEntitySeedType &seed)
Constructor for EntityPointer that points to given entity.
Definition: entity.hh:664
ALU3dGridEntityPointer< cd, GridImp > ThisType
Definition: entity.hh:623
ALU3dGridEntityPointer()
Definition: entity.hh:670
@ dim
Definition: entity.hh:624
void updateEntityPointer(HElementType *item, int level)
Definition: entity_inline.hh:329
ImplTraits::HBndSegType HBndSegType
Definition: entity.hh:636
ImplTraits::BNDFaceType BNDFaceType
Definition: entity.hh:637
ImplTraits::template Codim< dim, cd >::InterfaceType HElementType
Definition: entity.hh:634
Definition: iterator.hh:722
Definition: iterator.hh:56
Leaf iterator.
Definition: iterator.hh:648
const IMPLElementType & getItem() const
Definition: entity.hh:388
GridImp::template Codim< 0 >::Entity Entity
Definition: entity.hh:246
const BNDFaceType & getGhost() const
Definition: entity.hh:391
GridImp::template Codim< 0 >::LocalGeometry LocalGeometry
Definition: entity.hh:239
BNDFaceType * ghost_
not zero if entity is ghost entity
Definition: entity.hh:438
GridImp::template Codim< 0 >::Geometry Geometry
Definition: entity.hh:238
bool hasFather() const
returns true if father entity exists
Definition: entity.hh:308
GridImp::template Codim< 0 >::EntitySeed EntitySeed
typedef of my type
Definition: entity.hh:256
IMPLElementType * item_
Definition: entity.hh:435
Codim< codim >::Entity subEntity(int i) const
GeometryImpl geo_
the entity's geometry
Definition: entity.hh:432
EntitySeed seed() const
return key for this entity
Definition: entity.hh:401
Codim< codim >::Twist twist(int i) const
int weight() const
weight of entity (ie number of leaf elements underneath)
Definition: entity.hh:416
bool isGhost() const
returns true if entity is ghost
Definition: entity.hh:398
int master() const
return rank number of master process
Definition: entity.hh:422
int macroId() const
return macro id of this entity
Definition: entity.hh:410
GridImp::template Codim< cd >::Entity Entity
Definition: entity.hh:252
GridImp::Traits::template Codim< cd >::Twists::Twist Twist
Definition: entity.hh:251
Definition: entity.hh:454
void updateGhostPointer(HBndSegType &ghostFace)
Definition: entity_inline.hh:301
GridImp::template Codim< codimension >::Entity Entity
type of Entity
Definition: entity.hh:474
ThisType ALU3dGridEntityPointerType
typedef of my type
Definition: entity.hh:479
int level() const
ask for level of entities
Definition: entity.hh:515
ALU3dGridEntityPointerBase()
default empty constructor
Definition: entity_inline.hh:241
ALU3dGridEntitySeedType seed_
Definition: entity.hh:534
bool equals(const ALU3dGridEntityPointerType &i) const
equality
Definition: entity_inline.hh:293
EntityObject entity_
Definition: entity.hh:537
ALU3dGridEntitySeed< codimension, GridImp > ALU3dGridEntitySeedType
type of entity seed
Definition: entity.hh:485
ALU3dGridEntityPointer< codimension, GridImp > EntityPointerImp
make type of entity pointer implementation available in derived classes
Definition: entity.hh:482
Entity & dereference() const
dereferencing
Definition: entity.hh:506
ThisType & operator=(const ThisType &org)
assignment operator
Definition: entity_inline.hh:260
EntityImp & entityImp() const
Definition: entity.hh:540
void done()
has to be called when iterator is finished
Definition: entity_inline.hh:286
void clone(const ALU3dGridEntityPointerType &org)
Definition: entity_inline.hh:269
ALU3dGridEntity< codimension, dim, GridImp > EntityImp
Definition: entity.hh:476
void updateEntityPointer(HElementType *item, int level=-1)
Definition: entity_inline.hh:312
Entity EntityObject
Definition: entity.hh:475
ALU3dGridEntityPointer< cd, GridImp > ThisType
Definition: entity.hh:556
ALU3dGridEntityPointer(const HBndSegType &ghostFace)
Constructor for EntityPointer that points to an ghost.
Definition: entity.hh:593
ImplTraits::BNDFaceType BNDFaceType
Definition: entity.hh:570
ImplTraits::HBndSegType HBndSegType
Definition: entity.hh:569
GridImp::template Codim< cd >::Entity Entity
type of Entity
Definition: entity.hh:582
ALU3dGridEntityPointer(const ALU3dGridEntityType &entity)
Constructor for EntityPointer that points to an entity (interior or ghost)
Definition: entity.hh:604
ALU3dGridEntityPointer()
Definition: entity.hh:611
ImplTraits::template Codim< dim, cd >::InterfaceType HElementType
Definition: entity.hh:567
GridImp::MPICommunicatorType Comm
Definition: entity.hh:560
ALU3dGridEntityPointer(const ALU3dGridEntitySeedType &seed)
Constructor for EntityPointer that points to given entity.
Definition: entity.hh:598
ALU3dGridEntityPointerBase< 0, GridImp > BaseType
Definition: entity.hh:553
Definition: entityseed.hh:212
int level() const
return level
Definition: entityseed.hh:281
HElementType * item() const
get item from key
Definition: entityseed.hh:159
bool isValid() const
Definition: entityseed.hh:127
hierarchic index set of ALU3dGrid
Definition: indexsets.hh:39
Factory class for ALUGrids.
Definition: gridfactory.hh:30
Class that wraps IntersectionIteratorImp of a grid and gets it's internal object from a object stack ...
Definition: intersectioniteratorwrapper.hh:246
Class that wraps IntersectionIteratorImp of a grid and gets it's internal object from a object stack ...
Definition: intersectioniteratorwrapper.hh:346