[Gmsh] Boundary Layer for airfoil with blunt TE

Tsiapkinis tsiapkinis at gmail.com
Thu Aug 29 11:53:43 CEST 2019


Hello gmsh-community,

I'm having trouble creating a high quality mesh for an airfoil with a blunt
TE.
I want to use the boundaryLayer field only up to the TE (see picture
airfoilFull.png).
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).

I tried different things:

   1. changing h_wall_n:  Lowering h_wall_n results in  the same behaviour.
   Choosing a high h_wall_n makes even wierder behaviour.
   2. Changing the local refinement around the points on the TE or at
   points or lines close to it -> does not help
   3. 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)


I am using gmsh 4.2.1
My .geo file is below and is also attatched.

Thank you! Regards

Iason Tsiapkinis


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

// flow field boundaries
Point(242) = {1.08,-3.6+3.4200,0,0.01};
Point(243) = {-0.9+4*0.18,-3.6+3.4200,0,0.02};
Point(244) = {-0.9+4*0.18,3.6-3.4200,0,0.02};
Point(245) = {1.08,3.6-3.4200,0,0.01};
Line(12) = {242,243};
Line(13) = {243,244};
Line(14) = {244,245};
Line(15) = {245,242};
Line Loop(1001) = {-15,-14,-13,-12};
Plane Surface(1002) = {1001,1000};

// line for wake refinement
coordChordTop[] = Point{1};
coordChordBottom[] = Point{241};
Point(251) =
{(coordChordBottom[0]+coordChordTop[0])/2,(coordChordBottom[1]+coordChordTop[1])/2,0,0.1799970964};
Point(252) =
{1.079985482,(coordChordBottom[1]+coordChordTop[1])/2,0,0.1799970964};
Line(17) = {251,252};

//Define Boundary Layer
Field[6] = BoundaryLayer;
Field[6].EdgesList = {1,2}; //,3, 1009
Field[6].NodesList = {2,240};
Field[6].FanNodesList = {1,241};
Field[6].hfar = 1e-3;
Field[6].hwall_n = 0.1e-4;
Field[6].thickness = 0.005;
Field[6].ratio = 1.05;
Field[6].AnisoMax = 0.1;
Field[6].Quads = 1;
Field[6].IntersectMetrics = 0;
BoundaryLayer Field = 6;

//Recombine Surface{1,2} = 0;
j1[] = Extrude {0,0,-0.0018} {Surface{1002};Layers{1};Recombine;};
Physical Surface("inlet") = {j1[4]};
Physical Surface("outlet") = {j1[2]};
Physical Surface("topAndBottom") = {j1[3], j1[5]};
Physical Surface("airfoil") = {j1[6],j1[7],1038};
Physical Surface("frontAndBack") = {j1[0],1002};
Physical Volume("Volumen") = {j1[1]};
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://onelab.info/pipermail/gmsh/attachments/20190829/98ad0e36/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: airfoilTE_withFan.png
Type: image/png
Size: 103995 bytes
Desc: not available
URL: <http://onelab.info/pipermail/gmsh/attachments/20190829/98ad0e36/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: airfoilTE.png
Type: image/png
Size: 86352 bytes
Desc: not available
URL: <http://onelab.info/pipermail/gmsh/attachments/20190829/98ad0e36/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: airfoilFull.png
Type: image/png
Size: 233986 bytes
Desc: not available
URL: <http://onelab.info/pipermail/gmsh/attachments/20190829/98ad0e36/attachment-0005.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: airfoil.geo
Type: application/octet-stream
Size: 17323 bytes
Desc: not available
URL: <http://onelab.info/pipermail/gmsh/attachments/20190829/98ad0e36/attachment-0001.geo>


More information about the gmsh mailing list