3#ifndef DUNE_DEFAULTGRIDVIEW_HH
4#define DUNE_DEFAULTGRIDVIEW_HH
6#include <dune/common/typetraits.hh>
7#include <dune/common/exceptions.hh>
15 template<
class Gr
idImp >
16 class DefaultLevelGridView;
18 template<
class Gr
idImp >
19 class DefaultLeafGridView;
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 >
108 : grid_( other.grid_ ),
109 level_( other.level_ )
113 ThisType &operator= (
const ThisType & other)
116 level_ = other.level_;
130 return grid().levelIndexSet( level_ );
136 return grid().size( level_, codim );
140 int size (
const GeometryType &type )
const
142 return grid().size( level_, type );
149 return grid().template lbegin< cd, All_Partition >( level_ );
153 template<
int cd, PartitionIteratorType pit >
156 return grid().template lbegin< cd, pit >( level_ );
163 return grid().template lend< cd, All_Partition >( level_ );
167 template<
int cd, PartitionIteratorType pit >
170 return grid().template lend< cd, pit >( level_ );
177 return entity.impl().ilevelbegin();
184 return entity.impl().ilevelend();
190 return grid().comm();
196 return grid().overlapSize(level_, codim);
202 return grid().ghostSize(level_, codim);
206 template<
class DataHandleImp,
class DataType >
211 return grid().communicate( data, iftype, dir, level_ );
220 template<
class Gr
idImp >
225 typedef typename std::remove_const<GridImp>::type
Grid;
228 typedef typename Grid :: Traits :: LeafIndexSet
IndexSet;
234 typedef typename Grid :: Traits :: LeafIntersectionIterator
243 typedef typename Grid :: Traits
254 template <PartitionIteratorType pit >
264 enum {
conforming = Capabilities :: isLeafwiseConforming< Grid > :: v };
268 template<
class Gr
idImp >
312 return grid().leafIndexSet();
318 return grid().size( codim );
322 int size (
const GeometryType &type )
const
324 return grid().size( type );
331 return grid().template leafbegin< cd, All_Partition >();
335 template<
int cd, PartitionIteratorType pit >
338 return grid().template leafbegin< cd, pit >();
345 return grid().template leafend< cd, All_Partition >();
349 template<
int cd, PartitionIteratorType pit >
352 return grid().template leafend< cd, pit >();
359 return entity.impl().ileafbegin();
366 return entity.impl().ileafend();
372 return grid().comm();
378 return grid().overlapSize(codim);
384 return grid().ghostSize(codim);
388 template<
class DataHandleImp,
class DataType >
393 return grid().communicate( data, iftype, dir );
CommunicationDirection
Define a type for communication direction parameter.
Definition gridenums.hh:168
InterfaceType
Parameter to be used for the communication functions.
Definition gridenums.hh:84
Include standard header files.
Definition agrid.hh:60
CommDataHandleIF describes the features of a data handle for communication in parallel runs using the...
Definition datahandleif.hh:73
Definition defaultgridview.hh:73
Traits::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition defaultgridview.hh:92
Codim< cd >::template Partition< pit >::Iterator begin() const
obtain begin iterator for this view
Definition defaultgridview.hh:154
int size(const GeometryType &type) const
obtain number of entities with a given geometry type
Definition defaultgridview.hh:140
Codim< cd >::Iterator begin() const
obtain begin iterator for this view
Definition defaultgridview.hh:147
IntersectionIterator iend(const typename Codim< 0 > ::Entity &entity) const
obtain end intersection iterator with respect to this view
Definition defaultgridview.hh:182
Codim< cd >::template Partition< pit >::Iterator end() const
obtain end iterator for this view
Definition defaultgridview.hh:168
DefaultLevelGridViewTraits< GridImp > Traits
Definition defaultgridview.hh:77
const IndexSet & indexSet() const
obtain the index set
Definition defaultgridview.hh:128
Traits::IndexSet IndexSet
type of the index set
Definition defaultgridview.hh:83
void communicate(CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const
Definition defaultgridview.hh:207
@ conforming
Definition defaultgridview.hh:98
const CollectiveCommunication & comm() const
obtain collective communication object
Definition defaultgridview.hh:188
Traits::IntersectionIterator IntersectionIterator
type of the intersection iterator
Definition defaultgridview.hh:89
int size(int codim) const
obtain number of entities in a given codimension
Definition defaultgridview.hh:134
int overlapSize(int codim) const
Return size of the overlap region for a given codim on the grid view.
Definition defaultgridview.hh:194
Codim< cd >::Iterator end() const
obtain end iterator for this view
Definition defaultgridview.hh:161
IntersectionIterator ibegin(const typename Codim< 0 > ::Entity &entity) const
obtain begin intersection iterator with respect to this view
Definition defaultgridview.hh:175
DefaultLevelGridView(const Grid &grid, int level)
Definition defaultgridview.hh:100
Traits::Intersection Intersection
type of the intersection
Definition defaultgridview.hh:86
int ghostSize(int codim) const
Return size of the ghost region for a given codim on the grid view.
Definition defaultgridview.hh:200
Traits::Grid Grid
type of the grid
Definition defaultgridview.hh:80
const Grid & grid() const
obtain a const reference to the underlying hierarchic grid
Definition defaultgridview.hh:121
Definition defaultgridview.hh:270
void communicate(CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const
Definition defaultgridview.hh:389
DefaultLeafGridViewTraits< GridImp > Traits
Definition defaultgridview.hh:274
@ conforming
Definition defaultgridview.hh:295
Codim< cd >::template Partition< pit >::Iterator end() const
obtain end iterator for this view
Definition defaultgridview.hh:350
const Grid & grid() const
obtain a const reference to the underlying hierarchic grid
Definition defaultgridview.hh:303
Codim< cd >::template Partition< pit >::Iterator begin() const
obtain begin iterator for this view
Definition defaultgridview.hh:336
IntersectionIterator ibegin(const typename Codim< 0 > ::Entity &entity) const
obtain begin intersection iterator with respect to this view
Definition defaultgridview.hh:357
Traits::Intersection Intersection
type of the intersection
Definition defaultgridview.hh:283
IntersectionIterator iend(const typename Codim< 0 > ::Entity &entity) const
obtain end intersection iterator with respect to this view
Definition defaultgridview.hh:364
Codim< cd >::Iterator end() const
obtain end iterator for this view
Definition defaultgridview.hh:343
Traits::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition defaultgridview.hh:289
Traits::Grid Grid
type of the grid
Definition defaultgridview.hh:277
int size(const GeometryType &type) const
obtain number of entities with a given geometry type
Definition defaultgridview.hh:322
Traits::IndexSet IndexSet
type of the index set
Definition defaultgridview.hh:280
const CollectiveCommunication & comm() const
obtain collective communication object
Definition defaultgridview.hh:370
DefaultLeafGridView(const Grid &grid)
Definition defaultgridview.hh:298
int overlapSize(int codim) const
Return size of the overlap region for a given codim on the grid view.
Definition defaultgridview.hh:376
Codim< cd >::Iterator begin() const
obtain begin iterator for this view
Definition defaultgridview.hh:329
int ghostSize(int codim) const
Return size of the ghost region for a given codim on the grid view.
Definition defaultgridview.hh:382
int size(int codim) const
obtain number of entities in a given codimension
Definition defaultgridview.hh:316
const IndexSet & indexSet() const
obtain the index set
Definition defaultgridview.hh:310
Traits::IntersectionIterator IntersectionIterator
type of the intersection iterator
Definition defaultgridview.hh:286
Definition defaultgridview.hh:24
Grid::Traits::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition defaultgridview.hh:41
Grid::Traits::LevelIntersection Intersection
type of the intersection
Definition defaultgridview.hh:34
Grid::Traits::LevelIntersectionIterator IntersectionIterator
type of the intersection iterator
Definition defaultgridview.hh:38
@ conforming
Definition defaultgridview.hh:67
Grid::Traits::LevelIndexSet IndexSet
type of the index set
Definition defaultgridview.hh:31
std::remove_const< GridImp >::type Grid
type of the grid
Definition defaultgridview.hh:28
DefaultLevelGridView< GridImp > GridViewImp
Definition defaultgridview.hh:25
Definition defaultgridview.hh:45
Grid::Traits::template Codim< cd >::template Partition< All_Partition >::LevelIterator Iterator
Definition defaultgridview.hh:48
Grid::Traits::template Codim< cd >::Entity Entity
Definition defaultgridview.hh:50
Grid::template Codim< cd >::Geometry Geometry
Definition defaultgridview.hh:52
Grid::template Codim< cd >::LocalGeometry LocalGeometry
Definition defaultgridview.hh:54
Define types needed to iterate over entities of a given partition type.
Definition defaultgridview.hh:59
Grid::template Codim< cd >::template Partition< pit >::LevelIterator Iterator
iterator over a given codim and partition type
Definition defaultgridview.hh:63
Codim Structure.
Definition defaultgridview.hh:96
Definition defaultgridview.hh:221
std::remove_const< GridImp >::type Grid
type of the grid
Definition defaultgridview.hh:225
@ conforming
Definition defaultgridview.hh:264
DefaultLeafGridView< GridImp > GridViewImp
Definition defaultgridview.hh:222
Grid::Traits::LeafIntersectionIterator IntersectionIterator
type of the intersection iterator
Definition defaultgridview.hh:235
Grid::Traits::LeafIntersection Intersection
type of the intersection
Definition defaultgridview.hh:231
Grid::Traits::LeafIndexSet IndexSet
type of the index set
Definition defaultgridview.hh:228
Grid::Traits::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition defaultgridview.hh:238
Definition defaultgridview.hh:242
Grid::Traits::template Codim< cd >::template Partition< All_Partition >::LeafIterator Iterator
Definition defaultgridview.hh:245
Grid::Traits::template Codim< cd >::Entity Entity
Definition defaultgridview.hh:247
Grid::template Codim< cd >::Geometry Geometry
Definition defaultgridview.hh:249
Grid::template Codim< cd >::LocalGeometry LocalGeometry
Definition defaultgridview.hh:251
Define types needed to iterate over entities of a given partition type.
Definition defaultgridview.hh:256
Grid::template Codim< cd >::template Partition< pit >::LeafIterator Iterator
iterator over a given codim and partition type
Definition defaultgridview.hh:260
Codim Structure.
Definition defaultgridview.hh:293
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" eleme...
Definition common/intersectioniterator.hh:81
Grid abstract base class.
Definition common/grid.hh:373
A set of traits classes to store static information about grid implementation.