|
[Sponsors] |
December 27, 2015, 14:19 |
gmshToFoam Fatal error
|
#1 |
New Member
Katherine Flores
Join Date: Dec 2015
Posts: 1
Rep Power: 0 |
Hi,
i'm quite new in openfoam and i'm working with the NACA 0012 case. When i impose the transfinite line, i give the Ceil and the progression. If i choose Ceil =20 and progression = 1.15, it runs in openfoam very well but i obtain yPlus=300 more or less and i should look for yPlus =1. Then i should change the Ceil and the progression in order to obtain yPlus=1, and i computed that i should use, Ceil=74 and progression=1.3... but when i try to implement it, openfoam show me a fatal error: --> FOAM FATAL ERROR: Problem : Patch top starts at 16038 Current face counter at 15761 Are patches in incremental order? From function polyTopoChange:olyTopoChange(const polyMesh& mesh, const bool strict) in file polyTopoChange/polyTopoChange/polyTopoChange.C at line 2498. FOAM aborting ----------------- I see that probably it is related to some weird lines that are created with the extrussion. (see the image). When i look the 2d mesh, i have the right or expected mesh but when i extrude it, the pattern of the mesh is not followed... Someone have more info about that? Thanks! GEO FILE ----------------- Point(1) = {1, 0, 0, 1}; Point(2) = {0.999315, 0.001356, 0, 1}; Point(3) = {0.997261, 0.001644, 0, 1}; Point(4) = {0.9938439999999999, 0.00212, 0, 1}; Point(5) = {0.989074, 0.002783, 0, 1}; Point(6) = {0.982963, 0.003626, 0, 1}; Point(7) = {0.975528, 0.004642, 0, 1}; Point(8) = {0.96679, 0.005826, 0, 1}; Point(9) = {0.956773, 0.007168, 0, 1}; Point(10) = {0.945503, 0.008658000000000001, 0, 1}; Point(11) = {0.933013, 0.010286, 0, 1}; Point(12) = {0.919335, 0.012042, 0, 1}; Point(13) = {0.904508, 0.013914, 0, 1}; Point(14) = {0.8885729999999999, 0.015891, 0, 1}; Point(15) = {0.871572, 0.017959, 0, 1}; Point(16) = {0.853553, 0.020107, 0, 1}; Point(17) = {0.834565, 0.022323, 0, 1}; Point(18) = {0.8146600000000001, 0.024593, 0, 1}; Point(19) = {0.793893, 0.026905, 0, 1}; Point(20) = {0.77232, 0.029246, 0, 1}; Point(21) = {0.75, 0.031603, 0, 1}; Point(22) = {0.7269949999999999, 0.033962, 0, 1}; Point(23) = {0.703368, 0.036311, 0, 1}; Point(24) = {0.679184, 0.038634, 0, 1}; Point(25) = {0.654508, 0.040917, 0, 1}; Point(26) = {0.62941, 0.043147, 0, 1}; Point(27) = {0.603956, 0.045307, 0, 1}; Point(28) = {0.578217, 0.047383, 0, 1}; Point(29) = {0.552264, 0.049358, 0, 1}; Point(30) = {0.526168, 0.051216, 0, 1}; Point(31) = {0.5, 0.05294, 0, 1}; Point(32) = {0.473832, 0.054515, 0, 1}; Point(33) = {0.447736, 0.055923, 0, 1}; Point(34) = {0.421783, 0.057148, 0, 1}; Point(35) = {0.396044, 0.058175, 0, 1}; Point(36) = {0.37059, 0.058989, 0, 1}; Point(37) = {0.345492, 0.059575, 0, 1}; Point(38) = {0.320816, 0.059921, 0, 1}; Point(39) = {0.296632, 0.060015, 0, 1}; Point(40) = {0.273005, 0.059848, 0, 1}; Point(41) = {0.25, 0.059412, 0, 1}; Point(42) = {0.22768, 0.058702, 0, 1}; Point(43) = {0.206107, 0.057714, 0, 1}; Point(44) = {0.18534, 0.056447, 0, 1}; Point(45) = {0.165435, 0.054902, 0, 1}; Point(46) = {0.146447, 0.053083, 0, 1}; Point(47) = {0.128428, 0.050996, 0, 1}; Point(48) = {0.111427, 0.048648, 0, 1}; Point(49) = {0.09549199999999999, 0.046049, 0, 1}; Point(50) = {0.080665, 0.043211, 0, 1}; Point(51) = {0.066987, 0.040145, 0, 1}; Point(52) = {0.054497, 0.036867, 0, 1}; Point(53) = {0.043227, 0.033389, 0, 1}; Point(54) = {0.03321, 0.029726, 0, 1}; Point(55) = {0.024472, 0.025893, 0, 1}; Point(56) = {0.017037, 0.021904, 0, 1}; Point(57) = {0.010926, 0.01777, 0, 1}; Point(58) = {0.006156, 0.013503, 0, 1}; Point(59) = {0.002739, 0.009114000000000001, 0, 1}; Point(60) = {0.000685, 0.004611, 0, 1}; Point(61) = {0, 0, 0, 1}; Point(62) = {0.000685, -0.004611, 0, 1}; Point(63) = {0.002739, -0.009114000000000001, 0, 1}; Point(64) = {0.006156, -0.013503, 0, 1}; Point(65) = {0.010926, -0.01777, 0, 1}; Point(66) = {0.017037, -0.021904, 0, 1}; Point(67) = {0.024472, -0.025893, 0, 1}; Point(68) = {0.03321, -0.029726, 0, 1}; Point(69) = {0.043227, -0.033389, 0, 1}; Point(70) = {0.054497, -0.036867, 0, 1}; Point(71) = {0.066987, -0.040145, 0, 1}; Point(72) = {0.080665, -0.043211, 0, 1}; Point(73) = {0.09549199999999999, -0.046049, 0, 1}; Point(74) = {0.111427, -0.048648, 0, 1}; Point(75) = {0.128428, -0.050996, 0, 1}; Point(76) = {0.146447, -0.053083, 0, 1}; Point(77) = {0.165435, -0.054902, 0, 1}; Point(78) = {0.18534, -0.056447, 0, 1}; Point(79) = {0.206107, -0.057714, 0, 1}; Point(80) = {0.22768, -0.058702, 0, 1}; Point(81) = {0.25, -0.059412, 0, 1}; Point(82) = {0.273005, -0.059848, 0, 1}; Point(83) = {0.296632, -0.060015, 0, 1}; Point(84) = {0.320816, -0.059921, 0, 1}; Point(85) = {0.345492, -0.059575, 0, 1}; Point(86) = {0.37059, -0.058989, 0, 1}; Point(87) = {0.396044, -0.058175, 0, 1}; Point(88) = {0.421783, -0.057148, 0, 1}; Point(89) = {0.447736, -0.055923, 0, 1}; Point(90) = {0.473832, -0.054515, 0, 1}; Point(91) = {0.5, -0.05294, 0, 1}; Point(92) = {0.526168, -0.051216, 0, 1}; Point(93) = {0.552264, -0.049358, 0, 1}; Point(94) = {0.578217, -0.047383, 0, 1}; Point(95) = {0.603956, -0.045307, 0, 1}; Point(96) = {0.62941, -0.043147, 0, 1}; Point(97) = {0.654508, -0.040917, 0, 1}; Point(98) = {0.679184, -0.038634, 0, 1}; Point(99) = {0.703368, -0.036311, 0, 1}; Point(100) = {0.7269949999999999, -0.033962, 0, 1}; Point(101) = {0.75, -0.031603, 0, 1}; Point(102) = {0.77232, -0.029246, 0, 1}; Point(103) = {0.793893, -0.026905, 0, 1}; Point(104) = {0.8146600000000001, -0.024593, 0, 1}; Point(105) = {0.834565, -0.022323, 0, 1}; Point(106) = {0.853553, -0.020107, 0, 1}; Point(107) = {0.871572, -0.017959, 0, 1}; Point(108) = {0.8885729999999999, -0.015891, 0, 1}; Point(109) = {0.904508, -0.013914, 0, 1}; Point(110) = {0.919335, -0.012042, 0, 1}; Point(111) = {0.933013, -0.010286, 0, 1}; Point(112) = {0.945503, -0.008658000000000001, 0, 1}; Point(113) = {0.956773, -0.007168, 0, 1}; Point(114) = {0.96679, -0.005826, 0, 1}; Point(115) = {0.975528, -0.004642, 0, 1}; Point(116) = {0.982963, -0.003626, 0, 1}; Point(117) = {0.989074, -0.002783, 0, 1}; Point(118) = {0.9938439999999999, -0.00212, 0, 1}; Point(119) = {0.997261, -0.001644, 0, 1}; Point(120) = {0.999315, -0.001356, 0, 1}; Point(123) = {-0.7071067812*500, 0.7071067812*500, 0, 1}; Point(124) = {-0.7071067812*500, -0.7071067812*500, 0, 1}; Point(125) = {1, 500, 0, 1}; Point(126) = {1, -500, 0, 1}; Point(127) = {500, 500, 0, 1}; Point(128) = {500, 0, 0, 1}; Point(129) = {500, -500, 0, 1}; Line(1) = {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}; Transfinite Line {1} = Ceil(20) Using Progression 1; Line(2) = {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}; Transfinite Line {2} = Ceil(20) Using Progression 1; Line(3) = {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, 1}; Transfinite Line {3} = Ceil(20) Using Progression 1; Circle(4) = {123, 61, 124}; Transfinite Line {4} = Ceil(20) Using Progression 1; Circle(5) = {125, 61, 123}; Transfinite Line {5} = Ceil(20) Using Progression 1; Circle(6) = {124, 61, 126}; Transfinite Line {6} = Ceil(20) Using Progression 1; Line(7) = {126, 129}; Transfinite Line {7} = Ceil(50) Using Progression 1.3; Line(8) = {129, 128}; Transfinite Line {-8} = Ceil(50) Using Progression 1.3; Line(9) = {128, 127}; Transfinite Line {9} = Ceil(50) Using Progression 1.3; Line(10) = {127, 125}; Transfinite Line {-10} = Ceil(50) Using Progression 1.3; Line(11) = {1, 125}; Transfinite Line {11} = Ceil(50) Using Progression 1.3; Line(12) = {41, 123}; Transfinite Line {12} = Ceil(50) Using Progression 1.3; Line(13) = {81, 124}; Transfinite Line {13} = Ceil(50) Using Progression 1.3; Line(14) = {1, 126}; Transfinite Line {14} = Ceil(50) Using Progression 1.3; Line(15) = {1, 128}; Transfinite Line {15} = Ceil(50) Using Progression 1.3; Line Loop(17) = {10, -11, 15, 9}; Plane Surface(17) = {17}; Transfinite Surface {17}; Recombine Surface {17}; Coherence; Line Loop(19) = {5, -12, -1, 11}; Plane Surface(19) = {19}; Transfinite Surface {19}; Recombine Surface {19}; Coherence; Line Loop(21) = {12, 4, -13, -2}; Plane Surface(21) = {21}; Transfinite Surface {21}; Recombine Surface {21}; Coherence; Line Loop(23) = {13, 6, -14, -3}; Plane Surface(23) = {23}; Transfinite Surface {23}; Recombine Surface {23}; Coherence; Line Loop(25) = {14, 7, 8, -15}; Plane Surface(25) = {25}; Transfinite Surface {25}; Recombine Surface {25}; Coherence; Extrude{0,0,1}{ Surface{17,19,21,23,25}; Layers{1}; Recombine; } Physical Surface("back") = {47, 69, 91, 113, 135}; Physical Surface("front") = {19, 17, 25, 23, 21}; Physical Surface("top") = {34}; Physical Surface("exit") = {46, 130}; Physical Surface("bottom") = {126}; Physical Surface("inlet") = {56, 82, 104}; Physical Surface("airfoil") = {64, 90, 112}; Physical Volume("internal") = {1, 2, 3, 4, 5}; |
|
September 21, 2016, 06:27 |
|
#2 |
Senior Member
Join Date: Mar 2015
Posts: 250
Rep Power: 12 |
Hello Catherine,
I have the same issue when I am trying to scale the domain size for a mesh sensitivity study. Note that my basic case is running fine. The error message only occurs after I extended the distance to the farfield boundary. I am still trying to figure it out. Have you come to any conclusion, Catherine? Or anyone else? Best regards, Kate Edit: I had a look into your geo file. You seem to have meshing problems in the airfoil area. I would consider to have a look at the trailing edge as well as the leading edge and the areas around points 41 & 81. Edit2: Okay the problem seems to be that gmsh fails to extrude the 2-D mesh properly in cases where the layer height is very small. You get triangles instead of quadrangles. |
|
September 21, 2016, 09:12 |
|
#3 |
Senior Member
Join Date: Mar 2015
Posts: 250
Rep Power: 12 |
Hello I hope you still care,
I kind of now what the reason for the problem is now. And I have attached a minimal example. The problem occurs when you try to extrude very small 2-D cells in the third dimension while having a huge domain, like it is often necessary for a resolved boundary layer mesh for a 2-D airfoil simulation. Gmsh then fails to recombine the extruded mesh into quadrangles. You can test this with the attached main.geo. So now we know where the problem comes from, but I don't have a solution for this. Any advice is appreciated! Best regards, Kate |
|
September 22, 2016, 04:23 |
|
#4 |
Senior Member
Join Date: Mar 2015
Posts: 250
Rep Power: 12 |
Hello again,
finally I wrote Prof. Geuzaine a mail and asked him for help. He made clear that, by default, gmsh sets the tolerance to distinguish separate points to 1e-6 times the size of the whole domain. Hence the solution is to write something like Code:
Geometry.Tolerance = 1e-12; Have a nice day, Kate |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[OpenFOAM.org] Compile OF 2.3 on Mac OS X .... the patch | gschaider | OpenFOAM Installation | 225 | August 25, 2015 20:43 |
Errors in UDF | shashank312 | Fluent UDF and Scheme Programming | 6 | May 30, 2013 21:30 |
Ansys Fluent 13.0 UDF compilation problem in Window XP (32 bit) | Yogini | Fluent UDF and Scheme Programming | 7 | October 3, 2012 08:24 |
Problem with compile the setParabolicInlet | ivanyao | OpenFOAM Running, Solving & CFD | 6 | September 5, 2008 21:50 |
user subroutine error | CFDUSER | CFX | 2 | December 9, 2006 07:31 |