Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ItemRefinementPattern.cc
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* ItemRefinementPattern.cc (C) 2000-2020 */
9/* */
10/* Fonctions utilitaires pour AMR. */
11/*---------------------------------------------------------------------------*/
12
13#include "arcane/ItemRefinementPattern.h"
14
15/*---------------------------------------------------------------------------*/
16/*---------------------------------------------------------------------------*/
17
18namespace Arcane
19{
20
21const Real Quad4RefinementPattern4Quad::
22_refine_matrix[4][4][4] =
23 { /* const */
24 // matrice pour l'enfant 0
25 {
26 // 0 1 2 3
27 {1.0, 0.0, 0.0, 0.0}, // 0
28 {0.5, 0.5, 0.0, 0.0}, // 1
29 {.25, .25, .25, .25}, // 2
30 {0.5, 0.0, 0.0, 0.5} // 3
31 },
32 // matrice pour l'enfant 1
33 {
34 // 0 1 2 3
35 {0.5, 0.5, 0.0, 0.0}, // 0
36 {0.0, 1.0, 0.0, 0.0}, // 1
37 {0.0, 0.5, 0.5, 0.0}, // 2
38 {.25, .25, .25, .25} // 3
39 },
40 // matrice pour l'enfant 2
41 {
42 // 0 1 2 3
43 {0.5, 0.0, 0.0, 0.5}, // 0
44 {.25, .25, .25, .25}, // 1
45 {0.0, 0.0, 0.5, 0.5}, // 2
46 {0.0, 0.0, 0.0, 1.0} // 3
47 },
48 // matrice pour l'enfant 3
49 {
50 // 0 1 2 3
51 {.25, .25, .25, .25}, // 0
52 {0.0, 0.5, 0.5, 0.0}, // 1
53 {0.0, 0.0, 1.0, 0.0}, // 2
54 {0.0, 0.0, 0.5, 0.5} // 3
55 }
56 };
57
58// TODO: à vérifier car non testé
59const Integer Quad4RefinementPattern4Quad::
60_face_mapping[4][4] =
61 {
62 // 0 1 2 3
63 {0, 1, 2, 3},
64 {0, 1, 2, 3},
65 {0, 1, 2, 3},
66 {0, 1, 2, 3}
67 };
68
69const Integer Quad4RefinementPattern4Quad::
70_face_mapping_topo[4][4] =
71 {
72 // 0 1 2 3
73 {1, 0, 0, 1 },
74 {1, 1, 0, 0 },
75 {0, 1, 1, 0 },
76 {0, 0, 1, 1 }
77 };
78
79/*---------------------------------------------------------------------------*/
80/*---------------------------------------------------------------------------*/
81
82const Real HexRefinementPattern8Hex ::_refine_matrix[8][8][8] = { /* const */
83 // Les 8 enfants de type Hexa peuvent être considérés comme étant associé
84 // aux 8 sommets du Hexa. Certains des enfants sont numérotés comme
85 // leur sommet correspondant, alors que les autres ne le sont pas.
86 // Les enfants qui sont numérotés différemment ont été marqués avec **
87 // dans les commentaires ci-dessous.
88
89 // refine_matrix pour l'enfant 0 (l'enfant 0 is associé au noeud 0)
90 {
91 // 0 1 2 3 4 5 6 7
92 { 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}, // 0
93 { 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}, // 1
94 { .25, .25, .25, .25, 0.0, 0.0, 0.0, 0.0}, // 2
95 { 0.5, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0}, // 3
96 { 0.5, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0}, // 4
97 { .25, .25, 0.0, 0.0, .25, .25, 0.0, 0.0}, // 5
98 {.125, .125, .125, .125, .125, .125, .125, .125}, // 6
99 { .25, 0.0, 0.0, .25, .25, 0.0, 0.0, .25} // 7
100 },
101
102 // refine_matrix pour l'enfant 1 (enfant 1 est associé au noeud 1)
103 {
104 // 0 1 2 3 4 5 6 7
105 { 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}, // 0
106 { 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}, // 1
107 { 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0}, // 2
108 { .25, .25, .25, .25, 0.0, 0.0, 0.0, 0.0}, // 3
109 { .25, .25, 0.0, 0.0, .25, .25, 0.0, 0.0}, // 4
110 { 0.0, 0.5, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0}, // 5
111 { 0.0, .25, .25, 0.0, 0.0, .25, .25, 0.0}, // 6
112 {.125, .125, .125, .125, .125, .125, .125, .125} // 7
113 },
114
115 // refine_matrix pour l'enfant 2 (enfant 2 est associé au noeud 3**)
116 {
117 // 0 1 2 3 4 5 6 7
118 { 0.5, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0}, // 0
119 { .25, .25, .25, .25, 0.0, 0.0, 0.0, 0.0}, // 1
120 { 0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0}, // 2
121 { 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0}, // 3
122 { .25, 0.0, 0.0, .25, .25, 0.0, 0.0, .25}, // 4
123 {.125, .125, .125, .125, .125, .125, .125, .125}, // 5
124 { 0.0, 0.0, .25, .25, 0.0, 0.0, .25, .25}, // 6
125 { 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.5} // 7
126 },
127
128 // refine_matrix pour l'enfant 3 (enfant 3 est associé au noeud 2**)
129 {
130 // 0 1 2 3 4 5 6 7
131 { .25, .25, .25, .25, 0.0, 0.0, 0.0, 0.0}, // 0
132 { 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0}, // 1
133 { 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0}, // 2
134 { 0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0}, // 3
135 {.125, .125, .125, .125, .125, .125, .125, .125}, // 4
136 { 0.0, .25, .25, 0.0, 0.0, .25, .25, 0.0}, // 5
137 { 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.5, 0.0}, // 6
138 { 0.0, 0.0, .25, .25, 0.0, 0.0, .25, .25} // 7
139 },
140
141 // refine_matrix pour enfant 4 (enfant 4 est associé au neoud 4)
142 {
143 // 0 1 2 3 4 5 6 7
144 { 0.5, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0}, // 0
145 { .25, .25, 0.0, 0.0, .25, .25, 0.0, 0.0}, // 1
146 {.125, .125, .125, .125, .125, .125, .125, .125}, // 2
147 { .25, 0.0, 0.0, .25, .25, 0.0, 0.0, .25}, // 3
148 { 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0}, // 4
149 { 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0, 0.0}, // 5
150 { 0.0, 0.0, 0.0, 0.0, .25, .25, .25, .25}, // 6
151 { 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.5} // 7
152 },
153
154 // refine_matrix pour enfant 5 (enfant 5 est associé au noeud 5)
155 {
156 // 0 1 2 3 4 5 6 7
157 { .25, .25, 0.0, 0.0, .25, .25, 0.0, 0.0}, // 0
158 { 0.0, 0.5, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0}, // 1
159 { 0.0, .25, .25, 0.0, 0.0, .25, .25, 0.0}, // 2
160 {.125, .125, .125, .125, .125, .125, .125, .125}, // 3
161 { 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0, 0.0}, // 4
162 { 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0}, // 5
163 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0}, // 6
164 { 0.0, 0.0, 0.0, 0.0, .25, .25, .25, .25} // 7
165 },
166
167 // refine_matrix pour enfant 6 (enfant 6 est associé au noeud 7**)
168 {
169 // 0 1 2 3 4 5 6 7
170 { .25, 0.0, 0.0, .25, .25, 0.0, 0.0, .25}, // 0
171 {.125, .125, .125, .125, .125, .125, .125, .125}, // 1
172 { 0.0, 0.0, .25, .25, 0.0, 0.0, .25, .25}, // 2
173 { 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.5}, // 3
174 { 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.5}, // 4
175 { 0.0, 0.0, 0.0, 0.0, .25, .25, .25, .25}, // 5
176 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5}, // 6
177 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0} // 7
178 },
179
180 // refine_matrix pour l'enfant 7 (enfant 7 est associé au noeud 6**)
181 {
182 // 0 1 2 3 4 5 6 7
183 {.125, .125, .125, .125, .125, .125, .125, .125}, // 0
184 { 0.0, .25, .25, 0.0, 0.0, .25, .25, 0.0}, // 1
185 { 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.5, 0.0}, // 2
186 { 0.0, 0.0, .25, .25, 0.0, 0.0, .25, .25}, // 3
187 { 0.0, 0.0, 0.0, 0.0, .25, .25, .25, .25}, // 4
188 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0}, // 5
189 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0}, // 6
190 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5} // 7
191 }
192};
193const Integer HexRefinementPattern8Hex ::_face_mapping[8][6] = {
194 // 0 1 2 3 4 5
195 {0, 1, 2, 3, 4, 5},
196 {0, 1, 2, 3, 4, 5},
197 {0, 1, 2, 3, 4, 5},
198 {0, 1, 2, 3, 4, 5},
199 {0, 1, 2, 3, 4, 5},
200 {0, 1, 2, 3, 4, 5},
201 {0, 1, 2, 3, 4, 5},
202 {0, 1, 2, 3, 4, 5},
203};
204const Integer HexRefinementPattern8Hex ::_face_mapping_topo[8][6] = {
205 // 0 1 2 3 4 5
206 {1, 1, 1, 0, 0, 0},
207 {1, 0, 1, 0, 1, 0},
208 {1, 1, 0, 0, 0, 1},
209 {1, 0, 0, 0, 1, 1},
210 {0, 1, 1, 1, 0, 0},
211 {0, 0, 1, 1, 1, 0},
212 {0, 1, 0, 1, 0, 1},
213 {0, 0, 0, 1, 1, 1},
214};
215/*---------------------------------------------------------------------------*/
216/*---------------------------------------------------------------------------*/
217
218/*---------------------------------------------------------------------------*/
219/*---------------------------------------------------------------------------*/
220
221const double HexRefinementPattern27Hex ::_refine_matrix_1[27][8][8] = { /* const */
222 // refine_matrix pour l'enfant 1
223 {
224 { 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 0
225 { 0.666, 0.333, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 8
226 { 0.444, 0.222, 0.111, 0.222, 0.0, 0.0, 0.0, 0.0 }, // 16
227 { 0.666, 0.0, 0.0, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 14
228 { 0.666, 0.0, 0.0, 0.0, 0.333, 0.0, 0.0, 0.0 }, // 32
229 { 0.444, 0.222, 0.0, 0.0, 0.222, 0.111, 0.0, 0.0 }, // 40
230 { 0.296, 0.148, 0.074, 0.148, 0.148, 0.074, 0.037, 0.074}, // 48
231 { 0.444, 0.0, 0.0, 0.222, 0.222, 0.0, 0.0, 0.111}, // 46
232 },
233 // refine_matrix pour l'enfant 2
234 {
235 { 0.666, 0.333, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 8
236 { 0.333, 0.666, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 9
237 { 0.222, 0.444, 0.222, 0.111, 0.0, 0.0, 0.0, 0.0 }, // 17
238 { 0.444, 0.222, 0.111, 0.222, 0.0, 0.0, 0.0, 0.0 }, // 16
239 { 0.444, 0.222, 0.0, 0.0, 0.222, 0.111, 0.0, 0.0 }, // 40
240 { 0.222, 0.444, 0.0, 0.0, 0.111, 0.222, 0.0, 0.0 }, // 41
241 { 0.148, 0.296, 0.148, 0.074, 0.074, 0.148, 0.074, 0.037}, // 49
242 { 0.296, 0.148, 0.074, 0.148, 0.148, 0.074, 0.037, 0.074}, // 48
243 },
244 // refine_matrix pour l'enfant 3
245 {
246 { 0.333, 0.666, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 9
247 { 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 1
248 { 0.0, 0.666, 0.333, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 10
249 { 0.222, 0.444, 0.222, 0.111, 0.0, 0.0, 0.0, 0.0 }, // 17
250 { 0.222, 0.444, 0.0, 0.0, 0.111, 0.222, 0.0, 0.0 }, // 41
251 { 0.0, 0.666, 0.0, 0.0, 0.0, 0.333, 0.0, 0.0 }, // 34
252 { 0.0, 0.444, 0.222, 0.0, 0.0, 0.222, 0.111, 0.0 }, // 42
253 { 0.148, 0.296, 0.148, 0.074, 0.074, 0.148, 0.074, 0.037}, // 49
254 },
255 // refine_matrix pour l'enfant 4
256 {
257 { 0.666, 0.0, 0.0, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 14
258 { 0.444, 0.222, 0.111, 0.222, 0.0, 0.0, 0.0, 0.0 }, // 16
259 { 0.222, 0.111, 0.222, 0.444, 0.0, 0.0, 0.0, 0.0 }, // 18
260 { 0.333, 0.0, 0.0, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 15
261 { 0.444, 0.0, 0.0, 0.222, 0.222, 0.0, 0.0, 0.111}, // 46
262 { 0.296, 0.148, 0.074, 0.148, 0.148, 0.074, 0.037, 0.074}, // 48
263 { 0.148, 0.074, 0.148, 0.296, 0.074, 0.037, 0.074, 0.148}, // 50
264 { 0.222, 0.0, 0.0, 0.444, 0.111, 0.0, 0.0, 0.222}, // 47
265 },
266 // refine_matrix pour l'enfant 5
267 {
268 { 0.444, 0.222, 0.111, 0.222, 0.0, 0.0, 0.0, 0.0 }, // 16
269 { 0.222, 0.444, 0.222, 0.111, 0.0, 0.0, 0.0, 0.0 }, // 17
270 { 0.111, 0.222, 0.444, 0.222, 0.0, 0.0, 0.0, 0.0 }, // 19
271 { 0.222, 0.111, 0.222, 0.444, 0.0, 0.0, 0.0, 0.0 }, // 18
272 { 0.296, 0.148, 0.074, 0.148, 0.148, 0.074, 0.037, 0.074}, // 48
273 { 0.148, 0.296, 0.148, 0.074, 0.074, 0.148, 0.074, 0.037}, // 49
274 { 0.074, 0.148, 0.296, 0.148, 0.037, 0.074, 0.148, 0.074}, // 51
275 { 0.148, 0.074, 0.148, 0.296, 0.074, 0.037, 0.074, 0.148}, // 50
276 },
277 // refine_matrix pour l'enfant 6
278 {
279 { 0.222, 0.444, 0.222, 0.111, 0.0, 0.0, 0.0, 0.0 }, // 17
280 { 0.0, 0.666, 0.333, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 10
281 { 0.0, 0.333, 0.666, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 11
282 { 0.111, 0.222, 0.444, 0.222, 0.0, 0.0, 0.0, 0.0 }, // 19
283 { 0.148, 0.296, 0.148, 0.074, 0.074, 0.148, 0.074, 0.037}, // 49
284 { 0.0, 0.444, 0.222, 0.0, 0.0, 0.222, 0.111, 0.0 }, // 42
285 { 0.0, 0.222, 0.444, 0.0, 0.0, 0.111, 0.222, 0.0 }, // 43
286 { 0.074, 0.148, 0.296, 0.148, 0.037, 0.074, 0.148, 0.074}, // 51
287 },
288 // refine_matrix pour l'enfant 7
289 {
290 { 0.333, 0.0, 0.0, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 15
291 { 0.222, 0.111, 0.222, 0.444, 0.0, 0.0, 0.0, 0.0 }, // 18
292 { 0.0, 0.0, 0.333, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 13
293 { 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0 }, // 3
294 { 0.222, 0.0, 0.0, 0.444, 0.111, 0.0, 0.0, 0.222}, // 47
295 { 0.148, 0.074, 0.148, 0.296, 0.074, 0.037, 0.074, 0.148}, // 50
296 { 0.0, 0.0, 0.222, 0.444, 0.0, 0.0, 0.111, 0.222}, // 45
297 { 0.0, 0.0, 0.0, 0.666, 0.0, 0.0, 0.0, 0.333 }, // 36
298 },
299 // refine_matrix pour l'enfant 8
300 {
301 { 0.222, 0.111, 0.222, 0.444, 0.0, 0.0, 0.0, 0.0 }, // 18
302 { 0.111, 0.222, 0.444, 0.222, 0.0, 0.0, 0.0, 0.0 }, // 19
303 { 0.0, 0.0, 0.666, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 12
304 { 0.0, 0.0, 0.333, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 13
305 { 0.148, 0.074, 0.148, 0.296, 0.074, 0.037, 0.074, 0.148}, // 50
306 { 0.074, 0.148, 0.296, 0.148, 0.037, 0.074, 0.148, 0.074}, // 51
307 { 0.0, 0.0, 0.444, 0.222, 0.0, 0.0, 0.222, 0.111}, // 44
308 { 0.0, 0.0, 0.222, 0.444, 0.0, 0.0, 0.111, 0.222}, // 45
309 },
310 // refine_matrix pour l'enfant 9
311 {
312 { 0.111, 0.222, 0.444, 0.222, 0.0, 0.0, 0.0, 0.0 }, // 19
313 { 0.0, 0.333, 0.666, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 11
314 { 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 2
315 { 0.0, 0.0, 0.666, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 12
316 { 0.074, 0.148, 0.296, 0.148, 0.037, 0.074, 0.148, 0.074}, // 51
317 { 0.0, 0.222, 0.444, 0.0, 0.0, 0.111, 0.222, 0.0 }, // 43
318 { 0.0, 0.0, 0.666, 0.0, 0.0, 0.0, 0.333, 0.0 }, // 38
319 { 0.0, 0.0, 0.444, 0.222, 0.0, 0.0, 0.222, 0.111}, // 44
320 },
321 // refine_matrix pour l'enfant 10
322 {
323 { 0.666, 0.0, 0.0, 0.0, 0.333, 0.0, 0.0, 0.0 }, // 32
324 { 0.444, 0.222, 0.0, 0.0, 0.222, 0.111, 0.0, 0.0 }, // 40
325 { 0.296, 0.148, 0.074, 0.148, 0.148, 0.074, 0.037, 0.074}, // 48
326 { 0.444, 0.0, 0.0, 0.222, 0.222, 0.0, 0.0, 0.111}, // 46
327 { 0.333, 0.0, 0.0, 0.0, 0.666, 0.0, 0.0, 0.0 }, // 33
328 { 0.222, 0.111, 0.0, 0.0, 0.444, 0.222, 0.0, 0.0}, // 52
329 { 0.148, 0.074, 0.037, 0.074, 0.296, 0.148, 0.074, 0.148}, // 60
330 { 0.222, 0.0, 0.0, 0.111, 0.444, 0.0, 0.0, 0.222}, // 58
331 },
332 // refine_matrix pour l'enfant 11
333 {
334 { 0.444, 0.222, 0.0, 0.0, 0.222, 0.111, 0.0, 0.0 }, // 40
335 { 0.222, 0.444, 0.0, 0.0, 0.111, 0.222, 0.0, 0.0 }, // 41
336 { 0.148, 0.296, 0.148, 0.074, 0.074, 0.148, 0.074, 0.037}, // 49
337 { 0.296, 0.148, 0.074, 0.148, 0.148, 0.074, 0.037, 0.074}, // 48
338 { 0.222, 0.111, 0.0, 0.0, 0.444, 0.222, 0.0, 0.0}, // 52
339 { 0.111, 0.222, 0.0, 0.0, 0.222, 0.444, 0.0, 0.0}, // 53
340 { 0.074, 0.148, 0.074, 0.037, 0.148, 0.296, 0.148, 0.074}, // 61
341 { 0.148, 0.074, 0.037, 0.074, 0.296, 0.148, 0.074, 0.148}, // 60
342 },
343 // refine_matrix pour l'enfant 12
344 {
345 { 0.222, 0.444, 0.0, 0.0, 0.111, 0.222, 0.0, 0.0 }, // 41
346 { 0.0, 0.666, 0.0, 0.0, 0.0, 0.333, 0.0, 0.0 }, // 34
347 { 0.0, 0.444, 0.222, 0.0, 0.0, 0.222, 0.111, 0.0 }, // 42
348 { 0.148, 0.296, 0.148, 0.074, 0.074, 0.148, 0.074, 0.037}, // 49
349 { 0.111, 0.222, 0.0, 0.0, 0.222, 0.444, 0.0, 0.0}, // 53
350 { 0.0, 0.333, 0.0, 0.0, 0.0, 0.666, 0.0, 0.0 }, // 35
351 { 0.0, 0.222, 0.111, 0.0, 0.0, 0.444, 0.222, 0.0}, // 54
352 { 0.074, 0.148, 0.074, 0.037, 0.148, 0.296, 0.148, 0.074}, // 61
353 },
354 // refine_matrix pour l'enfant 13
355 {
356 { 0.444, 0.0, 0.0, 0.222, 0.222, 0.0, 0.0, 0.111}, // 46
357 { 0.296, 0.148, 0.074, 0.148, 0.148, 0.074, 0.037, 0.074}, // 48
358 { 0.148, 0.074, 0.148, 0.296, 0.074, 0.037, 0.074, 0.148}, // 50
359 { 0.222, 0.0, 0.0, 0.444, 0.111, 0.0, 0.0, 0.222}, // 47
360 { 0.222, 0.0, 0.0, 0.111, 0.444, 0.0, 0.0, 0.222}, // 58
361 { 0.148, 0.074, 0.037, 0.074, 0.296, 0.148, 0.074, 0.148}, // 60
362 { 0.074, 0.037, 0.074, 0.148, 0.148, 0.074, 0.148, 0.296}, // 62
363 { 0.111, 0.0, 0.0, 0.222, 0.222, 0.0, 0.0, 0.444}, // 59
364 },
365 // refine_matrix pour l'enfant 14
366 {
367 { 0.296, 0.148, 0.074, 0.148, 0.148, 0.074, 0.037, 0.074}, // 48
368 { 0.148, 0.296, 0.148, 0.074, 0.074, 0.148, 0.074, 0.037}, // 49
369 { 0.074, 0.148, 0.296, 0.148, 0.037, 0.074, 0.148, 0.074}, // 51
370 { 0.148, 0.074, 0.148, 0.296, 0.074, 0.037, 0.074, 0.148}, // 50
371 { 0.148, 0.074, 0.037, 0.074, 0.296, 0.148, 0.074, 0.148}, // 60
372 { 0.074, 0.148, 0.074, 0.037, 0.148, 0.296, 0.148, 0.074}, // 61
373 { 0.037, 0.074, 0.148, 0.074, 0.074, 0.148, 0.296, 0.148}, // 63
374 { 0.074, 0.037, 0.074, 0.148, 0.148, 0.074, 0.148, 0.296}, // 62
375 },
376 // refine_matrix pour l'enfant 15
377 {
378 { 0.148, 0.296, 0.148, 0.074, 0.074, 0.148, 0.074, 0.037}, // 49
379 { 0.0, 0.444, 0.222, 0.0, 0.0, 0.222, 0.111, 0.0 }, // 42
380 { 0.0, 0.222, 0.444, 0.0, 0.0, 0.111, 0.222, 0.0 }, // 43
381 { 0.074, 0.148, 0.296, 0.148, 0.037, 0.074, 0.148, 0.074}, // 51
382 { 0.074, 0.148, 0.074, 0.037, 0.148, 0.296, 0.148, 0.074}, // 61
383 { 0.0, 0.222, 0.111, 0.0, 0.0, 0.444, 0.222, 0.0}, // 54
384 { 0.0, 0.111, 0.222, 0.0, 0.0, 0.222, 0.444, 0.0}, // 55
385 { 0.037, 0.074, 0.148, 0.074, 0.074, 0.148, 0.296, 0.148}, // 63
386 },
387 // refine_matrix pour l'enfant 16
388 {
389 { 0.222, 0.0, 0.0, 0.444, 0.111, 0.0, 0.0, 0.222}, // 47
390 { 0.148, 0.074, 0.148, 0.296, 0.074, 0.037, 0.074, 0.148}, // 50
391 { 0.0, 0.0, 0.222, 0.444, 0.0, 0.0, 0.111, 0.222}, // 45
392 { 0.0, 0.0, 0.0, 0.666, 0.0, 0.0, 0.0, 0.333 }, // 36
393 { 0.111, 0.0, 0.0, 0.222, 0.222, 0.0, 0.0, 0.444}, // 59
394 { 0.074, 0.037, 0.074, 0.148, 0.148, 0.074, 0.148, 0.296}, // 62
395 { 0.0, 0.0, 0.111, 0.222, 0.0, 0.0, 0.222, 0.444}, // 57
396 { 0.0, 0.0, 0.0, 0.333, 0.0, 0.0, 0.0, 0.666 }, // 37
397 },
398 // refine_matrix pour l'enfant 17
399 {
400 { 0.148, 0.074, 0.148, 0.296, 0.074, 0.037, 0.074, 0.148}, // 50
401 { 0.074, 0.148, 0.296, 0.148, 0.037, 0.074, 0.148, 0.074}, // 51
402 { 0.0, 0.0, 0.444, 0.222, 0.0, 0.0, 0.222, 0.111}, // 44
403 { 0.0, 0.0, 0.222, 0.444, 0.0, 0.0, 0.111, 0.222}, // 45
404 { 0.074, 0.037, 0.074, 0.148, 0.148, 0.074, 0.148, 0.296}, // 62
405 { 0.037, 0.074, 0.148, 0.074, 0.074, 0.148, 0.296, 0.148}, // 63
406 { 0.0, 0.0, 0.222, 0.111, 0.0, 0.0, 0.444, 0.222}, // 56
407 { 0.0, 0.0, 0.111, 0.222, 0.0, 0.0, 0.222, 0.444}, // 57
408 },
409 // refine_matrix pour l'enfant 18
410 {
411 { 0.074, 0.148, 0.296, 0.148, 0.037, 0.074, 0.148, 0.074}, // 51
412 { 0.0, 0.222, 0.444, 0.0, 0.0, 0.111, 0.222, 0.0 }, // 43
413 { 0.0, 0.0, 0.666, 0.0, 0.0, 0.0, 0.333, 0.0 }, // 38
414 { 0.0, 0.0, 0.444, 0.222, 0.0, 0.0, 0.222, 0.111}, // 44
415 { 0.037, 0.074, 0.148, 0.074, 0.074, 0.148, 0.296, 0.148}, // 63
416 { 0.0, 0.111, 0.222, 0.0, 0.0, 0.222, 0.444, 0.0}, // 55
417 { 0.0, 0.0, 0.333, 0.0, 0.0, 0.0, 0.666, 0.0 }, // 39
418 { 0.0, 0.0, 0.222, 0.111, 0.0, 0.0, 0.444, 0.222}, // 56
419 },
420 // refine_matrix pour l'enfant 19
421 {
422 { 0.333, 0.0, 0.0, 0.0, 0.666, 0.0, 0.0, 0.0 }, // 33
423 { 0.222, 0.111, 0.0, 0.0, 0.444, 0.222, 0.0, 0.0}, // 52
424 { 0.148, 0.074, 0.037, 0.074, 0.296, 0.148, 0.074, 0.148}, // 60
425 { 0.222, 0.0, 0.0, 0.111, 0.444, 0.0, 0.0, 0.222}, // 58
426 { 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0 }, // 4
427 { 0.0, 0.0, 0.0, 0.0, 0.666, 0.333, 0.0, 0.0 }, // 20
428 { 0.0, 0.0, 0.0, 0.0, 0.444, 0.222, 0.111, 0.222 }, // 28
429 { 0.0, 0.0, 0.0, 0.0, 0.666, 0.0, 0.0, 0.333 }, // 26
430 },
431 // refine_matrix pour l'enfant 20
432 {
433 { 0.222, 0.111, 0.0, 0.0, 0.444, 0.222, 0.0, 0.0}, // 52
434 { 0.111, 0.222, 0.0, 0.0, 0.222, 0.444, 0.0, 0.0}, // 53
435 { 0.074, 0.148, 0.074, 0.037, 0.148, 0.296, 0.148, 0.074}, // 61
436 { 0.148, 0.074, 0.037, 0.074, 0.296, 0.148, 0.074, 0.148}, // 60
437 { 0.0, 0.0, 0.0, 0.0, 0.666, 0.333, 0.0, 0.0 }, // 20
438 { 0.0, 0.0, 0.0, 0.0, 0.333, 0.666, 0.0, 0.0 }, // 21
439 { 0.0, 0.0, 0.0, 0.0, 0.222, 0.444, 0.222, 0.111 }, // 29
440 { 0.0, 0.0, 0.0, 0.0, 0.444, 0.222, 0.111, 0.222 }, // 28
441 },
442 // refine_matrix pour l'enfant 21
443 {
444 { 0.111, 0.222, 0.0, 0.0, 0.222, 0.444, 0.0, 0.0}, // 53
445 { 0.0, 0.333, 0.0, 0.0, 0.0, 0.666, 0.0, 0.0 }, // 35
446 { 0.0, 0.222, 0.111, 0.0, 0.0, 0.444, 0.222, 0.0}, // 54
447 { 0.074, 0.148, 0.074, 0.037, 0.148, 0.296, 0.148, 0.074}, // 61
448 { 0.0, 0.0, 0.0, 0.0, 0.333, 0.666, 0.0, 0.0 }, // 21
449 { 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0 }, // 5
450 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.666, 0.333, 0.0 }, // 22
451 { 0.0, 0.0, 0.0, 0.0, 0.222, 0.444, 0.222, 0.111 }, // 29
452 },
453 // refine_matrix pour l'enfant 22
454 {
455 { 0.222, 0.0, 0.0, 0.111, 0.444, 0.0, 0.0, 0.222}, // 58
456 { 0.148, 0.074, 0.037, 0.074, 0.296, 0.148, 0.074, 0.148}, // 60
457 { 0.074, 0.037, 0.074, 0.148, 0.148, 0.074, 0.148, 0.296}, // 62
458 { 0.111, 0.0, 0.0, 0.222, 0.222, 0.0, 0.0, 0.444}, // 59
459 { 0.0, 0.0, 0.0, 0.0, 0.666, 0.0, 0.0, 0.333 }, // 26
460 { 0.0, 0.0, 0.0, 0.0, 0.444, 0.222, 0.111, 0.222 }, // 28
461 { 0.0, 0.0, 0.0, 0.0, 0.222, 0.111, 0.222, 0.444}, // 30
462 { 0.0, 0.0, 0.0, 0.0, 0.333, 0.0, 0.0, 0.666 }, // 27
463 },
464 // refine_matrix pour l'enfant 23
465 {
466 { 0.148, 0.074, 0.037, 0.074, 0.296, 0.148, 0.074, 0.148}, // 60
467 { 0.074, 0.148, 0.074, 0.037, 0.148, 0.296, 0.148, 0.074}, // 61
468 { 0.037, 0.074, 0.148, 0.074, 0.074, 0.148, 0.296, 0.148}, // 63
469 { 0.074, 0.037, 0.074, 0.148, 0.148, 0.074, 0.148, 0.296}, // 62
470 { 0.0, 0.0, 0.0, 0.0, 0.444, 0.222, 0.111, 0.222 }, // 28
471 { 0.0, 0.0, 0.0, 0.0, 0.222, 0.444, 0.222, 0.111 }, // 29
472 { 0.0, 0.0, 0.0, 0.0, 0.111, 0.222, 0.444, 0.222}, // 31
473 { 0.0, 0.0, 0.0, 0.0, 0.222, 0.111, 0.222, 0.444}, // 30
474 },
475 // refine_matrix pour l'enfant 24
476 {
477 { 0.074, 0.148, 0.074, 0.037, 0.148, 0.296, 0.148, 0.074}, // 61
478 { 0.0, 0.222, 0.111, 0.0, 0.0, 0.444, 0.222, 0.0}, // 54
479 { 0.0, 0.111, 0.222, 0.0, 0.0, 0.222, 0.444, 0.0}, // 55
480 { 0.037, 0.074, 0.148, 0.074, 0.074, 0.148, 0.296, 0.148}, // 63
481 { 0.0, 0.0, 0.0, 0.0, 0.222, 0.444, 0.222, 0.111 }, // 29
482 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.666, 0.333, 0.0 }, // 22
483 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.333, 0.666, 0.0 }, // 23
484 { 0.0, 0.0, 0.0, 0.0, 0.111, 0.222, 0.444, 0.222}, // 31
485 },
486 // refine_matrix pour l'enfant 25
487 {
488 { 0.111, 0.0, 0.0, 0.222, 0.222, 0.0, 0.0, 0.444}, // 59
489 { 0.074, 0.037, 0.074, 0.148, 0.148, 0.074, 0.148, 0.296}, // 62
490 { 0.0, 0.0, 0.111, 0.222, 0.0, 0.0, 0.222, 0.444}, // 57
491 { 0.0, 0.0, 0.0, 0.333, 0.0, 0.0, 0.0, 0.666 }, // 37
492 { 0.0, 0.0, 0.0, 0.0, 0.333, 0.0, 0.0, 0.666 }, // 27
493 { 0.0, 0.0, 0.0, 0.0, 0.222, 0.111, 0.222, 0.444}, // 30
494 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.333, 0.666 }, // 25
495 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0 }, // 7
496 },
497 // refine_matrix pour l'enfant 26
498 {
499 { 0.074, 0.037, 0.074, 0.148, 0.148, 0.074, 0.148, 0.296}, // 62
500 { 0.037, 0.074, 0.148, 0.074, 0.074, 0.148, 0.296, 0.148}, // 63
501 { 0.0, 0.0, 0.222, 0.111, 0.0, 0.0, 0.444, 0.222}, // 56
502 { 0.0, 0.0, 0.111, 0.222, 0.0, 0.0, 0.222, 0.444}, // 57
503 { 0.0, 0.0, 0.0, 0.0, 0.222, 0.111, 0.222, 0.444}, // 30
504 { 0.0, 0.0, 0.0, 0.0, 0.111, 0.222, 0.444, 0.222}, // 31
505 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.666, 0.333 }, // 24
506 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.333, 0.666 }, // 25
507 },
508 // refine_matrix pour l'enfant 27
509 {
510 { 0.037, 0.074, 0.148, 0.074, 0.074, 0.148, 0.296, 0.148}, // 63
511 { 0.0, 0.111, 0.222, 0.0, 0.0, 0.222, 0.444, 0.0}, // 55
512 { 0.0, 0.0, 0.333, 0.0, 0.0, 0.0, 0.666, 0.0 }, // 39
513 { 0.0, 0.0, 0.222, 0.111, 0.0, 0.0, 0.444, 0.222}, // 56
514 { 0.0, 0.0, 0.0, 0.0, 0.111, 0.222, 0.444, 0.222}, // 31
515 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.333, 0.666, 0.0 }, // 23
516 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0 }, // 6
517 { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.666, 0.333 }, // 24
518 }
519};
520
521/*---------------------------------------------------------------------------*/
522/*---------------------------------------------------------------------------*/
523
524const double TetraRefinementPattern2Hex_2Penta_2Py_2Tetra ::_refine_matrix_1[2][8][4] = {
525 {
526 // 0 1 2 3
527 { 0.5, 0.25, 0.25, 0.0 }, // 13
528 { 0.5, 0.5, 0.0, 0.0 }, // 4
529 { 0.0, 1.0, 0.0, 0.0 }, // 1
530 { 0.0, 0.5, 0.5, 0.0 }, // 5
531 { 0.25, 0.125, 0.125, 0.5 }, // 14
532 { 0.25, 0.25, 0.0, 0.5 }, // 10
533 { 0.0, 0.5, 0.0, 0.5 }, // 7
534 { 0.0, 0.25, 0.25, 0.5 }, // 11
535 },
536 {
537 // 0 1 2 3
538 { 0.0, 0.0, 1.0, 0.0 }, // 2
539 { 0.5, 0.0, 0.5, 0.0 }, // 6
540 { 0.5, 0.25, 0.25, 0.0 }, // 13
541 { 0.0, 0.5, 0.5, 0.0 }, // 5
542 { 0.0, 0.0, 0.5, 0.5 }, // 8
543 { 0.25, 0.0, 0.25, 0.5 }, // 12
544 { 0.25, 0.125, 0.125, 0.5 }, // 14
545 { 0.0, 0.25, 0.25, 0.5 }, // 11
546 },
547
548};
549const Integer TetraRefinementPattern2Hex_2Penta_2Py_2Tetra ::_face_mapping_1[2][6] = {
550 // 0 1 2 3 4 5
551 {0, 1, 3, 0, 2, 3},
552 {0, 3, 1, 0, 3, 2},
553};
554const Integer TetraRefinementPattern2Hex_2Penta_2Py_2Tetra ::_face_mapping_topo_1[2][6] = {
555 // 0 1 2 3 4 5
556 {1, 0, 0, 0, 1, 1},
557 {1, 1, 1, 0, 0, 0},
558};
559//
560const double TetraRefinementPattern2Hex_2Penta_2Py_2Tetra ::_refine_matrix_2[2][6][4] = {
561 {
562 // 0 1 2 3
563 { 1.0, 0.0, 0.0, 0.0 }, // 0
564 { 0.5, 0.5, 0.0, 0.0 }, // 4
565 { 0.5, 0.25, 0.25, 0.0 }, // 13
566 { 0.5, 0.0, 0.0, 0.5 }, // 9
567 { 0.25, 0.25, 0.0, 0.5 }, // 10
568 { 0.25, 0.125, 0.125, 0.5 }, // 14
569 },
570 {
571 // 0 1 2 3
572 { 1.0, 0.0, 0.0, 0.0 }, // 0
573 { 0.5, 0.25, 0.25, 0.0 }, // 13
574 { 0.5, 0.0, 0.5, 0.0 }, // 6
575 { 0.5, 0.0, 0.0, 0.5 }, // 9
576 { 0.25, 0.125, 0.125, 0.5 }, // 14
577 { 0.25, 0.0, 0.25, 0.5 }, // 12
578 },
579};
580const Integer TetraRefinementPattern2Hex_2Penta_2Py_2Tetra ::_face_mapping_2[2][5] = {
581 // 0 1 2 3 4
582 {0, 1, 2, 0, 3},
583 {0, 1, 2, 0, 3},
584};
585const Integer TetraRefinementPattern2Hex_2Penta_2Py_2Tetra ::_face_mapping_topo_2[2][5] = {
586 // 0 1 2 3 4
587 {1, 0, 1, 0, 0},
588 {1, 1, 0, 0, 0},
589};
590//
591const double TetraRefinementPattern2Hex_2Penta_2Py_2Tetra ::_refine_matrix_3[2][5][4] = {
592 {
593 // 0 1 2 3
594 { 0.25, 0.125, 0.125, 0.5 }, // 14
595 { 0.25, 0.25, 0.0, 0.5 }, // 10
596 { 0.0, 0.5, 0.0, 0.5 }, // 7
597 { 0.0, 0.25, 0.25, 0.5 }, // 11
598 { 0.0, 0.0, 0.0, 1.0 }, // 3
599 },
600 {
601 // 0 1 2 3
602 { 0.25, 0.0, 0.25, 0.5 }, // 12
603 { 0.25, 0.125, 0.125, 0.5 }, // 14
604 { 0.0, 0.25, 0.25, 0.5 }, // 11
605 { 0.0, 0.0, 0.5, 0.5 }, // 8
606 { 0.0, 0.0, 0.0, 1.0 }, // 3
607 },
608};
609const Integer TetraRefinementPattern2Hex_2Penta_2Py_2Tetra ::_face_mapping_3[2][5] = {
610 // 0 1 2 3 4
611 {0, 1, 3, 2, 3},
612 {0, 1, 3, 2, 3},
613};
614const Integer TetraRefinementPattern2Hex_2Penta_2Py_2Tetra ::_face_mapping_topo_3[2][5] = {
615 // 0 1 2 3 4
616 {0, 0, 0, 1, 1},
617 {0, 1, 0, 0, 1},
618};
619//
620const double TetraRefinementPattern2Hex_2Penta_2Py_2Tetra ::_refine_matrix_4[2][4][4] = {
621 {
622 // 0 1 2 3
623 { 0.5, 0.0, 0.0, 0.5 }, // 9
624 { 0.25, 0.25, 0.0, 0.5 }, // 10
625 { 0.25, 0.125, 0.125, 0.5 }, // 14
626 { 0.0, 0.0, 0.0, 1.0 }, // 3
627 },
628 {
629 // 0 1 2 3
630 { 0.5, 0.0, 0.0, 0.5 }, // 9
631 { 0.25, 0.125, 0.125, 0.5 }, // 14
632 { 0.25, 0.0, 0.25, 0.5 }, // 12
633 { 0.0, 0.0, 0.0, 1.0 }, // 3
634 },
635};
636const Integer TetraRefinementPattern2Hex_2Penta_2Py_2Tetra ::_face_mapping_4[2][4] = {
637 // 0 1 2 3
638 {0, 1, 2, 3},
639 {0, 1, 2, 3},
640};
641const Integer TetraRefinementPattern2Hex_2Penta_2Py_2Tetra ::_face_mapping_topo_4[2][4] = {
642 // 0 1 2 3
643 {0, 0, 1, 0},
644 {0, 1, 0, 0},
645};
646/*---------------------------------------------------------------------------*/
647/*---------------------------------------------------------------------------*/
648
649const double TetraRefinementPattern8T ::_refine_matrix_1[8][4][4] = { /* const */
650
651 // refine_matrix pour l'enfant 0
652 {
653 // 0 1 2 3
654 { 1.0, 0.0, 0.0, 0.0 }, // 0
655 { 0.5, 0.5, 0.0, 0.0 }, // 6
656 { 0.5, 0.0, 0.5, 0.0 }, // 4
657 { 0.5, 0.0, 0.0, 0.5 }, // 9
658 },
659 // refine_matrix pour l'enfant 1
660 {
661 // 0 1 2 3
662 { 0.5, 0.5, 0.0, 0.0 }, // 6
663 { 0.0, 1.0, 0.0, 0.0 }, // 1
664 { 0.0, 0.5, 0.5, 0.0 }, // 5
665 { 0.0, 0.5, 0.0, 0.5 }, // 8
666 },
667 // refine_matrix pour l'enfant 2
668 {
669 // 0 1 2 3
670 { 0.5, 0.0, 0.5, 0.0 }, // 4
671 { 0.0, 0.5, 0.5, 0.0 }, // 5
672 { 0.0, 0.0, 1.0, 0.0 }, // 2
673 { 0.0, 0.0, 0.5, 0.5 }, // 7
674 },
675 // refine_matrix pour l'enfant 3
676 {
677 // 0 1 2 3
678 { 0.5, 0.0, 0.0, 0.5 }, // 9
679 { 0.0, 0.5, 0.0, 0.5 }, // 8
680 { 0.0, 0.0, 0.5, 0.5 }, // 7
681 { 0.0, 0.0, 0.0, 1.0 }, // 3
682 },
683 // refine_matrix pour l'enfant 4
684 {
685 // 0 1 2 3
686 { 0.5, 0.5, 0.0, 0.0 }, // 6
687 { 0.0, 0.5, 0.5, 0.0 }, // 5
688 { 0.5, 0.0, 0.5, 0.0 }, // 4
689 { 0.0, 0.5, 0.0, 0.5 }, // 8
690 },
691 // refine_matrix pour l'enfant 5
692 {
693 // 0 1 2 3
694 { 0.5, 0.0, 0.5, 0.0 }, // 4
695 { 0.5, 0.0, 0.0, 0.5 }, // 9
696 { 0.5, 0.5, 0.0, 0.0 }, // 6
697 { 0.0, 0.5, 0.0, 0.5 }, // 8
698 },
699 // refine_matrix pour l'enfant 6
700 {
701 // 0 1 2 3
702 { 0.5, 0.0, 0.5, 0.0 }, // 4
703 { 0.0, 0.5, 0.5, 0.0 }, // 5
704 { 0.0, 0.0, 0.5, 0.5 }, // 7
705 { 0.0, 0.5, 0.0, 0.5 }, // 8
706 },
707 // refine_matrix pour l'enfant 7
708 {
709 // 0 1 2 3
710 { 0.5, 0.0, 0.0, 0.5 }, // 9
711 { 0.5, 0.0, 0.5, 0.0 }, // 4
712 { 0.0, 0.5, 0.0, 0.5 }, // 8
713 { 0.0, 0.0, 0.5, 0.5 }, // 7
714 }
715};
716
717/*---------------------------------------------------------------------------*/
718/*---------------------------------------------------------------------------*/
719
720const double TetraRefinementPattern32T ::_refine_matrix_1[32][4][4] = { /* const */
721
722 // refine_matrix pour l'enfant 0
723 {
724 // 0 1 2 3
725 {1.0, 0.0, 0.0, 0.0 }, // 0
726 {0.75, 0.25, 0.0, 0.0 }, // 8
727 {0.75, 0.0, 0.25, 0.0 }, // 12
728 {0.75, 0.0, 0.0, 0.25 }, // 14
729 },
730 // refine_matrix pour l'enfant 1
731 {
732 // 0 1 2 3
733 {0.25, 0.75, 0.0, 0.0 }, // 9
734 {0.0, 1.0, 0.0, 0.0 }, // 1
735 {0.0, 0.75, 0.25, 0.0 }, // 10
736 {0.0, 0.75, 0.0, 0.25 }, // 16
737 },
738 // refine_matrix pour l'enfant 2
739 {
740 // 0 1 2 3
741 {0.25, 0.0, 0.75, 0.0 }, // 13
742 {0.0, 0.25, 0.75, 0.0 }, // 11
743 {0.0, 0.0, 1.0, 0.0 }, // 2
744 {0.0, 0.0, 0.75, 0.25 }, // 18
745 },
746 // refine_matrix pour l'enfant 3
747 {
748 // 0 1 2 3
749 {0.25, 0.0, 0.0, 0.75 }, // 15
750 {0.0, 0.25, 0.0, 0.75 }, // 17
751 {0.0, 0.0, 0.25, 0.75 }, // 19
752 {0.0, 0.0, 0.0, 1.0 }, // 3
753 },
754 // refine_matrix pour l'enfant 4
755 {
756 // 0 1 2 3
757 {0.75, 0.0, 0.0, 0.25 }, // 14
758 {0.75, 0.25, 0.0, 0.0 }, // 8
759 {0.33, 0.33, 0.0, 0.33 }, // 5
760 {0.25, 0.25, 0.25, 0.25 }, // 20
761 },
762 // refine_matrix pour l'enfant 5
763 {
764 // 0 1 2 3
765 {0.75, 0.25, 0.0, 0.0 }, // 8
766 {0.25, 0.75, 0.0, 0.0 }, // 9
767 {0.33, 0.33, 0.0, 0.33 }, // 5
768 {0.25, 0.25, 0.25, 0.25 }, // 20
769 },
770 // refine_matrix pour l'enfant 6
771 {
772 // 0 1 2 3
773 {0.25, 0.75, 0.0, 0.0 }, // 9
774 {0.0, 0.75, 0.0, 0.25 }, // 16
775 {0.33, 0.33, 0.0, 0.33 }, // 5
776 {0.25, 0.25, 0.25, 0.25 }, // 20
777 },
778 // refine_matrix pour l'enfant 7
779 {
780 // 0 1 2 3
781 {0.0, 0.75, 0.0, 0.25 }, // 16
782 {0.0, 0.25, 0.0, 0.75 }, // 17
783 {0.33, 0.33, 0.0, 0.33 }, // 5
784 {0.25, 0.25, 0.25, 0.25 }, // 20
785 },
786 // refine_matrix pour l'enfant 8
787 {
788 // 0 1 2 3
789 {0.0, 0.25, 0.0, 0.75 }, // 17
790 {0.25, 0.0, 0.0, 0.75 }, // 15
791 {0.33, 0.33, 0.0, 0.33 }, // 5
792 {0.25, 0.25, 0.25, 0.25 }, // 20
793 },
794 // refine_matrix pour l'enfant 9
795 {
796 // 0 1 2 3
797 {0.25, 0.0, 0.0, 0.75 }, // 15
798 {0.75, 0.0, 0.0, 0.25 }, // 14
799 {0.33, 0.33, 0.0, 0.33 }, // 5
800 {0.25, 0.25, 0.25, 0.25 }, // 20
801 },
802 // refine_matrix pour l'enfant 10
803 {
804 // 0 1 2 3
805 {0.0, 0.75, 0.0, 0.25 }, // 16
806 {0.0, 0.75, 0.25, 0.0 }, // 10
807 {0.0, 0.33, 0.33, 0.33 }, // 6
808 {0.25, 0.25, 0.25, 0.25 }, // 20
809 },
810 // refine_matrix pour l'enfant 11
811 {
812 // 0 1 2 3
813 {0.0, 0.75, 0.25, 0.0 }, // 10
814 {0.0, 0.25, 0.75, 0.0 }, // 11
815 {0.0, 0.33, 0.33, 0.33 }, // 6
816 {0.25, 0.25, 0.25, 0.25 }, // 20
817 },
818 // refine_matrix pour l'enfant 12
819 {
820 // 0 1 2 3
821 {0.0, 0.25, 0.75, 0.0 }, // 11
822 {0.0, 0.0, 0.75, 0.25 }, // 18
823 {0.0, 0.33, 0.33, 0.33 }, // 6
824 {0.25, 0.25, 0.25, 0.25 }, // 20
825 },
826 // refine_matrix pour l'enfant 13
827 {
828 // 0 1 2 3
829 {0.0, 0.0, 0.75, 0.25 }, // 18
830 {0.0, 0.0, 0.25, 0.75 }, // 19
831 {0.0, 0.33, 0.33, 0.33 }, // 6
832 {0.25, 0.25, 0.25, 0.25 }, // 20
833 },
834 // refine_matrix pour l'enfant 14
835 {
836 // 0 1 2 3
837 {0.0, 0.0, 0.25, 0.75 }, // 19
838 {0.0, 0.25, 0.0, 0.75 }, // 17
839 {0.0, 0.33, 0.33, 0.33 }, // 6
840 {0.25, 0.25, 0.25, 0.25 }, // 20
841 },
842 // refine_matrix pour l'enfant 15
843 {
844 // 0 1 2 3
845 {0.0, 0.25, 0.0, 0.75 }, // 17
846 {0.0, 0.75, 0.0, 0.25 }, // 16
847 {0.0, 0.33, 0.33, 0.33 }, // 6
848 {0.25, 0.25, 0.25, 0.25 }, // 20
849 },
850 // refine_matrix pour l'enfant 16
851 {
852 // 0 1 2 3
853 {0.75, 0.25, 0.0, 0.0 }, // 8
854 {0.25, 0.75, 0.0, 0.0 }, // 9
855 {0.33, 0.33, 0.33, 0.0 }, // 4
856 {0.25, 0.25, 0.25, 0.25 }, // 20
857 },
858 // refine_matrix pour l'enfant 17
859 {
860 // 0 1 2 3
861 {0.25, 0.75, 0.0, 0.0 }, // 9
862 {0.0, 0.75, 0.25, 0.0 }, // 10
863 {0.33, 0.33, 0.33, 0.0 }, // 4
864 {0.25, 0.25, 0.25, 0.25 }, // 20
865 },
866 // refine_matrix pour l'enfant 18
867 {
868 // 0 1 2 3
869 {0.0, 0.75, 0.25, 0.0 }, // 10
870 {0.0, 0.25, 0.75, 0.0 }, // 11
871 {0.33, 0.33, 0.33, 0.0 }, // 4
872 {0.25, 0.25, 0.25, 0.25 }, // 20
873 },
874 // refine_matrix pour l'enfant 19
875 {
876 // 0 1 2 3
877 {0.0, 0.25, 0.75, 0.0 }, // 11
878 {0.25, 0.0, 0.75, 0.0 }, // 13
879 {0.33, 0.33, 0.33, 0.0 }, // 4
880 {0.25, 0.25, 0.25, 0.25 }, // 20
881 },
882 // refine_matrix pour l'enfant 20
883 {
884 // 0 1 2 3
885 {0.25, 0.0, 0.75, 0.0 }, // 13
886 {0.75, 0.0, 0.25, 0.0 }, // 12
887 {0.33, 0.33, 0.33, 0.0 }, // 4
888 {0.25, 0.25, 0.25, 0.25 }, // 20
889 },
890 // refine_matrix pour l'enfant 21
891 {
892 // 0 1 2 3
893 {0.75, 0.0, 0.25, 0.0 }, // 12
894 {0.75, 0.25, 0.0, 0.0 }, // 8
895 {0.33, 0.33, 0.33, 0.0 }, // 4
896 {0.25, 0.25, 0.25, 0.25 }, // 20
897 },
898 // refine_matrix pour l'enfant 22
899 {
900 // 0 1 2 3
901 {0.75, 0.0, 0.0, 0.25 }, // 14
902 {0.75, 0.0, 0.25, 0.0 }, // 12
903 {0.33, 0.0, 0.33, 0.33 }, // 7
904 {0.25, 0.25, 0.25, 0.25 }, // 20
905 },
906 // refine_matrix pour l'enfant 23
907 {
908 // 0 1 2 3
909 {0.75, 0.0, 0.25, 0.0 }, // 12
910 {0.25, 0.0, 0.75, 0.0 }, // 13
911 {0.33, 0.0, 0.33, 0.33 }, // 7
912 {0.25, 0.25, 0.25, 0.25 }, // 20
913 },
914 // refine_matrix pour l'enfant 24
915 {
916 // 0 1 2 3
917 {0.25, 0.0, 0.75, 0.0 }, // 13
918 {0.0, 0.0, 0.75, 0.25 }, // 18
919 {0.33, 0.0, 0.33, 0.33 }, // 7
920 {0.25, 0.25, 0.25, 0.25 }, // 20
921 },
922 // refine_matrix pour l'enfant 25
923 {
924 // 0 1 2 3
925 {0.0, 0.0, 0.75, 0.25 }, // 18
926 {0.0, 0.0, 0.25, 0.75 }, // 19
927 {0.33, 0.0, 0.33, 0.33 }, // 7
928 {0.25, 0.25, 0.25, 0.25 }, // 20
929 },
930 // refine_matrix pour l'enfant 26
931 {
932 // 0 1 2 3
933 {0.0, 0.0, 0.25, 0.75 }, // 19
934 {0.25, 0.0, 0.0, 0.75 }, // 15
935 {0.33, 0.0, 0.33, 0.33 }, // 7
936 {0.25, 0.25, 0.25, 0.25 }, // 20
937 },
938 // refine_matrix pour l'enfant 27
939 {
940 // 0 1 2 3
941 {0.25, 0.0, 0.0, 0.75 }, // 15
942 {0.75, 0.0, 0.0, 0.25 }, // 14
943 {0.33, 0.0, 0.33, 0.33 }, // 7
944 {0.25, 0.25, 0.25, 0.25 }, // 20
945 },
946 // refine_matrix pour l'enfant 28
947 {
948 // 0 1 2 3
949 {0.75, 0.0, 0.0, 0.25 }, // 14
950 {0.75, 0.25, 0.0, 0.0 }, // 8
951 {0.75, 0.0, 0.25, 0.0 }, // 12
952 {0.25, 0.25, 0.25, 0.25 }, // 20
953 },
954 // refine_matrix pour l'enfant 29
955 {
956 // 0 1 2 3
957 {0.0, 0.0, 0.25, 0.75 }, // 19
958 {0.25, 0.0, 0.0, 0.75 }, // 15
959 {0.0, 0.25, 0.0, 0.75 }, // 17
960 {0.25, 0.25, 0.25, 0.25 }, // 20
961 },
962 // refine_matrix pour l'enfant 30
963 {
964 // 0 1 2 3
965 {0.25, 0.75, 0.0, 0.0 }, // 9
966 {0.0, 0.75, 0.0, 0.25 }, // 16
967 {0.0, 0.75, 0.25, 0.0 }, // 10
968 {0.25, 0.25, 0.25, 0.25 }, // 20
969 },
970 // refine_matrix pour l'enfant 31
971 {
972 // 0 1 2 3
973 {0.0, 0.25, 0.75, 0.0 }, // 11
974 {0.0, 0.0, 0.75, 0.25 }, // 18
975 {0.25, 0.0, 0.75, 0.0 }, // 13
976 {0.25, 0.25, 0.25, 0.25 }, // 20
977 }
978};
979
980/*---------------------------------------------------------------------------*/
981/*---------------------------------------------------------------------------*/
982
983const double PrismRefinementPattern4Hex_4Pr ::_refine_matrix_1[4][8][6] = {
984 {
985 // 0 1 2 3 4 5
986 { 0.0, 1.0, 0.0, 0.0, 0.0, 0.0 }, // 1
987 { 0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 7
988 { 0.5, 0.25, 0.25, 0.0, 0.0, 0.0 }, // 18
989 { 0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 6
990 { 0.0, 0.5, 0.0, 0.0, 0.5, 0.0 }, // 13
991 { 0.0, 0.25, 0.25, 0.0, 0.25, 0.25 }, // 16
992 { 0.25, 0.125, 0.125, 0.25, 0.125, 0.125 }, // 20
993 { 0.25, 0.25, 0.0, 0.25, 0.25, 0.0 }, // 15
994 },
995 {
996 // 0 1 2 3 4 5
997 { 0.0, 0.5, 0.0, 0.0, 0.5, 0.0 }, // 13
998 { 0.0, 0.25, 0.25, 0.0, 0.25, 0.25 }, // 16
999 { 0.25, 0.125, 0.125, 0.25, 0.125, 0.125 }, // 20
1000 { 0.25, 0.25, 0.0, 0.25, 0.25, 0.0 }, // 15
1001 { 0.0, 0.0, 0.0, 0.0, 1.0, 0.0 }, // 4
1002 { 0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 10
1003 { 0.0, 0.0, 0.0, 0.5, 0.25, 0.25 }, // 19
1004 { 0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 9
1005 },
1006 {
1007 // 0 1 2 3 4 5
1008 { 0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 7
1009 { 0.0, 0.0, 1.0, 0.0, 0.0, 0.0 }, // 2
1010 { 0.5, 0.0, 0.5, 0.0, 0.0, 0.0 }, // 8
1011 { 0.5, 0.25, 0.25, 0.0, 0.0, 0.0 }, // 18
1012 { 0.0, 0.25, 0.25, 0.0, 0.25, 0.25 }, // 16
1013 { 0.0, 0.0, 0.5, 0.0, 0.0, 0.5 }, // 14
1014 { 0.25, 0.0, 0.25, 0.25, 0.0, 0.25 }, // 17
1015 { 0.25, 0.125, 0.125, 0.25, 0.125, 0.125 }, // 20
1016 },
1017 {
1018 // 0 1 2 3 4 5
1019 { 0.0, 0.25, 0.25, 0.0, 0.25, 0.25 }, // 16
1020 { 0.0, 0.0, 0.5, 0.0, 0.0, 0.5 }, // 14
1021 { 0.25, 0.0, 0.25, 0.25, 0.0, 0.25 }, // 17
1022 { 0.25, 0.125, 0.125, 0.25, 0.125, 0.125 }, // 20
1023 { 0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 10
1024 { 0.0, 0.0, 0.0, 0.0, 0.0, 1.0 }, // 5
1025 { 0.0, 0.0, 0.0, 0.5, 0.0, 0.5 }, // 11
1026 { 0.0, 0.0, 0.0, 0.5, 0.25, 0.25 }, // 19
1027 },
1028};
1029const Integer PrismRefinementPattern4Hex_4Pr ::_face_mapping_1[4][6] = {
1030 // 0 1 2 3 4 5
1031 {0, 2, 4, 3, 1, 4},
1032 {0, 2, 4, 3, 1, 4},
1033 {0, 2, 4, 3, 1, 4},
1034 {0, 2, 4, 3, 1, 4},
1035};
1036const Integer PrismRefinementPattern4Hex_4Pr ::_face_mapping_topo_1[4][6] = {
1037 // 0 1 2 3 4 5
1038 {1, 1, 1, 0, 0, 0},
1039 {0, 1, 1, 1, 0, 0},
1040 {1, 0, 1, 0, 1, 0},
1041 {0, 0, 1, 1, 1, 0},
1042};
1043//
1044const double PrismRefinementPattern4Hex_4Pr ::_refine_matrix_2[4][6][6] = {
1045 {
1046 // 0 1 2 3 4 5
1047 { 1.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 0
1048 { 0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 6
1049 { 0.5, 0.25, 0.25, 0.0, 0.0, 0.0 }, // 18
1050 { 0.5, 0.0, 0.0, 0.5, 0.0, 0.0 }, // 12
1051 { 0.25, 0.25, 0.0, 0.25, 0.25, 0.0 }, // 15
1052 { 0.25, 0.125, 0.125, 0.25, 0.125, 0.125 }, // 20
1053 },
1054 {
1055 // 0 1 2 3 4 5
1056 { 0.5, 0.0, 0.0, 0.5, 0.0, 0.0 }, // 12
1057 { 0.25, 0.25, 0.0, 0.25, 0.25, 0.0 }, // 15
1058 { 0.25, 0.125, 0.125, 0.25, 0.125, 0.125 }, // 20
1059 { 0.0, 0.0, 0.0, 1.0, 0.0, 0.0 }, // 3
1060 { 0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 9
1061 { 0.0, 0.0, 0.0, 0.5, 0.25, 0.25 }, // 19
1062 },
1063 {
1064 // 0 1 2 3 4 5
1065 { 1.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 0
1066 { 0.5, 0.25, 0.25, 0.0, 0.0, 0.0 }, // 18
1067 { 0.5, 0.0, 0.5, 0.0, 0.0, 0.0 }, // 8
1068 { 0.5, 0.0, 0.0, 0.5, 0.0, 0.0 }, // 12
1069 { 0.25, 0.125, 0.125, 0.25, 0.125, 0.125 }, // 20
1070 { 0.25, 0.0, 0.25, 0.25, 0.0, 0.25 }, // 17
1071 },
1072 {
1073 // 0 1 2 3 4 5
1074 { 0.5, 0.0, 0.0, 0.5, 0.0, 0.0 }, // 12
1075 { 0.25, 0.125, 0.125, 0.25, 0.125, 0.125 }, // 20
1076 { 0.25, 0.0, 0.25, 0.25, 0.0, 0.25 }, // 17
1077 { 0.0, 0.0, 0.0, 1.0, 0.0, 0.0 }, // 3
1078 { 0.0, 0.0, 0.0, 0.5, 0.25, 0.25 }, // 19
1079 { 0.0, 0.0, 0.0, 0.5, 0.0, 0.5 }, // 11
1080 },
1081};
1082const Integer PrismRefinementPattern4Hex_4Pr ::_face_mapping_2[4][5] = {
1083 // 0 1 2 3 4
1084 {0, 1, 2, 3, 4},
1085 {0, 1, 2, 3, 4},
1086 {0, 1, 2, 3, 4},
1087 {0, 1, 2, 3, 4},
1088};
1089const Integer PrismRefinementPattern4Hex_4Pr ::_face_mapping_topo_2[4][5] = {
1090 // 0 1 2 3 4
1091 {1, 0, 1, 0, 0},
1092 {0, 0, 1, 1, 0},
1093 {1, 1, 0, 0, 0},
1094 {0, 1, 0, 1, 0},
1095};
1096
1097/*---------------------------------------------------------------------------*/
1098/*---------------------------------------------------------------------------*/
1099
1100const double PrismRefinementPattern8Pr ::_refine_matrix_1[8][6][6] = { /* const */
1101
1102 // refine_matrix pour l'enfant 0
1103 {
1104 // 0 1 2 3 4 5
1105 { 1.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 0
1106 { 0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 7
1107 { 0.5, 0.0, 0.5, 0.0, 0.0, 0.0 }, // 6
1108 { 0.5, 0.0, 0.0, 0.5, 0.0, 0.0 }, // 12
1109 { 0.25, 0.25, 0.0, 0.25, 0.25, 0.0 }, // 13
1110 { 0.25, 0.0, 0.25, 0.25, 0.0, 0.25 },// 17
1111 },
1112 // refine_matrix pour l'enfant 1
1113 {
1114 // 0 1 2 3 4 5
1115 { 0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 7
1116 { 0.0, 1.0, 0.0, 0.0, 0.0, 0.0 }, // 1
1117 { 0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 8
1118 { 0.25, 0.25, 0.0, 0.25, 0.25, 0.0 }, // 13
1119 { 0.0, 0.5, 0.0, 0.0, 0.5, 0.0 }, // 14
1120 { 0.0, 0.25, 0.25, 0.0, 0.25, 0.25 }, // 15
1121 },
1122 // refine_matrix pour l'enfant 2
1123 {
1124 // 0 1 2 3 4 5
1125 { 0.0, 0.0, 1.0, 0.0, 0.0, 0.0 }, // 2
1126 { 0.5, 0.0, 0.5, 0.0, 0.0, 0.0 }, // 6
1127 { 0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 8
1128 { 0.0, 0.0, 0.5, 0.0, 0.0, 0.5 }, // 16
1129 { 0.25, 0.0, 0.25, 0.25, 0.0, 0.25 },// 17
1130 { 0.0, 0.25, 0.25, 0.0, 0.25, 0.25 }, // 15
1131 },
1132 // refine_matrix pour l'enfant 3
1133 {
1134 // 0 1 2 3 4 5
1135 { 0.25, 0.0, 0.25, 0.25, 0.0, 0.25 },// 17
1136 { 0.5, 0.0, 0.0, 0.5, 0.0, 0.0 }, // 12
1137 { 0.25, 0.25, 0.0, 0.25, 0.25, 0.0 }, // 13
1138 { 0.0, 0.0, 0.0, 0.5, 0.0, 0.5 }, // 9
1139 { 0.0, 0.0, 0.0, 1.0, 0.0, 0.0 }, // 3
1140 { 0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 10
1141 },
1142 // refine_matrix pour l'enfant 4
1143 {
1144 // 0 1 2 3 4 5
1145 { 0.0, 0.25, 0.25, 0.0, 0.25, 0.25 }, // 15
1146 { 0.25, 0.25, 0.0, 0.25, 0.25, 0.0 }, // 13
1147 { 0.0, 0.5, 0.0, 0.0, 0.5, 0.0 }, // 14
1148 { 0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 11
1149 { 0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 10
1150 { 0.0, 0.0, 0.0, 0.0, 1.0, 0.0 }, // 4
1151 },
1152 // refine_matrix pour l'enfant 5
1153 {
1154 // 0 1 2 3 4 5
1155 { 0.0, 0.0, 0.5, 0.0, 0.0, 0.5 }, // 16
1156 { 0.25, 0.0, 0.25, 0.25, 0.0, 0.25 },// 17
1157 { 0.0, 0.25, 0.25, 0.0, 0.25, 0.25 }, // 15
1158 { 0.0, 0.0, 0.0, 0.0, 0.0, 1.0 }, // 5
1159 { 0.0, 0.0, 0.0, 0.5, 0.0, 0.5 }, // 9
1160 { 0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 11
1161 },
1162 // refine_matrix pour l'enfant 6
1163 {
1164 // 0 1 2 3 4 5
1165 { 0.5, 0.0, 0.5, 0.0, 0.0, 0.0 }, // 6
1166 { 0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 7
1167 { 0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 8
1168 { 0.25, 0.0, 0.25, 0.25, 0.0, 0.25 },// 17
1169 { 0.25, 0.25, 0.0, 0.25, 0.25, 0.0 }, // 13
1170 { 0.0, 0.25, 0.25, 0.0, 0.25, 0.25 }, // 15
1171 },
1172 // refine_matrix pour l'enfant 7
1173 {
1174 // 0 1 2 3 4 5
1175 { 0.25, 0.0, 0.25, 0.25, 0.0, 0.25 },// 17
1176 { 0.25, 0.25, 0.0, 0.25, 0.25, 0.0 }, // 13
1177 { 0.0, 0.25, 0.25, 0.0, 0.25, 0.25 }, // 15
1178 { 0.0, 0.0, 0.0, 0.5, 0.0, 0.5 }, // 9
1179 { 0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 10
1180 { 0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 11
1181 }
1182};
1183
1184/*---------------------------------------------------------------------------*/
1185/*---------------------------------------------------------------------------*/
1186
1187const double PrismRefinementPattern27Pr ::_refine_matrix_1[27][6][6] = { /* const */
1188
1189 // refine_matrix pour l'enfant 1
1190 {
1191 // 0 1 2 3 4 5
1192 { 1.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 0
1193 { 0.666, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 6
1194 { 0.666, 0.0, 0.333, 0.0, 0.0, 0.0 }, // 10
1195 { 0.666, 0.0, 0.0, 0.333, 0.0, 0.0 }, // 20
1196 { 0.444, 0.222, 0.0, 0.222, 0.111, 0.0 }, // 26
1197 { 0.444, 0.0, 0.222, 0.222, 0.0, 0.111 }, // 35
1198 },
1199 // refine_matrix pour l'enfant 2
1200 {
1201 // 0 1 2 3 4 5
1202 { 0.666, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 6
1203 { 0.333, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 7
1204 { 0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 12
1205 { 0.444, 0.222, 0.0, 0.222, 0.111, 0.0 }, // 26
1206 { 0.222, 0.444, 0.0, 0.111, 0.222, 0.0 }, // 27
1207 { 0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
1208 },
1209 // refine_matrix pour l'enfant 3
1210 {
1211 // 0 1 2 3 4 5
1212 { 0.333, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 7
1213 { 0.0, 1.0, 0.0, 0.0, 0.0, 0.0 }, // 0
1214 { 0.0, 0.666, 0.333, 0.0, 0.0, 0.0 }, // 8
1215 { 0.222, 0.444, 0.0, 0.111, 0.222, 0.0 }, // 27
1216 { 0.0, 0.666, 0.0, 0.0, 0.333, 0.0 }, // 22
1217 { 0.0, 0.444, 0.222, 0.0, 0.222, 0.111 }, // 30
1218 },
1219 // refine_matrix pour l'enfant 4
1220 {
1221 // 0 1 2 3 4 5
1222 { 0.666, 0.0, 0.333, 0.0, 0.0, 0.0 }, // 10
1223 { 0.666, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 6
1224 { 0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 12
1225 { 0.444, 0.0, 0.222, 0.222, 0.0, 0.111 }, // 35
1226 { 0.444, 0.222, 0.0, 0.222, 0.111, 0.0 }, // 26
1227 { 0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
1228 },
1229 // refine_matrix pour l'enfant 5
1230 {
1231 // 0 1 2 3 4 5
1232 { 0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 12
1233 { 0.333, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 7
1234 { 0.0, 0.666, 0.333, 0.0, 0.0, 0.0 }, // 8
1235 { 0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
1236 { 0.222, 0.444, 0.0, 0.111, 0.222, 0.0 }, // 27
1237 { 0.0, 0.444, 0.222, 0.0, 0.222, 0.111 }, // 30
1238 },
1239 // refine_matrix pour l'enfant 6
1240 {
1241 // 0 1 2 3 4 5
1242 { 0.666, 0.0, 0.333, 0.0, 0.0, 0.0 }, // 10
1243 { 0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 12
1244 { 0.333, 0.0, 0.666, 0.0, 0.0, 0.0 }, // 11
1245 { 0.444, 0.0, 0.222, 0.222, 0.0, 0.111 }, // 35
1246 { 0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
1247 { 0.222, 0.0, 0.444, 0.111, 0.0, 0.222 }, // 34
1248 },
1249 // refine_matrix pour l'enfant 7
1250 {
1251 // 0 1 2 3 4 5
1252 { 0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 12
1253 { 0.0, 0.666, 0.333, 0.0, 0.0, 0.0 }, // 8
1254 { 0.0, 0.333, 0.666, 0.0, 0.0, 0.0 }, // 9
1255 { 0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
1256 { 0.0, 0.444, 0.222, 0.0, 0.222, 0.111 }, // 30
1257 { 0.0, 0.222, 0.444, 0.0, 0.111, 0.222 }, // 31
1258
1259 },
1260 // refine_matrix pour l'enfant 8
1261 {
1262 // 0 1 2 3 4 5
1263 { 0.333, 0.0, 0.666, 0.0, 0.0, 0.0 }, // 11
1264 { 0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 12
1265 { 0.0, 0.333, 0.666, 0.0, 0.0, 0.0 }, // 9
1266 { 0.222, 0.0, 0.444, 0.111, 0.0, 0.222 }, // 34
1267 { 0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
1268 { 0.0, 0.222, 0.444, 0.0, 0.111, 0.222 }, // 31
1269 },
1270 // refine_matrix pour l'enfant 9
1271 {
1272 // 0 1 2 3 4 5
1273 { 0.0, 0.0, 1.0, 0.0, 0.0, 0.0 }, // 2
1274 { 0.333, 0.0, 0.666, 0.0, 0.0, 0.0 }, // 11
1275 { 0.0, 0.333, 0.666, 0.0, 0.0, 0.0 }, // 9
1276 { 0.0, 0.0, 0.666, 0.0, 0.0, 0.333 }, // 24
1277 { 0.222, 0.0, 0.444, 0.111, 0.0, 0.222 }, // 34
1278 { 0.0, 0.222, 0.444, 0.0, 0.111, 0.222 }, // 31
1279 },
1280 // refine_matrix pour l'enfant 10
1281 {
1282 // 0 1 2 3 4 5
1283 { 0.666, 0.0, 0.0, 0.333, 0.0, 0.0 }, // 20
1284 { 0.444, 0.222, 0.0, 0.222, 0.111, 0.0 }, // 26
1285 { 0.444, 0.0, 0.222, 0.222, 0.0, 0.111 }, // 35
1286 { 0.333, 0.0, 0.0, 0.666, 0.0, 0.0 }, // 21
1287 { 0.222, 0.111, 0.0, 0.444, 0.222, 0.0 }, // 28
1288 { 0.222, 0.0, 0.111, 0.444, 0.0, 0.222 }, // 37
1289 },
1290 // refine_matrix pour l'enfant 11
1291 {
1292 // 0 1 2 3 4 5
1293 { 0.444, 0.222, 0.0, 0.222, 0.111, 0.0 }, // 26
1294 { 0.222, 0.444, 0.0, 0.111, 0.222, 0.0 }, // 27
1295 { 0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
1296 { 0.222, 0.111, 0.0, 0.444, 0.222, 0.0 }, // 28
1297 { 0.111, 0.222, 0.0, 0.222, 0.444, 0.0 }, // 29
1298 { 0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
1299 },
1300 // refine_matrix pour l'enfant 12
1301 {
1302 // 0 1 2 3 4 5
1303 { 0.222, 0.444, 0.0, 0.111, 0.222, 0.0 }, // 27
1304 { 0.0, 0.666, 0.0, 0.0, 0.333, 0.0 }, // 22
1305 { 0.0, 0.444, 0.222, 0.0, 0.222, 0.111 }, // 30
1306 { 0.111, 0.222, 0.0, 0.222, 0.444, 0.0 }, // 29
1307 { 0.0, 0.333, 0.0, 0.0, 0.666, 0.0 }, // 23
1308 { 0.0, 0.222, 0.111, 0.0, 0.444, 0.222 }, // 32
1309 },
1310 // refine_matrix pour l'enfant 13
1311 {
1312 // 0 1 2 3 4 5
1313 { 0.444, 0.0, 0.222, 0.222, 0.0, 0.111 }, // 35
1314 { 0.444, 0.222, 0.0, 0.222, 0.111, 0.0 }, // 26
1315 { 0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
1316 { 0.222, 0.0, 0.111, 0.444, 0.0, 0.222 }, // 37
1317 { 0.222, 0.111, 0.0, 0.444, 0.222, 0.0 }, // 28
1318 { 0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
1319 },
1320 // refine_matrix pour l'enfant 14
1321 {
1322 // 0 1 2 3 4 5
1323 { 0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
1324 { 0.222, 0.444, 0.0, 0.111, 0.222, 0.0 }, // 27
1325 { 0.0, 0.444, 0.222, 0.0, 0.222, 0.111 }, // 30
1326 { 0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
1327 { 0.111, 0.222, 0.0, 0.222, 0.444, 0.0 }, // 29
1328 { 0.0, 0.222, 0.111, 0.0, 0.444, 0.222 }, // 32
1329 },
1330 // refine_matrix pour l'enfant 15
1331 {
1332 // 0 1 2 3 4 5
1333 { 0.444, 0.0, 0.222, 0.222, 0.0, 0.111 }, // 35
1334 { 0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
1335 { 0.222, 0.0, 0.444, 0.111, 0.0, 0.222 }, // 34
1336 { 0.222, 0.0, 0.111, 0.444, 0.0, 0.222 }, // 37
1337 { 0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
1338 { 0.111, 0.0, 0.222, 0.222, 0.0, 0.444 }, // 36
1339 },
1340 // refine_matrix pour l'enfant 16
1341 {
1342 // 0 1 2 3 4 5
1343 { 0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
1344 { 0.0, 0.444, 0.222, 0.0, 0.222, 0.111 }, // 30
1345 { 0.0, 0.222, 0.444, 0.0, 0.111, 0.222 }, // 31
1346 { 0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
1347 { 0.0, 0.222, 0.111, 0.0, 0.444, 0.222 }, // 32
1348 { 0.0, 0.111, 0.222, 0.0, 0.222, 0.444 }, // 33
1349 },
1350 // refine_matrix pour l'enfant 17
1351 {
1352 // 0 1 2 3 4 5
1353 { 0.222, 0.0, 0.444, 0.111, 0.0, 0.222 }, // 34
1354 { 0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
1355 { 0.0, 0.222, 0.444, 0.0, 0.111, 0.222 }, // 31
1356 { 0.111, 0.0, 0.222, 0.222, 0.0, 0.444 }, // 36
1357 { 0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
1358 { 0.0, 0.111, 0.222, 0.0, 0.222, 0.444 }, // 33
1359 },
1360 // refine_matrix pour l'enfant 18
1361 {
1362 // 0 1 2 3 4 5
1363 { 0.222, 0.0, 0.444, 0.111, 0.0, 0.222 }, // 34
1364 { 0.0, 0.222, 0.444, 0.0, 0.111, 0.222 }, // 31
1365 { 0.0, 0.0, 0.666, 0.0, 0.0, 0.333 }, // 24
1366 { 0.111, 0.0, 0.222, 0.222, 0.0, 0.444 }, // 36
1367 { 0.0, 0.111, 0.222, 0.0, 0.222, 0.444 }, // 33
1368 { 0.0, 0.0, 0.333, 0.0, 0.0, 0.666 }, // 25
1369 },
1370 // refine_matrix pour l'enfant 19
1371 {
1372 // 0 1 2 3 4 5
1373 { 0.333, 0.0, 0.0, 0.666, 0.0, 0.0 }, // 21
1374 { 0.222, 0.111, 0.0, 0.444, 0.222, 0.0 }, // 28
1375 { 0.222, 0.0, 0.111, 0.444, 0.0, 0.222 }, // 37
1376 { 0.0, 0.0, 0.0, 1.0, 0.0, 0.0 }, // 3
1377 { 0.0, 0.0, 0.0, 0.666, 0.333, 0.0 }, // 13
1378 { 0.0, 0.0, 0.0, 0.666, 0.0, 0.333 }, //
1379 },
1380 // refine_matrix pour l'enfant 20
1381 {
1382 // 0 1 2 3 4 5
1383 { 0.222, 0.111, 0.0, 0.444, 0.222, 0.0 }, // 28
1384 { 0.111, 0.222, 0.0, 0.222, 0.444, 0.0 }, // 29
1385 { 0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
1386 { 0.0, 0.0, 0.0, 0.666, 0.333, 0.0 }, // 13
1387 { 0.0, 0.0, 0.0, 0.333, 0.666, 0.0 }, // 14
1388 { 0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 19
1389 },
1390 // refine_matrix pour l'enfant 21
1391 {
1392 // 0 1 2 3 4 5
1393 { 0.111, 0.222, 0.0, 0.222, 0.444, 0.0 }, // 29
1394 { 0.0, 0.333, 0.0, 0.0, 0.666, 0.0 }, // 23
1395 { 0.0, 0.222, 0.111, 0.0, 0.444, 0.222 }, // 32
1396 { 0.0, 0.0, 0.0, 0.333, 0.666, 0.0 }, // 14
1397 { 0.0, 0.0, 0.0, 0.0, 1.0, 0.0 }, // 4
1398 { 0.0, 0.0, 0.0, 0.0, 0.666, 0.333 }, // 15
1399 },
1400 // refine_matrix pour l'enfant 22
1401 {
1402 // 0 1 2 3 4 5
1403 { 0.222, 0.0, 0.111, 0.444, 0.0, 0.222 }, // 37
1404 { 0.222, 0.111, 0.0, 0.444, 0.222, 0.0 }, // 28
1405 { 0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
1406 { 0.0, 0.0, 0.0, 0.666, 0.0, 0.333 }, // 17
1407 { 0.0, 0.0, 0.0, 0.666, 0.333, 0.0 }, // 13
1408 { 0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 19
1409 },
1410 // refine_matrix pour l'enfant 23
1411 {
1412 // 0 1 2 3 4 5
1413 { 0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
1414 { 0.111, 0.222, 0.0, 0.222, 0.444, 0.0 }, // 29
1415 { 0.0, 0.222, 0.111, 0.0, 0.444, 0.222 }, // 32
1416 { 0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 19
1417 { 0.0, 0.0, 0.0, 0.333, 0.666, 0.0 }, // 14
1418 { 0.0, 0.0, 0.0, 0.0, 0.666, 0.333 }, // 15
1419 },
1420 // refine_matrix pour l'enfant 24
1421 {
1422 // 0 1 2 3 4 =5
1423 { 0.222, 0.0, 0.111, 0.444, 0.0, 0.222 }, // 37
1424 { 0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
1425 { 0.111, 0.0, 0.222, 0.222, 0.0, 0.444 }, // 36
1426 { 0.0, 0.0, 0.0, 0.666, 0.0, 0.333 }, // 17
1427 { 0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 19
1428 { 0.0, 0.0, 0.0, 0.333, 0.0, 0.666 }, // 18
1429 },
1430 // refine_matrix pour l'enfant 25
1431 {
1432 // 0 1 2 3 4 5
1433 { 0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
1434 { 0.0, 0.222, 0.111, 0.0, 0.444, 0.222 }, // 32
1435 { 0.0, 0.111, 0.222, 0.0, 0.222, 0.444 }, // 33
1436 { 0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 19
1437 { 0.0, 0.0, 0.0, 0.0, 0.666, 0.333 }, // 15
1438 { 0.0, 0.0, 0.0, 0.0, 0.333, 0.666 }, // 16
1439 },
1440 // refine_matrix pour l'enfant 26
1441 {
1442 // 0 1 2 3 4 5
1443 { 0.111, 0.0, 0.222, 0.222, 0.0, 0.444 }, // 36
1444 { 0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
1445 { 0.0, 0.111, 0.222, 0.0, 0.222, 0.444 }, // 33
1446 { 0.0, 0.0, 0.0, 0.333, 0.0, 0.666 }, // 18
1447 { 0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 19
1448 { 0.0, 0.0, 0.0, 0.0, 0.333, 0.666 }, // 16
1449 },
1450 // refine_matrix pour l'enfant 27
1451 {
1452 // 0 1 2 3 4 5
1453 { 0.111, 0.0, 0.222, 0.222, 0.0, 0.444 }, // 36
1454 { 0.0, 0.111, 0.222, 0.0, 0.222, 0.444 }, // 33
1455 { 0.0, 0.0, 0.333, 0.0, 0.0, 0.666 }, // 25
1456 { 0.0, 0.0, 0.0, 0.333, 0.0, 0.666 }, // 18
1457 { 0.0, 0.0, 0.0, 0.0, 0.333, 0.666 }, // 16
1458 { 0.0, 0.0, 0.0, 0.0, 0.0, 1.0 }, // 5
1459 }
1460};
1461
1462/*---------------------------------------------------------------------------*/
1463/*---------------------------------------------------------------------------*/
1464
1465const double PyramidRefinementPattern4Hex_4Py ::_refine_matrix_1[4][8][5] = {
1466 {
1467 // 0 1 2 3 4
1468 { 1.0, 0.0, 0.0, 0.0, 0.0 }, // 0
1469 { 0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
1470 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 17
1471 { 0.5, 0.0, 0.0, 0.5, 0.0 }, // 8
1472 { 0.5, 0.0, 0.0, 0.0, 0.5 }, // 9
1473 { 0.25, 0.25, 0.0, 0.0, 0.5 }, // 13
1474 { 0.125, 0.125, 0.125, 0.125, 0.5 }, // 18
1475 { 0.25, 0.0, 0.0, 0.25, 0.5 }, // 16
1476 },
1477 {
1478 // 0 1 2 3 4
1479 { 0.5, 0.0, 0.0, 0.5, 0.0 }, // 8
1480 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 17
1481 { 0.0, 0.0, 0.5, 0.5, 0.0 }, // 7
1482 { 0.0, 0.0, 0.0, 1.0, 0.0 }, // 3
1483 { 0.25, 0.0, 0.0, 0.25, 0.5 }, // 16
1484 { 0.125, 0.125, 0.125, 0.125, 0.5 }, // 18
1485 { 0.0, 0.0, 0.25, 0.25, 0.5 }, // 15
1486 { 0.0, 0.0, 0.0, 0.5, 0.5 }, // 12
1487 },
1488 {
1489 // 0 1 2 3 4
1490 { 0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
1491 { 0.0, 1.0, 0.0, 0.0, 0.0 }, // 1
1492 { 0.0, 0.5, 0.5, 0.0, 0.0 }, // 6
1493 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 17
1494 { 0.25, 0.25, 0.0, 0.0, 0.5 }, // 13
1495 { 0.0, 0.5, 0.0, 0.0, 0.5 }, // 10
1496 { 0.0, 0.25, 0.25, 0.0, 0.5 }, // 14
1497 { 0.125, 0.125, 0.125, 0.125, 0.5 }, // 18
1498 },
1499 {
1500 // 0 1 2 3 4
1501 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 17
1502 { 0.0, 0.5, 0.5, 0.0, 0.0 }, // 6
1503 { 0.0, 0.0, 1.0, 0.0, 0.0 }, // 2
1504 { 0.0, 0.0, 0.5, 0.5, 0.0 }, // 7
1505 { 0.125, 0.125, 0.125, 0.125, 0.5 }, // 18
1506 { 0.0, 0.25, 0.25, 0.0, 0.5 }, // 14
1507 { 0.0, 0.0, 0.5, 0.0, 0.5 }, // 11
1508 { 0.0, 0.0, 0.25, 0.25, 0.5 }, // 15
1509 }
1510};
1511const Integer PyramidRefinementPattern4Hex_4Py ::_face_mapping_1[4][6] = {
1512 // 0 1 2 3 4 5
1513 {0, 1, 2, 0, 3, 4},
1514 {0, 1, 2, 0, 3, 4},
1515 {0, 1, 2, 0, 3, 4},
1516 {0, 1, 2, 0, 3, 4},
1517};
1518const Integer PyramidRefinementPattern4Hex_4Py ::_face_mapping_topo_1[4][6] = {
1519 // 0 1 2 3 4 5
1520 {1, 1, 1, 0, 0, 0},
1521 {1, 1, 0, 0, 0, 1},
1522 {1, 0, 1, 0, 1, 0},
1523 {1, 0, 0, 0, 1, 1},
1524};
1525//
1526const double PyramidRefinementPattern4Hex_4Py ::_refine_matrix_2[4][5][5] = {
1527 {
1528 // 0 1 2 3 4
1529 { 0.5, 0.0, 0.0, 0.0, 0.5 }, // 9
1530 { 0.25, 0.25, 0.0, 0.0, 0.5 }, // 13
1531 { 0.125, 0.125, 0.125, 0.125, 0.5 }, // 18
1532 { 0.25, 0.0, 0.0, 0.25, 0.5 }, // 16
1533 { 0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
1534 },
1535 {
1536 // 0 1 2 3 4
1537 { 0.25, 0.0, 0.0, 0.25, 0.5 }, // 16
1538 { 0.125, 0.125, 0.125, 0.125, 0.5 }, // 18
1539 { 0.0, 0.0, 0.25, 0.25, 0.5 }, // 15
1540 { 0.0, 0.0, 0.0, 0.5, 0.5 }, // 12
1541 { 0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
1542 },
1543 {
1544 // 0 1 2 3 4
1545 { 0.25, 0.25, 0.0, 0.0, 0.5 }, // 13
1546 { 0.0, 0.5, 0.0, 0.0, 0.5 }, // 10
1547 { 0.0, 0.25, 0.25, 0.0, 0.5 }, // 14
1548 { 0.125, 0.125, 0.125, 0.125, 0.5 }, // 18
1549 { 0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
1550 },
1551 {
1552 // 0 1 2 3 4
1553 { 0.125, 0.125, 0.125, 0.125, 0.5 }, // 18
1554 { 0.0, 0.25, 0.25, 0.0, 0.5 }, // 14
1555 { 0.0, 0.0, 0.5, 0.0, 0.5 }, // 11
1556 { 0.0, 0.0, 0.25, 0.25, 0.5 }, // 15
1557 { 0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
1558 },
1559};
1560const Integer PyramidRefinementPattern4Hex_4Py ::_face_mapping_2[4][5] = {
1561 // 0 1 2 3 4
1562 {0, 1, 2, 3, 4},
1563 {0, 1, 2, 3, 4},
1564 {0, 1, 2, 3, 4},
1565 {0, 1, 2, 3, 4},
1566};
1567const Integer PyramidRefinementPattern4Hex_4Py ::_face_mapping_topo_2[4][5] = {
1568 // 0 1 2 3 4
1569 {0, 1, 1, 0, 0},
1570 {0, 1, 0, 0, 1},
1571 {0, 0, 1, 1, 0},
1572 {0, 0, 0, 1, 1},
1573};
1574
1575/*---------------------------------------------------------------------------*/
1576/*---------------------------------------------------------------------------*/
1577
1578const double PyramidRefinementPattern4Py8T ::_refine_matrix_1[4][5][5] = { /* const */
1579
1580 // refine_matrix pour l'enfant 0
1581 {
1582 // 0 1 2 3 4
1583 { 1.0, 0.0, 0.0, 0.0, 0.0 }, // 0
1584 { 0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
1585 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1586 { 0.5, 0.0, 0.0, 0.5, 0.0 }, // 8
1587 { 0.5, 0.0, 0.0, 0.0, 0.5 }, // 10
1588 },
1589 // refine_matrix pour l'enfant 1
1590 {
1591 // 0 1 2 3 4
1592 { 0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
1593 { 0.0, 1.0, 0.0, 0.0, 0.0 }, // 1
1594 { 0.0, 0.5, 0.5, 0.0, 0.0 }, // 6
1595 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1596 { 0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
1597 },
1598 // refine_matrix pour l'enfant 2
1599 {
1600 // 0 1 2 3 4
1601 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1602 { 0.0, 0.5, 0.5, 0.0, 0.0 }, // 6
1603 { 0.0, 0.0, 1.0, 0.0, 0.0 }, // 2
1604 { 0.0, 0.0, 0.5, 0.5, 0.0 }, // 7
1605 { 0.0, 0.0, 0.5, 0.0, 0.5 }, // 12
1606 },
1607 // refine_matrix pour l'enfant 3
1608 {
1609 // 0 1 2 3 4
1610 { 0.5, 0.0, 0.0, 0.5, 0.0 }, // 8
1611 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1612 { 0.0, 0.0, 0.5, 0.5, 0.0 }, // 7
1613 { 0.0, 0.0, 0.0, 1.0, 0.0 }, // 3
1614 { 0.0, 0.0, 0.0, 0.5, 0.5 }, // 13
1615 }
1616};
1617
1618const double PyramidRefinementPattern4Py8T ::_refine_matrix_2[8][4][5] = { /* const */
1619
1620 // refine_matrix pour l'enfant 0
1621 {
1622 // 0 1 2 3 4
1623 { 0.5, 0.0, 0.0, 0.0, 0.5 }, // 10
1624 { 0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
1625 { 0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
1626 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1627 },
1628 // refine_matrix pour l'enfant 1
1629 {
1630 // 0 1 2 3 4
1631 { 0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
1632 { 0.0, 0.0, 0.5, 0.0, 0.5 }, // 12
1633 { 0.0, 0.5, 0.5, 0.0, 0.0 }, // 6
1634 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1635 },
1636 // refine_matrix pour l'enfant 2
1637 {
1638 // 0 1 2 3 4
1639 { 0.0, 0.0, 0.5, 0.0, 0.5 }, // 12
1640 { 0.0, 0.0, 0.0, 0.5, 0.5 }, // 13
1641 { 0.0, 0.0, 0.5, 0.5, 0.0 }, // 7
1642 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1643 },
1644 // refine_matrix pour l'enfant 3
1645 {
1646 // 0 1 2 3 4
1647 { 0.0, 0.0, 0.0, 0.5, 0.5 }, // 13
1648 { 0.5, 0.0, 0.0, 0.0, 0.5 }, // 10
1649 { 0.5, 0.0, 0.0, 0.5, 0.0 }, // 8
1650 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1651 },
1652 // refine_matrix pour l'enfant 4
1653 {
1654 // 0 1 2 3 4
1655 { 0.5, 0.0, 0.0, 0.0, 0.5 }, // 10
1656 { 0.0, 0.0, 0.5, 0.0, 0.5 }, // 12
1657 { 0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
1658 { 0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
1659 },
1660 // refine_matrix pour l'enfant 5
1661 {
1662 // 0 1 2 3 4
1663 { 0.5, 0.0, 0.0, 0.0, 0.5 }, // 10
1664 { 0.0, 0.0, 0.0, 0.5, 0.5 }, // 13
1665 { 0.0, 0.0, 0.5, 0.0, 0.5 }, // 12
1666 { 0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
1667 },
1668 // refine_matrix pour l'enfant 6
1669 {
1670 // 0 1 2 3 4
1671 { 0.5, 0.0, 0.0, 0.0, 0.5 }, // 10
1672 { 0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
1673 { 0.0, 0.0, 0.5, 0.0, 0.5 }, // 12
1674 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1675 },
1676 // refine_matrix pour l'enfant 7
1677 {
1678 // 0 1 2 3 4
1679 { 0.5, 0.0, 0.0, 0.0, 0.5 }, // 10
1680 { 0.0, 0.0, 0.5, 0.0, 0.5 }, // 12
1681 { 0.0, 0.0, 0.0, 0.5, 0.5 }, // 13
1682 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1683 }
1684};
1685
1686/*---------------------------------------------------------------------------*/
1687/*---------------------------------------------------------------------------*/
1688
1689const double PyramidRefinementPattern6Py4T ::_refine_matrix_1[6][5][5] = { /* const */
1690
1691 // refine_matrix pour l'enfant 0
1692 {
1693 // 0 1 2 3 4
1694 { 1.0, 0.0, 0.0, 0.0, 0.0 }, // 0
1695 { 0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
1696 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1697 { 0.5, 0.0, 0.0, 0.5, 0.0 }, // 8
1698 { 0.5, 0.0, 0.0, 0.0, 0.5 }, // 10
1699 },
1700 // refine_matrix pour l'enfant 1
1701 {
1702 // 0 1 2 3 4
1703 { 0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
1704 { 0.0, 1.0, 0.0, 0.0, 0.0 }, // 1
1705 { 0.0, 0.5, 0.5, 0.0, 0.0 }, // 6
1706 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1707 { 0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
1708 },
1709 // refine_matrix pour l'enfant 2
1710 {
1711 // 0 1 2 3 4
1712 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1713 { 0.0, 0.5, 0.5, 0.0, 0.0 }, // 6
1714 { 0.0, 0.0, 1.0, 0.0, 0.0 }, // 2
1715 { 0.0, 0.0, 0.5, 0.5, 0.0 }, // 7
1716 { 0.0, 0.0, 0.5, 0.0, 0.5 }, // 12
1717 },
1718 // refine_matrix pour l'enfant 3
1719 {
1720 // 0 1 2 3 4
1721 { 0.5, 0.0, 0.0, 0.5, 0.0 }, // 8
1722 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1723 { 0.0, 0.0, 0.5, 0.5, 0.0 }, // 7
1724 { 0.0, 0.0, 0.0, 1.0, 0.0 }, // 3
1725 { 0.0, 0.0, 0.0, 0.5, 0.5 }, // 13
1726 },
1727 // refine_matrix pour l'enfant 4
1728 {
1729 // 0 1 2 3 4
1730 { 0.5, 0.0, 0.0, 0.0, 0.5 }, // 10
1731 { 0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
1732 { 0.0, 0.0, 0.5, 0.0, 0.5 }, // 12
1733 { 0.0, 0.0, 0.0, 0.5, 0.5 }, // 13
1734 { 0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
1735 },
1736 // refine_matrix pour l'enfant 5
1737 {
1738 // 0 1 2 3 4
1739 { 0.5, 0.0, 0.0, 0.0, 0.5 }, // 10
1740 { 0.0, 0.0, 0.0, 0.5, 0.5 }, // 13
1741 { 0.0, 0.0, 0.5, 0.0, 0.5 }, // 12
1742 { 0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
1743 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1744 }
1745};
1746
1747const double PyramidRefinementPattern6Py4T ::_refine_matrix_2[4][4][5] = { /* const */
1748
1749 // refine_matrix pour l'enfant 0
1750 {
1751 // 0 1 2 3 4
1752 { 0.5, 0.0, 0.0, 0.0, 0.5 }, // 10
1753 { 0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
1754 { 0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
1755 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1756 },
1757 // refine_matrix pour l'enfant 1
1758 {
1759 // 0 1 2 3 4
1760 { 0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
1761 { 0.0, 0.0, 0.5, 0.0, 0.5 }, // 12
1762 { 0.0, 0.5, 0.5, 0.0, 0.0 }, // 6
1763 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1764 },
1765 // refine_matrix pour l'enfant 2
1766 {
1767 // 0 1 2 3 4
1768 { 0.0, 0.0, 0.5, 0.0, 0.5 }, // 12
1769 { 0.0, 0.0, 0.0, 0.5, 0.5 }, // 13
1770 { 0.0, 0.0, 0.5, 0.5, 0.0 }, // 7
1771 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1772 },
1773 // refine_matrix pour l'enfant 3
1774 {
1775 // 0 1 2 3 4
1776 { 0.0, 0.0, 0.0, 0.5, 0.5 }, // 13
1777 { 0.5, 0.0, 0.0, 0.0, 0.5 }, // 10
1778 { 0.5, 0.0, 0.0, 0.5, 0.0 }, // 8
1779 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1780 }
1781};
1782
1783/*---------------------------------------------------------------------------*/
1784/*---------------------------------------------------------------------------*/
1785
1786const double PyramidRefinementPattern4Py ::_refine_matrix_1[4][5][5] = { /* const */
1787
1788 // refine_matrix pour l'enfant 0
1789 {
1790 // 0 1 2 3 4
1791 { 1.0, 0.0, 0.0, 0.0, 0.0 }, // 0
1792 { 0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
1793 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1794 { 0.5, 0.0, 0.0, 0.5, 0.0 }, // 8
1795 { 0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
1796 },
1797 // refine_matrix pour l'enfant 1
1798 {
1799 // 0 1 2 3 4
1800 { 0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
1801 { 0.0, 1.0, 0.0, 0.0, 0.0 }, // 1
1802 { 0.0, 0.5, 0.5, 0.0, 0.0 }, // 6
1803 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1804 { 0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
1805 },
1806 // refine_matrix pour l'enfant 2
1807 {
1808 // 0 1 2 3 4
1809 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1810 { 0.0, 0.5, 0.5, 0.0, 0.0 }, // 6
1811 { 0.0, 0.0, 1.0, 0.0, 0.0 }, // 2
1812 { 0.0, 0.0, 0.5, 0.5, 0.0 }, // 7
1813 { 0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
1814 },
1815 // refine_matrix pour l'enfant 3
1816 {
1817 // 0 1 2 3 4
1818 { 0.5, 0.0, 0.0, 0.5, 0.0 }, // 8
1819 { 0.25, 0.25, 0.25, 0.25, 0.0 }, // 9
1820 { 0.0, 0.0, 0.5, 0.5, 0.0 }, // 7
1821 { 0.0, 0.0, 0.0, 1.0, 0.0 }, // 3
1822 { 0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
1823 }
1824};
1825
1826/*---------------------------------------------------------------------------*/
1827/*---------------------------------------------------------------------------*/
1828
1829const double PyramidRefinementPattern19Py12T ::_refine_matrix_1[19][5][5] = { /* const */
1830
1831 // Pyramidion
1832 {
1833 // 0 1 2 3 4
1834 { 0.333, 0.0, 0.0, 0.0, 0.666 }, // 5
1835 { 0.0, 0.333, 0.0, 0.0, 0.666 }, // 6
1836 { 0.0, 0.0, 0.333, 0.0, 0.666 }, // 7
1837 { 0.0, 0.0, 0.0, 0.333, 0.666 }, // 8
1838 { 0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
1839 },
1840 // Pyramide inversée, niveau moyen
1841 {
1842 // 0 1 2 3 4
1843 { 0.333, 0.0, 0.0, 0.0, 0.666 }, // 5
1844 { 0.0, 0.0, 0.0, 0.333, 0.666 }, // 8
1845 { 0.0, 0.0, 0.333, 0.0, 0.666 }, // 7
1846 { 0.0, 0.333, 0.0, 0.0, 0.666 }, // 6
1847 { 0.1665,0.1665,0.1665,0.1665,0.333 }, // 17
1848 },
1849 // 4 pyramides dirigées vers le haut, niveau intermédiaire
1850 {
1851 // 0 1 2 3 4
1852 { 0.666, 0.0, 0.0, 0.0, 0.333 }, // 9
1853 { 0.333, 0.333, 0.0, 0.0, 0.333 }, // 13
1854 { 0.1665,0.1665,0.1665,0.1665,0.333 }, // 17
1855 { 0.333, 0.0, 0.0, 0.333, 0.333 }, // 16
1856 { 0.333, 0.0, 0.0, 0.0, 0.666 }, //
1857
1858 },
1859 {
1860 // 0 1 2 3 4
1861 { 0.333, 0.333, 0.0, 0.0, 0.333 }, // 13
1862 { 0.0, 0.666, 0.0, 0.0, 0.333 }, // 10
1863 { 0.0, 0.333, 0.333, 0.0, 0.333 }, // 14
1864 { 0.1665,0.1665,0.1665,0.1665,0.333 }, // 17
1865 { 0.0, 0.333, 0.0, 0.0, 0.666 }, // 6
1866 },
1867 {
1868 // 0 1 2 3 4
1869 { 0.333, 0.0, 0.0, 0.333, 0.333 }, // 16
1870 { 0.1665,0.1665,0.1665,0.1665,0.333 }, // 17
1871 { 0.0, 0.0, 0.333, 0.333, 0.333 }, // 15
1872 { 0.0, 0.0, 0.0, 0.666, 0.333 }, // 12
1873 { 0.0, 0.0, 0.0, 0.333, 0.666 }, // 8
1874 },
1875 {
1876 // 0 1 2 3 4
1877 { 0.1665,0.1665,0.1665,0.1665,0.333 }, // 17
1878 { 0.0, 0.333, 0.333, 0.0, 0.333 }, // 14
1879 { 0.0, 0.0, 0.666, 0.0, 0.333 }, // 11
1880 { 0.0, 0.0, 0.333, 0.333, 0.333 }, // 15
1881 { 0.0, 0.0, 0.333, 0.0, 0.666 }, // 7
1882
1883 },
1884 // 4 pyramides inversées, premier niveau
1885 {
1886 // 0 1 2 3 4
1887 { 0.666, 0.0, 0.0, 0.0, 0.333 }, // 9
1888 { 0.333, 0.0, 0.0, 0.333, 0.333 }, // 16
1889 { 0.1665,0.1665,0.1665,0.1665,0.333 }, // 17
1890 { 0.333, 0.333, 0.0, 0.0, 0.333 }, // 13
1891 { 0.444, 0.222, 0.111, 0.222, 0.0 }, // 26
1892 },
1893 {
1894 // 0 1 2 3 4
1895 { 0.333, 0.333, 0.0, 0.0, 0.333 }, // 13
1896 { 0.1665,0.1665,0.1665,0.1665,0.333 }, // 17
1897 { 0.0, 0.333, 0.333, 0.0, 0.333 }, // 14
1898 { 0.0, 0.666, 0.0, 0.0, 0.333 }, // 10
1899 { 0.222, 0.444, 0.222, 0.111, 0.0 }, // 27
1900 },
1901 {
1902 // 0 1 2 3 4
1903 { 0.1665,0.1665,0.1665,0.1665,0.333 }, // 17
1904 { 0.0, 0.0, 0.333, 0.333, 0.333 }, // 15
1905 { 0.0, 0.0, 0.666, 0.0, 0.333 }, // 11
1906 { 0.0, 0.333, 0.333, 0.0, 0.333 }, // 14
1907 { 0.111, 0.222, 0.444, 0.222, 0.0 }, // 28
1908 },
1909 {
1910 // 0 1 2 3 4
1911 { 0.333, 0.0, 0.0, 0.333, 0.333 }, // 16
1912 { 0.0, 0.0, 0.0, 0.666, 0.333 }, // 12
1913 { 0.0, 0.0, 0.333, 0.333, 0.333 }, // 15
1914 { 0.1665,0.1665,0.1665,0.1665,0.333 }, // 17
1915 { 0.222, 0.111, 0.222, 0.444, 0.0 }, // 29
1916 },
1917 // Pyramides dirigées vers le haut, premier niveau
1918 {
1919 // 0 1 2 3 4
1920 { 1.0, 0.0, 0.0, 0.0, 0.0 }, // 0
1921 { 0.666, 0.333, 0.0, 0.0, 0.0 }, // 18
1922 { 0.444, 0.222, 0.111, 0.222, 0.0 }, // 26
1923 { 0.666, 0.0, 0.0, 0.333, 0.0 }, // 24
1924 { 0.666, 0.0, 0.0, 0.0, 0.333 }, // 9
1925 },
1926 {
1927 // 0 1 2 3 4
1928 { 0.666, 0.333, 0.0, 0.0, 0.0 }, // 18
1929 { 0.333, 0.666, 0.0, 0.0, 0.0 }, //
1930 { 0.222, 0.444, 0.222, 0.111, 0.0 }, // 27
1931 { 0.444, 0.222, 0.111, 0.222, 0.0 }, // 26
1932 { 0.333, 0.333, 0.0, 0.0, 0.333 }, // 13
1933 },
1934 {
1935 // 0 1 2 3 4
1936 { 0.333, 0.666, 0.0, 0.0, 0.0 }, // 19
1937 { 0.0, 1.0, 0.0, 0.0, 0.0 }, // 1
1938 { 0.0, 0.666, 0.333, 0.0, 0.0 }, // 20
1939 { 0.222, 0.444, 0.222, 0.111, 0.0 }, // 27
1940 { 0.0, 0.666, 0.0, 0.0, 0.333 }, // 10
1941 },
1942 {
1943 // 0 1 2 3 4
1944 { 0.666, 0.0, 0.0, 0.333, 0.0 }, // 24
1945 { 0.444, 0.222, 0.111, 0.222, 0.0 }, // 26
1946 { 0.222, 0.111, 0.222, 0.444, 0.0 }, // 29
1947 { 0.333, 0.0, 0.0, 0.666, 0.0 }, // 25
1948 { 0.333, 0.0, 0.0, 0.333, 0.333 }, // 16
1949 },
1950 {
1951 // 0 1 2 3 4
1952 { 0.444, 0.222, 0.111, 0.222, 0.0 }, // 26
1953 { 0.222, 0.444, 0.222, 0.111, 0.0 }, // 27
1954 { 0.111, 0.222, 0.444, 0.222, 0.0 }, // 28
1955 { 0.222, 0.111, 0.222, 0.444, 0.0 }, // 29
1956 { 0.1665,0.1665,0.1665,0.1665,0.333 }, // 17
1957 },
1958 {
1959 // 0 1 2 3 4
1960 { 0.222, 0.444, 0.222, 0.111, 0.0 }, // 27
1961 { 0.0, 0.666, 0.333, 0.0, 0.0 }, // 20
1962 { 0.0, 0.333, 0.666, 0.0, 0.0 }, // 21
1963 { 0.111, 0.222, 0.444, 0.222, 0.0 }, // 28
1964 { 0.0, 0.333, 0.333, 0.0, 0.333 }, // 14
1965 },
1966 {
1967 // 0 1 2 3 4
1968 { 0.333, 0.0, 0.0, 0.666, 0.0 }, // 25
1969 { 0.222, 0.111, 0.222, 0.444, 0.0 }, // 29
1970 { 0.0, 0.0, 0.333, 0.666, 0.0 }, // 23
1971 { 0.0, 0.0, 0.0, 1.0, 0.0 }, // 3
1972 { 0.0, 0.0, 0.0, 0.666, 0.333 }, // 12
1973 },
1974 {
1975 // 0 1 2 3 4
1976 { 0.222, 0.111, 0.222, 0.444, 0.0 }, // 29
1977 { 0.111, 0.222, 0.444, 0.222, 0.0 }, // 28
1978 { 0.0, 0.0, 0.666, 0.333, 0.0 }, // 22
1979 { 0.0, 0.0, 0.333, 0.666, 0.0 }, // 23
1980 { 0.0, 0.0, 0.333, 0.333, 0.333 }, // 15
1981 },
1982 {
1983 // 0 1 2 3 4
1984 { 0.111, 0.222, 0.444, 0.222, 0.0 }, // 28
1985 { 0.0, 0.333, 0.666, 0.0, 0.0 }, // 21
1986 { 0.0, 0.0, 1.0, 0.0, 0.0 }, // 2
1987 { 0.0, 0.0, 0.666, 0.333, 0.0 }, // 22
1988 { 0.0, 0.0, 0.666, 0.0, 0.333 }, // 11
1989 }
1990};
1991
1992const double PyramidRefinementPattern19Py12T ::_refine_matrix_2[12][4][5] = { /* const */
1993
1994 // Tetraèdres, niveau intermédiaire
1995 {
1996 // 0 1 2 3 4
1997 { 0.333, 0.0, 0.0, 0.0, 0.666 }, // 5
1998 { 0.333, 0.333, 0.0, 0.0, 0.333 }, // 13
1999 { 0.0, 0.333, 0.0, 0.0, 0.666 }, // 6
2000 { 0.1665,0.1665,0.1665,0.1665,0.333 }, // 17
2001 },
2002 {
2003 // 0 1 2 3 4
2004 { 0.0, 0.333, 0.0, 0.0, 0.666 }, // 6
2005 { 0.0, 0.333, 0.333, 0.0, 0.333 }, // 14
2006 { 0.0, 0.0, 0.333, 0.0, 0.666 }, // 7
2007 { 0.1665,0.1665,0.1665,0.1665,0.333 }, // 17
2008 },
2009 {
2010 // 0 1 2 3 4
2011 { 0.0, 0.0, 0.333, 0.0, 0.666 }, // 7
2012 { 0.0, 0.0, 0.333, 0.333, 0.333 }, // 15
2013 { 0.0, 0.0, 0.0, 0.333, 0.666 }, // 8
2014 { 0.1665,0.1665,0.1665,0.1665,0.333 }, // 17
2015 },
2016 {
2017 // 0 1 2 3 4
2018 { 0.0, 0.0, 0.0, 0.333, 0.666 }, // 8
2019 { 0.333, 0.0, 0.0, 0.333, 0.333 }, // 16
2020 { 0.333, 0.0, 0.0, 0.0, 0.666 }, // 5
2021 { 0.1665,0.1665,0.1665,0.1665,0.333 }, // 17
2022 },
2023 // Tetraèdres, premier niveau
2024 {
2025 // 0 1 2 3 4
2026 { 0.666, 0.0, 0.0, 0.0, 0.333 }, // 9
2027 { 0.666, 0.333, 0.0, 0.0, 0.0 }, // 18
2028 { 0.333, 0.333, 0.0, 0.0, 0.333 }, // 13
2029 { 0.444, 0.222, 0.111, 0.222, 0.0 }, // 26
2030 },
2031 {
2032 // 0 1 2 3 4
2033 { 0.333, 0.333, 0.0, 0.0, 0.333 }, // 13
2034 { 0.333, 0.666, 0.0, 0.0, 0.0 }, // 19
2035 { 0.0, 0.666, 0.0, 0.0, 0.333 }, // 10
2036 { 0.222, 0.444, 0.222, 0.111, 0.0 }, // 27
2037 },
2038 {
2039 // 0 1 2 3 4
2040 { 0.0, 0.666, 0.0, 0.0, 0.333 }, // 10
2041 { 0.0, 0.666, 0.333, 0.0, 0.0 }, // 20
2042 { 0.0, 0.333, 0.333, 0.0, 0.333 }, // 14
2043 { 0.222, 0.444, 0.222, 0.111, 0.0 }, //
2044 },
2045 {
2046 // 0 1 2 3 4
2047 { 0.0, 0.333, 0.333, 0.0, 0.333 }, // 14
2048 { 0.0, 0.333, 0.666, 0.0, 0.0 }, // 21
2049 { 0.0, 0.0, 0.666, 0.0, 0.333 }, // 11
2050 { 0.111, 0.222, 0.444, 0.222, 0.0 }, // 28
2051 },
2052 {
2053 // 0 1 2 3 4
2054 { 0.0, 0.0, 0.666, 0.0, 0.333 }, // 11
2055 { 0.0, 0.0, 0.666, 0.333, 0.0 }, // 22
2056 { 0.0, 0.0, 0.333, 0.333, 0.333 }, // 15
2057 { 0.111, 0.222, 0.444, 0.222, 0.0 }, //
2058 },
2059 {
2060 // 0 1 2 3 4
2061 { 0.0, 0.0, 0.333, 0.333, 0.333 }, // 15
2062 { 0.0, 0.0, 0.333, 0.666, 0.0 }, // 23
2063 { 0.0, 0.0, 0.0, 0.666, 0.333 }, // 12
2064 { 0.222, 0.111, 0.222, 0.444, 0.0 }, // 29
2065 },
2066 {
2067 // 0 1 2 3 4
2068 { 0.0, 0.0, 0.0, 0.666, 0.333 }, // 12
2069 { 0.333, 0.0, 0.0, 0.666, 0.0 }, // 25
2070 { 0.333, 0.0, 0.0, 0.333, 0.333 }, // 16
2071 { 0.222, 0.111, 0.111, 0.444, 0.0 }, //
2072 },
2073 {
2074 // 0 1 2 3 4
2075 { 0.333, 0.0, 0.0, 0.333, 0.333 }, // 16
2076 { 0.666, 0.0, 0.0, 0.333, 0.0 }, // 24
2077 { 0.666, 0.0, 0.0, 0.0, 0.333 }, // 9
2078 { 0.444, 0.222, 0.111, 0.222, 0.0 }, // 26
2079 }
2080};
2081
2082
2083/*---------------------------------------------------------------------------*/
2084/*---------------------------------------------------------------------------*/
2085
2086const double HemiHex5RefinementPattern2Hex_4Penta_2HHex5 ::_refine_matrix_1[2][8][5] = {
2087 {
2088 // 0 1 2 3 4
2089 { 0.0, 1.0, 0.0, 0.0, 0.0 }, // 1
2090 { 0.0, 0.5, 0.0, 0.5, 0.0 }, // 5
2091 { 0.25, 0.25, 0.0, 0.25, 0.25 }, // 13
2092 { 0.5, 0.5, 0.0, 0.0, 0.0 }, // 11
2093 { 0.0, 0.5, 0.5, 0.0, 0.0 }, // 6
2094 { 0.0, 0.25, 0.25, 0.5, 0.0 }, // 17
2095 { 0.25, 0.125, 0.125, 0.25, 0.25 }, // 18
2096 { 0.5, 0.25, 0.25, 0.0, 0.0 }, // 15
2097 },
2098 {
2099 // 0 1 2 3 4
2100 { 0.0, 0.5, 0.5, 0.0, 0.0 }, // 6
2101 { 0.0, 0.25, 0.25, 0.5, 0.0 }, // 17
2102 { 0.25, 0.125, 0.125, 0.25, 0.25 }, // 18
2103 { 0.5, 0.25, 0.25, 0.0, 0.0 }, // 15
2104 { 0.0, 0.0, 1.0, 0.0, 0.0 }, // 2
2105 { 0.0, 0.0, 0.5, 0.5, 0.0 }, // 10
2106 { 0.25, 0.0, 0.25, 0.25, 0.25 }, // 14
2107 { 0.5, 0.0, 0.5, 0.0, 0.0 }, // 12
2108 },
2109};
2110const Integer HemiHex5RefinementPattern2Hex_4Penta_2HHex5 ::_face_mapping_1[2][6] = {
2111 // 0 1 2 3 4 5
2112 {2, 0, 3, 1, 0, 3},
2113 {2, 0, 3, 1, 0, 3},
2114};
2115const Integer HemiHex5RefinementPattern2Hex_4Penta_2HHex5 ::_face_mapping_topo_1[2][6] = {
2116 // 0 1 2 3 4 5
2117 {1, 1, 1, 0, 0, 0},
2118 {0, 1, 1, 1, 0, 0},
2119};
2120//
2121const double HemiHex5RefinementPattern2Hex_4Penta_2HHex5 ::_refine_matrix_2[4][6][5] = {
2122 {
2123 // 0 1 2 3 4
2124 { 0.0, 0.0, 0.0, 0.5, 0.5 }, // 9
2125 { 0.25, 0.125, 0.125, 0.25, 0.25 }, // 18
2126 { 0.25, 0.25, 0.0, 0.25, 0.25 }, // 13
2127 { 0.0, 0.0, 0.0, 1.0, 0.0 }, // 3
2128 { 0.0, 0.25, 0.25, 0.5, 0.0 }, // 17
2129 { 0.0, 0.5, 0.0, 0.5, 0.0 }, // 5
2130 },
2131 {
2132 // 0 1 2 3 4
2133 { 0.0, 0.0, 0.0, 0.5, 0.5 }, // 9
2134 { 0.25, 0.0, 0.25, 0.25, 0.25 }, // 14
2135 { 0.25, 0.125, 0.125, 0.25, 0.25 }, // 18
2136 { 0.0, 0.0, 0.0, 1.0, 0.0 }, // 3
2137 { 0.0, 0.0, 0.5, 0.5, 0.0 }, // 10
2138 { 0.0, 0.25, 0.25, 0.5, 0.0 }, // 17
2139 },
2140 {
2141 // 0 1 2 3 4
2142 { 1.0, 0.0, 0.0, 0.0, 0.0 }, // 0
2143 { 0.5, 0.25, 0.25, 0.0, 0.0 }, // 15
2144 { 0.5, 0.5, 0.0, 0.0, 0.0 }, // 11
2145 { 0.5, 0.0, 0.0, 0.0, 0.5 }, // 8
2146 { 0.25, 0.125, 0.125, 0.25, 0.25 }, // 18
2147 { 0.25, 0.25, 0.0, 0.25, 0.25 }, // 13
2148 },
2149 {
2150 // 0 1 2 3 4
2151 { 1.0, 0.0, 0.0, 0.0, 0.0 }, // 0
2152 { 0.5, 0.0, 0.5, 0.0, 0.0 }, // 12
2153 { 0.5, 0.25, 0.25, 0.0, 0.0 }, // 15
2154 { 0.5, 0.0, 0.0, 0.0, 0.5 }, // 8
2155 { 0.25, 0.0, 0.25, 0.25, 0.25 }, // 14
2156 { 0.25, 0.125, 0.125, 0.25, 0.25 }, // 18
2157 },
2158};
2159const Integer HemiHex5RefinementPattern2Hex_4Penta_2HHex5 ::_face_mapping_2[4][5] = {
2160 // 0 1 2 3 4
2161 {3, 2, 1, 3, 0},
2162 {3, 2, 1, 3, 0},
2163 {0, 2, 1, 0, 3},
2164 {0, 2, 1, 0, 3},
2165};
2166const Integer HemiHex5RefinementPattern2Hex_4Penta_2HHex5 ::_face_mapping_topo_2[4][5] = {
2167 // 0 1 2 3 4
2168 {0, 1, 0, 1, 0},
2169 {0, 0, 1, 1, 0},
2170 {1, 1, 0, 0, 0},
2171 {1, 0, 1, 0, 0},
2172};
2173//
2174const double HemiHex5RefinementPattern2Hex_4Penta_2HHex5 ::_refine_matrix_3[2][5][5] = {
2175 {
2176 // 0 1 2 3 4
2177 { 0.5, 0.0, 0.0, 0.0, 0.5 }, // 8
2178 { 0.25, 0.25, 0.0, 0.25, 0.25 }, // 13
2179 { 0.25, 0.125, 0.125, 0.25, 0.25 }, // 18
2180 { 0.0, 0.0, 0.0, 0.5, 0.5 }, // 9
2181 { 0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
2182 },
2183 {
2184 // 0 1 2 3 4
2185 { 0.5, 0.0, 0.0, 0.0, 0.5 }, // 8
2186 { 0.25, 0.125, 0.125, 0.25, 0.25 }, // 18
2187 { 0.25, 0.0, 0.25, 0.25, 0.25 }, // 14
2188 { 0.0, 0.0, 0.0, 0.5, 0.5 }, // 9
2189 { 0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
2190 }
2191};
2192const Integer HemiHex5RefinementPattern2Hex_4Penta_2HHex5 ::_face_mapping_3[2][4] = {
2193 // 0 1 2 3
2194 {0, 1, 2, 3},
2195 {0, 1, 2, 3},
2196};
2197const Integer HemiHex5RefinementPattern2Hex_4Penta_2HHex5 ::_face_mapping_topo_3[2][4] = {
2198 // 0 1 2 3
2199 {0, 0, 1, 0},
2200 {0, 1, 0, 0},
2201};
2202
2203/*---------------------------------------------------------------------------*/
2204/*---------------------------------------------------------------------------*/
2205const double HemiHex5RefinementPattern3HHex5_2Pr_1HHex7 ::_refine_matrix_1[3][5][5] = {
2206 {
2207 // 0 1 2 3 4
2208 {0.5, 0.0, 0.0, 0.0, 0.5 }, // 9
2209 {0.25, 0.25, 0.0, 0.25, 0.25 }, // 12
2210 {0.25, 0.0, 0.25, 0.25, 0.25 }, // 13
2211 {0.0, 0.0, 0.0, 0.5, 0.5 }, // 8
2212 {0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
2213 },
2214 {
2215 // 0 1 2 3 4
2216 {0.5, 0.0, 0.5, 0.0, 0.0 }, // 10
2217 {0.0, 0.5, 0.5, 0.0, 0.0 }, // 6
2218 {0.0, 0.0, 1.0, 0.0, 0.0 }, // 2
2219 {0.0, 0.0, 0.5, 0.5, 0.0 }, // 7
2220 {0.25, 0.0, 0.25, 0.25, 0.25 }, // 13
2221 },
2222 {
2223 // 0 1 2 3 4
2224 {0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
2225 {0.0, 1.0, 0.0, 0.0, 0.0 }, // 1
2226 {0.0, 0.5, 0.5, 0.0, 0.0 }, // 6
2227 {0.0, 0.5, 0.0, 0.5, 0.0 }, // 11
2228 {0.25, 0.25, 0.0, 0.25, 0.25 }, // 12
2229 }
2230};
2231
2232//
2233const double HemiHex5RefinementPattern3HHex5_2Pr_1HHex7 ::_refine_matrix_2[2][6][5] = { /* const */
2234 {
2235 // 0 1 2 3 4
2236 {1.0, 0.0, 0.0, 0.0, 0.0 }, // 0
2237 {0.5, 0.0, 0.5, 0.0, 0.0 }, // 10
2238 {0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
2239 {0.5, 0.0, 0.0, 0.0, 0.5 }, // 9
2240 {0.25, 0.0, 0.25, 0.25, 0.25 }, // 13
2241 {0.25, 0.25, 0.0, 0.25, 0.25 }, // 12
2242 },
2243 {
2244 // 0 1 2 3 4
2245 {0.0, 0.0, 0.0, 0.5, 0.5 }, // 8
2246 {0.25, 0.0, 0.25, 0.25, 0.25 }, // 13
2247 {0.25, 0.25, 0.0, 0.25, 0.25 }, // 12
2248 {0.0, 0.0, 0.0, 1.0, 0.0 }, // 3
2249 {0.0, 0.0, 0.5, 0.5, 0.0 }, // 7
2250 {0.0, 0.5, 0.0, 0.5, 0.0 }, // 11
2251 }
2252};
2253
2254//
2255const double HemiHex5RefinementPattern3HHex5_2Pr_1HHex7 ::_refine_matrix_3[1][7][5] = { /* const */
2256 {
2257 // 0 1 2 3 4
2258 {0.0, 0.5, 0.5, 0.0, 0.0 }, // 6
2259 {0.0, 0.5, 0.0, 0.5, 0.0 }, // 11
2260 {0.0, 0.0, 0.5, 0.5, 0.0 }, // 7
2261 {0.25, 0.0, 0.25, 0.25, 0.25 }, // 13
2262 {0.5, 0.0, 0.5, 0.0, 0.0 }, // 10
2263 {0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
2264 {0.25, 0.25, 0.0, 0.25, 0.25 }, // 12
2265 }
2266};
2267
2268/*---------------------------------------------------------------------------*/
2269/*---------------------------------------------------------------------------*/
2270
2271const double HemiHex5RefinementPattern7HHex5_4Pr_3HHex6_2HHex7_1Hex ::_refine_matrix_1[7][5][5] = {
2272 {
2273 // 0 1 2 3 4
2274 {0.666, 0.333, 0.0, 0.0, 0.0 }, // 5
2275 {0.333, 0.666, 0.0, 0.0, 0.0 }, // 6
2276 {0.333, 0.333, 0.333, 0.0, 0.0 }, // 27
2277 {0.222, 0.444, 0.0, 0.222, 0.111 }, // 20
2278 {0.444, 0.222, 0.0, 0.111, 0.222}, // 19
2279 },
2280 {
2281 // 0 1 2 3 4
2282 {0.666, 0.0, 0.333, 0.0, 0.0 }, // 17
2283 {0.333, 0.333, 0.333, 0.0, 0.0 }, // 27
2284 {0.333, 0.0, 0.666, 0.0, 0.0 }, // 18
2285 {0.222, 0.0, 0.444, 0.222, 0.111 }, // 24
2286 {0.444, 0.0, 0.222, 0.111, 0.222}, // 23
2287 },
2288 {
2289 // 0 1 2 3 4
2290 {0.222, 0.444, 0.0, 0.222, 0.111 }, // 20
2291 {0.0, 0.666, 0.0, 0.333, 0.0 }, // 11
2292 {0.0, 0.333, 0.333, 0.333, 0.0}, // 28
2293 {0.0, 0.333, 0.0, 0.666, 0.0 }, // 12
2294 {0.111, 0.222, 0.0, 0.444, 0.222}, // 22
2295 },
2296 {
2297 // 0 1 2 3 4
2298 {0.222, 0.0, 0.444, 0.222, 0.111 }, // 24
2299 {0.0, 0.333, 0.333, 0.333, 0.0}, // 28
2300 {0.0, 0.0, 0.666, 0.333, 0.0 }, // 13
2301 {0.0, 0.0, 0.333, 0.666, 0.0 }, // 14
2302 {0.111, 0.0, 0.222, 0.444, 0.222}, // 26
2303 },
2304 {
2305 // 0 1 2 3 4
2306 {0.333, 0.0, 0.0, 0.0, 0.666 }, // 8
2307 {0.222, 0.111, 0.0, 0.222, 0.444}, // 21
2308 {0.222, 0.0, 0.111, 0.222, 0.444}, // 25
2309 {0.0, 0.0, 0.0, 0.333, 0.666 }, // 16
2310 {0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
2311 },
2312 {
2313 // 0 1 2 3 4
2314 {0.333, 0.0, 0.666, 0.0, 0.0 }, // 18
2315 {0.0, 0.333, 0.666, 0.0, 0.0 }, // 10
2316 {0.0, 0.0, 1.0, 0.0, 0.0 }, // 2
2317 {0.0, 0.0, 0.666, 0.333, 0.0 }, // 13
2318 {0.222, 0.0, 0.444, 0.222, 0.111 }, // 24
2319 },
2320 {
2321 // 0 1 2 3 4
2322 {0.333, 0.666, 0.0, 0.0, 0.0 }, // 6
2323 {0.0, 1.0, 0.0, 0.0, 0.0 }, // 1
2324 {0.0, 0.666, 0.333, 0.0, 0.0 }, // 9
2325 {0.0, 0.666, 0.0, 0.333, 0.0 }, // 11
2326 {0.222, 0.444, 0.0, 0.222, 0.111 }, // 20
2327 }
2328};
2329
2330//
2331const double HemiHex5RefinementPattern7HHex5_4Pr_3HHex6_2HHex7_1Hex ::_refine_matrix_2[4][6][5] = { /* const */
2332 {
2333 // 0 1 2 3 4
2334 {1.0, 0.0, 0.0, 0.0, 0.0 }, // 0
2335 {0.666, 0.0, 0.333, 0.0, 0.0 }, // 17
2336 {0.666, 0.333, 0.0, 0.0, 0.0 }, // 5
2337 {0.666, 0.0, 0.0, 0.0, 0.333 }, // 7
2338 {0.444, 0.0, 0.222, 0.111, 0.222}, // 23
2339 {0.444, 0.222, 0.0, 0.111, 0.222}, // 19
2340 },
2341 {
2342 // 0 1 2 3 4
2343 {0.0, 0.0, 0.0, 0.666, 0.333 }, // 15
2344 {0.111, 0.0, 0.222, 0.444, 0.222}, // 26
2345 {0.111, 0.222, 0.0, 0.444, 0.222}, // 22
2346 {0.0, 0.0, 0.0, 1.0, 0.0 }, // 3
2347 {0.0, 0.0, 0.333, 0.666, 0.0 }, // 14
2348 {0.0, 0.333, 0.0, 0.666, 0.0 }, // 12
2349 },
2350 {
2351 // 0 1 2 3 4
2352 {0.666, 0.0, 0.0, 0.0, 0.333 }, // 7
2353 {0.444, 0.0, 0.222, 0.111, 0.222}, // 23
2354 {0.444, 0.222, 0.0, 0.111, 0.222}, // 19
2355 {0.333, 0.0, 0.0, 0.0, 0.666 }, // 8
2356 {0.222, 0.0, 0.111, 0.222, 0.444}, // 25
2357 {0.222, 0.111, 0.0, 0.222, 0.444}, // 21
2358 },
2359 {
2360 // 0 1 2 3 4
2361 {0.0, 0.0, 0.0, 0.333, 0.666 }, // 16
2362 {0.222, 0.0, 0.111, 0.222, 0.444}, // 25
2363 {0.222, 0.111, 0.0, 0.222, 0.444}, // 21
2364 {0.0, 0.0, 0.0, 0.666, 0.333 }, // 15
2365 {0.111, 0.0, 0.222, 0.444, 0.222}, // 26
2366 {0.111, 0.222, 0.0, 0.444, 0.222}, // 22
2367 }
2368};
2369
2370//
2371const double HemiHex5RefinementPattern7HHex5_4Pr_3HHex6_2HHex7_1Hex ::_refine_matrix_3[3][6][5] = { /* const */
2372 {
2373 // 0 1 2 3 4
2374 {0.0, 0.333, 0.666, 0.0, 0.0 }, // 10
2375 {0.0, 0.333, 0.333, 0.333, 0.0}, // 28
2376 {0.0, 0.0, 0.666, 0.333, 0.0 }, // 13
2377 {0.222, 0.0, 0.444, 0.222, 0.111 }, // 24
2378 {0.333, 0.0, 0.666, 0.0, 0.0 }, // 18
2379 {0.333, 0.333, 0.333, 0.0, 0.0 }, // 27
2380 },
2381 {
2382 // 0 1 2 3 4
2383 {0.333, 0.333, 0.333, 0.0, 0.0 }, // 27
2384 {0.0, 0.666, 0.333, 0.0, 0.0 }, // 9
2385 {0.0, 0.333, 0.666, 0.0, 0.0 }, // 10
2386 {0.0, 0.333, 0.333, 0.333, 0.0}, // 28
2387 {0.222, 0.0, 0.444, 0.222, 0.111 }, // 24
2388 {0.222, 0.444, 0.0, 0.222, 0.111 }, // 20
2389 },
2390 {
2391 // 0 1 2 3 4
2392 {0.0, 0.666, 0.333, 0.0, 0.0 }, // 9
2393 {0.0, 0.666, 0.0, 0.333, 0.0 }, // 11
2394 {0.0, 0.333, 0.333, 0.333, 0.0}, // 28
2395 {0.222, 0.444, 0.0, 0.222, 0.111 }, // 20
2396 {0.333, 0.333, 0.333, 0.0, 0.0 }, // 27
2397 {0.333, 0.666, 0.0, 0.0, 0.0 }, // 6
2398
2399 }
2400};
2401
2402//
2403const double HemiHex5RefinementPattern7HHex5_4Pr_3HHex6_2HHex7_1Hex ::_refine_matrix_4[2][7][5] = { /* const */
2404 {
2405 // 0 1 2 3 4
2406 {0.0, 0.333, 0.333, 0.333, 0.0}, // 28
2407 {0.222, 0.0, 0.444, 0.222, 0.111 }, // 24
2408 {0.222, 0.444, 0.0, 0.222, 0.111 }, // 20
2409 {0.111, 0.222, 0.0, 0.444, 0.222}, // 22
2410 {0.0, 0.333, 0.0, 0.666, 0.0 }, // 12
2411 {0.0, 0.0, 0.333, 0.666, 0.0 }, // 14
2412 {0.111, 0.0, 0.222, 0.444, 0.222}, // 26
2413 },
2414 {
2415 // 0 1 2 3 4
2416 {0.333, 0.333, 0.333, 0.0, 0.0 }, // 27
2417 {0.666, 0.0, 0.333, 0.0, 0.0 }, // 17
2418 {0.666, 0.333, 0.0, 0.0, 0.0 }, // 5
2419 {0.444, 0.222, 0.0, 0.111, 0.222}, // 19
2420 {0.222, 0.444, 0.0, 0.222, 0.111 }, // 20
2421 {0.222, 0.0, 0.444, 0.222, 0.111 }, // 24
2422 {0.444, 0.0, 0.222, 0.111, 0.222}, // 23
2423 }
2424};
2425
2426//
2427const double HemiHex5RefinementPattern7HHex5_4Pr_3HHex6_2HHex7_1Hex ::_refine_matrix_5[1][8][5] = { /* const */
2428 {
2429 // 0 1 2 3 4
2430 {0.222, 0.111, 0.0, 0.222, 0.444}, // 21
2431 {0.444, 0.222, 0.0, 0.111, 0.222}, // 19
2432 {0.222, 0.444, 0.0, 0.222, 0.111 }, // 20
2433 {0.111, 0.222, 0.0, 0.444, 0.222}, // 22
2434 {0.222, 0.0, 0.111, 0.222, 0.444}, // 25
2435 {0.444, 0.0, 0.222, 0.111, 0.222}, // 23
2436 {0.222, 0.0, 0.444, 0.222, 0.111 }, // 24
2437 {0.111, 0.0, 0.222, 0.444, 0.222}, // 26
2438 }
2439};
2440
2441/*---------------------------------------------------------------------------*/
2442/*---------------------------------------------------------------------------*/
2443
2444const double HemiHex6RefinementPattern4Hex_4HHex7 ::_refine_matrix_1[4][8][6] = {
2445 {
2446 //0 1 2 3 4 5
2447 {0.0, 1.0, 0.0, 0.0, 0.0, 0.0 }, // 1
2448 {0.0, 0.5, 0.0, 0.5, 0.0, 0.0 }, // 12
2449 {0.25, 0.25, 0.0, 0.25, 0.0, 0.25 }, // 16
2450 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 6
2451 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 7
2452 {0.0, 0.25, 0.25, 0.5, 0.0, 0.0 }, // 18
2453 {0.25, 0.125, 0.125, 0.25, 0.125, 0.125 }, // 22
2454 {0.5, 0.25, 0.25, 0.0, 0.0, 0.0 }, // 17
2455 },
2456 {
2457 //0 1 2 3 4 5
2458 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 7
2459 {0.0, 0.25, 0.25, 0.5, 0.0, 0.0 }, // 18
2460 {0.25, 0.125, 0.125, 0.25, 0.125, 0.125 }, // 22
2461 {0.5, 0.25, 0.25, 0.0, 0.0, 0.0 }, // 17
2462 {0.0, 0.0, 1.0, 0.0, 0.0, 0.0 }, // 2
2463 {0.0, 0.0, 0.5, 0.5, 0.0, 0.0 }, // 8
2464 {0.25, 0.0, 0.25, 0.25, 0.25, 0.0 }, // 21
2465 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0 }, // 14
2466 },
2467 {
2468 //0 1 2 3 4 5
2469 {0.0, 0.0, 0.0, 0.0, 0.0, 1.0 }, // 5
2470 {0.5, 0.0, 0.0, 0.0, 0.0, 0.5 }, // 11
2471 {0.25, 0.25, 0.0, 0.25, 0.0, 0.25 }, // 16
2472 {0.0, 0.0, 0.0, 0.5, 0.0, 0.5 }, // 13
2473 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 10
2474 {0.5, 0.0, 0.0, 0.0, 0.25, 0.25 }, // 20
2475 {0.25, 0.125, 0.125, 0.25, 0.125, 0.125 }, // 22
2476 {0.0, 0.0, 0.0, 0.5, 0.25, 0.25 }, // 19
2477 },
2478 {
2479 //0 1 2 3 4 5
2480 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 10
2481 {0.5, 0.0, 0.0, 0.0, 0.25, 0.25 }, // 20
2482 {0.25, 0.125, 0.125, 0.25, 0.125, 0.125 }, // 22
2483 {0.0, 0.0, 0.0, 0.5, 0.25, 0.25 }, // 19
2484 {0.0, 0.0, 0.0, 0.0, 1.0, 0.0 }, // 4
2485 {0.5, 0.0, 0.0, 0.0, 0.5, 0.0 }, // 15
2486 {0.25, 0.0, 0.25, 0.25, 0.25, 0.0 }, // 21
2487 {0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 9
2488 },
2489};
2490const Integer HemiHex6RefinementPattern4Hex_4HHex7 ::_face_mapping_1[4][6] = {
2491 // 0 1 2 3 4 5
2492 {2, 0, 4, 1, 5, 3},
2493 {2, 0, 4, 1, 5, 3},
2494 {2, 5, 3, 1, 0, 4},
2495 {2, 5, 3, 1, 0, 4},
2496};
2497const Integer HemiHex6RefinementPattern4Hex_4HHex7 ::_face_mapping_topo_1[4][6] = {
2498 // 0 1 2 3 4 5
2499 {1, 1, 1, 0, 0, 0},
2500 {0, 1, 1, 1, 0, 0},
2501 {1, 1, 1, 0, 0, 0},
2502 {0, 1, 1, 1, 0, 0},
2503};
2504//
2505const double HemiHex6RefinementPattern4Hex_4HHex7 ::_refine_matrix_2[4][7][6] = {
2506 {
2507 //0 1 2 3 4 5
2508 {1.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 0
2509 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 6
2510 {0.5, 0.25, 0.25, 0.0, 0.0, 0.0 }, // 17
2511 {0.25, 0.125, 0.125, 0.25, 0.125, 0.125 }, // 22
2512 {0.5, 0.0, 0.0, 0.0, 0.25, 0.25 }, // 20
2513 {0.5, 0.0, 0.0, 0.0, 0.0, 0.5 }, // 11
2514 {0.25, 0.25, 0.0, 0.25, 0.0, 0.25 }, // 16
2515 },
2516 {
2517 //0 1 2 3 4 5
2518 {1.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 0
2519 {0.5, 0.25, 0.25, 0.0, 0.0, 0.0 }, // 17
2520 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0 }, // 14
2521 {0.25, 0.0, 0.25, 0.25, 0.25, 0.0 }, // 21
2522 {0.5, 0.0, 0.0, 0.0, 0.5, 0.0 }, // 15
2523 {0.5, 0.0, 0.0, 0.0, 0.25, 0.25 }, // 20
2524 {0.25, 0.125, 0.125, 0.25, 0.125, 0.125 }, // 22
2525 },
2526 {
2527 //0 1 2 3 4 5
2528 {0.0, 0.0, 0.0, 1.0, 0.0, 0.0 }, // 3
2529 {0.0, 0.0, 0.0, 0.5, 0.0, 0.5 }, // 13
2530 {0.0, 0.0, 0.0, 0.5, 0.25, 0.25 }, // 19
2531 {0.25, 0.125, 0.125, 0.25, 0.125, 0.125 }, // 22
2532 {0.0, 0.25, 0.25, 0.5, 0.0, 0.0 }, // 18
2533 {0.0, 0.5, 0.0, 0.5, 0.0, 0.0 }, // 12
2534 {0.25, 0.25, 0.0, 0.25, 0.0, 0.25 }, // 16
2535 },
2536 {
2537 //0 1 2 3 4 5
2538 {0.0, 0.0, 0.0, 1.0, 0.0, 0.0 }, // 3
2539 {0.0, 0.0, 0.0, 0.5, 0.25, 0.25 }, // 19
2540 {0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 9
2541 {0.25, 0.0, 0.25, 0.25, 0.25, 0.0 }, // 21
2542 {0.0, 0.0, 0.5, 0.5, 0.0, 0.0 }, // 8
2543 {0.0, 0.25, 0.25, 0.5, 0.0, 0.0 }, // 18
2544 {0.25, 0.125, 0.125, 0.25, 0.125, 0.125 }, // 22
2545 },
2546};
2547const Integer HemiHex6RefinementPattern4Hex_4HHex7 ::_face_mapping_2[4][6] = {
2548 // 0 1 2 3 4 5
2549 {0, 1, 2, 3, 4, 5},
2550 {0, 1, 2, 3, 4, 5},
2551 {5, 1, 2, 4, 3, 0},
2552 {5, 1, 2, 4, 3, 0},
2553};
2554const Integer HemiHex6RefinementPattern4Hex_4HHex7 ::_face_mapping_topo_2[4][6] = {
2555 // 0 1 2 3 4 5
2556 {1, 0, 1, 1, 0, 0},
2557 {1, 1, 0, 1, 0, 0},
2558 {1, 0, 1, 1, 0, 0},
2559 {1, 1, 0, 1, 0, 0},
2560};
2561
2562/*---------------------------------------------------------------------------*/
2563/*---------------------------------------------------------------------------*/
2564
2565const double HemiHex6RefinementPattern4HHex5_4HHex7 ::_refine_matrix_1[4][5][6] = {
2566 {
2567 // 0 1 2 3 4 5
2568 {0.0, 0.0, 0.0, 0.5, 0.0, 0.5 }, // 14
2569 {0.0, 0.0, 0.0, 0.0, 0.0, 1.0 }, // 5
2570 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 15
2571 {0.5, 0.0, 0.0, 0.0, 0.0, 0.5 }, // 12
2572 {0.25, 0.25, 0.0, 0.25, 0.0, 0.25}, // 16
2573 },
2574 {
2575 // 0 1 2 3 4 5
2576 {0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 9
2577 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 15
2578 {0.0, 0.0, 0.0, 0.0, 1.0, 0.0 }, // 4
2579 {0.5, 0.0, 0.0, 0.0, 0.5, 0.0 }, // 11
2580 {0.25, 0.0, 0.25, 0.25, 0.25, 0.0}, // 17
2581 },
2582 {
2583 // 0 1 2 3 4 5
2584 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0 }, // 10
2585 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 7
2586 {0.0, 0.0, 1.0, 0.0, 0.0, 0.0 }, // 2
2587 {0.0, 0.0, 0.5, 0.5, 0.0, 0.0 }, // 8
2588 {0.25, 0.0, 0.25, 0.25, 0.25, 0.0}, // 17
2589 },
2590 {
2591 // 0 1 2 3 4 5
2592 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 6
2593 {0.0, 1.0, 0.0, 0.0, 0.0, 0.0 }, // 1
2594 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 7
2595 {0.0, 0.5, 0.0, 0.5, 0.0, 0.0 }, // 13
2596 {0.25, 0.25, 0.0, 0.25, 0.0, 0.25}, // 16
2597 }
2598};
2599
2600//
2601const double HemiHex6RefinementPattern4HHex5_4HHex7 ::_refine_matrix_2[4][7][6] = { /* const */
2602 {
2603 // 0 1 2 3 4 5
2604 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 15
2605 {0.5, 0.0, 0.0, 0.0, 0.0, 0.5 }, // 12
2606 {0.5, 0.0, 0.0, 0.0, 0.5, 0.0 }, // 11
2607 {0.25, 0.0, 0.25, 0.25, 0.25, 0.0}, // 17
2608 {0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 9
2609 {0.0, 0.0, 0.0, 0.5, 0.0, 0.5 }, // 14
2610 {0.25, 0.25, 0.0, 0.25, 0.0, 0.25}, // 16
2611 },
2612 {
2613 // 0 1 2 3 4 5
2614 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 7
2615 {0.0, 0.5, 0.0, 0.5, 0.0, 0.0 }, // 13
2616 {0.0, 0.0, 0.5, 0.5, 0.0, 0.0 }, // 8
2617 {0.25, 0.0, 0.25, 0.25, 0.25, 0.0}, // 17
2618 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0 }, // 10
2619 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 6
2620 {0.25, 0.25, 0.0, 0.25, 0.0, 0.25}, // 16
2621 },
2622 {
2623 // 0 1 2 3 4 5
2624 {1.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 0
2625 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 6
2626 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0 }, // 10
2627 {0.25, 0.0, 0.25, 0.25, 0.25, 0.0}, // 17
2628 {0.5, 0.0, 0.0, 0.0, 0.5, 0.0 }, // 11
2629 {0.5, 0.0, 0.0, 0.0, 0.0, 0.5 }, // 12
2630 {0.25, 0.25, 0.0, 0.25, 0.0, 0.25}, // 16
2631 },
2632 {
2633 // 0 1 2 3 4 5
2634 {0.0, 0.0, 0.0, 1.0, 0.0, 0.0 }, // 3
2635 {0.0, 0.0, 0.0, 0.5, 0.0, 0.5 }, // 14
2636 {0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 9
2637 {0.25, 0.0, 0.25, 0.25, 0.25, 0.0}, // 17
2638 {0.0, 0.0, 0.5, 0.5, 0.0, 0.0 }, // 8
2639 {0.0, 0.5, 0.0, 0.5, 0.0, 0.0 }, // 13
2640 {0.25, 0.25, 0.0, 0.25, 0.0, 0.25}, // 16
2641 }
2642};
2643
2644/*---------------------------------------------------------------------------*/
2645/*---------------------------------------------------------------------------*/
2646
2647const double HemiHex6RefinementPattern6HHex6_12HHex5_6HHex7_1Hex ::_refine_matrix_1[6][6][6] = {
2648 {
2649 // 0 1 2 3 4 5
2650 {0.0, 0.333, 0.666, 0.0, 0.0, 0.0 }, // 15
2651 {0.0, 0.333, 0.333, 0.333, 0.0, 0.0 }, // 35
2652 {0.0, 0.0, 0.666, 0.333, 0.0, 0.0 }, // 18
2653 {0.222, 0.0, 0.444, 0.222, 0.111, 0.0 }, // 31
2654 {0.333, 0.0, 0.666, 0.0, 0.0, 0.0 }, // 9
2655 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 34
2656 },
2657 {
2658 // 0 1 2 3 4 5
2659 {0.0, 0.666, 0.333, 0.0, 0.0, 0.0 }, // 14
2660 {0.0, 0.666, 0.0, 0.333, 0.0, 0.0 }, // 16
2661 {0.0, 0.333, 0.333, 0.333, 0.0, 0.0 }, // 35
2662 {0.222, 0.444, 0.0, 0.222, 0.0, 0.111 }, // 27
2663 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 34
2664 {0.333, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 7
2665 },
2666 {
2667 // 0 1 2 3 4 5
2668 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 34
2669 {0.0, 0.666, 0.333, 0.0, 0.0, 0.0 }, // 14
2670 {0.0, 0.333, 0.666, 0.0, 0.0, 0.0 }, // 15
2671 {0.0, 0.333, 0.333, 0.333, 0.0, 0.0 }, // 35
2672 {0.222, 0.0, 0.444, 0.222, 0.111, 0.0 }, // 31
2673 {0.222, 0.444, 0.0, 0.222, 0.0, 0.111 }, // 27
2674 },
2675 {
2676 // 0 1 2 3 4 5
2677 {0.0, 0.0, 0.0, 0.0, 0.666, 0.333 }, // 24
2678 {0.333, 0.0, 0.0, 0.0, 0.333, 0.333 }, // 36
2679 {0.333, 0.0, 0.0, 0.0, 0.666, 0.0 }, // 11
2680 {0.222, 0.0, 0.111, 0.222, 0.444, 0.0 }, // 32
2681 {0.0, 0.0, 0.0, 0.333, 0.666, 0.0 }, // 21
2682 {0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 37
2683 },
2684 {
2685 // 0 1 2 3 4 5
2686 {0.0, 0.0, 0.0, 0.0, 0.333, 0.666 }, // 25
2687 {0.333, 0.0, 0.0, 0.0, 0.0, 0.666 }, // 13
2688 {0.333, 0.0, 0.0, 0.0, 0.333, 0.333 }, // 36
2689 {0.222, 0.111, 0.0, 0.222, 0.0, 0.444 }, // 28
2690 {0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 37
2691 {0.0, 0.0, 0.0, 0.333, 0.0, 0.666 }, // 23
2692 },
2693 {
2694 // 0 1 2 3 4 5
2695 {0.333, 0.0, 0.0, 0.0, 0.333, 0.333 }, // 36
2696 {0.222, 0.111, 0.0, 0.222, 0.0, 0.444 }, // 28
2697 {0.222, 0.0, 0.111, 0.222, 0.444, 0.0 }, // 32
2698 {0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 37
2699 {0.0, 0.0, 0.0, 0.0, 0.666, 0.333 }, // 24
2700 {0.0, 0.0, 0.0, 0.0, 0.333, 0.666 }, // 25
2701 }
2702};
2703
2704//
2705const double HemiHex6RefinementPattern6HHex6_12HHex5_6HHex7_1Hex ::_refine_matrix_2[12][5][6] = { /* const */
2706 {
2707 // 0 1 2 3 4 5
2708 {0.333, 0.0, 0.666, 0.0, 0.0, 0.0 }, // 9
2709 {0.0, 0.333, 0.666, 0.0, 0.0, 0.0 }, // 15
2710 {0.0, 0.0, 1.0, 0.0, 0.0, 0.0 }, // 2
2711 {0.0, 0.0, 0.666, 0.333, 0.0, 0.0 }, // 18
2712 {0.222, 0.0, 0.444, 0.222, 0.111, 0.0 }, // 31
2713 },
2714 {
2715 // 0 1 2 3 4 5
2716 {0.333, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 7
2717 {0.0, 1.0, 0.0, 0.0, 0.0, 0.0 }, // 1
2718 {0.0, 0.666, 0.333, 0.0, 0.0, 0.0 }, // 14
2719 {0.0, 0.666, 0.0, 0.333, 0.0, 0.0 }, // 16
2720 {0.222, 0.444, 0.0, 0.222, 0.0, 0.111 }, // 27
2721 },
2722 {
2723 // 0 1 2 3 4 5
2724 {0.0, 0.0, 0.0, 0.333, 0.666, 0.0 }, // 21
2725 {0.0, 0.0, 0.0, 0.0, 0.666, 0.333 }, // 24
2726 {0.0, 0.0, 0.0, 0.0, 1.0, 0.0 }, // 4
2727 {0.333, 0.0, 0.0, 0.0, 0.666, 0.0 }, // 11
2728 {0.222, 0.0, 0.111, 0.222, 0.444, 0.0 }, // 32
2729 },
2730 {
2731 // 0 1 2 3 4 5
2732 {0.0, 0.0, 0.0, 0.333, 0.0, 0.666 }, // 23
2733 {0.0, 0.0, 0.0, 0.0, 0.0, 1.0 }, // 5
2734 {0.0, 0.0, 0.0, 0.0, 0.333, 0.666 }, // 25
2735 {0.333, 0.0, 0.0, 0.0, 0.0, 0.666 }, // 13
2736 {0.222, 0.111, 0.0, 0.222, 0.0, 0.444 }, // 28
2737 },
2738 {
2739 // 0 1 2 3 4 5
2740 {0.666, 0.0, 0.333, 0.0, 0.0, 0.0 }, // 8
2741 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 34
2742 {0.333, 0.0, 0.666, 0.0, 0.0, 0.0 }, // 9
2743 {0.222, 0.0, 0.444, 0.222, 0.111, 0.0 }, // 31
2744 {0.444, 0.0, 0.222, 0.111, 0.222, 0.0 }, // 30
2745 },
2746 {
2747 // 0 1 2 3 4 5
2748 {0.666, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 6
2749 {0.333, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 7
2750 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 34
2751 {0.222, 0.444, 0.0, 0.222, 0.0, 0.111 }, // 27
2752 {0.444, 0.222, 0.0, 0.111, 0.0, 0.222 }, // 26
2753 },
2754 {
2755 // 0 1 2 3 4 5
2756 {0.222, 0.0, 0.111, 0.222, 0.444, 0.0 }, // 32
2757 {0.333, 0.0, 0.0, 0.0, 0.333, 0.333 }, // 36
2758 {0.333, 0.0, 0.0, 0.0, 0.666, 0.0 }, // 11
2759 {0.666, 0.0, 0.0, 0.0, 0.333, 0.0 }, // 10
2760 {0.444, 0.0, 0.222, 0.111, 0.222, 0.0 }, // 30
2761 },
2762 {
2763 // 0 1 2 3 4 5
2764 {0.222, 0.111, 0.0, 0.222, 0.0, 0.444 }, // 28
2765 {0.333, 0.0, 0.0, 0.0, 0.0, 0.666 }, // 13
2766 {0.333, 0.0, 0.0, 0.0, 0.333, 0.333 }, // 36
2767 {0.666, 0.0, 0.0, 0.0, 0.0, 0.333 }, // 12
2768 {0.444, 0.222, 0.0, 0.111, 0.0, 0.222 }, // 26
2769 },
2770 {
2771 // 0 1 2 3 4 5
2772 {0.222, 0.0, 0.444, 0.222, 0.111, 0.0 }, // 31
2773 {0.0, 0.333, 0.333, 0.333, 0.0, 0.0 }, // 35
2774 {0.0, 0.0, 0.666, 0.333, 0.0, 0.0 }, // 18
2775 {0.0, 0.0, 0.333, 0.666, 0.0, 0.0 }, // 19
2776 {0.111, 0.0, 0.222, 0.444, 0.222, 0.0 }, // 33
2777 },
2778 {
2779 // 0 1 2 3 4 5
2780 {0.222, 0.444, 0.0, 0.222, 0.0, 0.111 }, // 27
2781 {0.0, 0.666, 0.0, 0.333, 0.0, 0.0 }, // 16
2782 {0.0, 0.333, 0.333, 0.333, 0.0, 0.0 }, // 35
2783 {0.0, 0.333, 0.0, 0.666, 0.0, 0.0 }, // 17
2784 {0.111, 0.222, 0.0, 0.444, 0.0, 0.222 }, // 29
2785 },
2786 {
2787 // 0 1 2 3 4 5
2788 {0.0, 0.0, 0.0, 0.666, 0.333, 0.0 }, // 20
2789 {0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 37
2790 {0.0, 0.0, 0.0, 0.333, 0.666, 0.0 }, // 21
2791 {0.222, 0.0, 0.111, 0.222, 0.444, 0.0 }, // 32
2792 {0.111, 0.0, 0.222, 0.444, 0.222, 0.0 }, // 33
2793 },
2794 {
2795 // 0 1 2 3 4 5
2796 {0.0, 0.0, 0.0, 0.666, 0.0, 0.333 }, // 22
2797 {0.0, 0.0, 0.0, 0.333, 0.0, 0.666 }, // 23
2798 {0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 37
2799 {0.222, 0.111, 0.0, 0.222, 0.0, 0.444 }, // 28
2800 {0.111, 0.222, 0.0, 0.444, 0.0, 0.222 }, // 29
2801
2802 }
2803};
2804const double HemiHex6RefinementPattern6HHex6_12HHex5_6HHex7_1Hex ::_refine_matrix_3[6][7][6] = {
2805 {
2806 // 0 1 2 3 4 5
2807 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 34
2808 {0.222, 0.444, 0.0, 0.222, 0.0, 0.111 }, // 27
2809 {0.222, 0.0, 0.444, 0.222, 0.111, 0.0 }, // 31
2810 {0.444, 0.0, 0.222, 0.111, 0.222, 0.0 }, // 30
2811 {0.666, 0.0, 0.333, 0.0, 0.0, 0.0 }, // 8
2812 {0.666, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 6
2813 {0.444, 0.222, 0.0, 0.111, 0.0, 0.222 }, // 26
2814 },
2815 {
2816 // 0 1 2 3 4 5
2817 {0.333, 0.0, 0.0, 0.0, 0.333, 0.333 }, // 36
2818 {0.666, 0.0, 0.0, 0.0, 0.0, 0.333 }, // 12
2819 {0.666, 0.0, 0.0, 0.0, 0.333, 0.0 }, // 10
2820 {0.444, 0.0, 0.222, 0.111, 0.222, 0.0 }, // 30
2821 {0.222, 0.0, 0.111, 0.222, 0.444, 0.0 }, // 32
2822 {0.222, 0.111, 0.0, 0.222, 0.0, 0.444 }, // 28
2823 {0.444, 0.222, 0.0, 0.111, 0.0, 0.222 }, // 26
2824 },
2825 {
2826 // 0 1 2 3 4 5
2827 {0.0, 0.333, 0.333, 0.333, 0.0, 0.0 }, // 35
2828 {0.0, 0.333, 0.0, 0.666, 0.0, 0.0 }, // 17
2829 {0.0, 0.0, 0.333, 0.666, 0.0, 0.0 }, // 19
2830 {0.111, 0.0, 0.222, 0.444, 0.222, 0.0 }, // 33
2831 {0.222, 0.0, 0.444, 0.222, 0.111, 0.0 }, // 31
2832 {0.222, 0.444, 0.0, 0.222, 0.0, 0.111 }, // 27
2833 {0.111, 0.222, 0.0, 0.444, 0.0, 0.222 }, // 29
2834 },
2835 {
2836 // 0 1 2 3 4 5
2837 {0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 37
2838 {0.222, 0.111, 0.0, 0.222, 0.0, 0.444 }, // 28
2839 {0.222, 0.0, 0.111, 0.222, 0.444, 0.0 }, // 32
2840 {0.111, 0.0, 0.222, 0.444, 0.222, 0.0 }, // 33
2841 {0.0, 0.0, 0.0, 0.666, 0.333, 0.0 }, // 20
2842 {0.0, 0.0, 0.0, 0.666, 0.0, 0.333 }, // 22
2843 {0.111, 0.222, 0.0, 0.444, 0.0, 0.222 }, // 29
2844 },
2845 {
2846 // 0 1 2 3 4 5
2847 {1.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 0
2848 {0.666, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 6
2849 {0.666, 0.0, 0.333, 0.0, 0.0, 0.0 }, // 8
2850 {0.444, 0.0, 0.222, 0.111, 0.222, 0.0 }, // 30
2851 {0.666, 0.0, 0.0, 0.0, 0.333, 0.0 }, // 10
2852 {0.666, 0.0, 0.0, 0.0, 0.0, 0.333 }, // 12
2853 {0.444, 0.222, 0.0, 0.111, 0.0, 0.222 }, // 26
2854 },
2855 {
2856 // 0 1 2 3 4 5
2857 {0.0, 0.0, 0.0, 1.0, 0.0, 0.0 }, // 3
2858 {0.0, 0.0, 0.0, 0.666, 0.0, 0.333 }, // 22
2859 {0.0, 0.0, 0.0, 0.666, 0.333, 0.0 }, // 20
2860 {0.111, 0.0, 0.222, 0.444, 0.222, 0.0 }, // 33
2861 {0.0, 0.0, 0.333, 0.666, 0.0, 0.0 }, // 19
2862 {0.0, 0.333, 0.0, 0.666, 0.0, 0.0 }, // 17
2863 {0.111, 0.222, 0.0, 0.444, 0.0, 0.222 }, // 29
2864 }
2865};
2866
2867//
2868const double HemiHex6RefinementPattern6HHex6_12HHex5_6HHex7_1Hex ::_refine_matrix_4[1][8][6] = { /* const */
2869 {
2870 // 0 1 2 3 4 5
2871 {0.222, 0.111, 0.0, 0.222, 0.0, 0.444 }, // 28
2872 {0.444, 0.222, 0.0, 0.111, 0.0, 0.222 }, // 26
2873 {0.222, 0.444, 0.0, 0.222, 0.0, 0.111 }, // 27
2874 {0.111, 0.222, 0.0, 0.444, 0.0, 0.222 }, // 29
2875 {0.222, 0.0, 0.111, 0.222, 0.444, 0.0 }, // 32
2876 {0.444, 0.0, 0.222, 0.111, 0.222, 0.0 }, // 30
2877 {0.222, 0.0, 0.444, 0.222, 0.111, 0.0 }, // 31
2878 {0.111, 0.0, 0.222, 0.444, 0.222, 0.0 }, // 33
2879 }
2880};
2881
2882/*---------------------------------------------------------------------------*/
2883/*---------------------------------------------------------------------------*/
2884
2885const double HemiHex7RefinementPattern6Hex_2HHex7 ::_refine_matrix_1[6][8][7] = {
2886 {
2887 // 0 1 2 3 4 5 6
2888 {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 1
2889 {0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5 }, // 14
2890 {0.25, 0.25, 0.0, 0.0, 0.0, 0.25, 0.25 }, // 23
2891 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 7
2892 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 8
2893 {0.0, 0.25, 0.25, 0.25, 0.0, 0.0, 0.25 }, // 19
2894 {0.25, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125 }, // 24
2895 {0.5, 0.25, 0.25, 0.0, 0.0, 0.0, 0.0 }, // 18
2896 },
2897 {
2898 // 0 1 2 3 4 5 6
2899 {0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5 }, // 14
2900 {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0 }, // 6
2901 {0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 13
2902 {0.25, 0.25, 0.0, 0.0, 0.0, 0.25, 0.25 }, // 23
2903 {0.0, 0.25, 0.25, 0.25, 0.0, 0.0, 0.25 }, // 19
2904 {0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.5 }, // 17
2905 {0.0, 0.0, 0.0, 0.25, 0.25, 0.25, 0.25 }, // 20
2906 {0.25, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125 }, // 24
2907 },
2908 {
2909 // 0 1 2 3 4 5 6
2910 {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0 }, // 5
2911 {0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0 }, // 12
2912 {0.25, 0.25, 0.0, 0.0, 0.0, 0.25, 0.25 }, // 23
2913 {0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 13
2914 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 11
2915 {0.5, 0.0, 0.0, 0.0, 0.25, 0.25, 0.0 }, // 21
2916 {0.25, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125 }, // 24
2917 {0.0, 0.0, 0.0, 0.25, 0.25, 0.25, 0.25 }, // 20
2918 },
2919 {
2920 // 0 1 2 3 4 5 6
2921 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 8
2922 {0.0, 0.25, 0.25, 0.25, 0.0, 0.0, 0.25 }, // 19
2923 {0.25, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125 }, // 24
2924 {0.5, 0.25, 0.25, 0.0, 0.0, 0.0, 0.0 }, // 18
2925 {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0 }, // 2
2926 {0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 9
2927 {0.25, 0.0, 0.25, 0.25, 0.25, 0.0, 0.0 }, // 22
2928 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 15
2929 },
2930 {
2931 // 0 1 2 3 4 5 6
2932 {0.0, 0.25, 0.25, 0.25, 0.0, 0.0, 0.25 }, // 19
2933 {0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.5 }, // 17
2934 {0.0, 0.0, 0.0, 0.25, 0.25, 0.25, 0.25 }, // 20
2935 {0.25, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125 }, // 24
2936 {0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 9
2937 {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0 }, // 3
2938 {0.0, 0.0, 0.0, 0.5, 0.5, 0.0, 0.0 }, // 10
2939 {0.25, 0.0, 0.25, 0.25, 0.25, 0.0, 0.0 }, // 22
2940 },
2941 {
2942 // 0 1 2 3 4 5 6
2943 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 11
2944 {0.5, 0.0, 0.0, 0.0, 0.25, 0.25, 0.0 }, // 21
2945 {0.25, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125 }, // 24
2946 {0.0, 0.0, 0.0, 0.25, 0.25, 0.25, 0.25 }, // 20
2947 {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0 }, // 4
2948 {0.5, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0 }, // 16
2949 {0.25, 0.0, 0.25, 0.25, 0.25, 0.0, 0.0 }, // 22
2950 {0.0, 0.0, 0.0, 0.5, 0.5, 0.0, 0.0 }, // 10
2951 }
2952};
2953const Integer HemiHex7RefinementPattern6Hex_2HHex7 ::_face_mapping_1[6][6] = {
2954 // 0 1 2 3 4 5
2955 {2, 0, 4, 1, 5, 3},
2956 {2, 0, 4, 1, 5, 3},
2957 {2, 5, 3, 1, 0, 4},
2958 {2, 0, 4, 1, 5, 3},
2959 {2, 0, 4, 1, 5, 3},
2960 {2, 5, 3, 1, 0, 4},
2961};
2962const Integer HemiHex7RefinementPattern6Hex_2HHex7 ::_face_mapping_topo_1[6][6] = {
2963 // 0 1 2 3 4 5
2964 {1, 1, 1, 0, 0, 0},
2965 {1, 0, 1, 0, 1, 0},
2966 {1, 1, 1, 0, 0, 0},
2967 {0, 1, 1, 1, 0, 0},
2968 {0, 0, 1, 1, 1, 0},
2969 {0, 1, 1, 1, 0, 0},
2970};
2971
2972const double HemiHex7RefinementPattern6Hex_2HHex7 ::_refine_matrix_2[2][7][7] = {
2973 {
2974 // 0 1 2 3 4 5 6
2975 {1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 0
2976 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 7
2977 {0.5, 0.25, 0.25, 0.0, 0.0, 0.0, 0.0 }, // 18
2978 {0.25, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125 }, // 24
2979 {0.5, 0.0, 0.0, 0.0, 0.25, 0.25, 0.0 }, // 21
2980 {0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0 }, // 12
2981 {0.25, 0.25, 0.0, 0.0, 0.0, 0.25, 0.25 }, // 23
2982 },
2983 {
2984 // 0 1 2 3 4 5 6
2985 {1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 0
2986 {0.5, 0.25, 0.25, 0.0, 0.0, 0.0, 0.0 }, // 18
2987 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 15
2988 {0.25, 0.0, 0.25, 0.25, 0.25, 0.0, 0.0 }, // 22
2989 {0.5, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0 }, // 16
2990 {0.5, 0.0, 0.0, 0.0, 0.25, 0.25, 0.0 }, // 21
2991 {0.25, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125 }, // 24
2992 }
2993};
2994const Integer HemiHex7RefinementPattern6Hex_2HHex7 ::_face_mapping_2[2][6] = {
2995 // 0 1 2 3 4 5
2996 {0, 1, 2, 3, 4, 5},
2997 {0, 1, 2, 3, 4, 5},
2998};
2999const Integer HemiHex7RefinementPattern6Hex_2HHex7 ::_face_mapping_topo_2[2][6] = {
3000 // 0 1 2 3 4 5
3001 {1, 0, 1, 1, 0, 0},
3002 {1, 1, 0, 1, 0, 0},
3003};
3004/*---------------------------------------------------------------------------*/
3005/*---------------------------------------------------------------------------*/
3006
3007const double HemiHex7RefinementPattern4HHex7_4Pr_2HHex5_1Hex ::_refine_matrix_1[4][7][7] = {
3008 {
3009 // 0 1 2 3 4 5 6
3010 {1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 0
3011 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 7
3012 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 8
3013 {0.25, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125 }, // 22
3014 {0.5, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0 }, // 9
3015 {0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0 }, // 10
3016 {0.25, 0.25, 0.0, 0.0, 0.0, 0.25, 0.25}, // 18
3017 },
3018 {
3019 // 0 1 2 3 4 5 6
3020 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 8
3021 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 11
3022 {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0 }, // 2
3023 {0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 13
3024 {0.25, 0.0, 0.25, 0.25, 0.25, 0.0, 0.0 }, // 19
3025 {0.25, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125 }, // 22
3026 {0.0, 0.25, 0.25, 0.25, 0.0, 0.0, 0.25 }, // 20
3027 },
3028 {
3029 // 0 1 2 3 4 5 6
3030 {0.5, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0 }, // 9
3031 {0.25, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125 }, // 22
3032 {0.25, 0.0, 0.25, 0.25, 0.25, 0.0, 0.0 }, // 19
3033 {0.0, 0.0, 0.0, 0.5, 0.5, 0.0, 0.0 }, // 14
3034 {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0 }, // 4
3035 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 16
3036 {0.0, 0.0, 0.0, 0.25, 0.25, 0.25, 0.25 }, // 21
3037 },
3038 {
3039 // 0 1 2 3 4 5 6
3040 {0.25, 0.25, 0.0, 0.0, 0.0, 0.25, 0.25}, // 18
3041 {0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5 }, // 12
3042 {0.0, 0.25, 0.25, 0.25, 0.0, 0.0, 0.25 }, // 20
3043 {0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.5 }, // 15
3044 {0.0, 0.0, 0.0, 0.25, 0.25, 0.25, 0.25 }, // 21
3045 {0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 17
3046 {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0 }, // 6
3047
3048 }
3049};
3050
3051//
3052const double HemiHex7RefinementPattern4HHex7_4Pr_2HHex5_1Hex ::_refine_matrix_2[4][6][7] = { /* const */
3053 {
3054 // 0 1 2 3 4 5 6
3055 {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 1
3056 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 7
3057 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 11
3058 {0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5 }, // 12
3059 {0.25, 0.25, 0.0, 0.0, 0.0, 0.25, 0.25}, // 18
3060 {0.0, 0.25, 0.25, 0.25, 0.0, 0.0, 0.25 }, // 20
3061 },
3062 {
3063 // 0 1 2 3 4 5 6
3064 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 11
3065 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 7
3066 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 8
3067 {0.0, 0.25, 0.25, 0.25, 0.0, 0.0, 0.25 }, // 20
3068 {0.25, 0.25, 0.0, 0.0, 0.0, 0.25, 0.25}, // 18
3069 {0.25, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125 }, // 22
3070 },
3071 {
3072 // 0 1 2 3 4 5 6
3073 {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0 }, // 5
3074 {0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0 }, // 10
3075 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 16
3076 {0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 17
3077 {0.25, 0.25, 0.0, 0.0, 0.0, 0.25, 0.25}, // 18
3078 {0.0, 0.0, 0.0, 0.25, 0.25, 0.25, 0.25 }, // 21
3079 },
3080 {
3081 // 0 1 2 3 4 5 6
3082 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 16
3083 {0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0 }, // 10
3084 {0.5, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0 }, // 9
3085 {0.0, 0.0, 0.0, 0.25, 0.25, 0.25, 0.25 }, // 21
3086 {0.25, 0.25, 0.0, 0.0, 0.0, 0.25, 0.25}, // 18
3087 {0.25, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125 }, // 22
3088 }
3089};
3090
3091//
3092const double HemiHex7RefinementPattern4HHex7_4Pr_2HHex5_1Hex ::_refine_matrix_3[2][5][7] = { /* const */
3093 {
3094 // 0 1 2 3 4 5 6
3095 {0.0, 0.0, 0.0, 0.25, 0.25, 0.25, 0.25 }, // 21
3096 {0.25, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125 }, // 22
3097 {0.25, 0.25, 0.0, 0.0, 0.0, 0.25, 0.25}, // 18
3098 {0.0, 0.25, 0.25, 0.25, 0.0, 0.0, 0.25 }, // 20
3099 {0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.5 }, // 15
3100 },
3101 {
3102 // 0 1 2 3 4 5 6
3103 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 8
3104 {0.25, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125 }, // 22
3105 {0.25, 0.0, 0.25, 0.25, 0.25, 0.0, 0.0 }, // 19
3106 {0.5, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0 }, // 9
3107 {1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 0
3108 }
3109};
3110
3111//
3112const double HemiHex7RefinementPattern4HHex7_4Pr_2HHex5_1Hex ::_refine_matrix_4[1][8][7] = { /* const */
3113 {
3114 // 0 1 2 3 4 5 6
3115 {0.25, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125 }, // 22
3116 {0.0, 0.25, 0.25, 0.25, 0.0, 0.0, 0.25 }, // 20
3117 {0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.5 }, // 15
3118 {0.0, 0.0, 0.0, 0.25, 0.25, 0.25, 0.25 }, // 21
3119 {0.25, 0.0, 0.25, 0.25, 0.25, 0.0, 0.0 }, // 19
3120 {0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 13
3121 {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0 }, // 3
3122 {0.0, 0.0, 0.0, 0.5, 0.5, 0.0, 0.0 }, // 14
3123 }
3124};
3125
3126/*---------------------------------------------------------------------------*/
3127/*---------------------------------------------------------------------------*/
3128
3129const double HemiHex7RefinementPattern8HHex7_14Pr_9HHex5_7Hex ::_refine_matrix_1[8][7][7] = {
3130 // haut
3131 {
3132 // 0 1 2 3 4 5 6
3133 {0.333, 0.0, 0.0, 0.0, 0.666, 0.0, 0.0 }, // 12
3134 {0.222, 0.037, 0.074, 0.148, 0.296, 0.148, 0.074, }, // 52
3135 {0.222, 0.0, 0.111, 0.222, 0.444, 0.0, 0.0 }, // 37
3136 {0.0, 0.0, 0.0, 0.333, 0.666, 0.0, 0.0 }, // 22
3137 {0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0 }, // 4
3138 {0.0, 0.0, 0.0, 0.0, 0.666, 0.333, 0.0 }, // 25
3139 {0.0, 0.0, 0.0, 0.222, 0.444, 0.222, 0.111}, // 49
3140 },
3141 {
3142 // 0 1 2 3 4 5 6
3143 {0.444, 0.0, 0.222, 0.111, 0.222, 0.0, 0.0 }, // 35
3144 {0.222, 0.148, 0.296, 0.148, 0.074, 0.037, 0.074, }, // 51
3145 {0.222, 0.0, 0.444, 0.222, 0.111, 0.0, 0.0 }, // 36
3146 {0.111, 0.0, 0.222, 0.444, 0.222, 0.0, 0.0 }, // 38
3147 {0.222, 0.0, 0.111, 0.222, 0.444, 0.0, 0.0 }, // 37
3148 {0.222, 0.037, 0.074, 0.148, 0.296, 0.148, 0.074, }, // 52
3149 {0.111, 0.074, 0.148, 0.296, 0.148, 0.074, 0.148, }, // 53
3150 },
3151 {
3152 // 0 1 2 3 4 5 6
3153 {0.333, 0.0, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 10
3154 {0.0, 0.333, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 16
3155 {0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0 }, // 2
3156 {0.0, 0.0, 0.666, 0.333, 0.0, 0.0, 0.0 }, // 19
3157 {0.222, 0.0, 0.444, 0.222, 0.111, 0.0, 0.0 }, // 36
3158 {0.222, 0.148, 0.296, 0.148, 0.074, 0.037, 0.074, }, // 51
3159 {0.0, 0.222, 0.444, 0.222, 0.0, 0.0, 0.111 }, // 47
3160 },
3161 // milieu
3162 {
3163 // 0 1 2 3 4 5 6
3164 {0.333, 0.0, 0.0, 0.0, 0.333, 0.333, 0.0 }, // 30
3165 {0.222, 0.074, 0.037, 0.074, 0.148, 0.296, 0.148 }, // 45
3166 {0.222, 0.037, 0.074, 0.148, 0.296, 0.148, 0.074 }, // 52
3167 {0.0, 0.0, 0.0, 0.222, 0.444, 0.222, 0.111}, // 49
3168 {0.0, 0.0, 0.0, 0.0, 0.666, 0.333, 0.0 }, // 25
3169 {0.0, 0.0, 0.0, 0.0, 0.333, 0.666, 0.0 }, // 26
3170 {0.0, 0.0, 0.0, 0.111, 0.222, 0.444, 0.222 }, // 41
3171 },
3172 {
3173 // 0 1 2 3 4 5 6
3174 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 29
3175 {0.0, 0.666, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 15
3176 {0.0, 0.333, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 16
3177 {0.0, 0.222, 0.444, 0.222, 0.0, 0.0, 0.111 }, // 47
3178 {0.222, 0.148, 0.296, 0.148, 0.074, 0.037, 0.074 }, // 51
3179 {0.222, 0.296, 0.148, 0.074, 0.037, 0.074, 0.148 }, // 44
3180 {0.0, 0.444, 0.222, 0.111, 0.0, 0.0, 0.222 }, // 39
3181 },
3182 // bas
3183 {
3184 // 0 1 2 3 4 5 6
3185 {1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 0
3186 {0.666, 0.333, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 7
3187 {0.666, 0.0, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 9
3188 {0.444, 0.148, 0.074, 0.037, 0.074, 0.148, 0.074 }, // 43
3189 {0.666, 0.0, 0.0, 0.0, 0.333, 0.0, 0.0 }, // 11
3190 {0.666, 0.0, 0.0, 0.0, 0.0, 0.333, 0.0 }, // 13
3191 {0.444, 0.222, 0.0, 0.0, 0.0, 0.222, 0.111 }, // 31
3192 },
3193 {
3194 // 0 1 2 3 4 5 6
3195 {0.444, 0.222, 0.0, 0.0, 0.0, 0.222, 0.111 }, // 31
3196 {0.222, 0.444, 0.0, 0.0, 0.0, 0.111, 0.222 }, // 32
3197 {0.222, 0.296, 0.148, 0.074, 0.037, 0.074, 0.148 }, // 44
3198 {0.111, 0.148, 0.074, 0.148, 0.074, 0.148, 0.296 }, // 46
3199 {0.222, 0.074, 0.037, 0.074, 0.148, 0.296, 0.148 }, // 45
3200 {0.222, 0.111, 0.0, 0.0, 0.0, 0.444, 0.222 }, // 33
3201 {0.111, 0.222, 0.0, 0.0, 0.0, 0.222, 0.444 }, // 34
3202 },
3203 {
3204 // 0 1 2 3 4 5 6
3205 {0.111, 0.222, 0.0, 0.0, 0.0, 0.222, 0.444 }, // 34
3206 {0.0, 0.333, 0.0, 0.0, 0.0, 0.0, 0.666 }, // 18
3207 {0.0, 0.222, 0.111, 0.222, 0.0, 0.0, 0.444 }, // 40
3208 {0.0, 0.0, 0.0, 0.333, 0.0, 0.0, 0.666}, // 24
3209 {0.0, 0.0, 0.0, 0.222, 0.111, 0.222, 0.444 }, // 42
3210 {0.0, 0.0, 0.0, 0.0, 0.0, 0.333, 0.666}, // 28
3211 {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0 }, // 6
3212 }
3213};
3214
3215//
3216const double HemiHex7RefinementPattern8HHex7_14Pr_9HHex5_7Hex ::_refine_matrix_2[14][6][7] = { /* const */
3217 // milieu: 2
3218 {
3219 // 0 1 2 3 4 5 6
3220 {0.666, 0.0, 0.0, 0.0, 0.333, 0.0, 0.0 }, // 11
3221 {0.444, 0.0, 0.222, 0.111, 0.222, 0.0, 0.0 }, // 35
3222 {0.444, 0.148, 0.074, 0.037, 0.074, 0.148, 0.074 }, // 43
3223 {0.333, 0.0, 0.0, 0.0, 0.333, 0.333, 0.0 }, // 30
3224 {0.222, 0.037, 0.074, 0.148, 0.296, 0.148, 0.074 }, // 52
3225 {0.222, 0.074, 0.037, 0.074, 0.148, 0.296, 0.148 }, // 45
3226 },
3227 // bas: 12
3228 {
3229 // 0 1 2 3 4 5 6
3230 {0.444, 0.148, 0.074, 0.037, 0.074, 0.148, 0.074 }, // 43
3231 {0.666, 0.0, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 9
3232 {0.444, 0.0, 0.222, 0.111, 0.222, 0.0, 0.0 }, // 35
3233 {0.222, 0.296, 0.148, 0.074, 0.037, 0.074, 0.148 }, // 44
3234 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 29
3235 {0.222, 0.148, 0.296, 0.148, 0.074, 0.037, 0.074 }, // 51
3236 },
3237 {
3238 // 0 1 2 3 4 5 6
3239 {0.0, 0.0, 0.0, 0.0, 0.0, 0.666, 0.333}, // 27
3240 {0.222, 0.111, 0.0, 0.0, 0.0, 0.444, 0.222 }, // 33
3241 {0.0, 0.0, 0.0, 0.111, 0.222, 0.444, 0.222 }, // 41
3242 {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0 }, // 5
3243 {0.333, 0.0, 0.0, 0.0, 0.0, 0.666, 0.0 }, // 14
3244 {0.0, 0.0, 0.0, 0.0, 0.333, 0.666, 0.0 }, // 26
3245 },
3246 {
3247 // 0 1 2 3 4 5 6
3248 {0.0, 0.0, 0.0, 0.111, 0.222, 0.444, 0.222 }, // 41
3249 {0.222, 0.111, 0.0, 0.0, 0.0, 0.444, 0.222 }, // 33
3250 {0.222, 0.074, 0.037, 0.074, 0.148, 0.296, 0.148 }, // 45
3251 {0.0, 0.0, 0.0, 0.0, 0.333, 0.666, 0.0 }, // 26
3252 {0.333, 0.0, 0.0, 0.0, 0.0, 0.666, 0.0 }, // 14
3253 {0.333, 0.0, 0.0, 0.0, 0.333, 0.333, 0.0 }, // 30
3254 },
3255 {
3256 // 0 1 2 3 4 5 6
3257 {0.0, 0.0, 0.0, 0.0, 0.0, 0.333, 0.666}, // 28
3258 {0.111, 0.222, 0.0, 0.0, 0.0, 0.222, 0.444 }, // 34
3259 {0.0, 0.0, 0.0, 0.222, 0.111, 0.222, 0.444 }, // 42
3260 {0.0, 0.0, 0.0, 0.0, 0.0, 0.666, 0.333}, // 27
3261 {0.222, 0.111, 0.0, 0.0, 0.0, 0.444, 0.222 }, // 33
3262 {0.0, 0.0, 0.0, 0.111, 0.222, 0.444, 0.222 }, // 41
3263 },
3264 {
3265 // 0 1 2 3 4 5 6
3266 {0.0, 0.0, 0.0, 0.222, 0.111, 0.222, 0.444 }, // 42
3267 {0.111, 0.222, 0.0, 0.0, 0.0, 0.222, 0.444 }, // 34
3268 {0.111, 0.148, 0.074, 0.148, 0.074, 0.148, 0.296 }, // 46
3269 {0.0, 0.0, 0.0, 0.111, 0.222, 0.444, 0.222 }, // 41
3270 {0.222, 0.111, 0.0, 0.0, 0.0, 0.444, 0.222 }, // 33
3271 {0.222, 0.074, 0.037, 0.074, 0.148, 0.296, 0.148 }, // 45
3272 },
3273 {
3274 // 0 1 2 3 4 5 6
3275 {0.444, 0.222, 0.0, 0.0, 0.0, 0.222, 0.111 }, // 31
3276 {0.222, 0.444, 0.0, 0.0, 0.0, 0.111, 0.222 }, // 32
3277 {0.222, 0.296, 0.148, 0.074, 0.037, 0.074, 0.148 }, // 44
3278 {0.666, 0.333, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 7
3279 {0.333, 0.666, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 8
3280 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 29
3281 },
3282 {
3283 // 0 1 2 3 4 5 6
3284 {0.444, 0.222, 0.0, 0.0, 0.0, 0.222, 0.111 }, // 31
3285 {0.222, 0.296, 0.148, 0.074, 0.037, 0.074, 0.148 }, // 44
3286 {0.444, 0.148, 0.074, 0.037, 0.074, 0.148, 0.074 }, // 43
3287 {0.666, 0.333, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 7
3288 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 29
3289 {0.666, 0.0, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 9
3290 },
3291 {
3292 // 0 1 2 3 4 5 6
3293 {0.222, 0.111, 0.0, 0.0, 0.0, 0.444, 0.222 }, // 33
3294 {0.444, 0.222, 0.0, 0.0, 0.0, 0.222, 0.111 }, // 31
3295 {0.222, 0.074, 0.037, 0.074, 0.148, 0.296, 0.148 }, // 45
3296 {0.333, 0.0, 0.0, 0.0, 0.0, 0.666, 0.0 }, // 14
3297 {0.666, 0.0, 0.0, 0.0, 0.0, 0.333, 0.0 }, // 13
3298 {0.333, 0.0, 0.0, 0.0, 0.333, 0.333, 0.0 }, // 30
3299 },
3300 {
3301 // 0 1 2 3 4 5 6
3302 {0.222, 0.074, 0.037, 0.074, 0.148, 0.296, 0.148 }, // 45
3303 {0.444, 0.222, 0.0, 0.0, 0.0, 0.222, 0.111 }, // 31
3304 {0.444, 0.148, 0.074, 0.037, 0.074, 0.148, 0.074 }, // 43
3305 {0.333, 0.0, 0.0, 0.0, 0.333, 0.333, 0.0 }, // 30
3306 {0.666, 0.0, 0.0, 0.0, 0.0, 0.333, 0.0 }, // 13
3307 {0.666, 0.0, 0.0, 0.0, 0.333, 0.0, 0.0 }, // 11
3308 },
3309 {
3310 // 0 1 2 3 4 5 6
3311 {0.222, 0.444, 0.0, 0.0, 0.0, 0.111, 0.222 }, // 32
3312 {0.0, 0.666, 0.0, 0.0, 0.0, 0.0, 0.333 }, // 17
3313 {0.0, 0.444, 0.222, 0.111, 0.0, 0.0, 0.222 }, // 39
3314 {0.333, 0.666, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 8
3315 {0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 1
3316 {0.0, 0.666, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 15
3317 },
3318 {
3319 // 0 1 2 3 4 5 6
3320 {0.222, 0.444, 0.0, 0.0, 0.0, 0.111, 0.222 }, // 32
3321 {0.0, 0.444, 0.222, 0.111, 0.0, 0.0, 0.222 }, // 39
3322 {0.222, 0.296, 0.148, 0.074, 0.037, 0.074, 0.148 }, // 44
3323 {0.333, 0.666, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 8
3324 {0.0, 0.666, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 15
3325 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 29
3326 },
3327 {
3328 // 0 1 2 3 4 5 6
3329 {0.111, 0.222, 0.0, 0.0, 0.0, 0.222, 0.444 }, // 34
3330 {0.0, 0.333, 0.0, 0.0, 0.0, 0.0, 0.666 }, // 18
3331 {0.0, 0.222, 0.111, 0.222, 0.0, 0.0, 0.444 }, // 40
3332 {0.222, 0.444, 0.0, 0.0, 0.0, 0.111, 0.222 }, // 32
3333 {0.0, 0.666, 0.0, 0.0, 0.0, 0.0, 0.333 }, // 17
3334 {0.0, 0.444, 0.222, 0.111, 0.0, 0.0, 0.222 }, // 39
3335 },
3336 {
3337 // 0 1 2 3 4 5 6
3338 {0.111, 0.222, 0.0, 0.0, 0.0, 0.222, 0.444 }, // 34
3339 {0.0, 0.222, 0.111, 0.222, 0.0, 0.0, 0.444 }, // 40
3340 {0.111, 0.148, 0.074, 0.148, 0.074, 0.148, 0.296 }, // 46
3341 {0.222, 0.444, 0.0, 0.0, 0.0, 0.111, 0.222 }, // 32
3342 {0.0, 0.444, 0.222, 0.111, 0.0, 0.0, 0.222 }, // 39
3343 {0.222, 0.296, 0.148, 0.074, 0.037, 0.074, 0.148 }, // 44
3344 }
3345};
3346
3347//
3348const double HemiHex7RefinementPattern8HHex7_14Pr_9HHex5_7Hex ::_refine_matrix_3[9][5][7] = { /* const */
3349 // haut: 2
3350 {
3351 // 0 1 2 3 4 5 6
3352 {0.444, 0.0, 0.222, 0.111, 0.222, 0.0, 0.0 }, // 35
3353 {0.222, 0.037, 0.074, 0.148, 0.296, 0.148, 0.074, }, // 52
3354 {0.222, 0.0, 0.111, 0.222, 0.444, 0.0, 0.0 }, // 37
3355 {0.333, 0.0, 0.0, 0.0, 0.666, 0.0, 0.0 }, // 12
3356 {0.666, 0.0, 0.0, 0.0, 0.333, 0.0, 0.0 }, // 11
3357 },
3358 {
3359 // 0 1 2 3 4 5 6
3360 {0.333, 0.0, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 10
3361 {0.222, 0.148, 0.296, 0.148, 0.074, 0.037, 0.074, }, // 51
3362 {0.222, 0.0, 0.444, 0.222, 0.111, 0.0, 0.0 }, // 36
3363 {0.444, 0.0, 0.222, 0.111, 0.222, 0.0, 0.0 }, // 35
3364 {0.666, 0.0, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 9
3365 },
3366 // milieu: 5
3367 {
3368 // 0 1 2 3 4 5 6
3369 {0.222, 0.037, 0.074, 0.148, 0.296, 0.148, 0.074 }, // 52
3370 {0.333, 0.0, 0.0, 0.0, 0.666, 0.0, 0.0 }, // 12
3371 {0.333, 0.0, 0.0, 0.0, 0.333, 0.333, 0.0 }, // 30
3372 {0.0, 0.0, 0.0, 0.0, 0.666, 0.333, 0.0 }, // 25
3373 {0.0, 0.0, 0.0, 0.222, 0.444, 0.222, 0.111}, // 49
3374 },
3375 {
3376 // 0 1 2 3 4 5 6
3377 {0.666, 0.0, 0.0, 0.0, 0.333, 0.0, 0.0 }, // 11
3378 {0.333, 0.0, 0.0, 0.0, 0.666, 0.0, 0.0 }, // 12
3379 {0.333, 0.0, 0.0, 0.0, 0.333, 0.333, 0.0 }, // 30
3380 {0.222, 0.037, 0.074, 0.148, 0.296, 0.148, 0.074 }, // 52
3381 {0.444, 0.0, 0.222, 0.111, 0.222, 0.0, 0.0 }, // 35
3382 },
3383 {
3384 // 0 1 2 3 4 5 6
3385 {0.666, 0.0, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 9
3386 {0.444, 0.148, 0.074, 0.037, 0.074, 0.148, 0.074 }, // 43
3387 {0.444, 0.0, 0.222, 0.111, 0.222, 0.0, 0.0 }, // 35
3388 {0.666, 0.0, 0.0, 0.0, 0.333, 0.0, 0.0 }, // 11
3389 {1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 0
3390 },
3391 {
3392 // 0 1 2 3 4 5 6
3393 {0.0, 0.333, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 16
3394 {0.333, 0.0, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 10
3395 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 29
3396 {0.222, 0.148, 0.296, 0.148, 0.074, 0.037, 0.074 }, // 51
3397 {0.0, 0.222, 0.444, 0.222, 0.0, 0.0, 0.111 }, // 47
3398 },
3399 {
3400 // 0 1 2 3 4 5 6
3401 {0.666, 0.0, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 9
3402 {0.333, 0.0, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 10
3403 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 29
3404 {0.222, 0.148, 0.296, 0.148, 0.074, 0.037, 0.074 }, // 51
3405 {0.444, 0.0, 0.222, 0.111, 0.222, 0.0, 0.0 }, // 35
3406
3407 },
3408 // bas: 2
3409 {
3410 // 0 1 2 3 4 5 6
3411 {0.222, 0.296, 0.148, 0.074, 0.037, 0.074, 0.148 }, // 44
3412 {0.444, 0.148, 0.074, 0.037, 0.074, 0.148, 0.074 }, // 43
3413 {0.444, 0.222, 0.0, 0.0, 0.0, 0.222, 0.111 }, // 31
3414 {0.222, 0.074, 0.037, 0.074, 0.148, 0.296, 0.148 }, // 45
3415 {0.111, 0.148, 0.074, 0.148, 0.074, 0.148, 0.296 }, // 46
3416 },
3417 {
3418 // 0 1 2 3 4 5 6
3419 {0.0, 0.222, 0.111, 0.222, 0.0, 0.0, 0.444 }, // 40
3420 {0.111, 0.148, 0.074, 0.148, 0.074, 0.148, 0.296 }, // 46
3421 {0.111, 0.222, 0.0, 0.0, 0.0, 0.222, 0.444 }, // 34
3422 {0.0, 0.0, 0.0, 0.222, 0.111, 0.222, 0.444 }, // 42
3423 {0.0, 0.0, 0.0, 0.333, 0.0, 0.0, 0.666}, // 24
3424
3425 }
3426};
3427
3428//
3429const double HemiHex7RefinementPattern8HHex7_14Pr_9HHex5_7Hex ::_refine_matrix_4[7][8][7] = { /* const */
3430// haut: 3
3431 {
3432 // 0 1 2 3 4 5 6
3433 {0.0, 0.0, 0.0, 0.222, 0.444, 0.222, 0.111}, // 49
3434 {0.222, 0.037, 0.074, 0.148, 0.296, 0.148, 0.074, }, // 52
3435 {0.111, 0.074, 0.148, 0.296, 0.148, 0.074, 0.148, }, // 53
3436 {0.0, 0.0, 0.0, 0.444, 0.222, 0.111, 0.222}, // 50
3437 {0.0, 0.0, 0.0, 0.333, 0.666, 0.0, 0.0 }, // 22
3438 {0.222, 0.0, 0.111, 0.222, 0.444, 0.0, 0.0 }, // 37
3439 {0.111, 0.0, 0.222, 0.444, 0.222, 0.0, 0.0 }, // 38
3440 {0.0, 0.0, 0.0, 0.666, 0.333, 0.0, 0.0 }, // 21
3441 },
3442 {
3443 // 0 1 2 3 4 5 6
3444 {0.0, 0.0, 0.0, 0.444, 0.222, 0.111, 0.222}, // 50
3445 {0.111, 0.074, 0.148, 0.296, 0.148, 0.074, 0.148, }, // 53
3446 {0.0, 0.111, 0.222, 0.444, 0.0, 0.0, 0.222 }, // 48
3447 {0.0, 0.0, 0.0, 0.666, 0.0, 0.0, 0.333}, // 23
3448 {0.0, 0.0, 0.0, 0.666, 0.333, 0.0, 0.0 }, // 21
3449 {0.111, 0.0, 0.222, 0.444, 0.222, 0.0, 0.0 }, // 38
3450 {0.0, 0.0, 0.333, 0.666, 0.0, 0.0, 0.0 }, // 20
3451 {0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0 }, // 3
3452 },
3453 {
3454 // 0 1 2 3 4 5 6
3455 {0.111, 0.074, 0.148, 0.296, 0.148, 0.074, 0.148, }, // 53
3456 {0.222, 0.148, 0.296, 0.148, 0.074, 0.037, 0.074, }, // 51
3457 {0.0, 0.222, 0.444, 0.222, 0.0, 0.0, 0.111 }, // 47
3458 {0.0, 0.111, 0.222, 0.444, 0.0, 0.0, 0.222 }, // 48
3459 {0.111, 0.0, 0.222, 0.444, 0.222, 0.0, 0.0 }, // 38
3460 {0.222, 0.0, 0.444, 0.222, 0.111, 0.0, 0.0 }, // 36
3461 {0.0, 0.0, 0.666, 0.333, 0.0, 0.0, 0.0 }, // 19
3462 {0.0, 0.0, 0.333, 0.666, 0.0, 0.0, 0.0 }, // 20
3463 },
3464 // milieu: 4
3465 {
3466 // 0 1 2 3 4 5 6
3467 {0.0, 0.0, 0.0, 0.111, 0.222, 0.444, 0.222 }, // 41
3468 {0.222, 0.074, 0.037, 0.074, 0.148, 0.296, 0.148 }, // 45
3469 {0.111, 0.148, 0.074, 0.148, 0.074, 0.148, 0.296 }, // 46
3470 {0.0, 0.0, 0.0, 0.222, 0.111, 0.222, 0.444 }, // 42
3471 {0.0, 0.0, 0.0, 0.222, 0.444, 0.222, 0.111}, // 49
3472 {0.222, 0.037, 0.074, 0.148, 0.296, 0.148, 0.074 }, // 52
3473 {0.111, 0.074, 0.148, 0.296, 0.148, 0.074, 0.148 }, // 53
3474 {0.0, 0.0, 0.0, 0.444, 0.222, 0.111, 0.222}, // 50
3475 },
3476 {
3477 // 0 1 2 3 4 5 6
3478 {0.222, 0.074, 0.037, 0.074, 0.148, 0.296, 0.148 }, // 45
3479 {0.444, 0.148, 0.074, 0.037, 0.074, 0.148, 0.074 }, // 43
3480 {0.222, 0.296, 0.148, 0.074, 0.037, 0.074, 0.148 }, // 44
3481 {0.111, 0.148, 0.074, 0.148, 0.074, 0.148, 0.296 }, // 46
3482 {0.222, 0.037, 0.074, 0.148, 0.296, 0.148, 0.074 }, // 52
3483 {0.444, 0.0, 0.222, 0.111, 0.222, 0.0, 0.0 }, // 35
3484 {0.222, 0.148, 0.296, 0.148, 0.074, 0.037, 0.074 }, // 51
3485 {0.111, 0.074, 0.148, 0.296, 0.148, 0.074, 0.148 }, // 53
3486 },
3487 {
3488 // 0 1 2 3 4 5 6
3489 {0.0, 0.0, 0.0, 0.222, 0.111, 0.222, 0.444 }, // 42
3490 {0.111, 0.148, 0.074, 0.148, 0.074, 0.148, 0.296 }, // 46
3491 {0.0, 0.222, 0.111, 0.222, 0.0, 0.0, 0.444 }, // 40
3492 {0.0, 0.0, 0.0, 0.333, 0.0, 0.0, 0.666}, // 24
3493 {0.0, 0.0, 0.0, 0.444, 0.222, 0.111, 0.222}, // 50
3494 {0.111, 0.074, 0.148, 0.296, 0.148, 0.074, 0.148 }, // 53
3495 {0.0, 0.111, 0.222, 0.444, 0.0, 0.0, 0.222 }, // 48
3496 {0.0, 0.0, 0.0, 0.666, 0.0, 0.0, 0.333}, // 23
3497 },
3498 {
3499 // 0 1 2 3 4 5 6
3500 {0.111, 0.148, 0.074, 0.148, 0.074, 0.148, 0.296 }, // 46
3501 {0.222, 0.296, 0.148, 0.074, 0.037, 0.074, 0.148 }, // 44
3502 {0.0, 0.444, 0.222, 0.111, 0.0, 0.0, 0.222 }, // 39
3503 {0.0, 0.222, 0.111, 0.222, 0.0, 0.0, 0.444 }, // 40
3504 {0.111, 0.074, 0.148, 0.296, 0.148, 0.074, 0.148 }, // 53
3505 {0.222, 0.148, 0.296, 0.148, 0.074, 0.037, 0.074 }, // 51
3506 {0.0, 0.222, 0.444, 0.222, 0.0, 0.0, 0.111 }, // 47
3507 {0.0, 0.111, 0.222, 0.444, 0.0, 0.0, 0.222 }, // 48
3508 }
3509};
3510
3511/*---------------------------------------------------------------------------*/
3512/*---------------------------------------------------------------------------*/
3513
3514const double AntiWedgeLeft6RefinementPattern4Hex_4HHex7 ::_refine_matrix_1[4][8][6] = {
3515 {
3516 //0 1 2 3 4 5
3517 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0}, // 8
3518 {1.0, 0.0, 0.0, 0.0, 0.0, 0.0}, // 0
3519 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0}, // 6
3520 {0.25, 0.25, 0.5, 0.0, 0.0, 0.0}, // 21
3521 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 18
3522 {0.5, 0.0, 0.0, 0.5, 0.0, 0.0}, // 15
3523 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 19
3524 {0.125, 0.25, 0.125, 0.125, 0.125, 0.25}, // 22
3525 },
3526 {
3527 //0 1 2 3 4 5
3528 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 18
3529 {0.5, 0.0, 0.0, 0.5, 0.0, 0.0}, // 15
3530 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 19
3531 {0.125, 0.25, 0.125, 0.125, 0.125, 0.25}, // 22
3532 {0.0, 0.0, 0.0, 0.5, 0.0, 0.5}, // 9
3533 {0.0, 0.0, 0.0, 1.0, 0.0, 0.0}, // 3
3534 {0.0, 0.0, 0.0, 0.5, 0.5, 0.0}, // 10
3535 {0.0, 0.0, 0.0, 0.25, 0.5, 0.25}, // 20
3536 },
3537 {
3538 //0 1 2 3 4 5
3539 {0.0, 0.0, 0.5, 0.0, 0.0, 0.5}, // 14
3540 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 18
3541 {0.125, 0.25, 0.125, 0.125, 0.125, 0.25}, // 22
3542 {0.0, 0.0, 0.5, 0.0, 0.25, 0.25}, // 17
3543 {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}, // 5
3544 {0.0, 0.0, 0.0, 0.5, 0.0, 0.5}, // 9
3545 {0.0, 0.0, 0.0, 0.25, 0.5, 0.25}, // 20
3546 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5}, // 11
3547 },
3548 {
3549 //0 1 2 3 4 5
3550 {0.0, 1.0, 0.0, 0.0, 0.0, 0.0}, // 1
3551 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0}, // 7
3552 {0.25, 0.25, 0.5, 0.0, 0.0, 0.0}, // 21
3553 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0}, // 6
3554 {0.0, 0.5, 0.0, 0.0, 0.5, 0.0}, // 12
3555 {0.0, 0.25, 0.25, 0.0, 0.5, 0.0}, // 16
3556 {0.125, 0.25, 0.125, 0.125, 0.125, 0.25}, // 22
3557 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 19
3558 },
3559};
3560const Integer AntiWedgeLeft6RefinementPattern4Hex_4HHex7 ::_face_mapping_1[4][6] = {
3561 // 0 1 2 3 4 5
3562 {0, 5, 1, 3, 2, 4},
3563 {0, 5, 1, 3, 2, 4},
3564 {0, 5, 4, 3, 2, 1},
3565 {5, 2, 3, 0, 4, 1},
3566};
3567const Integer AntiWedgeLeft6RefinementPattern4Hex_4HHex7 ::_face_mapping_topo_1[4][6] = {
3568 // 0 1 2 3 4 5
3569 {1, 0, 1, 0, 1, 0},
3570 {0, 0, 1, 1, 1, 0},
3571 {0, 1, 1, 1, 0, 0},
3572 {1, 1, 1, 0, 0, 0},
3573};
3574//
3575const double AntiWedgeLeft6RefinementPattern4Hex_4HHex7 ::_refine_matrix_2[4][7][6] = {
3576 {
3577 //0 1 2 3 4 5
3578 {0.0, 0.0, 1.0, 0.0, 0.0, 0.0}, // 2
3579 {0.0, 0.0, 0.5, 0.0, 0.0, 0.5}, // 14
3580 {0.0, 0.0, 0.5, 0.0, 0.25, 0.25}, // 17
3581 {0.125, 0.25, 0.125, 0.125, 0.125, 0.25}, // 22
3582 {0.25, 0.25, 0.5, 0.0, 0.0, 0.0}, // 21
3583 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0}, // 8
3584 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 18
3585 },
3586 {
3587 //0 1 2 3 4 5
3588 {0.0, 0.0, 1.0, 0.0, 0.0, 0.0}, // 2
3589 {0.0, 0.0, 0.5, 0.0, 0.25, 0.25}, // 17
3590 {0.0, 0.0, 0.5, 0.0, 0.5, 0.0}, // 13
3591 {0.0, 0.25, 0.25, 0.0, 0.5, 0.0}, // 16
3592 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0}, // 7
3593 {0.25, 0.25, 0.5, 0.0, 0.0, 0.0}, // 21
3594 {0.125, 0.25, 0.125, 0.125, 0.125, 0.25}, // 22
3595 },
3596 {
3597 //0 1 2 3 4 5
3598 {0.0, 0.0, 0.0, 0.0, 1.0, 0.0}, // 4
3599 {0.0, 0.0, 0.0, 0.25, 0.5, 0.25}, // 20
3600 {0.0, 0.0, 0.0, 0.5, 0.5, 0.0}, // 10
3601 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 19
3602 {0.0, 0.5, 0.0, 0.0, 0.5, 0.0}, // 12
3603 {0.0, 0.25, 0.25, 0.0, 0.5, 0.0}, // 16
3604 {0.125, 0.25, 0.125, 0.125, 0.125, 0.25}, // 22
3605 },
3606 {
3607 //0 1 2 3 4 5
3608 {0.0, 0.0, 0.0, 0.0, 1.0, 0.0}, // 4
3609 {0.0, 0.25, 0.25, 0.0, 0.5, 0.0}, // 16
3610 {0.0, 0.0, 0.5, 0.0, 0.5, 0.0}, // 13
3611 {0.0, 0.0, 0.5, 0.0, 0.25, 0.25}, // 17
3612 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5}, // 11
3613 {0.0, 0.0, 0.0, 0.25, 0.5, 0.25}, // 20
3614 {0.125, 0.25, 0.125, 0.125, 0.125, 0.25}, // 22
3615 }
3616};
3617const Integer AntiWedgeLeft6RefinementPattern4Hex_4HHex7 ::_face_mapping_2[4][6] = {
3618 // 0 1 2 3 4 5
3619 {5, 4, 1, 0, 3, 2},
3620 {5, 4, 1, 0, 3, 2},
3621 {3, 2, 5, 4, 1, 0},
3622 {4, 5, 2, 3, 0, 1},
3623};
3624const Integer AntiWedgeLeft6RefinementPattern4Hex_4HHex7 ::_face_mapping_topo_2[4][6] = {
3625 // 0 1 2 3 4 5
3626 {1, 0, 1, 1, 0, 0},
3627 {1, 1, 0, 1, 0, 0},
3628 {1, 1, 0, 1, 0, 0},
3629 {1, 1, 0, 1, 0, 0},
3630};
3631/*---------------------------------------------------------------------------*/
3632/*---------------------------------------------------------------------------*/
3633
3634const double AntiWedgeLeft6RefinementPattern4AWL6_4Pr ::_refine_matrix_1[4][6][6] = {
3635 {
3636 // 0 1 2 3 4 5
3637 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 16
3638 {0.0, 0.5, 0.0, 0.0, 0.5, 0.0 }, // 10
3639 {0.0, 0.0, 0.5, 0.0, 0.5, 0.0}, // 17
3640 {0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 12
3641 {0.0, 0.0, 0.0, 0.0, 1.0, 0.0 }, // 4
3642 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 14
3643 },
3644 {
3645 // 0 1 2 3 4 5
3646 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 6
3647 {0.0, 1.0, 0.0, 0.0, 0.0, 0.0 }, // 1
3648 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 9
3649 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 16
3650 {0.0, 0.5, 0.0, 0.0, 0.5, 0.0 }, // 10
3651 {0.0, 0.0, 0.5, 0.0, 0.5, 0.0}, // 17
3652 },
3653 {
3654 // 0 1 2 3 4 5
3655 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 15
3656 {0.0, 0.0, 0.5, 0.0, 0.5, 0.0}, // 17
3657 {0.0, 0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
3658 {0.0, 0.0, 0.0, 0.5, 0.0, 0.5 }, // 13
3659 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 14
3660 {0.0, 0.0, 0.0, 0.0, 0.0, 1.0 }, // 5
3661 },
3662 {
3663 // 0 1 2 3 4 5
3664 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0 }, // 7
3665 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 9
3666 {0.0, 0.0, 1.0, 0.0, 0.0, 0.0 }, // 2
3667 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 15
3668 {0.0, 0.0, 0.5, 0.0, 0.5, 0.0}, // 17
3669 {0.0, 0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
3670 }
3671};
3672
3673//
3674const double AntiWedgeLeft6RefinementPattern4AWL6_4Pr ::_refine_matrix_2[4][6][6] = { /* const */
3675 {
3676 // 0 1 2 3 4 5
3677 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 16
3678 {0.0, 0.0, 0.5, 0.0, 0.5, 0.0}, // 17
3679 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 15
3680 {0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 12
3681 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 14
3682 {0.0, 0.0, 0.0, 0.5, 0.0, 0.5 }, // 13
3683 },
3684 {
3685 // 0 1 2 3 4 5
3686 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0 }, // 7
3687 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 6
3688 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 9
3689 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 15
3690 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 16
3691 {0.0, 0.0, 0.5, 0.0, 0.5, 0.0}, // 17
3692 },
3693 {
3694 // 0 1 2 3 4 5
3695 {1.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 0
3696 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 6
3697 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0 }, // 7
3698 {0.5, 0.0, 0.0, 0.5, 0.0, 0.0 }, // 8
3699 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 16
3700 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 15
3701 },
3702 {
3703 // 0 1 2 3 4 5
3704 {0.5, 0.0, 0.0, 0.5, 0.0, 0.0 }, // 8
3705 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 16
3706 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 15
3707 {0.0, 0.0, 0.0, 1.0, 0.0, 0.0 }, // 3
3708 {0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 12
3709 {0.0, 0.0, 0.0, 0.5, 0.0, 0.5 }, // 13
3710
3711 }
3712};
3713
3714/*---------------------------------------------------------------------------*/
3715/*---------------------------------------------------------------------------*/
3716
3717const double AntiWedgeLeft6RefinementPattern9AWL6_18Pr ::_refine_matrix_1[9][6][6] = {
3718 {
3719 // 0 1 2 3 4 5
3720 {0.333, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 7
3721 {0.0, 1.0, 0.0, 0.0, 0.0, 0.0 }, // 1
3722 {0.0, 0.666, 0.333, 0.0, 0.0, 0.0 }, // 12
3723 {0.222, 0.444, 0.0, 0.111, 0.222, 0.0 }, // 27
3724 {0.0, 0.666, 0.0, 0.0, 0.333, 0.0 }, // 14
3725 {0.0, 0.333, 0.333, 0.0, 0.333, 0.0}, // 30
3726 },
3727 {
3728 // 0 1 2 3 4 5
3729 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 24
3730 {0.0, 0.666, 0.333, 0.0, 0.0, 0.0 }, // 12
3731 {0.0, 0.333, 0.666, 0.0, 0.0, 0.0 }, // 13
3732 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
3733 {0.0, 0.333, 0.333, 0.0, 0.333, 0.0}, // 30
3734 {0.0, 0.0, 0.666, 0.0, 0.333, 0.0}, // 31
3735 },
3736 {
3737 // 0 1 2 3 4 5
3738 {0.333, 0.0, 0.666, 0.0, 0.0, 0.0 }, // 9
3739 {0.0, 0.333, 0.666, 0.0, 0.0, 0.0 }, // 13
3740 {0.0, 0.0, 1.0, 0.0, 0.0, 0.0 }, // 2
3741 {0.222, 0.0, 0.444, 0.111, 0.0, 0.222 }, // 34
3742 {0.0, 0.0, 0.666, 0.0, 0.333, 0.0}, // 31
3743 {0.0, 0.0, 0.666, 0.0, 0.0, 0.333 }, // 16
3744 },
3745 {
3746 // 0 1 2 3 4 5
3747 {0.222, 0.444, 0.0, 0.111, 0.222, 0.0 }, // 27
3748 {0.0, 0.666, 0.0, 0.0, 0.333, 0.0 }, // 14
3749 {0.0, 0.333, 0.333, 0.0, 0.333, 0.0}, // 30
3750 {0.111, 0.222, 0.0, 0.222, 0.444, 0.0 }, // 29
3751 {0.0, 0.333, 0.0, 0.0, 0.666, 0.0 }, // 15
3752 {0.0, 0.0, 0.333, 0.0, 0.666, 0.0}, // 32
3753 },
3754 {
3755 // 0 1 2 3 4 5
3756 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
3757 {0.0, 0.333, 0.333, 0.0, 0.333, 0.0}, // 30
3758 {0.0, 0.0, 0.666, 0.0, 0.333, 0.0}, // 31
3759 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
3760 {0.0, 0.0, 0.333, 0.0, 0.666, 0.0}, // 32
3761 {0.0, 0.0, 0.333, 0.0, 0.333, 0.333 }, // 33
3762 },
3763 {
3764 // 0 1 2 3 4 5
3765 {0.222, 0.0, 0.444, 0.111, 0.0, 0.222 }, // 34
3766 {0.0, 0.0, 0.666, 0.0, 0.333, 0.0}, // 31
3767 {0.0, 0.0, 0.666, 0.0, 0.0, 0.333 }, // 16
3768 {0.111, 0.0, 0.222, 0.222, 0.0, 0.444 }, // 36
3769 {0.0, 0.0, 0.333, 0.0, 0.333, 0.333 }, // 33
3770 {0.0, 0.0, 0.333, 0.0, 0.0, 0.666 }, // 17
3771 },
3772 {
3773 // 0 1 2 3 4 5
3774 {0.111, 0.222, 0.0, 0.222, 0.444, 0.0 }, // 29
3775 {0.0, 0.333, 0.0, 0.0, 0.666, 0.0 }, // 15
3776 {0.0, 0.0, 0.333, 0.0, 0.666, 0.0}, // 32
3777 {0.0, 0.0, 0.0, 0.333, 0.666, 0.0 }, // 19
3778 {0.0, 0.0, 0.0, 0.0, 1.0, 0.0 }, // 4
3779 {0.0, 0.0, 0.0, 0.0, 0.666, 0.333 }, // 22
3780 },
3781 {
3782 // 0 1 2 3 4 5
3783 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
3784 {0.0, 0.0, 0.333, 0.0, 0.666, 0.0}, // 32
3785 {0.0, 0.0, 0.333, 0.0, 0.333, 0.333 }, // 33
3786 {0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 25
3787 {0.0, 0.0, 0.0, 0.0, 0.666, 0.333 }, // 22
3788 {0.0, 0.0, 0.0, 0.0, 0.333, 0.666 }, // 23
3789 },
3790 {
3791 // 0 1 2 3 4 5
3792 {0.111, 0.0, 0.222, 0.222, 0.0, 0.444 }, // 36
3793 {0.0, 0.0, 0.333, 0.0, 0.333, 0.333 }, // 33
3794 {0.0, 0.0, 0.333, 0.0, 0.0, 0.666 }, // 17
3795 {0.0, 0.0, 0.0, 0.333, 0.0, 0.666 }, // 21
3796 {0.0, 0.0, 0.0, 0.0, 0.333, 0.666 }, // 23
3797 {0.0, 0.0, 0.0, 0.0, 0.0, 1.0 }, // 5
3798
3799
3800 }
3801};
3802
3803//
3804const double AntiWedgeLeft6RefinementPattern9AWL6_18Pr ::_refine_matrix_2[18][6][6] = { /* const */
3805 {
3806 // 0 1 2 3 4 5
3807 {0.0, 0.666, 0.333, 0.0, 0.0, 0.0 }, // 12
3808 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 24
3809 {0.333, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 7
3810 {0.0, 0.333, 0.333, 0.0, 0.333, 0.0}, // 30
3811 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
3812 {0.222, 0.444, 0.0, 0.111, 0.222, 0.0 }, // 27
3813 },
3814 {
3815 // 0 1 2 3 4 5
3816 {0.0, 0.333, 0.333, 0.0, 0.333, 0.0}, // 30
3817 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
3818 {0.222, 0.444, 0.0, 0.111, 0.222, 0.0 }, // 27
3819 {0.0, 0.0, 0.333, 0.0, 0.666, 0.0}, // 32
3820 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
3821 {0.111, 0.222, 0.0, 0.222, 0.444, 0.0 }, // 29
3822 },
3823 {
3824 // 0 1 2 3 4 5
3825 {0.0, 0.0, 0.333, 0.0, 0.666, 0.0}, // 32
3826 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
3827 {0.111, 0.222, 0.0, 0.222, 0.444, 0.0 }, // 29
3828 {0.0, 0.0, 0.0, 0.0, 0.666, 0.333 }, // 22
3829 {0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 25
3830 {0.0, 0.0, 0.0, 0.333, 0.666, 0.0 }, // 19
3831 },
3832 {
3833 // 0 1 2 3 4 5
3834 {0.0, 0.333, 0.666, 0.0, 0.0, 0.0 }, // 13
3835 {0.333, 0.0, 0.666, 0.0, 0.0, 0.0 }, // 9
3836 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 24
3837 {0.0, 0.0, 0.666, 0.0, 0.333, 0.0}, // 31
3838 {0.222, 0.0, 0.444, 0.111, 0.0, 0.222 }, // 34
3839 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
3840 },
3841 {
3842 // 0 1 2 3 4 5
3843 {0.0, 0.0, 0.666, 0.0, 0.333, 0.0}, // 31
3844 {0.222, 0.0, 0.444, 0.111, 0.0, 0.222 }, // 34
3845 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
3846 {0.0, 0.0, 0.333, 0.0, 0.333, 0.333 }, // 33
3847 {0.111, 0.0, 0.222, 0.222, 0.0, 0.444 }, // 36
3848 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
3849 },
3850 {
3851 // 0 1 2 3 4 5
3852 {0.0, 0.0, 0.333, 0.0, 0.333, 0.333 }, // 33
3853 {0.111, 0.0, 0.222, 0.222, 0.0, 0.444 }, // 36
3854 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
3855 {0.0, 0.0, 0.0, 0.0, 0.333, 0.666 }, // 23
3856 {0.0, 0.0, 0.0, 0.333, 0.0, 0.666 }, // 21
3857 {0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 25
3858 },
3859 {
3860 // 0 1 2 3 4 5
3861 {0.333, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 7
3862 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 24
3863 {0.666, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 6
3864 {0.222, 0.444, 0.0, 0.111, 0.222, 0.0 }, // 27
3865 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
3866 {0.444, 0.222, 0.0, 0.222, 0.111, 0.0 }, // 26
3867 },
3868 {
3869 // 0 1 2 3 4 5
3870 {0.222, 0.444, 0.0, 0.111, 0.222, 0.0 }, // 27
3871 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
3872 {0.444, 0.222, 0.0, 0.222, 0.111, 0.0 }, // 26
3873 {0.111, 0.222, 0.0, 0.222, 0.444, 0.0 }, // 29
3874 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
3875 {0.222, 0.111, 0.0, 0.444, 0.222, 0.0 }, // 28
3876 },
3877 {
3878 // 0 1 2 3 4 5
3879 {0.111, 0.222, 0.0, 0.222, 0.444, 0.0 }, // 29
3880 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
3881 {0.222, 0.111, 0.0, 0.444, 0.222, 0.0 }, // 28
3882 {0.0, 0.0, 0.0, 0.333, 0.666, 0.0 }, // 19
3883 {0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 25
3884 {0.0, 0.0, 0.0, 0.666, 0.333, 0.0 }, // 18
3885 },
3886 {
3887 // 0 1 2 3 4 5
3888 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 24
3889 {0.666, 0.0, 0.333, 0.0, 0.0, 0.0 }, // 8
3890 {0.666, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 6
3891 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
3892 {0.444, 0.0, 0.222, 0.222, 0.0, 0.111 }, // 35
3893 {0.444, 0.222, 0.0, 0.222, 0.111, 0.0 }, // 26
3894 },
3895 {
3896 // 0 1 2 3 4 5
3897 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
3898 {0.444, 0.0, 0.222, 0.222, 0.0, 0.111 }, // 35
3899 {0.444, 0.222, 0.0, 0.222, 0.111, 0.0 }, // 26
3900 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
3901 {0.222, 0.0, 0.111, 0.444, 0.0, 0.222 }, // 37
3902 {0.222, 0.111, 0.0, 0.444, 0.222, 0.0 }, // 28
3903 },
3904 {
3905 // 0 1 2 3 4 5
3906 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
3907 {0.222, 0.0, 0.111, 0.444, 0.0, 0.222 }, // 37
3908 {0.222, 0.111, 0.0, 0.444, 0.222, 0.0 }, // 28
3909 {0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 25
3910 {0.0, 0.0, 0.0, 0.666, 0.0, 0.333 }, // 20
3911 {0.0, 0.0, 0.0, 0.666, 0.333, 0.0 }, // 18
3912 },
3913 {
3914 // 0 1 2 3 4 5
3915 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 24
3916 {0.333, 0.0, 0.666, 0.0, 0.0, 0.0 }, // 9
3917 {0.666, 0.0, 0.333, 0.0, 0.0, 0.0 }, // 8
3918 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
3919 {0.222, 0.0, 0.444, 0.111, 0.0, 0.222 }, // 34
3920 {0.444, 0.0, 0.222, 0.222, 0.0, 0.111 }, // 35
3921 },
3922 {
3923 // 0 1 2 3 4 5
3924 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
3925 {0.222, 0.0, 0.444, 0.111, 0.0, 0.222 }, // 34
3926 {0.444, 0.0, 0.222, 0.222, 0.0, 0.111 }, // 35
3927 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
3928 {0.111, 0.0, 0.222, 0.222, 0.0, 0.444 }, // 36
3929 {0.222, 0.0, 0.111, 0.444, 0.0, 0.222 }, // 37
3930 },
3931 {
3932 // 0 1 2 3 4 5
3933 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
3934 {0.111, 0.0, 0.222, 0.222, 0.0, 0.444 }, // 36
3935 {0.222, 0.0, 0.111, 0.444, 0.0, 0.222 }, // 37
3936 {0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 25
3937 {0.0, 0.0, 0.0, 0.333, 0.0, 0.666 }, // 21
3938 {0.0, 0.0, 0.0, 0.666, 0.0, 0.333 }, // 20
3939 },
3940 {
3941 // 0 1 2 3 4 5
3942 {0.666, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 6
3943 {0.666, 0.0, 0.333, 0.0, 0.0, 0.0 }, // 8
3944 {1.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 0
3945 {0.444, 0.222, 0.0, 0.222, 0.111, 0.0 }, // 26
3946 {0.444, 0.0, 0.222, 0.222, 0.0, 0.111 }, // 35
3947 {0.666, 0.0, 0.0, 0.333, 0.0, 0.0 }, // 10
3948 },
3949 {
3950 // 0 1 2 3 4 5
3951 {0.444, 0.222, 0.0, 0.222, 0.111, 0.0 }, // 26
3952 {0.444, 0.0, 0.222, 0.222, 0.0, 0.111 }, // 35
3953 {0.666, 0.0, 0.0, 0.333, 0.0, 0.0 }, // 10
3954 {0.222, 0.111, 0.0, 0.444, 0.222, 0.0 }, // 28
3955 {0.222, 0.0, 0.111, 0.444, 0.0, 0.222 }, // 37
3956 {0.333, 0.0, 0.0, 0.666, 0.0, 0.0 }, // 11
3957 },
3958 {
3959 // 0 1 2 3 4 5
3960 {0.222, 0.111, 0.0, 0.444, 0.222, 0.0 }, // 28
3961 {0.222, 0.0, 0.111, 0.444, 0.0, 0.222 }, // 37
3962 {0.333, 0.0, 0.0, 0.666, 0.0, 0.0 }, // 11
3963 {0.0, 0.0, 0.0, 0.666, 0.333, 0.0 }, // 18
3964 {0.0, 0.0, 0.0, 0.666, 0.0, 0.333 }, // 20
3965 {0.0, 0.0, 0.0, 1.0, 0.0, 0.0 }, // 3
3966 }
3967};
3968
3969/*---------------------------------------------------------------------------*/
3970/*---------------------------------------------------------------------------*/
3971
3972const double AntiWedgeRight6RefinementPattern4Hex_4HHex7 ::_refine_matrix_1[4][8][6] = {
3973 {
3974 //0 1 2 3 4 5
3975 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0}, // 8
3976 {1.0, 0.0, 0.0, 0.0, 0.0, 0.0}, // 0
3977 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0}, // 6
3978 {0.25, 0.5, 0.25, 0.0, 0.0, 0.0}, // 21
3979 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 18
3980 {0.5, 0.0, 0.0, 0.5, 0.0, 0.0}, // 14
3981 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 19
3982 {0.125, 0.25, 0.125, 0.125, 0.125, 0.25}, // 22
3983 },
3984 {
3985 //0 1 2 3 4 5
3986 {0.0, 0.0, 1.0, 0.0, 0.0, 0.0}, // 2
3987 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0}, // 8
3988 {0.25, 0.5, 0.25, 0.0, 0.0, 0.0}, // 21
3989 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0}, // 7
3990 {0.0, 0.0, 0.5, 0.0, 0.0, 0.5}, // 13
3991 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 18
3992 {0.125, 0.25, 0.125, 0.125, 0.125, 0.25}, // 22
3993 {0.0, 0.25, 0.25, 0.0, 0.0, 0.5}, // 17
3994 },
3995 {
3996 //0 1 2 3 4 5
3997 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 18
3998 {0.5, 0.0, 0.0, 0.5, 0.0, 0.0}, // 14
3999 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 19
4000 {0.125, 0.25, 0.125, 0.125, 0.125, 0.25}, // 22
4001 {0.0, 0.0, 0.0, 0.5, 0.0, 0.5}, // 9
4002 {0.0, 0.0, 0.0, 1.0, 0.0, 0.0}, // 3
4003 {0.0, 0.0, 0.0, 0.5, 0.5, 0.0}, // 10
4004 {0.0, 0.0, 0.0, 0.25, 0.25, 0.5}, // 20
4005 },
4006 {
4007 //0 1 2 3 4 5
4008 {0.0, 0.5, 0.0, 0.0, 0.5, 0.0}, // 12
4009 {0.0, 0.5, 0.0, 0.0, 0.25, 0.25}, // 16
4010 {0.125, 0.25, 0.125, 0.125, 0.125, 0.25}, // 22
4011 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 19
4012 {0.0, 0.0, 0.0, 0.0, 1.0, 0.0}, // 4
4013 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5}, // 11
4014 {0.0, 0.0, 0.0, 0.25, 0.25, 0.5}, // 20
4015 {0.0, 0.0, 0.0, 0.5, 0.5, 0.0}, // 10
4016 },
4017};
4018const Integer AntiWedgeRight6RefinementPattern4Hex_4HHex7 ::_face_mapping_1[4][6] = {
4019 // 0 1 2 3 4 5
4020 {0, 4, 1, 3, 2, 5},
4021 {0, 4, 1, 3, 2, 5},
4022 {5, 2, 3, 0, 4, 1},
4023 {5, 2, 3, 0, 4, 1},
4024};
4025const Integer AntiWedgeRight6RefinementPattern4Hex_4HHex7 ::_face_mapping_topo_1[4][6] = {
4026 // 0 1 2 3 4 5
4027 {1, 0, 1, 0, 1, 0},
4028 {1, 1, 1, 0, 0, 0},
4029 {0, 0, 1, 1, 1, 0},
4030 {0, 1, 1, 1, 0, 0},
4031};
4032//
4033const double AntiWedgeRight6RefinementPattern4Hex_4HHex7 ::_refine_matrix_2[4][7][6] = {
4034 {
4035 //0 1 2 3 4 5
4036 {0.0, 1.0, 0.0, 0.0, 0.0, 0.0}, // 1
4037 {0.25, 0.5, 0.25, 0.0, 0.0, 0.0}, // 21
4038 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0}, // 7
4039 {0.0, 0.25, 0.25, 0.0, 0.0, 0.5}, // 17
4040 {0.0, 0.5, 0.0, 0.0, 0.0, 0.5}, // 15
4041 {0.0, 0.5, 0.0, 0.0, 0.25, 0.25}, // 16
4042 {0.125, 0.25, 0.125, 0.125, 0.125, 0.25}, // 22
4043 },
4044 {
4045 //0 1 2 3 4 5
4046 {0.0, 1.0, 0.0, 0.0, 0.0, 0.0}, // 1
4047 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0}, // 6
4048 {0.25, 0.5, 0.25, 0.0, 0.0, 0.0}, // 21
4049 {0.125, 0.25, 0.125, 0.125, 0.125, 0.25}, // 22
4050 {0.0, 0.5, 0.0, 0.0, 0.25, 0.25}, // 16
4051 {0.0, 0.5, 0.0, 0.0, 0.5, 0.0}, // 12
4052 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 19
4053 },
4054 {
4055 //0 1 2 3 4 5
4056 {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}, // 5
4057 {0.0, 0.25, 0.25, 0.0, 0.0, 0.5}, // 17
4058 {0.0, 0.0, 0.5, 0.0, 0.0, 0.5}, // 13
4059 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 18
4060 {0.0, 0.0, 0.0, 0.5, 0.0, 0.5}, // 9
4061 {0.0, 0.0, 0.0, 0.25, 0.25, 0.5}, // 20
4062 {0.125, 0.25, 0.125, 0.125, 0.125, 0.25}, // 22
4063 },
4064 {
4065 //0 1 2 3 4 5
4066 {0.0, 0.0, 0.0, 0.0, 0.0, 1.0}, // 5
4067 {0.0, 0.5, 0.0, 0.0, 0.0, 0.5}, // 15
4068 {0.0, 0.25, 0.25, 0.0, 0.0, 0.5}, // 17
4069 {0.125, 0.25, 0.125, 0.125, 0.125, 0.25}, // 22
4070 {0.0, 0.0, 0.0, 0.25, 0.25, 0.5}, // 20
4071 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5}, // 11
4072 {0.0, 0.5, 0.0, 0.0, 0.25, 0.25}, // 16
4073 },
4074};
4075const Integer AntiWedgeRight6RefinementPattern4Hex_4HHex7 ::_face_mapping_2[4][6] = {
4076 // 0 1 2 3 4 5
4077 {0, 4, 2, 5, 1, 3},
4078 {0, 4, 2, 5, 1, 3},
4079 {4, 1, 5, 3, 0, 2},
4080 {4, 1, 5, 3, 0, 2},
4081};
4082const Integer AntiWedgeRight6RefinementPattern4Hex_4HHex7 ::_face_mapping_topo_2[4][6] = {
4083 // 0 1 2 3 4 5
4084 {1, 1, 0, 1, 0, 0},
4085 {1, 0, 1, 1, 0, 0},
4086 {1, 1, 0, 1, 0, 0},
4087 {1, 0, 1, 1, 0, 0},
4088};
4089/*---------------------------------------------------------------------------*/
4090/*---------------------------------------------------------------------------*/
4091
4092const double AntiWedgeRight6RefinementPattern4AWR6_4Pr ::_refine_matrix_1[4][6][6] = {
4093 {
4094 // 0 1 2 3 4 5
4095 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 16
4096 {0.0, 0.5, 0.0, 0.0, 0.5, 0.0 }, // 10
4097 {0.0, 0.5, 0.0, 0.0, 0.0, 0.5}, // 17
4098 {0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 12
4099 {0.0, 0.0, 0.0, 0.0, 1.0, 0.0 }, // 4
4100 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 14
4101 },
4102 {
4103 // 0 1 2 3 4 5
4104 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 6
4105 {0.0, 1.0, 0.0, 0.0, 0.0, 0.0 }, // 1
4106 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 9
4107 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 16
4108 {0.0, 0.5, 0.0, 0.0, 0.5, 0.0 }, // 10
4109 {0.0, 0.5, 0.0, 0.0, 0.0, 0.5}, // 17
4110 },
4111 {
4112 // 0 1 2 3 4 5
4113 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 15
4114 {0.0, 0.5, 0.0, 0.0, 0.0, 0.5}, // 17
4115 {0.0, 0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
4116 {0.0, 0.0, 0.0, 0.5, 0.0, 0.5 }, // 13
4117 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 14
4118 {0.0, 0.0, 0.0, 0.0, 0.0, 1.0 }, // 5
4119 },
4120 {
4121 // 0 1 2 3 4 5
4122 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0 }, // 7
4123 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 9
4124 {0.0, 0.0, 1.0, 0.0, 0.0, 0.0 }, // 2
4125 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 15
4126 {0.0, 0.5, 0.0, 0.0, 0.0, 0.5}, // 17
4127 {0.0, 0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
4128 }
4129};
4130
4131//
4132const double AntiWedgeRight6RefinementPattern4AWR6_4Pr ::_refine_matrix_2[4][6][6] = { /* const */
4133 {
4134 // 0 1 2 3 4 5
4135 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 16
4136 {0.0, 0.5, 0.0, 0.0, 0.0, 0.5}, // 17
4137 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 15
4138 {0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 12
4139 {0.0, 0.0, 0.0, 0.0, 0.5, 0.5 }, // 14
4140 {0.0, 0.0, 0.0, 0.5, 0.0, 0.5 }, // 13
4141 },
4142 {
4143 // 0 1 2 3 4 5
4144 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0 }, // 7
4145 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 6
4146 {0.0, 0.5, 0.5, 0.0, 0.0, 0.0 }, // 9
4147 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 15
4148 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 16
4149 {0.0, 0.5, 0.0, 0.0, 0.0, 0.5}, // 17
4150 },
4151 {
4152 // 0 1 2 3 4 5
4153 {1.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 0
4154 {0.5, 0.5, 0.0, 0.0, 0.0, 0.0 }, // 6
4155 {0.5, 0.0, 0.5, 0.0, 0.0, 0.0 }, // 7
4156 {0.5, 0.0, 0.0, 0.5, 0.0, 0.0 }, // 8
4157 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 16
4158 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 15
4159 },
4160 {
4161 // 0 1 2 3 4 5
4162 {0.5, 0.0, 0.0, 0.5, 0.0, 0.0 }, // 8
4163 {0.25, 0.25, 0.0, 0.25, 0.25, 0.0}, // 16
4164 {0.25, 0.0, 0.25, 0.25, 0.0, 0.25}, // 15
4165 {0.0, 0.0, 0.0, 1.0, 0.0, 0.0 }, // 3
4166 {0.0, 0.0, 0.0, 0.5, 0.5, 0.0 }, // 12
4167 {0.0, 0.0, 0.0, 0.5, 0.0, 0.5 }, // 13
4168
4169 }
4170};
4171
4172/*---------------------------------------------------------------------------*/
4173/*---------------------------------------------------------------------------*/
4174
4175const double AntiWedgeRight6RefinementPattern9AWR6_18Pr ::_refine_matrix_1[9][6][6] = {
4176 {
4177 // 0 1 2 3 4 5
4178 {0.333, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 7
4179 {0.0, 1.0, 0.0, 0.0, 0.0, 0.0 }, // 1
4180 {0.0, 0.666, 0.333, 0.0, 0.0, 0.0 }, // 12
4181 {0.222, 0.444, 0.0, 0.111, 0.222, 0.0 }, // 27
4182 {0.0, 0.666, 0.0, 0.0, 0.333, 0.0 }, // 14
4183 {0.0, 0.666, 0.0, 0.0, 0.0, 0.333}, // 30
4184 },
4185 {
4186 // 0 1 2 3 4 5
4187 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 24
4188 {0.0, 0.666, 0.333, 0.0, 0.0, 0.0 }, // 12
4189 {0.0, 0.333, 0.666, 0.0, 0.0, 0.0 }, // 13
4190 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
4191 {0.0, 0.666, 0.0, 0.0, 0.0, 0.333}, // 30
4192 {0.0, 0.333, 0.333, 0.0, 0.0, 0.333}, // 31
4193 },
4194 {
4195 // 0 1 2 3 4 5
4196 {0.333, 0.0, 0.666, 0.0, 0.0, 0.0 }, // 9
4197 {0.0, 0.333, 0.666, 0.0, 0.0, 0.0 }, // 13
4198 {0.0, 0.0, 1.0, 0.0, 0.0, 0.0 }, // 2
4199 {0.222, 0.0, 0.444, 0.111, 0.0, 0.222 }, // 34
4200 {0.0, 0.333, 0.333, 0.0, 0.0, 0.333}, // 31
4201 {0.0, 0.0, 0.666, 0.0, 0.0, 0.333 }, // 16
4202 },
4203 {
4204 // 0 1 2 3 4 5
4205 {0.222, 0.444, 0.0, 0.111, 0.222, 0.0 }, // 27
4206 {0.0, 0.666, 0.0, 0.0, 0.333, 0.0 }, // 14
4207 {0.0, 0.666, 0.0, 0.0, 0.0, 0.333}, // 30
4208 {0.111, 0.222, 0.0, 0.222, 0.444, 0.0 }, // 29
4209 {0.0, 0.333, 0.0, 0.0, 0.666, 0.0 }, // 15
4210 {0.0, 0.333, 0.0, 0.0, 0.333, 0.333}, // 32
4211 },
4212 {
4213 // 0 1 2 3 4 5
4214 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
4215 {0.0, 0.666, 0.0, 0.0, 0.0, 0.333}, // 30
4216 {0.0, 0.333, 0.333, 0.0, 0.0, 0.333}, // 31
4217 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
4218 {0.0, 0.333, 0.0, 0.0, 0.333, 0.333}, // 32
4219 {0.0, 0.333, 0.0, 0.0, 0.0, 0.666}, // 33
4220 },
4221 {
4222 // 0 1 2 3 4 5
4223 {0.222, 0.0, 0.444, 0.111, 0.0, 0.222 }, // 34
4224 {0.0, 0.333, 0.333, 0.0, 0.0, 0.333}, // 31
4225 {0.0, 0.0, 0.666, 0.0, 0.0, 0.333 }, // 16
4226 {0.111, 0.0, 0.222, 0.222, 0.0, 0.444 }, // 36
4227 {0.0, 0.333, 0.0, 0.0, 0.0, 0.666}, // 33
4228 {0.0, 0.0, 0.333, 0.0, 0.0, 0.666 }, // 17
4229 },
4230 {
4231 // 0 1 2 3 4 5
4232 {0.111, 0.222, 0.0, 0.222, 0.444, 0.0 }, // 29
4233 {0.0, 0.333, 0.0, 0.0, 0.666, 0.0 }, // 15
4234 {0.0, 0.333, 0.0, 0.0, 0.333, 0.333}, // 32
4235 {0.0, 0.0, 0.0, 0.333, 0.666, 0.0 }, // 19
4236 {0.0, 0.0, 0.0, 0.0, 1.0, 0.0 }, // 4
4237 {0.0, 0.0, 0.0, 0.0, 0.666, 0.333 }, // 22
4238 },
4239 {
4240 // 0 1 2 3 4 5
4241 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
4242 {0.0, 0.333, 0.0, 0.0, 0.333, 0.333}, // 32
4243 {0.0, 0.333, 0.0, 0.0, 0.0, 0.666}, // 33
4244 {0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 25
4245 {0.0, 0.0, 0.0, 0.0, 0.666, 0.333 }, // 22
4246 {0.0, 0.0, 0.0, 0.0, 0.333, 0.666 }, // 23
4247 },
4248 {
4249 // 0 1 2 3 4 5
4250 {0.111, 0.0, 0.222, 0.222, 0.0, 0.444 }, // 36
4251 {0.0, 0.333, 0.0, 0.0, 0.0, 0.666}, // 33
4252 {0.0, 0.0, 0.333, 0.0, 0.0, 0.666 }, // 17
4253 {0.0, 0.0, 0.0, 0.333, 0.0, 0.666 }, // 21
4254 {0.0, 0.0, 0.0, 0.0, 0.333, 0.666 }, // 23
4255 {0.0, 0.0, 0.0, 0.0, 0.0, 1.0 }, // 5
4256 }
4257};
4258
4259//
4260const double AntiWedgeRight6RefinementPattern9AWR6_18Pr ::_refine_matrix_2[18][6][6] = { /* const */
4261 {
4262 // 0 1 2 3 4 5
4263 {0.0, 0.666, 0.333, 0.0, 0.0, 0.0 }, // 12
4264 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 24
4265 {0.333, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 7
4266 {0.0, 0.666, 0.0, 0.0, 0.0, 0.333}, // 30
4267 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
4268 {0.222, 0.444, 0.0, 0.111, 0.222, 0.0 }, // 27
4269 },
4270 {
4271 // 0 1 2 3 4 5
4272 {0.0, 0.666, 0.0, 0.0, 0.0, 0.333}, // 30
4273 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
4274 {0.222, 0.444, 0.0, 0.111, 0.222, 0.0 }, // 27
4275 {0.0, 0.333, 0.0, 0.0, 0.333, 0.333}, // 32
4276 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
4277 {0.111, 0.222, 0.0, 0.222, 0.444, 0.0 }, // 29
4278 },
4279 {
4280 // 0 1 2 3 4 5
4281 {0.0, 0.333, 0.0, 0.0, 0.333, 0.333}, // 32
4282 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
4283 {0.111, 0.222, 0.0, 0.222, 0.444, 0.0 }, // 29
4284 {0.0, 0.0, 0.0, 0.0, 0.666, 0.333 }, // 22
4285 {0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 25
4286 {0.0, 0.0, 0.0, 0.333, 0.666, 0.0 }, // 19
4287 },
4288 {
4289 // 0 1 2 3 4 5
4290 {0.0, 0.333, 0.666, 0.0, 0.0, 0.0 }, // 13
4291 {0.333, 0.0, 0.666, 0.0, 0.0, 0.0 }, // 9
4292 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 24
4293 {0.0, 0.333, 0.333, 0.0, 0.0, 0.333}, // 31
4294 {0.222, 0.0, 0.444, 0.111, 0.0, 0.222 }, // 34
4295 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
4296 },
4297 {
4298 // 0 1 2 3 4 5
4299 {0.0, 0.333, 0.333, 0.0, 0.0, 0.333}, // 31
4300 {0.222, 0.0, 0.444, 0.111, 0.0, 0.222 }, // 34
4301 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
4302 {0.0, 0.333, 0.0, 0.0, 0.0, 0.666}, // 33
4303 {0.111, 0.0, 0.222, 0.222, 0.0, 0.444 }, // 36
4304 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
4305 },
4306 {
4307 // 0 1 2 3 4 5
4308 {0.0, 0.333, 0.0, 0.0, 0.0, 0.666}, // 33
4309 {0.111, 0.0, 0.222, 0.222, 0.0, 0.444 }, // 36
4310 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
4311 {0.0, 0.0, 0.0, 0.0, 0.333, 0.666 }, // 23
4312 {0.0, 0.0, 0.0, 0.333, 0.0, 0.666 }, // 21
4313 {0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 25
4314 },
4315 {
4316 // 0 1 2 3 4 5
4317 {0.333, 0.666, 0.0, 0.0, 0.0, 0.0 }, // 7
4318 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 24
4319 {0.666, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 6
4320 {0.222, 0.444, 0.0, 0.111, 0.222, 0.0 }, // 27
4321 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
4322 {0.444, 0.222, 0.0, 0.222, 0.111, 0.0 }, // 26
4323 },
4324 {
4325 // 0 1 2 3 4 5
4326 {0.222, 0.444, 0.0, 0.111, 0.222, 0.0 }, // 27
4327 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
4328 {0.444, 0.222, 0.0, 0.222, 0.111, 0.0 }, // 26
4329 {0.111, 0.222, 0.0, 0.222, 0.444, 0.0 }, // 29
4330 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
4331 {0.222, 0.111, 0.0, 0.444, 0.222, 0.0 }, // 28
4332 },
4333 {
4334 // 0 1 2 3 4 5
4335 {0.111, 0.222, 0.0, 0.222, 0.444, 0.0 }, // 29
4336 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
4337 {0.222, 0.111, 0.0, 0.444, 0.222, 0.0 }, // 28
4338 {0.0, 0.0, 0.0, 0.333, 0.666, 0.0 }, // 19
4339 {0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 25
4340 {0.0, 0.0, 0.0, 0.666, 0.333, 0.0 }, // 18
4341 },
4342 {
4343 // 0 1 2 3 4 5
4344 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 24
4345 {0.666, 0.0, 0.333, 0.0, 0.0, 0.0 }, // 8
4346 {0.666, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 6
4347 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
4348 {0.444, 0.0, 0.222, 0.222, 0.0, 0.111 }, // 35
4349 {0.444, 0.222, 0.0, 0.222, 0.111, 0.0 }, // 26
4350 },
4351 {
4352 // 0 1 2 3 4 5
4353 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
4354 {0.444, 0.0, 0.222, 0.222, 0.0, 0.111 }, // 35
4355 {0.444, 0.222, 0.0, 0.222, 0.111, 0.0 }, // 26
4356 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
4357 {0.222, 0.0, 0.111, 0.444, 0.0, 0.222 }, // 37
4358 {0.222, 0.111, 0.0, 0.444, 0.222, 0.0 }, // 28
4359 },
4360 {
4361 // 0 1 2 3 4 5
4362 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
4363 {0.222, 0.0, 0.111, 0.444, 0.0, 0.222 }, // 37
4364 {0.222, 0.111, 0.0, 0.444, 0.222, 0.0 }, // 28
4365 {0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 25
4366 {0.0, 0.0, 0.0, 0.666, 0.0, 0.333 }, // 20
4367 {0.0, 0.0, 0.0, 0.666, 0.333, 0.0 }, // 18
4368 },
4369 {
4370 // 0 1 2 3 4 5
4371 {0.333, 0.333, 0.333, 0.0, 0.0, 0.0 }, // 24
4372 {0.333, 0.0, 0.666, 0.0, 0.0, 0.0 }, // 9
4373 {0.666, 0.0, 0.333, 0.0, 0.0, 0.0 }, // 8
4374 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
4375 {0.222, 0.0, 0.444, 0.111, 0.0, 0.222 }, // 34
4376 {0.444, 0.0, 0.222, 0.222, 0.0, 0.111 }, // 35
4377 },
4378 {
4379 // 0 1 2 3 4 5
4380 {0.222, 0.222, 0.222, 0.111, 0.111, 0.111 }, // 38
4381 {0.222, 0.0, 0.444, 0.111, 0.0, 0.222 }, // 34
4382 {0.444, 0.0, 0.222, 0.222, 0.0, 0.111 }, // 35
4383 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
4384 {0.111, 0.0, 0.222, 0.222, 0.0, 0.444 }, // 36
4385 {0.222, 0.0, 0.111, 0.444, 0.0, 0.222 }, // 37
4386 },
4387 {
4388 // 0 1 2 3 4 5
4389 {0.111, 0.111, 0.111, 0.222, 0.222, 0.222 }, // 39
4390 {0.111, 0.0, 0.222, 0.222, 0.0, 0.444 }, // 36
4391 {0.222, 0.0, 0.111, 0.444, 0.0, 0.222 }, // 37
4392 {0.0, 0.0, 0.0, 0.333, 0.333, 0.333 }, // 25
4393 {0.0, 0.0, 0.0, 0.333, 0.0, 0.666 }, // 21
4394 {0.0, 0.0, 0.0, 0.666, 0.0, 0.333 }, // 20
4395 },
4396 {
4397 // 0 1 2 3 4 5
4398 {0.666, 0.333, 0.0, 0.0, 0.0, 0.0 }, // 6
4399 {0.666, 0.0, 0.333, 0.0, 0.0, 0.0 }, // 8
4400 {1.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, // 0
4401 {0.444, 0.222, 0.0, 0.222, 0.111, 0.0 }, // 26
4402 {0.444, 0.0, 0.222, 0.222, 0.0, 0.111 }, // 35
4403 {0.666, 0.0, 0.0, 0.333, 0.0, 0.0 }, // 10
4404 },
4405 {
4406 // 0 1 2 3 4 5
4407 {0.444, 0.222, 0.0, 0.222, 0.111, 0.0 }, // 26
4408 {0.444, 0.0, 0.222, 0.222, 0.0, 0.111 }, // 35
4409 {0.666, 0.0, 0.0, 0.333, 0.0, 0.0 }, // 10
4410 {0.222, 0.111, 0.0, 0.444, 0.222, 0.0 }, // 28
4411 {0.222, 0.0, 0.111, 0.444, 0.0, 0.222 }, // 37
4412 {0.333, 0.0, 0.0, 0.666, 0.0, 0.0 }, // 11
4413 },
4414 {
4415 // 0 1 2 3 4 5
4416 {0.222, 0.111, 0.0, 0.444, 0.222, 0.0 }, // 28
4417 {0.222, 0.0, 0.111, 0.444, 0.0, 0.222 }, // 37
4418 {0.333, 0.0, 0.0, 0.666, 0.0, 0.0 }, // 11
4419 {0.0, 0.0, 0.0, 0.666, 0.333, 0.0 }, // 18
4420 {0.0, 0.0, 0.0, 0.666, 0.0, 0.333 }, // 20
4421 {0.0, 0.0, 0.0, 1.0, 0.0, 0.0 }, // 3
4422 }
4423};
4424
4425/*---------------------------------------------------------------------------*/
4426/*---------------------------------------------------------------------------*/
4427
4428const double DiTetra5RefinementPattern2Hex_6HHex7 ::_refine_matrix_1[2][8][5] = {
4429 {
4430 // 0 1 2 3 4
4431 {0.5, 0.0, 0.0, 0.5, 0.0 }, // 7
4432 {0.25, 0.5, 0.0, 0.25, 0.0 }, // 16
4433 {0.25, 0.25, 0.25, 0.125, 0.125 }, // 20
4434 {0.5, 0.0, 0.25, 0.25, 0.0 }, // 18
4435 {0.0, 0.0, 0.0, 1.0, 0.0 }, // 3
4436 {0.0, 0.5, 0.0, 0.5, 0.0 }, // 11
4437 {0.0, 0.25, 0.5, 0.25, 0.0 }, // 15
4438 {0.0, 0.0, 0.5, 0.5, 0.0 }, // 6
4439 },
4440 {
4441 // 0 1 2 3 4
4442 {0.5, 0.0, 0.0, 0.0, 0.5 }, // 9
4443 {0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
4444 {0.0, 0.0, 0.5, 0.0, 0.5 }, // 12
4445 {0.25, 0.0, 0.5, 0.0, 0.25 }, // 17
4446 {0.5, 0.25, 0.0, 0.0, 0.25 }, // 14
4447 {0.0, 0.5, 0.0, 0.0, 0.5 }, // 10
4448 {0.0, 0.5, 0.25, 0.0, 0.25 }, // 19
4449 {0.25, 0.25, 0.25, 0.125, 0.125 }, // 20
4450 },
4451};
4452const Integer DiTetra5RefinementPattern2Hex_6HHex7 ::_face_mapping_1[2][6] = {
4453 // 0 1 2 3 4 5
4454 {3, 2, 0, 1, 4, 5},
4455 {5, 2, 3, 0, 4, 1},
4456};
4457const Integer DiTetra5RefinementPattern2Hex_6HHex7 ::_face_mapping_topo_1[2][6] = {
4458 // 0 1 2 3 4 5
4459 {0, 1, 1, 1, 0, 0},
4460 {1, 0, 1, 0, 1, 0},
4461};
4462//
4463const double DiTetra5RefinementPattern2Hex_6HHex7 ::_refine_matrix_2[6][7][5] = {
4464 {
4465 // 0 1 2 3 4
4466 {0.0, 1.0, 0.0, 0.0, 0.0 }, // 1
4467 {0.0, 0.5, 0.25, 0.0, 0.25 }, // 19
4468 {0.0, 0.5, 0.5, 0.0, 0.0 }, // 5
4469 {0.0, 0.25, 0.5, 0.25, 0.0 }, // 15
4470 {0.0, 0.5, 0.0, 0.5, 0.0 }, // 11
4471 {0.25, 0.5, 0.0, 0.25, 0.0 }, // 16
4472 {0.25, 0.25, 0.25, 0.125, 0.125 }, // 20
4473 },
4474 {
4475 // 0 1 2 3 4
4476 {0.0, 1.0, 0.0, 0.0, 0.0 }, // 1
4477 {0.0, 0.5, 0.0, 0.0, 0.5 }, // 10
4478 {0.0, 0.5, 0.25, 0.0, 0.25 }, // 19
4479 {0.25, 0.25, 0.25, 0.125, 0.125 }, // 20
4480 {0.25, 0.5, 0.0, 0.25, 0.0 }, // 16
4481 {0.5, 0.5, 0.0, 0.0, 0.0 }, // 8
4482 {0.5, 0.25, 0.0, 0.0, 0.25 }, // 14
4483 },
4484 {
4485 // 0 1 2 3 4
4486 {1.0, 0.0, 0.0, 0.0, 0.0 }, // 0
4487 {0.5, 0.25, 0.0, 0.0, 0.25 }, // 14
4488 {0.5, 0.5, 0.0, 0.0, 0.0 }, // 8
4489 {0.25, 0.5, 0.0, 0.25, 0.0 }, // 16
4490 {0.5, 0.0, 0.0, 0.5, 0.0 }, // 7
4491 {0.5, 0.0, 0.25, 0.25, 0.0 }, // 18
4492 {0.25, 0.25, 0.25, 0.125, 0.125 }, // 20
4493 },
4494 {
4495 // 0 1 2 3 4
4496 {1.0, 0.0, 0.0, 0.0, 0.0 }, // 0
4497 {0.5, 0.0, 0.0, 0.0, 0.5 }, // 9
4498 {0.5, 0.25, 0.0, 0.0, 0.25 }, // 14
4499 {0.25, 0.25, 0.25, 0.125, 0.125 }, // 20
4500 {0.5, 0.0, 0.25, 0.25, 0.0 }, // 18
4501 {0.5, 0.0, 0.5, 0.0, 0.0 }, // 13
4502 {0.25, 0.0, 0.5, 0.0, 0.25 }, // 17
4503 },
4504 {
4505 // 0 1 2 3 4
4506 {0.0, 0.0, 1.0, 0.0, 0.0 }, // 2
4507 {0.0, 0.25, 0.5, 0.25, 0.0 }, // 15
4508 {0.0, 0.5, 0.5, 0.0, 0.0 }, // 5
4509 {0.0, 0.5, 0.25, 0.0, 0.25 }, // 19
4510 {0.0, 0.0, 0.5, 0.0, 0.5 }, // 12
4511 {0.25, 0.0, 0.5, 0.0, 0.25 }, // 17
4512 {0.25, 0.25, 0.25, 0.125, 0.125 }, // 20
4513 },
4514 {
4515 // 0 1 2 3 4
4516 {0.0, 0.0, 1.0, 0.0, 0.0 }, // 2
4517 {0.0, 0.0, 0.5, 0.5, 0.0 }, // 6
4518 {0.0, 0.25, 0.5, 0.25, 0.0 }, // 15
4519 {0.25, 0.25, 0.25, 0.125, 0.125 }, // 20
4520 {0.25, 0.0, 0.5, 0.0, 0.25 }, // 17
4521 {0.5, 0.0, 0.5, 0.0, 0.0 }, // 13
4522 {0.5, 0.0, 0.25, 0.25, 0.0 }, // 18
4523 }
4524};
4525const Integer DiTetra5RefinementPattern2Hex_6HHex7 ::_face_mapping_2[6][6] = {
4526 // 0 1 2 3 4 5
4527 {4, 1, 3, 0, 5, 2},
4528 {4, 1, 3, 0, 5, 2},
4529 {3, 5, 0, 2, 4, 1},
4530 {3, 5, 0, 2, 4, 1},
4531 {1, 4, 2, 5, 0, 3},
4532 {1, 4, 2, 5, 0, 3},
4533};
4534const Integer DiTetra5RefinementPattern2Hex_6HHex7 ::_face_mapping_topo_2[6][6] = {
4535 // 0 1 2 3 4 5
4536 {1, 1, 0, 1, 0, 0},
4537 {1, 0, 1, 1, 0, 0},
4538 {1, 1, 0, 1, 0, 0},
4539 {1, 0, 1, 1, 0, 0},
4540 {1, 1, 0, 1, 0, 0},
4541 {1, 0, 1, 1, 0, 0},
4542};
4543/*---------------------------------------------------------------------------*/
4544/*---------------------------------------------------------------------------*/
4545
4546const double DiTetra5RefinementPattern3DT_4Py_2T ::_refine_matrix_1[3][5][5] = {
4547 {
4548 // 0 1 2 3 4
4549 {1.0, 0.0, 0.0, 0.0, 0.0 }, // 0
4550 {0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
4551 {0.5, 0.0, 0.5, 0.0, 0.0 }, // 6
4552 {0.5, 0.0, 0.0, 0.5, 0.0 }, // 7
4553 {0.5, 0.0, 0.0, 0.0, 0.5 }, // 8
4554 },
4555 {
4556 // 0 1 2 3 4
4557 {0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
4558 {0.0, 1.0, 0.0, 0.0, 0.0 }, // 1
4559 {0.0, 0.5, 0.5, 0.0, 0.0 }, // 9
4560 {0.0, 0.5, 0.0, 0.5, 0.0 }, // 10
4561 {0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
4562 },
4563 {
4564 // 0 1 2 3 4
4565 {0.5, 0.0, 0.5, 0.0, 0.0 }, // 6
4566 {0.0, 0.5, 0.5, 0.0, 0.0 }, // 9
4567 {0.0, 0.0, 1.0, 0.0, 0.0 }, // 2
4568 {0.0, 0.0, 0.5, 0.5, 0.0 }, // 12
4569 {0.0, 0.0, 0.5, 0.0, 0.5 }, // 13
4570 }
4571};
4572const double DiTetra5RefinementPattern3DT_4Py_2T ::_refine_matrix_2[4][5][5] = {
4573 {
4574 // 0 1 2 3 4
4575 {0.5, 0.0, 0.0, 0.5, 0.0 }, // 7
4576 {0.0, 0.5, 0.0, 0.5, 0.0 }, // 10
4577 {0.0, 0.5, 0.5, 0.0, 0.0 }, // 9
4578 {0.5, 0.0, 0.5, 0.0, 0.0 }, // 6
4579 {0.0, 0.0, 0.5, 0.5, 0.0 }, // 12
4580 },
4581 {
4582 // 0 1 2 3 4
4583 {0.5, 0.0, 0.0, 0.5, 0.0 }, // 7
4584 {0.5, 0.0, 0.5, 0.0, 0.0 }, // 6
4585 {0.0, 0.5, 0.5, 0.0, 0.0 }, // 9
4586 {0.0, 0.5, 0.0, 0.5, 0.0 }, // 10
4587 {0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
4588 },
4589 {
4590 // 0 1 2 3 4
4591 {0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
4592 {0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
4593 {0.0, 0.0, 0.5, 0.0, 0.5 }, // 13
4594 {0.5, 0.0, 0.5, 0.0, 0.0 }, // 6
4595 {0.0, 0.5, 0.5, 0.0, 0.0 }, // 9
4596 },
4597 {
4598 // 0 1 2 3 4
4599 {0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
4600 {0.5, 0.0, 0.5, 0.0, 0.0 }, // 6
4601 {0.0, 0.0, 0.5, 0.0, 0.5 }, // 13
4602 {0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
4603 {0.5, 0.0, 0.0, 0.0, 0.5 }, // 8
4604 }
4605};
4606
4607//
4608const double DiTetra5RefinementPattern3DT_4Py_2T ::_refine_matrix_3[2][4][5] = { /* const */
4609 {
4610 // 0 1 2 3 4
4611 {0.5, 0.0, 0.0, 0.5, 0.0 }, // 7
4612 {0.0, 0.5, 0.0, 0.5, 0.0 }, // 10
4613 {0.0, 0.0, 0.5, 0.5, 0.0 }, // 12
4614 {0.0, 0.0, 0.0, 1.0, 0.0 }, // 3
4615 },
4616 {
4617 // 0 1 2 3 4
4618 {0.5, 0.0, 0.0, 0.0, 0.5 }, // 8
4619 {0.0, 0.0, 0.5, 0.0, 0.5 }, // 13
4620 {0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
4621 {0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
4622 }
4623};
4624
4625
4626/*---------------------------------------------------------------------------*/
4627/*---------------------------------------------------------------------------*/
4628
4629const double DiTetra5RefinementPattern7DT_2T ::_refine_matrix_1[7][5][5] = { /* const */
4630 {
4631 // 0 1 2 3 4
4632 {1.0, 0.0, 0.0, 0.0, 0.0 }, // 0
4633 {0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
4634 {0.5, 0.0, 0.5, 0.0, 0.0 }, // 6
4635 {0.5, 0.0, 0.0, 0.5, 0.0 }, // 7
4636 {0.5, 0.0, 0.0, 0.0, 0.5 }, // 8
4637 },
4638 {
4639 // 0 1 2 3 4
4640 {0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
4641 {0.0, 1.0, 0.0, 0.0, 0.0 }, // 1
4642 {0.0, 0.5, 0.5, 0.0, 0.0 }, // 9
4643 {0.0, 0.5, 0.0, 0.5, 0.0 }, // 10
4644 {0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
4645 },
4646 {
4647 // 0 1 2 3 4
4648 {0.5, 0.0, 0.5, 0.0, 0.0 }, // 6
4649 {0.0, 0.5, 0.5, 0.0, 0.0 }, // 9
4650 {0.0, 0.0, 1.0, 0.0, 0.0 }, // 2
4651 {0.0, 0.0, 0.5, 0.5, 0.0 }, // 12
4652 {0.0, 0.0, 0.5, 0.0, 0.5 }, // 13
4653 },
4654 {
4655 // 0 1 2 3 4
4656 {0.5, 0.0, 0.0, 0.5, 0.0 }, // 7
4657 {0.0, 0.5, 0.0, 0.5, 0.0 }, // 10
4658 {0.0, 0.5, 0.5, 0.0, 0.0 }, // 9
4659 {0.0, 0.0, 0.5, 0.5, 0.0 }, // 12
4660 {0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
4661 },
4662 {
4663 // 0 1 2 3 4
4664 {0.5, 0.0, 0.0, 0.5, 0.0 }, // 7
4665 {0.0, 0.5, 0.5, 0.0, 0.0 }, // 9
4666 {0.5, 0.0, 0.5, 0.0, 0.0 }, // 6
4667 {0.0, 0.0, 0.5, 0.5, 0.0 }, // 12
4668 {0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
4669 },
4670 {
4671 // 0 1 2 3 4
4672 {0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
4673 {0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
4674 {0.0, 0.0, 0.5, 0.0, 0.5 }, // 13
4675 {0.0, 0.5, 0.5, 0.0, 0.0 }, // 9
4676 {0.5, 0.0, 0.0, 0.0, 0.5 }, // 8
4677 },
4678 {
4679 // 0 1 2 3 4
4680 {0.5, 0.5, 0.0, 0.0, 0.0 }, // 5
4681 {0.0, 0.0, 0.5, 0.0, 0.5 }, // 13
4682 {0.5, 0.0, 0.5, 0.0, 0.0 }, // 6
4683 {0.0, 0.5, 0.5, 0.0, 0.0 }, // 9
4684 {0.5, 0.0, 0.0, 0.0, 0.5 }, // 8
4685 }
4686
4687};
4688
4689//
4690const double DiTetra5RefinementPattern7DT_2T ::_refine_matrix_2[2][4][5] = { /* const */
4691 {
4692 // 0 1 2 3 4
4693 {0.5, 0.0, 0.0, 0.5, 0.0 }, // 7
4694 {0.0, 0.5, 0.0, 0.5, 0.0 }, // 10
4695 {0.0, 0.0, 0.5, 0.5, 0.0 }, // 12
4696 {0.0, 0.0, 0.0, 1.0, 0.0 }, // 3
4697 },
4698 {
4699 // 0 1 2 3 4
4700 {0.5, 0.0, 0.0, 0.0, 0.5 }, // 8
4701 {0.0, 0.0, 0.5, 0.0, 0.5 }, // 13
4702 {0.0, 0.5, 0.0, 0.0, 0.5 }, // 11
4703 {0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
4704 }
4705};
4706
4707/*---------------------------------------------------------------------------*/
4708/*---------------------------------------------------------------------------*/
4709
4710const double DiTetra5RefinementPattern64T ::_refine_matrix_1[64][4][5] = { /* const */
4711 // sommets du tétraèdre supérieur
4712 // refine_matrix pour l'enfant 0
4713 {
4714 // 0 1 2 3 4
4715 {1.0, 0.0, 0.0, 0.0, 0.0 }, // 0
4716 {0.75, 0.25, 0.0, 0.0, 0.0 }, // 9
4717 {0.75, 0.0, 0.25, 0.0, 0.0 }, // 13
4718 {0.75, 0.0, 0.0, 0.25, 0.0 }, // 15
4719 },
4720 // refine_matrix pour l'enfant 1
4721 {
4722 // 0 1 2 3 4
4723 {0.75, 0.0, 0.0, 0.25, 0.0 }, // 15
4724 {0.75, 0.25, 0.0, 0.0, 0.0 }, // 9
4725 {0.75, 0.0, 0.25, 0.0, 0.0 }, // 13
4726 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4727 },
4728 // refine_matrix pour l'enfant 2
4729 {
4730 // 0 1 2 3 4
4731 {0.25, 0.75, 0.0, 0.0, 0.0 }, // 10
4732 {0.0, 1.0, 0.0, 0.0, 0.0 }, // 1
4733 {0.0, 0.75, 0.25, 0.0, 0.0 }, // 11
4734 {0.0, 0.75, 0.0, 0.25, 0.0 }, // 17
4735 },
4736 // refine_matrix pour l'enfant 3
4737 {
4738 // 0 1 2 3 4
4739 {0.25, 0.75, 0.0, 0.0, 0.0 }, // 10
4740 {0.0, 0.75, 0.0, 0.25, 0.0 }, // 17
4741 {0.0, 0.75, 0.25, 0.0, 0.0 }, // 11
4742 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4743 },
4744 // refine_matrix pour l'enfant 4
4745 {
4746 // 0 1 2 3 4
4747 {0.25, 0.0, 0.75, 0.0, 0.0 }, // 14
4748 {0.0, 0.25, 0.75, 0.0, 0.0 }, // 12
4749 {0.0, 0.0, 1.0, 0.0, 0.0 }, // 2
4750 {0.0, 0.0, 0.75, 0.25, 0.0 }, // 19
4751 },
4752 // refine_matrix pour l'enfant 5
4753 {
4754 // 0 1 2 3 4
4755 {0.0, 0.25, 0.75, 0.0, 0.0 }, // 12
4756 {0.0, 0.0, 0.75, 0.25, 0.0 }, // 19
4757 {0.25, 0.0, 0.75, 0.0, 0.0 }, // 14
4758 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4759 },
4760 // refine_matrix pour l'enfant 6
4761 {
4762 // 0 1 2 3 4
4763 {0.25, 0.0, 0.0, 0.75, 0.0 }, // 16
4764 {0.0, 0.25, 0.0, 0.75, 0.0 }, // 18
4765 {0.0, 0.0, 0.25, 0.75, 0.0 }, // 20
4766 {0.0, 0.0, 0.0, 1.0, 0.0 }, // 3
4767 },
4768 // refine_matrix pour l'enfant 7
4769 {
4770 // 0 1 2 3 4
4771 {0.0, 0.0, 0.25, 0.75, 0.0 }, // 20
4772 {0.0, 0.25, 0.0, 0.75, 0.0 }, // 18
4773 {0.25, 0.0, 0.0, 0.75, 0.0 }, // 16
4774 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4775 },
4776 // hexagone 1
4777 // refine_matrix pour l'enfant 8
4778 {
4779 // 0 1 2 3 4
4780 {0.75, 0.0, 0.0, 0.25, 0.0 }, // 15
4781 {0.75, 0.25, 0.0, 0.0, 0.0 }, // 9
4782 {0.33, 0.33, 0.0, 0.33, 0.0 }, // 6
4783 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4784 },
4785 // refine_matrix pour l'enfant 9
4786 {
4787 // 0 1 2 3 4
4788 {0.75, 0.25, 0.0, 0.0, 0.0 }, // 9
4789 {0.25, 0.75, 0.0, 0.0, 0.0 }, // 10
4790 {0.33, 0.33, 0.0, 0.33, 0.0 }, // 6
4791 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4792 },
4793 // refine_matrix pour l'enfant 10
4794 {
4795 // 0 1 2 3 4
4796 {0.25, 0.75, 0.0, 0.0, 0.0 }, // 10
4797 {0.0, 0.75, 0.0, 0.25, 0.0 }, // 17
4798 {0.33, 0.33, 0.0, 0.33, 0.0 }, // 6
4799 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4800 },
4801 // refine_matrix pour l'enfant 11
4802 {
4803 // 0 1 2 3 4
4804 {0.0, 0.75, 0.0, 0.25, 0.0 }, // 17
4805 {0.0, 0.25, 0.0, 0.75, 0.0 }, // 18
4806 {0.33, 0.33, 0.0, 0.33, 0.0 }, // 6
4807 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4808 },
4809 // refine_matrix pour l'enfant 12
4810 {
4811 // 0 1 2 3 4
4812 {0.0, 0.25, 0.0, 0.75, 0.0 }, // 18
4813 {0.25, 0.0, 0.0, 0.75, 0.0 }, // 16
4814 {0.33, 0.33, 0.0, 0.33, 0.0 }, // 6
4815 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4816 },
4817 // refine_matrix pour l'enfant 13
4818 {
4819 // 0 1 2 3 4
4820 {0.25, 0.0, 0.0, 0.75, 0.0 }, // 16
4821 {0.75, 0.0, 0.0, 0.25, 0.0 }, // 15
4822 {0.33, 0.33, 0.0, 0.33, 0.0 }, // 6
4823 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4824 },
4825 // hexagone 2
4826 // refine_matrix pour l'enfant 14
4827 {
4828 // 0 1 2 3 4
4829 {0.0, 0.75, 0.0, 0.25, 0.0 }, // 17
4830 {0.0, 0.75, 0.25, 0.0, 0.0 }, // 11
4831 {0.0, 0.33, 0.33, 0.33, 0.0 }, // 7
4832 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4833 },
4834 // refine_matrix pour l'enfant 15
4835 {
4836 // 0 1 2 3 4
4837 {0.0, 0.75, 0.25, 0.0, 0.0 }, // 11
4838 {0.0, 0.25, 0.75, 0.0, 0.0 }, // 12
4839 {0.0, 0.33, 0.33, 0.33, 0.0 }, // 7
4840 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4841 },
4842 // refine_matrix pour l'enfant 16
4843 {
4844 // 0 1 2 3 4
4845 {0.0, 0.25, 0.75, 0.0, 0.0 }, // 12
4846 {0.0, 0.0, 0.75, 0.25, 0.0 }, // 19
4847 {0.0, 0.33, 0.33, 0.33, 0.0 }, // 7
4848 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4849 },
4850 // refine_matrix pour l'enfant 17
4851 {
4852 // 0 1 2 3 4
4853 {0.0, 0.0, 0.75, 0.25, 0.0 }, // 19
4854 {0.0, 0.0, 0.25, 0.75, 0.0 }, // 20
4855 {0.0, 0.33, 0.33, 0.33, 0.0 }, // 7
4856 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4857 },
4858 // refine_matrix pour l'enfant 18
4859 {
4860 // 0 1 2 3 4
4861 {0.0, 0.0, 0.25, 0.75, 0.0 }, // 20
4862 {0.0, 0.25, 0.0, 0.75, 0.0 }, // 18
4863 {0.0, 0.33, 0.33, 0.33, 0.0 }, // 7
4864 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4865 },
4866 // refine_matrix pour l'enfant 19
4867 {
4868 // 0 1 2 3 4
4869 {0.0, 0.25, 0.0, 0.75, 0.0 }, // 18
4870 {0.0, 0.75, 0.0, 0.25, 0.0 }, // 17
4871 {0.0, 0.33, 0.33, 0.33, 0.0 }, // 7
4872 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4873 },
4874 // hexagone 3
4875 // refine_matrix pour l'enfant 20
4876 {
4877 // 0 1 2 3 4
4878 {0.75, 0.0, 0.0, 0.25, 0.0 }, // 15
4879 {0.75, 0.0, 0.25, 0.0, 0.0 }, // 13
4880 {0.33, 0.0, 0.33, 0.33, 0.0 }, // 8
4881 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4882 },
4883 // refine_matrix pour l'enfant 21
4884 {
4885 // 0 1 2 3 4
4886 {0.75, 0.0, 0.25, 0.0, 0.0 }, // 13
4887 {0.25, 0.0, 0.75, 0.0, 0.0 }, // 14
4888 {0.33, 0.0, 0.33, 0.33, 0.0 }, // 8
4889 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4890 },
4891 // refine_matrix pour l'enfant 22
4892 {
4893 // 0 1 2 3 4
4894 {0.25, 0.0, 0.75, 0.0, 0.0 }, // 14
4895 {0.0, 0.0, 0.75, 0.25, 0.0 }, // 19
4896 {0.33, 0.0, 0.33, 0.33, 0.0 }, // 8
4897 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4898 },
4899 // refine_matrix pour l'enfant 23
4900 {
4901 // 0 1 2 3 4
4902 {0.0, 0.0, 0.75, 0.25, 0.0 }, // 19
4903 {0.0, 0.0, 0.25, 0.75, 0.0 }, // 20
4904 {0.33, 0.0, 0.33, 0.33, 0.0 }, // 8
4905 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4906 },
4907 // refine_matrix pour l'enfant 24
4908 {
4909 // 0 1 2 3 4
4910 {0.0, 0.0, 0.25, 0.75, 0.0 }, // 20
4911 {0.25, 0.0, 0.0, 0.75, 0.0 }, // 16
4912 {0.33, 0.0, 0.33, 0.33, 0.0 }, // 8
4913 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4914 },
4915 // refine_matrix pour l'enfant 25
4916 {
4917 // 0 1 2 3 4
4918 {0.25, 0.0, 0.0, 0.75, 0.0 }, // 16
4919 {0.75, 0.0, 0.0, 0.25, 0.0 }, // 15
4920 {0.33, 0.0, 0.33, 0.33, 0.0 }, // 8
4921 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4922 },
4923 // hexagone 4 (interne)
4924 // refine_matrix pour l'enfant 26
4925 {
4926 // 0 1 2 3 4
4927 {0.75, 0.25, 0.0, 0.0, 0.0 }, // 9
4928 {0.25, 0.75, 0.0, 0.0, 0.0 }, // 10
4929 {0.33, 0.33, 0.33, 0.0, 0.0 }, // 5
4930 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4931 },
4932 // refine_matrix pour l'enfant 27
4933 {
4934 // 0 1 2 3 4
4935 {0.25, 0.75, 0.0, 0.0, 0.0 }, // 10
4936 {0.0, 0.75, 0.25, 0.0, 0.0 }, // 11
4937 {0.33, 0.33, 0.33, 0.0, 0.0 }, // 5
4938 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4939 },
4940 // refine_matrix pour l'enfant 28
4941 {
4942 // 0 1 2 3 4
4943 {0.0, 0.75, 0.25, 0.0, 0.0 }, // 11
4944 {0.0, 0.25, 0.75, 0.0, 0.0 }, // 12
4945 {0.33, 0.33, 0.33, 0.0, 0.0 }, // 5
4946 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4947 },
4948 // refine_matrix pour l'enfant 29
4949 {
4950 // 0 1 2 3 4
4951 {0.0, 0.25, 0.75, 0.0, 0.0 }, // 12
4952 {0.25, 0.0, 0.75, 0.0, 0.0 }, // 14
4953 {0.33, 0.33, 0.33, 0.0, 0.0 }, // 5
4954 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4955 },
4956 // refine_matrix pour l'enfant 30
4957 {
4958 // 0 1 2 3 4
4959 {0.25, 0.0, 0.75, 0.0, 0.0 }, // 14
4960 {0.75, 0.0, 0.25, 0.0, 0.0 }, // 13
4961 {0.33, 0.33, 0.33, 0.0, 0.0 }, // 5
4962 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4963 },
4964 // refine_matrix pour l'enfant 31
4965 {
4966 // 0 1 2 3 4
4967 {0.75, 0.0, 0.25, 0.0, 0.0 }, // 13
4968 {0.75, 0.25, 0.0, 0.0, 0.0 }, // 9
4969 {0.33, 0.33, 0.33, 0.0, 0.0 }, // 5
4970 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
4971 },
4972 // hexagone 5 (interne)
4973 // refine_matrix pour l'enfant 32
4974 {
4975 // 0 1 2 3 4
4976 {0.75, 0.25, 0.0, 0.0, 0.0 }, // 9
4977 {0.33, 0.33, 0.33, 0.0, 0.0 }, // 5
4978 {0.25, 0.75, 0.0, 0.0, 0.0 }, // 10
4979 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
4980 },
4981 // refine_matrix pour l'enfant 33
4982 {
4983 // 0 1 2 3 4
4984 {0.25, 0.75, 0.0, 0.0, 0.0 }, // 10
4985 {0.33, 0.33, 0.33, 0.0, 0.0 }, // 5
4986 {0.0, 0.75, 0.25, 0.0, 0.0 }, // 11
4987 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
4988 },
4989 // refine_matrix pour l'enfant 34
4990 {
4991 // 0 1 2 3 4
4992 {0.0, 0.75, 0.25, 0.0, 0.0 }, // 11
4993 {0.33, 0.33, 0.33, 0.0, 0.0 }, // 5
4994 {0.0, 0.25, 0.75, 0.0, 0.0 }, // 12
4995 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
4996 },
4997 // refine_matrix pour l'enfant 35
4998 {
4999 // 0 1 2 3 4
5000 {0.0, 0.25, 0.75, 0.0, 0.0 }, // 12
5001 {0.33, 0.33, 0.33, 0.0, 0.0 }, // 5
5002 {0.25, 0.0, 0.75, 0.0, 0.0 }, // 14
5003 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5004 },
5005 // refine_matrix pour l'enfant 36
5006 {
5007 // 0 1 2 3 4
5008 {0.25, 0.0, 0.75, 0.0, 0.0 }, // 14
5009 {0.33, 0.33, 0.33, 0.0, 0.0 }, // 5
5010 {0.75, 0.0, 0.25, 0.0, 0.0 }, // 13
5011 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5012 },
5013 // refine_matrix pour l'enfant 37
5014 {
5015 // 0 1 2 3 4
5016 {0.75, 0.0, 0.25, 0.0, 0.0 }, // 13
5017 {0.33, 0.33, 0.33, 0.0, 0.0 }, // 5
5018 {0.75, 0.25, 0.0, 0.0, 0.0 }, // 9
5019 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5020 },
5021 // hexagone 6
5022 // refine_matrix pour l'enfant 38
5023 {
5024 // 0 1 2 3 4
5025 {0.75, 0.25, 0.0, 0.0, 0.0 }, // 9
5026 {0.75, 0.0, 0.0, 0.0, 0.25 }, // 22
5027 {0.33, 0.33, 0.0, 0.0, 0.33 }, // 28
5028 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5029 },
5030 // refine_matrix pour l'enfant 39
5031 {
5032 // 0 1 2 3 4
5033 {0.75, 0.0, 0.0, 0.0, 0.25 }, // 22
5034 {0.25, 0.0, 0.0, 0.0, 0.75 }, // 23
5035 {0.33, 0.33, 0.0, 0.0, 0.33 }, // 28
5036 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5037 },
5038 // refine_matrix pour l'enfant 40
5039 {
5040 // 0 1 2 3 4
5041 {0.25, 0.0, 0.0, 0.0, 0.75 }, // 23
5042 {0.0, 0.25, 0.0, 0.0, 0.75 }, // 25
5043 {0.33, 0.33, 0.0, 0.0, 0.33 }, // 28
5044 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5045 },
5046 // refine_matrix pour l'enfant 41
5047 {
5048 // 0 1 2 3 4
5049 {0.0, 0.25, 0.0, 0.0, 0.75 }, // 25
5050 {0.0, 0.75, 0.0, 0.0, 0.25 }, // 24
5051 {0.33, 0.33, 0.0, 0.0, 0.33 }, // 28
5052 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5053 },
5054 // refine_matrix pour l'enfant 42
5055 {
5056 // 0 1 2 3 4
5057 {0.0, 0.75, 0.0, 0.0, 0.25 }, // 24
5058 {0.25, 0.75, 0.0, 0.0, 0.0 }, // 10
5059 {0.33, 0.33, 0.0, 0.0, 0.33 }, // 28
5060 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5061 },
5062 // refine_matrix pour l'enfant 43
5063 {
5064 // 0 1 2 3 4
5065 {0.25, 0.75, 0.0, 0.0, 0.0 }, // 10
5066 {0.75, 0.25, 0.0, 0.0, 0.0 }, // 9
5067 {0.33, 0.33, 0.0, 0.0, 0.33 }, // 28
5068 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5069 },
5070 // hexagone 7
5071 // refine_matrix pour l'enfant 44
5072 {
5073 // 0 1 2 3 4
5074 {0.0, 0.75, 0.25, 0.0, 0.0 }, // 11
5075 {0.0, 0.75, 0.0, 0.0, 0.25 }, // 24
5076 {0.0, 0.33, 0.33, 0.0, 0.33 }, // 29
5077 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5078 },
5079 // refine_matrix pour l'enfant 45
5080 {
5081 // 0 1 2 3 4
5082 {0.0, 0.75, 0.0, 0.0, 0.25 }, // 24
5083 {0.0, 0.25, 0.0, 0.0, 0.75 }, // 25
5084 {0.0, 0.33, 0.33, 0.0, 0.33 }, // 29
5085 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5086 },
5087 // refine_matrix pour l'enfant 46
5088 {
5089 // 0 1 2 3 4
5090 {0.0, 0.25, 0.0, 0.0, 0.75 }, // 25
5091 {0.0, 0.0, 0.25, 0.0, 0.75 }, // 27
5092 {0.0, 0.33, 0.33, 0.0, 0.33 }, // 29
5093 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5094 },
5095 // refine_matrix pour l'enfant 47
5096 {
5097 // 0 1 2 3 4
5098 {0.0, 0.0, 0.25, 0.0, 0.75 }, // 27
5099 {0.0, 0.0, 0.75, 0.0, 0.25 }, // 26
5100 {0.0, 0.33, 0.33, 0.0, 0.33 }, // 29
5101 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5102 },
5103 // refine_matrix pour l'enfant 48
5104 {
5105 // 0 1 2 3 4
5106 {0.0, 0.0, 0.75, 0.0, 0.25 }, // 26
5107 {0.0, 0.25, 0.75, 0.0, 0.0 }, // 12
5108 {0.0, 0.33, 0.33, 0.0, 0.33 }, // 29
5109 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5110 },
5111 // refine_matrix pour l'enfant 49
5112 {
5113 // 0 1 2 3 4
5114 {0.0, 0.25, 0.75, 0.0, 0.0 }, // 12
5115 {0.0, 0.75, 0.25, 0.0, 0.0 }, // 11
5116 {0.0, 0.33, 0.33, 0.0, 0.33 }, // 29
5117 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5118 },
5119 // hexagone 8
5120 // refine_matrix pour l'enfant 50
5121 {
5122 // 0 1 2 3 4
5123 {0.75, 0.0, 0.25, 0.0, 0.0 }, // 13
5124 {0.75, 0.0, 0.0, 0.0, 0.25 }, // 22
5125 {0.33, 0.0, 0.33, 0.0, 0.33 }, // 30
5126 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5127 },
5128 // refine_matrix pour l'enfant 51
5129 {
5130 // 0 1 2 3 4
5131 {0.75, 0.0, 0.0, 0.0, 0.25 }, // 22
5132 {0.25, 0.0, 0.0, 0.0, 0.75 }, // 23
5133 {0.33, 0.0, 0.33, 0.0, 0.33 }, // 30
5134 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5135 },
5136 // refine_matrix pour l'enfant 52
5137 {
5138 // 0 1 2 3 4
5139 {0.25, 0.0, 0.0, 0.0, 0.75 }, // 23
5140 {0.0, 0.0, 0.25, 0.0, 0.75 }, // 27
5141 {0.33, 0.0, 0.33, 0.0, 0.33 }, // 30
5142 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5143 },
5144 // refine_matrix pour l'enfant 53
5145 {
5146 // 0 1 2 3 4
5147 {0.0, 0.0, 0.25, 0.0, 0.75 }, // 27
5148 {0.0, 0.0, 0.75, 0.0, 0.25 }, // 26
5149 {0.33, 0.0, 0.33, 0.0, 0.33 }, // 30
5150 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5151 },
5152 // refine_matrix pour l'enfant 54
5153 {
5154 // 0 1 2 3 4
5155 {0.0, 0.0, 0.75, 0.0, 0.25 }, // 26
5156 {0.25, 0.0, 0.75, 0.0, 0.0 }, // 14
5157 {0.33, 0.0, 0.33, 0.0, 0.33 }, // 30
5158 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5159 },
5160 // refine_matrix pour l'enfant 55
5161 {
5162 // 0 1 2 3 4
5163 {0.25, 0.0, 0.75, 0.0, 0.0 }, // 14
5164 {0.75, 0.0, 0.25, 0.0, 0.0 }, // 13
5165 {0.33, 0.0, 0.33, 0.0, 0.33 }, // 30
5166 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5167 },
5168 // sommets du tétraèdre inférieur
5169 // refine_matrix pour l'enfant 56
5170 {
5171 // 0 1 2 3 4
5172 {1.0, 0.0, 0.0, 0.0, 0.0 }, // 0
5173 {0.75, 0.0, 0.25, 0.0, 0.0 }, // 13
5174 {0.75, 0.25, 0.0, 0.0, 0.0 }, // 9
5175 {0.75, 0.0, 0.0, 0.0, 0.25 }, // 22
5176 },
5177 // refine_matrix pour l'enfant 57
5178 {
5179 // 0 1 2 3 4
5180 {0.75, 0.25, 0.0, 0.0, 0.0 }, // 9
5181 {0.75, 0.0, 0.0, 0.0, 0.25 }, // 22
5182 {0.75, 0.0, 0.25, 0.0, 0.0 }, // 13
5183 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5184 },
5185 // refine_matrix pour l'enfant 58
5186 {
5187 // 0 1 2 3 4
5188 {0.0, 0.25, 0.75, 0.0, 0.0 }, // 12
5189 {0.0, 0.0, 1.0, 0.0, 0.0 }, // 2
5190 {0.25, 0.0, 0.75, 0.0, 0.0 }, // 14
5191 {0.0, 0.0, 0.75, 0.0, 0.25 }, // 26
5192 },
5193 // refine_matrix pour l'enfant 59
5194 {
5195 // 0 1 2 3 4
5196 {0.0, 0.25, 0.75, 0.0, 0.0 }, // 12
5197 {0.25, 0.0, 0.75, 0.0, 0.0 }, // 14
5198 {0.0, 0.0, 0.75, 0.0, 0.25 }, // 26
5199 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5200 },
5201 // refine_matrix pour l'enfant 60
5202 {
5203 // 0 1 2 3 4
5204 {0.25, 0.75, 0.0, 0.0, 0.0 }, // 10
5205 {0.0, 0.75, 0.25, 0.0, 0.0 }, // 11
5206 {0.0, 1.0, 0.0, 0.0, 0.0 }, // 1
5207 {0.0, 0.75, 0.0, 0.0, 0.25 }, // 24
5208 },
5209 // refine_matrix pour l'enfant 61
5210 {
5211 // 0 1 2 3 4
5212 {0.25, 0.75, 0.0, 0.0, 0.0 }, // 10
5213 {0.0, 0.75, 0.0, 0.0, 0.25 }, // 24
5214 {0.0, 0.75, 0.25, 0.0, 0.0 }, // 11
5215 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5216 },
5217 // refine_matrix pour l'enfant 62
5218 {
5219 // 0 1 2 3 4
5220 {0.0, 0.25, 0.0, 0.0, 0.75 }, // 25
5221 {0.25, 0.0, 0.0, 0.0, 0.75 }, // 23
5222 {0.0, 0.0, 0.25, 0.0, 0.75 }, // 27
5223 {0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
5224 },
5225 // refine_matrix pour l'enfant 63
5226 {
5227 // 0 1 2 3 4
5228 {0.0, 0.25, 0.0, 0.0, 0.75 }, // 25
5229 {0.0, 0.0, 0.25, 0.0, 0.75 }, // 27
5230 {0.25, 0.0, 0.0, 0.0, 0.75 }, // 23
5231 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5232 }
5233};
5234
5235/*---------------------------------------------------------------------------*/
5236/*---------------------------------------------------------------------------*/
5237
5238const double DiTetra5RefinementPattern32DT ::_refine_matrix_1[32][5][5] = { /* const */
5239 // sommets du tétraèdre supérieur
5240 // refine_matrix pour l'enfant 0
5241 {
5242 // 0 1 2 3 4
5243 {0.75, 0.25, 0.0, 0.0, 0.0 }, // 9
5244 {0.75, 0.0, 0.0, 0.25, 0.0 }, // 15
5245 {0.75, 0.0, 0.25, 0.0, 0.0 }, // 13
5246 {1.0, 0.0, 0.0, 0.0, 0.0 }, // 0
5247 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
5248 },
5249 // refine_matrix pour l'enfant 1
5250 {
5251 // 0 1 2 3 4
5252 {0.0, 0.75, 0.0, 0.25, 0.0 }, // 17
5253 {0.25, 0.75, 0.0, 0.0, 0.0 }, // 10
5254 {0.0, 0.75, 0.25, 0.0, 0.0 }, // 11
5255 {0.0, 1.0, 0.0, 0.0, 0.0 }, // 1
5256 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
5257 },
5258 // refine_matrix pour l'enfant 1
5259 {
5260 // 0 1 2 3 4
5261 {0.0, 0.0, 0.75, 0.25, 0.0 }, // 19
5262 {0.0, 0.25, 0.75, 0.0, 0.0 }, // 12
5263 {0.25, 0.0, 0.75, 0.0, 0.0 }, // 14
5264 {0.0, 0.0, 1.0, 0.0, 0.0 }, // 2
5265 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
5266 },
5267 // refine_matrix pour l'enfant 1
5268 {
5269 // 0 1 2 3 4
5270 {0.25, 0.0, 0.0, 0.75, 0.0 }, // 16
5271 {0.0, 0.25, 0.0, 0.75, 0.0 }, // 18
5272 {0.0, 0.0, 0.25, 0.75, 0.0 }, // 20
5273 {0.0, 0.0, 0.0, 1.0, 0.0 }, // 3
5274 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
5275 },
5276 // hexagone 1
5277 // refine_matrix pour l'enfant 1
5278 {
5279 // 0 1 2 3 4
5280 {0.33, 0.33, 0.0, 0.33, 0.0 }, // 6
5281 {0.75, 0.25, 0.0, 0.0, 0.0 }, // 9
5282 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
5283 {0.25, 0.75, 0.0, 0.0, 0.0 }, // 10
5284 {0.75, 0.0, 0.0, 0.25, 0.0 }, // 15
5285 },
5286 // refine_matrix pour l'enfant 1
5287 {
5288 // 0 1 2 3 4
5289 {0.33, 0.33, 0.0, 0.33, 0.0 }, // 6
5290 {0.0, 0.75, 0.0, 0.25, 0.0 }, // 17
5291 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
5292 {0.0, 0.25, 0.0, 0.75, 0.0 }, // 18
5293 {0.25, 0.75, 0.0, 0.0, 0.0 }, // 10
5294 },
5295 // refine_matrix pour l'enfant 1
5296 {
5297 // 0 1 2 3 4
5298 {0.33, 0.33, 0.0, 0.33, 0.0 }, // 6
5299 {0.25, 0.0, 0.0, 0.75, 0.0 }, // 16
5300 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
5301 {0.75, 0.0, 0.0, 0.25, 0.0 }, // 15
5302 {0.0, 0.25, 0.0, 0.75, 0.0 }, // 18
5303 },
5304 // hexagone 2
5305 // refine_matrix pour l'enfant 1
5306 {
5307 // 0 1 2 3 4
5308 {0.0, 0.33, 0.33, 0.33, 0.0 }, // 7
5309 {0.0, 0.75, 0.25, 0.0, 0.0 }, // 11
5310 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
5311 {0.0, 0.25, 0.75, 0.0, 0.0 }, // 12
5312 {0.0, 0.75, 0.0, 0.25, 0.0 }, // 17
5313 },
5314 // refine_matrix pour l'enfant 1
5315 {
5316 // 0 1 2 3 4
5317 {0.0, 0.33, 0.33, 0.33, 0.0 }, // 7
5318 {0.0, 0.0, 0.75, 0.25, 0.0 }, // 19
5319 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
5320 {0.0, 0.0, 0.25, 0.75, 0.0 }, // 20
5321 {0.0, 0.25, 0.75, 0.0, 0.0 }, // 12
5322 },
5323 // refine_matrix pour l'enfant 1
5324 {
5325 // 0 1 2 3 4
5326 {0.0, 0.33, 0.33, 0.33, 0.0 }, // 7
5327 {0.0, 0.25, 0.0, 0.75, 0.0 }, // 18
5328 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
5329 {0.0, 0.75, 0.0, 0.25, 0.0 }, // 17
5330 {0.0, 0.0, 0.25, 0.75, 0.0 }, // 20
5331 },
5332 // hexagone 3
5333 // refine_matrix pour l'enfant 1
5334 {
5335 // 0 1 2 3 4
5336 {0.33, 0.0, 0.33, 0.33, 0.0 }, // 8
5337 {0.75, 0.0, 0.25, 0.0, 0.0 }, // 13
5338 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
5339 {0.75, 0.0, 0.0, 0.25, 0.0 }, // 15
5340 {0.25, 0.0, 0.75, 0.0, 0.0 }, // 14
5341 },
5342 // refine_matrix pour l'enfant 1
5343 {
5344 // 0 1 2 3 4
5345 {0.33, 0.0, 0.33, 0.33, 0.0 }, // 8
5346 {0.25, 0.0, 0.0, 0.75, 0.0 }, // 16
5347 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
5348 {0.0, 0.0, 0.25, 0.75, 0.0 }, // 20
5349 {0.75, 0.0, 0.0, 0.25, 0.0 }, // 15
5350 },
5351 // refine_matrix pour l'enfant 1
5352 {
5353 // 0 1 2 3 4
5354 {0.33, 0.0, 0.33, 0.33, 0.0 }, // 8
5355 {0.0, 0.0, 0.75, 0.25, 0.0 }, // 19
5356 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
5357 {0.25, 0.0, 0.75, 0.0, 0.0 }, // 14
5358 {0.0, 0.0, 0.25, 0.75, 0.0 }, // 20
5359 },
5360 //hexagones 4 et 5
5361 // refine_matrix pour l'enfant 1
5362 {
5363 // 0 1 2 3 4
5364 {0.75, 0.25, 0.0, 0.0, 0.0 }, // 9
5365 {0.25, 0.75, 0.0, 0.0, 0.0 }, // 10
5366 {0.33, 0.33, 0.33, 0.0, 0.0 }, // 5
5367 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
5368 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5369 },
5370 // refine_matrix pour l'enfant 1
5371 {
5372 // 0 1 2 3 4
5373 {0.25, 0.75, 0.0, 0.0, 0.0 }, // 10
5374 {0.0, 0.75, 0.25, 0.0, 0.0 }, // 11
5375 {0.33, 0.33, 0.33, 0.0, 0.0 }, // 5
5376 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
5377 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5378 },
5379 // refine_matrix pour l'enfant 1
5380 {
5381 // 0 1 2 3 4
5382 {0.0, 0.75, 0.25, 0.0, 0.0 }, // 11
5383 {0.0, 0.25, 0.75, 0.0, 0.0 }, // 12
5384 {0.33, 0.33, 0.33, 0.0, 0.0 }, // 5
5385 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
5386 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5387 },
5388 // refine_matrix pour l'enfant 1
5389 {
5390 // 0 1 2 3 4
5391 {0.0, 0.25, 0.75, 0.0, 0.0 }, // 12
5392 {0.25, 0.0, 0.75, 0.0, 0.0 }, // 14
5393 {0.33, 0.33, 0.33, 0.0, 0.0 }, // 5
5394 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
5395 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5396 },
5397 // refine_matrix pour l'enfant 1
5398 {
5399 // 0 1 2 3 4
5400 {0.25, 0.0, 0.75, 0.0, 0.0 }, // 14
5401 {0.75, 0.0, 0.25, 0.0, 0.0 }, // 13
5402 {0.33, 0.33, 0.33, 0.0, 0.0 }, // 5
5403 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
5404 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5405 },
5406 // refine_matrix pour l'enfant 1
5407 {
5408 // 0 1 2 3 4
5409 {0.75, 0.0, 0.25, 0.0, 0.0 }, // 13
5410 {0.75, 0.25, 0.0, 0.0, 0.0 }, // 9
5411 {0.33, 0.33, 0.33, 0.0, 0.0 }, // 5
5412 {0.25, 0.25, 0.25, 0.25, 0.0 }, // 21
5413 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5414 },
5415 // hexagone 6
5416 // refine_matrix pour l'enfant 1
5417 {
5418 // 0 1 2 3 4
5419 {0.33, 0.33, 0.0, 0.0, 0.33 }, // 28
5420 {0.75, 0.0, 0.0, 0.0, 0.25 }, // 22
5421 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5422 {0.25, 0.0, 0.0, 0.0, 0.75 }, // 23
5423 {0.75, 0.25, 0.0, 0.0, 0.0 }, // 9
5424 },
5425 // refine_matrix pour l'enfant 1
5426 {
5427 // 0 1 2 3 4
5428 {0.33, 0.33, 0.0, 0.0, 0.33 }, // 28
5429 {0.0, 0.25, 0.0, 0.0, 0.75 }, // 25
5430 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5431 {0.0, 0.75, 0.0, 0.0, 0.25 }, // 24
5432 {0.25, 0.0, 0.0, 0.0, 0.75 }, // 23
5433 },
5434 // refine_matrix pour l'enfant 1
5435 {
5436 // 0 1 2 3 4
5437 {0.33, 0.33, 0.0, 0.0, 0.33 }, // 28
5438 {0.25, 0.75, 0.0, 0.0, 0.0 }, // 10
5439 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5440 {0.75, 0.25, 0.0, 0.0, 0.0 }, // 9
5441 {0.0, 0.75, 0.0, 0.0, 0.25 }, // 24
5442 },
5443 // hexagone 7
5444 // refine_matrix pour l'enfant 1
5445 {
5446 // 0 1 2 3 4
5447 {0.0, 0.33, 0.33, 0.0, 0.33 }, // 29
5448 {0.0, 0.75, 0.0, 0.0, 0.25 }, // 24
5449 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5450 {0.0, 0.25, 0.0, 0.0, 0.75 }, // 25
5451 {0.0, 0.75, 0.25, 0.0, 0.0 }, // 11
5452 },
5453 // refine_matrix pour l'enfant 1
5454 {
5455 // 0 1 2 3 4
5456 {0.0, 0.33, 0.33, 0.0, 0.33 }, // 29
5457 {0.0, 0.0, 0.25, 0.0, 0.75 }, // 27
5458 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5459 {0.0, 0.0, 0.75, 0.0, 0.25 }, // 26
5460 {0.0, 0.25, 0.0, 0.0, 0.75 }, // 25
5461 },
5462 // refine_matrix pour l'enfant 1
5463 {
5464 // 0 1 2 3 4
5465 {0.0, 0.33, 0.33, 0.0, 0.33 }, // 29
5466 {0.0, 0.25, 0.75, 0.0, 0.0 }, // 12
5467 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5468 {0.0, 0.75, 0.25, 0.0, 0.0 }, // 11
5469 {0.0, 0.0, 0.75, 0.0, 0.25 }, // 26
5470 },
5471 // hexagone 8
5472 // refine_matrix pour l'enfant 1
5473 {
5474 // 0 1 2 3 4
5475 {0.33, 0.0, 0.33, 0.0, 0.33 }, // 30
5476 {0.75, 0.0, 0.0, 0.0, 0.25 }, // 22
5477 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5478 {0.75, 0.0, 0.25, 0.0, 0.0 }, // 13
5479 {0.25, 0.0, 0.0, 0.0, 0.75 }, // 23
5480 },
5481 // refine_matrix pour l'enfant 1
5482 {
5483 // 0 1 2 3 4
5484 {0.33, 0.0, 0.33, 0.0, 0.33 }, // 30
5485 {0.25, 0.0, 0.75, 0.0, 0.0 }, // 14
5486 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5487 {0.0, 0.0, 0.75, 0.0, 0.25 }, // 26
5488 {0.75, 0.0, 0.25, 0.0, 0.0 }, // 13
5489 },
5490 // refine_matrix pour l'enfant 1
5491 {
5492 // 0 1 2 3 4
5493 {0.33, 0.0, 0.33, 0.0, 0.33 }, // 30
5494 {0.0, 0.0, 0.25, 0.0, 0.75 }, // 27
5495 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5496 {0.25, 0.0, 0.0, 0.0, 0.75 }, // 23
5497 {0.0, 0.0, 0.75, 0.0, 0.25 }, // 26
5498 },
5499 // sommets du tétraèdre inférieur
5500 // refine_matrix pour l'enfant 1
5501 {
5502 // 0 1 2 3 4
5503 {0.75, 0.25, 0.0, 0.0, 0.0 }, // 9
5504 {0.75, 0.0, 0.25, 0.0, 0.0 }, // 13
5505 {0.75, 0.0, 0.0, 0.0, 0.25 }, // 22
5506 {1.0, 0.0, 0.0, 0.0, 0.0 }, // 0
5507 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5508 },
5509 // refine_matrix pour l'enfant 1
5510 {
5511 // 0 1 2 3 4
5512 {0.0, 0.25, 0.75, 0.0, 0.0 }, // 12
5513 {0.0, 0.0, 0.75, 0.0, 0.25 }, // 26
5514 {0.25, 0.0, 0.75, 0.0, 0.0 }, // 14
5515 {0.0, 0.0, 1.0, 0.0, 0.0 }, // 2
5516 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5517 },
5518 // refine_matrix pour l'enfant 1
5519 {
5520 // 0 1 2 3 4
5521 {0.25, 0.75, 0.0, 0.0, 0.0 }, // 10
5522 {0.0, 0.75, 0.0, 0.0, 0.25 }, // 24
5523 {0.0, 0.75, 0.25, 0.0, 0.0 }, // 11
5524 {0.0, 1.0, 0.0, 0.0, 0.0 }, // 1
5525 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5526 },
5527 // refine_matrix pour l'enfant 1
5528 {
5529 // 0 1 2 3 4
5530 {0.0, 0.25, 0.0, 0.0, 0.75 }, // 25
5531 {0.25, 0.0, 0.0, 0.0, 0.75 }, // 23
5532 {0.0, 0.0, 0.25, 0.0, 0.75 }, // 27
5533 {0.0, 0.0, 0.0, 0.0, 1.0 }, // 4
5534 {0.25, 0.25, 0.25, 0.0, 0.25 }, // 31
5535 }
5536};
5537
5538/*---------------------------------------------------------------------------*/
5539/*---------------------------------------------------------------------------*/
5540
5541} // End namespace Arcane
5542
5543/*---------------------------------------------------------------------------*/
5544/*---------------------------------------------------------------------------*/
5545
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.