dune-grid  2.3.1-rc1
geometrygrid/gridfamily.hh
Go to the documentation of this file.
1 // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 // vi: set et ts=4 sw=2 sts=2:
3 #ifndef DUNE_GEOGRID_GRIDFAMILY_HH
4 #define DUNE_GEOGRID_GRIDFAMILY_HH
5 
6 #include <dune/common/static_assert.hh>
7 
21 
22 namespace Dune
23 {
24 
28  namespace GeoGrid
29  {
30 
31  // ExportParams
32  // ------------
33 
34  template< class HG, class CF >
35  class ExportParams
36  {
37  static const bool isCoordFunction = isCoordFunctionInterface< typename CF::Interface >::value;
38  dune_static_assert( isCoordFunction, "Invalid CoordFunction." );
39 
40  public:
41  typedef HG HostGrid;
42  typedef CF CoordFunction;
43  };
44 
45 
46 
47  // GridFamily
48  // ----------
49 
50  template< class HG, class CF, class Allocator >
51  struct GridFamily
52  {
53  struct Traits
54  {
56 
57  typedef HG HostGrid;
58  typedef CF CoordFunction;
59 
60  typedef typename HostGrid::ctype ctype;
61 
62  static const int dimension = HostGrid::dimension;
63  static const int dimensionworld = CoordFunction::dimRange;
64 
67 
74 
77 
78  template< int codim >
79  struct Codim
80  {
83  typedef typename HostGrid::template Codim< codim >::LocalGeometry LocalGeometry;
84 
88  typedef typename EntityPointerTraits::Entity Entity;
89 
91 
92  template< PartitionIteratorType pitype >
93  struct Partition
94  {
97 
100  };
101 
104  };
105 
108 
113 
114  typedef typename HostGrid::Traits::CollectiveCommunication CollectiveCommunication;
115 
116  template< PartitionIteratorType pitype >
117  struct Partition
118  {
123  };
124  };
125  };
126 
127  } // namespace GeoGrid
128 
129 } // namespace Dune
130 
131 #endif // #ifndef DUNE_GEOGRID_GRIDFAMILY_HH
Dune::IntersectionIterator< const Grid, GeoGrid::IntersectionIterator< const Grid, typename HostGrid::LevelIntersectionIterator >, GeoGrid::Intersection< const Grid, typename HostGrid::LevelIntersection > > LevelIntersectionIterator
Definition: geometrygrid/gridfamily.hh:73
CF CoordFunction
Definition: geometrygrid/gridfamily.hh:42
GeoGrid::IndexSet< const Grid, typename HostGrid::Traits::LevelIndexSet > LevelIndexSet
Definition: geometrygrid/gridfamily.hh:107
static const int dimensionworld
Definition: geometrygrid/gridfamily.hh:63
CF CoordFunction
Definition: geometrygrid/gridfamily.hh:58
Definition: geometrygrid/gridfamily.hh:51
EntityPointerTraits::Entity Entity
Definition: geometrygrid/gridfamily.hh:88
GeometryGrid< HG, CF, Allocator > Grid
Definition: geometrygrid/gridfamily.hh:55
Dune::EntitySeed< const Grid, GeoGrid::EntitySeed< codim, const Grid > > EntitySeed
Definition: geometrygrid/gridfamily.hh:90
HostGrid::template Codim< codim >::LocalGeometry LocalGeometry
Definition: geometrygrid/gridfamily.hh:83
GeoGrid::IteratorTraits< typename HostGrid::LevelGridView, codim, pitype, const Grid > LevelIteratorTraits
Definition: geometrygrid/gridfamily.hh:98
Definition: geometrygrid/gridfamily.hh:53
Definition: geometrygrid/gridfamily.hh:117
Wrapper class for pointers to entities.
Definition: common/entitypointer.hh:91
Wrapper class for geometries.
Definition: common/geometry.hh:101
Dune::Intersection< const Grid, GeoGrid::Intersection< const Grid, typename HostGrid::LevelIntersection > > LevelIntersection
Definition: geometrygrid/gridfamily.hh:66
GeoGrid::IdSet< const Grid, typename HostGrid::Traits::GlobalIdSet > GlobalIdSet
Definition: geometrygrid/gridfamily.hh:110
GeoGrid::IteratorTraits< typename HostGrid::LeafGridView, codim, pitype, const Grid > LeafIteratorTraits
Definition: geometrygrid/gridfamily.hh:95
Dune::EntityIterator< codim, const Grid, GeoGrid::Iterator< LeafIteratorTraits > > LeafIterator
Definition: geometrygrid/gridfamily.hh:96
Definition: geometrygrid/iterator.hh:181
HostGrid::ctype ctype
Definition: geometrygrid/gridfamily.hh:60
Dune::EntityIterator< codim, const Grid, GeoGrid::Iterator< LevelIteratorTraits > > LevelIterator
Definition: geometrygrid/gridfamily.hh:99
GeoGrid::EntityPointer< EntityPointerTraits > EntityPointerImpl
Definition: geometrygrid/gridfamily.hh:86
Definition: geometrygrid/entitypointer.hh:37
Dune::Intersection< const Grid, GeoGrid::Intersection< const Grid, typename HostGrid::LeafIntersection > > LeafIntersection
Definition: geometrygrid/gridfamily.hh:65
interface class for an iterator over grid entitiesAn entity iterator is an iterator over a subset of ...
Definition: entityiterator.hh:35
Dune::GridView< GeoGrid::GridViewTraits< typename HostGrid::LevelGridView, CoordFunction, Allocator, pitype > > LevelGridView
Definition: geometrygrid/gridfamily.hh:122
Definition: geometrygrid/gridfamily.hh:93
Definition: geometrygrid/intersection.hh:20
Dune::EntityPointer< const Grid, EntityPointerImpl > EntityPointer
Definition: geometrygrid/gridfamily.hh:87
HG HostGrid
Definition: geometrygrid/gridfamily.hh:41
Grid view abstract base classInterface class for a view on grids. Grids return two types of view...
Definition: common/gridview.hh:56
static const int dimension
Definition: geometrygrid/gridfamily.hh:62
GeoGrid::IndexSet< const Grid, typename HostGrid::Traits::LeafIndexSet > LeafIndexSet
Definition: geometrygrid/gridfamily.hh:106
Definition: geometrygrid/gridfamily.hh:79
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" eleme...
Definition: common/grid.hh:358
Definition: geometrygrid/entitypointer.hh:34
GeoGrid::IdSet< const Grid, typename HostGrid::Traits::LocalIdSet > LocalIdSet
Definition: geometrygrid/gridfamily.hh:112
Intersection of a mesh entities of codimension 0 ("elements") with a "neighboring" element or with th...
Definition: albertagrid/dgfparser.hh:26
Dune::EntityIterator< 0, const Grid, GeoGrid::HierarchicIterator< const Grid > > HierarchicIterator
Definition: geometrygrid/gridfamily.hh:76
Definition: idset.hh:18
Store a reference to an entity with a minimal memory footprint.
Definition: common/entityseed.hh:23
Different resources needed by all grid implementations.
Dune::Geometry< dimension-codim, dimensionworld, const Grid, Dune::GeoGrid::Geometry > Geometry
Definition: geometrygrid/gridfamily.hh:82
Dune::GeoGrid::Geometry< dimension-codim, dimensionworld, const Grid > GeometryImpl
Definition: geometrygrid/gridfamily.hh:81
Dune::GridView< GeoGrid::GridViewTraits< typename HostGrid::LeafGridView, CoordFunction, Allocator, pitype > > LeafGridView
Definition: geometrygrid/gridfamily.hh:120
Partition< All_Partition >::LeafIterator LeafIterator
Definition: geometrygrid/gridfamily.hh:102
Dune::IntersectionIterator< const Grid, GeoGrid::IntersectionIterator< const Grid, typename HostGrid::LeafIntersectionIterator >, GeoGrid::Intersection< const Grid, typename HostGrid::LeafIntersection > > LeafIntersectionIterator
Definition: geometrygrid/gridfamily.hh:70
HG HostGrid
Definition: geometrygrid/gridfamily.hh:57
Definition: geometrygrid/geometry.hh:84
Partition< All_Partition >::LevelIterator LevelIterator
Definition: geometrygrid/gridfamily.hh:103
grid wrapper replacing the geometriesGeometryGrid wraps another DUNE grid and replaces its geometry b...
Definition: geometrygrid/declaration.hh:10
Definition: geometrygrid/indexsets.hh:25
HostGrid::Traits::CollectiveCommunication CollectiveCommunication
Definition: geometrygrid/gridfamily.hh:114
Definition: geometrygrid/entity.hh:60
GeoGrid::EntityPointerTraits< codim, const Grid > EntityPointerTraits
Definition: geometrygrid/gridfamily.hh:85