1#ifndef DUNE_MULTIDOMAINGRID_HH
2#define DUNE_MULTIDOMAINGRID_HH
4#include <dune/common/parallel/communication.hh>
5#include <dune/grid/multidomaingrid/multidomaingrid.hh>
6#include <dune/grid/multidomaingrid/multidomainmcmgmapper.hh>
10using mdgrid::MultiDomainGrid;
11using mdgrid::MultiDomainMCMGMapper;
14namespace Capabilities {
16 template<
typename Gr
id>
19 static const bool v =
true;
27namespace Capabilities {
29 template<
class HostGr
id,
typename MDGr
idTraits,
int codim>
30 struct hasEntity<MultiDomainGrid<HostGrid,MDGridTraits>, codim>
32 static const bool v = hasEntity<HostGrid,codim>::v;
35 template<
class HostGr
id,
typename MDGr
idTraits,
int codim>
36 struct hasEntityIterator<MultiDomainGrid<HostGrid,MDGridTraits>, codim>
38 static const bool v = hasEntityIterator<HostGrid,codim>::v;
41 template<
class HostGr
id,
typename MDGr
idTraits,
int codim>
42 struct canCommunicate<MultiDomainGrid<HostGrid,MDGridTraits>, codim>
44 static const bool v = canCommunicate<HostGrid,codim>::v;
48 template<
class HostGr
id,
typename MDGr
idTraits>
49 struct isLevelwiseConforming<MultiDomainGrid<HostGrid,MDGridTraits> >
51 static const bool v = isLevelwiseConforming<HostGrid>::v;
55 template<
class HostGr
id,
typename MDGr
idTraits>
56 struct isLeafwiseConforming<MultiDomainGrid<HostGrid,MDGridTraits> >
58 static const bool v = isLeafwiseConforming<HostGrid>::v;
62 template<
class HostGr
id,
typename MDGr
idTraits>
63 struct hasBackupRestoreFacilities<MultiDomainGrid<HostGrid,MDGridTraits> >
65 static const bool v =
false;
69 template<
typename HostGr
id,
typename MDGr
idTraits>
70 struct threadSafe<MultiDomainGrid<HostGrid,MDGridTraits> >
72 static const bool v =
false;
76 template<
typename HostGr
id,
typename MDGr
idTraits>
77 struct viewThreadSafe<MultiDomainGrid<HostGrid,MDGridTraits> >
79 static const bool v = viewThreadSafe<HostGrid>::v;
83 template<
typename HostGr
id,
typename MDGr
idTraits>
84 struct hasSingleGeometryType<MultiDomainGrid<HostGrid,MDGridTraits> >
86 static const bool v = hasSingleGeometryType<HostGrid>::v;
87 static const unsigned int topologyId = hasSingleGeometryType<HostGrid>::topologyId;
91 template<
typename HostGr
id,
typename MDGr
idTraits,
int codim>
92 struct hasGeometry<MultiDomainGrid<HostGrid,MDGridTraits>,codim>
94 static const bool v = hasGeometry<HostGrid,codim>::v;
103namespace Capabilities {
105 template<
class MDGr
id,
int codim>
106 struct hasEntity<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid>, codim>
108 static const bool v = hasEntity<MDGrid,codim>::v;
111 template<
class MDGr
id,
int codim>
112 struct hasEntityIterator<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid>, codim>
114 static const bool v = hasEntityIterator<MDGrid,codim>::v;
117 template<
class MDGr
id,
int codim>
118 struct canCommunicate<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid>, codim>
120 static const bool v = canCommunicate<MDGrid,codim>::v;
124 template<
class MDGr
id>
125 struct isLevelwiseConforming<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
127 static const bool v = isLevelwiseConforming<MDGrid>::v;
131 template<
class MDGr
id>
132 struct isLeafwiseConforming<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
134 static const bool v = isLeafwiseConforming<MDGrid>::v;
138 template<
class MDGr
id>
139 struct hasBackupRestoreFacilities<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
141 static const bool v =
false;
145 template<
typename MDGr
id>
146 struct threadSafe<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
148 static const bool v =
false;
152 template<
typename MDGr
id>
153 struct viewThreadSafe<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
155 static const bool v = viewThreadSafe<MDGrid>::v;
159 template<
typename MDGr
id>
160 struct hasSingleGeometryType<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
162 static const bool v = hasSingleGeometryType<MDGrid>::v;
163 static const unsigned int topologyId = hasSingleGeometryType<MDGrid>::topologyId;
166 template<
typename MDGr
id,
int codim>
167 struct hasGeometry<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid>,codim >
169 static const bool v = hasGeometry<MDGrid,codim>::v;