dune-fem  2.4.1-rc
gridpart/filteredgridpart/capabilities.hh
Go to the documentation of this file.
1 #ifndef DUNE_FEM_GRIDPART_IDGRIDPART_CAPABILITIES_HH
2 #define DUNE_FEM_GRIDPART_IDGRIDPART_CAPABILITIES_HH
3 
4 //- dune-common includes
5 #include <dune/common/typetraits.hh>
6 
7 //- dune-geometry includes
8 #include <dune/geometry/genericgeometry/topologytypes.hh>
9 
10 //- dune-fem includes
12 
13 namespace Dune
14 {
15 
16  namespace Fem
17  {
18 
19  // Forward declaration
20  // -------------------
21 
22  template< class, class, bool >
24 
25 
26 
27  namespace GridPartCapabilities
28  {
29 
30  template< class HostGridPartImp, class FilterImp, bool useFilteredIndexSet >
31  struct hasGrid< FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet > >
32  {
33  static const bool v = hasGrid< HostGridPartImp >::v;
34  };
35 
36 
37  template< class HostGridPartImp, class FilterImp, bool useFilteredIndexSet >
38  struct hasSingleGeometryType< FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet > >
39  {
41  static const unsigned int topologyId = hasSingleGeometryType< HostGridPartImp >::topologyId;
42  };
43 
44 
45  template< class HostGridPartImp, class FilterImp, bool useFilteredIndexSet >
46  struct isCartesian< FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet > >
47  {
48  static const bool v = isCartesian< HostGridPartImp >::v;
49  };
50 
51 
52  template< class HostGridPartImp, class FilterImp, bool useFilteredIndexSet, int codim >
53  struct hasEntity< FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >, codim >
54  {
56  };
57 
58 
59  template< class HostGridPartImp, class FilterImp, bool useFilteredIndexSet >
60  struct isParallel< FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet > >
61  {
62  static const bool v = isParallel< HostGridPartImp >::v;
63  };
64 
65 
66  template< class HostGridPartImp, class FilterImp, bool useFilteredIndexSet, int codim >
67  struct canCommunicate< FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >, codim >
68  {
70  };
71 
72 
73  template< class HostGridPartImp, class FilterImp, bool useFilteredIndexSet >
74  struct isConforming< FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet > >
75  {
77  };
78 
79  } // namespace GridPartCapabilities
80 
81  } // namespace Fem
82 
83 } // namespace Dune
84 
85 #endif // #ifndef DUNE_FEM_GRIDPART_IDGRIDPART_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
A FilteredGridPart allows to extract a set of entities from a grid satisfying a given constrainted de...
Definition: gridpart/filteredgridpart/capabilities.hh:23
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