5 #ifndef DUNE_GRID_COMMON_DEFAULTGRIDVIEW_HH 6 #define DUNE_GRID_COMMON_DEFAULTGRIDVIEW_HH 8 #include <dune/common/typetraits.hh> 9 #include <dune/common/exceptions.hh> 17 template<
class Gr
idImp >
20 template<
class Gr
idImp >
24 template<
class Gr
idImp >
30 typedef typename std::remove_const<GridImp>::type
Grid;
33 typedef typename Grid :: Traits :: LevelIndexSet
IndexSet;
39 typedef typename Grid :: Traits :: LevelIntersectionIterator
48 typedef typename Grid :: Traits
59 template< PartitionIteratorType pit >
69 constexpr
static bool conforming = Capabilities :: isLevelwiseConforming< Grid > :: v;
73 template<
class Gr
idImp >
117 return grid().levelIndexSet( level_ );
126 return grid().size( level_, codim );
132 return grid().size( level_, type );
139 return grid().template lbegin< cd, All_Partition >( level_ );
143 template<
int cd, PartitionIteratorType pit >
146 return grid().template lbegin< cd, pit >( level_ );
153 return grid().template lend< cd, All_Partition >( level_ );
157 template<
int cd, PartitionIteratorType pit >
160 return grid().template lend< cd, pit >( level_ );
167 return grid().ilevelbegin(entity);
174 return grid().ilevelend(entity);
180 return grid().comm();
186 return grid().overlapSize(level_, codim);
192 return grid().ghostSize(level_, codim);
196 template<
class DataHandleImp,
class DataType >
201 return grid().communicate( data, iftype, dir, level_ );
210 template<
class Gr
idImp >
215 typedef typename std::remove_const<GridImp>::type
Grid;
218 typedef typename Grid :: Traits :: LeafIndexSet
IndexSet;
224 typedef typename Grid :: Traits :: LeafIntersectionIterator
233 typedef typename Grid :: Traits
244 template <PartitionIteratorType pit >
254 constexpr
static bool conforming = Capabilities :: isLeafwiseConforming< Grid > :: v;
258 template<
class Gr
idImp >
302 return grid().leafIndexSet();
311 return grid().size( codim );
317 return grid().size( type );
324 return grid().template leafbegin< cd, All_Partition >();
328 template<
int cd, PartitionIteratorType pit >
331 return grid().template leafbegin< cd, pit >();
338 return grid().template leafend< cd, All_Partition >();
342 template<
int cd, PartitionIteratorType pit >
345 return grid().template leafend< cd, pit >();
352 return grid().ileafbegin(entity);
359 return grid().ileafend(entity);
365 return grid().comm();
371 return grid().overlapSize(codim);
377 return grid().ghostSize(codim);
381 template<
class DataHandleImp,
class DataType >
386 return grid().communicate( data, iftype, dir );
Codim< cd >::Iterator begin() const
obtain begin iterator for this view
Definition: defaultgridview.hh:322
Traits ::IntersectionIterator IntersectionIterator
type of the intersection iterator
Definition: defaultgridview.hh:91
Definition: defaultgridview.hh:46
Traits::Grid Grid
type of the grid
Definition: defaultgridview.hh:82
static constexpr bool conforming
Definition: defaultgridview.hh:285
Definition: defaultgridview.hh:18
int size(const GeometryType &type) const
obtain number of entities with a given geometry type
Definition: defaultgridview.hh:315
void communicate(CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const
Definition: defaultgridview.hh:197
Grid ::template Codim< cd >::LocalGeometry LocalGeometry
Definition: defaultgridview.hh:241
Grid ::template Codim< cd >::LocalGeometry LocalGeometry
Definition: defaultgridview.hh:56
Codim< cd >::Iterator end() const
obtain end iterator for this view
Definition: defaultgridview.hh:151
IntersectionIterator ibegin(const typename Codim< 0 > ::Entity &entity) const
obtain begin intersection iterator with respect to this view
Definition: defaultgridview.hh:350
int ghostSize(int codim) const
Return size of the ghost region for a given codim on the grid view.
Definition: defaultgridview.hh:375
Grid ::Traits ::template Codim< cd >::template Partition< All_Partition >::LeafIterator Iterator
Definition: defaultgridview.hh:235
std::remove_const< GridImp >::type Grid
type of the grid
Definition: defaultgridview.hh:30
DefaultLevelGridView< GridImp > GridViewImp
Definition: defaultgridview.hh:27
const Grid & grid() const
obtain a const reference to the underlying hierarchic grid
Definition: defaultgridview.hh:293
static constexpr bool conforming
Definition: defaultgridview.hh:100
Codim< cd >::template Partition< pit >::Iterator begin() const
obtain begin iterator for this view
Definition: defaultgridview.hh:144
Definition: defaultgridview.hh:25
Grid ::Traits ::LevelIntersectionIterator IntersectionIterator
type of the intersection iterator
Definition: defaultgridview.hh:40
Traits ::Intersection Intersection
type of the intersection
Definition: defaultgridview.hh:273
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:375
Grid ::Traits ::Communication Communication
type of the communication
Definition: defaultgridview.hh:279
Traits ::IndexSet IndexSet
type of the index set
Definition: defaultgridview.hh:85
void communicate(CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const
Definition: defaultgridview.hh:382
Codim< cd >::template Partition< pit >::Iterator end() const
obtain end iterator for this view
Definition: defaultgridview.hh:158
std::remove_const< GridImp >::type Grid
type of the grid
Definition: defaultgridview.hh:215
Codim< cd >::template Partition< pit >::Iterator end() const
obtain end iterator for this view
Definition: defaultgridview.hh:343
Grid ::template Codim< cd >::template Partition< pit >::LevelIterator Iterator
iterator over a given codim and partition type
Definition: defaultgridview.hh:65
Define types needed to iterate over entities of a given partition type.
Definition: defaultgridview.hh:60
Grid ::Traits ::LevelIndexSet IndexSet
type of the index set
Definition: defaultgridview.hh:33
Traits ::Intersection Intersection
type of the intersection
Definition: defaultgridview.hh:88
IntersectionIterator iend(const typename Codim< 0 > ::Entity &entity) const
obtain end intersection iterator with respect to this view
Definition: defaultgridview.hh:357
static constexpr bool conforming
Definition: defaultgridview.hh:69
int size(int codim) const
obtain number of entities in a given codimension
Definition: defaultgridview.hh:124
const IndexSet & indexSet() const
obtain the index set
Definition: defaultgridview.hh:300
Codim Structure.
Definition: defaultgridview.hh:283
const Grid & grid() const
obtain a const reference to the underlying hierarchic grid
Definition: defaultgridview.hh:108
Codim< cd >::Iterator begin() const
obtain begin iterator for this view
Definition: defaultgridview.hh:137
Traits::Grid Grid
type of the grid
Definition: defaultgridview.hh:267
Grid ::Traits ::template Codim< cd >::template Partition< All_Partition >::LevelIterator Iterator
Definition: defaultgridview.hh:50
Grid ::Traits ::template Codim< cd >::Entity Entity
Definition: defaultgridview.hh:237
Grid ::template Codim< cd >::template Partition< pit >::LeafIterator Iterator
iterator over a given codim and partition type
Definition: defaultgridview.hh:250
Grid ::Traits ::LeafIntersectionIterator IntersectionIterator
type of the intersection iterator
Definition: defaultgridview.hh:225
CommunicationDirection
Define a type for communication direction parameter.
Definition: gridenums.hh:170
Grid ::Traits ::LeafIntersection Intersection
type of the intersection
Definition: defaultgridview.hh:221
bool isConforming() const
return true if current state of grid view represents a conforming grid
Definition: defaultgridview.hh:306
int size(int codim) const
obtain number of entities in a given codimension
Definition: defaultgridview.hh:309
Definition: defaultgridview.hh:211
const IndexSet & indexSet() const
obtain the index set
Definition: defaultgridview.hh:115
Include standard header files.
Definition: agrid.hh:59
CommDataHandleIF describes the features of a data handle for communication in parallel runs using the...
Definition: datahandleif.hh:77
InterfaceType
Parameter to be used for the communication functions.
Definition: gridenums.hh:86
DefaultLeafGridView(const Grid &grid)
Definition: defaultgridview.hh:288
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" eleme...
Definition: common/grid.hh:347
Traits ::IndexSet IndexSet
type of the index set
Definition: defaultgridview.hh:270
Define types needed to iterate over entities of a given partition type.
Definition: defaultgridview.hh:245
Codim Structure.
Definition: defaultgridview.hh:98
int overlapSize(int codim) const
Return size of the overlap region for a given codim on the grid view.
Definition: defaultgridview.hh:184
bool isConforming() const
return true if current state of grid view represents a conforming grid
Definition: defaultgridview.hh:121
Grid ::Traits ::LeafIndexSet IndexSet
type of the index set
Definition: defaultgridview.hh:218
int size(const GeometryType &type) const
obtain number of entities with a given geometry type
Definition: defaultgridview.hh:130
Grid ::Traits ::Communication Communication
type of the communication
Definition: defaultgridview.hh:43
int ghostSize(int codim) const
Return size of the ghost region for a given codim on the grid view.
Definition: defaultgridview.hh:190
const Communication & comm() const
obtain communication object
Definition: defaultgridview.hh:178
Codim< cd >::Iterator end() const
obtain end iterator for this view
Definition: defaultgridview.hh:336
IntersectionIterator iend(const typename Codim< 0 > ::Entity &entity) const
obtain end intersection iterator with respect to this view
Definition: defaultgridview.hh:172
Grid ::Traits ::template Codim< cd >::Entity Entity
Definition: defaultgridview.hh:52
Definition: defaultgridview.hh:231
Grid ::template Codim< cd >::Geometry Geometry
Definition: defaultgridview.hh:239
GeometryType
Type representing VTK's entity geometry types.
Definition: common.hh:132
DefaultLevelGridViewTraits< GridImp > Traits
Definition: defaultgridview.hh:79
DefaultLevelGridView(const Grid &grid, int level)
Definition: defaultgridview.hh:102
DefaultLeafGridViewTraits< GridImp > Traits
Definition: defaultgridview.hh:264
IntersectionIterator ibegin(const typename Codim< 0 > ::Entity &entity) const
obtain begin intersection iterator with respect to this view
Definition: defaultgridview.hh:165
A set of traits classes to store static information about grid implementation.
Traits ::IntersectionIterator IntersectionIterator
type of the intersection iterator
Definition: defaultgridview.hh:276
const Communication & comm() const
obtain communication object
Definition: defaultgridview.hh:363
Grid ::Traits ::LevelIntersection Intersection
type of the intersection
Definition: defaultgridview.hh:36
int overlapSize(int codim) const
Return size of the overlap region for a given codim on the grid view.
Definition: defaultgridview.hh:369
Grid ::Traits ::Communication Communication
type of the communication
Definition: defaultgridview.hh:94
Grid ::Traits ::Communication Communication
type of the communication
Definition: defaultgridview.hh:228
Definition: defaultgridview.hh:21
Codim< cd >::template Partition< pit >::Iterator begin() const
obtain begin iterator for this view
Definition: defaultgridview.hh:329
static constexpr bool conforming
Definition: defaultgridview.hh:254
DefaultLeafGridView< GridImp > GridViewImp
Definition: defaultgridview.hh:212
Grid ::template Codim< cd >::Geometry Geometry
Definition: defaultgridview.hh:54