Unphysical grid cell near boundary layer of the trailing edge
2 Attachment(s)
Hello there,
I am currently trying to use gmsh's boundary layer size field to refine the mesh near a 2d NACA0012 airfoil. It looks really nice everywhere except at the trailing edge when zoomed in. There are lines crossing over from other parts of the airfoil and connect to the same node of the first cell behind the trailing edge. I can get around of this issue if I increase the first cell thickness a little higher. However, I need this small cell thickness for me to set a y plus value less than 1. Please see attached photos below for the described mesh. Thanks a lot you guys help in advance !!! :D Attachment 68258 Attachment 68259 Here are my geo files that create this mesh. parameters.geo: XX = 12 ; // As in NACA00XX. aoa = 0 ; // Angle of attack, in degrees. lc1 = 50.00000; //characteristic lengths of elements at outer domain lc2 = 0.00100; //characteristic lengths of elements at airfoil lc3 = 0.10000; //characteristic lengths of elements at intermediate domain t_firstcell = 4.6035e-06; //Cell size of the first cell coming out from the airfoil t_total = 0.0163; //Total thickness of the boundary layer t_r = 1.2; //Expansion ratio of the cell within the boundary layer main.geo: Include "parameters.geo"; Li = 500.0; Lo = 500.0; // distance of inflow and outflow boundary from origin Li1 = 4.0; Lo1 = 4.0; // distance of intermediate inflow and outflow from origin n = 400; // points on upper/lower surface of airfoil used to define airfoil // These points may not appear in the mesh. m = 2*n - 2; // total number of points on airfoil without repetition // LE and TE points are common to upper/lower surface nle = n; // point number of LE = no. of points on upper surface // Point(1) is trailing edge // NACA0012 profile: formula taken from http://turbmodels.larc.nasa.gov/naca0012_val.html Macro NACA0012 x2 = x * x; x3 = x * x2; x4 = x * x3; y = 0.594689181*(0.298222773*Sqrt(x) - 0.127125232*x - 0.357907906*x2 + 0.291984971*x3 - 0.105174606*x4); Return Macro RotateAirfoilPoint // rotates pointId about quarter-chord. // aoa is the angle of attack in degrees. Rotate {{0, 0, 1}, {0.25, 0, 0}, -aoa * Pi / 180.0} { Point{i}; } Return // put points on upper surface of airfoil For i In {1:n} theta = Pi * (i-1) / (n-1); x = 0.5 * (Cos(theta) + 1.0); Call NACA0012; Point(i) = {x, y, 0.0, lc2}; Call RotateAirfoilPoint; xx[i] = x; yy[i] = y; EndFor // put points on lower surface of airfoil, use upper surface points and reflect For i In {n+1:m} Point(i) = {xx[2*n-i], -yy[2*n-i], 0.0, lc2}; Call RotateAirfoilPoint; EndFor Spline(1) = {1:n}; Spline(2) = {n:m,1}; Transfinite Line{1,2} = n ; //Farfield domain Point(1001) = { 0.0, Li, 0.0,lc1}; Point(1002) = { 0.0, -Li, 0.0, lc1}; Point(1003) = {Lo, -Li, 0.0, lc1}; Point(1004) = {Lo, Li, 0.0, lc1}; Point(1005) = {0,0,0}; origin = 1005; Line(3) = {1004, 1001}; Circle(4) = {1001, origin, 1002}; Line(5) = {1002, 1003}; Line(6) = {1003, 1004}; Line Loop(1) = {1,2}; // airfoil line loop Line Loop(2) = {3,4,5,6}; // far field line loop //Intermediate Domain Point(2001) = { 0.0, Li1, 0.0,lc3}; Point(2002) = { 0.0, -Li1, 0.0, lc3}; Point(2003) = {Lo1, -Li1, 0.0, lc3}; Point(2004) = {Lo1, Li1, 0.0, lc3}; Line(13) = {2004, 2001}; Circle(14) = {2001, origin, 2002}; Line(15) = {2002, 2003}; Line(16) = {2003, 2004}; Line Loop(3) = {13,14,15,16}; Plane Surface(201) = {3,1}; //intermediate and airfoil surface Plane Surface(202) = {3,2}; //farfield and intermediate surface Extrude {0,0,0.1} { Surface{201,202}; Layers{1}; Recombine;} //Define Boundary Layer Field[1] = BoundaryLayer; Field[1].EdgesList = {1,2}; Field[1].AnisoMax = 1000000; Field[1].FanNodesList = {1}; Field[1].hfar = 0.3; Field[1].hwall_n = t_firstcell; Field[1].thickness = t_total; Field[1].ratio = t_r; Field[1].Quads = 1; Field[1].IntersectMetrics = 0; BoundaryLayer Field = 1; Physical Surface("frontAndBack") = {201,202,234,276}; //FrontAndBack Physical Surface("Farfield") = {271, 275, 263, 267}; //Farfield Physical Surface("Airfoil") = {233,229}; //Airfoil Physical Volume("Volume") = {1, 2}; //+ Field[2] = Cylinder; //+ Field[2].Radius = 0.3; //+ Field[2].VIn = 0.01; //+ Field[2].VOut = 20; //+ Field[2].XAxis = 4; //+ Field[2].XCenter = 5; //+ Field[2].ZAxis = 0; //+ Background Field = 2; |
Hello,
It's been a very old post, but I am also facing a similar issue, have you found the solution to this problem? |
All times are GMT -4. The time now is 08:17. |