dune-grid 2.12-git
Loading...
Searching...
No Matches
common/grid.hh
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright © DUNE Project contributors, see file LICENSE.md in module root
2// SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception
3// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
4// vi: set et ts=4 sw=2 sts=2:
5#ifndef DUNE_GRID_COMMON_GRID_HH
6#define DUNE_GRID_COMMON_GRID_HH
7
11// system includes
12#include <any>
13#include <iostream>
14#include <string>
15#include <vector>
16#include <map>
17
18// dune-common includes
22
23// dune-geometry includes
24#include <dune/geometry/type.hh>
25
26// local includes
34
35// include this file after all other, because other files might undef the
36// macros that are defined in that file
38
39namespace Dune {
40
355 // Forward Declarations
356 // --------------------
357
358 template<int mydim, int cdim, class GridImp,template<int,int,class> class GeometryImp> class Geometry;
359 template< int mydim, int cdim, class GridImp > class GlobalGeometryReference;
360 template< int mydim, int cdim, class GridImp > class LocalGeometryReference;
361 // dim is necessary because Entity will be specialized for codim==0 _and_ codim==dim
362 // EntityImp gets GridImp as 3rd template parameter to distinguish between const and mutable grid
363 template<int codim, int dim, class GridImp,template<int,int,class> class EntityImp> class Entity;
364 template< int codim, class Grid, class IteratorImp > class EntityIterator;
365 template<class GridImp, class EntitySeedImp> class EntitySeed;
366 template< class GridImp, class IntersectionImp > class Intersection;
367 template< class GridImp, class IntersectionIteratorImp, class IntersectionImp > class IntersectionIterator;
368 template< class GridImp, class IndexSetImp, class IndexTypeImp = unsigned int, class TypesImp = std::vector< GeometryType > > class IndexSet;
369 template<class GridImp, class IdSetImp, class IdTypeImp> class IdSet;
370
371
372 //************************************************************************
373 // G R I D
374 //************************************************************************
375
394 template< int dim, int dimworld, class ct, class GridFamily>
395 class Grid {
396 typedef typename GridFamily::Traits::Grid GridImp;
398 public:
399
400 //===========================================================
404 //===========================================================
405
407 constexpr static int dimension = dim;
408
410 constexpr static int dimensionworld = dimworld;
412
413 //===========================================================
417 //===========================================================
418
420 typedef typename GridFamily::Traits::LeafGridView LeafGridView;
422 typedef typename GridFamily::Traits::LevelGridView LevelGridView;
423
424
429 template <int cd>
430 struct Codim
431 {
433 typedef typename GridFamily::Traits::template Codim<cd>::Geometry Geometry;
434
436 typedef typename GridFamily::Traits::template Codim<cd>::LocalGeometry LocalGeometry;
437
439 typedef typename GridFamily::Traits::template Codim<cd>::Entity Entity;
440
442 typedef typename GridFamily::Traits::template Codim<cd>::EntitySeed EntitySeed;
443
445 template <PartitionIteratorType pitype>
447 {
454 typedef typename GridFamily::Traits::template Codim<cd>::template Partition<pitype>::LevelIterator LevelIterator;
461 typedef typename GridFamily::Traits::template Codim<cd>::template Partition<pitype>::LeafIterator LeafIterator;
462 };
463
466 typedef typename GridFamily::Traits::template Codim<cd>::LevelIterator LevelIterator;
467
470 typedef typename GridFamily::Traits::template Codim<cd>::LeafIterator LeafIterator;
471 };
472
476 typedef typename GridFamily::Traits::LeafIntersection LeafIntersection;
477
481 typedef typename GridFamily::Traits::LevelIntersection LevelIntersection;
482
488 typedef typename GridFamily::Traits::LeafIntersectionIterator LeafIntersectionIterator;
489
495 typedef typename GridFamily::Traits::LevelIntersectionIterator LevelIntersectionIterator;
496
502 typedef typename GridFamily::Traits::HierarchicIterator HierarchicIterator;
503
508 typedef typename GridFamily::Traits::LevelIndexSet LevelIndexSet;
509
514 typedef typename GridFamily::Traits::LeafIndexSet LeafIndexSet;
515
522 typedef typename GridFamily::Traits::GlobalIdSet GlobalIdSet;
523
529 typedef typename GridFamily::Traits::LocalIdSet LocalIdSet;
530
535 using Communication = typename GridFamily::Traits::Communication;
536
538 typedef ct ctype;
540
541
542 //===========================================================
546 //===========================================================
547
551 int maxLevel() const
552 {
554 return asImp().maxLevel();
555 }
556
558 int size (int level, int codim) const
559 {
561 return asImp().size(level,codim);
562 }
563
565 int size (int codim) const
566 {
568 return asImp().size(codim);
569 }
570
572 int size (int level, GeometryType type) const
573 {
575 return asImp().size(level,type);
576 }
577
579 int size (GeometryType type) const
580 {
582 return asImp().size(type);
583 }
585
586
591 size_t numBoundarySegments () const
592 {
594 return asImp().numBoundarySegments();
595 }
596
597 //===========================================================
601 //===========================================================
602
604 LevelGridView levelGridView(int level) const {
606 return asImp().levelGridView(level);
607 }
608
612 return asImp().leafGridView();
613 }
614
616
617
618 //===========================================================
622 //===========================================================
623
625 const GlobalIdSet &globalIdSet () const
626 {
628 return asImp().globalIdSet();
629 }
630
632 const LocalIdSet &localIdSet () const
633 {
635 return asImp().localIdSet();
636 }
637
639 const LevelIndexSet &levelIndexSet ( int level ) const
640 {
642 return asImp().levelIndexSet(level);
643 }
644
647 {
649 return asImp().leafIndexSet();
650 }
652
653
654 //===========================================================
658 //===========================================================
659
665 void globalRefine (int refCount)
666 {
668 return;
669 }
670
678 bool mark( int refCount, const typename Codim<0>::Entity & e )
679 {
680 return asImp().mark(refCount,e);
681 }
682
689 int getMark(const typename Codim<0>::Entity & e) const
690 {
691 return asImp().getMark(e);
692 }
693
700 bool preAdapt ()
701 {
702 return asImp().preAdapt();
703 }
704
719 bool adapt ()
720 {
721 return asImp().adapt();
722 }
723
729 {
730 return asImp().postAdapt();
731 }
733
734
735 //===========================================================
739 //===========================================================
740
742 const Communication &comm () const
743 {
745 return asImp().comm();
746 }
748
753 {
755 return asImp().loadBalance();
756 }
757
765 template<class DataHandle>
766 bool loadBalance (DataHandle& data)
767 {
769 return asImp().loadBalance(data);
770 }
771
773 template < class EntitySeed >
774 typename Codim< EntitySeed :: codimension > :: Entity
775 entity( const EntitySeed& seed ) const
776 {
777 //CHECK_INTERFACE_IMPLEMENTATION( asImp().entity( seed ) );
778 return asImp().entity( seed );
779 }
780 protected:
782 GridImp& asImp () {return static_cast<GridImp &> (*this);}
784 const GridImp& asImp () const {return static_cast<const GridImp &>(*this);}
785 };
786
787#undef CHECK_INTERFACE_IMPLEMENTATION
788#undef CHECK_AND_CALL_INTERFACE_IMPLEMENTATION
789
806 template<int dim, int dimworld, class ct, class GridFamily>
809 {
810 return grid.levelGridView(level);
811 }
812
823 template<int dim, int dimworld, class ct, class GridFamily>
826 {
827 return grid.leafGridView();
828 }
829
863 template<int dim,
864 int dimworld,
865 class ct,
866 class GridFamily>
867 class GridDefaultImplementation : public Grid <dim,dimworld,ct,GridFamily>
868 {
869 typedef typename GridFamily::Traits::Grid GridImp;
870
871 public:
877 typedef typename GridFamily::Traits Traits;
878
881
883 typename Traits::LevelGridView levelGridView(int level) const
884 {
885 typedef typename Traits::LevelGridView View;
886 typedef typename View::GridViewImp ViewImp;
887 return View(ViewImp(asImp(),level));
888 }
889
891 typename Traits::LeafGridView leafGridView() const
892 {
893 typedef typename Traits::LeafGridView View;
894 typedef typename View::GridViewImp ViewImp;
895 return View(ViewImp(asImp()));
896 }
897
899 typename Traits::LeafIntersectionIterator
900 ileafbegin ( const typename Traits::template Codim<0>::Entity &entity ) const
901 {
902 return entity.impl().ileafbegin();
903 }
904
906 typename Traits::LeafIntersectionIterator
907 ileafend ( const typename Traits::template Codim<0>::Entity &entity ) const
908 {
909 return entity.impl().ileafend();
910 }
911
913 typename Traits::LevelIntersectionIterator
914 ilevelbegin ( const typename Traits::template Codim<0>::Entity &entity ) const
915 {
916 return entity.impl().ilevelbegin();
917 }
918
920 typename Traits::LevelIntersectionIterator
921 ilevelend ( const typename Traits::template Codim<0>::Entity &entity ) const
922 {
923 return entity.impl().ilevelend();
924 }
925
926 //***************************************************************
927 // Interface for Adaptation
928 //***************************************************************
929
952 bool mark( int /*refCount*/, const typename Traits :: template Codim<0>::Entity & /*e*/ )
953 {
954 return false;
955 }
956
964 int getMark ( const typename Traits::template Codim< 0 >::Entity& /*e*/ ) const
965 {
966 return 0;
967 }
968
976 bool adapt () { return false; }
977
979 bool preAdapt () { return false; }
980
982 void postAdapt() {}
983
986 {
987 return false;
988 }
989
991 template<class DataHandle>
992 bool loadBalance ([[maybe_unused]] DataHandle& data)
993 {
994 return false;
995 }
996
1011 {
1012 return userData_;
1013 }
1014
1015 protected:
1016 using Grid< dim, dimworld, ct, GridFamily >::asImp;
1018 };
1019
1033 template <int dim, int dimw, class GridImp,
1034 template<int,int,class> class GeometryImp,
1035 template<int,int,class> class EntityImp,
1036 template<int,PartitionIteratorType,class> class LevelIteratorImp,
1037 template<class> class LeafIntersectionImp,
1038 template<class> class LevelIntersectionImp,
1039 template<class> class LeafIntersectionIteratorImp,
1040 template<class> class LevelIntersectionIteratorImp,
1041 template<class> class HierarchicIteratorImp,
1042 template<int,PartitionIteratorType,class> class LeafIteratorImp,
1043 class LevelIndexSetImp, class LeafIndexSetImp,
1044 class GlobalIdSetImp, class GIDType, class LocalIdSetImp, class LIDType, class CCType,
1045 template<class> class LevelGridViewTraits,
1046 template<class> class LeafGridViewTraits,
1047 template<int,class> class EntitySeedImp,
1048 template<int,int,class> class LocalGeometryImp = GeometryImp,
1049 class LevelIndexType = unsigned int,
1050 class LevelGeometryTypes = std::vector<GeometryType>,
1051 class LeafIndexType = LevelIndexType,
1052 class LeafGeometryTypes = LevelGeometryTypes
1053 >
1055 {
1057 typedef GridImp Grid;
1058
1067
1070
1075 template <int cd>
1076 struct Codim
1077 {
1078 public:
1079 typedef GeometryImp<dim-cd, dimw, const GridImp> GeometryImpl;
1080 typedef LocalGeometryImp<dim-cd, dim, const GridImp> LocalGeometryImpl;
1082
1083 typedef Dune::Geometry<dim-cd, dimw, const GridImp, GeometryImp> Geometry;
1085 typedef Dune::Geometry<dim-cd, dim, const GridImp, LocalGeometryImp> LocalGeometry;
1087 // we could - if needed - introduce another struct for dimglobal of Geometry
1089
1092
1097 template <PartitionIteratorType pitype>
1105
1108
1111
1112 private:
1113 friend class Dune::Entity<cd, dim, const GridImp, EntityImp>;
1114 };
1115
1120
1129
1131 typedef CCType Communication;
1132 };
1133
1134 // Definition of capabilities for the interface class
1135 namespace Capabilities
1136 {
1137
1138 // capabilities for the interface class depend on the implementation
1139 template< int dim, int dimworld, typename ct, class GridFamily , int codim >
1140 struct hasEntity< Grid< dim, dimworld, ct, GridFamily >, codim >
1141 {
1143 };
1144
1145 // capabilities for the interface class depend on the implementation
1146 template< int dim, int dimworld, typename ct, class GridFamily , int cdim >
1147 struct hasEntity< GridDefaultImplementation<dim,dimworld,ct,GridFamily>, cdim >
1148 {
1150 typedef typename GridType::Traits::Grid GridImp;
1151 static const bool v = hasEntity<GridImp,cdim>::v;
1152 };
1153
1154 } // end namespace Capabilities
1155
1161 template <class InterfaceType>
1163 {
1164 typedef typename InterfaceType::Implementation ImplementationType;
1167 : InterfaceType( realImp )
1168 {}
1169 };
1170}
1171
1172#include "geometry.hh"
1173#include "entity.hh"
1174#include "intersection.hh"
1175#include "intersectioniterator.hh"
1176#include "entityiterator.hh"
1177#include "indexidset.hh"
1178
1179#endif // #ifndef DUNE_GRID_COMMON_GRID_HH
Describes the parallel communication interface class for MessageBuffers and DataHandles.
#define CHECK_AND_CALL_INTERFACE_IMPLEMENTATION(__interface_method_to_call__)
#define CHECK_INTERFACE_IMPLEMENTATION(dummy)
int size() const
size_type dim() const
InterfaceType
Parameter to be used for the communication functions.
Definition gridenums.hh:86
Grid< dim, dimworld, ct, GridFamily >::LeafGridView leafGridView(const Grid< dim, dimworld, ct, GridFamily > &grid)
leaf grid view for the given grid
Definition common/grid.hh:825
Grid< dim, dimworld, ct, GridFamily >::LevelGridView levelGridView(const Grid< dim, dimworld, ct, GridFamily > &grid, int level)
level grid view for the given grid and level.
Definition common/grid.hh:808
Include standard header files.
Intersection of a mesh entity of codimension 0 ("element") with a "neighboring" element or with the d...
Definition common/intersection.hh:164
Definition geometryreference.hh:139
Specialize with 'true' for all codims that a grid implements entities for. (default=false)
Definition common/capabilities.hh:60
static const bool v
Definition common/capabilities.hh:61
Wrapper class for entities.
Definition common/entity.hh:66
Implementation & impl()
access to the underlying implementation
Definition common/entity.hh:80
interface class for an iterator over grid entities
Definition common/entityiterator.hh:32
Store a reference to an entity with a minimal memory footprint.
Definition common/entityseed.hh:26
Definition common/grid.hh:868
Traits::LevelIntersectionIterator ilevelend(const typename Traits::template Codim< 0 >::Entity &entity) const
obtain end intersection iterator on the entity level
Definition common/grid.hh:921
bool adapt()
Refine all positive marked leaf entities coarsen all negative marked entities if possible.
Definition common/grid.hh:976
void postAdapt()
clean up some markers
Definition common/grid.hh:982
Traits::LevelIntersectionIterator ilevelbegin(const typename Traits::template Codim< 0 >::Entity &entity) const
obtain begin intersection iterator on the entity level
Definition common/grid.hh:914
UserDataContainer & userData() const
Access user data attached to this grid.
Definition common/grid.hh:1010
UserDataContainer userData_
Definition common/grid.hh:1017
bool preAdapt()
returns true, if at least one entity is marked for adaption
Definition common/grid.hh:979
bool loadBalance(DataHandle &data)
default implementation of load balance does nothing and returns false
Definition common/grid.hh:992
Traits::LeafIntersectionIterator ileafbegin(const typename Traits::template Codim< 0 >::Entity &entity) const
obtain begin intersection iterator on the leaf level
Definition common/grid.hh:900
bool mark(int, const typename Traits ::template Codim< 0 >::Entity &)
Marks an entity to be refined/coarsened in a subsequent adapt.
Definition common/grid.hh:952
Traits::LeafGridView leafGridView() const
View for the leaf grid for All_Partition.
Definition common/grid.hh:891
bool loadBalance()
default implementation of load balance does nothing and returns false
Definition common/grid.hh:985
int getMark(const typename Traits::template Codim< 0 >::Entity &) const
returns adaptation mark for given entity, i.e. here the default implementation returns 0.
Definition common/grid.hh:964
Traits::LevelGridView levelGridView(int level) const
View for a grid level for All_Partition.
Definition common/grid.hh:883
GridFamily::Traits Traits
The traits of this class.
Definition common/grid.hh:877
Traits::LeafIntersectionIterator ileafend(const typename Traits::template Codim< 0 >::Entity &entity) const
obtain end intersection iterator on the leaf level
Definition common/grid.hh:907
Wrapper class for geometries.
Definition common/geometry.hh:71
Definition common/grid.hh:359
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" eleme...
Definition common/intersectioniterator.hh:83
Index Set Interface base class.
Definition common/indexidset.hh:78
Id Set Interface.
Definition common/indexidset.hh:450
Grid abstract base class.
Definition common/grid.hh:395
const LevelIndexSet & levelIndexSet(int level) const
return const reference to the grids level index set for level level
Definition common/grid.hh:639
static constexpr int dimension
The dimension of the grid.
Definition common/grid.hh:407
int size(int level, GeometryType type) const
Return number of entities per level and geometry type in this process.
Definition common/grid.hh:572
GridFamily::Traits::LocalIdSet LocalIdSet
A type that is a model of Dune::IdSet which provides a unique and persistent numbering for all entiti...
Definition common/grid.hh:529
GridFamily::Traits::LeafIntersectionIterator LeafIntersectionIterator
A type that is a model of Dune::IntersectionIterator which is an iterator that allows to examine,...
Definition common/grid.hh:488
int size(int level, int codim) const
Return number of grid entities of a given codim on a given level in this process.
Definition common/grid.hh:558
bool preAdapt()
To be called after entities have been marked and before adapt() is called.
Definition common/grid.hh:700
GridFamily::Traits::LevelIndexSet LevelIndexSet
A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent,...
Definition common/grid.hh:508
GridImp & asImp()
Barton-Nackman trick.
Definition common/grid.hh:782
GridFamily::Traits::HierarchicIterator HierarchicIterator
A type that is a model of Dune::HierarchicIterator A type of iterator that allows to examine,...
Definition common/grid.hh:502
GridFamily::Traits::LevelGridView LevelGridView
type of view for level grid
Definition common/grid.hh:422
GridFamily::Traits::LeafIntersection LeafIntersection
A type that is a model of Dune::Intersection, an intersections of two codimension 1 of two codimensio...
Definition common/grid.hh:476
GridFamily::Traits::LevelIntersectionIterator LevelIntersectionIterator
A type that is a model of Dune::IntersectionIterator which is an iterator that allows to examine,...
Definition common/grid.hh:495
LeafGridView leafGridView() const
View for the leaf grid for All_Partition.
Definition common/grid.hh:610
GridFamily::Traits::GlobalIdSet GlobalIdSet
A type that is a model of Dune::IdSet which provides a unique and persistent numbering for all entiti...
Definition common/grid.hh:522
const GridImp & asImp() const
Barton-Nackman trick.
Definition common/grid.hh:784
static constexpr int dimensionworld
The dimension of the world the grid lives in.
Definition common/grid.hh:410
void postAdapt()
To be called after grid has been adapted and information left over by the adaptation has been process...
Definition common/grid.hh:728
bool mark(int refCount, const typename Codim< 0 >::Entity &e)
Marks an entity to be refined/coarsened in a subsequent adapt.
Definition common/grid.hh:678
Codim< EntitySeed::codimension >::Entity entity(const EntitySeed &seed) const
obtain Entity from EntitySeed.
Definition common/grid.hh:775
GridFamily::Traits::LeafIndexSet LeafIndexSet
A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent,...
Definition common/grid.hh:514
int maxLevel() const
Return maximum level defined in this grid. Levels are numbered 0 ... maxLevel with 0 the coarsest lev...
Definition common/grid.hh:551
size_t numBoundarySegments() const
returns the number of boundary segments within the macro grid
Definition common/grid.hh:591
const GlobalIdSet & globalIdSet() const
return const reference to the grids global id set
Definition common/grid.hh:625
int getMark(const typename Codim< 0 >::Entity &e) const
returns adaptation mark for given entity
Definition common/grid.hh:689
GridFamily::Traits::LevelIntersection LevelIntersection
A type that is a model of Dune::Intersection, an intersections of two codimension 1 of two codimensio...
Definition common/grid.hh:481
const LeafIndexSet & leafIndexSet() const
return const reference to the grids leaf index set
Definition common/grid.hh:646
const LocalIdSet & localIdSet() const
return const reference to the grids local id set
Definition common/grid.hh:632
LevelGridView levelGridView(int level) const
View for a grid level for All_Partition.
Definition common/grid.hh:604
bool loadBalance(DataHandle &data)
Re-balances the load each process has to handle for a parallel grid and moves the data.
Definition common/grid.hh:766
typename GridFamily::Traits::Communication Communication
A type that is a model of Dune::Communication. It provides a portable way for communication on the se...
Definition common/grid.hh:535
GridFamily::Traits::LeafGridView LeafGridView
type of view for leaf grid
Definition common/grid.hh:420
bool loadBalance()
Re-balances the load each process has to handle for a parallel grid,.
Definition common/grid.hh:752
bool adapt()
Refine all positive marked leaf entities, coarsen all negative marked entities if possible.
Definition common/grid.hh:719
int size(int codim) const
Return number of leaf entities of a given codim in this process.
Definition common/grid.hh:565
ct ctype
Define type used for coordinates in grid module.
Definition common/grid.hh:538
void globalRefine(int refCount)
Refine the grid refCount times using the default refinement rule.
Definition common/grid.hh:665
const Communication & comm() const
return const reference to a communication object. The return type is a model of Dune::Communication.
Definition common/grid.hh:742
int size(GeometryType type) const
Return number of leaf entities per geometry type in this process.
Definition common/grid.hh:579
A Traits struct that collects all associated types of one implementation.
Definition common/grid.hh:431
GridFamily::Traits::template Codim< cd >::Entity Entity
A type that is a model of a Dune::Entity<cd,dim,...>.
Definition common/grid.hh:439
GridFamily::Traits::template Codim< cd >::LocalGeometry LocalGeometry
A type that is a model of Dune::Geometry<dim-cd,dim>.
Definition common/grid.hh:436
GridFamily::Traits::template Codim< cd >::LevelIterator LevelIterator
A type that is a model of Dune::LevelIterator with partition type All_Partition.
Definition common/grid.hh:466
GridFamily::Traits::template Codim< cd >::Geometry Geometry
A type that is a model of Dune::Geometry<dim-cd,dimworld>.
Definition common/grid.hh:433
GridFamily::Traits::template Codim< cd >::EntitySeed EntitySeed
A type that is a model (not yet) of Dune::EntitySeed<cd,dim,...>.
Definition common/grid.hh:442
GridFamily::Traits::template Codim< cd >::LeafIterator LeafIterator
A type that is a model of Dune::LeafIterator with partition type All_Partition.
Definition common/grid.hh:470
A struct collecting all types depending on the partition iterator type.
Definition common/grid.hh:447
GridFamily::Traits::template Codim< cd >::template Partition< pitype >::LevelIterator LevelIterator
A type that is a model of Dune::LevelIterator<cd,pitype,...> which is s type of iterator that may be ...
Definition common/grid.hh:454
GridFamily::Traits::template Codim< cd >::template Partition< pitype >::LeafIterator LeafIterator
A type that is a model of Dune::LeafIterator<cd,pitype,...> which is a type of iterator that may be u...
Definition common/grid.hh:461
A traits struct that collects all associated types of one grid model.
Definition common/grid.hh:1055
IndexSet< const GridImp, LeafIndexSetImp, LeafIndexType, LeafGeometryTypes > LeafIndexSet
The type of the leaf index set.
Definition common/grid.hh:1124
IndexSet< const GridImp, LevelIndexSetImp, LevelIndexType, LevelGeometryTypes > LevelIndexSet
The type of the level index set.
Definition common/grid.hh:1122
Dune::GridView< LevelGridViewTraits< const GridImp > > LevelGridView
type of view for level grid
Definition common/grid.hh:1119
Dune::GridView< LeafGridViewTraits< const GridImp > > LeafGridView
type of view for leaf grid
Definition common/grid.hh:1117
IdSet< const GridImp, LocalIdSetImp, LIDType > LocalIdSet
The type of the local id set.
Definition common/grid.hh:1128
GridImp Grid
The type that implements the grid.
Definition common/grid.hh:1057
Dune::EntityIterator< 0, const GridImp, HierarchicIteratorImp< const GridImp > > HierarchicIterator
The type of the hierarchic iterator.
Definition common/grid.hh:1069
IdSet< const GridImp, GlobalIdSetImp, GIDType > GlobalIdSet
The type of the global id set.
Definition common/grid.hh:1126
Dune::IntersectionIterator< const GridImp, LeafIntersectionIteratorImp< const GridImp >, LeafIntersectionImp< const GridImp > > LeafIntersectionIterator
The type of the intersection iterator at the leafs of the grid.
Definition common/grid.hh:1064
Dune::IntersectionIterator< const GridImp, LevelIntersectionIteratorImp< const GridImp >, LevelIntersectionImp< const GridImp > > LevelIntersectionIterator
The type of the intersection iterator at the levels of the grid.
Definition common/grid.hh:1066
Dune::Intersection< const GridImp, LeafIntersectionImp< const GridImp > > LeafIntersection
The type of the intersection at the leafs of the grid.
Definition common/grid.hh:1060
Dune::Intersection< const GridImp, LevelIntersectionImp< const GridImp > > LevelIntersection
The type of the intersection at the levels of the grid.
Definition common/grid.hh:1062
CCType Communication
The type of the communication.
Definition common/grid.hh:1131
Traits associated with a specific codim.
Definition common/grid.hh:1077
Dune::Geometry< dim-cd, dimw, const GridImp, GeometryImp > Geometry
IMPORTANT: Codim<codim>::Geometry == Geometry<dim-codim,dimw>
Definition common/grid.hh:1083
Dune::Geometry< dim-cd, dim, const GridImp, LocalGeometryImp > LocalGeometry
The type of the local geometry associated with the entity.
Definition common/grid.hh:1085
LocalGeometryImp< dim-cd, dim, const GridImp > LocalGeometryImpl
Definition common/grid.hh:1080
Dune::EntitySeed< const GridImp, EntitySeedImp< cd, const GridImp > > EntitySeed
The type of the entity seed of this codim.
Definition common/grid.hh:1091
Partition< All_Partition >::LeafIterator LeafIterator
The type of the iterator over all leaf entities of this codim.
Definition common/grid.hh:1107
Partition< All_Partition >::LevelIterator LevelIterator
The type of the entity pointer for entities of this codim.
Definition common/grid.hh:1110
GeometryImp< dim-cd, dimw, const GridImp > GeometryImpl
Definition common/grid.hh:1079
Dune::Entity< cd, dim, const GridImp, EntityImp > Entity
The type of the entity.
Definition common/grid.hh:1088
Traits associated with a specific grid partition type.
Definition common/grid.hh:1099
Dune::EntityIterator< cd, const GridImp, LeafIteratorImp< cd, pitype, const GridImp > > LeafIterator
The type of the iterator over the leaf entities of this codim on this partition.
Definition common/grid.hh:1103
Dune::EntityIterator< cd, const GridImp, LevelIteratorImp< cd, pitype, const GridImp > > LevelIterator
The type of the iterator over the level entities of this codim on this partition.
Definition common/grid.hh:1101
GridDefaultImplementation< dim, dimworld, ct, GridFamily > GridType
Definition common/grid.hh:1149
Definition common/grid.hh:1163
InterfaceType::Implementation ImplementationType
Definition common/grid.hh:1164
MakeableInterfaceObject(const ImplementationType &realImp)
create interface object by calling the constructor of the base class
Definition common/grid.hh:1166
Grid view abstract base class.
Definition common/gridview.hh:66
A set of traits classes to store static information about grid implementation.
Interface class EntitySeed.