dune-grid  2.2.1
albertagrid/gridfamily.hh
Go to the documentation of this file.
1 #ifndef DUNE_ALBERTAGRID_GRIDFAMILTY_HH
2 #define DUNE_ALBERTAGRID_GRIDFAMILTY_HH
3 
9 #include <dune/common/collectivecommunication.hh>
10 
12 
18 
21 
22 #if HAVE_ALBERTA
23 
24 namespace Dune
25 {
26 
27  // External Forward Declarations
28  // -----------------------------
29 
30  template< int dim, int dimworld >
31  class AlbertaGrid;
32 
33  template< int codim, int dim, class GridImp >
34  class AlbertaGridEntity;
35 
36  template< int codim, class GridImp >
37  class AlbertaGridEntityPointer;
38 
39  template< int codim, class Grid >
40  class AlbertaGridEntitySeed;
41 
42  template< int mydim, int cdim, class GridImp >
43  class AlbertaGridGeometry;
44 
45  template< int mydim, int cdim, class GridImp >
46  class AlbertaGridGlobalGeometry;
47 
48  template< int dim, int dimworld >
49  class AlbertaGridHierarchicIndexSet;
50 
51  template< class GridImp >
52  class AlbertaGridHierarchicIterator;
53 
54  template< class GridImp >
55  class AlbertaGridLeafIntersection;
56 
57  template< class GridImp >
58  class AlbertaGridLeafIntersectionIterator;
59 
60  template< int dim, int dimworld >
61  class AlbertaGridIdSet;
62 
63  template< int dim, int dimworld >
64  class AlbertaGridIndexSet;
65 
66  template< int codim, PartitionIteratorType pitype, class GridImp >
67  class AlbertaGridLeafIterator;
68 
69  template< int codim, PartitionIteratorType pitype, class GridImp >
70  class AlbertaGridLevelIterator;
71 
72 
73 
74 
75  // AlbertaGridFamily
76  // -----------------
77 
78  template <int dim, int dimworld>
80  {
82 
84 
85  static const int dimension = dim;
86  static const int dimensionworld = dimworld;
87 
90 
92  typedef unsigned int IdType;
93 
94  struct Traits
95  {
96  typedef GridImp Grid;
97 
106 
108 
111 
112  template< int cd >
113  struct Codim
114  {
115  // IMPORTANT: Codim<codim>::Geometry == Geometry<dim-codim,dimw>
116  typedef AlbertaGridGlobalGeometry< dim-cd, dimworld, const GridImp > GeometryImpl;
117  typedef AlbertaGridGeometry< dim-cd, dim, const GridImp > LocalGeometryImpl;
118  typedef Dune::Geometry< dim-cd, dimworld, const GridImp, AlbertaGridGlobalGeometry > Geometry;
119  typedef Dune::Geometry< dim-cd, dim, const GridImp, AlbertaGridGeometry > LocalGeometry;
120 
122 
125  typedef AlbertaGridEntitySeed< cd, const GridImp > EntitySeed;
126 
127  template <PartitionIteratorType pitype>
128  struct Partition
129  {
132  };
133 
136  };
137 
138  template <PartitionIteratorType pitype>
139  struct Partition
140  {
143  };
144 
150 
151  typedef Dune::CollectiveCommunication< No_Comm > CollectiveCommunication;
152  };
153  };
154 
155 }
156 
157 #endif // #if HAVE_ALBERTA
158 
159 #endif // #ifndef DUNE_ALBERTAGRID_GRIDFAMILTY_HH