[Gmsh] Reclassify 2D does not work

Martin Vymazal martin.vymazal at vki.ac.be
Mon Apr 8 14:43:19 CEST 2013


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.

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.

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?

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