// Generate mesh using:
// gmsh name.geo -2 -o name.su2
// -2 => 2D

// Global mesh controls:
Mesh.Algorithm=6;
Geometry.Tolerance=1e-16;

// Airfoil suction side
Point(1) = {1.00000000, -0.00000000, 0.00000000, 0.00200000};
Point(2) = {0.99993769, 0.00000906, 0.00000000, 0.00000000};
Point(3) = {0.99975079, 0.00003622, 0.00000000, 0.00000000};
Point(4) = {0.99943935, 0.00008146, 0.00000000, 0.00000000};
Point(5) = {0.99900343, 0.00014476, 0.00000000, 0.00000000};
Point(6) = {0.99844315, 0.00022606, 0.00000000, 0.00000000};
Point(7) = {0.99775864, 0.00032531, 0.00000000, 0.00000000};
Point(8) = {0.99695009, 0.00044243, 0.00000000, 0.00000000};
Point(9) = {0.99601768, 0.00057734, 0.00000000, 0.00000000};
Point(10) = {0.99496166, 0.00072993, 0.00000000, 0.00000000};
Point(11) = {0.99378228, 0.00090011, 0.00000000, 0.00000000};
Point(12) = {0.99247984, 0.00108774, 0.00000000, 0.00000000};
Point(13) = {0.99105466, 0.00129270, 0.00000000, 0.00000000};
Point(14) = {0.98950710, 0.00151482, 0.00000000, 0.00000000};
Point(15) = {0.98783755, 0.00175396, 0.00000000, 0.00000000};
Point(16) = {0.98604642, 0.00200994, 0.00000000, 0.00000000};
Point(17) = {0.98413415, 0.00228259, 0.00000000, 0.00000000};
Point(18) = {0.98210123, 0.00257170, 0.00000000, 0.00000000};
Point(19) = {0.97994816, 0.00287709, 0.00000000, 0.00500000};
Point(20) = {0.97767548, 0.00319853, 0.00000000, 0.00000000};
Point(21) = {0.97528374, 0.00353580, 0.00000000, 0.00000000};
Point(22) = {0.97277356, 0.00388866, 0.00000000, 0.00000000};
Point(23) = {0.97014556, 0.00425689, 0.00000000, 0.00000000};
Point(24) = {0.96740038, 0.00464022, 0.00000000, 0.00000000};
Point(25) = {0.96453872, 0.00503840, 0.00000000, 0.00000000};
Point(26) = {0.96156128, 0.00545117, 0.00000000, 0.00000000};
Point(27) = {0.95846881, 0.00587824, 0.00000000, 0.00000000};
Point(28) = {0.95526209, 0.00631934, 0.00000000, 0.00000000};
Point(29) = {0.95194190, 0.00677417, 0.00000000, 0.00000000};
Point(30) = {0.94850908, 0.00724244, 0.00000000, 0.00000000};
Point(31) = {0.94496448, 0.00772386, 0.00000000, 0.00000000};
Point(32) = {0.94130899, 0.00821811, 0.00000000, 0.00000000};
Point(33) = {0.93754351, 0.00872488, 0.00000000, 0.00000000};
Point(34) = {0.93366899, 0.00924385, 0.00000000, 0.00000000};
Point(35) = {0.92968639, 0.00977470, 0.00000000, 0.00000000};
Point(36) = {0.92559670, 0.01031711, 0.00000000, 0.00000000};
Point(37) = {0.92140095, 0.01087074, 0.00000000, 0.00000000};
Point(38) = {0.91710017, 0.01143526, 0.00000000, 0.00000000};
Point(39) = {0.91269544, 0.01201032, 0.00000000, 0.00000000};
Point(40) = {0.90818786, 0.01259560, 0.00000000, 0.00000000};
Point(41) = {0.90357855, 0.01319075, 0.00000000, 0.00000000};
Point(42) = {0.89886866, 0.01379541, 0.00000000, 0.00000000};
Point(43) = {0.89405937, 0.01440925, 0.00000000, 0.00000000};
Point(44) = {0.88915186, 0.01503190, 0.00000000, 0.00000000};
Point(45) = {0.88414738, 0.01566303, 0.00000000, 0.00000000};
Point(46) = {0.87904715, 0.01630226, 0.00000000, 0.00000000};
Point(47) = {0.87385246, 0.01694926, 0.00000000, 0.00000000};
Point(48) = {0.86856459, 0.01760365, 0.00000000, 0.00000000};
Point(49) = {0.86318488, 0.01826509, 0.00000000, 0.00000000};
Point(50) = {0.85771464, 0.01893321, 0.00000000, 0.00000000};
Point(51) = {0.85215526, 0.01960766, 0.00000000, 0.00000000};
Point(52) = {0.84650812, 0.02028807, 0.00000000, 0.00000000};
Point(53) = {0.84077461, 0.02097408, 0.00000000, 0.00000000};
Point(54) = {0.83495618, 0.02166533, 0.00000000, 0.00000000};
Point(55) = {0.82905427, 0.02236146, 0.00000000, 0.00000000};
Point(56) = {0.82307036, 0.02306210, 0.00000000, 0.00000000};
Point(57) = {0.81700592, 0.02376689, 0.00000000, 0.00000000};
Point(58) = {0.81086249, 0.02447546, 0.00000000, 0.00000000};
Point(59) = {0.80464158, 0.02518746, 0.00000000, 0.00000000};
Point(60) = {0.79834474, 0.02590250, 0.00000000, 0.00000000};
Point(61) = {0.79197356, 0.02662023, 0.00000000, 0.00000000};
Point(62) = {0.78552960, 0.02734028, 0.00000000, 0.00000000};
Point(63) = {0.77901449, 0.02806227, 0.00000000, 0.00000000};
Point(64) = {0.77242984, 0.02878585, 0.00000000, 0.00000000};
Point(65) = {0.76577730, 0.02951063, 0.00000000, 0.00000000};
Point(66) = {0.75905852, 0.03023625, 0.00000000, 0.00000000};
Point(67) = {0.75227517, 0.03096233, 0.00000000, 0.00000000};
Point(68) = {0.74542895, 0.03168849, 0.00000000, 0.00000000};
Point(69) = {0.73852157, 0.03241437, 0.00000000, 0.00000000};
Point(70) = {0.73155474, 0.03313958, 0.00000000, 0.00000000};
Point(71) = {0.72453021, 0.03386374, 0.00000000, 0.00000000};
Point(72) = {0.71744971, 0.03458648, 0.00000000, 0.00000000};
Point(73) = {0.71031503, 0.03530739, 0.00000000, 0.00000000};
Point(74) = {0.70312793, 0.03602611, 0.00000000, 0.00000000};
Point(75) = {0.69589020, 0.03674223, 0.00000000, 0.00000000};
Point(76) = {0.68860366, 0.03745538, 0.00000000, 0.00000000};
Point(77) = {0.68127011, 0.03816514, 0.00000000, 0.00000000};
Point(78) = {0.67389138, 0.03887114, 0.00000000, 0.00000000};
Point(79) = {0.66646932, 0.03957296, 0.00000000, 0.00000000};
Point(80) = {0.65900577, 0.04027020, 0.00000000, 0.00000000};
Point(81) = {0.65150259, 0.04096247, 0.00000000, 0.00000000};
Point(82) = {0.64396165, 0.04164934, 0.00000000, 0.00000000};
Point(83) = {0.63638484, 0.04233041, 0.00000000, 0.00000000};
Point(84) = {0.62877404, 0.04300527, 0.00000000, 0.00000000};
Point(85) = {0.62113114, 0.04367349, 0.00000000, 0.00000000};
Point(86) = {0.61345805, 0.04433466, 0.00000000, 0.00000000};
Point(87) = {0.60575669, 0.04498835, 0.00000000, 0.00000000};
Point(88) = {0.59802897, 0.04563413, 0.00000000, 0.00000000};
Point(89) = {0.59027683, 0.04627158, 0.00000000, 0.00000000};
Point(90) = {0.58250218, 0.04690027, 0.00000000, 0.00000000};
Point(91) = {0.57470697, 0.04751975, 0.00000000, 0.00000000};
Point(92) = {0.56689314, 0.04812959, 0.00000000, 0.00000000};
Point(93) = {0.55906264, 0.04872936, 0.00000000, 0.00000000};
Point(94) = {0.55121742, 0.04931860, 0.00000000, 0.00000000};
Point(95) = {0.54335944, 0.04989688, 0.00000000, 0.00000000};
Point(96) = {0.53549065, 0.05046375, 0.00000000, 0.00000000};
Point(97) = {0.52761302, 0.05101877, 0.00000000, 0.00000000};
Point(98) = {0.51972850, 0.05156148, 0.00000000, 0.00000000};
Point(99) = {0.51183907, 0.05209144, 0.00000000, 0.00000000};
Point(100) = {0.50394668, 0.05260821, 0.00000000, 0.02000000};
Point(101) = {0.49605332, 0.05311133, 0.00000000, 0.00000000};
Point(102) = {0.48816093, 0.05360035, 0.00000000, 0.00000000};
Point(103) = {0.48027150, 0.05407483, 0.00000000, 0.00000000};
Point(104) = {0.47238698, 0.05453433, 0.00000000, 0.00000000};
Point(105) = {0.46450935, 0.05497839, 0.00000000, 0.00000000};
Point(106) = {0.45664056, 0.05540658, 0.00000000, 0.00000000};
Point(107) = {0.44878258, 0.05581847, 0.00000000, 0.00000000};
Point(108) = {0.44093736, 0.05621360, 0.00000000, 0.00000000};
Point(109) = {0.43310686, 0.05659157, 0.00000000, 0.00000000};
Point(110) = {0.42529303, 0.05695193, 0.00000000, 0.00000000};
Point(111) = {0.41749782, 0.05729426, 0.00000000, 0.00000000};
Point(112) = {0.40972317, 0.05761816, 0.00000000, 0.00000000};
Point(113) = {0.40197103, 0.05792320, 0.00000000, 0.00000000};
Point(114) = {0.39424331, 0.05820900, 0.00000000, 0.00000000};
Point(115) = {0.38654195, 0.05847514, 0.00000000, 0.00000000};
Point(116) = {0.37886886, 0.05872126, 0.00000000, 0.00000000};
Point(117) = {0.37122596, 0.05894696, 0.00000000, 0.00000000};
Point(118) = {0.36361516, 0.05915188, 0.00000000, 0.00000000};
Point(119) = {0.35603835, 0.05933565, 0.00000000, 0.00000000};
Point(120) = {0.34849741, 0.05949794, 0.00000000, 0.00000000};
Point(121) = {0.34099423, 0.05963840, 0.00000000, 0.00000000};
Point(122) = {0.33353068, 0.05975671, 0.00000000, 0.00000000};
Point(123) = {0.32610862, 0.05985256, 0.00000000, 0.00000000};
Point(124) = {0.31872989, 0.05992564, 0.00000000, 0.00000000};
Point(125) = {0.31139634, 0.05997567, 0.00000000, 0.00000000};
Point(126) = {0.30410980, 0.06000238, 0.00000000, 0.00000000};
Point(127) = {0.29687207, 0.06000550, 0.00000000, 0.00000000};
Point(128) = {0.28968497, 0.05998481, 0.00000000, 0.00000000};
Point(129) = {0.28255029, 0.05994006, 0.00000000, 0.00000000};
Point(130) = {0.27546979, 0.05987105, 0.00000000, 0.00000000};
Point(131) = {0.26844526, 0.05977758, 0.00000000, 0.00000000};
Point(132) = {0.26147843, 0.05965949, 0.00000000, 0.00000000};
Point(133) = {0.25457105, 0.05951660, 0.00000000, 0.00000000};
Point(134) = {0.24772483, 0.05934878, 0.00000000, 0.00000000};
Point(135) = {0.24094148, 0.05915590, 0.00000000, 0.00000000};
Point(136) = {0.23422270, 0.05893786, 0.00000000, 0.00000000};
Point(137) = {0.22757016, 0.05869457, 0.00000000, 0.00000000};
Point(138) = {0.22098551, 0.05842597, 0.00000000, 0.00000000};
Point(139) = {0.21447040, 0.05813199, 0.00000000, 0.00000000};
Point(140) = {0.20802644, 0.05781262, 0.00000000, 0.00000000};
Point(141) = {0.20165526, 0.05746784, 0.00000000, 0.00000000};
Point(142) = {0.19535842, 0.05709767, 0.00000000, 0.00000000};
Point(143) = {0.18913751, 0.05670212, 0.00000000, 0.00000000};
Point(144) = {0.18299408, 0.05628124, 0.00000000, 0.00000000};
Point(145) = {0.17692964, 0.05583511, 0.00000000, 0.00000000};
Point(146) = {0.17094573, 0.05536380, 0.00000000, 0.00000000};
Point(147) = {0.16504382, 0.05486742, 0.00000000, 0.00000000};
Point(148) = {0.15922539, 0.05434610, 0.00000000, 0.00000000};
Point(149) = {0.15349188, 0.05379996, 0.00000000, 0.00000000};
Point(150) = {0.14784474, 0.05322918, 0.00000000, 0.00000000};
Point(151) = {0.14228536, 0.05263392, 0.00000000, 0.00000000};
Point(152) = {0.13681512, 0.05201438, 0.00000000, 0.00000000};
Point(153) = {0.13143541, 0.05137077, 0.00000000, 0.00000000};
Point(154) = {0.12614754, 0.05070332, 0.00000000, 0.00000000};
Point(155) = {0.12095285, 0.05001226, 0.00000000, 0.00000000};
Point(156) = {0.11585262, 0.04929786, 0.00000000, 0.00000000};
Point(157) = {0.11084814, 0.04856039, 0.00000000, 0.00000000};
Point(158) = {0.10594063, 0.04780013, 0.00000000, 0.00000000};
Point(159) = {0.10113134, 0.04701738, 0.00000000, 0.00000000};
Point(160) = {0.09642145, 0.04621245, 0.00000000, 0.00000000};
Point(161) = {0.09181214, 0.04538566, 0.00000000, 0.00000000};
Point(162) = {0.08730456, 0.04453736, 0.00000000, 0.00000000};
Point(163) = {0.08289983, 0.04366788, 0.00000000, 0.00000000};
Point(164) = {0.07859905, 0.04277758, 0.00000000, 0.00000000};
Point(165) = {0.07440330, 0.04186681, 0.00000000, 0.00000000};
Point(166) = {0.07031361, 0.04093596, 0.00000000, 0.00000000};
Point(167) = {0.06633101, 0.03998539, 0.00000000, 0.00000000};
Point(168) = {0.06245649, 0.03901548, 0.00000000, 0.00000000};
Point(169) = {0.05869101, 0.03802663, 0.00000000, 0.00000000};
Point(170) = {0.05503552, 0.03701922, 0.00000000, 0.00000000};
Point(171) = {0.05149092, 0.03599365, 0.00000000, 0.00000000};
Point(172) = {0.04805810, 0.03495031, 0.00000000, 0.00000000};
Point(173) = {0.04473791, 0.03388960, 0.00000000, 0.00000000};
Point(174) = {0.04153119, 0.03281191, 0.00000000, 0.00000000};
Point(175) = {0.03843872, 0.03171765, 0.00000000, 0.00000000};
Point(176) = {0.03546128, 0.03060719, 0.00000000, 0.00000000};
Point(177) = {0.03259962, 0.02948094, 0.00000000, 0.00000000};
Point(178) = {0.02985444, 0.02833928, 0.00000000, 0.00000000};
Point(179) = {0.02722644, 0.02718259, 0.00000000, 0.00000000};
Point(180) = {0.02471626, 0.02601124, 0.00000000, 0.00000000};
Point(181) = {0.02232452, 0.02482561, 0.00000000, 0.00000000};
Point(182) = {0.02005184, 0.02362605, 0.00000000, 0.00300000};
Point(183) = {0.01789877, 0.02241293, 0.00000000, 0.00000000};
Point(184) = {0.01586585, 0.02118658, 0.00000000, 0.00000000};
Point(185) = {0.01395358, 0.01994733, 0.00000000, 0.00000000};
Point(186) = {0.01216245, 0.01869552, 0.00000000, 0.00000000};
Point(187) = {0.01049290, 0.01743145, 0.00000000, 0.00000000};
Point(188) = {0.00894534, 0.01615542, 0.00000000, 0.00000000};
Point(189) = {0.00752016, 0.01486772, 0.00000000, 0.00000000};
Point(190) = {0.00621772, 0.01356862, 0.00000000, 0.00000000};
Point(191) = {0.00503834, 0.01225838, 0.00000000, 0.00000000};
Point(192) = {0.00398232, 0.01093724, 0.00000000, 0.00000000};
Point(193) = {0.00304991, 0.00960543, 0.00000000, 0.00000000};
Point(194) = {0.00224136, 0.00826318, 0.00000000, 0.00000000};
Point(195) = {0.00155685, 0.00691066, 0.00000000, 0.00000000};
Point(196) = {0.00099657, 0.00554807, 0.00000000, 0.00000000};
Point(197) = {0.00056065, 0.00417557, 0.00000000, 0.00000000};
Point(198) = {0.00024921, 0.00279331, 0.00000000, 0.00000000};
Point(199) = {0.00006231, 0.00140141, 0.00000000, 0.00000000};
Point(200) = {0.00000000, 0.00000000, 0.00000000, 0.00100000};
// Airfoil pressure side
Point(201) = {0.00006231, -0.00140141, 0.00000000, 0.00000000};
Point(202) = {0.00024921, -0.00279331, 0.00000000, 0.00000000};
Point(203) = {0.00056065, -0.00417557, 0.00000000, 0.00000000};
Point(204) = {0.00099657, -0.00554807, 0.00000000, 0.00000000};
Point(205) = {0.00155685, -0.00691066, 0.00000000, 0.00000000};
Point(206) = {0.00224136, -0.00826318, 0.00000000, 0.00000000};
Point(207) = {0.00304991, -0.00960543, 0.00000000, 0.00000000};
Point(208) = {0.00398232, -0.01093724, 0.00000000, 0.00000000};
Point(209) = {0.00503834, -0.01225838, 0.00000000, 0.00000000};
Point(210) = {0.00621772, -0.01356862, 0.00000000, 0.00000000};
Point(211) = {0.00752016, -0.01486772, 0.00000000, 0.00000000};
Point(212) = {0.00894534, -0.01615542, 0.00000000, 0.00000000};
Point(213) = {0.01049290, -0.01743145, 0.00000000, 0.00000000};
Point(214) = {0.01216245, -0.01869552, 0.00000000, 0.00000000};
Point(215) = {0.01395358, -0.01994733, 0.00000000, 0.00000000};
Point(216) = {0.01586585, -0.02118658, 0.00000000, 0.00000000};
Point(217) = {0.01789877, -0.02241293, 0.00000000, 0.00000000};
Point(218) = {0.02005184, -0.02362605, 0.00000000, 0.00300000};
Point(219) = {0.02232452, -0.02482561, 0.00000000, 0.00000000};
Point(220) = {0.02471626, -0.02601124, 0.00000000, 0.00000000};
Point(221) = {0.02722644, -0.02718259, 0.00000000, 0.00000000};
Point(222) = {0.02985444, -0.02833928, 0.00000000, 0.00000000};
Point(223) = {0.03259962, -0.02948094, 0.00000000, 0.00000000};
Point(224) = {0.03546128, -0.03060719, 0.00000000, 0.00000000};
Point(225) = {0.03843872, -0.03171765, 0.00000000, 0.00000000};
Point(226) = {0.04153119, -0.03281191, 0.00000000, 0.00000000};
Point(227) = {0.04473791, -0.03388960, 0.00000000, 0.00000000};
Point(228) = {0.04805810, -0.03495031, 0.00000000, 0.00000000};
Point(229) = {0.05149092, -0.03599365, 0.00000000, 0.00000000};
Point(230) = {0.05503552, -0.03701922, 0.00000000, 0.00000000};
Point(231) = {0.05869101, -0.03802663, 0.00000000, 0.00000000};
Point(232) = {0.06245649, -0.03901548, 0.00000000, 0.00000000};
Point(233) = {0.06633101, -0.03998539, 0.00000000, 0.00000000};
Point(234) = {0.07031361, -0.04093596, 0.00000000, 0.00000000};
Point(235) = {0.07440330, -0.04186681, 0.00000000, 0.00000000};
Point(236) = {0.07859905, -0.04277758, 0.00000000, 0.00000000};
Point(237) = {0.08289983, -0.04366788, 0.00000000, 0.00000000};
Point(238) = {0.08730456, -0.04453736, 0.00000000, 0.00000000};
Point(239) = {0.09181214, -0.04538566, 0.00000000, 0.00000000};
Point(240) = {0.09642145, -0.04621245, 0.00000000, 0.00000000};
Point(241) = {0.10113134, -0.04701738, 0.00000000, 0.00000000};
Point(242) = {0.10594063, -0.04780013, 0.00000000, 0.00000000};
Point(243) = {0.11084814, -0.04856039, 0.00000000, 0.00000000};
Point(244) = {0.11585262, -0.04929786, 0.00000000, 0.00000000};
Point(245) = {0.12095285, -0.05001226, 0.00000000, 0.00000000};
Point(246) = {0.12614754, -0.05070332, 0.00000000, 0.00000000};
Point(247) = {0.13143541, -0.05137077, 0.00000000, 0.00000000};
Point(248) = {0.13681512, -0.05201438, 0.00000000, 0.00000000};
Point(249) = {0.14228536, -0.05263392, 0.00000000, 0.00000000};
Point(250) = {0.14784474, -0.05322918, 0.00000000, 0.00000000};
Point(251) = {0.15349188, -0.05379996, 0.00000000, 0.00000000};
Point(252) = {0.15922539, -0.05434610, 0.00000000, 0.00000000};
Point(253) = {0.16504382, -0.05486742, 0.00000000, 0.00000000};
Point(254) = {0.17094573, -0.05536380, 0.00000000, 0.00000000};
Point(255) = {0.17692964, -0.05583511, 0.00000000, 0.00000000};
Point(256) = {0.18299408, -0.05628124, 0.00000000, 0.00000000};
Point(257) = {0.18913751, -0.05670212, 0.00000000, 0.00000000};
Point(258) = {0.19535842, -0.05709767, 0.00000000, 0.00000000};
Point(259) = {0.20165526, -0.05746784, 0.00000000, 0.00000000};
Point(260) = {0.20802644, -0.05781262, 0.00000000, 0.00000000};
Point(261) = {0.21447040, -0.05813199, 0.00000000, 0.00000000};
Point(262) = {0.22098551, -0.05842597, 0.00000000, 0.00000000};
Point(263) = {0.22757016, -0.05869457, 0.00000000, 0.00000000};
Point(264) = {0.23422270, -0.05893786, 0.00000000, 0.00000000};
Point(265) = {0.24094148, -0.05915590, 0.00000000, 0.00000000};
Point(266) = {0.24772483, -0.05934878, 0.00000000, 0.00000000};
Point(267) = {0.25457105, -0.05951660, 0.00000000, 0.00000000};
Point(268) = {0.26147843, -0.05965949, 0.00000000, 0.00000000};
Point(269) = {0.26844526, -0.05977758, 0.00000000, 0.00000000};
Point(270) = {0.27546979, -0.05987105, 0.00000000, 0.00000000};
Point(271) = {0.28255029, -0.05994006, 0.00000000, 0.00000000};
Point(272) = {0.28968497, -0.05998481, 0.00000000, 0.00000000};
Point(273) = {0.29687207, -0.06000550, 0.00000000, 0.00000000};
Point(274) = {0.30410980, -0.06000238, 0.00000000, 0.00000000};
Point(275) = {0.31139634, -0.05997567, 0.00000000, 0.00000000};
Point(276) = {0.31872989, -0.05992564, 0.00000000, 0.00000000};
Point(277) = {0.32610862, -0.05985256, 0.00000000, 0.00000000};
Point(278) = {0.33353068, -0.05975671, 0.00000000, 0.00000000};
Point(279) = {0.34099423, -0.05963840, 0.00000000, 0.00000000};
Point(280) = {0.34849741, -0.05949794, 0.00000000, 0.00000000};
Point(281) = {0.35603835, -0.05933565, 0.00000000, 0.00000000};
Point(282) = {0.36361516, -0.05915188, 0.00000000, 0.00000000};
Point(283) = {0.37122596, -0.05894696, 0.00000000, 0.00000000};
Point(284) = {0.37886886, -0.05872126, 0.00000000, 0.00000000};
Point(285) = {0.38654195, -0.05847514, 0.00000000, 0.00000000};
Point(286) = {0.39424331, -0.05820900, 0.00000000, 0.00000000};
Point(287) = {0.40197103, -0.05792320, 0.00000000, 0.00000000};
Point(288) = {0.40972317, -0.05761816, 0.00000000, 0.00000000};
Point(289) = {0.41749782, -0.05729426, 0.00000000, 0.00000000};
Point(290) = {0.42529303, -0.05695193, 0.00000000, 0.00000000};
Point(291) = {0.43310686, -0.05659157, 0.00000000, 0.00000000};
Point(292) = {0.44093736, -0.05621360, 0.00000000, 0.00000000};
Point(293) = {0.44878258, -0.05581847, 0.00000000, 0.00000000};
Point(294) = {0.45664056, -0.05540658, 0.00000000, 0.00000000};
Point(295) = {0.46450935, -0.05497839, 0.00000000, 0.00000000};
Point(296) = {0.47238698, -0.05453433, 0.00000000, 0.00000000};
Point(297) = {0.48027150, -0.05407483, 0.00000000, 0.00000000};
Point(298) = {0.48816093, -0.05360035, 0.00000000, 0.00000000};
Point(299) = {0.49605332, -0.05311133, 0.00000000, 0.02000000};
Point(300) = {0.50394668, -0.05260821, 0.00000000, 0.00000000};
Point(301) = {0.51183907, -0.05209144, 0.00000000, 0.00000000};
Point(302) = {0.51972850, -0.05156148, 0.00000000, 0.00000000};
Point(303) = {0.52761302, -0.05101877, 0.00000000, 0.00000000};
Point(304) = {0.53549065, -0.05046375, 0.00000000, 0.00000000};
Point(305) = {0.54335944, -0.04989688, 0.00000000, 0.00000000};
Point(306) = {0.55121742, -0.04931860, 0.00000000, 0.00000000};
Point(307) = {0.55906264, -0.04872936, 0.00000000, 0.00000000};
Point(308) = {0.56689314, -0.04812959, 0.00000000, 0.00000000};
Point(309) = {0.57470697, -0.04751975, 0.00000000, 0.00000000};
Point(310) = {0.58250218, -0.04690027, 0.00000000, 0.00000000};
Point(311) = {0.59027683, -0.04627158, 0.00000000, 0.00000000};
Point(312) = {0.59802897, -0.04563413, 0.00000000, 0.00000000};
Point(313) = {0.60575669, -0.04498835, 0.00000000, 0.00000000};
Point(314) = {0.61345805, -0.04433466, 0.00000000, 0.00000000};
Point(315) = {0.62113114, -0.04367349, 0.00000000, 0.00000000};
Point(316) = {0.62877404, -0.04300527, 0.00000000, 0.00000000};
Point(317) = {0.63638484, -0.04233041, 0.00000000, 0.00000000};
Point(318) = {0.64396165, -0.04164934, 0.00000000, 0.00000000};
Point(319) = {0.65150259, -0.04096247, 0.00000000, 0.00000000};
Point(320) = {0.65900577, -0.04027020, 0.00000000, 0.00000000};
Point(321) = {0.66646932, -0.03957296, 0.00000000, 0.00000000};
Point(322) = {0.67389138, -0.03887114, 0.00000000, 0.00000000};
Point(323) = {0.68127011, -0.03816514, 0.00000000, 0.00000000};
Point(324) = {0.68860366, -0.03745538, 0.00000000, 0.00000000};
Point(325) = {0.69589020, -0.03674223, 0.00000000, 0.00000000};
Point(326) = {0.70312793, -0.03602611, 0.00000000, 0.00000000};
Point(327) = {0.71031503, -0.03530739, 0.00000000, 0.00000000};
Point(328) = {0.71744971, -0.03458648, 0.00000000, 0.00000000};
Point(329) = {0.72453021, -0.03386374, 0.00000000, 0.00000000};
Point(330) = {0.73155474, -0.03313958, 0.00000000, 0.00000000};
Point(331) = {0.73852157, -0.03241437, 0.00000000, 0.00000000};
Point(332) = {0.74542895, -0.03168849, 0.00000000, 0.00000000};
Point(333) = {0.75227517, -0.03096233, 0.00000000, 0.00000000};
Point(334) = {0.75905852, -0.03023625, 0.00000000, 0.00000000};
Point(335) = {0.76577730, -0.02951063, 0.00000000, 0.00000000};
Point(336) = {0.77242984, -0.02878585, 0.00000000, 0.00000000};
Point(337) = {0.77901449, -0.02806227, 0.00000000, 0.00000000};
Point(338) = {0.78552960, -0.02734028, 0.00000000, 0.00000000};
Point(339) = {0.79197356, -0.02662023, 0.00000000, 0.00000000};
Point(340) = {0.79834474, -0.02590250, 0.00000000, 0.00000000};
Point(341) = {0.80464158, -0.02518746, 0.00000000, 0.00000000};
Point(342) = {0.81086249, -0.02447546, 0.00000000, 0.00000000};
Point(343) = {0.81700592, -0.02376689, 0.00000000, 0.00000000};
Point(344) = {0.82307036, -0.02306210, 0.00000000, 0.00000000};
Point(345) = {0.82905427, -0.02236146, 0.00000000, 0.00000000};
Point(346) = {0.83495618, -0.02166533, 0.00000000, 0.00000000};
Point(347) = {0.84077461, -0.02097408, 0.00000000, 0.00000000};
Point(348) = {0.84650812, -0.02028807, 0.00000000, 0.00000000};
Point(349) = {0.85215526, -0.01960766, 0.00000000, 0.00000000};
Point(350) = {0.85771464, -0.01893321, 0.00000000, 0.00000000};
Point(351) = {0.86318488, -0.01826509, 0.00000000, 0.00000000};
Point(352) = {0.86856459, -0.01760365, 0.00000000, 0.00000000};
Point(353) = {0.87385246, -0.01694926, 0.00000000, 0.00000000};
Point(354) = {0.87904715, -0.01630226, 0.00000000, 0.00000000};
Point(355) = {0.88414738, -0.01566303, 0.00000000, 0.00000000};
Point(356) = {0.88915186, -0.01503190, 0.00000000, 0.00000000};
Point(357) = {0.89405937, -0.01440925, 0.00000000, 0.00000000};
Point(358) = {0.89886866, -0.01379541, 0.00000000, 0.00000000};
Point(359) = {0.90357855, -0.01319075, 0.00000000, 0.00000000};
Point(360) = {0.90818786, -0.01259560, 0.00000000, 0.00000000};
Point(361) = {0.91269544, -0.01201032, 0.00000000, 0.00000000};
Point(362) = {0.91710017, -0.01143526, 0.00000000, 0.00000000};
Point(363) = {0.92140095, -0.01087074, 0.00000000, 0.00000000};
Point(364) = {0.92559670, -0.01031711, 0.00000000, 0.00000000};
Point(365) = {0.92968639, -0.00977470, 0.00000000, 0.00000000};
Point(366) = {0.93366899, -0.00924385, 0.00000000, 0.00000000};
Point(367) = {0.93754351, -0.00872488, 0.00000000, 0.00000000};
Point(368) = {0.94130899, -0.00821811, 0.00000000, 0.00000000};
Point(369) = {0.94496448, -0.00772386, 0.00000000, 0.00000000};
Point(370) = {0.94850908, -0.00724244, 0.00000000, 0.00000000};
Point(371) = {0.95194190, -0.00677417, 0.00000000, 0.00000000};
Point(372) = {0.95526209, -0.00631934, 0.00000000, 0.00000000};
Point(373) = {0.95846881, -0.00587824, 0.00000000, 0.00000000};
Point(374) = {0.96156128, -0.00545117, 0.00000000, 0.00000000};
Point(375) = {0.96453872, -0.00503840, 0.00000000, 0.00000000};
Point(376) = {0.96740038, -0.00464022, 0.00000000, 0.00000000};
Point(377) = {0.97014556, -0.00425689, 0.00000000, 0.00000000};
Point(378) = {0.97277356, -0.00388866, 0.00000000, 0.00000000};
Point(379) = {0.97528374, -0.00353580, 0.00000000, 0.00000000};
Point(380) = {0.97767548, -0.00319853, 0.00000000, 0.00000000};
Point(381) = {0.97994816, -0.00287709, 0.00000000, 0.00500000};
Point(382) = {0.98210123, -0.00257170, 0.00000000, 0.00000000};
Point(383) = {0.98413415, -0.00228259, 0.00000000, 0.00000000};
Point(384) = {0.98604642, -0.00200994, 0.00000000, 0.00000000};
Point(385) = {0.98783755, -0.00175396, 0.00000000, 0.00000000};
Point(386) = {0.98950710, -0.00151482, 0.00000000, 0.00000000};
Point(387) = {0.99105466, -0.00129270, 0.00000000, 0.00000000};
Point(388) = {0.99247984, -0.00108774, 0.00000000, 0.00000000};
Point(389) = {0.99378228, -0.00090011, 0.00000000, 0.00000000};
Point(390) = {0.99496166, -0.00072993, 0.00000000, 0.00000000};
Point(391) = {0.99601768, -0.00057734, 0.00000000, 0.00000000};
Point(392) = {0.99695009, -0.00044243, 0.00000000, 0.00000000};
Point(393) = {0.99775864, -0.00032531, 0.00000000, 0.00000000};
Point(394) = {0.99844315, -0.00022606, 0.00000000, 0.00000000};
Point(395) = {0.99900343, -0.00014476, 0.00000000, 0.00000000};
Point(396) = {0.99943935, -0.00008146, 0.00000000, 0.00000000};
Point(397) = {0.99975079, -0.00003622, 0.00000000, 0.00000000};
Point(398) = {0.99993769, -0.00000906, 0.00000000, 0.00000000};
Spline(1) = {1:19};
Spline(2) = {19:100};
Spline(3) = {100:182};
Spline(4) = {182:200};
Spline(5) = {200:218};
Spline(6) = {218:299};
Spline(7) = {299:381};
Spline(8) = {381:398, 1};
Line Loop(1) = {1:8};
// Domain boundary
Rd = 100; // domain radius
domain_disc = 20; // domain discretization
Point(399) = {0, 0, 0, domain_disc};
Point(400) = {Rd, 0, 0, domain_disc};
Point(401) = {0, Rd, 0, domain_disc};
Point(402) = {-Rd, 0, 0, domain_disc};
Point(403) = {0, -Rd, 0, domain_disc};
Circle(9) = {400, 399, 401};
Circle(10) = {401, 399, 402};
Circle(11) = {402, 399, 403};
Circle(12) = {403, 399, 400};
Line Loop(2) = {9:12};
// Refinement boundary
Rr = 5;
refine_disc = 1.500000e+00;
Point(404) = {0.5, 0, 0, refine_disc};
Point(405) = {Rr+0.5, 0, 0, refine_disc};
Point(406) = {0.5, Rr, 0, refine_disc};
Point(407) = {-Rr+0.5, 0, 0, refine_disc};
Point(408) = {0.5, -Rr, 0, refine_disc};
Circle(13) = {405, 404, 406};
Circle(14) = {406, 404, 407};
Circle(15) = {407, 404, 408};
Circle(16) = {408, 404, 405};
Line Loop(3) = {13:16};
Plane Surface(1) = {2, 3};
Plane Surface(2) = {3, 1};
// Boundary layer
Field[1] = BoundaryLayer;
Field[1].EdgesList = {1:8};
Field[1].FanNodesList = {1}; // "fan" cells around trailing edge
Mesh.BoundaryLayerFanPoints=20; // number of fan points
Field[1].hwall_n = 1e-5; // first cell height
Field[1].thickness = 0.02; // total thickness of BL
Field[1].ratio = 1.3; // growth ratio
Field[1].Quads = 1; // prism cells = 1, tri cells = 0
BoundaryLayer Field = 1;
// Mesh refinement around airfoil
// Refine mesh within 1.5 chord of airfoil
Field[2] = Distance; // calculates distance from Edge 1
Field[2].NNodesByEdge = 200; // estimate edge by no. of points
Field[2].EdgesList = {1:8};
Field[3] = Threshold; // Sets a mesh size based on field 2
Field[3].IField = 2;
Field[3].LcMin = 0.2; // mesh size within 1.5 chord
Field[3].LcMax = domain_disc; // mesh size at domain boundary
Field[3].DistMin = 1.5; // refine within 1.5 chord
Field[3].DistMax = Rd;
// Refine further with 0.33 chord of airfoil
Field[4] = Threshold;
Field[4].IField = 2;
Field[4].LcMin = 0.05;
Field[4].DistMin = 0.33;
Field[4].LcMax = domain_disc;
Field[4].DistMax = Rd;
// Refine further with 0.1 chord of airfoil
Field[5] = Threshold;
Field[5].IField = 2;
Field[5].LcMin = 0.02;
Field[5].DistMin = 0.1;
Field[5].LcMax = domain_disc;
Field[5].DistMax = Rd;
// Refine further within 0.1 chord of leading and trailing edge
Field[6] = Distance;
Field[6].NodesList = {1, 200};
Field[7] = Threshold;
Field[7].IField = 6;
Field[7].LcMin = 0.025;
Field[7].DistMin = 0.1;
Field[7].LcMax = domain_disc;
Field[7].DistMax = Rd;
// Use minimum value of all refinements for mesh size
Field[8] = Min; // finds minimum mesh size from fields and lc
Field[8].FieldsList = {3, 4, 5, 7};
Background Field = 8;
// Define physical entities
Physical Curve("airfoil_suction") = {1:4};
Physical Curve("airfoil_pressure") = {5:8};
Physical Curve("farfield") = {9:12};
Physical Surface("fluid") = {1, 2};
