dune-fem  2.4.1-rc
gridpart/geogridpart/capabilities.hh
Go to the documentation of this file.
1 #ifndef DUNE_FEM_GRIDPART_GEOGRIDPART_CAPABILITIES_HH
2 #define DUNE_FEM_GRIDPART_GEOGRIDPART_CAPABILITIES_HH
3 
4 //- dune-fem includes
6 
7 namespace Dune
8 {
9 
10  namespace Fem
11  {
12 
13  // Forward declaration
14  // -------------------
15 
16  template< class >
17  class GeoGridPart;
18 
19 
20 
21  namespace GridPartCapabilities
22  {
23 
24  template< class CoordFunction >
25  struct hasGrid< GeoGridPart< CoordFunction > >
26  {
27  // either implement this or leaf it away !!!
28 // static const bool v = hasGrid< typename CoordFunction::GridPartType >::v;
29  static const bool v = false;
30  };
31 
32 
33  template< class CoordFunction >
34  class hasSingleGeometryType< GeoGridPart< CoordFunction > >
35  {
36  typedef typename CoordFunction::GridPartType HostGridPartType;
37 
38  public:
40  static const unsigned int topologyId = hasSingleGeometryType< HostGridPartType >::topologyId;
41  };
42 
43 
44  template< class CoordFunction >
45  struct isCartesian< GeoGridPart< CoordFunction > >
46  {
47  static const bool v = false;
48  };
49 
50 
51  template< class CoordFunction, int codim >
52  struct hasEntity< GeoGridPart< CoordFunction >, codim >
53  {
54  // disable codim > 0 && < dim entities because of missing interface for subIndex method
55  // once this is implemented we can simply use hasEntity for the HostGridPart.
56  static const bool v = ( codim == 0 || codim == CoordFunction::GridPartType :: dimension ) ?
58  };
59 
60 
61  template< class CoordFunction >
62  struct isParallel< GeoGridPart< CoordFunction > >
63  {
65  };
66 
67 
68  template< class CoordFunction, int codim >
69  struct canCommunicate< GeoGridPart< CoordFunction >, codim >
70  {
72  };
73 
74 
75  template< class CoordFunction >
76  struct isConforming< GeoGridPart< CoordFunction > >
77  {
79  };
80 
81  } // namespace GridPartCapabilities
82 
83  } // namespace Fem
84 
85 } // namespace Dune
86 
87 #endif // #ifndef DUNE_FEM_GRIDPART_GEOGRIDPART_CAPABILITIES_HH
specialize with &#39;true&#39; if implementation supports parallelism (default=false)
Definition: gridpart/common/capabilities.hh:59
specialize with &#39;true&#39; for all codims that a grid implements entities for (default=false) ...
Definition: gridpart/common/capabilities.hh:49
specialize with &#39;true&#39; if implementation guarantees conforming level grids. (default=false) ...
Definition: gridpart/common/capabilities.hh:79
specialize with &#39;false&#39; if grid part has no underlying dune grid (default=true)
Definition: gridpart/common/capabilities.hh:17
static const bool v
Definition: gridpart/common/capabilities.hh:19
specialize with &#39;true&#39; for all codims that a grid can communicate data on (default=false) ...
Definition: gridpart/common/capabilities.hh:69
Definition: coordinate.hh:4
specialize with &#39;true&#39; for if the codimension 0 entity of the grid part has only one possible geometr...
Definition: gridpart/common/capabilities.hh:28
specialize with &#39;true&#39; if the grid part is cartesian (default=false)
Definition: gridpart/common/capabilities.hh:39
Definition: gridpart/geogridpart/capabilities.hh:17