1 #ifndef DUNE_FEM_GRIDPART_COMMON_GRIDPART2GRIDVIEW_HH 2 #define DUNE_FEM_GRIDPART_COMMON_GRIDPART2GRIDVIEW_HH 4 #include <dune/common/exceptions.hh> 6 #include <dune/grid/common/gridenums.hh> 7 #include <dune/grid/common/gridview.hh> 15 template<
class Gr
idPart >
19 template<
class Gr
idPart >
24 typedef typename GridPart::GridType
Grid;
25 typedef typename GridPart::IndexSetType
IndexSet;
34 :
public Grid::Traits::template
Codim< codim >
42 template< PartitionIteratorType pitype >
51 static const bool conforming = GridPart::Traits::conforming;
55 template<
class Gr
idPart >
83 :
public Traits::template
Codim< codim >
88 enum { dimension = GridPartType::dimension };
89 enum { dimensionworld = GridPartType::dimensionworld };
91 typedef typename GridPartType::ctype
ctype;
94 : gridPart_( gridPart )
99 ThisType &operator= (
const ThisType & ) =
delete;
103 return gridPart_.grid();
108 return gridPart_.indexSet();
113 return indexSet().size( codim );
116 int size (
const GeometryType &type )
const 118 return indexSet().size( type );
121 template<
class EntityType>
124 return indexSet().contains(e);
127 template<
int codim >
130 return begin< codim, All_Partition >();
133 template<
int codim, PartitionIteratorType pitype >
136 return gridPart_.template begin< codim, pitype >();
139 template<
int codim >
142 return end< codim, All_Partition >();
145 template<
int codim, PartitionIteratorType pitype >
148 return gridPart_.template end< codim, pitype >();
153 return gridPart_.ibegin( entity );
158 return gridPart_.iend( entity );
161 const CollectiveCommunication &
comm ()
const 163 return gridPart_.comm();
168 DUNE_THROW( NotImplemented,
"Method ghostSize() not implemented yet" );
173 DUNE_THROW( NotImplemented,
"Method ghostSize() not implemented yet" );
176 template<
class DataHandleImp,
class DataType >
177 void communicate ( CommDataHandleIF< DataHandleImp, DataType > &data,
178 InterfaceType iftype,
179 CommunicationDirection dir )
const 181 gridPart_.communicate( data, iftype, dir );
185 const GridPartType &gridPart_;
190 template<
class Gr
idPart >
192 :
public GridView< GridPart2GridViewTraits< GridPart > >
195 typedef GridView< GridPart2GridViewTraits< GridPart > > BaseType;
197 typedef typename BaseType::GridViewImp
GridViewImp;
201 : BaseType( GridViewImp( gridPart ) )
209 #endif // #ifndef DUNE_FEM_GRIDPART_COMMON_GRIDPART2GRIDVIEW_HH const CollectiveCommunication & comm() const
Definition: gridpart2gridview.hh:161
Traits::Grid Grid
type of the grid
Definition: gridpart2gridview.hh:66
IntersectionIterator iend(const typename Codim< 0 >::Entity &entity) const
Definition: gridpart2gridview.hh:156
GridPartType::ctype ctype
Definition: gridpart2gridview.hh:91
Codim< codim >::template Partition< pitype >::Iterator end() const
Definition: gridpart2gridview.hh:146
Definition: gridpart2gridview.hh:33
GridPart2GridViewTraits< GridPartType > Traits
Definition: gridpart2gridview.hh:63
GridPart GridPartType
Definition: gridpart2gridview.hh:61
Codim< codim >::Iterator end() const
Definition: gridpart2gridview.hh:140
GridPart::IntersectionIteratorType IntersectionIterator
Definition: gridpart2gridview.hh:26
int size(int codim) const
Definition: gridpart2gridview.hh:111
int size(const GeometryType &type) const
Definition: gridpart2gridview.hh:116
IntersectionIterator ibegin(const typename Codim< 0 >::Entity &entity) const
Definition: gridpart2gridview.hh:151
Definition: gridpart2gridview.hh:20
GridPart::template Codim< codim >::LocalGeometryType LocalGeometry
Definition: gridpart2gridview.hh:40
GridPart::CollectiveCommunicationType CollectiveCommunication
Definition: gridpart2gridview.hh:30
Traits::Intersection Intersection
type of the intersection
Definition: gridpart2gridview.hh:72
Codim< codim >::Iterator begin() const
Definition: gridpart2gridview.hh:128
IntersectionIterator::Intersection Intersection
Definition: gridpart2gridview.hh:28
GridPart::template Codim< codim >::EntityType Entity
Definition: gridpart2gridview.hh:36
Codim< codim >::template Partition< pitype >::Iterator begin() const
Definition: gridpart2gridview.hh:134
GridPart::GridType Grid
Definition: gridpart2gridview.hh:24
const IndexSet & indexSet() const
Definition: gridpart2gridview.hh:106
int overlapSize(int codim) const
Definition: gridpart2gridview.hh:166
Definition: coordinate.hh:4
Traits::IndexSet IndexSet
type of the index set
Definition: gridpart2gridview.hh:69
int ghostSize(int codim) const
Definition: gridpart2gridview.hh:171
Definition: gridpart2gridview.hh:16
GridPart::IndexSetType IndexSet
Definition: gridpart2gridview.hh:25
GridPart2GridViewImpl< GridPart > GridViewImp
Definition: gridpart2gridview.hh:22
GridPart::template Codim< codim >::EntityPointerType EntityPointer
Definition: gridpart2gridview.hh:37
Codim Structure.
Definition: gridpart2gridview.hh:82
bool contains(const EntityType &e) const
Definition: gridpart2gridview.hh:122
void communicate(CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const
Definition: gridpart2gridview.hh:177
Traits::IntersectionIterator IntersectionIterator
type of the intersection iterator
Definition: gridpart2gridview.hh:75
GridPart::template Codim< codim >::template Partition< pitype >::IteratorType Iterator
Definition: gridpart2gridview.hh:45
Definition: gridpart2gridview.hh:43
static const bool conforming
Definition: gridpart2gridview.hh:51
GridPart2GridView(const GridPart &gridPart)
Definition: gridpart2gridview.hh:200
Traits::CollectiveCommunication CollectiveCommunication
type of the collective communication
Definition: gridpart2gridview.hh:78
GridPart::template Codim< codim >::GeometryType Geometry
Definition: gridpart2gridview.hh:39
GridPart2GridViewImpl(const GridPartType &gridPart)
Definition: gridpart2gridview.hh:93
Definition: gridpart2gridview.hh:191
Partition< All_Partition >::Iterator Iterator
Definition: gridpart2gridview.hh:48
const Grid & grid() const
Definition: gridpart2gridview.hh:101