[Gmsh] Reclassify 2D does not work

Zenker, Dr. Matthias Matthias.Zenker at erbe-med.com
Tue Apr 9 08:46:48 CEST 2013


Hi Martin,

thanks for your reply. Please see my comments below in your message...

Matthias

> -----Ursprüngliche Nachricht-----
> Von: Martin Vymazal [mailto:martin.vymazal at vki.ac.be]
> Gesendet: Montag, 8. April 2013 14:43
> An: gmsh at geuz.org
> Betreff: Re: [Gmsh] Reclassify 2D does not work
>
> Hello Matthias,
>
>  a colleague of mine had the same problem. It turned out that the CAD
> package he used defines internally two different faces where different
> volumes touch and gmsh meshes each of the surfaces separately. Can you
> display the elementary entity numbers and see if you have one or two faces
> between the volumes?
>
> In case you have two faces, try to see if you can force your CAD package to
> export only one of them in your STEP file.

There are definitively two faces, and it seems that there is no way to force the CAD (Solidworks) to only export one of them. I am not a Solidworks user myself, so I have to rely to my colleagues who say that it's not possible. I use STEP for the import to gmsh, and AFAIK it is also not possible in STEP to have adjacent bodies share faces.

> Gmsh has also some CAD healing capabilities. I would try with netgen CAD
> healing as well. Sometimes it's gmsh that works better, sometimes netgen.
> They both depend on opencascade, but I'm not sure they do exactly the
> same thing.

I have already tried the healing capabilities of gmsh and netgen, they work only in simple cases. But I often have curved surfaces which overlap only partially, and those seem to be too hard to merge.


> Maybe there is a workaround in case the inteface is duplicated. You could set
> a transfinite mesh on the lines which bound your duplicate faces to make
> sure that the 1D mesh is conformal. Then you mesh the 2D faces (even if you
> get two surface meshes where your volumes touch). Mark as physical only
> one of these two meshes + all other surfaces that you want to preserve and
> save as *.msh.
> Merge this msh and mesh volumes. Not very automatic, but maybe it could
> solve your problem?

Good idea, but it will not work in the case of partial overlaps...

>
> Best regards,
>
>   Martin Vymazal
>
> On Friday 05 of April 2013 10:31:13 Zenker, Dr. Matthias wrote:
> > Hi Martin,
> >
> > thank you for your quick reply.
> > The problem I mentioned is that when meshing a geometry (STEP import
> > from
> > CAD) containing more than one volume, the interfaces between the
> > volumes are meshed twice, leading to a nonconformal mesh (i.e. nodes
> > are not shared between the volumes at the interface), so no current or
> > heat can flow across the interface. Did you ever have this problem,
> > and do you know of a solution on the ParaView / Meshlab side?
> >
> > Best regards,
> >
> > Matthias
> >
> > > -----Ursprüngliche Nachricht-----
> > > Von: Martin Vymazal [mailto:martin.vymazal at vki.ac.be]
> > > Gesendet: Freitag, 5. April 2013 11:25
> > > An: gmsh at geuz.org
> > > Betreff: Re: [Gmsh] Reclassify 2D does not work
> > >
> > > Hello Matthias,
> > >
> > >   I don't know if there's a full documentation of ParaView plugins (they
> > >   call
> > >
> > > them filters), but I simply go through the drop-down list of
> > > available filters (menu Filters->Alphabetical) and look if there's
> > > anything potentially useful for me. Most filters are available by
> > > default, you can control what is loaded at startup in Tools->Manage
> Plugins.
> > >
> > > Most of the time, I use:
> > >   - Transform to scale the mesh when I need it to be in different units
> > >   - Clip to remove a part of the mesh
> > >   - Extract cells by region (a bit similar to Clip, but preserves cells,
> > >   does not cut>
> > > through them)
> > >
> > >   - Tetrahedralize (takes a hexa mesh and splits all elements into
> > > tetra
> > >
> > > elements)
> > >
> > >   - Extract surface (similar to the skin plugin that prof. Geuzaine
> > >   mentioned in>
> > > his reply to my post)
> > >
> > > I believe you can also use vtk as a library and link it to your own
> > > code to have all the filters available.
> > >
> > > It's hard to process meshes with one opensource package, I usually
> > > use the combination Gmsh-Paraview-Meshlab. I like gmsh, but its gui
> > > becomes extremely slow with large meshes (say ~ 10^6 elements).
> > > ParaView is much more responsive.
> > >
> > > Best regards,
> > >
> > >    Martin Vymazal
> > >
> > > Quoting "Zenker, Dr. Matthias" <Matthias.Zenker at erbe-med.com>:
> > > > Hi Martin,
> > > >
> > > > I have read in your message below that one can modify a mesh with
> > > > ParaView. I use ParaView for postprocessing and didn't know that
> > > > it can also process meshes. Maybe this could help me to solve a
> > > > meshing problem I have since a long time which gmsh cannot solve.
> > > > Could you give me some indications where I can find information
> > > > about ParaView's mesh processing capabilities? Are there built-in
> > > > filters for that (which ones?), or did you need to build one yourself?
> > > >
> > > > Thank you for some hints,
> > > >
> > > > Matthias
> > > >
> > > > ----------------------------------------------------------------
> > > > ERBE Elektromedizin GmbH
> > > > Dr.rer.nat. Matthias Zenker
> > > > Dipl. Phys.
> > > > Grundlagenentwicklung / Fundamental Development
> Waldhoernlestrasse
> > >
> > > 17
> > >
> > > > 72072 Tuebingen
> > > > Germany
> > > > Phone + 49 (0) 7071 755 - 226
> > > > Fax + 49 (0) 7071 755 - 5226
> > > > E-Mail: <mailto:Matthias.Zenker at erbe-med.com>
> > > > URL: http://www.ERBE-med.com
> > > > ----------------------------------------------------------------
> > > >
> > > >> -----Ursprüngliche Nachricht-----
> > > >> Von: Martin Vymazal [mailto:martin.vymazal at vki.ac.be]
> > > >> Gesendet: Donnerstag, 4. April 2013 11:37
> > > >> An: gmsh at geuz.org
> > > >> Betreff: [Gmsh] Reclassify 2D does not work
> > > >>
> > > >> Dear gmsh developers,
> > > >>
> > > >>  I have a 3D flat plate grid  downloaded from here:
> > > >> http://turbmodels.larc.nasa.gov/flatplate_grids.html (3D Plot3d
> > > >> grid,
> > > >> 2 x 545 x 385 points). I converted the grid to vtk and also split
> > > >> the hexahedra into tetra using paraview. I am not able to
> > > >> reclassify the surface of the geometry to create physical
> > > >> surfaces (to be able to set boundary conditions for my flow
> > > >> solver). The 'Reclassify' button in the Reclassify2D dialog
> > > >> always remains greyed out, no matter what I do. Is it a bug? If
> > > >> not, could you please tell me the settings you use to reclassify the
> surface?
> > > >>
> > > >>  Best regards,
> > > >>
> > > >>    Martin Vymazal
> > >
> > >
> __________________________________________________________
> > > ___________
> > >
> > > > ERBE Elektromedizin GmbH
> > > > Firmensitz: 72072 Tuebingen
> > > > Geschaeftsfuehrer: Christian O. Erbe, Reiner Thede
> > > > Registergericht: Stuttgart HRB 380137
> >
> >
> __________________________________________________________
> ___________
> > ERBE Elektromedizin GmbH
> > Firmensitz: 72072 Tuebingen
> > Geschaeftsfuehrer: Christian O. Erbe, Reiner Thede
> > Registergericht: Stuttgart HRB 380137
>



_____________________________________________________________________
ERBE Elektromedizin GmbH
Firmensitz: 72072 Tuebingen
Geschaeftsfuehrer: Christian O. Erbe, Reiner Thede
Registergericht: Stuttgart HRB 380137