Go to the documentation of this file. 1 #ifndef DUNE_ALUGRID_3D_GRIDVIEW_HH
2 #define DUNE_ALUGRID_3D_GRIDVIEW_HH
6 #include <dune/common/exceptions.hh>
8 #include <dune/grid/common/capabilities.hh>
9 #include <dune/grid/common/gridview.hh>
14 template<
class Gr
idImp, PartitionIteratorType pitype >
17 template<
class Gr
idImp, PartitionIteratorType pitype >
21 template<
class Gr
idImp, PartitionIteratorType pitype >
27 typedef typename std::remove_const<GridImp>::type
Grid;
30 typedef typename Grid :: Traits :: LevelIndexSet
IndexSet;
36 typedef typename Grid :: Traits :: LevelIntersectionIterator
46 typedef typename Twists::Twist
Twist;
48 typedef typename Grid :: Traits
61 template< PartitionIteratorType pit >
71 enum {
conforming = Capabilities :: isLevelwiseConforming< Grid > :: v };
75 template<
class Gr
idImp, PartitionIteratorType pitype >
76 class ALU3dLevelGridView
78 typedef ALU3dLevelGridView< GridImp, pitype > ThisType;
119 return grid().levelIndexSet( level_ );
125 return grid().size( level_, codim );
129 int size (
const GeometryType &type )
const
131 return grid().size( level_, type );
138 return grid().template lbegin< cd, pitype >( level_ );
142 template<
int cd, PartitionIteratorType pit >
145 return grid().template lbegin< cd, pit >( level_ );
152 return grid().template lend< cd, pitype >( level_ );
156 template<
int cd, PartitionIteratorType pit >
159 return grid().template lend< cd, pit >( level_ );
166 return grid().ilevelbegin( entity );
173 return grid().ilevelend( entity );
179 return grid().comm();
185 return grid().overlapSize(level_, codim);
191 return grid().ghostSize(level_, codim);
195 template<
class DataHandle,
class Data >
196 typename Grid::LevelCommunication
communicate ( CommDataHandleIF< DataHandle, Data > &data,
197 InterfaceType iftype,
198 CommunicationDirection dir )
const
200 return grid().communicate( data, iftype, dir, level_ );
206 return grid().template twists< cd >( type );
215 template<
class Gr
idImp, PartitionIteratorType pitype >
220 typedef typename std::remove_const<GridImp>::type
Grid;
223 typedef typename Grid :: Traits :: LeafIndexSet
IndexSet;
229 typedef typename Grid :: Traits :: LeafIntersectionIterator
239 typedef typename Twists::Twist
Twist;
241 typedef typename Grid :: Traits
254 template <PartitionIteratorType pit >
264 enum {
conforming = Capabilities :: isLeafwiseConforming< Grid > :: v };
268 template<
class Gr
idImp, PartitionIteratorType pitype >
269 class ALU3dLeafGridView
271 typedef ALU3dLeafGridView< GridImp, pitype > ThisType;
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, pitype >();
335 template<
int cd, PartitionIteratorType pit >
338 return grid().template leafbegin< cd, pit >();
345 return grid().template leafend< cd, pitype >();
349 template<
int cd, PartitionIteratorType pit >
352 return grid().template leafend< cd, pit >();
359 return grid().ileafbegin( entity );
366 return grid().ileafend( entity );
372 return grid().comm();
378 return grid().overlapSize(codim);
384 return grid().ghostSize(codim);
388 template<
class DataHandle,
class Data >
389 typename Grid::LeafCommunication
communicate ( CommDataHandleIF< DataHandle, Data > &data,
390 InterfaceType iftype,
391 CommunicationDirection dir )
const
393 return grid().communicate( data, iftype, dir );
399 return grid().template twists< cd >( type );
408 #endif // #ifndef DUNE_ALUGRID_3D_GRIDVIEW_HH
IntersectionIterator ibegin(const typename Codim< 0 > ::Entity &entity) const
obtain begin intersection iterator with respect to this view
Definition: gridview.hh:164
Codim< cd >::template Partition< pit >::Iterator begin() const
obtain begin iterator for this view
Definition: gridview.hh:143
int size(const GeometryType &type) const
obtain number of entities with a given geometry type
Definition: gridview.hh:129
Grid::LeafCommunication communicate(CommDataHandleIF< DataHandle, Data > &data, InterfaceType iftype, CommunicationDirection dir) const
Definition: gridview.hh:389
Grid::Traits::template Codim< cd >::Twists Twists
Definition: gridview.hh:45
Grid ::Traits ::template Codim< cd >::EntityPointer EntityPointer
Definition: gridview.hh:54
Grid ::Traits ::LeafIndexSet IndexSet
type of the index set
Definition: gridview.hh:223
ALU3dLevelGridView< GridImp, pitype > GridViewImp
Definition: gridview.hh:24
Define types needed to iterate over entities of a given partition type.
Definition: gridview.hh:255
Grid ::template Codim< cd >::Geometry Geometry
Definition: gridview.hh:56
Codim Structure.
Definition: gridview.hh:100
Traits ::IndexSet IndexSet
type of the index set
Definition: gridview.hh:87
Grid ::template Codim< cd >::LocalGeometry LocalGeometry
Definition: gridview.hh:58
Codim< cd >::template Partition< pit >::Iterator end() const
obtain end iterator for this view
Definition: gridview.hh:157
const Grid & grid() const
obtain a const reference to the underlying hierarchic grid
Definition: gridview.hh:110
ALU3dLeafGridView< GridImp, pitype > GridViewImp
Definition: gridview.hh:217
Grid ::template Codim< cd >::Geometry Geometry
Definition: gridview.hh:249
Grid ::Traits ::LeafIntersection Intersection
type of the intersection
Definition: gridview.hh:226
Definition: gridview.hh:102
Definition: gridview.hh:43
Traits ::IntersectionIterator IntersectionIterator
type of the intersection iterator
Definition: gridview.hh:93
Definition: gridview.hh:236
IntersectionIterator iend(const typename Codim< 0 > ::Entity &entity) const
obtain end intersection iterator with respect to this view
Definition: gridview.hh:171
Twists::Twist Twist
Definition: gridview.hh:46
int overlapSize(int codim) const
Return size of the overlap region for a given codim on the grid view.
Definition: gridview.hh:183
std::remove_const< GridImp >::type Grid
type of the grid
Definition: gridview.hh:27
Codim< cd >::Iterator begin() const
obtain begin iterator for this view
Definition: gridview.hh:136
Definition: gridview.hh:22
Traits ::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition: gridview.hh:289
int size(int codim) const
obtain number of entities in a given codimension
Definition: gridview.hh:123
Traits ::IntersectionIterator IntersectionIterator
type of the intersection iterator
Definition: gridview.hh:286
Codim< cd >::Iterator begin() const
obtain begin iterator for this view
Definition: gridview.hh:329
int ghostSize(int codim) const
Return size of the ghost region for a given codim on the grid view.
Definition: gridview.hh:189
const CollectiveCommunication & comm() const
obtain collective communication object
Definition: gridview.hh:177
const CollectiveCommunication & comm() const
obtain collective communication object
Definition: gridview.hh:370
int overlapSize(int codim) const
Return size of the overlap region for a given codim on the grid view.
Definition: gridview.hh:376
Definition: gridview.hh:71
Definition: gridview.hh:295
Definition: gridview.hh:15
Codim< cd >::Iterator end() const
obtain end iterator for this view
Definition: gridview.hh:150
Grid ::template Codim< cd >::template Partition< pit >::LevelIterator Iterator
iterator over a given codim and partition type
Definition: gridview.hh:67
Grid ::Traits ::template Codim< cd >::template Partition< pitype >::LevelIterator Iterator
Definition: gridview.hh:50
int size(const GeometryType &type) const
obtain number of entities with a given geometry type
Definition: gridview.hh:322
ALU3dLeafGridView(const Grid &grid)
Definition: gridview.hh:298
Definition: gridview.hh:264
int ghostSize(int codim) const
Return size of the ghost region for a given codim on the grid view.
Definition: gridview.hh:382
Grid ::Traits ::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition: gridview.hh:40
ALU3dLeafGridViewTraits< GridImp, pitype > Traits
Definition: gridview.hh:274
std::remove_const< GridImp >::type Grid
type of the grid
Definition: gridview.hh:220
Codim< cd >::template Partition< pit >::Iterator begin() const
obtain begin iterator for this view
Definition: gridview.hh:336
Traits::Grid Grid
type of the grid
Definition: gridview.hh:84
Codim Structure.
Definition: gridview.hh:293
const IndexSet & indexSet() const
obtain the index set
Definition: gridview.hh:310
Twists::Twist Twist
Definition: gridview.hh:239
Traits ::IndexSet IndexSet
type of the index set
Definition: gridview.hh:280
Grid ::Traits ::LevelIndexSet IndexSet
type of the index set
Definition: gridview.hh:30
Codim< cd >::template Partition< pit >::Iterator end() const
obtain end iterator for this view
Definition: gridview.hh:350
Grid ::Traits ::LevelIntersectionIterator IntersectionIterator
type of the intersection iterator
Definition: gridview.hh:37
Traits ::Intersection Intersection
type of the intersection
Definition: gridview.hh:90
Grid ::Traits ::template Codim< cd >::template Partition< pitype >::LeafIterator Iterator
Definition: gridview.hh:243
Grid ::Traits ::LevelIntersection Intersection
type of the intersection
Definition: gridview.hh:33
int size(int codim) const
obtain number of entities in a given codimension
Definition: gridview.hh:316
Define types needed to iterate over entities of a given partition type.
Definition: gridview.hh:62
Grid ::template Codim< cd >::template Partition< pit >::LeafIterator Iterator
iterator over a given codim and partition type
Definition: gridview.hh:260
Traits::Grid Grid
type of the grid
Definition: gridview.hh:277
Grid ::Traits ::template Codim< cd >::EntityPointer EntityPointer
Definition: gridview.hh:247
Codim< cd >::Iterator end() const
obtain end iterator for this view
Definition: gridview.hh:343
IntersectionIterator iend(const typename Codim< 0 > ::Entity &entity) const
obtain end intersection iterator with respect to this view
Definition: gridview.hh:364
Traits ::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition: gridview.hh:96
Codim< cd >::Twists twists(GeometryType type) const
Definition: gridview.hh:397
Grid ::Traits ::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition: gridview.hh:233
Codim< cd >::Twists twists(GeometryType type) const
Definition: gridview.hh:204
Grid ::Traits ::LeafIntersectionIterator IntersectionIterator
type of the intersection iterator
Definition: gridview.hh:230
Definition: gridview.hh:216
const IndexSet & indexSet() const
obtain the index set
Definition: gridview.hh:117
ALU3dLevelGridView(const Grid &grid, int level)
Definition: gridview.hh:104
Grid ::Traits ::template Codim< cd >::Entity Entity
Definition: gridview.hh:245
ALU3dLevelGridViewTraits< GridImp, pitype > Traits
Definition: gridview.hh:81
Grid::Traits::template Codim< cd >::Twists Twists
Definition: gridview.hh:238
Grid ::Traits ::template Codim< cd >::Entity Entity
Definition: gridview.hh:52
IntersectionIterator ibegin(const typename Codim< 0 > ::Entity &entity) const
obtain begin intersection iterator with respect to this view
Definition: gridview.hh:357
Definition: alu3dinclude.hh:79
Grid ::template Codim< cd >::LocalGeometry LocalGeometry
Definition: gridview.hh:251
Definition: gridview.hh:18
Grid::LevelCommunication communicate(CommDataHandleIF< DataHandle, Data > &data, InterfaceType iftype, CommunicationDirection dir) const
Definition: gridview.hh:196
const Grid & grid() const
obtain a const reference to the underlying hierarchic grid
Definition: gridview.hh:303
Traits ::Intersection Intersection
type of the intersection
Definition: gridview.hh:283