[Gmsh] Joining two pipes

David Colignon David.Colignon at ulg.ac.be
Fri Aug 6 10:08:46 CEST 2010

On 04/08/10 20:06, Martin Vymazal wrote:

> Hello,
> I would like to ask if anyone has an idea how (if at all) to join two cylindrical surfaces in gmsh. I have an 'msh' file
> after conversion from CAD data. The file contains 2 pipes which have the same axis but slightly different diameters, one
> following after the other. There's a small gap between the end of the first pipe and the beginning of the second pipe
> that I'd like to cover with a surface mesh, thus joining the two pipes.
> I have a circle (elementary entity number 1), which is the 'outlet ring' of the first pipe and another circle
> (elementary entity # 2) - 'inlet ring' of the second pipe. Moreover, there's a line number 3 joining one point of the
> first circle with another point on the second circle. These three lines form sort of a 'conical outline' - I have 2
> bases with slightly different radiuses and one surface line connecting them. I thought I could write this in my geo file
> (after merging the mesh with the two pipes):
> l1 = newreg;
> Line Loop(l1) = {1,2,3};
> Ruled Surface(newreg) = {l1};
> Unfortunately, gmsh meshes only the surface defined by circle 1, instead of meshing the conical surface that I tried to
> define.
> Could you please tell if what I'm trying to do is feasible? If so, do you have an idea how to do it?

Hi Martin,

I am not sure that Gmsh is able to understand the topology of the surface you want to create, especially with the line 
n°3 joining the two circles... Moreover Gmsh doesn't like arc circles greater than PI ...

The best solution would be to divide each circle in two parts, and having a second line joining the two half circles...



> Best regards,
> Martin Vymazal
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
> _______________________________________________
> gmsh mailing list
> gmsh at geuz.org
> http://www.geuz.org/mailman/listinfo/gmsh