Go to the documentation of this file.
3 #ifndef DUNE_ALUGRID_MACROGRIDVIEW_HH
4 #define DUNE_ALUGRID_MACROGRIDVIEW_HH
8 #include <dune/common/exceptions.hh>
10 #include <dune/grid/common/capabilities.hh>
11 #include <dune/grid/common/gridview.hh>
16 template<
class Gr
idImp, PartitionIteratorType pitype >
19 template<
class Gr
idImp, PartitionIteratorType pitype >
25 typedef typename std::remove_const<GridImp>::type
Grid;
28 typedef typename Grid :: Traits :: LevelIndexSet
IndexSet;
34 typedef typename Grid :: Traits :: LevelIntersectionIterator
43 typedef typename Grid :: Traits
56 template< PartitionIteratorType pit >
66 enum {
conforming = Capabilities :: isLevelwiseConforming< Grid > :: v };
70 template<
class Gr
idImp, PartitionIteratorType pitype >
73 typedef MacroGridView< GridImp, pitype > ThisType;
140 int size (
const GeometryType &type )
const
149 return grid().template lbegin< cd, pitype >(
level_ );
153 template<
int cd, PartitionIteratorType pit >
156 return grid().template lbegin< cd, pit >(
level_ );
163 return grid().template lend< cd, pitype >(
level_ );
167 template<
int cd, PartitionIteratorType pit >
170 return grid().template lend< cd, pit >(
level_ );
177 assert( entity.level() ==
level_ );
178 return grid().ilevelbegin( entity );
185 assert( entity.level() ==
level_ );
186 return grid().ilevelend( entity );
192 return grid().comm();
208 template<
class DataHandleImp,
class DataType >
209 void communicate ( CommDataHandleIF< DataHandleImp, DataType > &data,
210 InterfaceType iftype,
211 CommunicationDirection dir )
const
213 return grid().communicate( data, iftype, dir,
level_ );
225 return Grid::getRealImplementation( entity ).master();
231 return Grid::getRealImplementation( entity ).macroId();
237 return Grid::getRealImplementation( entity ).weight();
244 return Grid::getRealImplementation( intersection ).weight();
250 return weight( *intersectionIterator );
Export if this grid view is conforming */.
Definition: macrogridview.hh:101
Grid ::template Codim< cd >::Geometry Geometry
Definition: macrogridview.hh:51
Definition: macrogridview.hh:41
int size(const GeometryType &type) const
obtain number of entities with a given geometry type
Definition: macrogridview.hh:140
int size(int codim) const
obtain number of entities in a given codimension
Definition: macrogridview.hh:134
const IndexSet & indexSet() const
obtain the index set
Definition: macrogridview.hh:128
Definition: macrogridview.hh:17
Definition: macrogridview.hh:66
int master(const typename Codim< 0 > ::Entity &entity) const
return master rank for entities with partitionType != InteriorEntity
Definition: macrogridview.hh:223
Codim Structure.
Definition: macrogridview.hh:97
int weight(const typename Codim< 0 > ::Entity &entity) const
return weight associated with the given macro entity
Definition: macrogridview.hh:235
Grid ::Traits ::LevelIntersectionIterator IntersectionIterator
type of the intersection iterator
Definition: macrogridview.hh:35
Grid ::template Codim< cd >::template Partition< pit >::LevelIterator Iterator
iterator over a given codim and partition type
Definition: macrogridview.hh:62
Traits ::IndexSet IndexSet
type of the index set
Definition: macrogridview.hh:84
const Grid & grid() const
obtain a const reference to the underlying hierarchic grid
Definition: macrogridview.hh:121
int macroId(const typename Codim< 0 > ::Entity &entity) const
return unique id of macro entity for usage with graph partitioning software
Definition: macrogridview.hh:229
Grid ::Traits ::LevelIntersection Intersection
type of the intersection
Definition: macrogridview.hh:31
Grid ::Traits ::template Codim< cd >::EntityPointer EntityPointer
Definition: macrogridview.hh:49
MacroGridView(const Grid &grid)
Definition: macrogridview.hh:115
const CollectiveCommunication & comm() const
obtain collective communication object
Definition: macrogridview.hh:190
The dimension of the world the grid lives in.
Definition: macrogridview.hh:112
MacroGridView< GridImp, pitype > GridViewImp
Definition: macrogridview.hh:22
Codim< cd >::Iterator end() const
obtain end iterator for this view
Definition: macrogridview.hh:161
Traits ::Intersection Intersection
type of the intersection
Definition: macrogridview.hh:87
int ghostSize(int codim) const
Return size of the ghost region for a given codim on the grid view.
Definition: macrogridview.hh:202
MacroGridViewTraits< GridImp, pitype > Traits
Definition: macrogridview.hh:78
Traits ::IntersectionIterator IntersectionIterator
type of the intersection iterator
Definition: macrogridview.hh:90
Codim< cd >::template Partition< pit >::Iterator begin() const
obtain begin iterator for this view
Definition: macrogridview.hh:154
const int level_
Definition: macrogridview.hh:255
std::remove_const< GridImp >::type Grid
type of the grid
Definition: macrogridview.hh:25
Grid ::Traits ::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition: macrogridview.hh:38
Grid::ctype ctype
type used for coordinates in grid
Definition: macrogridview.hh:105
IntersectionIterator iend(const typename Codim< 0 > ::Entity &entity) const
obtain end intersection iterator with respect to this view
Definition: macrogridview.hh:183
Definition: macrogridview.hh:20
const Grid * grid_
Definition: macrogridview.hh:254
Grid ::template Codim< cd >::LocalGeometry LocalGeometry
Definition: macrogridview.hh:53
IntersectionIterator ibegin(const typename Codim< 0 > ::Entity &entity) const
obtain begin intersection iterator with respect to this view
Definition: macrogridview.hh:175
Codim< cd >::Iterator begin() const
obtain begin iterator for this view
Definition: macrogridview.hh:147
Traits::Grid Grid
type of the grid
Definition: macrogridview.hh:81
Traits ::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition: macrogridview.hh:93
Define types needed to iterate over entities of a given partition type.
Definition: macrogridview.hh:57
Grid ::Traits ::template Codim< cd >::template Partition< pitype >::LevelIterator Iterator
Definition: macrogridview.hh:45
Codim< cd >::template Partition< pit >::Iterator end() const
obtain end iterator for this view
Definition: macrogridview.hh:168
Grid ::Traits ::template Codim< cd >::Entity Entity
Definition: macrogridview.hh:47
void communicate(CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const
Definition: macrogridview.hh:209
Grid ::Traits ::LevelIndexSet IndexSet
type of the index set
Definition: macrogridview.hh:28
The dimension of the grid.
Definition: macrogridview.hh:108
Definition: alu3dinclude.hh:79
int overlapSize(int codim) const
Return size of the overlap region for a given codim on the grid view.
Definition: macrogridview.hh:196
int weight(const IntersectionIterator &intersectionIterator) const
Definition: macrogridview.hh:248
int weight(const Intersection &intersection) const
return weight associated with the macro intersection, i.e. the graph edge between the two neighboring...
Definition: macrogridview.hh:242