STYLE: miss-aligned Headers
[foam-extend-3.2.git] / tutorials / incompressible / simpleFoam / mixingPlaneAxial / constant / polyMesh / blockMeshDict.m4
blob24196f4a615e97c47137bdbbc0ae6e121811287f
1 /*--------------------------------*- C++ -*----------------------------------*\
2 | =========                 |                                                 |
3 | \\      /  F ield         | foam-extend: Open Source CFD                    |
4 |  \\    /   O peration     | Version:     3.0                                |
5 |   \\  /    A nd           | Web:         http://www.extend-project.de       |
6 |    \\/     M anipulation  |                                                 |
7 \*---------------------------------------------------------------------------*/
8 FoamFile
10     version     2.0;
11     format      ascii;
12     class       dictionary;
13     object      blockMeshDict;
15 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
17 //process this file using: m4 -P blockMeshDict.m4 > blockMeshDict
19 //m4 definitions -----------------------------
20 m4_changecom(//)m4_changequote([,])
21 m4_define(calc, [m4_esyscmd(perl -e 'printf ($1)')])
22 m4_define(pi, 3.14159265358979323844)
23 m4_define(rad, [calc($1*pi/180.0)])
24 m4_define(VCOUNT, 0)
25 m4_define(vlabel, [[// ]Vertex $1 = VCOUNT m4_define($1, VCOUNT)m4_define([VCOUNT], m4_incr(VCOUNT))])
27 //Geometry -----------------------------------
28 // 2 planes levels
29 m4_define(zA, 0.0)
30 m4_define(zB, 0.1)
32 // Angle span for inner block
33 m4_define(angleB, rad(  60.0))
34 m4_define(angleD, rad( 150.0))
36 // Angle span for outer block
37 m4_define(angleA, rad( 5.0))
38 m4_define(angleC, rad(41.0))
40 // Radial dimensions
41 m4_define(r1, 1.0)
42 m4_define(r2, 2.0)
43 m4_define(r3, 3.0)
45 // Mesh parameters
46 m4_define(nCells, 5)
47 m4_define(BLOCKSIZE_UPSTREAM,   25 17 1)
48 m4_define(BLOCKSIZE_DOWNSTREAM, 25 27 1)
49 m4_define(grading, 1.0)
51 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
53 convertToMeters 1;
55 vertices
57 //Plane A:
58 //Bottom of curved block
59 (calc(r1*cos(angleB)) calc(r1*sin(angleB)) zA) vlabel(A0)
60 (calc(r2*cos(angleB)) calc(r2*sin(angleB)) zA) vlabel(A1)
61 (calc(r1*cos(angleD)) calc(r1*sin(angleD)) zA) vlabel(A2)
62 (calc(r2*cos(angleD)) calc(r2*sin(angleD)) zA) vlabel(A3)
64 //Plane B:
65 //Top of curved block
66 (calc(r1*cos(angleB)) calc(r1*sin(angleB)) zB) vlabel(B0)
67 (calc(r2*cos(angleB)) calc(r2*sin(angleB)) zB) vlabel(B1)
68 (calc(r1*cos(angleD)) calc(r1*sin(angleD)) zB) vlabel(B2)
69 (calc(r2*cos(angleD)) calc(r2*sin(angleD)) zB) vlabel(B3)
71 //Plane A: Bottom of straight block
72 (calc(r2*cos(angleA)) calc(r2*sin(angleA)) zA) vlabel(B4)
73 (calc(r3*cos(angleA)) calc(r3*sin(angleA)) zA) vlabel(B5)
74 (calc(r2*cos(angleC)) calc(r2*sin(angleC)) zA) vlabel(B6)
75 (calc(r3*cos(angleC)) calc(r3*sin(angleC)) zA) vlabel(B7)
77 //Plane B: Top of straight block
78 (calc(r2*cos(angleA)) calc(r2*sin(angleA)) zB) vlabel(C0)
79 (calc(r3*cos(angleA)) calc(r3*sin(angleA)) zB) vlabel(C1)
80 (calc(r2*cos(angleC)) calc(r2*sin(angleC)) zB) vlabel(C2)
81 (calc(r3*cos(angleC)) calc(r3*sin(angleC)) zB) vlabel(C3)
85 blocks
87     hex ( A0 A1 A3 A2 B0 B1 B3 B2 ) (BLOCKSIZE_UPSTREAM)   simpleGrading (1 1 grading)
88     hex ( B4 B5 B7 B6 C0 C1 C3 C2 ) (BLOCKSIZE_DOWNSTREAM) simpleGrading (1 1 grading)
91 edges
93     // --- PLANE A: Bottom of curved block
94     arc  A0 A2  (calc(r1*cos((angleB+angleD)/2)) calc(r1*sin((angleB+angleD)/2)) zA)
95     arc  A1 A3  (calc(r2*cos((angleB+angleD)/2)) calc(r2*sin((angleB+angleD)/2)) zA)
97     // --- PLANE B: Top of curved block
98     arc  B0 B2  (calc(r1*cos((angleB+angleD)/2)) calc(r1*sin((angleB+angleD)/2))  zB)
99     arc  B1 B3  (calc(r2*cos((angleB+angleD)/2)) calc(r2*sin((angleB+angleD)/2)) zB)
101     // --- PLANE A: Bottom of straight block
102     arc  B4 B6  (calc(r2*cos((angleA+angleC)/2)) calc(r2*sin((angleA+angleC)/2)) zA)
103     arc  B5 B7  (calc(r3*cos((angleA+angleC)/2)) calc(r3*sin((angleA+angleC)/2)) zA)
105     // --- PLANE B: Top of straight block
106     arc  C0 C2  (calc(r2*cos((angleA+angleC)/2)) calc(r2*sin((angleA+angleC)/2)) zB)
107     arc  C1 C3  (calc(r3*cos((angleA+angleC)/2)) calc(r3*sin((angleA+angleC)/2)) zB)
110 patches
112     patch outflow
113     (
114         ( B5 B7 C3 C1 )
115     )
116     patch inflow
117     (
118         ( A0 B0 B2 A2 )
119     )
121     cyclicGgi upstreamPerio1
122     (
123         (B4 B5 C1 C0)
124     )
126     cyclicGgi upstreamPerio2
127     (
128         (B6 C2 C3 B7)
129     )
131     mixingPlane upstreamMixingPlanePatch
132     (
133         ( B4 C0 C2 B6 )
134     )
136     mixingPlane downstreamMixingPlanePatch
137     (
138         ( A1 A3 B3 B1 )
139     )
141     symmetryPlane downstreamWall
142     (
143         ( A0 A2 A3 A1 )
144         ( B0 B1 B3 B2 )
145     )
147     symmetryPlane upstreamWall
148     (
149         ( C1 C3 C2 C0)
150         (B4 B6 B7 B5)
151     )
153     cyclicGgi downstreamPerio1
154     (
155         (A0 A1 B1 B0)
156     )
158     cyclicGgi downstreamPerio2
159     (
160         (A2 B2 B3 A3)
161     )
165 mergePatchPairs