5#ifndef DUNE_GEOGRID_GRIDVIEW_HH
6#define DUNE_GEOGRID_GRIDVIEW_HH
8#include <dune/common/typetraits.hh>
9#include <dune/common/exceptions.hh>
28 template<
class HGV,
class CoordFunction,
class Allocator >
36 template<
class HGV,
class CoordFunction,
class Allocator >
39 friend class GridView< HGV, CoordFunction, Allocator >;
41 typedef HGV HostGridView;
43 typedef typename HostGridView::Grid HostGrid;
44 typedef typename HostGridView::Intersection HostIntersection;
45 typedef typename HostGridView::IntersectionIterator HostIntersectionIterator;
65 [[deprecated(
"Use Communication instead!!")]]
79 template< PartitionIteratorType pit >
95 template<
class HGV,
class CoordFunction,
class Allocator >
118 [[deprecated(
"Use Communication instead!!")]]
121 template<
int codim >
123 :
public Traits::template
Codim< codim >
133 : grid_( other.grid_ ), hostGridView_( other.hostGridView_ )
137 : grid_( other.grid_ ), hostGridView_(
std::move( other.hostGridView_ ) )
143 hostGridView_ = other.hostGridView_;
152 hostGridView_ = std::move( other.hostGridView_ );
182 template<
int codim >
185 return begin< codim, All_Partition >();
188 template<
int codim, PartitionIteratorType pit >
194 template<
int codim >
197 return end< codim, All_Partition >();
200 template<
int codim, PartitionIteratorType pit >
209 return IntersectionIteratorImpl( entity,
hostGridView().
ibegin( entity.impl().hostEntity() ) );
215 return IntersectionIteratorImpl( entity,
hostGridView().
iend( entity.impl().hostEntity() ) );
233 template<
class DataHandle,
class Data >
241 WrappedDataHandle wrappedDataHandle(
grid(), dataHandle );
242 return hostGridView().communicate( wrappedDataHandle, interface, direction );
CommunicationDirection
Define a type for communication direction parameter.
Definition: gridenums.hh:170
InterfaceType
Parameter to be used for the communication functions.
Definition: gridenums.hh:86
Include standard header files.
Definition: agrid.hh:60
@ conforming
Output conforming data.
Definition: common.hh:73
GeometryType
Type representing VTK's entity geometry types.
Definition: common.hh:132
Intersection of a mesh entity of codimension 0 ("element") with a "neighboring" element or with the d...
Definition: common/intersection.hh:164
CommDataHandleIF describes the features of a data handle for communication in parallel runs using the...
Definition: datahandleif.hh:78
interface class for an iterator over grid entities
Definition: entityiterator.hh:32
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" eleme...
Definition: common/intersectioniterator.hh:83
Grid abstract base class.
Definition: common/grid.hh:375
Definition: geometrygrid/datahandle.hh:27
grid wrapper replacing the geometries
Definition: geometrygrid/grid.hh:86
Definition: geometrygrid/intersectioniterator.hh:21
Definition: geometrygrid/gridview.hh:97
Traits::Grid Grid
Definition: geometrygrid/gridview.hh:105
const Grid & grid() const
Definition: geometrygrid/gridview.hh:158
Traits::IntersectionIterator IntersectionIterator
Definition: geometrygrid/gridview.hh:111
Traits::Communication Communication
Definition: geometrygrid/gridview.hh:113
IntersectionIterator ibegin(const typename Codim< 0 >::Entity &entity) const
Definition: geometrygrid/gridview.hh:206
int ghostSize(int codim) const
Definition: geometrygrid/gridview.hh:228
Codim< codim >::Iterator end() const
Definition: geometrygrid/gridview.hh:195
Traits::Intersection Intersection
Definition: geometrygrid/gridview.hh:109
const Communication & comm() const
Definition: geometrygrid/gridview.hh:218
Traits::IndexSet IndexSet
Definition: geometrygrid/gridview.hh:107
GridView(const This &other)
Definition: geometrygrid/gridview.hh:132
const HostGridView & hostGridView() const
Definition: geometrygrid/gridview.hh:245
Codim< codim >::template Partition< pit >::Iterator begin() const
Definition: geometrygrid/gridview.hh:189
bool isConforming() const
Definition: geometrygrid/gridview.hh:170
Codim< codim >::template Partition< pit >::Iterator end() const
Definition: geometrygrid/gridview.hh:201
This & operator=(const This &other)
Definition: geometrygrid/gridview.hh:140
int size(int codim) const
Definition: geometrygrid/gridview.hh:172
GridView(const Grid &grid, const HostGridView &hostGridView)
Definition: geometrygrid/gridview.hh:128
int overlapSize(int codim) const
Definition: geometrygrid/gridview.hh:223
Communication CollectiveCommunication
Definition: geometrygrid/gridview.hh:119
auto communicate(CommDataHandleIF< DataHandle, Data > &dataHandle, InterfaceType interface, CommunicationDirection direction) const
Definition: geometrygrid/gridview.hh:234
IntersectionIterator iend(const typename Codim< 0 >::Entity &entity) const
Definition: geometrygrid/gridview.hh:212
int size(const GeometryType &type) const
Definition: geometrygrid/gridview.hh:177
Codim< codim >::Iterator begin() const
Definition: geometrygrid/gridview.hh:183
const IndexSet & indexSet() const
Definition: geometrygrid/gridview.hh:164
GridView(This &&other)
Definition: geometrygrid/gridview.hh:136
Traits::HostGridView HostGridView
Definition: geometrygrid/gridview.hh:103
GridViewTraits< HGV, CoordFunction, Allocator > Traits
Definition: geometrygrid/gridview.hh:101
static const bool conforming
Definition: geometrygrid/gridview.hh:126
Definition: geometrygrid/gridview.hh:38
Communication CollectiveCommunication
Definition: geometrygrid/gridview.hh:66
GeoGrid::IndexSet< const Grid, typename HostGridView::IndexSet > IndexSet
Definition: geometrygrid/gridview.hh:52
GridView< HostGridView, CoordFunction, Allocator > GridViewImp
Definition: geometrygrid/gridview.hh:48
HostGridView::Communication Communication
Definition: geometrygrid/gridview.hh:60
static const bool conforming
Definition: geometrygrid/gridview.hh:87
Dune::Intersection< const Grid, GeoGrid::Intersection< const Grid, HostIntersection > > Intersection
Definition: geometrygrid/gridview.hh:54
Dune::GeometryGrid< HostGrid, CoordFunction, Allocator > Grid
Definition: geometrygrid/gridview.hh:50
Dune::IntersectionIterator< const Grid, GeoGrid::IntersectionIterator< const Grid, HostIntersectionIterator >, GeoGrid::Intersection< const Grid, HostIntersection > > IntersectionIterator
Definition: geometrygrid/gridview.hh:58
Definition: geometrygrid/gridview.hh:70
Grid::template Codim< codim >::Geometry Geometry
Definition: geometrygrid/gridview.hh:76
Grid::template Codim< codim >::LocalGeometry LocalGeometry
Definition: geometrygrid/gridview.hh:77
Dune::EntityIterator< codim, const Grid, IteratorImp > Iterator
Definition: geometrygrid/gridview.hh:72
Grid::Traits::template Codim< codim >::Entity Entity
Definition: geometrygrid/gridview.hh:74
GeoGrid::Iterator< HostGridView, codim, All_Partition, const Grid > IteratorImp
Definition: geometrygrid/gridview.hh:71
Definition: geometrygrid/gridview.hh:81
GeoGrid::Iterator< HostGridView, codim, pit, const Grid > IteratorImp
Definition: geometrygrid/gridview.hh:82
Dune::EntityIterator< codim, const Grid, IteratorImp > Iterator
Definition: geometrygrid/gridview.hh:83
Definition: geometrygrid/gridview.hh:124
Definition: geometrygrid/indexsets.hh:29
void reset()
Definition: geometrygrid/indexsets.hh:97
Definition: geometrygrid/intersection.hh:22
Definition: iterator.hh:30
A set of traits classes to store static information about grid implementation.