initial commit for version 1.5.x patch release
[OpenFOAM-1.5.x.git] / tutorials / MRFSimpleFoam / mixerVessel2D / constant / polyMesh / blockMeshDict.m4
blobd1c2ffdab98cbf8ce6393ae2a75d8f42b72611ff
1 /*--------------------------------*- C++ -*----------------------------------*\
2 | =========                 |                                                 |
3 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
4 |  \\    /   O peration     | Version:  1.5                                   |
5 |   \\  /    A nd           | Web:      http://www.OpenFOAM.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 patches         
698     wall rotor
699     (
700         quad2D(r0, r1)
701         quad2D(r1, r2s)
702         quad2D(r2, r3)
703         quad2D(r3, r4s)
704         quad2D(r4, r5)
705         quad2D(r5, r6s)
706         quad2D(r6, r7)
707         quad2D(r7, r0s)
709         quad2D(r0, rb0)
710         quad2D(r0s, rb0)
712         quad2D(r2, rb2)
713         quad2D(r2s, rb2)
715         quad2D(r4, rb4)
716         quad2D(r4s, rb4)
718         quad2D(r6, rb6)
719         quad2D(r6s, rb6)
720     )
722     wall stator
723     (
724         quad2D(R0, R1s)
725         quad2D(R1, R2)
726         quad2D(R2, R3s)
727         quad2D(R3, R4)
728         quad2D(R4, R5s)
729         quad2D(R5, R6)
730         quad2D(R6, R7s)
731         quad2D(R7, R0)
733         quad2D(R1, Rb1)
734         quad2D(R1s, Rb1)
736         quad2D(R3, Rb3)
737         quad2D(R3s, Rb3)
739         quad2D(R5, Rb5)
740         quad2D(R5s, Rb5)
742         quad2D(R7, Rb7)
743         quad2D(R7s, Rb7)
744     )
746     empty front
747     (
748         frontQuad(r0, r1, rb1, rb0)
749         frontQuad(r1, r2s, rb2, rb1)
750         frontQuad(r2, r3, rb3, rb2)
751         frontQuad(r3, r4s, rb4, rb3)
752         frontQuad(r4, r5, rb5, rb4)
753         frontQuad(r5, r6s, rb6, rb5)
754         frontQuad(r6, r7, rb7, rb6)
755         frontQuad(r7, r0s, rb0, rb7)
756         frontQuad(rb0, rb1, ri1, ri0)
757         frontQuad(rb1, rb2, ri2, ri1)
758         frontQuad(rb2, rb3, ri3, ri2)
759         frontQuad(rb3, rb4, ri4, ri3)
760         frontQuad(rb4, rb5, ri5, ri4)
761         frontQuad(rb5, rb6, ri6, ri5)
762         frontQuad(rb6, rb7, ri7, ri6)
763         frontQuad(rb7, rb0, ri0, ri7)
764         frontQuad(ri0, ri1, Rb1, Rb0)
765         frontQuad(ri1, ri2, Rb2, Rb1)
766         frontQuad(ri2, ri3, Rb3, Rb2)
767         frontQuad(ri3, ri4, Rb4, Rb3)
768         frontQuad(ri4, ri5, Rb5, Rb4)
769         frontQuad(ri5, ri6, Rb6, Rb5)
770         frontQuad(ri6, ri7, Rb7, Rb6)
771         frontQuad(ri7, ri0, Rb0, Rb7)
772         frontQuad(Rb0, Rb1, R1s, R0)
773         frontQuad(Rb1, Rb2, R2, R1)
774         frontQuad(Rb2, Rb3, R3s, R2)
775         frontQuad(Rb3, Rb4, R4, R3)
776         frontQuad(Rb4, Rb5, R5s, R4)
777         frontQuad(Rb5, Rb6, R6, R5)
778         frontQuad(Rb6, Rb7, R7s, R6)
779         frontQuad(Rb7, Rb0, R0, R7)
780     )
782     empty back
783     (
784         backQuad(r0, r1, rb1, rb0)
785         backQuad(r1, r2s, rb2, rb1)
786         backQuad(r2, r3, rb3, rb2)
787         backQuad(r3, r4s, rb4, rb3)
788         backQuad(r4, r5, rb5, rb4)
789         backQuad(r5, r6s, rb6, rb5)
790         backQuad(r6, r7, rb7, rb6)
791         backQuad(r7, r0s, rb0, rb7)
792         backQuad(rb0, rb1, ri1, ri0)
793         backQuad(rb1, rb2, ri2, ri1)
794         backQuad(rb2, rb3, ri3, ri2)
795         backQuad(rb3, rb4, ri4, ri3)
796         backQuad(rb4, rb5, ri5, ri4)
797         backQuad(rb5, rb6, ri6, ri5)
798         backQuad(rb6, rb7, ri7, ri6)
799         backQuad(rb7, rb0, ri0, ri7)
800         backQuad(ri0, ri1, Rb1, Rb0)
801         backQuad(ri1, ri2, Rb2, Rb1)
802         backQuad(ri2, ri3, Rb3, Rb2)
803         backQuad(ri3, ri4, Rb4, Rb3)
804         backQuad(ri4, ri5, Rb5, Rb4)
805         backQuad(ri5, ri6, Rb6, Rb5)
806         backQuad(ri6, ri7, Rb7, Rb6)
807         backQuad(ri7, ri0, Rb0, Rb7)
808         backQuad(Rb0, Rb1, R1s, R0)
809         backQuad(Rb1, Rb2, R2, R1)
810         backQuad(Rb2, Rb3, R3s, R2)
811         backQuad(Rb3, Rb4, R4, R3)
812         backQuad(Rb4, Rb5, R5s, R4)
813         backQuad(Rb5, Rb6, R6, R5)
814         backQuad(Rb6, Rb7, R7s, R6)
815         backQuad(Rb7, Rb0, R0, R7)
816     )
819 // ************************************************************************* //