[Gmsh] Dissimilar behaviour between extrusions from planesurface, andplane surface with hole cut. Help! FIXED

Mark Starnes mark.starnes at fttech.co.uk
Fri Apr 3 15:49:50 CEST 2009


Hi again, everyone.

I traced my problem to a tolerancing issue.  

In ~/.gmsh-options, I changed:

Geometry.AutoCoherence = 0; // Should all duplicate entities be
automatically removed?


To 1, and at the start of my .geo file, I added:

Geometry.Tolerance = 1.e-12;

and my extrusions seem to work better.

BR,

Mark.


On Thu, 2009-04-02 at 18:45 +0100, Mark Starnes wrote:
> Hi everyone.  
> 
> First, thanks for this great package!  I've been using gmsh for about
> three years now, and consider it my first port of call, for mesh
> generation.
> 
> I've two short scripts, illustrating my question.  The first generates
> two adjacent surfaces with a circle between them, and extrudes the
> surfaces.  Generating the mesh, shows it to generate a volume, with the
> elements connected between the two.
> 
> The second generates a circular, plane surface, then cuts a hole from
> it.  The inner and outer surfaces are extruded.  Generating the mesh
> results in the original surfaces meeting as before, but rotating the
> mesh and examining the underside, shows the extruded volumes do not
> meet.
> 
> Am I doing something wrong?  I'd like the second case to generate
> elements that meet up.  I'm using v2.3.1 on Linux.
> 
> Thanks again for this useful tool.
> 
> BR,
> 
> Mark.
> 
> ---------------------------------------------
> 
> r = 1;
> p = 1;
> 
> Point(1) = {0, 0, 0, p};  // centre
> Point(2) = {-r, 0, 0, p};  // inner left
> Point(3) = {0, r, 0, p};  // inner top
> 
> Point(4) = {-2*r, 0, 0, p};  // outer left
> Point(5) = {0, 2*r, 0, p};  // outer top
> 
> Circle(1) = {2, 1, 3};
> Line(2) = {1, 2};
> Line(3) = {1, 3};
> 
> Circle(4) = {4, 1, 5};
> Line(5) = {2, 4};
> Line(6) = {3, 5};
> 
> // inner
> Line Loop(4) = {1, -3, 2};
> Plane Surface(5) = {4};
> 
> // outer
> Line Loop(6) = {4, -6, -1, 5};
> Plane Surface(7) = {6};
> 
> vol1[] = Extrude {0, 0, -0.25} {
>   Surface{5};
>   Layers{1};
>   Recombine;};
> 
> vol2[] = Extrude {0, 0, -0.25} {
>   Surface{vol1[0]};
>   Layers{1};
>   Recombine;};
> 
> vol3[] = Extrude {0, 0, -0.25} {
>   Surface{7};
>   Layers{1};
>   Recombine;};
> 
> vol4[] = Extrude {0, 0, -0.25} {
>   Surface{vol3[0]};
>   Layers{1};
>   Recombine;};
> 
> ------------------------------------------------------------
> 
> r = 1;
> p = 1;
> 
> Point(1) = {0, 0, 0, p};  // centre
> Point(2) = {-r, 0, 0, p};  // inner left
> Point(3) = {0, r, 0, p};  // inner top
> Point(4) = {r, 0, 0, p};  // inner top
> Point(5) = {0, -r, 0, p};  // inner top
> 
> Point(6) = {-2*r, 0, 0, p};  // outer left
> Point(7) = {0, 2*r, 0, p};  // outer top
> Point(8) = {2*r, 0, 0, p};  // inner top
> Point(9) = {0, -2*r, 0, p};  // inner top
> 
> Circle(1) = {2, 1, 3};
> Circle(2) = {3, 1, 4};
> Circle(3) = {4, 1, 5};
> Circle(4) = {5, 1, 2};
> 
> Circle(5) = {6, 1, 7};
> Circle(6) = {7, 1, 8};
> Circle(7) = {8, 1, 9};
> Circle(8) = {9, 1, 6};
> 
> Line Loop(9) = {5, 6, 7, 8};
> Line Loop(10) = {1, 2, 3, 4};
> Plane Surface(11) = {9, 10};
> Plane Surface(12) = {10};
> 
> vol1[] = Extrude {0, 0, -0.25} {
>   Surface{11};
>   Layers{1};
>   Recombine;};
> 
> vol2[] = Extrude {0, 0, -0.25} {
>   Surface{vol1[0]};
>   Layers{1};
>   Recombine;};
> 
> vol3[] = Extrude {0, 0, -0.25} {
>   Surface{12};
>   Layers{1};
>   Recombine;};
> 
> vol4[] = Extrude {0, 0, -0.25} {
>   Surface{vol3[0]};
>   Layers{1};
>   Recombine;};
> 
> // difference between top and bottom mesh
> 
> ------------------------------------- 
>   
> FT Technologies Limited is registered in England and Wales under registered number 01603909. Its registered office is at Church Lane, Teddington, Middlesex, TW11 8PA.
> The information in this message is confidential and is intended only for the use of the intended recipient(s). If you are not an intended recipient, you should not disclose, use or copy this information. Please contact the sender immediately if you have received this message in error.
> 
> _______________________________________________
> gmsh mailing list
> gmsh at geuz.org
> http://www.geuz.org/mailman/listinfo/gmsh
> 
> 
  
FT Technologies Limited is registered in England and Wales under registered number 01603909. Its registered office is at Church Lane, Teddington, Middlesex, TW11 8PA.
The information in this message is confidential and is intended only for the use of the intended recipient(s). If you are not an intended recipient, you should not disclose, use or copy this information. Please contact the sender immediately if you have received this message in error.