15 #include <dune/common/fvector.hh>
16 #include <dune/common/typetraits.hh>
17 #include <dune/common/deprecated.hh>
20 #include <dune/geometry/type.hh>
33 #include <dune/common/bartonnackmanifcheck.hh>
350 template<
int mydim,
int cdim,
class Gr
idImp,
template<
int,
int,
class>
class GeometryImp>
class Geometry;
355 template<
int codim,
int dim,
class Gr
idImp,
template<
int,
int,
class>
class EntityImp>
class Entity;
356 template<
class Gr
idImp,
class EntityPo
interImp>
class EntityPointer;
357 template<
int codim,
class Gr
id,
class IteratorImp >
class EntityIterator;
358 template<
class Gr
idImp,
class EntitySeedImp>
class EntitySeed;
359 template<
class Gr
idImp,
class IntersectionImp >
class Intersection;
361 template<
class Gr
idImp,
class IndexSetImp,
class IndexTypeImp =
unsigned int,
class TypesImp = std::vector< GeometryType > >
class IndexSet;
362 template<
class Gr
idImp,
class IdSetImp,
class IdTypeImp>
class IdSet;
387 template<
int dim,
int dimworld,
class ct,
class Gr
idFamily>
389 typedef typename GridFamily::Traits::Grid GridImp;
419 template <PartitionIteratorType pitype>
455 template <PartitionIteratorType pitype>
564 return asImp().maxLevel();
568 int size (
int level,
int codim)
const
570 CHECK_INTERFACE_IMPLEMENTATION(
asImp().
size(level,codim));
571 return asImp().size(level,codim);
577 CHECK_INTERFACE_IMPLEMENTATION(
asImp().
size(codim));
578 return asImp().size(codim);
584 CHECK_INTERFACE_IMPLEMENTATION(
asImp().
size(level,type));
585 return asImp().size(level,type);
591 CHECK_INTERFACE_IMPLEMENTATION(
asImp().
size(type));
592 return asImp().size(type);
604 return asImp().numBoundarySegments();
614 template<PartitionIteratorType pitype>
615 typename Partition<pitype>::LevelGridView
616 DUNE_DEPRECATED_MSG(
"After DUNE 2.4, grid views will always model the All_Partition. The template method levelGridView< pitype > will be removed without replacement. Use levelGridView() instead." )
618 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template levelGridView<pitype>(level)));
619 return asImp().template levelGridView<pitype>(level);
623 template<PartitionIteratorType pitype>
624 typename Partition<pitype>::LeafGridView
625 DUNE_DEPRECATED_MSG(
"After DUNE 2.4, grid views will always model the All_Partition. The template method leafGridView< pitype > will be removed without replacement. Use leafGridView() instead." )
627 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template leafGridView<pitype>()));
628 return asImp().template leafGridView<pitype>();
634 return asImp().levelGridView(level);
640 return asImp().leafGridView();
653 template<
int cd, PartitionIteratorType pitype>
654 typename Codim<cd>::template Partition<pitype>::LevelIterator
655 DUNE_DEPRECATED_MSG(
"The method lbegin( level ) is superseded by levelGridView( level ).begin and will be removed after Dune 2.4.")
658 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template lbegin<cd,pitype>(level)));
659 return asImp().template lbegin<cd,pitype>(level);
663 template<
int cd, PartitionIteratorType pitype>
664 typename Codim<cd>::template Partition<pitype>::LevelIterator
665 DUNE_DEPRECATED_MSG(
"The method lend( level ) is superseded by levelGridView( level ).end and will be removed after Dune 2.4.")
668 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template lend<cd,pitype>(level)));
669 return asImp().template lend<cd,pitype>(level);
674 typename Codim<cd>::template Partition<All_Partition>::LevelIterator
675 DUNE_DEPRECATED_MSG(
"The method lbegin( level ) is superseded by levelGridView( level ).begin and will be removed after Dune 2.4.")
678 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template lbegin<cd>(level)));
679 return asImp().template lbegin<cd>(level);
684 typename Codim<cd>::template Partition<All_Partition>::LevelIterator
685 DUNE_DEPRECATED_MSG(
"The method lend( level ) is superseded by levelGridView( level ).end and will be removed after Dune 2.4.")
688 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template lend<cd>(level)));
689 return asImp().template lend<cd>(level);
693 template<
int cd, PartitionIteratorType pitype>
694 typename Codim<cd>::template Partition<pitype>::LeafIterator
695 DUNE_DEPRECATED_MSG(
"The method leafbegin() is superseded by leafGridView().begin and will be removed after Dune 2.4.")
698 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template leafbegin<cd,pitype>()));
699 return asImp().template leafbegin<cd,pitype>();
703 template<
int cd, PartitionIteratorType pitype>
704 typename Codim<cd>::template Partition<pitype>::LeafIterator
705 DUNE_DEPRECATED_MSG(
"The method leafend() is superseded by leafGridView().end and will be removed after Dune 2.4.")
708 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template leafend<cd,pitype>()));
709 return asImp().template leafend<cd,pitype>();
714 typename Codim<cd>::template Partition<All_Partition>::LeafIterator
715 DUNE_DEPRECATED_MSG(
"The method leafbegin() is superseded by leafGridView().begin and will be removed after Dune 2.4.")
718 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template leafbegin<cd,All_Partition>()));
719 return asImp().template leafbegin<cd,All_Partition>();
724 typename Codim<cd>::template Partition<All_Partition>::LeafIterator
725 DUNE_DEPRECATED_MSG(
"The method leafend() is superseded by leafGridView().end and will be removed after Dune 2.4.")
728 CHECK_INTERFACE_IMPLEMENTATION((
asImp().
template leafend<cd,All_Partition>()));
729 return asImp().template leafend<cd,All_Partition>();
744 return asImp().globalIdSet();
751 return asImp().localIdSet();
758 return asImp().levelIndexSet(level);
765 return asImp().leafIndexSet();
796 return asImp().mark(refCount,e);
807 return asImp().getMark(e);
818 return asImp().preAdapt();
837 return asImp().adapt();
846 return asImp().postAdapt();
861 return asImp().overlapSize(level,codim);
868 return asImp().overlapSize(codim);
875 return asImp().ghostSize(level,codim);
882 return asImp().ghostSize(codim);
896 template<
class DataHandleImp,
class DataTypeImp>
899 CHECK_AND_CALL_INTERFACE_IMPLEMENTATION((
asImp().
template communicate<DataHandleImp,DataTypeImp>(data,iftype,dir,level)));
913 template<
class DataHandleImp,
class DataTypeImp>
916 CHECK_AND_CALL_INTERFACE_IMPLEMENTATION((
asImp().
template communicate<DataHandleImp,DataTypeImp>(data,iftype,dir)));
921 const CollectiveCommunication &
comm ()
const
923 CHECK_INTERFACE_IMPLEMENTATION(
asImp().
comm());
924 return asImp().comm();
934 return asImp().loadBalance();
944 template<
class DataHandle>
948 return asImp().loadBalance(data);
959 template <
class EntitySeed >
960 DUNE_DEPRECATED_MSG(
"entityPointer() is deprecated and will be removed after the release of dune-grid 2.4. Use entity() instead to directly obtain an Entity object.")
965 return asImp().entityPointer( seed );
969 template <
class EntitySeed >
970 typename Codim< EntitySeed :: codimension >
:: Entity
974 return asImp().entity( seed );
978 GridImp&
asImp () {
return static_cast<GridImp &
> (*this);}
980 const GridImp&
asImp ()
const {
return static_cast<const GridImp &
>(*this);}
983 #undef CHECK_INTERFACE_IMPLEMENTATION
984 #undef CHECK_AND_CALL_INTERFACE_IMPLEMENTATION
1029 class GridDefaultImplementation :
public Grid <dim,dimworld,ct,GridFamily>
1031 typedef typename GridFamily::Traits::Grid GridImp;
1042 template<
int codim >
1045 return asImp().levelGridView( level ).template begin< codim >();
1049 template<
int codim >
1052 return asImp().levelGridView( level ).template end< codim >();
1056 template<
int codim, PartitionIteratorType pitype >
1057 typename Traits::template Codim< codim >::template Partition< pitype >::LevelIterator DUNE_DEPRECATED_MSG(
"The method lbegin( level ) is superseded by levelGridView( level ).begin.")
1060 return asImp().levelGridView( level ).template begin< codim, pitype >();
1064 template<
int codim, PartitionIteratorType pitype >
1065 typename Traits::template Codim< codim >::template Partition< pitype >::LevelIterator DUNE_DEPRECATED_MSG(
"The method lend( level ) is superseded by levelGridView( level ).end.")
1068 return asImp().levelGridView( level ).template end< codim, pitype >();
1072 template<
int codim >
1075 return asImp().leafGridView().template begin< codim >();
1079 template<
int codim >
1082 return asImp().leafGridView().template end< codim >();
1086 template<
int codim, PartitionIteratorType pitype >
1087 typename Traits::template Codim< codim >::template Partition< pitype >::LeafIterator DUNE_DEPRECATED_MSG(
"The method leafbegin() is superseded by leafGridView().begin.")
1090 return asImp().leafGridView().template begin< codim, pitype >();
1094 template<
int codim, PartitionIteratorType pitype >
1095 typename Traits::template Codim< codim >::template Partition< pitype >::LeafIterator DUNE_DEPRECATED_MSG(
"The method leafend() is superseded by leafGridView().end.")
1098 return asImp().leafGridView().template end< codim, pitype >();
1102 template<PartitionIteratorType pitype>
1103 typename Traits::template Partition<pitype>::LevelGridView
1104 DUNE_DEPRECATED_MSG(
"After DUNE 2.4, grid views will always model the All_Partition. The template method levelGridView< pitype > will be removed without replacement. Use levelGridView() instead." )
1107 typedef typename View::GridViewImp ViewImp;
1108 return View(ViewImp(
asImp(),level));
1112 template<PartitionIteratorType pitype>
1113 typename Traits::template Partition<pitype>::LeafGridView
1114 DUNE_DEPRECATED_MSG(
"After DUNE 2.4, grid views will always model the All_Partition. The template method leafGridView< pitype > will be removed without replacement. Use leafGridView() instead." )
1117 typedef typename View::GridViewImp ViewImp;
1118 return View(ViewImp(
asImp()));
1122 typename Traits::template Partition<All_Partition>::LevelGridView
1125 typedef typename View::GridViewImp ViewImp;
1126 return View(ViewImp(
asImp(),level));
1130 typename Traits::template Partition<All_Partition>::LeafGridView
1133 typedef typename View::GridViewImp ViewImp;
1134 return View(ViewImp(
asImp()));
1208 template<
class DataHandleImp,
class DataTypeImp>
1214 template<
class DataHandleImp,
class DataTypeImp>
1226 template<
class DataHandle>
1285 template <
class InterfaceType>
1286 static typename std::conditional<
1290 typename std::add_lvalue_reference<
1291 typename ReturnImplementationType<
1292 typename std::remove_reference<
1295 >::ImplementationType
1297 typename std::remove_const<
1298 typename ReturnImplementationType<
1299 typename std::remove_reference<
1302 >::ImplementationType
1325 template <
int dim,
int dimw,
class GridImp,
1326 template<
int,
int,
class>
class GeometryImp,
1327 template<
int,
int,
class>
class EntityImp,
1328 template<
int,
class>
class EntityPointerImp,
1329 template<
int,PartitionIteratorType,
class>
class LevelIteratorImp,
1330 template<
class>
class LeafIntersectionImp,
1331 template<
class>
class LevelIntersectionImp,
1332 template<
class>
class LeafIntersectionIteratorImp,
1333 template<
class>
class LevelIntersectionIteratorImp,
1334 template<
class>
class HierarchicIteratorImp,
1335 template<
int,PartitionIteratorType,
class>
class LeafIteratorImp,
1336 class LevelIndexSetImp,
class LeafIndexSetImp,
1337 class GlobalIdSetImp,
class GIDType,
class LocalIdSetImp,
class LIDType,
class CCType,
1338 template<
class,PartitionIteratorType>
class LevelGridViewTraits,
1339 template<
class,PartitionIteratorType>
class LeafGridViewTraits,
1340 template<
int,
class>
class EntitySeedImp,
1341 template<
int,
int,
class>
class LocalGeometryImp = GeometryImp
1389 template <PartitionIteratorType pitype>
1406 typedef EntityPointerImp<cd,const GridImp> EntityPointerImpl;
1413 template <PartitionIteratorType pitype>
1439 namespace Capabilities
1443 template<
int dim,
int dimworld,
typename ct,
class Gr
idFamily ,
int codim >
1450 template<
int dim,
int dimworld,
typename ct,
class Gr
idFamily ,
int cdim >
1465 template <
class InterfaceType>
1484 #endif // #ifndef DUNE_GRID_HH
Traits::template Partition< pitype >::LevelGridView levelGridView(int level) const
View for a grid level.
Definition: common/grid.hh:1105
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:1395
Codim< EntitySeed::codimension >::Entity entity(const EntitySeed &seed) const
obtain Entity from EntitySeed.
Definition: common/grid.hh:971
Traits::template Codim< codim >::LeafIterator leafbegin() const
Iterator to first entity of given codim on leaf grid for PartitionType All_Partition.
Definition: common/grid.hh:1073
Codim< cd >::template Partition< pitype >::LevelIterator lend(int level) const
one past the end on this level
Definition: common/grid.hh:666
Traits::template Partition< All_Partition >::LeafGridView leafGridView() const
View for the leaf grid for All_Partition.
Definition: common/grid.hh:1131
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:1175
int overlapSize(int codim) const
overlapSize is zero by default
Definition: common/grid.hh:1205
Wrapper class for pointers to entities.
Definition: common/entitypointer.hh:112
Definition: common/geometry.hh:24
A struct collecting all types depending on the partition iterator type.
Definition: common/grid.hh:456
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:1163
int overlapSize(int level, int codim) const
overlapSize is zero by default
Definition: common/grid.hh:1199
GridImp & asImp()
Barton-Nackman trick.
Definition: common/grid.hh:978
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:794
GridFamily::Traits::template Partition< pitype >::LeafGridView LeafGridView
Definition: common/grid.hh:425
A Traits struct that collects all associated types of one implementation.
Definition: common/grid.hh:437
InterfaceType
Parameter to be used for the communication functions.
Definition: gridenums.hh:84
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:486
Traits::template Codim< codim >::LevelIterator lbegin(int level) const
Iterator to first entity of given codim on level for PartitionType All_Partition. ...
Definition: common/grid.hh:1043
void postAdapt()
To be called after grid has been adapted and information left over by the adaptation has been process...
Definition: common/grid.hh:844
GeometryImp< dim-cd, dimw, const GridImp > GeometryImpl
Definition: common/grid.hh:1368
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:498
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:921
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" eleme...
Definition: common/grid.hh:360
Wrapper class for geometries.
Definition: common/geometry.hh:65
bool preAdapt()
To be called after entities have been marked and before adapt() is called.
Definition: common/grid.hh:816
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:532
Traits associated with a specific grid partition type.
Definition: common/grid.hh:1390
Dune::GridView< LeafGridViewTraits< const GridImp, pitype > > LeafGridView
The type of the leaf grid view associated with this partition type.
Definition: common/grid.hh:1422
Dune::EntitySeed< const GridImp, EntitySeedImp< cd, const GridImp > > EntitySeed
The type of the entity seed of this codim.
Definition: common/grid.hh:1383
int size(int codim) const
Return number of leaf entities of a given codim in this process.
Definition: common/grid.hh:575
bool adapt()
Refine all positive marked leaf entities, coarsen all negative marked entities if possible...
Definition: common/grid.hh:835
GeometryType
Type representing VTK's entity geometry types.
Definition: common.hh:178
T::Implementation ImplementationType
The correct type of the implementation to return.
Definition: common/grid.hh:1245
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:945
IndexSet< const GridImp, LeafIndexSetImp > LeafIndexSet
The type of the leaf index set.
Definition: common/grid.hh:1428
Wrapper and interface classes for element geometries.
LevelGridView levelGridView(int level) const
View for a grid level for All_Partition.
Definition: common/grid.hh:632
int ghostSize(int level, int codim) const
Return size of ghost region for a given codim on a given level.
Definition: common/grid.hh:872
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:914
GridFamily::Traits::template Codim< cd >::Entity Entity
A type that is a model of a Dune::Entity.
Definition: common/grid.hh:446
Include standard header files.
Definition: agrid.hh:59
bool loadBalance()
Re-balances the load each process has to handle for a parallel grid,.
Definition: common/grid.hh:931
Interface class EntitySeed.
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:524
const LevelIndexSet & levelIndexSet(int level) const
return const reference to the grids level index set for level level
Definition: common/grid.hh:755
LocalGeometryImp< dim-cd, dim, const GridImp > LocalGeometryImpl
Definition: common/grid.hh:1369
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:505
GridFamily::Traits::template Codim< cd >::EntityPointer EntityPointer
A type that is a model of Dune::EntityPointer.
Definition: common/grid.hh:449
Traits::template Codim< codim >::LeafIterator leafend() const
one past the end on the leaf grid for PartitionType All_Partition
Definition: common/grid.hh:1080
interface class for an iterator over grid entitiesAn entity iterator is an iterator over a subset of ...
Definition: entityiterator.hh:35
Traits::template Codim< codim >::LevelIterator lend(int level) const
one past the end on this level for PartitionType All_Partition
Definition: common/grid.hh:1050
void communicate(CommDataHandleIF< DataHandleImp, DataTypeImp > &data, InterfaceType iftype, CommunicationDirection dir) const
Definition: common/grid.hh:1215
Dune::Intersection< const GridImp, LeafIntersectionImp< const GridImp > > LeafIntersection
The type of the intersection at the leafs of the grid.
Definition: common/grid.hh:1349
CCType CollectiveCommunication
The type of the collective communication.
Definition: common/grid.hh:1435
Traits associated with a specific grid partition type.
Definition: common/grid.hh:1414
GridFamily::Traits::template Codim< cd >::Geometry Geometry
A type that is a model of Dune::Geometry.
Definition: common/grid.hh:440
void globalRefine(int refCount)
Refine the grid refCount times using the default refinement rule.
Definition: common/grid.hh:781
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:1393
Codim< cd >::template Partition< pitype >::LeafIterator leafbegin() const
Iterator to first entity of given codim on leaf grid.
Definition: common/grid.hh:696
int overlapSize(int codim) const
Return size of overlap region for a given codim on the leaf grid.
Definition: common/grid.hh:865
Specialize with 'true' for all codims that a grid implements entities for. (default=false) ...
Definition: common/capabilities.hh:57
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:388
MakeableInterfaceObject(const ImplementationType &realImp)
create interface object by calling the contructor of the base class
Definition: common/grid.hh:1470
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:518
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:1353
int maxLevel() const
Return maximum level defined in this grid. Levels are numbered 0 ... maxLevel with 0 the coarsest lev...
Definition: common/grid.hh:561
CommDataHandleIF describes the features of a data handle for communication in parallel runs using the...
Definition: datahandleif.hh:72
The dimension of the world the grid lives in.
Definition: common/grid.hh:408
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:1305
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:897
size_t numBoundarySegments() const
returns the number of boundary segments within the macro grid
Definition: common/grid.hh:601
Definition: geometryreference.hh:89
GridFamily::Traits::template Codim< cd >::LocalGeometry LocalGeometry
A type that is a model of Dune::Geometry.
Definition: common/grid.hh:443
GridImp Grid
The type that implements the grid.
Definition: common/grid.hh:1346
GridType::Traits::Grid GridImp
Definition: common/grid.hh:1454
GridFamily::Traits Traits
The traits of this class.
Definition: common/grid.hh:1039
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:512
ct ctype
Define type used for coordinates in grid module.
Definition: common/grid.hh:548
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:539
GridFamily::Traits::template Partition< pitype >::LevelGridView LevelGridView
Definition: common/grid.hh:423
Wrapper and interface class for a static iterator (EntityPointer)
int size(int level, GeometryType type) const
Return number of entities per level and geometry type in this process.
Definition: common/grid.hh:582
int ghostSize(int codim) const
ghostSize is zero by default
Definition: common/grid.hh:1202
Dune::Intersection< const GridImp, LevelIntersectionImp< const GridImp > > LevelIntersection
The type of the intersection at the levels of the grid.
Definition: common/grid.hh:1351
The dimension of the grid.
Definition: common/grid.hh:402
IndexSet< const GridImp, LevelIndexSetImp > LevelIndexSet
The type of the level index set.
Definition: common/grid.hh:1426
Traits::template Partition< All_Partition >::LevelGridView levelGridView(int level) const
View for a grid level for All_Partition.
Definition: common/grid.hh:1123
Describes the parallel communication interface class for MessageBuffers and DataHandles.
Dune::EntityIterator< 0, const GridImp, HierarchicIteratorImp< const GridImp > > HierarchicIterator
The type of the hierarchic iterator.
Definition: common/grid.hh:1358
Dune::Entity< cd, dim, const GridImp, EntityImp > Entity
The type of the entity.
Definition: common/grid.hh:1377
Definition: objectfactory.hh:23
Id Set Interface.
Definition: common/grid.hh:362
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:568
bool adapt()
Refine all positive marked leaf entities coarsen all negative marked entities if possible.
Definition: common/grid.hh:1187
Intersection of a mesh entities of codimension 0 ("elements") with a "neighboring" element or with th...
Definition: albertagrid/dgfparser.hh:26
Definition: common/grid.hh:351
Codim< EntitySeed::codimension >::EntityPointer entityPointer(const EntitySeed &seed) const
obtain EntityPointer from EntitySeed.
Definition: common/grid.hh:962
Index Set Interface base class.
Definition: common/grid.hh:361
LeafGridView leafGridView() const
View for the leaf grid for All_Partition.
Definition: common/grid.hh:638
Grid view abstract base class.
Definition: common/gridview.hh:58
GridFamily::Traits::template Codim< cd >::EntitySeed EntitySeed
A type that is a model (not yet) of Dune::EntitySeed.
Definition: common/grid.hh:452
Partition< pitype >::LeafGridView leafGridView() const
View for the leaf grid.
Definition: common/grid.hh:626
void postAdapt()
clean up some markers
Definition: common/grid.hh:1193
const LeafIndexSet & leafIndexSet() const
return const reference to the grids leaf index set
Definition: common/grid.hh:762
Dune::GridView< LevelGridViewTraits< const GridImp, pitype > > LevelGridView
The type of the level grid view associated with this partition type.
Definition: common/grid.hh:1418
void communicate(CommDataHandleIF< DataHandleImp, DataTypeImp > &data, InterfaceType iftype, CommunicationDirection dir, int level) const
Definition: common/grid.hh:1209
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:545
IdSet< const GridImp, GlobalIdSetImp, GIDType > GlobalIdSet
The type of the global id set.
Definition: common/grid.hh:1430
Store a reference to an entity with a minimal memory footprint.
Definition: common/entityseed.hh:23
int ghostSize(int codim) const
Return size of ghost region for a given codim on the leaf grid.
Definition: common/grid.hh:879
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:1355
Partition< All_Partition >::LevelGridView LevelGridView
View types for All_Partition.
Definition: common/grid.hh:428
const T::Implementation ImplementationType
Definition: common/grid.hh:1256
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:464
InterfaceType::Implementation ImplementationType
Definition: common/grid.hh:1468
Provides base classes for index and id sets.
Helper class to choose correct implementation return type for getRealImplementation.
Definition: common/grid.hh:1240
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:480
const GlobalIdSet & globalIdSet() const
return const reference to the grids global id set
Definition: common/grid.hh:741
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:471
static const bool v
Definition: common/capabilities.hh:59
Traits::template Partition< pitype >::LeafGridView leafGridView() const
View for the leaf grid.
Definition: common/grid.hh:1115
Dune::Geometry< dim-cd, dim, const GridImp, LocalGeometryImp > LocalGeometry
The type of the local geometry associated with the entity.
Definition: common/grid.hh:1374
Types for GridView.
Definition: common/grid.hh:420
CommunicationDirection
Define a type for communication direction parameter.
Definition: gridenums.hh:168
Partition< All_Partition >::LevelIterator LevelIterator
The type of the entity pointer for entities of this codim.
Definition: common/grid.hh:1402
GridDefaultImplementation< dim, dimworld, ct, GridFamily > GridType
Definition: common/grid.hh:1453
Partition< pitype >::LevelGridView levelGridView(int level) const
View for a grid level.
Definition: common/grid.hh:617
const GridImp & asImp() const
Barton-Nackman trick.
Definition: common/grid.hh:980
IdSet< const GridImp, LocalIdSetImp, LIDType > LocalIdSet
The type of the local id set.
Definition: common/grid.hh:1432
const LocalIdSet & localIdSet() const
return const reference to the grids local id set
Definition: common/grid.hh:748
bool preAdapt()
returns true, if at least one entity is marked for adaption
Definition: common/grid.hh:1190
int overlapSize(int level, int codim) const
Return size of overlap for a given codim on a given level.
Definition: common/grid.hh:858
Partition< All_Partition >::LeafGridView LeafGridView
Definition: common/grid.hh:429
A traits struct that collects all associated types of one grid model.
Definition: common/grid.hh:1343
Traits associated with a specific codim.
Definition: common/grid.hh:1365
int ghostSize(int level, int codim) const
ghostSize is zero by default
Definition: common/grid.hh:1196
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:476
Partition< All_Partition >::LeafIterator LeafIterator
The type of the iterator over all leaf entities of this codim.
Definition: common/grid.hh:1399
Dune::EntityPointer< const GridImp, EntityPointerImp< cd, const GridImp > > EntityPointer
The type of the entity pointer for entities of this codim.
Definition: common/grid.hh:1380
int getMark(const typename Codim< 0 >::Entity &e) const
returns adaptation mark for given entity
Definition: common/grid.hh:805
bool loadBalance(DataHandle &data)
default implementation of load balance does nothing and returns false
Definition: common/grid.hh:1227
int size(GeometryType type) const
Return number of leaf entities per geometry type in this process.
Definition: common/grid.hh:589
A set of traits classes to store static information about grid implementation.
Codim< cd >::template Partition< pitype >::LeafIterator leafend() const
one past the end on the leaf level grid
Definition: common/grid.hh:706
bool loadBalance()
default implementation of load balance does nothing and returns false
Definition: common/grid.hh:1220
Wrapper class for entities.
Definition: common/entity.hh:61
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:491
Codim< cd >::template Partition< pitype >::LevelIterator lbegin(int level) const
Iterator to first entity of given codim on level.
Definition: common/grid.hh:656
Dune::Geometry< dim-cd, dimw, const GridImp, GeometryImp > Geometry
IMPORTANT: Codim::Geometry == Geometry
Definition: common/grid.hh:1372