[Gmsh] gmsh tollerance

kRambler karamazv at rambler.ru
Fri Aug 31 15:02:54 CEST 2012


Hello.

I have a little, but important question.
I need to set a small Ellipse arc in .geo file, between points:

  Point(1) = {0.000000000000, 1120.000000000000 , 0, 0.000020089286};
  Point(1005) = {0.000020089286 , 1119.999989955357 , 0,lc/100000};

but get an error:
@
    Error   : Ellipse 1 is wrong
    Error   : Circle or ellipse arc 1 greater than Pi (angle=6.28319)
    Error   : (If you understand what this implies, you can disable this error
    Error   : message by selecting `Enable expert mode' in the option dialog.
    Error   : Otherwise, please subdivide the arc in smaller pieces.)
    Error   : Ellipse -1 is wrong
    Error   : Line Loop 32 is wrong
@

I think it's because   Point(1005)  have coordinate ~1120 and gmsh
rounds it up to 1120.

Is there some parameter like Geometry Precision in gmsh that could
help to get rid from this error?

Thank you.


Here is .geo file content:
@
Mesh.SubdivisionAlgorithm=1;
Mesh.MshFileVersion=1; 
Mesh.RefineSteps=10; 
Geometry.Tolerance=1e-100; 
Geometry.Tangents=0; 
lc=50.000000000000; 
Point(1) = {0.000000000000 , 1120.000000000000 , 0,0.000020089286}; 

Point(88) = {0.150000000000 , 0.000000000000 , 0,lc/100000}; 
Point(8) = {1000.000000000000 , 0.000000000000 , 0,lc}; 
Point(20) = {1000.000000000000 , 1500.000000000000 , 0,lc}; 
Point(21) = {0.000000000000 , 1500.000000000000 , 0,lc/10}; 
Point(1000) = {0.000000000000 , 0.000000000000 , 0,lc/100}; 
Point(1001) = {0.000000000000 , 10.000000000000 , 0,lc/1000}; 
Point(1005) = {0.000020089286 , 1119.999989955357 , 0,lc/100000}; 

Line(1) = { 1, 1005}; 
//Ellipse(1) = { 1005 , 1000, 1001, 1 };
Ellipse(111) = { 1005, 1000, 1001, 88}; 
Line(7)={88,8}; 
Line(19)={8,20}; 
Line(20)={20,21}; 
Line(21)={21,1};
Line Loop(32) = {20, 21,111,  7, 19, 1};
Plane Surface(33) = {32};  

Physical Surface(34) = {33}; 
@

Alex

mailto:karamazv at rambler.ru