DUNE-FEM (unstable)

capabilities.hh
1#ifndef DUNE_FEM_GRIDPART_IDGRIDPART_CAPABILITIES_HH
2#define DUNE_FEM_GRIDPART_IDGRIDPART_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, class, bool >
18 class FilteredGridPart;
19
20
21
22 namespace GridPartCapabilities
23 {
24
25 template< class HostGridPartImp, class FilterImp, bool useFilteredIndexSet >
26 struct hasGrid< FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet > >
27 {
28 static const bool v = hasGrid< HostGridPartImp >::v;
29 };
30
31
32 template< class HostGridPartImp, class FilterImp, bool useFilteredIndexSet >
33 struct hasSingleGeometryType< FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet > >
34 {
35 static const bool v = hasSingleGeometryType< HostGridPartImp >::v;
36 static const unsigned int topologyId = hasSingleGeometryType< HostGridPartImp >::topologyId;
37 };
38
39
40 template< class HostGridPartImp, class FilterImp, bool useFilteredIndexSet >
41 struct isCartesian< FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet > >
42 {
43 static const bool v = isCartesian< HostGridPartImp >::v;
44 };
45
46
47 template< class HostGridPartImp, class FilterImp, bool useFilteredIndexSet, int codim >
48 struct hasEntity< FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >, codim >
49 {
50 static const bool v = hasEntity< HostGridPartImp, codim >::v;
51 };
52
53
54 template< class HostGridPartImp, class FilterImp, bool useFilteredIndexSet, int codim >
55 struct canCommunicate< FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >, codim >
56 {
57 static const bool v = canCommunicate< HostGridPartImp, codim >::v;
58 };
59
60
61 template< class HostGridPartImp, class FilterImp, bool useFilteredIndexSet >
62 struct isConforming< FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet > >
63 {
64 static const bool v = isConforming< HostGridPartImp >::v;
65 };
66
67 } // namespace GridPartCapabilities
68
69 } // namespace Fem
70
71} // namespace Dune
72
73#endif // #ifndef DUNE_FEM_GRIDPART_IDGRIDPART_CAPABILITIES_HH
Dune namespace.
Definition: alignedallocator.hh:13
A unique label for each type of element that can occur in a grid.
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Jul 27, 22:29, 2024)