[Gmsh] Holes in curved surfaces / merging surfaces

Christophe Geuzaine c.geuzaine at ulg.ac.be
Sun Jan 9 03:36:09 CET 2005


Sean Victor Hum wrote:
> Hello,
> 
> First off I would like to commend the gmsh team on an amazing piece of 
> software.  I have found many uses for gmsh ranging from electromagnetic 
> scattering problems to mechanical problems.  Thanks for making it 
> publically available.
> 
> I have a question about the geometry module.  All the problems I use 
> gmsh for involve surfaces (no 3D elements).  I have not found a way to 
> easily make a hole in a curved surface.  I know it is quite easy for 
> plane surfaces since holes can be defined in the expression list, but I 
> am interested in making a hole in a curved surface, specifically a hole 
> in a surface that was made by extruding a curve.  If cutting a hole in a 
> surface extruded from a spline is a problem, I can reformulate the 
> problem using a series of lines for the extrusion instead of a spline, 
> thus using a piecewise linear model of the curve (but it would still 
> involve many, many points, making defining the hole 'manually' using 
> multiple extrusions a daunting task.

Unfortunately, Gmsh does not support this yet. Jean-Francois hacked some 
partial support for trimmed surfaces a while ago, but I don't know the 
current status of his efforts. He will have to comment on this himself.

> 
> On a similar topic, I am also learning if there is a way to merge 2D 
> meshes from two intersecting surfaces.  For example, in the problem 
> above, if I had a hole in a surface and wanted to attach a curved 
> surface to cover the hole, how would I go about defining the 
> geometry/mesh so that the mesh flows smoothly over the composite 
> surface?  If I were to use an example from the gmsh website, I would use 
> the famous fighter jet screen shot: the problem I am trying to solve is 
> very similar to trying to attach the canopy of the fighter jet to the 
> fuselage starting with two separate surfaces defining those two objects.

That would indeed be very useful.

I recently added support for "Discrete Surfaces" in Gmsh (it's available
in the latest nightly cvs snapshots), which could serve as the basis for 
such developments--that is, if you want to compute the intersections at 
the discrete level (between two meshes). The drawback is that you will
probably have to modify some elements in the intersected mesh close to
the intersection in order to avoid small/badly shaped elements.

The other solution would be to actually compute the surface 
intersections at the CAD level. This is perfectly feasible, but a robust
implementation is not trivial. You can find some (untested and
non-functional) routines aiming at this in Geo/CAD.cpp. But it might be
better to start from scratch...

Best,

Christophe

> 
> Any help on how to approach these tasks would be appreciated.
> 
> Thanks, and best regards,
> 
> Sean
> _______________________________________________
> gmsh mailing list
> gmsh at geuz.org
> http://www.geuz.org/mailman/listinfo/gmsh
> 
> 


-- 
Christophe Geuzaine
Applied and Computational Mathematics, Caltech
geuzaine at acm.caltech.edu - http://geuz.org