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>
7#include <dune/grid/multidomaingrid/factory.hh>
8#include <dune/grid/multidomaingrid/gmshreader.hh>
12using mdgrid::MultiDomainGrid;
13using mdgrid::MultiDomainMCMGMapper;
16namespace Capabilities {
18 template<
typename Gr
id>
21 static const bool v =
true;
29namespace Capabilities {
31 template<
class HostGr
id,
typename MDGr
idTraits,
int codim>
32 struct hasEntity<MultiDomainGrid<HostGrid,MDGridTraits>, codim>
34 static const bool v = hasEntity<HostGrid,codim>::v;
37 template<
class HostGr
id,
typename MDGr
idTraits,
int codim>
38 struct hasEntityIterator<MultiDomainGrid<HostGrid,MDGridTraits>, codim>
40 static const bool v = hasEntityIterator<HostGrid,codim>::v;
43 template<
class HostGr
id,
typename MDGr
idTraits,
int codim>
44 struct canCommunicate<MultiDomainGrid<HostGrid,MDGridTraits>, codim>
46 static const bool v = canCommunicate<HostGrid,codim>::v;
50 template<
class HostGr
id,
typename MDGr
idTraits>
51 struct isLevelwiseConforming<MultiDomainGrid<HostGrid,MDGridTraits> >
53 static const bool v = isLevelwiseConforming<HostGrid>::v;
57 template<
class HostGr
id,
typename MDGr
idTraits>
58 struct isLeafwiseConforming<MultiDomainGrid<HostGrid,MDGridTraits> >
60 static const bool v = isLeafwiseConforming<HostGrid>::v;
64 template<
class HostGr
id,
typename MDGr
idTraits>
65 struct hasBackupRestoreFacilities<MultiDomainGrid<HostGrid,MDGridTraits> >
67 static const bool v =
false;
71 template<
typename HostGr
id,
typename MDGr
idTraits>
72 struct threadSafe<MultiDomainGrid<HostGrid,MDGridTraits> >
74 static const bool v =
false;
78 template<
typename HostGr
id,
typename MDGr
idTraits>
79 struct viewThreadSafe<MultiDomainGrid<HostGrid,MDGridTraits> >
81 static const bool v = viewThreadSafe<HostGrid>::v;
85 template<
typename HostGr
id,
typename MDGr
idTraits>
86 struct hasSingleGeometryType<MultiDomainGrid<HostGrid,MDGridTraits> >
88 static const bool v = hasSingleGeometryType<HostGrid>::v;
89 static const unsigned int topologyId = hasSingleGeometryType<HostGrid>::topologyId;
93 template<
typename HostGr
id,
typename MDGr
idTraits,
int codim>
94 struct hasGeometry<MultiDomainGrid<HostGrid,MDGridTraits>,codim>
96 static const bool v = hasGeometry<HostGrid,codim>::v;
105namespace Capabilities {
107 template<
class MDGr
id,
int codim>
108 struct hasEntity<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid>, codim>
110 static const bool v = hasEntity<MDGrid,codim>::v;
113 template<
class MDGr
id,
int codim>
114 struct hasEntityIterator<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid>, codim>
116 static const bool v = hasEntityIterator<MDGrid,codim>::v;
119 template<
class MDGr
id,
int codim>
120 struct canCommunicate<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid>, codim>
122 static const bool v = canCommunicate<MDGrid,codim>::v;
126 template<
class MDGr
id>
127 struct isLevelwiseConforming<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
129 static const bool v = isLevelwiseConforming<MDGrid>::v;
133 template<
class MDGr
id>
134 struct isLeafwiseConforming<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
136 static const bool v = isLeafwiseConforming<MDGrid>::v;
140 template<
class MDGr
id>
141 struct hasBackupRestoreFacilities<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
143 static const bool v =
false;
147 template<
typename MDGr
id>
148 struct threadSafe<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
150 static const bool v =
false;
154 template<
typename MDGr
id>
155 struct viewThreadSafe<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
157 static const bool v = viewThreadSafe<MDGrid>::v;
161 template<
typename MDGr
id>
162 struct hasSingleGeometryType<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
164 static const bool v = hasSingleGeometryType<MDGrid>::v;
165 static const unsigned int topologyId = hasSingleGeometryType<MDGrid>::topologyId;
168 template<
typename MDGr
id,
int codim>
169 struct hasGeometry<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid>,codim >
171 static const bool v = hasGeometry<MDGrid,codim>::v;