dune-grid  2.2.0
alugrid/3d/capabilities.hh
Go to the documentation of this file.
1 #ifndef DUNE_ALU3DGRID_CAPABILITIES_HH
2 #define DUNE_ALU3DGRID_CAPABILITIES_HH
3 
4 // only include this code, if ENABLE_ALUGRID is defined
5 #ifdef ENABLE_ALUGRID
6 
10 #include <dune/geometry/genericgeometry/topologytypes.hh>
11 
12 
18 namespace Dune
19 {
20 
21  template< int dim, int dimworld >
22  class ALUCubeGrid;
23 
24  template< int dim, int dimworld >
25  class ALUSimplexGrid;
26 
27 
28  namespace Capabilities
29  {
30 
31  // Capabilities for ALUCubeGrid
32  // ----------------------------
33 
45  template< >
46  struct hasSingleGeometryType< ALUCubeGrid< 3, 3 > >
47  {
48  static const bool v = true;
49  static const unsigned int topologyId = GenericGeometry :: CubeTopology< 3 > :: type :: id ;
50  };
51 
52 
56  template< int cdim >
57  struct hasEntity< ALUCubeGrid< 3, 3 >, cdim >
58  {
59  static const bool v = true;
60  };
61 
65 #if ALU3DGRID_PARALLEL
66  template<>
67  struct isParallel< ALUCubeGrid< 3, 3 > >
68  {
69  static const bool v = true;
70  };
71 #endif
72 
76 #if ALU3DGRID_PARALLEL
77  template< int codim >
78  struct canCommunicate< ALUCubeGrid< 3, 3 >, codim >
79  {
80  static const bool v = true;
81  };
82 #endif
83 
87  template<>
88  struct isLevelwiseConforming< ALUCubeGrid< 3, 3 > >
89  {
90  static const bool v = true;
91  };
92 
96  template<>
97  struct hasBackupRestoreFacilities< ALUCubeGrid< 3, 3 > >
98  {
99  static const bool v = true;
100  };
101 
102 
103 
104  // Capabilities for ALUSimplexGrid
105  // -------------------------------
106 
118  template< >
119  struct hasSingleGeometryType< ALUSimplexGrid< 3, 3 > >
120  {
121  static const bool v = true;
122  static const unsigned int topologyId = GenericGeometry :: SimplexTopology< 3 > :: type :: id ;
123  };
124 
128  template< int cdim >
129  struct hasEntity< ALUSimplexGrid< 3, 3 >, cdim >
130  {
131  static const bool v = true;
132  };
133 
137 #if ALU3DGRID_PARALLEL
138  template<>
139  struct isParallel< ALUSimplexGrid< 3, 3 > >
140  {
141  static const bool v = true;
142  };
143 #endif
144 
148 #if ALU3DGRID_PARALLEL
149  template< int codim >
150  struct canCommunicate< ALUSimplexGrid< 3, 3 >, codim >
151  {
152  static const bool v = true;
153  };
154 #endif
155 
159  template<>
160  struct isLevelwiseConforming< ALUSimplexGrid< 3, 3 > >
161  {
162  static const bool v = true;
163  };
164 
168  template<>
169  struct hasBackupRestoreFacilities< ALUSimplexGrid< 3, 3 > >
170  {
171  static const bool v = true;
172  };
173 
174  } // end namespace Capabilities
175 
176 } //end namespace Dune
177 
178 #endif // #ifdef ENABLE_ALUGRID
179 
180 #endif