dune-fem  2.6-git
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:
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, int codim >
62  struct canCommunicate< GeoGridPart< CoordFunction >, codim >
63  {
65  };
66 
67 
68  template< class CoordFunction >
69  struct isConforming< GeoGridPart< CoordFunction > >
70  {
72  };
73 
74  } // namespace GridPartCapabilities
75 
76  } // namespace Fem
77 
78 } // namespace Dune
79 
80 #endif // #ifndef DUNE_FEM_GRIDPART_GEOGRIDPART_CAPABILITIES_HH
Definition: bindguard.hh:11
specialize with 'false' if grid part has no underlying dune grid (default=true)
Definition: gridpart/common/capabilities.hh:18
static const bool v
Definition: gridpart/common/capabilities.hh:19
specialize with 'true' for if the codimension 0 entity of the grid part has only one possible geometr...
Definition: gridpart/common/capabilities.hh:29
static const bool v
Definition: gridpart/common/capabilities.hh:30
static const unsigned int topologyId
Definition: gridpart/common/capabilities.hh:31
specialize with 'true' if the grid part is cartesian (default=false)
Definition: gridpart/common/capabilities.hh:40
static const bool v
Definition: gridpart/common/capabilities.hh:41
specialize with 'true' for all codims that a grid implements entities for (default=false)
Definition: gridpart/common/capabilities.hh:50
static const bool v
Definition: gridpart/common/capabilities.hh:51
specialize with 'true' for all codims that a grid can communicate data on (default=false)
Definition: gridpart/common/capabilities.hh:60
static const bool v
Definition: gridpart/common/capabilities.hh:61
specialize with 'true' if implementation guarantees conforming level grids. (default=false)
Definition: gridpart/common/capabilities.hh:70
static const bool v
Definition: gridpart/common/capabilities.hh:71
Definition: geogridpart.hh:171