Great, thanks! Cheers, Serban
-----Original Message----- From: Christophe Geuzaine [mailto:[email protected]] Sent: 09 December 2014 22:12 To: Serban Georgescu Cc: David Bernstein ([email protected]); [email protected] Geuzaine Subject: Re: [Gmsh] Setting random seed in geo file Dear Serban, Thanks for the patch - it's been integrated in SVN. Let us know if you find other similar problems! Christophe > On 09 Dec 2014, at 17:32, Serban Georgescu <[email protected]> > wrote: > > For reference, an update to the modifications below. > > MVertexLessThanNum should be used instead if MVertexLessThanLexicographic. > For some reason that I do not understand, MVertexLessThanLexicographic leads > to crashes in some cases. > > Serban > > From: gmsh [mailto:[email protected]] On Behalf > Of Serban Georgescu > Sent: 05 December 2014 12:40 > To: David Bernstein > Cc: [email protected] Geuzaine > Subject: Re: [Gmsh] Setting random seed in geo file > > Hi, > > Actually I had the same problem and in the last few days I put some time into > finding the reason why this happens. > The random seeds are actually hard-coded, the reason for the lack of > reproducibility comes from a few STL containers that store pointers and were > left with the default ordering - which means that the order will be dependent > on the pointer addresses - hence the lack of reproducibility. > > Here are the modifications that you need to make in order to have full > reproducibility: > Note that these are made with respect to the source code of Gmsh 2.8.5. > > Mesh/meshGFace.cpp à added ordering to the set > > 1080c1080 > < std::set<MVertex*, MVertexLessThanLexicographic> all_vertices, boundary; > --- > > std::set<MVertex*> all_vertices, boundary; > > 1155c1155 > < for(std::set<MVertex*, MVertexLessThanLexicographic>::iterator it = > all_vertices.begin(); > --- > > for(std::set<MVertex*>::iterator it = all_vertices.begin(); > > 1173c1173 > < for(std::set<MVertex*, MVertexLessThanLexicographic>::iterator it = > all_vertices.begin(); > --- > > for(std::set<MVertex*>::iterator it = all_vertices.begin(); > > ---------------- > Mesh/meshGFaceBDS.cpp à defined what happens when we have two > identical values in the sort > > 482,489d481 > < bool edges_sort (std::pair<double, BDS_Edge*> a , std::pair<double, > BDS_Edge*> b) < { > < if (a.first == b.first) > < return ((*a.second) < (*b.second)); > < else > < return (a.first < b.first); > < } > < > 505c497 > < std::sort(edges.begin(), edges.end(), edges_sort); > --- > > std::sort(edges.begin(), edges.end()); > 558c550 > < std::sort(edges.begin(), edges.end(), edges_sort); > --- > > std::sort(edges.begin(), edges.end()); > > > ---------------- > Mesh/meshGRegion.cpp à added ordering to the set > 1417c1417 > < static void getAllBoundingVertices(GRegion *gr, std::set<MVertex*, > MVertexLessThanLexicographic> &allBoundingVertices) > --- > > static void getAllBoundingVertices(GRegion *gr, std::set<MVertex*> > > &allBoundingVertices) > 1440c1440 > < std::set<MVertex*, MVertexLessThanLexicographic> allBoundingVertices; > --- > > std::set<MVertex*> allBoundingVertices; > 1443c1443 > < std::set<MVertex*, MVertexLessThanLexicographic>::iterator itv = > allBoundingVertices.begin(); > --- > > std::set<MVertex*>::iterator itv = allBoundingVertices.begin(); > 1673,1680d1672 > < struct GFaceOrderedByTag > < { > < bool operator() (const GFace* first, const GFace* second) const > < { > < return (first->tag() < second->tag()); > < } > < }; > < > 1713c1705 > < std::set<GFace*, GFaceOrderedByTag> mySet; > --- > > std::set<GFace*> mySet; > > > ---------------- > > That's about it. > It would be nice if these modifications could be added to the SVN version. > > Cheers, > Serban > > From: gmsh [mailto:[email protected]] On Behalf > Of David Bernstein > Sent: 02 November 2014 00:45 > To: [email protected] Geuzaine > Subject: [Gmsh] Setting random seed in geo file > > Sorry, I missed this post back in May. What is the geo file command to set > the global random number seed? > > Thanks, > Dave > > Hello, > > This issue has been fixed in the last versions. What is the version you are > using ? > > JFR > Le 22 mai 2014 à 23:29, David Bernstein <david at terafrac.org> a écrit : > > > Hi Everyone, I'm using Gmsh as a backend mesh generator in a project and > > it's been working very well so far. One issue that we've encountered is > > reproducing a problem from a given set of simulation input parameters > > because Gmsh produces a different mesh every time it's run with the same > > input. > > > > I've looked through the documentation and have not been able to find a way > > to set a random number seed so that the same mesh is produced every time > > for a given input .geo file. If anyone knows a way to do this please let > > me know. > > > > Thanks, > > Dave > > This e-mail is covered by the Electronic Communication Privacy Act, 18 U.S.C. > Section 2510-2521 and may be legally privileged. If you have received this > transmission in error, please notify the original sender immediately by > return e-mail or by telephone at the telephone number provided above and > delete/trash the original message from your system. Thank you for your > assistance. The information contained herein is confidential information > provided only for the use of the individual or entity for whom it was > intended. If the reader of this message received it in error, is not the > intended recipient, or if an attachment is made in error, the reader is > hereby notified that any dissemination, distribution or copying of this > communication is strictly prohibited. > ______________________________________________________________________ > > Fujitsu Laboratories of Europe Limited Hayes Park Central, Hayes End > Road, Hayes, Middlesex, UB4 8FE Registered No. 4153469 > > This e-mail and any attachments are for the sole use of addressee(s) > and may contain information which is privileged and confidential. > Unauthorised use or copying for disclosure is strictly prohibited. > The fact that this e-mail has been scanned by Trendmicro Interscan > does not guarantee that it has not been intercepted or amended nor that it > is virus-free. > > ______________________________________________________________________ > > Fujitsu Laboratories of Europe Limited Hayes Park Central, Hayes End > Road, Hayes, Middlesex, UB4 8FE Registered No. 4153469 > > This e-mail and any attachments are for the sole use of addressee(s) > and may contain information which is privileged and confidential. > Unauthorised use or copying for disclosure is strictly prohibited. > The fact that this e-mail has been scanned by Trendmicro Interscan > does not guarantee that it has not been intercepted or amended nor that it > is virus-free. > > _______________________________________________ > gmsh mailing list > [email protected] > http://www.geuz.org/mailman/listinfo/gmsh -- Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine ______________________________________________________________________ Fujitsu Laboratories of Europe Limited Hayes Park Central, Hayes End Road, Hayes, Middlesex, UB4 8FE Registered No. 4153469 This e-mail and any attachments are for the sole use of addressee(s) and may contain information which is privileged and confidential. Unauthorised use or copying for disclosure is strictly prohibited. The fact that this e-mail has been scanned by Trendmicro Interscan does not guarantee that it has not been intercepted or amended nor that it is virus-free. _______________________________________________ gmsh mailing list [email protected] http://www.geuz.org/mailman/listinfo/gmsh
