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 >
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 );
Definition alu3dinclude.hh:80
Definition macrogridview.hh:72
@ dimensionworld
The dimension of the world the grid lives in.
Definition macrogridview.hh:112
Traits::IntersectionIterator IntersectionIterator
type of the intersection iterator
Definition macrogridview.hh:90
int weight(const typename Codim< 0 > ::Entity &entity) const
return weight associated with the given macro entity
Definition macrogridview.hh:235
int ghostSize(int codim) const
Return size of the ghost region for a given codim on the grid view.
Definition macrogridview.hh:202
Codim< cd >::Iterator end() const
obtain end iterator for this view
Definition macrogridview.hh:161
const IndexSet & indexSet() const
obtain the index set
Definition macrogridview.hh:128
@ conforming
Export if this grid view is conforming */.
Definition macrogridview.hh:101
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
MacroGridViewTraits< GridImp, pitype > Traits
Definition macrogridview.hh:78
int weight(const IntersectionIterator &intersectionIterator) const
Definition macrogridview.hh:248
int overlapSize(int codim) const
Return size of the overlap region for a given codim on the grid view.
Definition macrogridview.hh:196
Grid::ctype ctype
type used for coordinates in grid
Definition macrogridview.hh:105
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
@ dimension
The dimension of the grid.
Definition macrogridview.hh:108
const Grid & grid() const
obtain a const reference to the underlying hierarchic grid
Definition macrogridview.hh:121
void communicate(CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const
Definition macrogridview.hh:209
IntersectionIterator ibegin(const typename Codim< 0 > ::Entity &entity) const
obtain begin intersection iterator with respect to this view
Definition macrogridview.hh:175
MacroGridView(const Grid &grid)
Definition macrogridview.hh:115
Traits::Intersection Intersection
type of the intersection
Definition macrogridview.hh:87
Traits::Grid Grid
type of the grid
Definition macrogridview.hh:81
Codim< cd >::Iterator begin() const
obtain begin iterator for this view
Definition macrogridview.hh:147
Codim< cd >::template Partition< pit >::Iterator end() const
obtain end iterator for this view
Definition macrogridview.hh:168
int size(const GeometryType &type) const
obtain number of entities with a given geometry type
Definition macrogridview.hh:140
const CollectiveCommunication & comm() const
obtain collective communication object
Definition macrogridview.hh:190
int size(int codim) const
obtain number of entities in a given codimension
Definition macrogridview.hh:134
int master(const typename Codim< 0 > ::Entity &entity) const
return master rank for entities with partitionType != InteriorEntity
Definition macrogridview.hh:223
Traits::IndexSet IndexSet
type of the index set
Definition macrogridview.hh:84
IntersectionIterator iend(const typename Codim< 0 > ::Entity &entity) const
obtain end intersection iterator with respect to this view
Definition macrogridview.hh:183
const Grid * grid_
Definition macrogridview.hh:254
Traits::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition macrogridview.hh:93
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
Definition macrogridview.hh:21
MacroGridView< GridImp, pitype > GridViewImp
Definition macrogridview.hh:22
Grid::Traits::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition macrogridview.hh:38
Grid::Traits::LevelIntersection Intersection
type of the intersection
Definition macrogridview.hh:31
Grid::Traits::LevelIndexSet IndexSet
type of the index set
Definition macrogridview.hh:28
Grid::Traits::LevelIntersectionIterator IntersectionIterator
type of the intersection iterator
Definition macrogridview.hh:35
std::remove_const< GridImp >::type Grid
type of the grid
Definition macrogridview.hh:25
@ conforming
Definition macrogridview.hh:66
Definition macrogridview.hh:42
Grid::template Codim< cd >::Geometry Geometry
Definition macrogridview.hh:51
Grid::template Codim< cd >::LocalGeometry LocalGeometry
Definition macrogridview.hh:53
Grid::Traits::template Codim< cd >::template Partition< pitype >::LevelIterator Iterator
Definition macrogridview.hh:45
Grid::Traits::template Codim< cd >::Entity Entity
Definition macrogridview.hh:47
Grid::Traits::template Codim< cd >::EntityPointer EntityPointer
Definition macrogridview.hh:49
Define types needed to iterate over entities of a given partition type.
Definition macrogridview.hh:58
Grid::template Codim< cd >::template Partition< pit >::LevelIterator Iterator
iterator over a given codim and partition type
Definition macrogridview.hh:62
Codim Structure.
Definition macrogridview.hh:97