Loading [MathJax]/extensions/tex2jax.js

DUNE MultiDomainGrid (2.10)

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