xref: /libCEED/examples/fluids/meshes/cylinder.geo (revision 32a7ae75295e5c1d896f846ecd0df2a764d95091)
1d310b3d3SAdeleke O. BankoleDefineConstant[
2d310b3d3SAdeleke O. Bankole  zspan = {0.2, Min .1, Max 10, Step .1,
3d310b3d3SAdeleke O. Bankole    Name "Parameters/Zspan"}
4d310b3d3SAdeleke O. Bankole];
5d310b3d3SAdeleke O. Bankole
6d310b3d3SAdeleke O. BankoleDefineConstant[
7d310b3d3SAdeleke O. Bankole  H = {4.5, Min 1, Max 10, Step .1,
8d310b3d3SAdeleke O. Bankole    Name "Parameters/Height"}
9d310b3d3SAdeleke O. Bankole];
10d310b3d3SAdeleke O. Bankole
11d310b3d3SAdeleke O. BankoleDefineConstant[
12d310b3d3SAdeleke O. Bankole  xL = {4.5, Min 1, Max 10, Step .1,
13d310b3d3SAdeleke O. Bankole    Name "Parameters/XL"}
14d310b3d3SAdeleke O. Bankole];
15d310b3d3SAdeleke O. Bankole
16d310b3d3SAdeleke O. BankoleDefineConstant[
17*32a7ae75SJed Brown  xR = {11, Min .2, Max 30, Step .1,
18d310b3d3SAdeleke O. Bankole    Name "Parameters/XR"}
19d310b3d3SAdeleke O. Bankole];
20d310b3d3SAdeleke O. Bankole
21d310b3d3SAdeleke O. BankoleDefineConstant[
22d310b3d3SAdeleke O. Bankole  cyldiameter = {1.0, Min .1, Max 1.0, Step .1,
23d310b3d3SAdeleke O. Bankole    Name "Parameters/CylDiameter"}
24d310b3d3SAdeleke O. Bankole];
25d310b3d3SAdeleke O. Bankole
26d310b3d3SAdeleke O. BankoleDefineConstant[
27d310b3d3SAdeleke O. Bankole  N = {20, Min 2, Max 80, Step 2,
28d310b3d3SAdeleke O. Bankole    Name "Parameters/ElementsPerQuadrant"}
29d310b3d3SAdeleke O. Bankole];
30d310b3d3SAdeleke O. Bankole
31d310b3d3SAdeleke O. BankoleDefineConstant[
32d310b3d3SAdeleke O. Bankole  RadialRatio = {1, Min .2, Max 5, Step .1,
33d310b3d3SAdeleke O. Bankole  Name "Parameters/RadialRatio"}
34d310b3d3SAdeleke O. Bankole];
35d310b3d3SAdeleke O. Bankole
36d310b3d3SAdeleke O. BankoleNx1 = N + 1; Rx1 = 1.00;
37*32a7ae75SJed BrownNx2 = Ceil(N * 9 / 11 * xR / (2*xL)) + 1; Rx2 = 1.00;
38d310b3d3SAdeleke O. BankoleNy  = N + 1; Ry = 2.00;
39d310b3d3SAdeleke O. BankoleNb  = Ceil(RadialRatio * N) + 1; Rb = 0.9;
40d310b3d3SAdeleke O. BankoleNc  = N + 1; Rc = 1.00;
41d310b3d3SAdeleke O. Bankole
42d310b3d3SAdeleke O. Bankole// Characteristic element length
43d310b3d3SAdeleke O. Bankoleh = 2 * H / N;
44d310b3d3SAdeleke O. Bankole
45d310b3d3SAdeleke O. Bankole// Exterior corners
46d310b3d3SAdeleke O. BankolePoint(1) = {-xL, -H, 0};
47d310b3d3SAdeleke O. BankolePoint(2) = {xL, -H, 0};
48*32a7ae75SJed BrownPoint(3) = {xL + xR, -H, 0};
49d310b3d3SAdeleke O. BankolePoint(4) = {-xL, H, 0};
50d310b3d3SAdeleke O. BankolePoint(5) = {xL, H, 0};
51*32a7ae75SJed BrownPoint(6) = {xL + xR, H, 0};
52d310b3d3SAdeleke O. Bankole
53d310b3d3SAdeleke O. Bankole// Coordinates for Cylinder points
54d310b3d3SAdeleke O. BankolePoint(7) = {-cyldiameter/Sqrt(8), -cyldiameter/Sqrt(8), 0};
55d310b3d3SAdeleke O. BankolePoint(8) = {cyldiameter/Sqrt(8), -cyldiameter/Sqrt(8), 0};
56d310b3d3SAdeleke O. BankolePoint(9) = {-cyldiameter/Sqrt(8), cyldiameter/Sqrt(8), 0};
57d310b3d3SAdeleke O. BankolePoint(10) = {cyldiameter/Sqrt(8), cyldiameter/Sqrt(8), 0};
58d310b3d3SAdeleke O. BankolePoint(11) = {0, 0, 0};
59d310b3d3SAdeleke O. Bankole
60d310b3d3SAdeleke O. Bankole// Top and bottom edges
61d310b3d3SAdeleke O. BankoleLine(1) = {1, 2}; Transfinite Curve {1} = Nx1 Using Progression Rx1;
62d310b3d3SAdeleke O. BankoleLine(2) = {2, 3}; Transfinite Curve {2} = Nx2 Using Progression Rx2;
63d310b3d3SAdeleke O. BankoleLine(3) = {4, 5}; Transfinite Curve {3} = Nx1 Using Progression Rx1;
64d310b3d3SAdeleke O. BankoleLine(4) = {5, 6}; Transfinite Curve {4} = Nx2 Using Progression Rx2;
65d310b3d3SAdeleke O. Bankole// Vertical edges and internal interface
66d310b3d3SAdeleke O. BankoleLine(5) = {4, 1}; Transfinite Curve {5} = Ny Using Bump Ry;
67d310b3d3SAdeleke O. BankoleLine(6) = {5, 2}; Transfinite Curve {6} = Ny Using Bump Ry;
68d310b3d3SAdeleke O. BankoleLine(7) = {6, 3}; Transfinite Curve {7} = Ny Using Bump Ry;
69d310b3d3SAdeleke O. Bankole
70d310b3d3SAdeleke O. Bankole// Cylinder arcs
71d310b3d3SAdeleke O. BankoleCircle(8) = {7, 11, 8}; Transfinite Curve {8} = Nc Using Progression Rc;
72d310b3d3SAdeleke O. BankoleCircle(9) = {8, 11, 10}; Transfinite Curve {9} = Nc Using Progression Rc;
73d310b3d3SAdeleke O. BankoleCircle(10) = {10, 11, 9}; Transfinite Curve {10} = Nc Using Progression Rc;
74d310b3d3SAdeleke O. BankoleCircle(11) = {9, 11, 7}; Transfinite Curve {11} = Nc Using Progression Rc;
75d310b3d3SAdeleke O. Bankole
76d310b3d3SAdeleke O. Bankole// Radial lines
77d310b3d3SAdeleke O. BankoleLine(12) = {1, 7}; Transfinite Curve {12} = Nb Using Progression Rb;
78d310b3d3SAdeleke O. BankoleLine(13) = {2, 8}; Transfinite Curve {13} = Nb Using Progression Rb;
79d310b3d3SAdeleke O. BankoleLine(14) = {5, 10}; Transfinite Curve {14} = Nb Using Progression Rb;
80d310b3d3SAdeleke O. BankoleLine(15) = {4, 9}; Transfinite Curve {15} = Nb Using Progression Rb;
81d310b3d3SAdeleke O. Bankole
82d310b3d3SAdeleke O. Bankole// surfaces
83d310b3d3SAdeleke O. BankoleCurve Loop(1) = {12, 8, -13, -1};
84d310b3d3SAdeleke O. BankolePlane Surface(1) = {1};
85d310b3d3SAdeleke O. BankoleCurve Loop(2) = {13, 9, -14, 6};
86d310b3d3SAdeleke O. BankolePlane Surface(2) = {2};
87d310b3d3SAdeleke O. BankoleCurve Loop(3) = {14, 10, -15, 3};
88d310b3d3SAdeleke O. BankolePlane Surface(3) = {3};
89d310b3d3SAdeleke O. BankoleCurve Loop(4) = {15, 11, -12, -5};
90d310b3d3SAdeleke O. BankolePlane Surface(4) = {4};
91d310b3d3SAdeleke O. BankoleCurve Loop(5) = {2, -7, -4, 6};
92d310b3d3SAdeleke O. BankolePlane Surface(5) = {5};
93d310b3d3SAdeleke O. BankoleTransfinite Surface {1};
94d310b3d3SAdeleke O. BankoleTransfinite Surface {2};
95d310b3d3SAdeleke O. BankoleTransfinite Surface {3};
96d310b3d3SAdeleke O. BankoleTransfinite Surface {4};
97d310b3d3SAdeleke O. BankoleTransfinite Surface {5};
98d310b3d3SAdeleke O. BankoleRecombine Surface {1};
99d310b3d3SAdeleke O. BankoleRecombine Surface {2};
100d310b3d3SAdeleke O. BankoleRecombine Surface {3};
101d310b3d3SAdeleke O. BankoleRecombine Surface {4};
102d310b3d3SAdeleke O. BankoleRecombine Surface {5};
103d310b3d3SAdeleke O. BankoleExtrude {0, 0, zspan} {
104d310b3d3SAdeleke O. Bankole  Surface{1, 2, 3, 4, 5};
105d310b3d3SAdeleke O. Bankole  Layers {Ceil(zspan / h)};
106d310b3d3SAdeleke O. Bankole  Recombine;
107d310b3d3SAdeleke O. Bankole}
108d310b3d3SAdeleke O. Bankole
109d310b3d3SAdeleke O. BankolePhysical Surface("inlet") = {102}; // inlet
110d310b3d3SAdeleke O. BankolePhysical Surface("outlet") = {116}; // outlet
111d310b3d3SAdeleke O. BankolePhysical Surface("top") = {80, 120}; // top
112d310b3d3SAdeleke O. BankolePhysical Surface("bottom") = {36, 112}; // bottom
113d310b3d3SAdeleke O. BankolePhysical Surface("cylinderwalls") = {94, 28, 50, 72}; // cylinderwalls
114d310b3d3SAdeleke O. BankolePhysical Surface("frontandback") = {37, 1, 4, 103, 3, 81, 2, 59, 5, 125}; // frontandback
115d310b3d3SAdeleke O. BankolePhysical Volume("mesh") = {1:5};
116