dune-grid  3.0-git
geometrygrid/grid.hh
Go to the documentation of this file.
1 // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 // vi: set et ts=4 sw=2 sts=2:
3 #ifndef DUNE_GEOGRID_GRID_HH
4 #define DUNE_GEOGRID_GRID_HH
5 
6 #include <dune/common/deprecated.hh>
7 
9 
16 
17 namespace Dune
18 {
19 
20  // DefaultCoordFunction
21  // --------------------
22 
23  template< class HostGrid >
25  : public IdenticalCoordFunction< typename HostGrid::ctype, HostGrid::dimensionworld >
26  {};
27 
28 
29 
30  // GeometryGrid
31  // ------------
32 
73  template< class HostGrid, class CoordFunction = DefaultCoordFunction< HostGrid >, class Allocator = std::allocator< void > >
74  class GeometryGrid
77  < HostGrid::dimension, CoordFunction::dimRange, typename HostGrid::ctype,
78  GeoGrid::GridFamily< HostGrid, CoordFunction, Allocator > >,
79  public GeoGrid::ExportParams< HostGrid, CoordFunction >,
80  public GeoGrid::BackupRestoreFacilities< GeometryGrid< HostGrid, CoordFunction, Allocator > >
82  {
84 
86  < HostGrid::dimension, CoordFunction::dimRange, typename HostGrid::ctype,
88  Base;
89 
90  friend class GeoGrid::HierarchicIterator< const Grid >;
91 
92  template< int, class, bool > friend class GeoGrid::EntityBase;
93  template< int, int, class > friend class GeoGrid::Geometry;
94  template< class, class, class > friend class GeoGrid::GridView;
95  template< class, class > friend class GeoGrid::Intersection;
96  template< class, class > friend class GeoGrid::IntersectionIterator;
97  template< class, class > friend class GeoGrid::IdSet;
98  template< class, class > friend class GeoGrid::IndexSet;
99  template< class > friend struct HostGridAccess;
100 
101  template< class, class > friend class GeoGrid::CommDataHandle;
102 
103  public:
111  typedef typename GridFamily::Traits Traits;
113 
120  template< int codim >
121  struct Codim;
122 
128  typedef typename Traits::HierarchicIterator HierarchicIterator;
131  typedef typename Traits::LeafIntersectionIterator LeafIntersectionIterator;
133  typedef typename Traits::LevelIntersectionIterator LevelIntersectionIterator;
134 
141  typedef typename GridFamily::Traits::LeafGridView LeafGridView;
143  typedef typename GridFamily::Traits::LevelGridView LevelGridView;
144 
159  typedef typename Traits::LeafIndexSet LeafIndexSet;
160 
169  typedef typename Traits::LevelIndexSet LevelIndexSet;
170 
181  typedef typename Traits::GlobalIdSet GlobalIdSet;
182 
198  typedef typename Traits::LocalIdSet LocalIdSet;
199 
205  typedef typename Traits::ctype ctype;
207 
209  typedef typename Traits::CollectiveCommunication CollectiveCommunication;
210 
225  GeometryGrid ( HostGrid &hostGrid, CoordFunction &coordFunction, const Allocator &allocator = Allocator() )
226  : hostGrid_( &hostGrid ),
227  coordFunction_( &coordFunction ),
228  removeHostGrid_( false ),
229  levelIndexSets_( hostGrid_->maxLevel()+1, nullptr, allocator ),
230  storageAllocator_( allocator )
231  {}
232 
242  GeometryGrid ( HostGrid *hostGrid, CoordFunction *coordFunction, const Allocator &allocator = Allocator() )
243  : hostGrid_( hostGrid ),
244  coordFunction_( coordFunction ),
245  removeHostGrid_( true ),
246  levelIndexSets_( hostGrid_->maxLevel()+1, nullptr, allocator ),
247  storageAllocator_( allocator )
248  {}
249 
259  GeometryGrid ( HostGrid *hostGrid, const Allocator &allocator = Allocator() )
260  : hostGrid_( hostGrid ),
261  coordFunction_( new CoordFunction( this->hostGrid() ) ),
262  removeHostGrid_( true ),
263  levelIndexSets_( hostGrid_->maxLevel()+1, nullptr, allocator ),
264  storageAllocator_( allocator )
265  {}
266 
267 
271  {
272  for( unsigned int i = 0; i < levelIndexSets_.size(); ++i )
273  {
274  if( levelIndexSets_[ i ] )
275  delete( levelIndexSets_[ i ] );
276  }
277 
278  if( removeHostGrid_ )
279  {
280  delete coordFunction_;
281  delete hostGrid_;
282  }
283  }
284 
297  int maxLevel () const
298  {
299  return hostGrid().maxLevel();
300  }
301 
310  int size ( int level, int codim ) const
311  {
312  return levelGridView( level ).size( codim );
313  }
314 
321  int size ( int codim ) const
322  {
323  return leafGridView().size( codim );
324  }
325 
334  int size ( int level, GeometryType type ) const
335  {
336  return levelGridView( level ).size( type );
337  }
338 
343  int size ( GeometryType type ) const
344  {
345  return leafGridView().size( type );
346  }
347 
352  size_t numBoundarySegments () const
353  {
354  return hostGrid().numBoundarySegments( );
355  }
358  const GlobalIdSet &globalIdSet () const
359  {
360  if( !globalIdSet_ )
361  globalIdSet_ = GlobalIdSet( hostGrid().globalIdSet() );
362  assert( globalIdSet_ );
363  return globalIdSet_;
364  }
365 
366  const LocalIdSet &localIdSet () const
367  {
368  if( !localIdSet_ )
369  localIdSet_ = LocalIdSet( hostGrid().localIdSet() );
370  assert( localIdSet_ );
371  return localIdSet_;
372  }
373 
374  const LevelIndexSet &levelIndexSet ( int level ) const
375  {
376  assert( levelIndexSets_.size() == (size_t)(maxLevel()+1) );
377  if( (level < 0) || (level > maxLevel()) )
378  {
379  DUNE_THROW( GridError, "LevelIndexSet for nonexisting level " << level
380  << " requested." );
381  }
382 
383  LevelIndexSet *&levelIndexSet = levelIndexSets_[ level ];
384  if( !levelIndexSet )
386  assert( levelIndexSet );
387  return *levelIndexSet;
388  }
389 
390  const LeafIndexSet &leafIndexSet () const
391  {
392  if( !leafIndexSet_ )
393  leafIndexSet_ = LeafIndexSet( hostGrid().leafIndexSet() );
394  assert( leafIndexSet_ );
395  return leafIndexSet_;
396  }
397 
398  void globalRefine ( int refCount )
399  {
400  hostGrid().globalRefine( refCount );
401  update();
402  }
403 
404  bool mark ( int refCount, const typename Codim< 0 >::Entity &entity )
405  {
406  return hostGrid().mark( refCount, getHostEntity< 0 >( entity ) );
407  }
408 
409  int getMark ( const typename Codim< 0 >::Entity &entity ) const
410  {
411  return hostGrid().getMark( getHostEntity< 0 >( entity ) );
412  }
413 
414  bool preAdapt ()
415  {
416  return hostGrid().preAdapt();
417  }
418 
419  bool adapt ()
420  {
421  bool ret = hostGrid().adapt();
422  update();
423  return ret;
424  }
425 
426  void postAdapt ()
427  {
428  hostGrid().postAdapt();
429  }
430 
438  int overlapSize ( int codim ) const
439  {
440  return leafGridView().overlapSize( codim );
441  }
442 
447  int ghostSize( int codim ) const
448  {
449  return leafGridView().ghostSize( codim );
450  }
451 
457  int overlapSize ( int level, int codim ) const
458  {
459  return levelGridView( level ).overlapSize( codim );
460  }
461 
467  int ghostSize ( int level, int codim ) const
468  {
469  return levelGridView( level ).ghostSize( codim );
470  }
471 
485  template< class DataHandle, class Data >
487  InterfaceType interface,
488  CommunicationDirection direction,
489  int level ) const
490  {
491  levelGridView( level ).communicate( dataHandle, interface, direction );
492  }
493 
506  template< class DataHandle, class Data >
508  InterfaceType interface,
509  CommunicationDirection direction ) const
510  {
511  leafGridView().communicate( dataHandle, interface, direction );
512  }
513 
523  {
524  return hostGrid().comm();
525  }
526 
527 #if 0
528  // data handle interface different between geo and interface
529 
539  bool loadBalance ()
540  {
541  const bool gridChanged= hostGrid().loadBalance();
542  if( gridChanged )
543  update();
544  return gridChanged;
545  }
546 
562  template< class DataHandle, class Data >
563  bool loadBalance ( CommDataHandleIF< DataHandle, Data > &datahandle )
564  {
565  typedef CommDataHandleIF< DataHandle, Data > DataHandleIF;
566  typedef GeoGrid :: CommDataHandle< Grid, DataHandleIF > WrappedDataHandle;
567 
568  WrappedDataHandle wrappedDataHandle( *this, datahandle );
569  const bool gridChanged = hostGrid().loadBalance( wrappedDataHandle );
570  if( gridChanged )
571  update();
572  return gridChanged;
573  }
574 #endif
575 
595  template< class EntitySeed >
596  typename Traits::template Codim< EntitySeed::codimension >::Entity
597  entity ( const EntitySeed &seed ) const
598  {
599  typedef typename Traits::template Codim< EntitySeed::codimension >::EntityImpl EntityImpl;
600  return EntityImpl( *this, seed );
601  }
602 
609  LevelGridView levelGridView ( int level ) const
610  {
611  typedef typename LevelGridView::GridViewImp ViewImp;
612  return LevelGridView( ViewImp( *this, hostGrid().levelGridView( level ) ) );
613  }
614 
617  {
618  typedef typename LeafGridView::GridViewImp ViewImp;
619  return LeafGridView( ViewImp( *this, hostGrid().leafGridView() ) );
620  }
621 
628  const HostGrid &hostGrid () const
629  {
630  return *hostGrid_;
631  }
632 
634  HostGrid &hostGrid ()
635  {
636  return *hostGrid_;
637  }
638 
647  void update ()
648  {
649  // adapt the coordinate function
651 
652  const int newNumLevels = maxLevel()+1;
653  const int oldNumLevels = levelIndexSets_.size();
654 
655  for( int i = newNumLevels; i < oldNumLevels; ++i )
656  {
657  if( levelIndexSets_[ i ] )
658  delete levelIndexSets_[ i ];
659  }
660  levelIndexSets_.resize( newNumLevels, nullptr );
661  }
662 
663 
665 
667  const CoordFunction &coordFunction () const { return *coordFunction_; }
668 
670  CoordFunction &coordFunction () { return *coordFunction_; }
671 
674  protected:
675  template< int codim >
676  static const typename HostGrid::template Codim< codim >::Entity &
678  {
679  return getRealImplementation( entity ).hostEntity();
680  }
681 
682  void *allocateStorage ( std::size_t size ) const
683  {
684  return storageAllocator_.allocate( size );
685  }
686 
687  void deallocateStorage ( void *p, std::size_t size ) const
688  {
689  storageAllocator_.deallocate( (char *)p, size );
690  }
691 
692  private:
693  HostGrid *const hostGrid_;
694  CoordFunction *coordFunction_;
695  bool removeHostGrid_;
696  mutable std::vector< LevelIndexSet *, typename Allocator::template rebind< LevelIndexSet * >::other > levelIndexSets_;
697  mutable LeafIndexSet leafIndexSet_;
698  mutable GlobalIdSet globalIdSet_;
699  mutable LocalIdSet localIdSet_;
700  mutable typename Allocator::template rebind< char >::other storageAllocator_;
701  };
702 
703 
704 
705  // GeometryGrid::Codim
706  // -------------------
707 
708  template< class HostGrid, class CoordFunction, class Allocator >
709  template< int codim >
710  struct GeometryGrid< HostGrid, CoordFunction, Allocator >::Codim
711  : public Base::template Codim< codim >
712  {
720  typedef typename Traits::template Codim< codim >::Entity Entity;
721 
735  typedef typename Traits::template Codim< codim >::Geometry Geometry;
736 
745  typedef typename Traits::template Codim< codim >::LocalGeometry LocalGeometry;
746 
752  template< PartitionIteratorType pitype >
753  struct Partition
754  {
755  typedef typename Traits::template Codim< codim >
758  typedef typename Traits::template Codim< codim >
761  };
762 
771 
780 
782  };
783 
784 } // namespace Dune
785 
786 #endif // #ifndef DUNE_GEOGRID_GRID_HH
Dune::GeometryGrid::Codim::Partition
Definition: geometrygrid/grid.hh:753
Dune::EntitySeed
Store a reference to an entity with a minimal memory footprint.
Definition: common/entityseed.hh:23
grid.hh
Different resources needed by all grid implementations.
Dune::GeoGrid::IntersectionIterator
Definition: geometrygrid/entity.hh:58
Dune::GeometryGrid::localIdSet
const LocalIdSet & localIdSet() const
Definition: geometrygrid/grid.hh:366
Dune::GeometryGrid::Codim::Partition::LeafIterator
Traits::template Codim< codim >::template Partition< pitype >::LeafIterator LeafIterator
Definition: geometrygrid/grid.hh:757
Dune::GeometryGrid::globalIdSet
const GlobalIdSet & globalIdSet() const
Definition: geometrygrid/grid.hh:358
Dune::GeoGrid::GridView
Definition: geometrygrid/gridview.hh:27
Dune
Include standard header files.
Definition: agrid.hh:59
Dune::GeoGrid::CommDataHandle
Definition: geometrygrid/datahandle.hh:23
Dune::GeometryGrid::size
int size(int level, GeometryType type) const
obtain number of entites on a level
Definition: geometrygrid/grid.hh:334
Dune::GeometryGrid::Codim::LocalGeometry
Traits::template Codim< codim >::LocalGeometry LocalGeometry
type of local geometry
Definition: geometrygrid/grid.hh:745
identity.hh
Dune::HostGridAccess
provides access to host grid objects from GeometryGrid
Definition: identitygrid.hh:37
Dune::GeometryGrid::LeafGridView
GridFamily::Traits::LeafGridView LeafGridView
type of view for leaf grid
Definition: geometrygrid/grid.hh:141
Dune::GeoGrid::AdaptCoordFunction::adapt
static void adapt(CoordFunctionInterface &coordFunction)
Definition: coordfunction.hh:287
Dune::GeometryGrid::levelIndexSet
const LevelIndexSet & levelIndexSet(int level) const
Definition: geometrygrid/grid.hh:374
Dune::GeometryGrid::CollectiveCommunication
Traits::CollectiveCommunication CollectiveCommunication
communicator with all other processes having some part of the grid
Definition: geometrygrid/grid.hh:209
capabilities.hh
Dune::GeometryGrid::leafGridView
LeafGridView leafGridView() const
View for the leaf grid.
Definition: geometrygrid/grid.hh:616
Dune::GeometryGrid::leafIndexSet
const LeafIndexSet & leafIndexSet() const
Definition: geometrygrid/grid.hh:390
Dune::GeoGrid::Intersection
Definition: geometrygrid/intersection.hh:19
Dune::GeometryGrid::GeometryGrid
GeometryGrid(HostGrid *hostGrid, const Allocator &allocator=Allocator())
constructor
Definition: geometrygrid/grid.hh:259
Dune::GeometryGrid::size
int size(int codim) const
obtain number of leaf entities
Definition: geometrygrid/grid.hh:321
Dune::GeometryGrid::Codim::LevelIterator
Partition< All_Partition >::LevelIterator LevelIterator
type of level iterator
Definition: geometrygrid/grid.hh:779
Dune::GeometryGrid::LocalIdSet
Traits::LocalIdSet LocalIdSet
type of local id set
Definition: geometrygrid/grid.hh:198
Dune::GeometryGrid::coordFunction
CoordFunction & coordFunction()
obtain mutable reference to the coordinate function.
Definition: geometrygrid/grid.hh:670
Dune::GeoGrid::GridFamily
Definition: geometrygrid/gridfamily.hh:49
Dune::GeometryGrid::Traits
GridFamily::Traits Traits
type of the grid traits
Definition: geometrygrid/grid.hh:112
Dune::VTK::GeometryType
GeometryType
Type representing VTK's entity geometry types.
Definition: common.hh:178
Dune::GeometryGrid::HierarchicIterator
Traits::HierarchicIterator HierarchicIterator
iterator over the grid hierarchy
Definition: geometrygrid/grid.hh:129
Dune::GeometryGrid::Codim
traits structure containing types for a codimension
Definition: geometrygrid/grid.hh:121
Dune::GeometryGrid::LeafIntersectionIterator
Traits::LeafIntersectionIterator LeafIntersectionIterator
iterator over intersections with other entities on the leaf level
Definition: geometrygrid/grid.hh:131
persistentcontainer.hh
Dune::GeometryGrid::hostGrid
const HostGrid & hostGrid() const
obtain constant reference to the host grid
Definition: geometrygrid/grid.hh:628
Dune::GeometryGrid::Codim::Geometry
Traits::template Codim< codim >::Geometry Geometry
type of world geometry
Definition: geometrygrid/grid.hh:735
Dune::GeometryGrid::ghostSize
int ghostSize(int level, int codim) const
obtain size of ghost region for a grid level
Definition: geometrygrid/grid.hh:467
Dune::GeometryGrid::communicate
void communicate(CommDataHandleIF< DataHandle, Data > &dataHandle, InterfaceType interface, CommunicationDirection direction) const
communicate information on leaf entities
Definition: geometrygrid/grid.hh:507
Dune::GeometryGrid::size
int size(int level, int codim) const
obtain number of entites on a level
Definition: geometrygrid/grid.hh:310
backuprestore.hh
Dune::GeometryGrid::LeafIndexSet
Traits::LeafIndexSet LeafIndexSet
type of leaf index set
Definition: geometrygrid/grid.hh:159
Dune::GeoGrid::ExportParams
Definition: geometrygrid/gridfamily.hh:33
Dune::DefaultCoordFunction
Definition: geometrygrid/grid.hh:24
Dune::InterfaceType
InterfaceType
Parameter to be used for the communication functions.
Definition: gridenums.hh:84
Dune::GeometryGrid::ctype
Traits::ctype ctype
type of vector coordinates (e.g., double)
Definition: geometrygrid/grid.hh:206
Dune::GeometryGrid::adapt
bool adapt()
Definition: geometrygrid/grid.hh:419
Dune::GeometryGrid::GlobalIdSet
Traits::GlobalIdSet GlobalIdSet
type of global id set
Definition: geometrygrid/grid.hh:181
Dune::GeometryGrid::~GeometryGrid
~GeometryGrid()
destructor
Definition: geometrygrid/grid.hh:270
Dune::GeoGrid::Geometry
Definition: geometrygrid/geometry.hh:85
Dune::GeometryGrid::overlapSize
int overlapSize(int level, int codim) const
obtain size of overlap region for a grid level
Definition: geometrygrid/grid.hh:457
Dune::Grid
Grid abstract base class.
Definition: common/grid.hh:373
Dune::GeometryGrid::postAdapt
void postAdapt()
Definition: geometrygrid/grid.hh:426
Dune::GridDefaultImplementation
Definition: common/geometry.hh:24
Dune::GeometryGrid::preAdapt
bool preAdapt()
Definition: geometrygrid/grid.hh:414
Dune::GeometryGrid::communicate
void communicate(CommDataHandleIF< DataHandle, Data > &dataHandle, InterfaceType interface, CommunicationDirection direction, int level) const
communicate information on a grid level
Definition: geometrygrid/grid.hh:486
Dune::GeoGrid::BackupRestoreFacilities
Definition: geometrygrid/backuprestore.hh:21
Dune::GeometryGrid::overlapSize
int overlapSize(int codim) const
obtain size of overlap region for the leaf grid
Definition: geometrygrid/grid.hh:438
Dune::GeometryGrid::allocateStorage
void * allocateStorage(std::size_t size) const
Definition: geometrygrid/grid.hh:682
Dune::GeometryGrid::getHostEntity
static const HostGrid::template Codim< codim >::Entity & getHostEntity(const typename Codim< codim >::Entity &entity)
Definition: geometrygrid/grid.hh:677
Dune::GeometryGrid::coordFunction
const CoordFunction & coordFunction() const
obtain constant reference to the coordinate function
Definition: geometrygrid/grid.hh:667
Dune::GridDefaultImplementation::getRealImplementation
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
Definition: common/grid.hh:1119
Dune::GeometryGrid::LevelGridView
GridFamily::Traits::LevelGridView LevelGridView
type of view for level grid
Definition: geometrygrid/grid.hh:143
Dune::GeometryGrid::GeometryGrid
GeometryGrid(HostGrid &hostGrid, CoordFunction &coordFunction, const Allocator &allocator=Allocator())
constructor
Definition: geometrygrid/grid.hh:225
Dune::GeoGrid::EntityBase
actual implementation of the entity
Definition: geometrygrid/entity.hh:32
Dune::GeometryGrid::ghostSize
int ghostSize(int codim) const
obtain size of ghost region for the leaf grid
Definition: geometrygrid/grid.hh:447
Dune::GeometryGrid::entity
Traits::template Codim< EntitySeed::codimension >::Entity entity(const EntitySeed &seed) const
obtain Entity from EntitySeed
Definition: geometrygrid/grid.hh:597
Dune::GeometryGrid::Codim::LeafIterator
Partition< All_Partition >::LeafIterator LeafIterator
type of leaf iterator
Definition: geometrygrid/grid.hh:770
Dune::GeometryGrid::GeometryGrid
GeometryGrid(HostGrid *hostGrid, CoordFunction *coordFunction, const Allocator &allocator=Allocator())
constructor
Definition: geometrygrid/grid.hh:242
Dune::GeometryGrid::deallocateStorage
void deallocateStorage(void *p, std::size_t size) const
Definition: geometrygrid/grid.hh:687
Dune::GeoGrid::IndexSet
Definition: geometrygrid/indexsets.hh:25
Dune::GeometryGrid::LevelIntersectionIterator
Traits::LevelIntersectionIterator LevelIntersectionIterator
iterator over intersections with other entities on the same level
Definition: geometrygrid/grid.hh:133
Dune::GeometryGrid::getRealImplementation
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
Definition: common/grid.hh:1119
Dune::GeometryGrid::getMark
int getMark(const typename Codim< 0 >::Entity &entity) const
Definition: geometrygrid/grid.hh:409
Dune::GeometryGrid::maxLevel
int maxLevel() const
obtain maximal grid level
Definition: geometrygrid/grid.hh:297
Dune::GeometryGrid::LevelIndexSet
Traits::LevelIndexSet LevelIndexSet
type of level index set
Definition: geometrygrid/grid.hh:169
Dune::GeometryGrid::numBoundarySegments
size_t numBoundarySegments() const
returns the number of boundary segments within the macro grid
Definition: geometrygrid/grid.hh:352
Dune::GeometryGrid::update
void update()
update grid caches
Definition: geometrygrid/grid.hh:647
Dune::IdenticalCoordFunction
Definition: identity.hh:12
datahandle.hh
Dune::GeometryGrid::levelGridView
LevelGridView levelGridView(int level) const
View for a grid level.
Definition: geometrygrid/grid.hh:609
Dune::GridError
Base class for exceptions in Dune grid modules.
Definition: exceptions.hh:16
Dune::GeometryGrid::size
int size(GeometryType type) const
obtain number of leaf entities
Definition: geometrygrid/grid.hh:343
Dune::GeoGrid::IdSet
Definition: idset.hh:18
Dune::GeometryGrid::Codim::Entity
Traits::template Codim< codim >::Entity Entity
type of entity
Definition: geometrygrid/grid.hh:720
Dune::GeometryGrid::hostGrid
HostGrid & hostGrid()
obtain mutable reference to the host grid
Definition: geometrygrid/grid.hh:634
Dune::GeometryGrid::mark
bool mark(int refCount, const typename Codim< 0 >::Entity &entity)
Definition: geometrygrid/grid.hh:404
Dune::GeometryGrid::comm
const CollectiveCommunication & comm() const
obtain CollectiveCommunication object
Definition: geometrygrid/grid.hh:522
Dune::GeoGrid::HierarchicIterator
Definition: geometrygrid/entity.hh:55
Dune::CommunicationDirection
CommunicationDirection
Define a type for communication direction parameter.
Definition: gridenums.hh:168
Dune::GeometryGrid::globalRefine
void globalRefine(int refCount)
Definition: geometrygrid/grid.hh:398
Dune::GeometryGrid
grid wrapper replacing the geometries
Definition: declaration.hh:10
Dune::CommDataHandleIF
CommDataHandleIF describes the features of a data handle for communication in parallel runs using the...
Definition: datahandleif.hh:72
gridfamily.hh
Dune::GeometryGrid::Codim::Partition::LevelIterator
Traits::template Codim< codim >::template Partition< pitype >::LevelIterator LevelIterator
Definition: geometrygrid/grid.hh:760