Merge branch 'master' of ssh://git.code.sf.net/p/foam-extend/foam-extend-3.2
[foam-extend-3.2.git] / tutorials / incompressible / MRFSimpleFoam / mixerVessel2D / constant / polyMesh / blockMeshDict.m4
blob63167b1625ce778960558a373a9e30d764d44acf
1 /*--------------------------------*- C++ -*----------------------------------*\
2 | =========                 |                                                 |
3 | \\      /  F ield         | foam-extend: Open Source CFD                    |
4 |  \\    /   O peration     | Version:     3.2                                |
5 |   \\  /    A nd           | Web:         http://www.foam-extend.org         |
6 |    \\/     M anipulation  |                                                 |
7 \*---------------------------------------------------------------------------*/
8 FoamFile
10     version     2.0;
11     format      ascii;
12     class       dictionary;
13     object      blockMeshDict;
15 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
16 // General macros to create 2D/extruded-2D meshes
18 changecom(//)changequote([,])
19 define(calc, [esyscmd(perl -e 'printf ($1)')])
20 //define(calc, [esyscmd(echo $1 | bc | tr -d \\n)])
21 define(VCOUNT, 0)
22 define(vlabel, [[// ]Vertex $1 = VCOUNT define($1, VCOUNT)define([VCOUNT], incr(VCOUNT))])
23 define(pi, 3.14159265)
25 define(hex2D, hex ($1b $2b $3b $4b $1t $2t $3t $4t))
26 define(quad2D, ($1b $2b $2t $1t))
27 define(frontQuad, ($1t $2t $3t $4t))
28 define(backQuad, ($1b $4b $3b $2b))
30 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
32 convertToMeters 0.1;
34 // Hub radius
35 define(r, 0.2)
37 // Impeller-tip radius
38 define(rb, 0.5)
40 // Baffle-tip radius
41 define(Rb, 0.7)
43 // Tank radius
44 define(R, 1)
46 // MRF region radius
47 define(ri, calc(0.5*(rb + Rb)))
49 // Thickness of 2D slab
50 define(z, 0.1)
52 // Base z
53 define(Zb, 0)
55 // Top z
56 define(Zt, calc(Zb + z))
58 // Number of cells radially between hub and impeller tip
59 define(Nr, 12)
61 // Number of cells radially in each of the two regions between
62 // impeller and baffle tips
63 define(Ni, 4)
65 // Number of cells radially between baffle tip and tank
66 define(NR, 12)
68 // Number of cells azimuthally in each of the 8 blocks
69 define(Na, 12)
71 // Number of cells in the thickness of the slab
72 define(Nz, 1)
74 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
76 define(vert, (x$1$2 y$1$2 $3))
77 define(evert, (ex$1$2 ey$1$2 $3))
79 define(a0, 0)
80 define(a1, -45)
81 define(a2, -90)
82 define(a3, -135)
83 define(a4, 180)
84 define(a5, 135)
85 define(a6, 90)
86 define(a7, 45)
88 define(ea0, -22.5)
89 define(ea1, -67.5)
90 define(ea2, -112.5)
91 define(ea3, -157.5)
92 define(ea4, 157.5)
93 define(ea5, 112.5)
94 define(ea6, 67.5)
95 define(ea7, 22.5)
97 define(ca0, calc(cos((pi/180)*a0)))
98 define(ca1, calc(cos((pi/180)*a1)))
99 define(ca2, calc(cos((pi/180)*a2)))
100 define(ca3, calc(cos((pi/180)*a3)))
101 define(ca4, calc(cos((pi/180)*a4)))
102 define(ca5, calc(cos((pi/180)*a5)))
103 define(ca6, calc(cos((pi/180)*a6)))
104 define(ca7, calc(cos((pi/180)*a7)))
106 define(sa0, calc(sin((pi/180)*a0)))
107 define(sa1, calc(sin((pi/180)*a1)))
108 define(sa2, calc(sin((pi/180)*a2)))
109 define(sa3, calc(sin((pi/180)*a3)))
110 define(sa4, calc(sin((pi/180)*a4)))
111 define(sa5, calc(sin((pi/180)*a5)))
112 define(sa6, calc(sin((pi/180)*a6)))
113 define(sa7, calc(sin((pi/180)*a7)))
115 define(cea0, calc(cos((pi/180)*ea0)))
116 define(cea1, calc(cos((pi/180)*ea1)))
117 define(cea2, calc(cos((pi/180)*ea2)))
118 define(cea3, calc(cos((pi/180)*ea3)))
119 define(cea4, calc(cos((pi/180)*ea4)))
120 define(cea5, calc(cos((pi/180)*ea5)))
121 define(cea6, calc(cos((pi/180)*ea6)))
122 define(cea7, calc(cos((pi/180)*ea7)))
124 define(sea0, calc(sin((pi/180)*ea0)))
125 define(sea1, calc(sin((pi/180)*ea1)))
126 define(sea2, calc(sin((pi/180)*ea2)))
127 define(sea3, calc(sin((pi/180)*ea3)))
128 define(sea4, calc(sin((pi/180)*ea4)))
129 define(sea5, calc(sin((pi/180)*ea5)))
130 define(sea6, calc(sin((pi/180)*ea6)))
131 define(sea7, calc(sin((pi/180)*ea7)))
133 define(x00, calc(r*ca0))
134 define(x01, calc(r*ca1))
135 define(x02, calc(r*ca2))
136 define(x03, calc(r*ca3))
137 define(x04, calc(r*ca4))
138 define(x05, calc(r*ca5))
139 define(x06, calc(r*ca6))
140 define(x07, calc(r*ca7))
142 define(x10, calc(rb*ca0))
143 define(x11, calc(rb*ca1))
144 define(x12, calc(rb*ca2))
145 define(x13, calc(rb*ca3))
146 define(x14, calc(rb*ca4))
147 define(x15, calc(rb*ca5))
148 define(x16, calc(rb*ca6))
149 define(x17, calc(rb*ca7))
151 define(x20, calc(ri*ca0))
152 define(x21, calc(ri*ca1))
153 define(x22, calc(ri*ca2))
154 define(x23, calc(ri*ca3))
155 define(x24, calc(ri*ca4))
156 define(x25, calc(ri*ca5))
157 define(x26, calc(ri*ca6))
158 define(x27, calc(ri*ca7))
160 define(x30, calc(Rb*ca0))
161 define(x31, calc(Rb*ca1))
162 define(x32, calc(Rb*ca2))
163 define(x33, calc(Rb*ca3))
164 define(x34, calc(Rb*ca4))
165 define(x35, calc(Rb*ca5))
166 define(x36, calc(Rb*ca6))
167 define(x37, calc(Rb*ca7))
169 define(x40, calc(R*ca0))
170 define(x41, calc(R*ca1))
171 define(x42, calc(R*ca2))
172 define(x43, calc(R*ca3))
173 define(x44, calc(R*ca4))
174 define(x45, calc(R*ca5))
175 define(x46, calc(R*ca6))
176 define(x47, calc(R*ca7))
178 define(y00, calc(r*sa0))
179 define(y01, calc(r*sa1))
180 define(y02, calc(r*sa2))
181 define(y03, calc(r*sa3))
182 define(y04, calc(r*sa4))
183 define(y05, calc(r*sa5))
184 define(y06, calc(r*sa6))
185 define(y07, calc(r*sa7))
187 define(y10, calc(rb*sa0))
188 define(y11, calc(rb*sa1))
189 define(y12, calc(rb*sa2))
190 define(y13, calc(rb*sa3))
191 define(y14, calc(rb*sa4))
192 define(y15, calc(rb*sa5))
193 define(y16, calc(rb*sa6))
194 define(y17, calc(rb*sa7))
196 define(y20, calc(ri*sa0))
197 define(y21, calc(ri*sa1))
198 define(y22, calc(ri*sa2))
199 define(y23, calc(ri*sa3))
200 define(y24, calc(ri*sa4))
201 define(y25, calc(ri*sa5))
202 define(y26, calc(ri*sa6))
203 define(y27, calc(ri*sa7))
205 define(y30, calc(Rb*sa0))
206 define(y31, calc(Rb*sa1))
207 define(y32, calc(Rb*sa2))
208 define(y33, calc(Rb*sa3))
209 define(y34, calc(Rb*sa4))
210 define(y35, calc(Rb*sa5))
211 define(y36, calc(Rb*sa6))
212 define(y37, calc(Rb*sa7))
214 define(y40, calc(R*sa0))
215 define(y41, calc(R*sa1))
216 define(y42, calc(R*sa2))
217 define(y43, calc(R*sa3))
218 define(y44, calc(R*sa4))
219 define(y45, calc(R*sa5))
220 define(y46, calc(R*sa6))
221 define(y47, calc(R*sa7))
223 define(ex00, calc(r*cea0))
224 define(ex01, calc(r*cea1))
225 define(ex02, calc(r*cea2))
226 define(ex03, calc(r*cea3))
227 define(ex04, calc(r*cea4))
228 define(ex05, calc(r*cea5))
229 define(ex06, calc(r*cea6))
230 define(ex07, calc(r*cea7))
232 define(ex10, calc(rb*cea0))
233 define(ex11, calc(rb*cea1))
234 define(ex12, calc(rb*cea2))
235 define(ex13, calc(rb*cea3))
236 define(ex14, calc(rb*cea4))
237 define(ex15, calc(rb*cea5))
238 define(ex16, calc(rb*cea6))
239 define(ex17, calc(rb*cea7))
241 define(ex20, calc(ri*cea0))
242 define(ex21, calc(ri*cea1))
243 define(ex22, calc(ri*cea2))
244 define(ex23, calc(ri*cea3))
245 define(ex24, calc(ri*cea4))
246 define(ex25, calc(ri*cea5))
247 define(ex26, calc(ri*cea6))
248 define(ex27, calc(ri*cea7))
250 define(ex30, calc(Rb*cea0))
251 define(ex31, calc(Rb*cea1))
252 define(ex32, calc(Rb*cea2))
253 define(ex33, calc(Rb*cea3))
254 define(ex34, calc(Rb*cea4))
255 define(ex35, calc(Rb*cea5))
256 define(ex36, calc(Rb*cea6))
257 define(ex37, calc(Rb*cea7))
259 define(ex40, calc(R*cea0))
260 define(ex41, calc(R*cea1))
261 define(ex42, calc(R*cea2))
262 define(ex43, calc(R*cea3))
263 define(ex44, calc(R*cea4))
264 define(ex45, calc(R*cea5))
265 define(ex46, calc(R*cea6))
266 define(ex47, calc(R*cea7))
268 define(ey00, calc(r*sea0))
269 define(ey01, calc(r*sea1))
270 define(ey02, calc(r*sea2))
271 define(ey03, calc(r*sea3))
272 define(ey04, calc(r*sea4))
273 define(ey05, calc(r*sea5))
274 define(ey06, calc(r*sea6))
275 define(ey07, calc(r*sea7))
277 define(ey10, calc(rb*sea0))
278 define(ey11, calc(rb*sea1))
279 define(ey12, calc(rb*sea2))
280 define(ey13, calc(rb*sea3))
281 define(ey14, calc(rb*sea4))
282 define(ey15, calc(rb*sea5))
283 define(ey16, calc(rb*sea6))
284 define(ey17, calc(rb*sea7))
286 define(ey20, calc(ri*sea0))
287 define(ey21, calc(ri*sea1))
288 define(ey22, calc(ri*sea2))
289 define(ey23, calc(ri*sea3))
290 define(ey24, calc(ri*sea4))
291 define(ey25, calc(ri*sea5))
292 define(ey26, calc(ri*sea6))
293 define(ey27, calc(ri*sea7))
295 define(ey30, calc(Rb*sea0))
296 define(ey31, calc(Rb*sea1))
297 define(ey32, calc(Rb*sea2))
298 define(ey33, calc(Rb*sea3))
299 define(ey34, calc(Rb*sea4))
300 define(ey35, calc(Rb*sea5))
301 define(ey36, calc(Rb*sea6))
302 define(ey37, calc(Rb*sea7))
304 define(ey40, calc(R*sea0))
305 define(ey41, calc(R*sea1))
306 define(ey42, calc(R*sea2))
307 define(ey43, calc(R*sea3))
308 define(ey44, calc(R*sea4))
309 define(ey45, calc(R*sea5))
310 define(ey46, calc(R*sea6))
311 define(ey47, calc(R*sea7))
313 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
315 vertices
317     vert(0, 0, Zb) vlabel(r0b)
318     vert(0, 0, Zb) vlabel(r0sb)
319     vert(0, 1, Zb) vlabel(r1b)
320     vert(0, 2, Zb) vlabel(r2b)
321     vert(0, 2, Zb) vlabel(r2sb)
322     vert(0, 3, Zb) vlabel(r3b)
323     vert(0, 4, Zb) vlabel(r4b)
324     vert(0, 4, Zb) vlabel(r4sb)
325     vert(0, 5, Zb) vlabel(r5b)
326     vert(0, 6, Zb) vlabel(r6b)
327     vert(0, 6, Zb) vlabel(r6sb)
328     vert(0, 7, Zb) vlabel(r7b)
330     vert(1, 0, Zb) vlabel(rb0b)
331     vert(1, 1, Zb) vlabel(rb1b)
332     vert(1, 2, Zb) vlabel(rb2b)
333     vert(1, 3, Zb) vlabel(rb3b)
334     vert(1, 4, Zb) vlabel(rb4b)
335     vert(1, 5, Zb) vlabel(rb5b)
336     vert(1, 6, Zb) vlabel(rb6b)
337     vert(1, 7, Zb) vlabel(rb7b)
339     vert(2, 0, Zb) vlabel(ri0b)
340     vert(2, 1, Zb) vlabel(ri1b)
341     vert(2, 2, Zb) vlabel(ri2b)
342     vert(2, 3, Zb) vlabel(ri3b)
343     vert(2, 4, Zb) vlabel(ri4b)
344     vert(2, 5, Zb) vlabel(ri5b)
345     vert(2, 6, Zb) vlabel(ri6b)
346     vert(2, 7, Zb) vlabel(ri7b)
348     vert(3, 0, Zb) vlabel(Rb0b)
349     vert(3, 1, Zb) vlabel(Rb1b)
350     vert(3, 2, Zb) vlabel(Rb2b)
351     vert(3, 3, Zb) vlabel(Rb3b)
352     vert(3, 4, Zb) vlabel(Rb4b)
353     vert(3, 5, Zb) vlabel(Rb5b)
354     vert(3, 6, Zb) vlabel(Rb6b)
355     vert(3, 7, Zb) vlabel(Rb7b)
357     vert(4, 0, Zb) vlabel(R0b)
358     vert(4, 1, Zb) vlabel(R1b)
359     vert(4, 1, Zb) vlabel(R1sb)
360     vert(4, 2, Zb) vlabel(R2b)
361     vert(4, 3, Zb) vlabel(R3b)
362     vert(4, 3, Zb) vlabel(R3sb)
363     vert(4, 4, Zb) vlabel(R4b)
364     vert(4, 5, Zb) vlabel(R5b)
365     vert(4, 5, Zb) vlabel(R5sb)
366     vert(4, 6, Zb) vlabel(R6b)
367     vert(4, 7, Zb) vlabel(R7b)
368     vert(4, 7, Zb) vlabel(R7sb)
370     vert(0, 0, Zt) vlabel(r0t)
371     vert(0, 0, Zt) vlabel(r0st)
372     vert(0, 1, Zt) vlabel(r1t)
373     vert(0, 2, Zt) vlabel(r2t)
374     vert(0, 2, Zt) vlabel(r2st)
375     vert(0, 3, Zt) vlabel(r3t)
376     vert(0, 4, Zt) vlabel(r4t)
377     vert(0, 4, Zt) vlabel(r4st)
378     vert(0, 5, Zt) vlabel(r5t)
379     vert(0, 6, Zt) vlabel(r6t)
380     vert(0, 6, Zt) vlabel(r6st)
381     vert(0, 7, Zt) vlabel(r7t)
383     vert(1, 0, Zt) vlabel(rb0t)
384     vert(1, 1, Zt) vlabel(rb1t)
385     vert(1, 2, Zt) vlabel(rb2t)
386     vert(1, 3, Zt) vlabel(rb3t)
387     vert(1, 4, Zt) vlabel(rb4t)
388     vert(1, 5, Zt) vlabel(rb5t)
389     vert(1, 6, Zt) vlabel(rb6t)
390     vert(1, 7, Zt) vlabel(rb7t)
392     vert(2, 0, Zt) vlabel(ri0t)
393     vert(2, 1, Zt) vlabel(ri1t)
394     vert(2, 2, Zt) vlabel(ri2t)
395     vert(2, 3, Zt) vlabel(ri3t)
396     vert(2, 4, Zt) vlabel(ri4t)
397     vert(2, 5, Zt) vlabel(ri5t)
398     vert(2, 6, Zt) vlabel(ri6t)
399     vert(2, 7, Zt) vlabel(ri7t)
401     vert(3, 0, Zt) vlabel(Rb0t)
402     vert(3, 1, Zt) vlabel(Rb1t)
403     vert(3, 2, Zt) vlabel(Rb2t)
404     vert(3, 3, Zt) vlabel(Rb3t)
405     vert(3, 4, Zt) vlabel(Rb4t)
406     vert(3, 5, Zt) vlabel(Rb5t)
407     vert(3, 6, Zt) vlabel(Rb6t)
408     vert(3, 7, Zt) vlabel(Rb7t)
410     vert(4, 0, Zt) vlabel(R0t)
411     vert(4, 1, Zt) vlabel(R1t)
412     vert(4, 1, Zt) vlabel(R1st)
413     vert(4, 2, Zt) vlabel(R2t)
414     vert(4, 3, Zt) vlabel(R3t)
415     vert(4, 3, Zt) vlabel(R3st)
416     vert(4, 4, Zt) vlabel(R4t)
417     vert(4, 5, Zt) vlabel(R5t)
418     vert(4, 5, Zt) vlabel(R5st)
419     vert(4, 6, Zt) vlabel(R6t)
420     vert(4, 7, Zt) vlabel(R7t)
421     vert(4, 7, Zt) vlabel(R7st)
424 blocks
426     // block0
427     hex2D(r0, r1, rb1, rb0)
428     rotor
429     (Na Nr Nz)
430     simpleGrading (1 1 1)
432     // block1
433     hex2D(r1, r2s, rb2, rb1)
434     rotor
435     (Na Nr Nz)
436     simpleGrading (1 1 1)
438     // block2
439     hex2D(r2, r3, rb3, rb2)
440     rotor
441     (Na Nr Nz)
442     simpleGrading (1 1 1)
444     // block3
445     hex2D(r3, r4s, rb4, rb3)
446     rotor
447     (Na Nr Nz)
448     simpleGrading (1 1 1)
450     // block4
451     hex2D(r4, r5, rb5, rb4)
452     rotor
453     (Na Nr Nz)
454     simpleGrading (1 1 1)
456     // block5
457     hex2D(r5, r6s, rb6, rb5)
458     rotor
459     (Na Nr Nz)
460     simpleGrading (1 1 1)
462     // block6
463     hex2D(r6, r7, rb7, rb6)
464     rotor
465     (Na Nr Nz)
466     simpleGrading (1 1 1)
468     // block7
469     hex2D(r7, r0s, rb0, rb7)
470     rotor
471     (Na Nr Nz)
472     simpleGrading (1 1 1)
474     // block0
475     hex2D(rb0, rb1, ri1, ri0)
476     rotor
477     (Na Ni Nz)
478     simpleGrading (1 1 1)
480     // block1
481     hex2D(rb1, rb2, ri2, ri1)
482     rotor
483     (Na Ni Nz)
484     simpleGrading (1 1 1)
486     // block2
487     hex2D(rb2, rb3, ri3, ri2)
488     rotor
489     (Na Ni Nz)
490     simpleGrading (1 1 1)
492     // block3
493     hex2D(rb3, rb4, ri4, ri3)
494     rotor
495     (Na Ni Nz)
496     simpleGrading (1 1 1)
498     // block4
499     hex2D(rb4, rb5, ri5, ri4)
500     rotor
501     (Na Ni Nz)
502     simpleGrading (1 1 1)
504     // block5
505     hex2D(rb5, rb6, ri6, ri5)
506     rotor
507     (Na Ni Nz)
508     simpleGrading (1 1 1)
510     // block6
511     hex2D(rb6, rb7, ri7, ri6)
512     rotor
513     (Na Ni Nz)
514     simpleGrading (1 1 1)
516     // block7
517     hex2D(rb7, rb0, ri0, ri7)
518     rotor
519     (Na Ni Nz)
520     simpleGrading (1 1 1)
522     // block0
523     hex2D(ri0, ri1, Rb1, Rb0)
524     (Na Ni Nz)
525     simpleGrading (1 1 1)
527     // block1
528     hex2D(ri1, ri2, Rb2, Rb1)
529     (Na Ni Nz)
530     simpleGrading (1 1 1)
532     // block2
533     hex2D(ri2, ri3, Rb3, Rb2)
534     (Na Ni Nz)
535     simpleGrading (1 1 1)
537     // block3
538     hex2D(ri3, ri4, Rb4, Rb3)
539     (Na Ni Nz)
540     simpleGrading (1 1 1)
542     // block4
543     hex2D(ri4, ri5, Rb5, Rb4)
544     (Na Ni Nz)
545     simpleGrading (1 1 1)
547     // block5
548     hex2D(ri5, ri6, Rb6, Rb5)
549     (Na Ni Nz)
550     simpleGrading (1 1 1)
552     // block6
553     hex2D(ri6, ri7, Rb7, Rb6)
554     (Na Ni Nz)
555     simpleGrading (1 1 1)
557     // block7
558     hex2D(ri7, ri0, Rb0, Rb7)
559     (Na Ni Nz)
560     simpleGrading (1 1 1)
562     // block0
563     hex2D(Rb0, Rb1, R1s, R0)
564     (Na NR Nz)
565     simpleGrading (1 1 1)
567     // block1
568     hex2D(Rb1, Rb2, R2, R1)
569     (Na NR Nz)
570     simpleGrading (1 1 1)
572     // block2
573     hex2D(Rb2, Rb3, R3s, R2)
574     (Na NR Nz)
575     simpleGrading (1 1 1)
577     // block3
578     hex2D(Rb3, Rb4, R4, R3)
579     (Na NR Nz)
580     simpleGrading (1 1 1)
582     // block4
583     hex2D(Rb4, Rb5, R5s, R4)
584     (Na NR Nz)
585     simpleGrading (1 1 1)
587     // block5
588     hex2D(Rb5, Rb6, R6, R5)
589     (Na NR Nz)
590     simpleGrading (1 1 1)
592     // block6
593     hex2D(Rb6, Rb7, R7s, R6)
594     (Na NR Nz)
595     simpleGrading (1 1 1)
597     // block7
598     hex2D(Rb7, Rb0, R0, R7)
599     (Na NR Nz)
600     simpleGrading (1 1 1)
603 edges
605     arc r0b r1b evert(0, 0, Zb)
606     arc r1b r2sb evert(0, 1, Zb)
607     arc r2b r3b evert(0, 2, Zb)
608     arc r3b r4sb evert(0, 3, Zb)
609     arc r4b r5b evert(0, 4, Zb)
610     arc r5b r6sb evert(0, 5, Zb)
611     arc r6b r7b evert(0, 6, Zb)
612     arc r7b r0sb evert(0, 7, Zb)
614     arc rb0b rb1b evert(1, 0, Zb)
615     arc rb1b rb2b evert(1, 1, Zb)
616     arc rb2b rb3b evert(1, 2, Zb)
617     arc rb3b rb4b evert(1, 3, Zb)
618     arc rb4b rb5b evert(1, 4, Zb)
619     arc rb5b rb6b evert(1, 5, Zb)
620     arc rb6b rb7b evert(1, 6, Zb)
621     arc rb7b rb0b evert(1, 7, Zb)
623     arc ri0b ri1b evert(2, 0, Zb)
624     arc ri1b ri2b evert(2, 1, Zb)
625     arc ri2b ri3b evert(2, 2, Zb)
626     arc ri3b ri4b evert(2, 3, Zb)
627     arc ri4b ri5b evert(2, 4, Zb)
628     arc ri5b ri6b evert(2, 5, Zb)
629     arc ri6b ri7b evert(2, 6, Zb)
630     arc ri7b ri0b evert(2, 7, Zb)
632     arc Rb0b Rb1b evert(3, 0, Zb)
633     arc Rb1b Rb2b evert(3, 1, Zb)
634     arc Rb2b Rb3b evert(3, 2, Zb)
635     arc Rb3b Rb4b evert(3, 3, Zb)
636     arc Rb4b Rb5b evert(3, 4, Zb)
637     arc Rb5b Rb6b evert(3, 5, Zb)
638     arc Rb6b Rb7b evert(3, 6, Zb)
639     arc Rb7b Rb0b evert(3, 7, Zb)
641     arc R0b R1sb evert(4, 0, Zb)
642     arc R1b R2b evert(4, 1, Zb)
643     arc R2b R3sb evert(4, 2, Zb)
644     arc R3b R4b evert(4, 3, Zb)
645     arc R4b R5sb evert(4, 4, Zb)
646     arc R5b R6b evert(4, 5, Zb)
647     arc R6b R7sb evert(4, 6, Zb)
648     arc R7b R0b evert(4, 7, Zb)
650     arc r0t r1t evert(0, 0, Zt)
651     arc r1t r2st evert(0, 1, Zt)
652     arc r2t r3t evert(0, 2, Zt)
653     arc r3t r4st evert(0, 3, Zt)
654     arc r4t r5t evert(0, 4, Zt)
655     arc r5t r6st evert(0, 5, Zt)
656     arc r6t r7t evert(0, 6, Zt)
657     arc r7t r0st evert(0, 7, Zt)
659     arc rb0t rb1t evert(1, 0, Zt)
660     arc rb1t rb2t evert(1, 1, Zt)
661     arc rb2t rb3t evert(1, 2, Zt)
662     arc rb3t rb4t evert(1, 3, Zt)
663     arc rb4t rb5t evert(1, 4, Zt)
664     arc rb5t rb6t evert(1, 5, Zt)
665     arc rb6t rb7t evert(1, 6, Zt)
666     arc rb7t rb0t evert(1, 7, Zt)
668     arc ri0t ri1t evert(2, 0, Zt)
669     arc ri1t ri2t evert(2, 1, Zt)
670     arc ri2t ri3t evert(2, 2, Zt)
671     arc ri3t ri4t evert(2, 3, Zt)
672     arc ri4t ri5t evert(2, 4, Zt)
673     arc ri5t ri6t evert(2, 5, Zt)
674     arc ri6t ri7t evert(2, 6, Zt)
675     arc ri7t ri0t evert(2, 7, Zt)
677     arc Rb0t Rb1t evert(3, 0, Zt)
678     arc Rb1t Rb2t evert(3, 1, Zt)
679     arc Rb2t Rb3t evert(3, 2, Zt)
680     arc Rb3t Rb4t evert(3, 3, Zt)
681     arc Rb4t Rb5t evert(3, 4, Zt)
682     arc Rb5t Rb6t evert(3, 5, Zt)
683     arc Rb6t Rb7t evert(3, 6, Zt)
684     arc Rb7t Rb0t evert(3, 7, Zt)
686     arc R0t R1st evert(4, 0, Zt)
687     arc R1t R2t evert(4, 1, Zt)
688     arc R2t R3st evert(4, 2, Zt)
689     arc R3t R4t evert(4, 3, Zt)
690     arc R4t R5st evert(4, 4, Zt)
691     arc R5t R6t evert(4, 5, Zt)
692     arc R6t R7st evert(4, 6, Zt)
693     arc R7t R0t evert(4, 7, Zt)
696 boundary
698     rotor
699     {
700         type wall;
701         faces
702         (
703             quad2D(r0, r1)
704             quad2D(r1, r2s)
705             quad2D(r2, r3)
706             quad2D(r3, r4s)
707             quad2D(r4, r5)
708             quad2D(r5, r6s)
709             quad2D(r6, r7)
710             quad2D(r7, r0s)
712             quad2D(r0, rb0)
713             quad2D(r0s, rb0)
715             quad2D(r2, rb2)
716             quad2D(r2s, rb2)
718             quad2D(r4, rb4)
719             quad2D(r4s, rb4)
721             quad2D(r6, rb6)
722             quad2D(r6s, rb6)
723         );
724     }
726     stator
727     {
728         type wall;
729         faces
730         (
731             quad2D(R0, R1s)
732             quad2D(R1, R2)
733             quad2D(R2, R3s)
734             quad2D(R3, R4)
735             quad2D(R4, R5s)
736             quad2D(R5, R6)
737             quad2D(R6, R7s)
738             quad2D(R7, R0)
740             quad2D(R1, Rb1)
741             quad2D(R1s, Rb1)
743             quad2D(R3, Rb3)
744             quad2D(R3s, Rb3)
746             quad2D(R5, Rb5)
747             quad2D(R5s, Rb5)
749             quad2D(R7, Rb7)
750             quad2D(R7s, Rb7)
751         );
752     }
754     front
755     {
756         type empty;
757         faces
758         (
759             frontQuad(r0, r1, rb1, rb0)
760             frontQuad(r1, r2s, rb2, rb1)
761             frontQuad(r2, r3, rb3, rb2)
762             frontQuad(r3, r4s, rb4, rb3)
763             frontQuad(r4, r5, rb5, rb4)
764             frontQuad(r5, r6s, rb6, rb5)
765             frontQuad(r6, r7, rb7, rb6)
766             frontQuad(r7, r0s, rb0, rb7)
767             frontQuad(rb0, rb1, ri1, ri0)
768             frontQuad(rb1, rb2, ri2, ri1)
769             frontQuad(rb2, rb3, ri3, ri2)
770             frontQuad(rb3, rb4, ri4, ri3)
771             frontQuad(rb4, rb5, ri5, ri4)
772             frontQuad(rb5, rb6, ri6, ri5)
773             frontQuad(rb6, rb7, ri7, ri6)
774             frontQuad(rb7, rb0, ri0, ri7)
775             frontQuad(ri0, ri1, Rb1, Rb0)
776             frontQuad(ri1, ri2, Rb2, Rb1)
777             frontQuad(ri2, ri3, Rb3, Rb2)
778             frontQuad(ri3, ri4, Rb4, Rb3)
779             frontQuad(ri4, ri5, Rb5, Rb4)
780             frontQuad(ri5, ri6, Rb6, Rb5)
781             frontQuad(ri6, ri7, Rb7, Rb6)
782             frontQuad(ri7, ri0, Rb0, Rb7)
783             frontQuad(Rb0, Rb1, R1s, R0)
784             frontQuad(Rb1, Rb2, R2, R1)
785             frontQuad(Rb2, Rb3, R3s, R2)
786             frontQuad(Rb3, Rb4, R4, R3)
787             frontQuad(Rb4, Rb5, R5s, R4)
788             frontQuad(Rb5, Rb6, R6, R5)
789             frontQuad(Rb6, Rb7, R7s, R6)
790             frontQuad(Rb7, Rb0, R0, R7)
791         );
792     }
794     back
795     {
796         type empty;
797         faces
798         (
799             backQuad(r0, r1, rb1, rb0)
800             backQuad(r1, r2s, rb2, rb1)
801             backQuad(r2, r3, rb3, rb2)
802             backQuad(r3, r4s, rb4, rb3)
803             backQuad(r4, r5, rb5, rb4)
804             backQuad(r5, r6s, rb6, rb5)
805             backQuad(r6, r7, rb7, rb6)
806             backQuad(r7, r0s, rb0, rb7)
807             backQuad(rb0, rb1, ri1, ri0)
808             backQuad(rb1, rb2, ri2, ri1)
809             backQuad(rb2, rb3, ri3, ri2)
810             backQuad(rb3, rb4, ri4, ri3)
811             backQuad(rb4, rb5, ri5, ri4)
812             backQuad(rb5, rb6, ri6, ri5)
813             backQuad(rb6, rb7, ri7, ri6)
814             backQuad(rb7, rb0, ri0, ri7)
815             backQuad(ri0, ri1, Rb1, Rb0)
816             backQuad(ri1, ri2, Rb2, Rb1)
817             backQuad(ri2, ri3, Rb3, Rb2)
818             backQuad(ri3, ri4, Rb4, Rb3)
819             backQuad(ri4, ri5, Rb5, Rb4)
820             backQuad(ri5, ri6, Rb6, Rb5)
821             backQuad(ri6, ri7, Rb7, Rb6)
822             backQuad(ri7, ri0, Rb0, Rb7)
823             backQuad(Rb0, Rb1, R1s, R0)
824             backQuad(Rb1, Rb2, R2, R1)
825             backQuad(Rb2, Rb3, R3s, R2)
826             backQuad(Rb3, Rb4, R4, R3)
827             backQuad(Rb4, Rb5, R5s, R4)
828             backQuad(Rb5, Rb6, R6, R5)
829             backQuad(Rb6, Rb7, R7s, R6)
830             backQuad(Rb7, Rb0, R0, R7)
831         );
832     }
835 // ************************************************************************* //