dune-grid  2.3beta2
albertagrid/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_ALBERTAGRID_GRIDFAMILTY_HH
4 #define DUNE_ALBERTAGRID_GRIDFAMILTY_HH
5 
11 #include <dune/common/parallel/collectivecommunication.hh>
12 
20 
23 
24 #if HAVE_ALBERTA
25 
26 namespace Dune
27 {
28 
29  // External Forward Declarations
30  // -----------------------------
31 
32  template< int dim, int dimworld >
33  class AlbertaGrid;
34 
35  template< int codim, int dim, class GridImp >
36  class AlbertaGridEntity;
37 
38  template< int codim, class GridImp >
39  class AlbertaGridEntityPointer;
40 
41  template< int codim, class Grid >
42  class AlbertaGridEntitySeed;
43 
44  template< int mydim, int cdim, class GridImp >
45  class AlbertaGridGeometry;
46 
47  template< int mydim, int cdim, class GridImp >
48  class AlbertaGridGlobalGeometry;
49 
50  template< int dim, int dimworld >
51  class AlbertaGridHierarchicIndexSet;
52 
53  template< class GridImp >
54  class AlbertaGridHierarchicIterator;
55 
56  template< class GridImp >
57  class AlbertaGridLeafIntersection;
58 
59  template< class GridImp >
60  class AlbertaGridLeafIntersectionIterator;
61 
62  template< int dim, int dimworld >
63  class AlbertaGridIdSet;
64 
65  template< int dim, int dimworld >
66  class AlbertaGridIndexSet;
67 
68  template< int codim, PartitionIteratorType pitype, class GridImp >
69  class AlbertaGridLeafIterator;
70 
71  template< int codim, PartitionIteratorType pitype, class GridImp >
72  class AlbertaGridLevelIterator;
73 
74 
75 
76 
77  // AlbertaGridFamily
78  // -----------------
79 
80  template <int dim, int dimworld>
82  {
84 
86 
87  static const int dimension = dim;
88  static const int dimensionworld = dimworld;
89 
92 
94  typedef unsigned int IdType;
95 
96  struct Traits
97  {
98  typedef GridImp Grid;
99 
108 
110 
113 
114  template< int cd >
115  struct Codim
116  {
117  typedef AlbertaGridGlobalGeometry< dim-cd, dimworld, const Grid > GeometryImpl;
118  typedef AlbertaGridGeometry< dim-cd, dim, const Grid > LocalGeometryImpl;
119  typedef Dune::Geometry< dim-cd, dimworld, const Grid, AlbertaGridGlobalGeometry > Geometry;
120  typedef Dune::Geometry< dim-cd, dim, const Grid, LocalGeometryReference > LocalGeometry;
121 
123 
127 
128  template <PartitionIteratorType pitype>
129  struct Partition
130  {
133  };
134 
137  };
138 
139  template <PartitionIteratorType pitype>
140  struct Partition
141  {
144  };
145 
151 
152  typedef Dune::CollectiveCommunication< No_Comm > CollectiveCommunication;
153  };
154  };
155 
156 }
157 
158 #endif // #if HAVE_ALBERTA
159 
160 #endif // #ifndef DUNE_ALBERTAGRID_GRIDFAMILTY_HH