14 #include <dune/common/fvector.hh>
15 #include <dune/common/typetraits.hh>
18 #include <dune/geometry/type.hh>
31 #include <dune/common/bartonnackmanifcheck.hh>
348 template<
int mydim,
int cdim,
class Gr
idImp,
template<
int,
int,
class>
class GeometryImp>
class Geometry;
349 template<
int mydim,
int cdim,
class Gr
idImp >
class GlobalGeometryReference;
350 template<
int mydim,
int cdim,
class Gr
idImp >
class LocalGeometryReference;
353 template<
int codim,
int dim,
class Gr
idImp,
template<
int,
int,
class>
class EntityImp>
class Entity;
354 template<
class Gr
idImp,
class EntityPo
interImp>
class EntityPointer;
355 template<
int codim,
class Gr
id,
class IteratorImp >
class EntityIterator;
356 template<
class Gr
idImp,
class EntitySeedImp>
class EntitySeed;
357 template<
class Gr
idImp,
class IntersectionImp >
class Intersection;
359 template<
class Gr
idImp,
class IndexSetImp,
class IndexTypeImp=
unsigned int>
class IndexSet;
360 template<
class Gr
idImp,
class IdSetImp,
class IdTypeImp>
class IdSet;
385 template<
int dim,
int dimworld,
class ct,
class Gr
idFamily>
387 typedef typename GridFamily::Traits::Grid GridImp;
417 template <PartitionIteratorType pitype>
453 template <PartitionIteratorType pitype>
562 return asImp().maxLevel();
566 int size (
int level,
int codim)
const
568 CHECK_INTERFACE_IMPLEMENTATION(
asImp().
size(level,codim));
569 return asImp().size(level,codim);
575 CHECK_INTERFACE_IMPLEMENTATION(
asImp().
size(codim));
576 return asImp().size(codim);
582 CHECK_INTERFACE_IMPLEMENTATION(
asImp().
size(level,type));
583 return asImp().size(level,type);
589 CHECK_INTERFACE_IMPLEMENTATION(
asImp().
size(type));
590 return asImp().size(type);
602 return asImp().numBoundarySegments();
612 template<PartitionIteratorType pitype>
614 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template levelView<pitype>(level)));
615 return asImp().template levelView<pitype>(level);
619 template<PartitionIteratorType pitype>
621 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template leafView<pitype>()));
622 return asImp().template leafView<pitype>();
626 LevelGridView levelView(
int level)
const DUNE_DEPRECATED_MSG(
"The method levelView has been renamed to levelGridView.") {
628 return asImp().levelView(level);
634 return asImp().leafView();
638 template<PartitionIteratorType pitype>
640 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template levelGridView<pitype>(level)));
641 return asImp().template levelGridView<pitype>(level);
645 template<PartitionIteratorType pitype>
647 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template leafGridView<pitype>()));
648 return asImp().template leafGridView<pitype>();
654 return asImp().levelGridView(level);
660 return asImp().leafGridView();
673 template<
int cd, PartitionIteratorType pitype>
676 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template lbegin<cd,pitype>(level)));
677 return asImp().template lbegin<cd,pitype>(level);
681 template<
int cd, PartitionIteratorType pitype>
684 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template lend<cd,pitype>(level)));
685 return asImp().template lend<cd,pitype>(level);
692 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template lbegin<cd>(level)));
693 return asImp().template lbegin<cd>(level);
700 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template lend<cd>(level)));
701 return asImp().template lend<cd>(level);
705 template<
int cd, PartitionIteratorType pitype>
708 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template leafbegin<cd,pitype>()));
709 return asImp().template leafbegin<cd,pitype>();
713 template<
int cd, PartitionIteratorType pitype>
716 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template leafend<cd,pitype>()));
717 return asImp().template leafend<cd,pitype>();
724 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template leafbegin<cd,All_Partition>()));
725 return asImp().template leafbegin<cd,All_Partition>();
732 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template leafend<cd,All_Partition>()));
733 return asImp().template leafend<cd,All_Partition>();
748 return asImp().globalIdSet();
755 return asImp().localIdSet();
762 return asImp().levelIndexSet(level);
769 return asImp().leafIndexSet();
800 return asImp().mark(refCount,e);
811 return asImp().getMark(e);
822 return asImp().preAdapt();
841 return asImp().adapt();
850 return asImp().postAdapt();
865 return asImp().overlapSize(level,codim);
872 return asImp().overlapSize(codim);
879 return asImp().ghostSize(level,codim);
886 return asImp().ghostSize(codim);
900 template<
class DataHandleImp,
class DataTypeImp>
903 CHECK_AND_CALL_INTERFACE_IMPLEMENTATION((
asImp().
template communicate<DataHandleImp,DataTypeImp>(data,iftype,dir,level)));
917 template<
class DataHandleImp,
class DataTypeImp>
920 CHECK_AND_CALL_INTERFACE_IMPLEMENTATION((
asImp().
template communicate<DataHandleImp,DataTypeImp>(data,iftype,dir)));
927 CHECK_INTERFACE_IMPLEMENTATION(
asImp().
comm());
928 return asImp().comm();
938 return asImp().loadBalance();
948 template<
class DataHandle>
952 return asImp().loadBalance(data);
956 template <
class EntitySeed >
961 return asImp().entityPointer( seed );
965 GridImp&
asImp () {
return static_cast<GridImp &
> (*this);}
967 const GridImp&
asImp ()
const {
return static_cast<const GridImp &
>(*this);}
970 #undef CHECK_INTERFACE_IMPLEMENTATION
971 #undef CHECK_AND_CALL_INTERFACE_IMPLEMENTATION
1016 class GridDefaultImplementation :
public Grid <dim,dimworld,ct,GridFamily>
1018 typedef typename GridFamily::Traits::Grid GridImp;
1029 template<PartitionIteratorType pitype>
1033 typedef typename View::GridViewImp ViewImp;
1034 return View(ViewImp(
asImp(),level));
1038 template<PartitionIteratorType pitype>
1041 typedef typename View::GridViewImp ViewImp;
1042 return View(ViewImp(
asImp()));
1046 typename Traits::template Partition<All_Partition>::LevelGridView
1047 levelView(
int level)
const DUNE_DEPRECATED_MSG(
"The method levelView has been renamed to levelGridView.") {
1049 typedef typename View::GridViewImp ViewImp;
1050 return View(ViewImp(
asImp(),level));
1054 typename Traits::template Partition<All_Partition>::LeafGridView
1057 typedef typename View::GridViewImp ViewImp;
1058 return View(ViewImp(
asImp()));
1062 template<PartitionIteratorType pitype>
1063 typename Traits::template Partition<pitype>::LevelGridView
1066 typedef typename View::GridViewImp ViewImp;
1067 return View(ViewImp(
asImp(),level));
1071 template<PartitionIteratorType pitype>
1072 typename Traits::template Partition<pitype>::LeafGridView
1075 typedef typename View::GridViewImp ViewImp;
1076 return View(ViewImp(
asImp()));
1080 typename Traits::template Partition<All_Partition>::LevelGridView
1083 typedef typename View::GridViewImp ViewImp;
1084 return View(ViewImp(
asImp(),level));
1088 typename Traits::template Partition<All_Partition>::LeafGridView
1091 typedef typename View::GridViewImp ViewImp;
1092 return View(ViewImp(
asImp()));
1166 template<
class DataHandleImp,
class DataTypeImp>
1172 template<
class DataHandleImp,
class DataTypeImp>
1184 template<
class DataHandle>
1221 template <
class InterfaceType>
1222 static typename ReturnImplementationType<InterfaceType>::ImplementationType &
1242 template <
int dim,
int dimw,
class GridImp,
1243 template<
int,
int,
class>
class GeometryImp,
1244 template<
int,
int,
class>
class EntityImp,
1245 template<
int,
class>
class EntityPointerImp,
1246 template<
int,PartitionIteratorType,
class>
class LevelIteratorImp,
1247 template<
class>
class LeafIntersectionImp,
1248 template<
class>
class LevelIntersectionImp,
1249 template<
class>
class LeafIntersectionIteratorImp,
1250 template<
class>
class LevelIntersectionIteratorImp,
1251 template<
class>
class HierarchicIteratorImp,
1252 template<
int,PartitionIteratorType,
class>
class LeafIteratorImp,
1253 class LevelIndexSetImp,
class LeafIndexSetImp,
1254 class GlobalIdSetImp,
class GIDType,
class LocalIdSetImp,
class LIDType,
class CCType,
1255 template<
class,PartitionIteratorType>
class LevelGridViewTraits,
1256 template<
class,PartitionIteratorType>
class LeafGridViewTraits,
1257 template<
int,
class>
class EntitySeedImp,
1258 template<
int,
int,
class>
class LocalGeometryImp = GeometryImp
1306 template <PartitionIteratorType pitype>
1323 typedef EntityPointerImp<cd,const GridImp> EntityPointerImpl;
1330 template <PartitionIteratorType pitype>
1356 namespace Capabilities
1359 template<
int dim,
int dimworld,
typename ct,
class Gr
idFamily ,
int cdim >
1374 template <
class InterfaceType>
1393 #endif // #ifndef DUNE_GRID_HH
GridFamily::Traits::template Partition< pitype >::LeafGridView LeafGridView
Definition: common/grid.hh:423
Traits associated with a specific codim.
Definition: common/grid.hh:1282
A Traits struct that collects all associated types of one implementation.
Definition: common/grid.hh:435
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:510
Dune::Intersection< const GridImp, LeafIntersectionImp< const GridImp > > LeafIntersection
The type of the intersection at the leafs of the grid.
Definition: common/grid.hh:1266
Partition< All_Partition >::LeafIterator LeafIterator
The type of the iterator over all leaf entities of this codim.
Definition: common/grid.hh:1316
Partition< All_Partition >::LeafGridView LeafGridView
Definition: common/grid.hh:427
static ReturnImplementationType< InterfaceType >::ImplementationType & getRealImplementation(InterfaceType &i)
return real implementation of interface class
Definition: common/grid.hh:1223
Traits associated with a specific grid partition type.
Definition: common/grid.hh:1307
static const bool v
Definition: common/capabilities.hh:57
bool loadBalance()
Re-balances the load each process has to handle for a parallel grid,.
Definition: common/grid.hh:935
GridFamily::Traits::template Codim< cd >::Entity Entity
A type that is a model of a Dune::Entity.
Definition: common/grid.hh:444
bool adapt()
Refine all positive marked leaf entities, coarsen all negative marked entities if possible...
Definition: common/grid.hh:839
Partition< All_Partition >::LevelIterator LevelIterator
The type of the entity pointer for entities of this codim.
Definition: common/grid.hh:1319
LeafGridView leafView() const
View for the leaf grid for All_Partition.
Definition: common/grid.hh:632
CCType CollectiveCommunication
The type of the collective communication.
Definition: common/grid.hh:1352
Traits::template Partition< All_Partition >::LevelGridView levelGridView(int level) const
View for a grid level for All_Partition.
Definition: common/grid.hh:1081
MakeableInterfaceObject(const ImplementationType &realImp)
create interface object by calling the contructor of the base class
Definition: common/grid.hh:1379
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:1312
void communicate(CommDataHandleIF< DataHandleImp, DataTypeImp > &data, InterfaceType iftype, CommunicationDirection dir) const
Definition: common/grid.hh:1173
IndexSet< const GridImp, LevelIndexSetImp > LevelIndexSet
The type of the level index set.
Definition: common/grid.hh:1343
LeafGridView leafGridView() const
View for the leaf grid for All_Partition.
Definition: common/grid.hh:658
Wrapper class for entities.
Definition: common/entity.hh:56
void postAdapt()
clean up some markers
Definition: common/grid.hh:1151
GeometryType
Type representing VTK's entity geometry types.
Definition: common.hh:178
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:566
Index Set Interface base class.
Definition: common/grid.hh:359
int maxLevel() const
Return maximum level defined in this grid. Levels are numbered 0 ... maxLevel with 0 the coarsest lev...
Definition: common/grid.hh:559
void communicate(CommDataHandleIF< DataHandleImp, DataTypeImp > &data, InterfaceType iftype, CommunicationDirection dir, int level) const
Communicate information on distributed entities on a given level Template parameter is a model of Dun...
Definition: common/grid.hh:901
GridFamily::Traits::template Codim< cd >::template Partition< pitype >::LeafIterator LeafIterator
A type that is a model of Dune::LeafIterator which is a type of iterator that may be u...
Definition: common/grid.hh:469
Traits::template Partition< pitype >::LevelGridView levelGridView(int level) const
View for a grid level.
Definition: common/grid.hh:1064
int size(GeometryType type) const
Return number of leaf entities per geometry type in this process.
Definition: common/grid.hh:587
void postAdapt()
To be called after grid has been adapted and information left over by the adaptation has been process...
Definition: common/grid.hh:848
Wrapper class for pointers to entities.
Definition: common/entitypointer.hh:91
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:1272
Dune::Geometry< dim-cd, dim, const GridImp, LocalGeometryImp > LocalGeometry
The type of the local geometry associated with the entity.
Definition: common/grid.hh:1291
Dune::EntityIterator< 0, const GridImp, HierarchicIteratorImp< const GridImp > > HierarchicIterator
The type of the hierarchic iterator.
Definition: common/grid.hh:1275
int getMark(const typename Traits::template Codim< 0 >::Entity &e) const
returns adaptation mark for given entity, i.e. here the default implementation returns 0...
Definition: common/grid.hh:1133
bool preAdapt()
To be called after entities have been marked and before adapt() is called.
Definition: common/grid.hh:820
GridFamily::Traits::template Codim< cd >::Geometry Geometry
A type that is a model of Dune::Geometry.
Definition: common/grid.hh:438
GridFamily::Traits::CollectiveCommunication CollectiveCommunication
A type that is a model of Dune::CollectiveCommunication. It provides a portable way for collective co...
Definition: common/grid.hh:543
CommunicationDirection
Define a type for communication direction parameter.
Definition: gridenums.hh:164
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:1270
int ghostSize(int codim) const
Return size of ghost region for a given codim on the leaf grid.
Definition: common/grid.hh:883
IndexSet< const GridImp, LeafIndexSetImp > LeafIndexSet
The type of the leaf index set.
Definition: common/grid.hh:1345
IdSet< const GridImp, LocalIdSetImp, LIDType > LocalIdSet
The type of the local id set.
Definition: common/grid.hh:1349
size_t numBoundarySegments() const
returns the number of boundary segments within the macro grid
Definition: common/grid.hh:599
Wrapper class for geometries.
Definition: common/geometry.hh:101
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:1310
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:484
Types for GridView.
Definition: common/grid.hh:418
Dune::GridView< LeafGridViewTraits< const GridImp, pitype > > LeafGridView
The type of the leaf grid view associated with this partition type.
Definition: common/grid.hh:1339
const GridImp & asImp() const
Barton-Nackman trick.
Definition: common/grid.hh:967
const LocalIdSet & localIdSet() const
return const reference to the grids local id set
Definition: common/grid.hh:752
bool preAdapt()
returns true, if at least one entity is marked for adaption
Definition: common/grid.hh:1148
int ghostSize(int level, int codim) const
Return size of ghost region for a given codim on a given level.
Definition: common/grid.hh:876
int overlapSize(int level, int codim) const
Return size of overlap for a given codim on a given level.
Definition: common/grid.hh:862
void communicate(CommDataHandleIF< DataHandleImp, DataTypeImp > &data, InterfaceType iftype, CommunicationDirection dir) const
Communicate information on distributed entities on the leaf grid Template parameter is a model of Dun...
Definition: common/grid.hh:918
Provides base classes for index and id sets.
Interface class EntitySeed.
A struct collecting all types depending on the partition iterator type.
Definition: common/grid.hh:454
Dune::EntitySeed< const GridImp, EntitySeedImp< cd, const GridImp > > EntitySeed
The type of the entity seed of this codim.
Definition: common/grid.hh:1300
GridImp Grid
The type that implements the grid.
Definition: common/grid.hh:1263
The dimension of the world the grid lives in.
Definition: common/grid.hh:406
Traits::template Partition< pitype >::LeafGridView leafGridView() const
View for the leaf grid.
Definition: common/grid.hh:1073
const T::Implementation ImplementationType
Definition: common/grid.hh:1214
Definition: objectfactory.hh:23
int size(int level, GeometryType type) const
Return number of entities per level and geometry type in this process.
Definition: common/grid.hh:580
int ghostSize(int codim) const
ghostSize is zero by default
Definition: common/grid.hh:1160
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:798
Codim< cd >::template Partition< All_Partition >::LeafIterator leafend() const
one past the end on the leaf grid for PartitionType All_Partition
Definition: common/grid.hh:730
int getMark(const typename Codim< 0 >::Entity &e) const
returns adaptation mark for given entity
Definition: common/grid.hh:809
bool loadBalance(DataHandle &data)
default implementation of load balance does nothing and returns false
Definition: common/grid.hh:1185
const CollectiveCommunication & comm() const
return const reference to a collective communication object. The return type is a model of Dune::Coll...
Definition: common/grid.hh:925
Codim< cd >::template Partition< pitype >::LeafIterator leafend() const
one past the end on the leaf level grid
Definition: common/grid.hh:714
bool loadBalance()
default implementation of load balance does nothing and returns false
Definition: common/grid.hh:1178
The dimension of the grid.
Definition: common/grid.hh:400
interface class for an iterator over grid entitiesAn entity iterator is an iterator over a subset of ...
Definition: entityiterator.hh:35
CommDataHandleIF describes the features of a data handle for communication in parallel runs using the...
Definition: datahandleif.hh:74
GridFamily::Traits::template Codim< cd >::EntitySeed EntitySeed
A type that is a model (not yet) of Dune::EntitySeed.
Definition: common/grid.hh:450
int size(int codim) const
Return number of leaf entities of a given codim in this process.
Definition: common/grid.hh:573
int ghostSize(int level, int codim) const
ghostSize is zero by default
Definition: common/grid.hh:1154
Codim< EntitySeed::codimension >::EntityPointer entityPointer(const EntitySeed &seed) const
obtain EntityPointer from EntitySeed.
Definition: common/grid.hh:958
GridDefaultImplementation< dim, dimworld, ct, GridFamily > GridType
Definition: common/grid.hh:1362
Dune::Intersection< const GridImp, LevelIntersectionImp< const GridImp > > LevelIntersection
The type of the intersection at the levels of the grid.
Definition: common/grid.hh:1268
Codim< cd >::template Partition< All_Partition >::LevelIterator lend(int level) const
one past the end on this level for PartitionType All_Partition
Definition: common/grid.hh:698
bool mark(int refCount, const typename Traits::template Codim< 0 >::Entity &e)
Marks an entity to be refined/coarsened in a subsequent adapt.
Definition: common/grid.hh:1121
Dune::EntityPointer< const GridImp, EntityPointerImp< cd, const GridImp > > EntityPointer
The type of the entity pointer for entities of this codim.
Definition: common/grid.hh:1297
Grid view abstract base classInterface class for a view on grids. Grids return two types of view...
Definition: common/gridview.hh:56
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:503
Dune::GridView< LevelGridViewTraits< const GridImp, pitype > > LevelGridView
The type of the level grid view associated with this partition type.
Definition: common/grid.hh:1335
GridImp & asImp()
Barton-Nackman trick.
Definition: common/grid.hh:965
Codim< cd >::template Partition< All_Partition >::LeafIterator leafbegin() const
Iterator to first entity of given codim on leaf grid for PartitionType All_Partition.
Definition: common/grid.hh:722
Traits::template Partition< All_Partition >::LeafGridView leafView() const
View for the leaf grid for All_Partition.
Definition: common/grid.hh:1055
void globalRefine(int refCount)
Refine the grid refCount times using the default refinement rule.
Definition: common/grid.hh:785
Grid abstract base classThis class is the base class for all grid implementations. Although no virtual functions are used we call it abstract since its methods do not contain an implementation but forward to the methods of the derived class via the Barton-Nackman trick.
Definition: common/grid.hh:386
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:496
const LeafIndexSet & leafIndexSet() const
return const reference to the grids leaf index set
Definition: common/grid.hh:766
Partition< pitype >::LevelGridView levelGridView(int level) const
View for a grid level.
Definition: common/grid.hh:639
Wrapper and interface classes for element geometries.
Traits::template Partition< All_Partition >::LeafGridView leafGridView() const
View for the leaf grid for All_Partition.
Definition: common/grid.hh:1089
GridFamily::Traits::template Codim< cd >::EntityPointer EntityPointer
A type that is a model of Dune::EntityPointer.
Definition: common/grid.hh:447
Dune::Entity< cd, dim, const GridImp, EntityImp > Entity
The type of the entity.
Definition: common/grid.hh:1294
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" eleme...
Definition: common/grid.hh:358
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:530
Partition< All_Partition >::LevelGridView LevelGridView
View types for All_Partition.
Definition: common/grid.hh:426
Traits associated with a specific grid partition type.
Definition: common/grid.hh:1331
InterfaceType::Implementation ImplementationType
Definition: common/grid.hh:1377
A set of traits classes to store static information about grid implementation.
GridFamily::Traits Traits
The traits of this class.
Definition: common/grid.hh:1026
Codim< cd >::template Partition< All_Partition >::LevelIterator lbegin(int level) const
Iterator to first entity of given codim on level for PartitionType All_Partition. ...
Definition: common/grid.hh:690
Intersection of a mesh entities of codimension 0 ("elements") with a "neighboring" element or with th...
Definition: albertagrid/dgfparser.hh:26
GridFamily::Traits::LevelIndexSet LevelIndexSet
A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent, numbering for entities on a grid level.
Definition: common/grid.hh:516
ct ctype
Define type used for coordinates in grid module.
Definition: common/grid.hh:546
Wrapper and interface classe for a static iterator (EntityPointer)
const GlobalIdSet & globalIdSet() const
return const reference to the grids global id set
Definition: common/grid.hh:745
Helper class to choose correct implementation return type for getRealImplementation.
Definition: common/grid.hh:1198
Codim< cd >::template Partition< pitype >::LevelIterator lbegin(int level) const
Iterator to first entity of given codim on level.
Definition: common/grid.hh:674
GridFamily::Traits::template Codim< cd >::template Partition< pitype >::LevelIterator LevelIterator
A type that is a model of Dune::LevelIterator which is s type of iterator that may be ...
Definition: common/grid.hh:462
GeometryImp< dim-cd, dimw, const GridImp > GeometryImpl
Definition: common/grid.hh:1285
Store a reference to an entity with a minimal memory footprint.
Definition: common/entityseed.hh:23
Traits::template Partition< All_Partition >::LevelGridView levelView(int level) const
View for a grid level for All_Partition.
Definition: common/grid.hh:1047
const LevelIndexSet & levelIndexSet(int level) const
return const reference to the grids level index set for level level
Definition: common/grid.hh:759
LevelGridView levelView(int level) const
View for a grid level for All_Partition.
Definition: common/grid.hh:626
Specialize with 'true' for all codims that a grid implements entities for. (default=false) ...
Definition: common/capabilities.hh:55
A traits struct that collects all associated types of one grid model.
Definition: common/grid.hh:1260
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:949
IdSet< const GridImp, GlobalIdSetImp, GIDType > GlobalIdSet
The type of the global id set.
Definition: common/grid.hh:1347
Partition< pitype >::LeafGridView leafGridView() const
View for the leaf grid.
Definition: common/grid.hh:646
Definition: common/geometry.hh:24
LevelGridView levelGridView(int level) const
View for a grid level for All_Partition.
Definition: common/grid.hh:652
Codim< cd >::template Partition< pitype >::LevelIterator lend(int level) const
one past the end on this level
Definition: common/grid.hh:682
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:474
Traits::template Partition< pitype >::LeafGridView leafView() const
View for the leaf grid.
Definition: common/grid.hh:1039
Partition< pitype >::LevelGridView levelView(int level) const
View for a grid level.
Definition: common/grid.hh:613
T::Implementation ImplementationType
The correct type of the implementation to return.
Definition: common/grid.hh:1203
LocalGeometryImp< dim-cd, dim, const GridImp > LocalGeometryImpl
Definition: common/grid.hh:1286
bool adapt()
Refine all positive marked leaf entities coarsen all negative marked entities if possible.
Definition: common/grid.hh:1145
InterfaceType
Parameter to be used for the communication functions.
Definition: gridenums.hh:80
Codim< cd >::template Partition< pitype >::LeafIterator leafbegin() const
Iterator to first entity of given codim on leaf grid.
Definition: common/grid.hh:706
GridType::Traits::Grid GridImp
Definition: common/grid.hh:1363
void communicate(CommDataHandleIF< DataHandleImp, DataTypeImp > &data, InterfaceType iftype, CommunicationDirection dir, int level) const
Definition: common/grid.hh:1167
Traits::template Partition< pitype >::LevelGridView levelView(int level) const
View for a grid level.
Definition: common/grid.hh:1031
int overlapSize(int codim) const
overlapSize is zero by default
Definition: common/grid.hh:1163
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:489
GridFamily::Traits::template Codim< cd >::LocalGeometry LocalGeometry
A type that is a model of Dune::Geometry.
Definition: common/grid.hh:441
Partition< pitype >::LeafGridView leafView() const
View for the leaf grid.
Definition: common/grid.hh:620
int overlapSize(int level, int codim) const
overlapSize is zero by default
Definition: common/grid.hh:1157
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:478
Id Set Interface.
Definition: common/grid.hh:360
Dune::Geometry< dim-cd, dimw, const GridImp, GeometryImp > Geometry
IMPORTANT: Codim::Geometry == Geometry
Definition: common/grid.hh:1289
int overlapSize(int codim) const
Return size of overlap region for a given codim on the leaf grid.
Definition: common/grid.hh:869
Describes the parallel communication interface class for MessageBuffers and DataHandles.
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:537
GridFamily::Traits::template Partition< pitype >::LevelGridView LevelGridView
Definition: common/grid.hh:421
GridFamily::Traits::LeafIndexSet LeafIndexSet
A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent, numbering for entities in the leaf grid.
Definition: common/grid.hh:522