[Gmsh] too slow coherence function

andrew armitatz at gmail.com
Sun Aug 28 16:44:55 CEST 2016


Thank you for your reply,

I will try it.

Sorry for the latest line​ in my previous post "Salome is written in python
which is no faster than C++ so ... " because it might sounded judgemental
which was not my intention.

kind regards

Andrew tsiantis


2016-08-28 17:32 GMT+03:00 Christophe Geuzaine <cgeuzaine at ulg.ac.be>:

>
> > On 28 Aug 2016, at 13:57, andrew <armitatz at gmail.com> wrote:
> >
> > Hi,
> >
> > Thank you for your response.
> >
> > I have tried the suggestion you made but this way I don't get the
> internal surfaces which I need. The surface ​mesh is constructed correctly
> but as you can see from the first image I don't have the internal regions.
> I do get the points but openfoam does not understand them no matter what I
> do. In the second image is the mesh that I want with the internal surfaces.
> >
> > In the third image is a mesh I get with the loops but without the 'Line
> In Surface' set of commands where you can see that I get a bad mesh near
> the narrow areas where the mesh crosses the boundaries of the loop lines. I
> would expect that since I construct the surface with the loops, even if
> they were of zero width, they would be embedded in the surface since its
> creation making the need for the 'Line In Surface' commands obsolete.
> >
>
> I see; indeed this is a valid approach.
>
> I have recoded the "Coherence Mesh;" function to make it much faster.
> Could you download the next build and give it a try?
>
> Thanks for the detailed feedback,
>
> Christophe
>
>
>
> > Anyway I found a workaround but it involves the Salome mesh generator.
> >
> > In the first step I create the mesh in Gmsh without the coherence
> function. I save it in unv format. I reload it in Salome and I remove the
> duplicate nodes there with 'merge nodes'. I delete the 'vol' since I don't
> need it and I save the mesh with only the surfaces I need again in unv
> format.
> >
> > It sounds cybersome but all these are done by scripts and Salome needs a
> few minutes to load a 3+ million cells mesh and save it back and less than
> a minute to remove the duplicates. Gmsh needs a few minutes for the mesh
> and 2+hrs for the removal so the procedure through Salome is way faster.
> >
> > Salome is written in python which is no faster than C++ so I guess the
> coherence routine in gmsh could take a refinement to a faster way.
> >
> > Kind regards
> >
> > Andrew Tsiantis
> >
> >
> > 2016-08-28 12:10 GMT+03:00 Christophe Geuzaine <cgeuzaine at ulg.ac.be>:
> >
> > Andrew,
> >
> > The problem actually seems to come from the way you define the surface:
> can you regenerate your geometry script after
> >
> > - removing all the zero-area line loops (e.g. "Line Loop(6) = {5, -5};")
> > - removing these loops from the definition of the main surface (i.e.
> simply have "Plane Surface(1) = {205};")
> >
> > With this you should not have duplicate vertices anymore, which should
> make "Coherence Mesh" unnecessary.
> >
> > Let us know,
> >
> > Christophe
> >
> >
> > > On 21 Aug 2016, at 17:33, andrew <armitatz at gmail.com> wrote:
> > >
> > > hi,
> > >
> > > Thank you for the response. The file I submitted was a small one and
> the problem was not so obvious. I am attaching a 'real' file​ that I use on
> my simulations. It has 3000 cuts in it. This takes 2 hours on a quad core
> and 1+ hour on a i7 @4ghz. I am using the version 2.13.1.
> > >
> > > Kind regards
> > >
> > > Andrew Tsiantis
> > >
> > >
> > > 2016-08-21 17:50 GMT+03:00 Christophe Geuzaine <cgeuzaine at ulg.ac.be>:
> > >
> > > > On 19 Aug 2016, at 21:34, andrew <armitatz at gmail.com> wrote:
> > > >
> > > > ​Hi,
> > > >
> > > > I try to create a 3d mesh from an extruded 2d mesh. The mesh is a
> simple box but with cuts in it of zero width. The geometry is created ok
> and the meshing even when I have 2000-3000 cuts is done in less than a few
> minutes. However when I convert the mesh for use with openfoam I was
> getting errors. By adding the command 'Coherence mesh;' after the creation
> of the mesh, the mesh is converted correctly for use with openfoam by using
> the ultility 'gmshToFoam'.
> > >
> > > Indeed, it's a limitation of our extrusion algorithm with embedded
> curves ("Line In Surface"): it currently creates duplicate vertices. The
> real fix is thus for us to enhance extrusion of embedded curves, but it's
> not trivial due to the way extruded meshes are generated.
> > >
> > > > The problem is in the use of the 'Coherence Mesh'. It takes almost
> two hours to execute while the meshing takes a few minutes. Is there a way
> to improve the Coherence command or to make the same geometry without the
> duplicate nodes that need so much time to be removed?
> > > >
> > > > I attached a file that needs 2.5 minutes on a quad core for meshing
> and more than ten minutes to remove 1600 duplicates.
> > > > I have to create thousands of these meshes so a speedup would be
> welcomed.
> > > >
> > >
> > > That seems a bit slow: on my laptop meshing and duplicate removal take
> about the same time (2 minutes each). Which version of Gmsh do you use?
> > >
> > > > kind regards
> > > >
> > > > Andrew tsiantis
> > > >
> > > > <se.geo>_______________________________________________
> > > > gmsh mailing list
> > > > gmsh at onelab.info
> > > > http://onelab.info/mailman/listinfo/gmsh
> > >
> > > --
> > > Prof. Christophe Geuzaine
> > > University of Liege, Electrical Engineering and Computer Science
> > > http://www.montefiore.ulg.ac.be/~geuzaine
> > >
> > > Tetrahedron V, July 4-5 2016: http://tetrahedron.montefiore.ulg.ac.be
> > > Free software: http://gmsh.info | http://getdp.info |
> http://onelab.info
> > >
> > >
> > > <3k_cuts.zip>_______________________________________________
> > > gmsh mailing list
> > > gmsh at onelab.info
> > > http://onelab.info/mailman/listinfo/gmsh
> >
> > --
> > Prof. Christophe Geuzaine
> > University of Liege, Electrical Engineering and Computer Science
> > http://www.montefiore.ulg.ac.be/~geuzaine
> >
> > Free software: http://gmsh.info | http://getdp.info | http://onelab.info
> >
> >
> > <gmsh-1.jpg><gmsh-2.jpg><gmsh-3.jpg><se.geo>________________
> _______________________________
> > gmsh mailing list
> > gmsh at onelab.info
> > http://onelab.info/mailman/listinfo/gmsh
>
> --
> Prof. Christophe Geuzaine
> University of Liege, Electrical Engineering and Computer Science
> http://www.montefiore.ulg.ac.be/~geuzaine
>
> Free software: http://gmsh.info | http://getdp.info | http://onelab.info
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://onelab.info/pipermail/gmsh/attachments/20160828/dd47ced3/attachment.html>


More information about the gmsh mailing list