<div dir="ltr"><div>Hello gmsh-community,</div><div><br></div><div>I'm having trouble creating a high quality mesh for an airfoil with a blunt TE.</div><div>I want to use the boundaryLayer field only up to the TE (see picture airfoilFull.png).</div><div>The problem is at the TE the mesh goes through the edges and I'am getting open faces if I convert it to openFOAM (see picture airfoilTE.png).</div><div><br></div><div>I tried different things:</div><div><ol><li>changing h_wall_n:  Lowering h_wall_n results in  the same behaviour. Choosing a high h_wall_n makes even wierder behaviour.</li><li>Changing the local refinement around the points on the TE or at points or lines close to it -> does not help</li><li>I also tried using the fan, but I am not satisfied with the grid resolution at the mesh and the resulting skewness around it (see picture airfoil_withFan.png)</li></ol><div><br></div><div>I am using gmsh 4.2.1<br></div><div>My .geo file is below and is also attatched.</div><div><br></div><div>Thank you! Regards<br></div><div><br></div><div>Iason Tsiapkinis</div><div><br></div><div><br></div><div>Point(1) = {0.1761033799,-0.02620584306,0,0.000149970964};<br>Point(2) = {0.1753505137,-0.02574098092,0,0.0002919509288};<br>Point(3) = {0.1745588381,-0.02525468823,0,0.0002919509288};<br>Point(4) = {0.1737301157,-0.02474837845,0,0.0002919509288};<br>Point(5) = {0.1728641046,-0.02422223366,0,0.0002919509288};<br>Point(6) = {0.1719609602,-0.02367668358,0,0.0002919509288};<br>Point(7) = {0.1710196771,-0.02311146444,0,0.0002919509288};<br>Point(8) = {0.170040423,-0.02252702831,0,0.0002919509288};<br>Point(9) = {0.1690275,-0.02192627169,0,0.0002919509288};<br>Point(10) = {0.1679743426,-0.02130564214,0,0.0002919509288};<br>Point(11) = {0.1668856383,-0.02066825395,0,0.0002919509288};<br>Point(12) = {0.1657608751,-0.02001413352,0,0.0002919509288};<br>Point(13) = {0.1645995597,-0.01934332402,0,0.0002919509288};<br>Point(14) = {0.1634037328,-0.01865731995,0,0.0002919509288};<br>Point(15) = {0.1621717131,-0.01795546699,0,0.0002919509288};<br>Point(16) = {0.160905782,-0.01723936454,0,0.0002919509288};<br>Point(17) = {0.159606774,-0.01650975909,0,0.0002919509288};<br>Point(18) = {0.1582748606,-0.01576700789,0,0.0002919509288};<br>Point(19) = {0.1569093397,-0.01501097472,0,0.0002919509288};<br>Point(20) = {0.1555116564,-0.01424270163,0,0.0002919509288};<br>Point(21) = {0.1540832774,-0.01346320915,0,0.0002919509288};<br>Point(22) = {0.1526235356,-0.0126723325,0,0.0002919509288};<br>Point(23) = {0.1511329757,-0.01187055593,0,0.0002919509288};<br>Point(24) = {0.1496134027,-0.01105901356,0,0.0002919509288};<br>Point(25) = {0.1480660538,-0.01023850063,0,0.0002919509288};<br>Point(26) = {0.1464924836,-0.009409947928,0,0.0002919509288};<br>Point(27) = {0.1448911228,-0.008572623552,0,0.0002919509288};<br>Point(28) = {0.143261976,-0.007726619702,0,0.0002919509288};<br>Point(29) = {0.1416087708,-0.006873929749,0,0.0002919509288};<br>Point(30) = {0.139932841,-0.006015259211,0,0.0002919509288};<br>Point(31) = {0.1382326559,-0.005149830467,0,0.0002919509288};<br>Point(32) = {0.1365100882,-0.00427865623,0,0.0002919509288};<br>Point(33) = {0.1347652852,-0.003402122677,0,0.0002919509288};<br>Point(34) = {0.1330023433,-0.002522655213,0,0.0002919509288};<br>Point(35) = {0.1312184563,-0.001639226104,0,0.0002919509288};<br>Point(36) = {0.1294148086,-0.0007528133656,0,0.0002919509288};<br>Point(37) = {0.127594941,0.000134466653,0,0.0002919509288};<br>Point(38) = {0.1257566142,0.001023328509,0,0.0002919509288};<br>Point(39) = {0.1239019931,0.001912337953,0,0.0002919509288};<br>Point(40) = {0.1220322855,0.002800541704,0,0.0002919509288};<br>Point(41) = {0.1201489492,0.003686883283,0,0.0002919509288};<br>Point(42) = {0.1182499981,0.004571922416,0,0.0002919509288};<br>Point(43) = {0.1163391631,0.00545355188,0,0.0002919509288};<br>Point(44) = {0.1144179003,0.006330762473,0,0.0002919509288};<br>Point(45) = {0.1124840232,0.007204206797,0,0.0002919509288};<br>Point(46) = {0.1105410355,0.008071961909,0,0.0002919509288};<br>Point(47) = {0.1085869619,0.008934578788,0,0.0002919509288};<br>Point(48) = {0.1066254682,0.009790118461,0,0.0002919509288};<br>Point(49) = {0.1046575124,0.01063787852,0,0.0002919509288};<br>Point(50) = {0.1026816542,0.01147819019,0,0.0002919509288};<br>Point(51) = {0.1007008818,0.01230950662,0,0.0002919509288};<br>Point(52) = {0.09871536899,0.01313150583,0,0.0002919509288};<br>Point(53) = {0.09672648197,0.01394338848,0,0.0002919509288};<br>Point(54) = {0.09473409384,0.01474498571,0,0.0002919509288};<br>Point(55) = {0.09273986972,0.01553542258,0,0.0002919509288};<br>Point(56) = {0.090745238,0.01631395947,0,0.0002919509288};<br>Point(57) = {0.08875030562,0.01708039836,0,0.0002919509288};<br>Point(58) = {0.08675642787,0.01783408063,0,0.0002919509288};<br>Point(59) = {0.08476368641,0.01857485451,0,0.0002919509288};<br>Point(60) = {0.08277526444,0.01930145193,0,0.0002919509288};<br>Point(61) = {0.08078944809,0.02001443338,0,0.0002919509288};<br>Point(62) = {0.07880948666,0.02071247558,0,0.0002919509288};<br>Point(63) = {0.07683367903,0.0213956025,0,0.0002919509288};<br>Point(64) = {0.07486548265,0.02206197235,0,0.0002919509288};<br>Point(65) = {0.07290663697,0.02271043262,0,0.0002919509288};<br>Point(66) = {0.07095538721,0.02334102808,0,0.0002919509288};<br>Point(67) = {0.06901348899,0.02395268376,0,0.0002919509288};<br>Point(68) = {0.06708268617,0.02454441424,0,0.0002919509288};<br>Point(69) = {0.06516468763,0.02511533482,0,0.0002919509288};<br>Point(70) = {0.06325948526,0.02566514095,0,0.0002919509288};<br>Point(71) = {0.061368857,0.02619306967,0,0.0002919509288};<br>Point(72) = {0.05949288958,0.02669890478,0,0.0002919509288};<br>Point(73) = {0.05763320022,0.02718207592,0,0.0002919509288};<br>Point(74) = {0.05578977388,0.02764250856,0,0.0002919509288};<br>Point(75) = {0.05396445018,0.02807972448,0,0.0002919509288};<br>Point(76) = {0.05215898832,0.02849337101,0,0.0002919509288};<br>Point(77) = {0.05037149865,0.02888397922,0,0.0002919509288};<br>Point(78) = {0.04860736613,0.02925055743,0,0.0002919509288};<br>Point(79) = {0.04686290172,0.029594114,0,0.0002919509288};<br>Point(80) = {0.04514176289,0.02991419957,0,0.0002919509288};<br>Point(81) = {0.04344414747,0.03021113959,0,0.0002919509288};<br>Point(82) = {0.04176935215,0.03048543703,0,0.0002919509288};<br>Point(83) = {0.04012128431,0.0307369109,0,0.0002919509288};<br>Point(84) = {0.03849841088,0.03096631762,0,0.0002919509288};<br>Point(85) = {0.03690186279,0.03117403483,0,0.0002919509288};<br>Point(86) = {0.0353342311,0.03136034614,0,0.0002919509288};<br>Point(87) = {0.03379481652,0.03152600564,0,0.0002919509288};<br>Point(88) = {0.03228174045,0.03167185897,0,0.0002919509288};<br>Point(89) = {0.03080089619,0.03179806405,0,0.0002919509288};<br>Point(90) = {0.02935045896,0.0319055817,0,0.0002919509288};<br>Point(91) = {0.0279316436,0.03199512716,0,0.0002919509288};<br>Point(92) = {0.02654440811,0.03206709369,0,0.0002919509288};<br>Point(93) = {0.02519238296,0.0321201055,0,0.0002919509288};<br>Point(94) = {0.02387286353,0.03215297315,0,0.0002919509288};<br>Point(95) = {0.02259002968,0.0321646546,0,0.0002919509288};<br>Point(96) = {0.02134424233,0.03215462213,0,0.0002919509288};<br>Point(97) = {0.02013673883,0.0321226968,0,0.0002919509288};<br>Point(98) = {0.01896817239,0.03206903382,0,0.0002919509288};<br>Point(99) = {0.0178395235,0.03199412307,0,0.0002919509288};<br>Point(100) = {0.016751234,0.03189872321,0,0.0002919509288};<br>Point(101) = {0.01570300626,0.03178376431,0,0.0002919509288};<br>Point(102) = {0.01469356733,0.03165021285,0,0.0002919509288};<br>Point(103) = {0.0137288411,0.03150030346,0,0.0002919509288};<br>Point(104) = {0.01280348642,0.03133484508,0,0.0002919509288};<br>Point(105) = {0.0119217425,0.03115634673,0,0.0002919509288};<br>Point(106) = {0.01107953132,0.03096586966,0,0.0002919509288};<br>Point(107) = {0.0102797281,0.03076475585,0,0.0002919509288};<br>Point(108) = {0.009524458617,0.03055008629,0,0.0002919509288};<br>Point(109) = {0.008816599691,0.03031991309,0,0.0002919509288};<br>Point(110) = {0.008153601782,0.03007230593,0,0.0002919509288};<br>Point(111) = {0.007537379544,0.02980830626,0,0.0002919509288};<br>Point(112) = {0.006967269128,0.02952938802,0,0.0002919509288};<br>Point(113) = {0.006442546327,0.0292380659,0,0.0002919509288};<br>Point(114) = {0.005961030974,0.02893683379,0,0.0002919509288};<br>Point(115) = {0.00552482251,0.0286300393,0,0.0002919509288};<br>Point(116) = {0.005140240917,0.02832004398,0,0.0002919509288};<br>Point(117) = {0.004815490123,0.02801218677,0,0.0002919509288};<br>Point(118) = {0.004549568816,0.02770651624,0,0.0002919509288};<br>Point(119) = {0.004342592461,0.0274059783,0,0.0002919509288};<br>Point(120) = {0.004190145658,0.02710835886,0,0.0002919509288};<br>Point(121) = {0.004089161831,0.02681097911,0,0.0002919509288};<br>Point(122) = {0.004036942756,0.02651155539,0,0.0002919509288};<br>Point(123) = {0.004027436581,0.0262067899,0,0.0002919509288};<br>Point(124) = {0.004056998158,0.02589291863,0,0.0002919509288};<br>Point(125) = {0.004125516619,0.02556465806,0,0.0002919509288};<br>Point(126) = {0.00423461868,0.02522080178,0,0.0002919509288};<br>Point(127) = {0.00438719892,0.02486056738,0,0.0002919509288};<br>Point(128) = {0.004585199373,0.0244877791,0,0.0002919509288};<br>Point(129) = {0.004832386811,0.02410452738,0,0.0002919509288};<br>Point(130) = {0.005128927664,0.0237202903,0,0.0002919509288};<br>Point(131) = {0.005477976826,0.02333846884,0,0.0002919509288};<br>Point(132) = {0.005884841976,0.02295872518,0,0.0002919509288};<br>Point(133) = {0.006348604305,0.02258462096,0,0.0002919509288};<br>Point(134) = {0.006871972363,0.02221359856,0,0.0002919509288};<br>Point(135) = {0.007450925004,0.02184485053,0,0.0002919509288};<br>Point(136) = {0.008080649503,0.0214736031,0,0.0002919509288};<br>Point(137) = {0.008754455882,0.02109440052,0,0.0002919509288};<br>Point(138) = {0.009469720525,0.02070797614,0,0.0002919509288};<br>Point(139) = {0.01022801219,0.02031519404,0,0.0002919509288};<br>Point(140) = {0.01102962385,0.01991749711,0,0.0002919509288};<br>Point(141) = {0.01187580902,0.01951570053,0,0.0002919509288};<br>Point(142) = {0.01276534572,0.01911158594,0,0.0002919509288};<br>Point(143) = {0.01369875167,0.01870583447,0,0.0002919509288};<br>Point(144) = {0.0146765831,0.01829886072,0,0.0002919509288};<br>Point(145) = {0.01569922064,0.01789086683,0,0.0002919509288};<br>Point(146) = {0.01676472582,0.01748259648,0,0.0002919509288};<br>Point(147) = {0.0178734104,0.01707348492,0,0.0002919509288};<br>Point(148) = {0.01902496825,0.01666279489,0,0.0002919509288};<br>Point(149) = {0.02021734332,0.01624992933,0,0.0002919509288};<br>Point(150) = {0.02144834262,0.01583379292,0,0.0002919509288};<br>Point(151) = {0.02271891703,0.01541170279,0,0.0002919509288};<br>Point(152) = {0.02402655353,0.01498218649,0,0.0002919509288};<br>Point(153) = {0.02537131242,0.01454490671,0,0.0002919509288};<br>Point(154) = {0.02675150243,0.01410062547,0,0.0002919509288};<br>Point(155) = {0.02816724875,0.01364949369,0,0.0002919509288};<br>Point(156) = {0.02961690671,0.0131922054,0,0.0002919509288};<br>Point(157) = {0.03110054224,0.01272888671,0,0.0002919509288};<br>Point(158) = {0.03261822411,0.01225964696,0,0.0002919509288};<br>Point(159) = {0.03416829364,0.01178510594,0,0.0002919509288};<br>Point(160) = {0.03574902603,0.01130586453,0,0.0002919509288};<br>Point(161) = {0.03736216432,0.01082144873,0,0.0002919509288};<br>Point(162) = {0.03900434043,0.01033289781,0,0.0002919509288};<br>Point(163) = {0.04067549791,0.009840222494,0,0.0002919509288};<br>Point(164) = {0.04237563289,0.009343397198,0,0.0002919509288};<br>Point(165) = {0.04410132182,0.008843361821,0,0.0002919509288};<br>Point(166) = {0.04585591182,0.008339064412,0,0.0002919509288};<br>Point(167) = {0.04763423073,0.007831882499,0,0.0002919509288};<br>Point(168) = {0.0494379699,0.007321190971,0,0.0002919509288};<br>Point(169) = {0.0512653529,0.006807329605,0,0.0002919509288};<br>Point(170) = {0.05311448239,0.006290636449,0,0.0002919509288};<br>Point(171) = {0.05498540117,0.005770878521,0,0.0002919509288};<br>Point(172) = {0.05687630547,0.005248311359,0,0.0002919509288};<br>Point(173) = {0.05878699845,0.004722719171,0,0.0002919509288};<br>Point(174) = {0.06071571538,0.004194294325,0,0.0002919509288};<br>Point(175) = {0.0626623617,0.003662746534,0,0.0002919509288};<br>Point(176) = {0.06462510068,0.003128239993,0,0.0002919509288};<br>Point(177) = {0.06660196633,0.002590950911,0,0.0002919509288};<br>Point(178) = {0.06859129039,0.002050953902,0,0.0002919509288};<br>Point(179) = {0.07059456882,0.001507448736,0,0.0002919509288};<br>Point(180) = {0.07260994187,0.0009605298534,0,0.0002919509288};<br>Point(181) = {0.07463380862,0.0004107505788,0,0.0002919509288};<br>Point(182) = {0.07666785947,-0.0001427074375,0,0.0002919509288};<br>Point(183) = {0.07870848284,-0.0006989179987,0,0.0002919509288};<br>Point(184) = {0.08075754487,-0.00125836802,0,0.0002919509288};<br>Point(185) = {0.08281152141,-0.001820071941,0,0.0002919509288};<br>Point(186) = {0.08487042132,-0.002384005747,0,0.0002919509288};<br>Point(187) = {0.08693251928,-0.002949668935,0,0.0002919509288};<br>Point(188) = {0.08899776514,-0.003517018063,0,0.0002919509288};<br>Point(189) = {0.09106455538,-0.004085582307,0,0.0002919509288};<br>Point(190) = {0.09313104594,-0.004654821123,0,0.0002919509288};<br>Point(191) = {0.09519730888,-0.005224720686,0,0.0002919509288};<br>Point(192) = {0.09726162189,-0.005794770872,0,0.0002919509288};<br>Point(193) = {0.09932393781,-0.006364923516,0,0.0002919509288};<br>Point(194) = {0.10138092,-0.006934218819,0,0.0002919509288};<br>Point(195) = {0.1034341961,-0.007503070238,0,0.0002919509288};<br>Point(196) = {0.1054820463,-0.008070964305,0,0.0002919509288};<br>Point(197) = {0.1075211327,-0.008636936856,0,0.0002919509288};<br>Point(198) = {0.1095531433,-0.00920141842,0,0.0002919509288};<br>Point(199) = {0.1115762421,-0.009763861136,0,0.0002919509288};<br>Point(200) = {0.1135888813,-0.01032379676,0,0.0002919509288};<br>Point(201) = {0.1155926353,-0.01088162644,0,0.0002919509288};<br>Point(202) = {0.1175807543,-0.01143543414,0,0.0002919509288};<br>Point(203) = {0.1195566036,-0.01198611974,0,0.0002919509288};<br>Point(204) = {0.121518576,-0.01253320055,0,0.0002919509288};<br>Point(205) = {0.123464779,-0.01307611405,0,0.0002919509288};<br>Point(206) = {0.1253935493,-0.01361436222,0,0.0002919509288};<br>Point(207) = {0.1273067411,-0.01414843008,0,0.0002919509288};<br>Point(208) = {0.1292007876,-0.01467729099,0,0.0002919509288};<br>Point(209) = {0.1310739667,-0.01520043376,0,0.0002919509288};<br>Point(210) = {0.1329298077,-0.01571881594,0,0.0002919509288};<br>Point(211) = {0.1347630667,-0.01623094585,0,0.0002919509288};<br>Point(212) = {0.1365738063,-0.01673681559,0,0.0002919509288};<br>Point(213) = {0.138360247,-0.01723590445,0,0.0002919509288};<br>Point(214) = {0.1401241823,-0.01772869149,0,0.0002919509288};<br>Point(215) = {0.1418638322,-0.01821465928,0,0.0002919509288};<br>Point(216) = {0.1435757369,-0.01869282312,0,0.0002919509288};<br>Point(217) = {0.1452617417,-0.01916368194,0,0.0002919509288};<br>Point(218) = {0.1469199047,-0.01962667867,0,0.0002919509288};<br>Point(219) = {0.1485504402,-0.02008186045,0,0.0002919509288};<br>Point(220) = {0.150151514,-0.02052870416,0,0.0002919509288};<br>Point(221) = {0.151721448,-0.02096673241,0,0.0002919509288};<br>Point(222) = {0.1532601913,-0.02139592396,0,0.0002919509288};<br>Point(223) = {0.154767745,-0.02181627351,0,0.0002919509288};<br>Point(224) = {0.156242429,-0.02222730889,0,0.0002919509288};<br>Point(225) = {0.1576824576,-0.02262853061,0,0.0002919509288};<br>Point(226) = {0.159089616,-0.02302043572,0,0.0002919509288};<br>Point(227) = {0.1604621171,-0.02340252716,0,0.0002919509288};<br>Point(228) = {0.1617999593,-0.02377480729,0,0.0002919509288};<br>Point(229) = {0.1630997259,-0.02413632949,0,0.0002919509288};<br>Point(230) = {0.164363095,-0.02448756625,0,0.0002919509288};<br>Point(231) = {0.1655883832,-0.02482805622,0,0.0002919509288};<br>Point(232) = {0.166775645,-0.02515782255,0,0.0002919509288};<br>Point(233) = {0.1679247077,-0.02547682601,0,0.0002919509288};<br>Point(234) = {0.1690322123,-0.02578414391,0,0.0002919509288};<br>Point(235) = {0.1701016238,-0.02608074895,0,0.0002919509288};<br>Point(236) = {0.1711294116,-0.02636567275,0,0.0002919509288};<br>Point(237) = {0.1721156925,-0.02663896046,0,0.0002919509288};<br>Point(238) = {0.1730603392,-0.02690058893,0,0.0002919509288};<br>Point(239) = {0.1739634116,-0.02715058788,0,0.0002919509288};<br>Point(240) = {0.1748249789,-0.02738898958,0,0.0002919509288};<br>Point(241) = {0.1756414284,-0.02761480747,0,0.000149970964};<br>Point(1001) = {0.180594157118+0.001,-0.01722604,0,0.001799970964};<br>Point(1239) = {0.172158652+0.001,-0.037026971,0,0.001799970964};<br>Spline(1) = {121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241}; //<br>Spline(2) = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121}; ////<br>Line(3) = {241, 1};<br>Line Loop(1000) = {3,2,1};<br><br>// flow field boundaries<br>Point(242) = {1.08,-3.6+3.4200,0,0.01};<br>Point(243) = {-0.9+4*0.18,-3.6+3.4200,0,0.02};<br>Point(244) = {-0.9+4*0.18,3.6-3.4200,0,0.02};<br>Point(245) = {1.08,3.6-3.4200,0,0.01};<br>Line(12) = {242,243};<br>Line(13) = {243,244};<br>Line(14) = {244,245};<br>Line(15) = {245,242};<br>Line Loop(1001) = {-15,-14,-13,-12};<br>Plane Surface(1002) = {1001,1000};<br><br>// line for wake refinement<br>coordChordTop[] = Point{1};<br>coordChordBottom[] = Point{241};<br>Point(251) = {(coordChordBottom[0]+coordChordTop[0])/2,(coordChordBottom[1]+coordChordTop[1])/2,0,0.1799970964};<br>Point(252) = {1.079985482,(coordChordBottom[1]+coordChordTop[1])/2,0,0.1799970964};<br>Line(17) = {251,252};<br><br>//Define Boundary Layer<br>Field[6] = BoundaryLayer;<br>Field[6].EdgesList = {1,2}; //,3, 1009<br>Field[6].NodesList = {2,240};<br>Field[6].FanNodesList = {1,241};<br>Field[6].hfar = 1e-3;<br>Field[6].hwall_n = 0.1e-4;<br>Field[6].thickness = 0.005;<br>Field[6].ratio = 1.05;<br>Field[6].AnisoMax = 0.1;<br>Field[6].Quads = 1;<br>Field[6].IntersectMetrics = 0;<br>BoundaryLayer Field = 6;<br><br>//Recombine Surface{1,2} = 0;<br>j1[] = Extrude {0,0,-0.0018} {Surface{1002};Layers{1};Recombine;};<br>Physical Surface("inlet") = {j1[4]};<br>Physical Surface("outlet") = {j1[2]};<br>Physical Surface("topAndBottom") = {j1[3], j1[5]};<br>Physical Surface("airfoil") = {j1[6],j1[7],1038};<br>Physical Surface("frontAndBack") = {j1[0],1002};<br>Physical Volume("Volumen") = {j1[1]};</div><div><br></div><div><br></div></div></div>