Loading [MathJax]/extensions/tex2jax.js

DUNE MultiDomainGrid (2.8)

multidomaingrid.hh
1#ifndef DUNE_MULTIDOMAINGRID_HH
2#define DUNE_MULTIDOMAINGRID_HH
3
4#include <dune/common/parallel/communication.hh>
5#include <dune/grid/multidomaingrid/multidomaingrid.hh>
6#include <dune/grid/multidomaingrid/multidomainmcmgmapper.hh>
7
8namespace Dune {
9
10using mdgrid::MultiDomainGrid;
11using mdgrid::MultiDomainMCMGMapper;
12
13
14namespace Capabilities {
15
16 template<typename Grid>
17 struct isAdaptable
18 {
19 static const bool v = true;
20 };
21
22}
23
24
25// MultiDomainGrid capabilities
26
27namespace Capabilities {
28
29 template<class HostGrid, typename MDGridTraits, int codim>
30 struct hasEntity<MultiDomainGrid<HostGrid,MDGridTraits>, codim>
31 {
32 static const bool v = hasEntity<HostGrid,codim>::v;
33 };
34
35 template<class HostGrid, typename MDGridTraits, int codim>
36 struct hasEntityIterator<MultiDomainGrid<HostGrid,MDGridTraits>, codim>
37 {
38 static const bool v = hasEntityIterator<HostGrid,codim>::v;
39 };
40
41 template<class HostGrid, typename MDGridTraits, int codim>
42 struct canCommunicate<MultiDomainGrid<HostGrid,MDGridTraits>, codim>
43 {
44 static const bool v = canCommunicate<HostGrid,codim>::v;
45 };
46
47
48 template<class HostGrid, typename MDGridTraits>
49 struct isLevelwiseConforming<MultiDomainGrid<HostGrid,MDGridTraits> >
50 {
51 static const bool v = isLevelwiseConforming<HostGrid>::v;
52 };
53
54
55 template<class HostGrid, typename MDGridTraits>
56 struct isLeafwiseConforming<MultiDomainGrid<HostGrid,MDGridTraits> >
57 {
58 static const bool v = isLeafwiseConforming<HostGrid>::v;
59 };
60
61
62 template<class HostGrid, typename MDGridTraits>
63 struct hasBackupRestoreFacilities<MultiDomainGrid<HostGrid,MDGridTraits> >
64 {
65 static const bool v = false;
66 };
67
68
69 template<typename HostGrid, typename MDGridTraits>
70 struct threadSafe<MultiDomainGrid<HostGrid,MDGridTraits> >
71 {
72 static const bool v = false;
73 };
74
75
76 template<typename HostGrid, typename MDGridTraits>
77 struct viewThreadSafe<MultiDomainGrid<HostGrid,MDGridTraits> >
78 {
79 static const bool v = viewThreadSafe<HostGrid>::v;
80 };
81
82
83 template<typename HostGrid, typename MDGridTraits>
84 struct hasSingleGeometryType<MultiDomainGrid<HostGrid,MDGridTraits> >
85 {
86 static const bool v = hasSingleGeometryType<HostGrid>::v;
87 static const unsigned int topologyId = hasSingleGeometryType<HostGrid>::topologyId;
88 };
89
90
91 template<typename HostGrid, typename MDGridTraits, int codim>
92 struct hasGeometry<MultiDomainGrid<HostGrid,MDGridTraits>,codim>
93 {
94 static const bool v = hasGeometry<HostGrid,codim>::v;
95 };
96
97} // namespace Capabilities
98
99
100
101// SubDomainGrid capabilities
102
103namespace Capabilities {
104
105 template<class MDGrid, int codim>
106 struct hasEntity<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid>, codim>
107 {
108 static const bool v = hasEntity<MDGrid,codim>::v;
109 };
110
111 template<class MDGrid, int codim>
112 struct hasEntityIterator<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid>, codim>
113 {
114 static const bool v = hasEntityIterator<MDGrid,codim>::v;
115 };
116
117 template<class MDGrid, int codim>
118 struct canCommunicate<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid>, codim>
119 {
120 static const bool v = canCommunicate<MDGrid,codim>::v;
121 };
122
123
124 template<class MDGrid>
125 struct isLevelwiseConforming<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
126 {
127 static const bool v = isLevelwiseConforming<MDGrid>::v;
128 };
129
130
131 template<class MDGrid>
132 struct isLeafwiseConforming<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
133 {
134 static const bool v = isLeafwiseConforming<MDGrid>::v;
135 };
136
137
138 template<class MDGrid>
139 struct hasBackupRestoreFacilities<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
140 {
141 static const bool v = false;
142 };
143
144
145 template<typename MDGrid>
146 struct threadSafe<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
147 {
148 static const bool v = false;
149 };
150
151
152 template<typename MDGrid>
153 struct viewThreadSafe<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
154 {
155 static const bool v = viewThreadSafe<MDGrid>::v;
156 };
157
158
159 template<typename MDGrid>
160 struct hasSingleGeometryType<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
161 {
162 static const bool v = hasSingleGeometryType<MDGrid>::v;
163 static const unsigned int topologyId = hasSingleGeometryType<MDGrid>::topologyId;
164 };
165
166 template<typename MDGrid, int codim>
167 struct hasGeometry<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid>,codim >
168 {
169 static const bool v = hasGeometry<MDGrid,codim>::v;
170 };
171
172
173} // namespace Capabilities
174
175} // namespace Dune
176
177#endif // DUNE_MULTIDOMAINGRID_HH
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden & Uni Heidelberg  |  generated with Hugo v0.111.3 (Apr 3, 22:46, 2025)