DUNE-FEM (unstable)

capabilities.hh
1#ifndef DUNE_FEM_GRIDPART_GEOMETRYGRIDPART_CAPABILITIES_HH
2#define DUNE_FEM_GRIDPART_GEOMETRYGRIDPART_CAPABILITIES_HH
3
5
6#include <dune/fem/gridpart/common/capabilities.hh>
7
8namespace 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;
36 static const bool v = hasSingleGeometryType< HostGridPartType >::v;
37 static const unsigned int topologyId = hasSingleGeometryType< HostGridPartType >::topologyId;
38 };
39
40
41 template< class GridFunctionType >
42 struct isCartesian< GeometryGridPart< GridFunctionType > >
43 {
44 typedef typename GridFunctionType::GridPartType HostGridPartType;
45 static const bool v = isCartesian< HostGridPartType >::v;
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;
68 static const bool v = canCommunicate< HostGridPartType, codim >::v;
69 };
70
71
72 template< class GridFunctionType >
73 struct isConforming< GeometryGridPart< GridFunctionType > >
74 {
75 typedef typename GridFunctionType::GridPartType HostGridPartType;
76 static const bool v = isConforming< HostGridPartType >::v;
77 };
78
79 } // namespace GridPartCapabilities
80
81 } // namespace Fem
82
83} // namespace Dune
84
85#endif // #ifndef DUNE_FEM_GRIDPART_GEOMETRYGRIDPART_CAPABILITIES_HH
Various macros to work with Dune module version numbers.
Dune namespace.
Definition: alignedallocator.hh:13
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Jul 27, 22:29, 2024)