Correction to the compilation of mesquite-2.1.2. Bug fix contributed by Philippose...
[OpenFOAM-1.6-ext.git] / tutorials / compressible / rhoPorousMRFPimpleFoam / mixerVessel2D / constant / polyMesh / blockMeshDict.m4
blob0e4dac9bbe6c69e55ddef2457ab6a0d79972038b
1 /*--------------------------------*- C++ -*----------------------------------*\
2 | =========                 |                                                 |
3 | \\      /  F ield         | OpenFOAM Extend Project: Open Source CFD        |
4 |  \\    /   O peration     | Version:  1.6-ext                               |
5 |   \\  /    A nd           | Web:      www.extend-project.de                 |
6 |    \\/     M anipulation  |                                                 |
7 \*---------------------------------------------------------------------------*/
8 FoamFile
10     version     2.0;
11     format      ;
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 'print ($1)')])
20 define(VCOUNT, 0)
21 define(vlabel, [[// ]Vertex $1 = VCOUNT define($1, VCOUNT)define([VCOUNT], incr(VCOUNT))])
22 define(pi, 3.14159265)
24 define(hex2D, hex ($1b $2b $3b $4b $1t $2t $3t $4t))
25 define(quad2D, ($1b $2b $2t $1t))
26 define(frontQuad, ($1t $2t $3t $4t))
27 define(backQuad, ($1b $4b $3b $2b))
29 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
31 convertToMeters 0.1;
33 // Hub radius
34 define(r, 0.2)
36 // Impeller-tip radius
37 define(rb, 0.5)
39 // Baffle-tip radius
40 define(Rb, 0.7)
42 // Tank radius
43 define(R, 1)
45 // MRF region radius
46 define(ri, calc(0.5*(rb + Rb)))
48 // Thickness of 2D slab
49 define(z, 0.1)
51 // Base z
52 define(Zb, 0)
54 // Top z
55 define(Zt, calc(Zb + z))
57 // Number of cells radially between hub and impeller tip
58 define(Nr, 12)
60 // Number of cells radially in each of the two regions between
61 // impeller and baffle tips
62 define(Ni, 4)
64 // Number of cells radially between baffle tip and tank
65 define(NR, 12)
67 // Number of cells azimuthally in each of the 8 blocks
68 define(Na, 12)
70 // Number of cells in the thickness of the slab
71 define(Nz, 1)
73 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
75 define(vert, (x$1$2 y$1$2 $3))
76 define(evert, (ex$1$2 ey$1$2 $3))
78 define(a0, 0)
79 define(a1, -45)
80 define(a2, -90)
81 define(a3, -135)
82 define(a4, 180)
83 define(a5, 135)
84 define(a6, 90)
85 define(a7, 45)
87 define(ea0, -22.5)
88 define(ea1, -67.5)
89 define(ea2, -112.5)
90 define(ea3, -157.5)
91 define(ea4, 157.5)
92 define(ea5, 112.5)
93 define(ea6, 67.5)
94 define(ea7, 22.5)
96 define(ca0, calc(cos((pi/180)*a0)))
97 define(ca1, calc(cos((pi/180)*a1)))
98 define(ca2, calc(cos((pi/180)*a2)))
99 define(ca3, calc(cos((pi/180)*a3)))
100 define(ca4, calc(cos((pi/180)*a4)))
101 define(ca5, calc(cos((pi/180)*a5)))
102 define(ca6, calc(cos((pi/180)*a6)))
103 define(ca7, calc(cos((pi/180)*a7)))
105 define(sa0, calc(sin((pi/180)*a0)))
106 define(sa1, calc(sin((pi/180)*a1)))
107 define(sa2, calc(sin((pi/180)*a2)))
108 define(sa3, calc(sin((pi/180)*a3)))
109 define(sa4, calc(sin((pi/180)*a4)))
110 define(sa5, calc(sin((pi/180)*a5)))
111 define(sa6, calc(sin((pi/180)*a6)))
112 define(sa7, calc(sin((pi/180)*a7)))
114 define(cea0, calc(cos((pi/180)*ea0)))
115 define(cea1, calc(cos((pi/180)*ea1)))
116 define(cea2, calc(cos((pi/180)*ea2)))
117 define(cea3, calc(cos((pi/180)*ea3)))
118 define(cea4, calc(cos((pi/180)*ea4)))
119 define(cea5, calc(cos((pi/180)*ea5)))
120 define(cea6, calc(cos((pi/180)*ea6)))
121 define(cea7, calc(cos((pi/180)*ea7)))
123 define(sea0, calc(sin((pi/180)*ea0)))
124 define(sea1, calc(sin((pi/180)*ea1)))
125 define(sea2, calc(sin((pi/180)*ea2)))
126 define(sea3, calc(sin((pi/180)*ea3)))
127 define(sea4, calc(sin((pi/180)*ea4)))
128 define(sea5, calc(sin((pi/180)*ea5)))
129 define(sea6, calc(sin((pi/180)*ea6)))
130 define(sea7, calc(sin((pi/180)*ea7)))
132 define(x00, calc(r*ca0))
133 define(x01, calc(r*ca1))
134 define(x02, calc(r*ca2))
135 define(x03, calc(r*ca3))
136 define(x04, calc(r*ca4))
137 define(x05, calc(r*ca5))
138 define(x06, calc(r*ca6))
139 define(x07, calc(r*ca7))
141 define(x10, calc(rb*ca0))
142 define(x11, calc(rb*ca1))
143 define(x12, calc(rb*ca2))
144 define(x13, calc(rb*ca3))
145 define(x14, calc(rb*ca4))
146 define(x15, calc(rb*ca5))
147 define(x16, calc(rb*ca6))
148 define(x17, calc(rb*ca7))
150 define(x20, calc(ri*ca0))
151 define(x21, calc(ri*ca1))
152 define(x22, calc(ri*ca2))
153 define(x23, calc(ri*ca3))
154 define(x24, calc(ri*ca4))
155 define(x25, calc(ri*ca5))
156 define(x26, calc(ri*ca6))
157 define(x27, calc(ri*ca7))
159 define(x30, calc(Rb*ca0))
160 define(x31, calc(Rb*ca1))
161 define(x32, calc(Rb*ca2))
162 define(x33, calc(Rb*ca3))
163 define(x34, calc(Rb*ca4))
164 define(x35, calc(Rb*ca5))
165 define(x36, calc(Rb*ca6))
166 define(x37, calc(Rb*ca7))
168 define(x40, calc(R*ca0))
169 define(x41, calc(R*ca1))
170 define(x42, calc(R*ca2))
171 define(x43, calc(R*ca3))
172 define(x44, calc(R*ca4))
173 define(x45, calc(R*ca5))
174 define(x46, calc(R*ca6))
175 define(x47, calc(R*ca7))
177 define(y00, calc(r*sa0))
178 define(y01, calc(r*sa1))
179 define(y02, calc(r*sa2))
180 define(y03, calc(r*sa3))
181 define(y04, calc(r*sa4))
182 define(y05, calc(r*sa5))
183 define(y06, calc(r*sa6))
184 define(y07, calc(r*sa7))
186 define(y10, calc(rb*sa0))
187 define(y11, calc(rb*sa1))
188 define(y12, calc(rb*sa2))
189 define(y13, calc(rb*sa3))
190 define(y14, calc(rb*sa4))
191 define(y15, calc(rb*sa5))
192 define(y16, calc(rb*sa6))
193 define(y17, calc(rb*sa7))
195 define(y20, calc(ri*sa0))
196 define(y21, calc(ri*sa1))
197 define(y22, calc(ri*sa2))
198 define(y23, calc(ri*sa3))
199 define(y24, calc(ri*sa4))
200 define(y25, calc(ri*sa5))
201 define(y26, calc(ri*sa6))
202 define(y27, calc(ri*sa7))
204 define(y30, calc(Rb*sa0))
205 define(y31, calc(Rb*sa1))
206 define(y32, calc(Rb*sa2))
207 define(y33, calc(Rb*sa3))
208 define(y34, calc(Rb*sa4))
209 define(y35, calc(Rb*sa5))
210 define(y36, calc(Rb*sa6))
211 define(y37, calc(Rb*sa7))
213 define(y40, calc(R*sa0))
214 define(y41, calc(R*sa1))
215 define(y42, calc(R*sa2))
216 define(y43, calc(R*sa3))
217 define(y44, calc(R*sa4))
218 define(y45, calc(R*sa5))
219 define(y46, calc(R*sa6))
220 define(y47, calc(R*sa7))
222 define(ex00, calc(r*cea0))
223 define(ex01, calc(r*cea1))
224 define(ex02, calc(r*cea2))
225 define(ex03, calc(r*cea3))
226 define(ex04, calc(r*cea4))
227 define(ex05, calc(r*cea5))
228 define(ex06, calc(r*cea6))
229 define(ex07, calc(r*cea7))
231 define(ex10, calc(rb*cea0))
232 define(ex11, calc(rb*cea1))
233 define(ex12, calc(rb*cea2))
234 define(ex13, calc(rb*cea3))
235 define(ex14, calc(rb*cea4))
236 define(ex15, calc(rb*cea5))
237 define(ex16, calc(rb*cea6))
238 define(ex17, calc(rb*cea7))
240 define(ex20, calc(ri*cea0))
241 define(ex21, calc(ri*cea1))
242 define(ex22, calc(ri*cea2))
243 define(ex23, calc(ri*cea3))
244 define(ex24, calc(ri*cea4))
245 define(ex25, calc(ri*cea5))
246 define(ex26, calc(ri*cea6))
247 define(ex27, calc(ri*cea7))
249 define(ex30, calc(Rb*cea0))
250 define(ex31, calc(Rb*cea1))
251 define(ex32, calc(Rb*cea2))
252 define(ex33, calc(Rb*cea3))
253 define(ex34, calc(Rb*cea4))
254 define(ex35, calc(Rb*cea5))
255 define(ex36, calc(Rb*cea6))
256 define(ex37, calc(Rb*cea7))
258 define(ex40, calc(R*cea0))
259 define(ex41, calc(R*cea1))
260 define(ex42, calc(R*cea2))
261 define(ex43, calc(R*cea3))
262 define(ex44, calc(R*cea4))
263 define(ex45, calc(R*cea5))
264 define(ex46, calc(R*cea6))
265 define(ex47, calc(R*cea7))
267 define(ey00, calc(r*sea0))
268 define(ey01, calc(r*sea1))
269 define(ey02, calc(r*sea2))
270 define(ey03, calc(r*sea3))
271 define(ey04, calc(r*sea4))
272 define(ey05, calc(r*sea5))
273 define(ey06, calc(r*sea6))
274 define(ey07, calc(r*sea7))
276 define(ey10, calc(rb*sea0))
277 define(ey11, calc(rb*sea1))
278 define(ey12, calc(rb*sea2))
279 define(ey13, calc(rb*sea3))
280 define(ey14, calc(rb*sea4))
281 define(ey15, calc(rb*sea5))
282 define(ey16, calc(rb*sea6))
283 define(ey17, calc(rb*sea7))
285 define(ey20, calc(ri*sea0))
286 define(ey21, calc(ri*sea1))
287 define(ey22, calc(ri*sea2))
288 define(ey23, calc(ri*sea3))
289 define(ey24, calc(ri*sea4))
290 define(ey25, calc(ri*sea5))
291 define(ey26, calc(ri*sea6))
292 define(ey27, calc(ri*sea7))
294 define(ey30, calc(Rb*sea0))
295 define(ey31, calc(Rb*sea1))
296 define(ey32, calc(Rb*sea2))
297 define(ey33, calc(Rb*sea3))
298 define(ey34, calc(Rb*sea4))
299 define(ey35, calc(Rb*sea5))
300 define(ey36, calc(Rb*sea6))
301 define(ey37, calc(Rb*sea7))
303 define(ey40, calc(R*sea0))
304 define(ey41, calc(R*sea1))
305 define(ey42, calc(R*sea2))
306 define(ey43, calc(R*sea3))
307 define(ey44, calc(R*sea4))
308 define(ey45, calc(R*sea5))
309 define(ey46, calc(R*sea6))
310 define(ey47, calc(R*sea7))
312 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
314 vertices
316     vert(0, 0, Zb) vlabel(r0b)
317     vert(0, 0, Zb) vlabel(r0sb)
318     vert(0, 1, Zb) vlabel(r1b)
319     vert(0, 2, Zb) vlabel(r2b)
320     vert(0, 2, Zb) vlabel(r2sb)
321     vert(0, 3, Zb) vlabel(r3b)
322     vert(0, 4, Zb) vlabel(r4b)
323     vert(0, 4, Zb) vlabel(r4sb)
324     vert(0, 5, Zb) vlabel(r5b)
325     vert(0, 6, Zb) vlabel(r6b)
326     vert(0, 6, Zb) vlabel(r6sb)
327     vert(0, 7, Zb) vlabel(r7b)
329     vert(1, 0, Zb) vlabel(rb0b)
330     vert(1, 1, Zb) vlabel(rb1b)
331     vert(1, 2, Zb) vlabel(rb2b)
332     vert(1, 3, Zb) vlabel(rb3b)
333     vert(1, 4, Zb) vlabel(rb4b)
334     vert(1, 5, Zb) vlabel(rb5b)
335     vert(1, 6, Zb) vlabel(rb6b)
336     vert(1, 7, Zb) vlabel(rb7b)
338     vert(2, 0, Zb) vlabel(ri0b)
339     vert(2, 1, Zb) vlabel(ri1b)
340     vert(2, 2, Zb) vlabel(ri2b)
341     vert(2, 3, Zb) vlabel(ri3b)
342     vert(2, 4, Zb) vlabel(ri4b)
343     vert(2, 5, Zb) vlabel(ri5b)
344     vert(2, 6, Zb) vlabel(ri6b)
345     vert(2, 7, Zb) vlabel(ri7b)
347     vert(3, 0, Zb) vlabel(Rb0b)
348     vert(3, 1, Zb) vlabel(Rb1b)
349     vert(3, 2, Zb) vlabel(Rb2b)
350     vert(3, 3, Zb) vlabel(Rb3b)
351     vert(3, 4, Zb) vlabel(Rb4b)
352     vert(3, 5, Zb) vlabel(Rb5b)
353     vert(3, 6, Zb) vlabel(Rb6b)
354     vert(3, 7, Zb) vlabel(Rb7b)
356     vert(4, 0, Zb) vlabel(R0b)
357     vert(4, 1, Zb) vlabel(R1b)
358     vert(4, 1, Zb) vlabel(R1sb)
359     vert(4, 2, Zb) vlabel(R2b)
360     vert(4, 3, Zb) vlabel(R3b)
361     vert(4, 3, Zb) vlabel(R3sb)
362     vert(4, 4, Zb) vlabel(R4b)
363     vert(4, 5, Zb) vlabel(R5b)
364     vert(4, 5, Zb) vlabel(R5sb)
365     vert(4, 6, Zb) vlabel(R6b)
366     vert(4, 7, Zb) vlabel(R7b)
367     vert(4, 7, Zb) vlabel(R7sb)
369     vert(0, 0, Zt) vlabel(r0t)
370     vert(0, 0, Zt) vlabel(r0st)
371     vert(0, 1, Zt) vlabel(r1t)
372     vert(0, 2, Zt) vlabel(r2t)
373     vert(0, 2, Zt) vlabel(r2st)
374     vert(0, 3, Zt) vlabel(r3t)
375     vert(0, 4, Zt) vlabel(r4t)
376     vert(0, 4, Zt) vlabel(r4st)
377     vert(0, 5, Zt) vlabel(r5t)
378     vert(0, 6, Zt) vlabel(r6t)
379     vert(0, 6, Zt) vlabel(r6st)
380     vert(0, 7, Zt) vlabel(r7t)
382     vert(1, 0, Zt) vlabel(rb0t)
383     vert(1, 1, Zt) vlabel(rb1t)
384     vert(1, 2, Zt) vlabel(rb2t)
385     vert(1, 3, Zt) vlabel(rb3t)
386     vert(1, 4, Zt) vlabel(rb4t)
387     vert(1, 5, Zt) vlabel(rb5t)
388     vert(1, 6, Zt) vlabel(rb6t)
389     vert(1, 7, Zt) vlabel(rb7t)
391     vert(2, 0, Zt) vlabel(ri0t)
392     vert(2, 1, Zt) vlabel(ri1t)
393     vert(2, 2, Zt) vlabel(ri2t)
394     vert(2, 3, Zt) vlabel(ri3t)
395     vert(2, 4, Zt) vlabel(ri4t)
396     vert(2, 5, Zt) vlabel(ri5t)
397     vert(2, 6, Zt) vlabel(ri6t)
398     vert(2, 7, Zt) vlabel(ri7t)
400     vert(3, 0, Zt) vlabel(Rb0t)
401     vert(3, 1, Zt) vlabel(Rb1t)
402     vert(3, 2, Zt) vlabel(Rb2t)
403     vert(3, 3, Zt) vlabel(Rb3t)
404     vert(3, 4, Zt) vlabel(Rb4t)
405     vert(3, 5, Zt) vlabel(Rb5t)
406     vert(3, 6, Zt) vlabel(Rb6t)
407     vert(3, 7, Zt) vlabel(Rb7t)
409     vert(4, 0, Zt) vlabel(R0t)
410     vert(4, 1, Zt) vlabel(R1t)
411     vert(4, 1, Zt) vlabel(R1st)
412     vert(4, 2, Zt) vlabel(R2t)
413     vert(4, 3, Zt) vlabel(R3t)
414     vert(4, 3, Zt) vlabel(R3st)
415     vert(4, 4, Zt) vlabel(R4t)
416     vert(4, 5, Zt) vlabel(R5t)
417     vert(4, 5, Zt) vlabel(R5st)
418     vert(4, 6, Zt) vlabel(R6t)
419     vert(4, 7, Zt) vlabel(R7t)
420     vert(4, 7, Zt) vlabel(R7st)
423 blocks
425     // block0
426     hex2D(r0, r1, rb1, rb0)
427     rotor
428     (Na Nr Nz)
429     simpleGrading (1 1 1)
431     // block1
432     hex2D(r1, r2s, rb2, rb1)
433     rotor
434     (Na Nr Nz)
435     simpleGrading (1 1 1)
437     // block2
438     hex2D(r2, r3, rb3, rb2)
439     rotor
440     (Na Nr Nz)
441     simpleGrading (1 1 1)
443     // block3
444     hex2D(r3, r4s, rb4, rb3)
445     rotor
446     (Na Nr Nz)
447     simpleGrading (1 1 1)
449     // block4
450     hex2D(r4, r5, rb5, rb4)
451     rotor
452     (Na Nr Nz)
453     simpleGrading (1 1 1)
455     // block5
456     hex2D(r5, r6s, rb6, rb5)
457     rotor
458     (Na Nr Nz)
459     simpleGrading (1 1 1)
461     // block6
462     hex2D(r6, r7, rb7, rb6)
463     rotor
464     (Na Nr Nz)
465     simpleGrading (1 1 1)
467     // block7
468     hex2D(r7, r0s, rb0, rb7)
469     rotor
470     (Na Nr Nz)
471     simpleGrading (1 1 1)
473     // block0
474     hex2D(rb0, rb1, ri1, ri0)
475     rotor
476     (Na Ni Nz)
477     simpleGrading (1 1 1)
479     // block1
480     hex2D(rb1, rb2, ri2, ri1)
481     rotor
482     (Na Ni Nz)
483     simpleGrading (1 1 1)
485     // block2
486     hex2D(rb2, rb3, ri3, ri2)
487     rotor
488     (Na Ni Nz)
489     simpleGrading (1 1 1)
491     // block3
492     hex2D(rb3, rb4, ri4, ri3)
493     rotor
494     (Na Ni Nz)
495     simpleGrading (1 1 1)
497     // block4
498     hex2D(rb4, rb5, ri5, ri4)
499     rotor
500     (Na Ni Nz)
501     simpleGrading (1 1 1)
503     // block5
504     hex2D(rb5, rb6, ri6, ri5)
505     rotor
506     (Na Ni Nz)
507     simpleGrading (1 1 1)
509     // block6
510     hex2D(rb6, rb7, ri7, ri6)
511     rotor
512     (Na Ni Nz)
513     simpleGrading (1 1 1)
515     // block7
516     hex2D(rb7, rb0, ri0, ri7)
517     rotor
518     (Na Ni Nz)
519     simpleGrading (1 1 1)
521     // block0
522     hex2D(ri0, ri1, Rb1, Rb0)
523     stator
524     (Na Ni Nz)
525     simpleGrading (1 1 1)
527     // block1
528     hex2D(ri1, ri2, Rb2, Rb1)
529     stator
530     (Na Ni Nz)
531     simpleGrading (1 1 1)
533     // block2
534     hex2D(ri2, ri3, Rb3, Rb2)
535     stator
536     (Na Ni Nz)
537     simpleGrading (1 1 1)
539     // block3
540     hex2D(ri3, ri4, Rb4, Rb3)
541     stator
542     (Na Ni Nz)
543     simpleGrading (1 1 1)
545     // block4
546     hex2D(ri4, ri5, Rb5, Rb4)
547     stator
548     (Na Ni Nz)
549     simpleGrading (1 1 1)
551     // block5
552     hex2D(ri5, ri6, Rb6, Rb5)
553     stator
554     (Na Ni Nz)
555     simpleGrading (1 1 1)
557     // block6
558     hex2D(ri6, ri7, Rb7, Rb6)
559     stator
560     (Na Ni Nz)
561     simpleGrading (1 1 1)
563     // block7
564     hex2D(ri7, ri0, Rb0, Rb7)
565     stator
566     (Na Ni Nz)
567     simpleGrading (1 1 1)
569     // block0
570     hex2D(Rb0, Rb1, R1s, R0)
571     stator
572     (Na NR Nz)
573     simpleGrading (1 1 1)
575     // block1
576     hex2D(Rb1, Rb2, R2, R1)
577     stator
578     (Na NR Nz)
579     simpleGrading (1 1 1)
581     // block2
582     hex2D(Rb2, Rb3, R3s, R2)
583     stator
584     (Na NR Nz)
585     simpleGrading (1 1 1)
587     // block3
588     hex2D(Rb3, Rb4, R4, R3)
589     stator
590     (Na NR Nz)
591     simpleGrading (1 1 1)
593     // block4
594     hex2D(Rb4, Rb5, R5s, R4)
595     stator
596     (Na NR Nz)
597     simpleGrading (1 1 1)
599     // block5
600     hex2D(Rb5, Rb6, R6, R5)
601     stator
602     (Na NR Nz)
603     simpleGrading (1 1 1)
605     // block6
606     hex2D(Rb6, Rb7, R7s, R6)
607     stator
608     (Na NR Nz)
609     simpleGrading (1 1 1)
611     // block7
612     hex2D(Rb7, Rb0, R0, R7)
613     stator
614     (Na NR Nz)
615     simpleGrading (1 1 1)
618 edges
620     arc r0b r1b evert(0, 0, Zb)
621     arc r1b r2sb evert(0, 1, Zb)
622     arc r2b r3b evert(0, 2, Zb)
623     arc r3b r4sb evert(0, 3, Zb)
624     arc r4b r5b evert(0, 4, Zb)
625     arc r5b r6sb evert(0, 5, Zb)
626     arc r6b r7b evert(0, 6, Zb)
627     arc r7b r0sb evert(0, 7, Zb)
629     arc rb0b rb1b evert(1, 0, Zb)
630     arc rb1b rb2b evert(1, 1, Zb)
631     arc rb2b rb3b evert(1, 2, Zb)
632     arc rb3b rb4b evert(1, 3, Zb)
633     arc rb4b rb5b evert(1, 4, Zb)
634     arc rb5b rb6b evert(1, 5, Zb)
635     arc rb6b rb7b evert(1, 6, Zb)
636     arc rb7b rb0b evert(1, 7, Zb)
638     arc ri0b ri1b evert(2, 0, Zb)
639     arc ri1b ri2b evert(2, 1, Zb)
640     arc ri2b ri3b evert(2, 2, Zb)
641     arc ri3b ri4b evert(2, 3, Zb)
642     arc ri4b ri5b evert(2, 4, Zb)
643     arc ri5b ri6b evert(2, 5, Zb)
644     arc ri6b ri7b evert(2, 6, Zb)
645     arc ri7b ri0b evert(2, 7, Zb)
647     arc Rb0b Rb1b evert(3, 0, Zb)
648     arc Rb1b Rb2b evert(3, 1, Zb)
649     arc Rb2b Rb3b evert(3, 2, Zb)
650     arc Rb3b Rb4b evert(3, 3, Zb)
651     arc Rb4b Rb5b evert(3, 4, Zb)
652     arc Rb5b Rb6b evert(3, 5, Zb)
653     arc Rb6b Rb7b evert(3, 6, Zb)
654     arc Rb7b Rb0b evert(3, 7, Zb)
656     arc R0b R1sb evert(4, 0, Zb)
657     arc R1b R2b evert(4, 1, Zb)
658     arc R2b R3sb evert(4, 2, Zb)
659     arc R3b R4b evert(4, 3, Zb)
660     arc R4b R5sb evert(4, 4, Zb)
661     arc R5b R6b evert(4, 5, Zb)
662     arc R6b R7sb evert(4, 6, Zb)
663     arc R7b R0b evert(4, 7, Zb)
665     arc r0t r1t evert(0, 0, Zt)
666     arc r1t r2st evert(0, 1, Zt)
667     arc r2t r3t evert(0, 2, Zt)
668     arc r3t r4st evert(0, 3, Zt)
669     arc r4t r5t evert(0, 4, Zt)
670     arc r5t r6st evert(0, 5, Zt)
671     arc r6t r7t evert(0, 6, Zt)
672     arc r7t r0st evert(0, 7, Zt)
674     arc rb0t rb1t evert(1, 0, Zt)
675     arc rb1t rb2t evert(1, 1, Zt)
676     arc rb2t rb3t evert(1, 2, Zt)
677     arc rb3t rb4t evert(1, 3, Zt)
678     arc rb4t rb5t evert(1, 4, Zt)
679     arc rb5t rb6t evert(1, 5, Zt)
680     arc rb6t rb7t evert(1, 6, Zt)
681     arc rb7t rb0t evert(1, 7, Zt)
683     arc ri0t ri1t evert(2, 0, Zt)
684     arc ri1t ri2t evert(2, 1, Zt)
685     arc ri2t ri3t evert(2, 2, Zt)
686     arc ri3t ri4t evert(2, 3, Zt)
687     arc ri4t ri5t evert(2, 4, Zt)
688     arc ri5t ri6t evert(2, 5, Zt)
689     arc ri6t ri7t evert(2, 6, Zt)
690     arc ri7t ri0t evert(2, 7, Zt)
692     arc Rb0t Rb1t evert(3, 0, Zt)
693     arc Rb1t Rb2t evert(3, 1, Zt)
694     arc Rb2t Rb3t evert(3, 2, Zt)
695     arc Rb3t Rb4t evert(3, 3, Zt)
696     arc Rb4t Rb5t evert(3, 4, Zt)
697     arc Rb5t Rb6t evert(3, 5, Zt)
698     arc Rb6t Rb7t evert(3, 6, Zt)
699     arc Rb7t Rb0t evert(3, 7, Zt)
701     arc R0t R1st evert(4, 0, Zt)
702     arc R1t R2t evert(4, 1, Zt)
703     arc R2t R3st evert(4, 2, Zt)
704     arc R3t R4t evert(4, 3, Zt)
705     arc R4t R5st evert(4, 4, Zt)
706     arc R5t R6t evert(4, 5, Zt)
707     arc R6t R7st evert(4, 6, Zt)
708     arc R7t R0t evert(4, 7, Zt)
711 patches
713     wall rotor
714     (
715         quad2D(r0, r1)
716         quad2D(r1, r2s)
717         quad2D(r2, r3)
718         quad2D(r3, r4s)
719         quad2D(r4, r5)
720         quad2D(r5, r6s)
721         quad2D(r6, r7)
722         quad2D(r7, r0s)
724         quad2D(r0, rb0)
725         quad2D(r0s, rb0)
727         quad2D(r2, rb2)
728         quad2D(r2s, rb2)
730         quad2D(r4, rb4)
731         quad2D(r4s, rb4)
733         quad2D(r6, rb6)
734         quad2D(r6s, rb6)
735     )
737     wall stator
738     (
739         quad2D(R0, R1s)
740         quad2D(R1, R2)
741         quad2D(R2, R3s)
742         quad2D(R3, R4)
743         quad2D(R4, R5s)
744         quad2D(R5, R6)
745         quad2D(R6, R7s)
746         quad2D(R7, R0)
748         quad2D(R1, Rb1)
749         quad2D(R1s, Rb1)
751         quad2D(R3, Rb3)
752         quad2D(R3s, Rb3)
754         quad2D(R5, Rb5)
755         quad2D(R5s, Rb5)
757         quad2D(R7, Rb7)
758         quad2D(R7s, Rb7)
759     )
761     empty front
762     (
763         frontQuad(r0, r1, rb1, rb0)
764         frontQuad(r1, r2s, rb2, rb1)
765         frontQuad(r2, r3, rb3, rb2)
766         frontQuad(r3, r4s, rb4, rb3)
767         frontQuad(r4, r5, rb5, rb4)
768         frontQuad(r5, r6s, rb6, rb5)
769         frontQuad(r6, r7, rb7, rb6)
770         frontQuad(r7, r0s, rb0, rb7)
771         frontQuad(rb0, rb1, ri1, ri0)
772         frontQuad(rb1, rb2, ri2, ri1)
773         frontQuad(rb2, rb3, ri3, ri2)
774         frontQuad(rb3, rb4, ri4, ri3)
775         frontQuad(rb4, rb5, ri5, ri4)
776         frontQuad(rb5, rb6, ri6, ri5)
777         frontQuad(rb6, rb7, ri7, ri6)
778         frontQuad(rb7, rb0, ri0, ri7)
779         frontQuad(ri0, ri1, Rb1, Rb0)
780         frontQuad(ri1, ri2, Rb2, Rb1)
781         frontQuad(ri2, ri3, Rb3, Rb2)
782         frontQuad(ri3, ri4, Rb4, Rb3)
783         frontQuad(ri4, ri5, Rb5, Rb4)
784         frontQuad(ri5, ri6, Rb6, Rb5)
785         frontQuad(ri6, ri7, Rb7, Rb6)
786         frontQuad(ri7, ri0, Rb0, Rb7)
787         frontQuad(Rb0, Rb1, R1s, R0)
788         frontQuad(Rb1, Rb2, R2, R1)
789         frontQuad(Rb2, Rb3, R3s, R2)
790         frontQuad(Rb3, Rb4, R4, R3)
791         frontQuad(Rb4, Rb5, R5s, R4)
792         frontQuad(Rb5, Rb6, R6, R5)
793         frontQuad(Rb6, Rb7, R7s, R6)
794         frontQuad(Rb7, Rb0, R0, R7)
795     )
797     empty back
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     )
834 // ************************************************************************* //