Point(1) = {0, 0, 0, 1.0};
Point(2) = {0, 0.5, 0, 1.0};
Point(3) = {0, -0.5, 0, 1.0};
Point(4) = {0.5, 0, 0, 1.0};
Point(5) = {-0.5, 0, 0, 1.0};
Point(6) = {0, 1, 0, 1.0};
Point(7) = {0, -1, 0, 1.0};
Point(8) = {1, 0, 0, 1.0};
Point(9) = {-1, 0, 0, 1.0};
Point(10) = {0, 0, 3.14159, 1.0};
Point(11) = {0, 0.5, 3.14159, 1.0};
Point(12) = {0, -0.5, 3.14159, 1.0};
Point(13) = {0.5, 0, 3.14159, 1.0};
Point(14) = {-0.5, 0, 3.14159, 1.0};
Point(15) = {0, 1, 3.14159, 1.0};
Point(16) = {0, -1, 3.14159, 1.0};
Point(17) = {1, 0, 3.14159, 1.0};
Point(18) = {-1, 0, 3.14159, 1.0};

Circle(1) = {13, 10, 11};
Circle(2) = {4, 1, 2};
Circle(3) = {17, 10, 15};
Circle(4) = {8, 1, 6};
Circle(5) = {11, 10, 14};
Circle(6) = {2, 1, 5};
Circle(7) = {15, 10, 18};
Circle(8) = {6, 1, 9};
Circle(9) = {14, 10, 12};
Circle(10) = {5, 1, 3};
Circle(11) = {18, 10, 16};
Circle(12) = {9, 1, 7};
Circle(13) = {12, 10, 13};
Circle(14) = {3, 1, 4};
Circle(15) = {16, 10, 17};
Circle(16) = {7, 1, 8};
Line(17) = {13, 17};
Line(18) = {11, 15};
Line(19) = {14, 18};
Line(20) = {12, 16};
Line(21) = {4, 8};
Line(22) = {2, 6};
Line(23) = {5, 9};
Line(24) = {3, 7};
Line Loop(25) = {3, -18, -1, 17};
Plane Surface(26) = {25};
Line Loop(27) = {7, -19, -5, 18};
Plane Surface(28) = {27};
Line Loop(29) = {11, -20, -9, 19};
Plane Surface(30) = {29};
Line Loop(31) = {15, -17, -13, 20};
Plane Surface(32) = {31};
Line Loop(33) = {4, -22, -2, 21};
Plane Surface(34) = {33};
Line Loop(35) = {8, -23, -6, 22};
Plane Surface(36) = {35};
Line Loop(37) = {12, -24, -10, 23};
Plane Surface(38) = {37};
Line Loop(39) = {16, -21, -14, 24};
Plane Surface(40) = {39};
Transfinite Line {7, 5, 11, 9, 15, 13, 3, 1, 8, 6, 12, 10, 16, 14, 4, 2} = 50 Using Progression 1;
Transfinite Line {18, 19, 20, 17, 22, 23, 24, 21} = 35 Using Progression 1.05;
Transfinite Surface {26};
Transfinite Surface {28};
Transfinite Surface {30};
Transfinite Surface {32};
Transfinite Surface {36};
Transfinite Surface {38};
Transfinite Surface {40};
Transfinite Surface {34};
Line(41) = {15, 6};
Line(42) = {11, 2};
Line(43) = {18, 9};
Line(44) = {14, 5};
Line(45) = {16, 7};
Line(46) = {12, 3};
Line(47) = {17, 8};
Line(48) = {13, 4};
Line Loop(49) = {41, -22, -42, 18};
Plane Surface(50) = {49};
Line Loop(51) = {43, -23, -44, 19};
Plane Surface(52) = {51};
Line Loop(53) = {45, -24, -46, 20};
Plane Surface(54) = {53};
Line Loop(55) = {47, -21, -48, 17};
Plane Surface(56) = {55};
Line Loop(57) = {4, -41, -3, 47};
Ruled Surface(58) = {57};
Line Loop(59) = {8, -43, -7, 41};
Ruled Surface(60) = {59};
Line Loop(61) = {12, -45, -11, 43};
Ruled Surface(62) = {61};
Line Loop(63) = {45, 16, -47, -15};
Ruled Surface(64) = {63};
Line Loop(65) = {14, -48, -13, 46};
Ruled Surface(66) = {65};
Line Loop(67) = {2, -42, -1, 48};
Ruled Surface(68) = {67};
Line Loop(69) = {6, -44, -5, 42};
Ruled Surface(70) = {69};
Line Loop(71) = {10, -46, -9, 44};
Ruled Surface(72) = {71};
Transfinite Line {41, 42, 43, 44, 46, 45, 47, 48} = 25 Using Progression 1;
Surface Loop(73) = {60, 36, 70, 28, 52, 50};
Volume(74) = {73};
Surface Loop(75) = {58, 34, 68, 26, 50, 56};
Volume(76) = {75};
Surface Loop(77) = {64, 40, 66, 32, 56, 54};
Volume(78) = {77};
Surface Loop(79) = {62, 38, 72, 30, 54, 52};
Volume(80) = {79};
Transfinite Surface {64};
Transfinite Surface {62};
Transfinite Surface {60};
Transfinite Surface {58};
Transfinite Surface {70};
Transfinite Surface {72};
Transfinite Surface {66};
Transfinite Surface {68};
Transfinite Volume{74} = {6, 9, 5, 2, 15, 18, 14, 11};
Transfinite Volume{80} = {9, 7, 3, 5, 18, 16, 12, 14};
Transfinite Volume{78} = {7, 8, 4, 3, 16, 17, 13, 12};
Transfinite Volume{76} = {8, 6, 2, 4, 17, 15, 11, 13};
Transfinite Surface {52};
Transfinite Surface {50};
Transfinite Surface {56};
Transfinite Surface {54};
Recombine Surface {28, 36, 26, 34, 32, 40, 30, 38, 52, 50, 56, 54};
Point(19) = {0, 2, 0, 1.0};
Point(20) = {0, -2, 0, 1.0};
Point(21) = {8, 2, 0, 1.0};
Point(22) = {8, -2, 0, 1.0};
Point(23) = {0, 9, 0, 1.0};
Point(24) = {0, -9, 0, 1.0};
Point(25) = {25, -9, 0, 1.0};
Point(26) = {25, 9, 0, 1.0};
Point(27) = {0, 2, 3.14159, 1.0};
Point(28) = {0, -2, 3.14159, 1.0};
Point(29) = {8, 2, 3.14159, 1.0};
Point(30) = {8, -2, 3.14159, 1.0};
Point(31) = {0, 9, 3.14159, 1.0};
Point(32) = {0, -9, 3.14159, 1.0};
Point(33) = {25, -9, 3.14159, 1.0};
Point(34) = {25, 9, 3.14159, 1.0};
Circle(81) = {19, 1, 20};
Circle(82) = {27, 10, 28};
Line(83) = {19, 21};
Line(84) = {27, 29};
Line(85) = {21, 22};
Line(86) = {29, 30};
Line(87) = {20, 22};
Line(88) = {28, 30};
Circle(89) = {23, 1, 24};
Circle(90) = {31, 10, 32};
Line(91) = {23, 26};
Line(92) = {31, 34};
Line(93) = {26, 25};
Line(94) = {34, 33};
Line(95) = {25, 24};
Line(96) = {33, 32};
Line(97) = {31, 23};
Line(98) = {32, 24};
Line(99) = {33, 25};
Line(100) = {34, 26};
Line(101) = {29, 21};
Line(102) = {30, 22};
Line(103) = {27, 19};
Line(104) = {28, 20};
Line Loop(105) = {83, -101, -84, 103};
Plane Surface(106) = {105};
Line Loop(107) = {101, 85, -102, -86};
Plane Surface(108) = {107};
Line Loop(109) = {104, 87, -102, -88};
Plane Surface(110) = {109};
Line Loop(111) = {84, 86, -88, -82};
Line Loop(112) = {3, 7, 11, 15};
Line Loop(113) = {83, 85, -87, -81};
Line Loop(114) = {4, 8, 12, 16};
Plane Surface(115) = {113, 114};
Plane Surface(116) = {111, 112};
Line Loop(117) = {81, -104, -82, 103};
Ruled Surface(118) = {117};
Line Loop(119) = {97, 91, -100, -92};
Plane Surface(120) = {119};
Line Loop(121) = {98, -95, -99, 96};
Plane Surface(122) = {121};
Line Loop(123) = {99, -93, -100, 94};
Plane Surface(124) = {123};
Line Loop(125) = {92, 94, 96, -90};
Plane Surface(126) = {111, 125};
Line Loop(127) = {93, 95, -89, 91};
Plane Surface(128) = {113, 127};
Line Loop(129) = {97, 89, -98, -90};
Ruled Surface(130) = {129};
Surface Loop(131) = {120, 130, 128, 122, 124, 126, 106, 108, 110, 118};
Volume(132) = {131};
Surface Loop(133) = {116, 106, 108, 110, 118, 115, 58, 60, 62, 64};
Volume(134) = {133};

surfmaster1    = {128};
surfslave1     = {126};
boundmaster1[] = {91,89,95,93,83,81,87,85};
boundslave1[]  = {92,90,96,94,84,82,88,86};
Periodic Surface surfslave1 { boundslave1[] } = surfmaster1 { boundmaster1[] };

surfmaster2    = {115};
surfslave2     = {116};
boundmaster2[] = {83,81,87,85,4,8,12,16};
boundslave2[]  = {84,82,88,86,3,7,11,15};
Periodic Surface surfslave2 { boundslave2[] } = surfmaster2 { boundmaster2[] };
Transfinite Line {97, 98, 99, 100} = 8 Using Progression 1;
Transfinite Line {90, 89, 94, 93} = 12 Using Progression 1;
Transfinite Line {92, 91, 96, 95} = 18 Using Progression 1;
Transfinite Line {101, 103, 104, 102} = 10 Using Progression 1;
Transfinite Line {81, 82, 86, 85} = 20 Using Progression 1;
Transfinite Line {84, 83, 88, 87} = 35 Using Progression 1;
Physical Surface("inlet") = {130};
Physical Surface("outlet") = {120, 124, 122};
Physical Surface("wall") = {66, 68, 70, 72};
Physical Volume("Fluid") = {132, 134, 76, 78, 80, 74};
Physical Surface("periodic-0-l") = {116, 126, 28, 26, 32, 30};
Physical Surface("periodic-0-r") = {115, 128, 36, 34, 40, 38};

Field[1] = Cylinder;
Field[1].Radius = 1.2;
Field[1].ZAxis = 3.14159;
Field[1].VIn = 0.05;
Field[1].VOut = 10;

Field[2] = Cylinder;
Field[2].Radius = 1.5;
Field[2].ZAxis = 3.14159;
Field[2].VIn = 0.08;
Field[2].VOut = 10;

Field[3] = Cylinder;
Field[3].Radius = 1.8;
Field[3].ZAxis = 3.14159;
Field[3].VIn = 0.15;
Field[3].VOut = 1;
Field[4] = Min;
Field[4].FieldsList = {1, 2, 3};
Background Field = 4;
Physical Surface(135) = {58, 60, 62, 64};
