[Gmsh] too slow coherence function
andrew
armitatz at gmail.com
Tue Aug 30 19:06:53 CEST 2016
Hi,
I downloaded the latest build and tested it for the removal of double nodes
with the 'coherence Mesh' function. It is indeed very fast. It needed
almost an hour for the removal of 100.000+ vertices and now it needs a few
minutes. I don't have exact times but the difference is almost 20x.
I did the tests on 1. the win 64bit build on a quad core @3G and 2. at the
Linux 64bit buld on a i7 3.6G at Ubuntu 14.04. On both the difference was
very big.
Thank you for your response.
kind regards
Andrew Tsiantis
2016-08-28 17:44 GMT+03:00 andrew <armitatz at gmail.com>:
> 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/20160830/2fc200a4/attachment.html>
More information about the gmsh
mailing list