[Gmsh] Combine single facets to surface group OR multiple STL files (closed surface) merged to get 3D mesh

Christophe Geuzaine cgeuzaine at ulg.ac.be
Fri Feb 26 16:41:28 CET 2010

On 26/02/10 10:15, Meiner Auchmeiner wrote:
> Hello gmsh group,
> first of all I would like to thank Mr. Geuzaine and Mr. Remacle, and
> all the other contributors, for this great software, thank you very
> much!
> I hope that somebody here can give me a hint towards the solution of
> my problem. I'm trying to import a STL geometry (with one closed
> surface) into gmsh and mesh it as a volumetric body with 3D elements.
> The resulting mesh should ideally also consist of multiple surface
> definitions on that body, in order to apply boundary conditions in the
> framework of the Finite Element Method (FEM).
> Firstly, I was able to import the STL file
> (rabbit_mod_opt_500faces.stl) into gmsh (rabbit_mod_opt_500faces.geo)
> and did get a decent 3D mesh (see screen1.jpg). But unfortunately I
> wasn't able to select single facets - or find any other ways - to
> define physical surface groups on that body (see screen2.jpg).
> In a next approach I split-up the initial shell surface in advance
> (thanks to meshlab) into two parts (see
> rabbit_mod_opt_500faces_subset1.stl and
> rabbit_mod_opt_500faces_subset2.stl) and merged them into gmsh (see
> rabbit_mod_opt_500faces_subsets.geo). Now I'm able to add physical
> surface groups but unfortunately I wasn't able to get a correct 3d
> mesh (see screen3.jpg). I also played around with the orientation of
> the input faces of the two STL files but didn't succeed (but I'm not
> sure if I did it right).
> My questions are now:
> * Is it possible to pick single facets to combine them to multiple
> physical surface groups?

Yes, but it's not interfaces yet... In a future release :-)

> * Is it possible to get a 3d mesh out of multiple surface shells (STL
> files) merged together? If it is, what intermediate step would be
> necessary to do so?

You need to remove the duplicate mesh vertices:

Merge "rabbit_mod_opt_500faces_subset1.stl";
Merge "rabbit_mod_opt_500faces_subset2.stl";
Coherence Mesh;
Surface Loop(1) = {1,2};
Volume(1) = {1};

> * I read in a previous mail about an experimental feature called
> compound surfaces - is it possible that I could use this to solve my
> problem?

Compound surfaces will allow you to remesh (refine/derefine) the initial 



> I would greatly appreciate any assistance.
> Thanks,
> Uwe
> P.S.: The geometry I used for testing purpose comes from:
> http://thevirtualheart.org/anatomyindex.html
> _______________________________________________
> gmsh mailing list
> gmsh at geuz.org
> http://www.geuz.org/mailman/listinfo/gmsh

Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science