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 >
18 class DefaultLevelGridView;
20 template<
class Gr
idImp >
21 class DefaultLeafGridView;
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 );
130 int size (
const GeometryType &type )
const
132 return grid().size( level_, type );
143 template<
int cd, PartitionIteratorType pit >
157 template<
int cd, PartitionIteratorType pit >
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 >
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 );
315 int size (
const GeometryType &type )
const
317 return grid().size( type );
328 template<
int cd, PartitionIteratorType pit >
342 template<
int cd, PartitionIteratorType 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 >
CommunicationDirection
Define a type for communication direction parameter.
Definition gridenums.hh:170
InterfaceType
Parameter to be used for the communication functions.
Definition gridenums.hh:86
Include standard header files.
Definition agrid.hh:60
Definition defaultgridview.hh:75
Codim< cd >::template Partition< pit >::Iterator begin() const
obtain begin iterator for this view
Definition defaultgridview.hh:144
int size(const GeometryType &type) const
obtain number of entities with a given geometry type
Definition defaultgridview.hh:130
Codim< cd >::Iterator begin() const
obtain begin iterator for this view
Definition defaultgridview.hh:137
IntersectionIterator iend(const typename Codim< 0 > ::Entity &entity) const
obtain end intersection iterator with respect to this view
Definition defaultgridview.hh:172
Codim< cd >::template Partition< pit >::Iterator end() const
obtain end iterator for this view
Definition defaultgridview.hh:158
DefaultLevelGridViewTraits< GridImp > Traits
Definition defaultgridview.hh:79
const IndexSet & indexSet() const
obtain the index set
Definition defaultgridview.hh:115
const Communication & comm() const
obtain communication object
Definition defaultgridview.hh:178
static constexpr bool conforming
Definition defaultgridview.hh:100
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:197
Traits::IntersectionIterator IntersectionIterator
type of the intersection iterator
Definition defaultgridview.hh:91
int size(int codim) const
obtain number of entities in a given codimension
Definition defaultgridview.hh:124
int overlapSize(int codim) const
Return size of the overlap region for a given codim on the grid view.
Definition defaultgridview.hh:184
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:165
DefaultLevelGridView(const Grid &grid, int level)
Definition defaultgridview.hh:102
Traits::Intersection Intersection
type of the intersection
Definition defaultgridview.hh:88
Grid::Traits::Communication Communication
type of the communication
Definition defaultgridview.hh:94
bool isConforming() const
return true if current state of grid view represents a conforming grid
Definition defaultgridview.hh:121
int ghostSize(int codim) const
Return size of the ghost region for a given codim on the grid view.
Definition defaultgridview.hh:190
Traits::Grid Grid
type of the grid
Definition defaultgridview.hh:82
const Grid & grid() const
obtain a const reference to the underlying hierarchic grid
Definition defaultgridview.hh:108
Definition defaultgridview.hh:260
void communicate(CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const
Definition defaultgridview.hh:382
DefaultLeafGridViewTraits< GridImp > Traits
Definition defaultgridview.hh:264
Codim< cd >::template Partition< pit >::Iterator end() const
obtain end iterator for this view
Definition defaultgridview.hh:343
const Grid & grid() const
obtain a const reference to the underlying hierarchic grid
Definition defaultgridview.hh:293
Codim< cd >::template Partition< pit >::Iterator begin() const
obtain begin iterator for this view
Definition defaultgridview.hh:329
IntersectionIterator ibegin(const typename Codim< 0 > ::Entity &entity) const
obtain begin intersection iterator with respect to this view
Definition defaultgridview.hh:350
Traits::Intersection Intersection
type of the intersection
Definition defaultgridview.hh:273
IntersectionIterator iend(const typename Codim< 0 > ::Entity &entity) const
obtain end intersection iterator with respect to this view
Definition defaultgridview.hh:357
Codim< cd >::Iterator end() const
obtain end iterator for this view
Definition defaultgridview.hh:336
Traits::Grid Grid
type of the grid
Definition defaultgridview.hh:267
int size(const GeometryType &type) const
obtain number of entities with a given geometry type
Definition defaultgridview.hh:315
bool isConforming() const
return true if current state of grid view represents a conforming grid
Definition defaultgridview.hh:306
Traits::IndexSet IndexSet
type of the index set
Definition defaultgridview.hh:270
const Communication & comm() const
obtain communication object
Definition defaultgridview.hh:363
Grid::Traits::Communication Communication
type of the communication
Definition defaultgridview.hh:279
DefaultLeafGridView(const Grid &grid)
Definition defaultgridview.hh:288
int overlapSize(int codim) const
Return size of the overlap region for a given codim on the grid view.
Definition defaultgridview.hh:369
Codim< cd >::Iterator begin() const
obtain begin iterator for this view
Definition defaultgridview.hh:322
int ghostSize(int codim) const
Return size of the ghost region for a given codim on the grid view.
Definition defaultgridview.hh:375
int size(int codim) const
obtain number of entities in a given codimension
Definition defaultgridview.hh:309
const IndexSet & indexSet() const
obtain the index set
Definition defaultgridview.hh:300
Traits::IntersectionIterator IntersectionIterator
type of the intersection iterator
Definition defaultgridview.hh:276
static constexpr bool conforming
Definition defaultgridview.hh:285
Definition defaultgridview.hh:26
Grid::Traits::Communication Communication
type of the communication
Definition defaultgridview.hh:43
static constexpr bool conforming
Definition defaultgridview.hh:69
Grid::Traits::LevelIntersection Intersection
type of the intersection
Definition defaultgridview.hh:36
Grid::Traits::LevelIntersectionIterator IntersectionIterator
type of the intersection iterator
Definition defaultgridview.hh:40
Grid::Traits::LevelIndexSet IndexSet
type of the index set
Definition defaultgridview.hh:33
std::remove_const< GridImp >::type Grid
type of the grid
Definition defaultgridview.hh:30
DefaultLevelGridView< GridImp > GridViewImp
Definition defaultgridview.hh:27
Definition defaultgridview.hh:47
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:52
Grid::template Codim< cd >::Geometry Geometry
Definition defaultgridview.hh:54
Grid::template Codim< cd >::LocalGeometry LocalGeometry
Definition defaultgridview.hh:56
Define types needed to iterate over entities of a given partition type.
Definition defaultgridview.hh:61
Grid::template Codim< cd >::template Partition< pit >::LevelIterator Iterator
iterator over a given codim and partition type
Definition defaultgridview.hh:65
Codim Structure.
Definition defaultgridview.hh:98
Definition defaultgridview.hh:211
std::remove_const< GridImp >::type Grid
type of the grid
Definition defaultgridview.hh:215
DefaultLeafGridView< GridImp > GridViewImp
Definition defaultgridview.hh:212
static constexpr bool conforming
Definition defaultgridview.hh:254
Grid::Traits::LeafIntersectionIterator IntersectionIterator
type of the intersection iterator
Definition defaultgridview.hh:225
Grid::Traits::LeafIntersection Intersection
type of the intersection
Definition defaultgridview.hh:221
Grid::Traits::LeafIndexSet IndexSet
type of the index set
Definition defaultgridview.hh:218
Grid::Traits::Communication Communication
type of the communication
Definition defaultgridview.hh:228
Definition defaultgridview.hh:232
Grid::Traits::template Codim< cd >::template Partition< All_Partition >::LeafIterator Iterator
Definition defaultgridview.hh:235
Grid::Traits::template Codim< cd >::Entity Entity
Definition defaultgridview.hh:237
Grid::template Codim< cd >::Geometry Geometry
Definition defaultgridview.hh:239
Grid::template Codim< cd >::LocalGeometry LocalGeometry
Definition defaultgridview.hh:241
Define types needed to iterate over entities of a given partition type.
Definition defaultgridview.hh:246
Grid::template Codim< cd >::template Partition< pit >::LeafIterator Iterator
iterator over a given codim and partition type
Definition defaultgridview.hh:250
Codim Structure.
Definition defaultgridview.hh:283
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" eleme...
Definition common/intersectioniterator.hh:83
Grid abstract base class.
Definition common/grid.hh:375
A set of traits classes to store static information about grid implementation.