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, PartitionIteratorType pitype >
18 template<
class Gr
idImp, PartitionIteratorType pitype >
22 template<
class Gr
idImp, PartitionIteratorType pitype >
28 typedef typename remove_const<GridImp>::type
Grid;
31 typedef typename Grid :: Traits :: LevelIndexSet
IndexSet;
37 typedef typename Grid :: Traits :: LevelIntersectionIterator
46 typedef typename Grid :: Traits
59 template< PartitionIteratorType pit >
73 template<
class Gr
idImp, PartitionIteratorType pitype >
74 class DefaultLevelGridView
76 typedef DefaultLevelGridView< GridImp, pitype > ThisType;
110 : grid_( other.grid_ ),
111 level_( other.level_ )
115 ThisType &operator= (
const ThisType & other)
118 level_ = other.level_;
132 return grid().levelIndexSet( level_ );
138 return grid().size( level_, codim );
144 return grid().size( level_, type );
151 return grid().template lbegin< cd, pitype >( level_ );
155 template<
int cd, PartitionIteratorType pit >
158 return grid().template lbegin< cd, pit >( level_ );
165 return grid().template lend< cd, pitype >( level_ );
169 template<
int cd, PartitionIteratorType pit >
172 return grid().template lend< cd, pit >( level_ );
179 return entity.impl().ilevelbegin();
186 return entity.impl().ilevelend();
192 return grid().comm();
198 return grid().overlapSize(level_, codim);
204 return grid().ghostSize(level_, codim);
208 template<
class DataHandleImp,
class DataType >
213 return grid().communicate( data, iftype, dir, level_ );
222 template<
class Gr
idImp, PartitionIteratorType pitype >
227 typedef typename remove_const<GridImp>::type
Grid;
230 typedef typename Grid :: Traits :: LeafIndexSet
IndexSet;
236 typedef typename Grid :: Traits :: LeafIntersectionIterator
245 typedef typename Grid :: Traits
258 template <PartitionIteratorType pit >
272 template<
class Gr
idImp, PartitionIteratorType pitype >
273 class DefaultLeafGridView
275 typedef DefaultLeafGridView< GridImp, pitype > ThisType;
316 return grid().leafIndexSet();
322 return grid().size( codim );
328 return grid().size( type );
335 return grid().template leafbegin< cd, pitype >();
339 template<
int cd, PartitionIteratorType pit >
342 return grid().template leafbegin< cd, pit >();
349 return grid().template leafend< cd, pitype >();
353 template<
int cd, PartitionIteratorType pit >
356 return grid().template leafend< cd, pit >();
363 return entity.impl().ileafbegin();
370 return entity.impl().ileafend();
376 return grid().comm();
382 return grid().overlapSize(codim);
388 return grid().ghostSize(codim);
392 template<
class DataHandleImp,
class DataType >
397 return grid().communicate( data, iftype, dir );
Codim< cd >::template Partition< pit >::Iterator begin() const
obtain begin iterator for this view
Definition: defaultgridview.hh:340
IntersectionIterator ibegin(const typename Codim< 0 >::Entity &entity) const
obtain begin intersection iterator with respect to this view
Definition: defaultgridview.hh:361
Codim< cd >::Iterator begin() const
obtain begin iterator for this view
Definition: defaultgridview.hh:149
Traits::IndexSet IndexSet
type of the index set
Definition: defaultgridview.hh:85
Grid::Traits::template Codim< cd >::template Partition< pitype >::LeafIterator Iterator
Definition: defaultgridview.hh:247
int size(int codim) const
obtain number of entities in a given codimension
Definition: defaultgridview.hh:320
Definition: defaultgridview.hh:16
int overlapSize(int codim) const
Return size of the overlap region for a given codim on the grid view.
Definition: defaultgridview.hh:196
Definition: defaultgridview.hh:223
Grid::Traits::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition: defaultgridview.hh:41
Grid::Traits::template Codim< cd >::Entity Entity
Definition: defaultgridview.hh:249
DefaultLeafGridViewTraits< GridImp, pitype > Traits
Definition: defaultgridview.hh:278
Traits::Intersection Intersection
type of the intersection
Definition: defaultgridview.hh:88
GeometryType
Type representing VTK's entity geometry types.
Definition: common.hh:178
DefaultLeafGridView< GridImp, pitype > GridViewImp
Definition: defaultgridview.hh:224
Codim< cd >::Iterator begin() const
obtain begin iterator for this view
Definition: defaultgridview.hh:333
DefaultLevelGridView< GridImp, pitype > GridViewImp
Definition: defaultgridview.hh:25
void communicate(CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const
Definition: defaultgridview.hh:209
Definition: defaultgridview.hh:268
CommunicationDirection
Define a type for communication direction parameter.
Definition: gridenums.hh:164
Grid::Traits::LevelIntersection Intersection
type of the intersection
Definition: defaultgridview.hh:34
Codim< cd >::Iterator end() const
obtain end iterator for this view
Definition: defaultgridview.hh:347
Grid::template Codim< cd >::LocalGeometry LocalGeometry
Definition: defaultgridview.hh:255
Traits::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition: defaultgridview.hh:94
Grid::Traits::template Codim< cd >::template Partition< pitype >::LevelIterator Iterator
Definition: defaultgridview.hh:48
DefaultLevelGridView(const Grid &grid, int level)
Definition: defaultgridview.hh:102
IntersectionIterator iend(const typename Codim< 0 >::Entity &entity) const
obtain end intersection iterator with respect to this view
Definition: defaultgridview.hh:368
Definition: defaultgridview.hh:44
Traits::IntersectionIterator IntersectionIterator
type of the intersection iterator
Definition: defaultgridview.hh:290
Specialize with 'true' if implementation guarantees conforming level grids. (default=false) ...
Definition: common/capabilities.hh:86
Codim< cd >::template Partition< pit >::Iterator begin() const
obtain begin iterator for this view
Definition: defaultgridview.hh:156
Definition: defaultgridview.hh:100
int size(const GeometryType &type) const
obtain number of entities with a given geometry type
Definition: defaultgridview.hh:142
remove_const< GridImp >::type Grid
type of the grid
Definition: defaultgridview.hh:28
Grid::Traits::LeafIntersection Intersection
type of the intersection
Definition: defaultgridview.hh:233
Traits::Grid Grid
type of the grid
Definition: defaultgridview.hh:82
Grid::template Codim< cd >::Geometry Geometry
Definition: defaultgridview.hh:253
Codim< cd >::Iterator end() const
obtain end iterator for this view
Definition: defaultgridview.hh:163
Grid::template Codim< cd >::template Partition< pit >::LevelIterator Iterator
iterator over a given codim and partition type
Definition: defaultgridview.hh:65
Traits::Grid Grid
type of the grid
Definition: defaultgridview.hh:281
int ghostSize(int codim) const
Return size of the ghost region for a given codim on the grid view.
Definition: defaultgridview.hh:202
DefaultLeafGridView(const Grid &grid)
Definition: defaultgridview.hh:302
IntersectionIterator iend(const typename Codim< 0 >::Entity &entity) const
obtain end intersection iterator with respect to this view
Definition: defaultgridview.hh:184
Codim< cd >::template Partition< pit >::Iterator end() const
obtain end iterator for this view
Definition: defaultgridview.hh:354
Definition: defaultgridview.hh:19
CommDataHandleIF describes the features of a data handle for communication in parallel runs using the...
Definition: datahandleif.hh:74
const IndexSet & indexSet() const
obtain the index set
Definition: defaultgridview.hh:314
DefaultLevelGridViewTraits< GridImp, pitype > Traits
Definition: defaultgridview.hh:79
const CollectiveCommunication & comm() const
obtain collective communication object
Definition: defaultgridview.hh:190
Definition: defaultgridview.hh:299
const CollectiveCommunication & comm() const
obtain collective communication object
Definition: defaultgridview.hh:374
const Grid & grid() const
obtain a const reference to the underlying hierarchic grid
Definition: defaultgridview.hh:123
Define types needed to iterate over entities of a given partition type.
Definition: defaultgridview.hh:60
Codim Structure.
Definition: defaultgridview.hh:98
Specialize with 'true' if implementation guarantees a conforming leaf grid. (default=false) ...
Definition: common/capabilities.hh:95
Traits::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition: defaultgridview.hh:293
Grid::template Codim< cd >::LocalGeometry LocalGeometry
Definition: defaultgridview.hh:56
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:386
remove_const< GridImp >::type Grid
type of the grid
Definition: defaultgridview.hh:227
Codim Structure.
Definition: defaultgridview.hh:297
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" eleme...
Definition: common/grid.hh:358
const Grid & grid() const
obtain a const reference to the underlying hierarchic grid
Definition: defaultgridview.hh:307
A set of traits classes to store static information about grid implementation.
int ghostSize(int codim) const
Return size of the ghost region for a given codim on the grid view.
Definition: defaultgridview.hh:386
Grid::Traits::LevelIndexSet IndexSet
type of the index set
Definition: defaultgridview.hh:31
Codim< cd >::template Partition< pit >::Iterator end() const
obtain end iterator for this view
Definition: defaultgridview.hh:170
Traits::IndexSet IndexSet
type of the index set
Definition: defaultgridview.hh:284
Traits::Intersection Intersection
type of the intersection
Definition: defaultgridview.hh:287
Grid::Traits::template Codim< cd >::EntityPointer EntityPointer
Definition: defaultgridview.hh:52
int size(const GeometryType &type) const
obtain number of entities with a given geometry type
Definition: defaultgridview.hh:326
int size(int codim) const
obtain number of entities in a given codimension
Definition: defaultgridview.hh:136
Grid::Traits::LeafIndexSet IndexSet
type of the index set
Definition: defaultgridview.hh:230
Grid::template Codim< cd >::template Partition< pit >::LeafIterator Iterator
iterator over a given codim and partition type
Definition: defaultgridview.hh:264
Definition: defaultgridview.hh:69
Grid::Traits::LevelIntersectionIterator IntersectionIterator
type of the intersection iterator
Definition: defaultgridview.hh:38
IntersectionIterator ibegin(const typename Codim< 0 >::Entity &entity) const
obtain begin intersection iterator with respect to this view
Definition: defaultgridview.hh:177
InterfaceType
Parameter to be used for the communication functions.
Definition: gridenums.hh:80
const IndexSet & indexSet() const
obtain the index set
Definition: defaultgridview.hh:130
Enables iteration over all leaf entities of a codimension zero of a grid. See also the documentation ...
Definition: common/leafiterator.hh:30
Definition: defaultgridview.hh:23
Grid::Traits::template Codim< cd >::Entity Entity
Definition: defaultgridview.hh:50
Grid::Traits::template Codim< cd >::EntityPointer EntityPointer
Definition: defaultgridview.hh:251
Traits::IntersectionIterator IntersectionIterator
type of the intersection iterator
Definition: defaultgridview.hh:91
Grid::template Codim< cd >::Geometry Geometry
Definition: defaultgridview.hh:54
void communicate(CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const
Definition: defaultgridview.hh:393
Grid::Traits::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition: defaultgridview.hh:240
Enables iteration over all entities of a given codimension and level of a grid. See also the document...
Definition: common/leveliterator.hh:29
Define types needed to iterate over entities of a given partition type.
Definition: defaultgridview.hh:259
Definition: defaultgridview.hh:243
Grid::Traits::LeafIntersectionIterator IntersectionIterator
type of the intersection iterator
Definition: defaultgridview.hh:237
int overlapSize(int codim) const
Return size of the overlap region for a given codim on the grid view.
Definition: defaultgridview.hh:380