dune-fem  2.8-git
gridpart/geometrygridpart/capabilities.hh
Go to the documentation of this file.
1 #ifndef DUNE_FEM_GRIDPART_GEOMETRYGRIDPART_CAPABILITIES_HH
2 #define DUNE_FEM_GRIDPART_GEOMETRYGRIDPART_CAPABILITIES_HH
3 
4 #include <dune/common/version.hh>
5 
7 
8 namespace Dune
9 {
10 
11  namespace Fem
12  {
13 
14  // Forward declaration
15  // -------------------
16 
17  template< class >
18  class GeometryGridPart;
19 
20 
21 
22  namespace GridPartCapabilities
23  {
24 
25  template< class GridFunctionType >
26  struct hasGrid< GeometryGridPart< GridFunctionType > >
27  {
28  static const bool v = true;
29  };
30 
31 
32  template< class GridFunctionType >
33  struct hasSingleGeometryType< GeometryGridPart< GridFunctionType > >
34  {
35  typedef typename GridFunctionType::GridPartType HostGridPartType;
38  };
39 
40 
41  template< class GridFunctionType >
42  struct isCartesian< GeometryGridPart< GridFunctionType > >
43  {
44  typedef typename GridFunctionType::GridPartType HostGridPartType;
46  };
47 
48 /*
49  template< class GridFunctionType >
50  struct hasEntity< GeometryGridPart< GridFunctionType >, 0 >
51  {
52  typedef typename GridFunctionType::GridPartType HostGridPartType;
53  static const bool v = hasEntity< HostGridPartType, 0>::v;
54  };
55 */
56  template< class GridFunctionType, int codim >
57  struct hasEntity< GeometryGridPart< GridFunctionType >, codim >
58  {
59  typedef typename GridFunctionType::GridPartType HostGridPartType;
60  static const bool v = false;
61  };
62 
63 
64  template< class GridFunctionType, int codim >
65  struct canCommunicate< GeometryGridPart< GridFunctionType >, codim >
66  {
67  typedef typename GridFunctionType::GridPartType HostGridPartType;
69  };
70 
71 
72  template< class GridFunctionType >
73  struct isConforming< GeometryGridPart< GridFunctionType > >
74  {
75  typedef typename GridFunctionType::GridPartType HostGridPartType;
77  };
78 
79  } // namespace GridPartCapabilities
80 
81  } // namespace Fem
82 
83 } // namespace Dune
84 
85 #endif // #ifndef DUNE_FEM_GRIDPART_GEOMETRYGRIDPART_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: geometrygridpart.hh:181
GridFunctionType::GridPartType HostGridPartType
Definition: gridpart/geometrygridpart/capabilities.hh:35
GridFunctionType::GridPartType HostGridPartType
Definition: gridpart/geometrygridpart/capabilities.hh:44
GridFunctionType::GridPartType HostGridPartType
Definition: gridpart/geometrygridpart/capabilities.hh:59
GridFunctionType::GridPartType HostGridPartType
Definition: gridpart/geometrygridpart/capabilities.hh:67
GridFunctionType::GridPartType HostGridPartType
Definition: gridpart/geometrygridpart/capabilities.hh:75