CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Mesh Generation & Pre-Processing (https://www.cfd-online.com/Forums/mesh-generation/)
-   -   Meshing in Gmsh (https://www.cfd-online.com/Forums/mesh-generation/252215-meshing-gmsh.html)

Bgreenberg October 4, 2023 10:34

Meshing in Gmsh
 
1 Attachment(s)
Hello,

I am new to gmsh and I recently created a structured mesh for the NACA0012 airfoil (to run in openFoam). However, I seem to have a spot with an abnormality/mixing of meshes near the front of the airfoil.

Here's a photo of the mesh issue:
Attachment 96503


Here is the code for my mesh as well:
Include "airfoil0012d.geo";
//+
y = 4;
x = 10;
n_inlet = 60;
n_vert = 90;
r_vert = 1;
n_af = 50;
n_wake = 100;
r_wake = 1;


//+
Point(135) = {1.005, y, 1, 1.0};
//+
Point(136) = {1.005, -y, 1, 1.0};
//+
Point(137) = {x, -y, 1, 1.0};
//+
Point(138) = {x, y, 1, 1.0};
//+
Point(139) = {x, 0, 1, 1.0};
//+
Point(141) = {0, -y, 1, 1.0};
//+
Point(142) = {0, y, 1, 1.0};
//+
Line(5) = {135, 138};
//+
Line(6) = {138, 139};
//+
Line(7) = {139, 137};
//+
Line(8) = {137, 136};
//+
Line(9) = {136, 141};
//+
Line(10) = {142, 135};
//+
Line(11) = {135, 134};
//+
Line(12) = {134, 136};
//+
Circle(13) = {142, 1, 141};
//+
Line(15) = {139, 134};
//+
Line(16) = {141, 77};
//+
Line(17) = {10, 142};

//+
Transfinite Curve {13, 1} = n_inlet Using Progression 1;
//+
Transfinite Curve {17, 11, 6, 7, 12, 16} = n_vert Using Progression r_vert;
//+
Transfinite Curve {10, 2, 3, 9} = n_af Using Progression 1;
//+
Transfinite Curve {5, 15, 8} = n_wake Using Progression r_wake;
//+
Curve Loop(1) = {13, 16, -1, 17};
//+
Plane Surface(1) = {1};
//+
Curve Loop(2) = {17, 10, 11, -2};
//+
Plane Surface(2) = {2};
//+
Curve Loop(3) = {11, -15, -6, -5};
//+
Plane Surface(3) = {3};
//+
Curve Loop(4) = {15, 12, -8, -7};
//+
Plane Surface(4) = {4};
//+
Curve Loop(5) = {3, 12, 9, 16};
//+
Plane Surface(5) = {5};
//+
Transfinite Surface {1};
//+
Transfinite Surface {2};
//+
Transfinite Surface {3};
//+
Transfinite Surface {4};
//+
Transfinite Surface {5};
//+
Recombine Surface {1, 2, 3, 4, 5};
//+
Extrude {0, 0, 1} {
Surface{1}; Surface{2}; Surface{3}; Surface{4}; Surface{5}; Layers {1}; Recombine;
}
//+
Physical Volume("internal", 128) = {1, 2, 3, 4, 5};
//+
Physical Surface("inlet", 129) = {26};
//+
Physical Surface("topAndBottom", 130) = {52, 82, 122, 100};
//+
Physical Surface("outlet", 131) = {78, 104};
//+
Physical Surface("airfoil", 132) = {60, 114, 34};
//+
Physical Surface("frontAndBack", 133) = {39, 61, 83, 105, 127, 1, 2, 5, 4, 3};


airfoil0012d.geo:
//+
Point(1) = {0,0,1.0};
//+
Point(2) = {0.0005839,0.0042603,1.0};
//+
Point(3) = {0.0023342,0.0084289,1.0};
//+
Point(4) = {0.0052468,0.0125011,1.0};
//+
Point(5) = {0.0093149,0.0164706,1.0};
//+
Point(6) = {0.0145291,0.02033,1.0};
//+
Point(7) = {0.0208771,0.0240706,1.0};
//+
Point(8) = {0.0283441,0.0276827,1.0};
//+
Point(9) = {0.0369127,0.0311559,1.0};
//+
Point(10) = {0.0465628,0.0344792,1.0};
//+
Point(11) = {0.057272,0.0376414,1.0};
//+
Point(12) = {0.0690152,0.040631,1.0};
//+
Point(13) = {0.0817649,0.0434371,1.0};
//+
Point(14) = {0.0954915,0.0460489,1.0};
//+
Point(15) = {0.1101628,0.0484567,1.0};
//+
Point(16) = {0.1257446,0.0506513,1.0};
//+
Point(17) = {0.1422005,0.0526251,1.0};
//+
Point(18) = {0.1594921,0.0543715,1.0};
//+
Point(19) = {0.1775789,0.0558856,1.0};
//+
Point(20) = {0.1964187,0.057164,1.0};
//+
Point(21) = {0.2159676,0.0582048,1.0};
//+
Point(22) = {0.2361799,0.0590081,1.0};
//+
Point(23) = {0.2570083,0.0595755,1.0};
//+
Point(24) = {0.2784042,0.0599102,1.0};
//+
Point(25) = {0.3003177,0.0600172,1.0};
//+
Point(26) = {0.3226976,0.0599028,1.0};
//+
Point(27) = {0.3454915,0.0595747,1.0};
//+
Point(28) = {0.3686463,0.0590419,1.0};
//+
Point(29) = {0.3921079,0.0583145,1.0};
//+
Point(30) = {0.4158215,0.0574033,1.0};
//+
Point(31) = {0.4397317,0.05632,1.0};
//+
Point(32) = {0.4637826,0.0550769,1.0};
//+
Point(33) = {0.4879181,0.0536866,1.0};
//+
Point(34) = {0.5120819,0.052162,1.0};
//+
Point(35) = {0.5362174,0.0505161,1.0};
//+
Point(36) = {0.5602683,0.0487619,1.0};
//+
Point(37) = {0.5841786,0.0469124,1.0};
//+
Point(38) = {0.6078921,0.0449802,1.0};
//+
Point(39) = {0.6313537,0.0429778,1.0};
//+
Point(40) = {0.6545085,0.0409174,1.0};
//+
Point(41) = {0.6773025,0.0388109,1.0};
//+
Point(42) = {0.6996823,0.03667,1.0};
//+
Point(43) = {0.7215958,0.0345058,1.0};
//+
Point(44) = {0.7429917,0.0323294,1.0};
//+
Point(45) = {0.7638202,0.0301515,1.0};
//+
Point(46) = {0.7840324,0.0279828,1.0};
//+
Point(47) = {0.8035813,0.0258337,1.0};
//+
Point(48) = {0.8224211,0.0237142,1.0};
//+
Point(49) = {0.8405079,0.0216347,1.0};
//+
Point(50) = {0.8577995,0.0196051,1.0};
//+
Point(51) = {0.8742554,0.0176353,1.0};
//+
Point(52) = {0.8898372,0.0157351,1.0};
//+
Point(53) = {0.9045085,0.0139143,1.0};
//+
Point(54) = {0.9182351,0.0121823,1.0};
//+
Point(55) = {0.9309849,0.0105485,1.0};
//+
Point(56) = {0.942728,0.0090217,1.0};
//+
Point(57) = {0.9534372,0.0076108,1.0};
//+
Point(58) = {0.9630873,0.0063238,1.0};
//+
Point(59) = {0.9716559,0.0051685,1.0};
//+
Point(60) = {0.9791229,0.0041519,1.0};
//+
Point(61) = {0.9854709,0.0032804,1.0};
//+
Point(62) = {0.990685,0.0025595,1.0};
//+
Point(63) = {0.9947532,0.0019938,1.0};
//+
Point(64) = {0.9976658,0.001587,1.0};
//+
Point(65) = {0.9994161,0.0013419,1.0};
//+
Point(66) = {1,0.00126,1.0};
//+
Point(68) = {0,0,1.0};
//+
Point(69) = {0.0005839,-0.0042603,1.0};
//+
Point(70) = {0.0023342,-0.0084289,1.0};
//+
Point(71) = {0.0052468,-0.0125011,1.0};
//+
Point(72) = {0.0093149,-0.0164706,1.0};
//+
Point(73) = {0.0145291,-0.02033,1.0};
//+
Point(74) = {0.0208771,-0.0240706,1.0};
//+
Point(75) = {0.0283441,-0.0276827,1.0};
//+
Point(76) = {0.0369127,-0.0311559,1.0};
//+
Point(77) = {0.0465628,-0.0344792,1.0};
//+
Point(78) = {0.057272,-0.0376414,1.0};
//+
Point(79) = {0.0690152,-0.040631,1.0};
//+
Point(80) = {0.0817649,-0.0434371,1.0};
//+
Point(81) = {0.0954915,-0.0460489,1.0};
//+
Point(82) = {0.1101628,-0.0484567,1.0};
//+
Point(83) = {0.1257446,-0.0506513,1.0};
//+
Point(84) = {0.1422005,-0.0526251,1.0};
//+
Point(85) = {0.1594921,-0.0543715,1.0};
//+
Point(86) = {0.1775789,-0.0558856,1.0};
//+
Point(87) = {0.1964187,-0.057164,1.0};
//+
Point(88) = {0.2159676,-0.0582048,1.0};
//+
Point(89) = {0.2361799,-0.0590081,1.0};
//+
Point(90) = {0.2570083,-0.0595755,1.0};
//+
Point(91) = {0.2784042,-0.0599102,1.0};
//+
Point(92) = {0.3003177,-0.0600172,1.0};
//+
Point(93) = {0.3226976,-0.0599028,1.0};
//+
Point(94) = {0.3454915,-0.0595747,1.0};
//+
Point(95) = {0.3686463,-0.0590419,1.0};
//+
Point(96) = {0.3921079,-0.0583145,1.0};
//+
Point(97) = {0.4158215,-0.0574033,1.0};
//+
Point(98) = {0.4397317,-0.05632,1.0};
//+
Point(99) = {0.4637826,-0.0550769,1.0};
//+
Point(100) = {0.4879181,-0.0536866,1.0};
//+
Point(101) = {0.5120819,-0.052162,1.0};
//+
Point(102) = {0.5362174,-0.0505161,1.0};
//+
Point(103) = {0.5602683,-0.0487619,1.0};
//+
Point(104) = {0.5841786,-0.0469124,1.0};
//+
Point(105) = {0.6078921,-0.0449802,1.0};
//+
Point(106) = {0.6313537,-0.0429778,1.0};
//+
Point(107) = {0.6545085,-0.0409174,1.0};
//+
Point(108) = {0.6773025,-0.0388109,1.0};
//+
Point(109) = {0.6996823,-0.03667,1.0};
//+
Point(110) = {0.7215958,-0.0345058,1.0};
//+
Point(111) = {0.7429917,-0.0323294,1.0};
//+
Point(112) = {0.7638202,-0.0301515,1.0};
//+
Point(113) = {0.7840324,-0.0279828,1.0};
//+
Point(114) = {0.8035813,-0.0258337,1.0};
//+
Point(115) = {0.8224211,-0.0237142,1.0};
//+
Point(116) = {0.8405079,-0.0216347,1.0};
//+
Point(117) = {0.8577995,-0.0196051,1.0};
//+
Point(118) = {0.8742554,-0.0176353,1.0};
//+
Point(119) = {0.8898372,-0.0157351,1.0};
//+
Point(120) = {0.9045085,-0.0139143,1.0};
//+
Point(121) = {0.9182351,-0.0121823,1.0};
//+
Point(122) = {0.9309849,-0.0105485,1.0};
//+
Point(123) = {0.942728,-0.0090217,1.0};
//+
Point(124) = {0.9534372,-0.0076108,1.0};
//+
Point(125) = {0.9630873,-0.0063238,1.0};
//+
Point(126) = {0.9716559,-0.0051685,1.0};
//+
Point(127) = {0.9791229,-0.0041519,1.0};
//+
Point(128) = {0.9854709,-0.0032804,1.0};
//+
Point(129) = {0.990685,-0.0025595,1.0};
//+
Point(130) = {0.9947532,-0.0019938,1.0};
//+
Point(131) = {0.9976658,-0.001587,1.0};
//+
Point(132) = {0.9994161,-0.0013419,1.0};
//+
Point(133) = {1,-0.00126,1.0};
//+
Point(134) = {1.005, 0, 1, 1.0};
//+
Line(1) = {10,9,8,7,6,5,4,3,2,1,69,70,69,70,71,72,73,74,75,7 6,77};
Line(2) = {10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,2 6,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,134};
Line(3) = {77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,9 3,94,95,96,97,98,99,100,101,102,103,104,105,106,10 7,108,109,110,111,112,113,114,115,116,117,118,119, 120,121,122,123,124,125,126,127,128,129,130,131,13 2,133,134};

airwarriorg91 May 22, 2024 02:48

Hii,
I suppose the number of divisions on the leading edge part is not equal to the number of divisions in c inlet (guessing from the photograph). If you use transfinite on the leading edge and make the no. of divisions equal, then the problem will be solved.

Regards,
Gaurav


All times are GMT -4. The time now is 21:35.