Go to the documentation of this file.
3 #ifndef DUNE_GRID_COMMON_DEFAULTGRIDVIEW_HH
4 #define DUNE_GRID_COMMON_DEFAULTGRIDVIEW_HH
6 #include <dune/common/typetraits.hh>
7 #include <dune/common/exceptions.hh>
15 template<
class Gr
idImp >
18 template<
class Gr
idImp >
22 template<
class Gr
idImp >
28 typedef typename std::remove_const<GridImp>::type
Grid;
31 typedef typename Grid :: Traits :: LevelIndexSet
IndexSet;
37 typedef typename Grid :: Traits :: LevelIntersectionIterator
46 typedef typename Grid :: Traits
57 template< PartitionIteratorType pit >
67 enum {
conforming = Capabilities :: isLevelwiseConforming< Grid > :: v };
71 template<
class Gr
idImp >
72 class DefaultLevelGridView
74 typedef DefaultLevelGridView< GridImp > ThisType;
115 return grid().levelIndexSet( level_ );
121 return grid().size( level_, codim );
127 return grid().size( level_, type );
134 return grid().template lbegin< cd, All_Partition >( level_ );
138 template<
int cd, PartitionIteratorType pit >
141 return grid().template lbegin< cd, pit >( level_ );
148 return grid().template lend< cd, All_Partition >( level_ );
152 template<
int cd, PartitionIteratorType pit >
155 return grid().template lend< cd, pit >( level_ );
162 return entity.impl().ilevelbegin();
169 return entity.impl().ilevelend();
175 return grid().comm();
181 return grid().overlapSize(level_, codim);
187 return grid().ghostSize(level_, codim);
191 template<
class DataHandleImp,
class DataType >
196 return grid().communicate( data, iftype, dir, level_ );
205 template<
class Gr
idImp >
210 typedef typename std::remove_const<GridImp>::type
Grid;
213 typedef typename Grid :: Traits :: LeafIndexSet
IndexSet;
219 typedef typename Grid :: Traits :: LeafIntersectionIterator
228 typedef typename Grid :: Traits
239 template <PartitionIteratorType pit >
249 enum {
conforming = Capabilities :: isLeafwiseConforming< Grid > :: v };
253 template<
class Gr
idImp >
254 class DefaultLeafGridView
256 typedef DefaultLeafGridView< GridImp > ThisType;
297 return grid().leafIndexSet();
303 return grid().size( codim );
309 return grid().size( type );
316 return grid().template leafbegin< cd, All_Partition >();
320 template<
int cd, PartitionIteratorType pit >
323 return grid().template leafbegin< cd, pit >();
330 return grid().template leafend< cd, All_Partition >();
334 template<
int cd, PartitionIteratorType pit >
337 return grid().template leafend< cd, pit >();
344 return entity.impl().ileafbegin();
351 return entity.impl().ileafend();
357 return grid().comm();
363 return grid().overlapSize(codim);
369 return grid().ghostSize(codim);
373 template<
class DataHandleImp,
class DataType >
378 return grid().communicate( data, iftype, dir );
Traits ::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition: defaultgridview.hh:92
Definition: defaultgridview.hh:19
Codim< cd >::template Partition< pit >::Iterator end() const
obtain end iterator for this view
Definition: defaultgridview.hh:153
DefaultLeafGridView< GridImp > GridViewImp
Definition: defaultgridview.hh:207
Grid ::Traits ::LeafIntersection Intersection
type of the intersection
Definition: defaultgridview.hh:216
Codim< cd >::template Partition< pit >::Iterator end() const
obtain end iterator for this view
Definition: defaultgridview.hh:335
Grid ::Traits ::template Codim< cd >::Entity Entity
Definition: defaultgridview.hh:50
IntersectionIterator iend(const typename Codim< 0 > ::Entity &entity) const
obtain end intersection iterator with respect to this view
Definition: defaultgridview.hh:349
Traits ::IndexSet IndexSet
type of the index set
Definition: defaultgridview.hh:83
const Grid & grid() const
obtain a const reference to the underlying hierarchic grid
Definition: defaultgridview.hh:288
Codim Structure.
Definition: defaultgridview.hh:278
Grid ::Traits ::LevelIntersectionIterator IntersectionIterator
type of the intersection iterator
Definition: defaultgridview.hh:38
GeometryType
Type representing VTK's entity geometry types.
Definition: common.hh:178
Define types needed to iterate over entities of a given partition type.
Definition: defaultgridview.hh:240
Traits ::Intersection Intersection
type of the intersection
Definition: defaultgridview.hh:86
DefaultLevelGridViewTraits< GridImp > Traits
Definition: defaultgridview.hh:77
Traits ::IndexSet IndexSet
type of the index set
Definition: defaultgridview.hh:265
int overlapSize(int codim) const
Return size of the overlap region for a given codim on the grid view.
Definition: defaultgridview.hh:179
int size(const GeometryType &type) const
obtain number of entities with a given geometry type
Definition: defaultgridview.hh:307
Grid ::Traits ::LeafIndexSet IndexSet
type of the index set
Definition: defaultgridview.hh:213
DefaultLeafGridView(const Grid &grid)
Definition: defaultgridview.hh:283
InterfaceType
Parameter to be used for the communication functions.
Definition: gridenums.hh:84
const IndexSet & indexSet() const
obtain the index set
Definition: defaultgridview.hh:295
Traits ::Intersection Intersection
type of the intersection
Definition: defaultgridview.hh:268
Grid ::Traits ::LevelIntersection Intersection
type of the intersection
Definition: defaultgridview.hh:34
Grid ::Traits ::LeafIntersectionIterator IntersectionIterator
type of the intersection iterator
Definition: defaultgridview.hh:220
Grid ::Traits ::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition: defaultgridview.hh:223
Definition: defaultgridview.hh:44
Grid abstract base class.
Definition: common/grid.hh:373
Codim< cd >::Iterator end() const
obtain end iterator for this view
Definition: defaultgridview.hh:146
Codim< cd >::Iterator begin() const
obtain begin iterator for this view
Definition: defaultgridview.hh:132
IntersectionIterator iend(const typename Codim< 0 > ::Entity &entity) const
obtain end intersection iterator with respect to this view
Definition: defaultgridview.hh:167
const CollectiveCommunication & comm() const
obtain collective communication object
Definition: defaultgridview.hh:173
Definition: defaultgridview.hh:226
Codim< cd >::template Partition< pit >::Iterator begin() const
obtain begin iterator for this view
Definition: defaultgridview.hh:139
DefaultLevelGridView(const Grid &grid, int level)
Definition: defaultgridview.hh:100
Codim Structure.
Definition: defaultgridview.hh:96
Definition: defaultgridview.hh:23
Grid ::template Codim< cd >::template Partition< pit >::LevelIterator Iterator
iterator over a given codim and partition type
Definition: defaultgridview.hh:63
A set of traits classes to store static information about grid implementation.
Grid ::template Codim< cd >::Geometry Geometry
Definition: defaultgridview.hh:52
const Grid & grid() const
obtain a const reference to the underlying hierarchic grid
Definition: defaultgridview.hh:106
Grid ::template Codim< cd >::template Partition< pit >::LeafIterator Iterator
iterator over a given codim and partition type
Definition: defaultgridview.hh:245
Definition: defaultgridview.hh:16
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" eleme...
Definition: common/grid.hh:345
DefaultLevelGridView< GridImp > GridViewImp
Definition: defaultgridview.hh:25
Grid ::Traits ::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition: defaultgridview.hh:41
Grid ::Traits ::template Codim< cd >::Entity Entity
Definition: defaultgridview.hh:232
Define types needed to iterate over entities of a given partition type.
Definition: defaultgridview.hh:58
Codim< cd >::Iterator begin() const
obtain begin iterator for this view
Definition: defaultgridview.hh:314
Grid ::Traits ::LevelIndexSet IndexSet
type of the index set
Definition: defaultgridview.hh:31
const IndexSet & indexSet() const
obtain the index set
Definition: defaultgridview.hh:113
DefaultLeafGridViewTraits< GridImp > Traits
Definition: defaultgridview.hh:259
Traits ::IntersectionIterator IntersectionIterator
type of the intersection iterator
Definition: defaultgridview.hh:271
Grid ::template Codim< cd >::Geometry Geometry
Definition: defaultgridview.hh:234
std::remove_const< GridImp >::type Grid
type of the grid
Definition: defaultgridview.hh:210
int ghostSize(int codim) const
Return size of the ghost region for a given codim on the grid view.
Definition: defaultgridview.hh:185
Grid ::Traits ::template Codim< cd >::template Partition< All_Partition >::LeafIterator Iterator
Definition: defaultgridview.hh:230
void communicate(CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const
Definition: defaultgridview.hh:192
std::remove_const< GridImp >::type Grid
type of the grid
Definition: defaultgridview.hh:28
@ conforming
Definition: defaultgridview.hh:67
int size(int codim) const
obtain number of entities in a given codimension
Definition: defaultgridview.hh:301
int ghostSize(int codim) const
Return size of the ghost region for a given codim on the grid view.
Definition: defaultgridview.hh:367
Traits ::IntersectionIterator IntersectionIterator
type of the intersection iterator
Definition: defaultgridview.hh:89
IntersectionIterator ibegin(const typename Codim< 0 > ::Entity &entity) const
obtain begin intersection iterator with respect to this view
Definition: defaultgridview.hh:160
@ conforming
Definition: defaultgridview.hh:98
Grid ::Traits ::template Codim< cd >::template Partition< All_Partition >::LevelIterator Iterator
Definition: defaultgridview.hh:48
int overlapSize(int codim) const
Return size of the overlap region for a given codim on the grid view.
Definition: defaultgridview.hh:361
int size(int codim) const
obtain number of entities in a given codimension
Definition: defaultgridview.hh:119
IntersectionIterator ibegin(const typename Codim< 0 > ::Entity &entity) const
obtain begin intersection iterator with respect to this view
Definition: defaultgridview.hh:342
Codim< cd >::template Partition< pit >::Iterator begin() const
obtain begin iterator for this view
Definition: defaultgridview.hh:321
Grid ::template Codim< cd >::LocalGeometry LocalGeometry
Definition: defaultgridview.hh:236
Traits::Grid Grid
type of the grid
Definition: defaultgridview.hh:262
Codim< cd >::Iterator end() const
obtain end iterator for this view
Definition: defaultgridview.hh:328
CommDataHandleIF describes the features of a data handle for communication in parallel runs using the...
Definition: datahandleif.hh:75
void communicate(CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const
Definition: defaultgridview.hh:374
const CollectiveCommunication & comm() const
obtain collective communication object
Definition: defaultgridview.hh:355
Grid ::template Codim< cd >::LocalGeometry LocalGeometry
Definition: defaultgridview.hh:54
int size(const GeometryType &type) const
obtain number of entities with a given geometry type
Definition: defaultgridview.hh:125
Include standard header files.
Definition: agrid.hh:58
Definition: defaultgridview.hh:206
Traits::Grid Grid
type of the grid
Definition: defaultgridview.hh:80
Traits ::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition: defaultgridview.hh:274
@ conforming
Definition: defaultgridview.hh:280
@ conforming
Definition: defaultgridview.hh:249
CommunicationDirection
Define a type for communication direction parameter.
Definition: gridenums.hh:168