From walter.steffe at alice.it Wed Jan 1 09:47:49 2020 From: walter.steffe at alice.it (walter steffe) Date: Wed, 01 Jan 2020 09:47:49 +0100 Subject: [Gmsh] Cmake configuration problem with gmsh 4.5.1 Message-ID: <0a46ea9907dec1c0c734be3eecd0d487f202dcdb.camel@alice.it> Hello, I tried to configure gmsh 4.5.1 using cmake on ubuntu 18.04. The configure step is OK with the default cmake options but it fails after appling the following changes: ENABLE_BUILD_LIB = ON ENABLE_FLTK = OFF Then configure fails with following error message: fatal: not a git repository (or any parent up to mount point / Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set) Regards Walter Steff? From cgeuzaine at uliege.be Wed Jan 1 20:50:57 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 1 Jan 2020 20:50:57 +0100 Subject: [Gmsh] Cmake configuration problem with gmsh 4.5.1 In-Reply-To: <0a46ea9907dec1c0c734be3eecd0d487f202dcdb.camel@alice.it> References: <0a46ea9907dec1c0c734be3eecd0d487f202dcdb.camel@alice.it> Message-ID: > On 1 Jan 2020, at 09:47, walter steffe wrote: > > Hello, > > I tried to configure gmsh 4.5.1 using cmake on ubuntu 18.04. > The configure step is OK with the default cmake options but it fails > after appling the following changes: > ENABLE_BUILD_LIB = ON > ENABLE_FLTK = OFF > > Then configure fails with following error message: > > fatal: not a git repository (or any parent up to mount point / > Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set) > If git is found on the system (using "find_package(Git)"), our cmake script executes "git log" to get the current commit hash. There seems to be an issue with your git installation, which leads the git log command to fail. You could * set GIT_DISCOVERY_ACROSS_FILESYSTEM=1 in your shell as suggested in the git error message * or run "cmake -DGMSH_RELEASE=1 ...", which will bypass the "git log" check I've also just modified our cmake script so that errors in the "git log" command are now ignored. You can give it a try with latest snapshot. Christophe > Regards > Walter Steff? > > > _______________________________________________ > 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 From walter.steffe at alice.it Thu Jan 2 13:42:36 2020 From: walter.steffe at alice.it (walter steffe) Date: Thu, 02 Jan 2020 13:42:36 +0100 Subject: [Gmsh] Cmake configuration problem with gmsh 4.5.1 In-Reply-To: References: <0a46ea9907dec1c0c734be3eecd0d487f202dcdb.camel@alice.it> Message-ID: <7411146f282e5840cf47846f30eec183bfa7afde.camel@alice.it> Thanks. Walter On Wed, 2020-01-01 at 20:50 +0100, Christophe Geuzaine wrote: > > On 1 Jan 2020, at 09:47, walter steffe wrote: > > > > Hello, > > > > I tried to configure gmsh 4.5.1 using cmake on ubuntu 18.04. > > The configure step is OK with the default cmake options but it fails > > after appling the following changes: > > ENABLE_BUILD_LIB = ON > > ENABLE_FLTK = OFF > > > > Then configure fails with following error message: > > > > fatal: not a git repository (or any parent up to mount point / > > Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set) > > > > If git is found on the system (using "find_package(Git)"), our cmake script executes "git log" to get the current commit hash. > > There seems to be an issue with your git installation, which leads the git log command to fail. You could > > * set GIT_DISCOVERY_ACROSS_FILESYSTEM=1 in your shell as suggested in the git error message > > * or run "cmake -DGMSH_RELEASE=1 ...", which will bypass the "git log" check > > I've also just modified our cmake script so that errors in the "git log" command are now ignored. You can give it a try with latest snapshot. > > Christophe > > > > > Regards > > Walter Steff? > > > > > > _______________________________________________ > > 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 > > > From mau.rohracker at fau.de Fri Jan 3 14:52:20 2020 From: mau.rohracker at fau.de (Rohracker, Maurice) Date: Fri, 03 Jan 2020 14:52:20 +0100 Subject: [Gmsh] Meshing constraint in interphase section of RVEs Message-ID: <39b62aee29ae31a76d87bdbd881a6aaa@fau.de> Dear GMSH mail list members, for a HiWi project at the University Erlangen-N?rnberg, I use GMSH for meshing representing volume elements (RVEs) with interphase sections. For these interphase sections, we want at least 4 elements between the particles and the interphase. For some elements, we get the right results because of small mesh size. But for others not. Is there any possibility to get the right results without decreasing the mesh size of the circles? I also tried to put an additional point between interphase and particle to specify here a kind of helping mesh size. Is there also a possibility to have inside the circular elements larger mesh sizes, so that the mesh isn't that fine at all at the centre of each inclusion? (e.g. by specifying a larger mesh size at the centre?) You find attached the current generated mesh. Thank you very much in advance. Best regards, Maurice Rohracker Master Student Computational Engineering FAU Erlangen-N?rnberg -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: input_Mesh.msh URL: From Guillaume.DILASSER at cea.fr Fri Jan 3 15:46:54 2020 From: Guillaume.DILASSER at cea.fr (DILASSER Guillaume) Date: Fri, 3 Jan 2020 14:46:54 +0000 Subject: [Gmsh] Meshing constraint in interphase section of RVEs In-Reply-To: <39b62aee29ae31a76d87bdbd881a6aaa@fau.de> References: <39b62aee29ae31a76d87bdbd881a6aaa@fau.de> Message-ID: Dear Mr. Rohracker, If I understand correctly your issue, you want to generate meshes of disks with at least 4 elements along the radial direction, from the center to the edge of the disks. There are two ways you could use to control the mesh size inside the disk and enforce your constraint: 1. The easiest method is to use a Point { id } In Surface { id } ; statement (explained here in the documentation). You can use this statement to insert the center point of the circle inside the mesh of the disk. If you set different mesh size for the center point and for the points on the disk edge, then you will have a radial gradient in mesh element sizes. 2. If you want to have more control on the distribution of the mesh size, you might want to use fields (explained here in the documentation). Fields are more tricky to setup but I am more certain that they can help you to have always exactly 4 elements along the disk radius. Have a look at Gmsh tutorial n?10 for an example on how to setup fields. Let me know if this helped or if you have other questions. Sincerely Yours, Guillaume Dilasser -----Message d'origine----- De : gmsh De la part de Rohracker, Maurice Envoy? : vendredi 3 janvier 2020 14:52 ? : gmsh at onelab.info Objet : [Gmsh] Meshing constraint in interphase section of RVEs Dear GMSH mail list members, for a HiWi project at the University Erlangen-N?rnberg, I use GMSH for meshing representing volume elements (RVEs) with interphase sections. For these interphase sections, we want at least 4 elements between the particles and the interphase. For some elements, we get the right results because of small mesh size. But for others not. Is there any possibility to get the right results without decreasing the mesh size of the circles? I also tried to put an additional point between interphase and particle to specify here a kind of helping mesh size. Is there also a possibility to have inside the circular elements larger mesh sizes, so that the mesh isn't that fine at all at the centre of each inclusion? (e.g. by specifying a larger mesh size at the centre?) You find attached the current generated mesh. Thank you very much in advance. Best regards, Maurice Rohracker Master Student Computational Engineering FAU Erlangen-N?rnberg -------------- next part -------------- An HTML attachment was scrubbed... URL: From deepamahm.iisc at gmail.com Sat Jan 4 15:56:38 2020 From: deepamahm.iisc at gmail.com (Deepa) Date: Sat, 4 Jan 2020 20:26:38 +0530 Subject: [Gmsh] Creating 3D geometry Message-ID: Hello Everyone, I want to generate a 3D geometry of the below image. [image: ske1.png] I could generate a centerline image using image processing tools in Mathematica. [image: centerline1.png] However, I'm not sure how to make use of this centerline image to create a 3D geometry. Any suggestions on how to create the 3D geometry from the above images in gmsh will be really helpful. Thanks a lot, Deepa -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ske1.png Type: image/png Size: 1652 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: centerline1.png Type: image/png Size: 1274 bytes Desc: not available URL: From morok at mevex.com Sat Jan 4 19:33:21 2020 From: morok at mevex.com (Max Orok) Date: Sat, 4 Jan 2020 13:33:21 -0500 Subject: [Gmsh] Creating 3D geometry In-Reply-To: References: Message-ID: Hi Deepa, What sort of 3D geometry are you trying to get? Are those tubes or some sort of tunnel cutout of a solid? This looks pretty cool :) Max On Sat, Jan 4, 2020 at 10:47 AM Deepa wrote: > Hello Everyone, > > I want to generate a 3D geometry of the below image. > > [image: ske1.png] > > I could generate a centerline image using image processing tools in > Mathematica. > [image: centerline1.png] > > However, I'm not sure how to make use of this centerline image to create a > 3D geometry. > Any suggestions on how to create the 3D geometry from the above images in > gmsh will be really helpful. > > Thanks a lot, > Deepa > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ske1.png Type: image/png Size: 1652 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: centerline1.png Type: image/png Size: 1274 bytes Desc: not available URL: From morok at mevex.com Wed Jan 8 00:21:51 2020 From: morok at mevex.com (Max Orok) Date: Tue, 7 Jan 2020 18:21:51 -0500 Subject: [Gmsh] Creating 3D geometry In-Reply-To: References: Message-ID: Hi Deepa, This is sort of a half-baked idea, but if you could get the positions of a bunch of center points, maybe you could add lines between them and use that as a sort of extrude profile for whatever shape you want to use. You can base a mesh off of a picture's colour, so maybe that's a good way to get some centerline points. There is a picture example here that might be helpful http://geuz.org/photos/cg/cg.geo Sincerely, Max On Mon, Jan 6, 2020 at 1:06 AM Deepa wrote: > Hi Max, > Thanks a lot for the response. I'd like to create tubes. However, I am not > sure how this can be done. > > Deepa > > On Sun, Jan 5, 2020 at 12:03 AM Max Orok wrote: > >> Hi Deepa, >> >> What sort of 3D geometry are you trying to get? Are those tubes or some >> sort of tunnel cutout of a solid? >> This looks pretty cool :) >> >> Max >> >> >> On Sat, Jan 4, 2020 at 10:47 AM Deepa wrote: >> >>> Hello Everyone, >>> >>> I want to generate a 3D geometry of the below image. >>> >>> [image: ske1.png] >>> >>> I could generate a centerline image using image processing tools in >>> Mathematica. >>> [image: centerline1.png] >>> >>> However, I'm not sure how to make use of this centerline image to create >>> a 3D geometry. >>> Any suggestions on how to create the 3D geometry from the above images >>> in gmsh will be really helpful. >>> >>> Thanks a lot, >>> Deepa >>> _______________________________________________ >>> gmsh mailing list >>> gmsh at onelab.info >>> http://onelab.info/mailman/listinfo/gmsh >>> >> >> >> -- >> Max Orok >> Contractor >> www.mevex.com >> >> >> -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ske1.png Type: image/png Size: 1652 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: centerline1.png Type: image/png Size: 1274 bytes Desc: not available URL: From pollyana.rosa at techcon.eng.br Wed Jan 8 14:46:30 2020 From: pollyana.rosa at techcon.eng.br (Pollyana Rosa) Date: Wed, 8 Jan 2020 10:46:30 -0300 Subject: [Gmsh] Structured mesh for a 5-vertices polygon Message-ID: Hi everyone, I want to generate a structured mesh for a 5 vertices polygon as the attached picture. [image: image.png] I used the code below to specify the points, lines and generate the surface, but I need a structured mesh. I know that I can reach this dividing the polygon in two polygons with 4 vertices each. However, I'm looking for other solutions. SetFactory("OpenCASCADE"); //+ Point(1) = {0, 0, 0, 1.0}; //+ Point(2) = {0, 200, 0, 1.0}; //+ Point(3) = {100, 200, 0, 1.0}; //+ Point(4) = {100, 100, 0, 1.0}; //+ Point(5) = {50, 0, 0, 1.0}; Point(6) = {100, 0, 0, 1.0}; Line(1) = {1, 2}; //+ Line(2) = {2, 3}; //+ Line(3) = {3, 4}; //+ Line(4) = {4, 5}; //+ Line(5) = {5, 1}; //+ //+ Transfinite Curve {1, 2} =5; Transfinite Curve {3 : 5} = 3; //+ Curve Loop(1) = {1, 2, 3, 4, 5}; //+ Surface(1) = {1}; //+ Transfinite Surface {1} = {1,2,3,6}; //+ Recombine Surface {1}; Thanks, Pollyana. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 16748 bytes Desc: not available URL: From cgeuzaine at uliege.be Wed Jan 8 15:59:07 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 8 Jan 2020 15:59:07 +0100 Subject: [Gmsh] Structured mesh for a 5-vertices polygon In-Reply-To: References: Message-ID: <3A95D254-47F8-4EFF-ACBF-D82B45366F0B@uliege.be> > On 8 Jan 2020, at 14:46, Pollyana Rosa wrote: > > Hi everyone, > > I want to generate a structured mesh for a 5 vertices polygon as the attached picture. > > > > I used the code below to specify the points, lines and generate the surface, but I need a structured mesh. > I know that I can reach this dividing the polygon in two polygons with 4 vertices each. However, I'm looking for other solutions. You can specify the corners of the transfinite surface by hand: SetFactory("OpenCASCADE"); Point(1) = {0, 0, 0, 1.0}; Point(2) = {0, 200, 0, 1.0}; Point(3) = {100, 200, 0, 1.0}; Point(4) = {100, 100, 0, 1.0}; Point(5) = {50, 0, 0, 1.0}; Point(6) = {100, 0, 0, 1.0}; Line(1) = {1, 2}; Line(2) = {2, 3}; Line(3) = {3, 4}; Line(4) = {4, 5}; Line(5) = {5, 1}; N1 = 10; // horizontal N2 = 20; // vertical - should be even Transfinite Curve {2, 5} = N1; Transfinite Curve {1} = N2 - 1; Transfinite Curve {3,4} = N2 / 2; Curve Loop(1) = {1, 2, 3, 4, 5}; Surface(1) = {1}; Transfinite Surface {1} = {1, 5, 3, 2}; Recombine Surface {1}; // to smooth the resulting mesh: Smoother Surface {1} = 100; Christophe > > > SetFactory("OpenCASCADE"); > //+ > Point(1) = {0, 0, 0, 1.0}; > //+ > Point(2) = {0, 200, 0, 1.0}; > //+ > Point(3) = {100, 200, 0, 1.0}; > //+ > Point(4) = {100, 100, 0, 1.0}; > //+ > Point(5) = {50, 0, 0, 1.0}; > > Point(6) = {100, 0, 0, 1.0}; > > > Line(1) = {1, 2}; > //+ > Line(2) = {2, 3}; > //+ > Line(3) = {3, 4}; > //+ > > Line(4) = {4, 5}; > //+ > Line(5) = {5, 1}; > > //+ > > //+ > Transfinite Curve {1, 2} =5; > Transfinite Curve {3 : 5} = 3; > > //+ > Curve Loop(1) = {1, 2, 3, 4, 5}; > //+ > Surface(1) = {1}; > //+ > Transfinite Surface {1} = {1,2,3,6}; > //+ > Recombine Surface {1}; > > Thanks, > > Pollyana. > > _______________________________________________ > 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 From YH980427 at outlook.com Thu Jan 9 13:25:28 2020 From: YH980427 at outlook.com (=?gb2312?B?usYg0e4=?=) Date: Thu, 9 Jan 2020 12:25:28 +0000 Subject: [Gmsh] terrain meshing with an stl file Message-ID: Hello?I am a junior student ,learning Gmsh recently. I browsed your blog on the Internet ,hoping to know how to import a terrain file to gmsh. I am looking forward your reply. ??? Windows 10 ????? -------------- next part -------------- An HTML attachment was scrubbed... URL: From Guillaume.DILASSER at cea.fr Thu Jan 9 14:17:58 2020 From: Guillaume.DILASSER at cea.fr (DILASSER Guillaume) Date: Thu, 9 Jan 2020 13:17:58 +0000 Subject: [Gmsh] terrain meshing with an stl file In-Reply-To: References: Message-ID: Hello, The topic of mesh generation based on terrain data has been discussed several time in the Gmsh mailing list. I would suggest you to explore the mailing list archive here. A search for the ?terrain? keyword for example returns these results. Sincerely yours, Guillaume Dilasser De : gmsh De la part de ? ? Envoy? : jeudi 9 janvier 2020 13:25 ? : gmsh at onelab.info Objet : Re: [Gmsh] terrain meshing with an stl file Hello?I am a junior student ,learning Gmsh recently. I browsed your blog on the Internet ,hoping to know how to import a terrain file to gmsh. I am looking forward your reply. ??? Windows 10 ????? -------------- next part -------------- An HTML attachment was scrubbed... URL: From morok at mevex.com Sat Jan 11 22:26:24 2020 From: morok at mevex.com (Max Orok) Date: Sat, 11 Jan 2020 16:26:24 -0500 Subject: [Gmsh] Transforming mesh Message-ID: Hi everyone, Is there a way to transform a mesh and obtain another mesh file based on that transformation? The Manipulation window is perfect, but I'd like to be able to save the transformed mesh. Thank you, Max -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeremy at seamplex.com Sun Jan 12 13:41:39 2020 From: jeremy at seamplex.com (jeremy theler) Date: Sun, 12 Jan 2020 09:41:39 -0300 Subject: [Gmsh] Transforming mesh In-Reply-To: References: Message-ID: For linear transformations (and non-linear too if you are flexible enough) you could write a python script to read all the nodes coordinates, transform them algebraically and then write them back into a .msh file. -- jeremy theler www.seamplex.com On Sat, Jan 11, 2020, 22:49 Max Orok wrote: > Hi everyone, > > Is there a way to transform a mesh and obtain another mesh file based on > that transformation? > > The Manipulation window is perfect, but I'd like to be able to save the > transformed mesh. > > Thank you, > Max > -- > Max Orok > Contractor > www.mevex.com > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From morok at mevex.com Mon Jan 13 19:15:55 2020 From: morok at mevex.com (Max Orok) Date: Mon, 13 Jan 2020 13:15:55 -0500 Subject: [Gmsh] Transforming mesh In-Reply-To: References: Message-ID: Hi Jeremy, thanks for your response. This is kind of what I've got going right now with the attached scripts: I'd like to be able to do this in the GUI, just because the adjustment is a little touchy. Maybe an extension could be to combine these into a ONELAB client and try it that way. I also considered adding a plugin but perhaps the ONELAB route is fastest. Max -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: scale.py Type: text/x-python Size: 809 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: shift.py Type: text/x-python Size: 476 bytes Desc: not available URL: From cgeuzaine at uliege.be Mon Jan 13 19:44:53 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 13 Jan 2020 19:44:53 +0100 Subject: [Gmsh] Transforming mesh In-Reply-To: References: Message-ID: > On 13 Jan 2020, at 19:15, Max Orok wrote: > > Hi Jeremy, thanks for your response. > This is kind of what I've got going right now with the attached scripts: > > I'd like to be able to do this in the GUI, just because the adjustment is a little touchy. > Maybe an extension could be to combine these into a ONELAB client and try it that way. > I also considered adding a plugin but perhaps the ONELAB route is fastest. > You can directly change the mesh and run the GUI in the script: -------------- next part -------------- A non-text attachment was scrubbed... Name: shift2.py Type: text/x-python-script Size: 512 bytes Desc: not available URL: -------------- next part -------------- Christophe > Max > _______________________________________________ > 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 From morok at mevex.com Mon Jan 13 23:23:48 2020 From: morok at mevex.com (Max Orok) Date: Mon, 13 Jan 2020 17:23:48 -0500 Subject: [Gmsh] Transforming mesh In-Reply-To: References: Message-ID: Thank you Christophe, I was scared off a bit from setNodes by the doc [image: image.png] and went looking for some sort of "block assign" for large meshes and skipped the step where I tried using setNodes directly. Thanks guys, Max On Mon, Jan 13, 2020 at 1:44 PM Christophe Geuzaine wrote: > > > > On 13 Jan 2020, at 19:15, Max Orok wrote: > > > > Hi Jeremy, thanks for your response. > > This is kind of what I've got going right now with the attached scripts: > > > > I'd like to be able to do this in the GUI, just because the adjustment > is a little touchy. > > Maybe an extension could be to combine these into a ONELAB client and > try it that way. > > I also considered adding a plugin but perhaps the ONELAB route is > fastest. > > > > You can directly change the mesh and run the GUI in the script: > > > > Christophe > > > Max > > _______________________________________________ > > 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 > > > > -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 34278 bytes Desc: not available URL: From cgeuzaine at uliege.be Tue Jan 14 07:53:24 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 14 Jan 2020 07:53:24 +0100 Subject: [Gmsh] Transforming mesh In-Reply-To: References: Message-ID: > On 13 Jan 2020, at 23:23, Max Orok wrote: > > Thank you Christophe, I was scared off a bit from setNodes by the doc > > > > and went looking for some sort of "block assign" for large meshes and skipped the step where I tried using setNodes directly. > Indeed I was maybe a bit extreme in the warning :-) I'll change this. > Thanks guys, > Max > > On Mon, Jan 13, 2020 at 1:44 PM Christophe Geuzaine wrote: > > > > On 13 Jan 2020, at 19:15, Max Orok wrote: > > > > Hi Jeremy, thanks for your response. > > This is kind of what I've got going right now with the attached scripts: > > > > I'd like to be able to do this in the GUI, just because the adjustment is a little touchy. > > Maybe an extension could be to combine these into a ONELAB client and try it that way. > > I also considered adding a plugin but perhaps the ONELAB route is fastest. > > > > You can directly change the mesh and run the GUI in the script: > > > > Christophe > > > Max > > _______________________________________________ > > 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 > > > > > > -- > Max Orok > Contractor > www.mevex.com > > ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine From triimaran at gmail.com Tue Jan 14 17:57:20 2020 From: triimaran at gmail.com (triimaran) Date: Tue, 14 Jan 2020 17:57:20 +0100 Subject: [Gmsh] Line / edge / curve direction - how to change it to use Progression properly (transfinite curve) Message-ID: Hello everyone, is there any way to change all selected lines/curves to have the same direction? I want to make a structured mesh for a simple room with a rectangular heater inside and rectangular inlet and outlet on different walls. All geometry lines I have are either parallel or perpendicular. All I need is to choose some parallel lines in one view and set the progression so that the mesh will be finer near a wall. Unfortunately lines from both imported or created geometries tend to have quite random directions. I know that I can change in geo file particular lines in Transfinite Curve function by writing minuses ("-") before chosen curves (e.g. Transfinite Curve {1, -3, -4, 6}), but this solution is ok just for geometries with not too many lines. It is even more troublesome and unreasonably time consuming when imported geometries have a lot (usualy x4) duplicated lines. And here comes my second, minor problem: Coherence function does nothing in this case. When I import STEP file there is even no way to delete any part of the geometry. When importing IGES the Delete option works, but lines are also duplicated and to delete them I would have to delete first all volumes and surfaces, then create them again, which is also too time consuming for a bit more complex geometries. Although, I guess, if all chosen lines could have direction changed as mentioned above, then duplicated lines should not be a problem, because I could use "Coherence Mesh" at the end of meshing (which seems to work properly). Edit: when trying it now Delete function does not work also for the .iges imported geometry. I have no idea what has changed. Please find attached geometries (I used only .step and .iges because exporting to .brep was always filling it with a lot of triangles). These geometries are just for an example (made in Fusion 360, I was trying hard to use FreeCAD but failed to use slicing functions to make it possible to export). In the .geo file I used the Transfinite Curve for one set of lines to make the problem more clear (mesh 1 and then 2D). In the attached pictures there is how my final geometries will look like (made in Gambit - I am trying not to use it further also because of the same problem: no way to change the lines' directions and after one meshing they all become random, so to change something I would have to delete everything and start all over). This is my first time writing here so please forgive me in case some of these problems are obvious to solve. Best regards J. [image: view_gambit2.png] [image: view_gambit1.png] -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: view_gambit1.png Type: image/png Size: 15741 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: view_gambit2.png Type: image/png Size: 442487 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: example_structured.iges Type: application/octet-stream Size: 224762 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: example_structured.step Type: application/octet-stream Size: 111189 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: example_structured.geo Type: application/octet-stream Size: 295 bytes Desc: not available URL: From florentsailing at gmail.com Thu Jan 16 11:03:47 2020 From: florentsailing at gmail.com (Guillaume Florent) Date: Thu, 16 Jan 2020 11:03:47 +0100 Subject: [Gmsh] Hextreme into Gmsh Message-ID: <09ee1657-a911-e1de-2e92-6216eae41617@gmail.com> Hello, The developments at hextreme.eu (especially the automated multiblock decomposition) seem extremely interesting and powerful and it is stated that they will be integrated into Gmsh 'soon'. Does anyone have a rough idea of when they will be available for testing? How can one help? All the best, Guillaume Florent From florentsailing at gmail.com Thu Jan 16 10:59:56 2020 From: florentsailing at gmail.com (Guillaume Florent) Date: Thu, 16 Jan 2020 10:59:56 +0100 Subject: [Gmsh] Structured surface meshes and export to XYZ or structured CGNS Message-ID: Hello, This is my first message on the mailing list, so please apologize any wandering off the Gmsh community culture ... I want to create a structured/block-structured (obviously quads) surface mesh and export it to either Plot3D XYZ format or to CGNS structured format to use it as an input for another hyperbolic mesher. Starting with a simple cube, I realized that: - I could not find an exporter to Plot3D XYZ format (I yet have to see if the P3D export format can be converted to XYZ) - even for a simple transfinite surface mesh on a cube face, I get an unstructured CGNS mesh when exported ('Unstructured' is in plain text in the exported file and the hyperbolic mesher complains about that since it expects a structured mesh). Am I missing something or hitting a Gmsh limit? Best regards, Guillaume Florent (Yacht Design + Engineering) From morok at mevex.com Thu Jan 16 22:49:10 2020 From: morok at mevex.com (Max Orok) Date: Thu, 16 Jan 2020 16:49:10 -0500 Subject: [Gmsh] Transforming mesh In-Reply-To: References: Message-ID: I got a rough gui version working with scaling and translation. It takes a copy of the input "Mesh file", transforms it and saves it as "transformed.msh". It works nicely if you merge the "base" mesh file first and then start playing around with the transformed version. Here is a copy if anyone would like to try it: [image: image.png] On Tue, Jan 14, 2020 at 1:53 AM Christophe Geuzaine wrote: > > > > On 13 Jan 2020, at 23:23, Max Orok wrote: > > > > Thank you Christophe, I was scared off a bit from setNodes by the doc > > > > > > > > and went looking for some sort of "block assign" for large meshes and > skipped the step where I tried using setNodes directly. > > > > Indeed I was maybe a bit extreme in the warning :-) I'll change this. > > > Thanks guys, > > Max > > > > On Mon, Jan 13, 2020 at 1:44 PM Christophe Geuzaine > wrote: > > > > > > > On 13 Jan 2020, at 19:15, Max Orok wrote: > > > > > > Hi Jeremy, thanks for your response. > > > This is kind of what I've got going right now with the attached > scripts: > > > > > > I'd like to be able to do this in the GUI, just because the adjustment > is a little touchy. > > > Maybe an extension could be to combine these into a ONELAB client and > try it that way. > > > I also considered adding a plugin but perhaps the ONELAB route is > fastest. > > > > > > > You can directly change the mesh and run the GUI in the script: > > > > > > > > Christophe > > > > > Max > > > _______________________________________________ > > > 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 > > > > > > > > > > > > -- > > Max Orok > > Contractor > > www.mevex.com > > > > > > ? > Prof. Christophe Geuzaine > University of Liege, Electrical Engineering and Computer Science > http://www.montefiore.ulg.ac.be/~geuzaine > > > > -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 80072 bytes Desc: not available URL: -------------- next part -------------- # transform a mesh interactively # -- requires Gmsh 4.5 for setNode function # -- Max Orok, January 2020 import onelab import gmsh c = onelab.client(__file__) x_shift = c.defineNumber('Shift/x', value=0.0) y_shift = c.defineNumber('Shift/y', value=0.0) z_shift = c.defineNumber('Shift/z', value=0.0) x_scale = c.defineNumber('Scale/x', value=1.0) y_scale = c.defineNumber('Scale/y', value=1.0) z_scale = c.defineNumber('Scale/z', value=1.0) fname = c.defineString('Mesh file', kind='file') gmsh.initialize() gmsh.open(fname) # # find bounding box of whole model # (xmin, ymin, zmin, xmax, ymax, zmax) = gmsh.model.getBoundingBox(-1, -1) # # xc = (xmax + xmin) / 2 # yc = (ymax + ymin) / 2 # zc = (zmax + zmin) / 2 (nodes, coords, _) = gmsh.model.mesh.getNodes() # scale doesn't really work nicely unless the model's centered for i, tag in enumerate(nodes): gmsh.model.mesh.setNode(tag, [x_scale * coords[3*i] + x_shift, y_scale * coords[3*i+1] + y_shift, z_scale * coords[3*i+2] + z_shift], []) gmsh.write("transformed.msh") gmsh.finalize() c.mergeFile(c.checkPath("transformed.msh")) From alessandro.vicini at sitael.com Fri Jan 17 09:55:08 2020 From: alessandro.vicini at sitael.com (Vicini Alessandro) Date: Fri, 17 Jan 2020 08:55:08 +0000 Subject: [Gmsh] Problem with 4.5.1 Message-ID: Hello, just downloaded v.4.5.1 (win64), but I get errors when reading files which are ok with 4.4.1. It seems that tag numbering is different. I attach one file which gives these errors (main.geo, with 2 files which are merged into it). Is there some way to have 4.5.1 ?compatible? with older geo files? Thank you. Alessandro -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Main.geo Type: application/octet-stream Size: 11514 bytes Desc: Main.geo URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: merge_1.geo Type: application/octet-stream Size: 6342 bytes Desc: merge_1.geo URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: merge_2.geo Type: application/octet-stream Size: 1076 bytes Desc: merge_2.geo URL: From jeremy at seamplex.com Fri Jan 17 23:27:41 2020 From: jeremy at seamplex.com (Jeremy Theler) Date: Fri, 17 Jan 2020 19:27:41 -0300 Subject: [Gmsh] Structured triangular grid Message-ID: Hi all! I have a dumb question... I got a mesh from Nastran which I managed to convert to Gmsh v2.2 (nastran.msh) that looks like nastran.svg I want to create the very same mesh natively in Gmsh, so I tried to create fino-nastran.geo which gives fino-nastran.msh that looks like fino-nastran.svg How can I get the original one natively in Gmsh? Regards -- jeremy theler www.seamplex.com -------------- next part -------------- $MeshFormat 2.2 0 8 $EndMeshFormat $Nodes 1701 1 0.0 0.0 0.0 2 0.0 2.5e-05 0.0 3 0.0 5e-05 0.0 4 0.0 7.5e-05 0.0 5 0.0 0.0001 0.0 6 0.0 0.000125 0.0 7 0.0 0.00015 0.0 8 0.0 0.000175 0.0 9 0.0 0.0002 0.0 10 0.0 0.000225 0.0 11 0.0 0.00025 0.0 12 0.0 0.000275 0.0 13 0.0 0.0003 0.0 14 0.0 0.000325 0.0 15 0.0 0.00035 0.0 16 0.0 0.000375 0.0 17 0.0 0.0004 0.0 18 0.0 0.000425 0.0 19 0.0 0.00045 0.0 20 0.0 0.000475 0.0 21 0.0 0.0005 0.0 22 0.0 0.000525 0.0 23 0.0 0.00055 0.0 24 0.0 0.000575 0.0 25 0.0 0.0006 0.0 26 0.0 0.000625 0.0 27 0.0 0.00065 0.0 28 0.0 0.000675 0.0 29 0.0 0.0007 0.0 30 0.0 0.000725 0.0 31 0.0 0.00075 0.0 32 0.0 0.000775 0.0 33 0.0 0.0008 0.0 34 0.0 0.000825 0.0 35 0.0 0.00085 0.0 36 0.0 0.000875 0.0 37 0.0 0.0009 0.0 38 0.0 0.000925 0.0 39 0.0 0.00095 0.0 40 0.0 0.000975 0.0 41 0.0 0.001 0.0 42 0.0 0.001025 0.0 43 0.0 0.00105 0.0 44 0.0 0.001075 0.0 45 0.0 0.0011 0.0 46 0.0 0.001125 0.0 47 0.0 0.00115 0.0 48 0.0 0.001175 0.0 49 0.0 0.0012 0.0 50 0.0 0.001225 0.0 51 0.0 0.00125 0.0 52 0.0 0.001275 0.0 53 0.0 0.0013 0.0 54 0.0 0.001325 0.0 55 0.0 0.00135 0.0 56 0.0 0.001375 0.0 57 0.0 0.0014 0.0 58 0.0 0.001425 0.0 59 0.0 0.00145 0.0 60 0.0 0.001475 0.0 61 0.0 0.0015 0.0 62 0.0 0.001525 0.0 63 0.0 0.00155 0.0 64 0.0 0.001575 0.0 65 0.0 0.0016 0.0 66 0.0 0.001625 0.0 67 0.0 0.00165 0.0 68 0.0 0.001675 0.0 69 0.0 0.0017 0.0 70 0.0 0.001725 0.0 71 0.0 0.00175 0.0 72 0.0 0.001775 0.0 73 0.0 0.0018 0.0 74 0.0 0.001825 0.0 75 0.0 0.00185 0.0 76 0.0 0.001875 0.0 77 0.0 0.0019 0.0 78 0.0 0.001925 0.0 79 0.0 0.00195 0.0 80 0.0 0.001975 0.0 81 0.0 0.002 0.0 82 2.5e-05 0.0 0.0 83 2.5e-05 2.5e-05 0.0 84 2.5e-05 5e-05 0.0 85 2.5e-05 7.5e-05 0.0 86 2.5e-05 0.0001 0.0 87 2.5e-05 0.000125 0.0 88 2.5e-05 0.00015 0.0 89 2.5e-05 0.000175 0.0 90 2.5e-05 0.0002 0.0 91 2.5e-05 0.000225 0.0 92 2.5e-05 0.00025 0.0 93 2.5e-05 0.000275 0.0 94 2.5e-05 0.0003 0.0 95 2.5e-05 0.000325 0.0 96 2.5e-05 0.00035 0.0 97 2.5e-05 0.000375 0.0 98 2.5e-05 0.0004 0.0 99 2.5e-05 0.000425 0.0 100 2.5e-05 0.00045 0.0 101 2.5e-05 0.000475 0.0 102 2.5e-05 0.0005 0.0 103 2.5e-05 0.000525 0.0 104 2.5e-05 0.00055 0.0 105 2.5e-05 0.000575 0.0 106 2.5e-05 0.0006 0.0 107 2.5e-05 0.000625 0.0 108 2.5e-05 0.00065 0.0 109 2.5e-05 0.000675 0.0 110 2.5e-05 0.0007 0.0 111 2.5e-05 0.000725 0.0 112 2.5e-05 0.00075 0.0 113 2.5e-05 0.000775 0.0 114 2.5e-05 0.0008 0.0 115 2.5e-05 0.000825 0.0 116 2.5e-05 0.00085 0.0 117 2.5e-05 0.000875 0.0 118 2.5e-05 0.0009 0.0 119 2.5e-05 0.000925 0.0 120 2.5e-05 0.00095 0.0 121 2.5e-05 0.000975 0.0 122 2.5e-05 0.001 0.0 123 2.5e-05 0.001025 0.0 124 2.5e-05 0.00105 0.0 125 2.5e-05 0.001075 0.0 126 2.5e-05 0.0011 0.0 127 2.5e-05 0.001125 0.0 128 2.5e-05 0.00115 0.0 129 2.5e-05 0.001175 0.0 130 2.5e-05 0.0012 0.0 131 2.5e-05 0.001225 0.0 132 2.5e-05 0.00125 0.0 133 2.5e-05 0.001275 0.0 134 2.5e-05 0.0013 0.0 135 2.5e-05 0.001325 0.0 136 2.5e-05 0.00135 0.0 137 2.5e-05 0.001375 0.0 138 2.5e-05 0.0014 0.0 139 2.5e-05 0.001425 0.0 140 2.5e-05 0.00145 0.0 141 2.5e-05 0.001475 0.0 142 2.5e-05 0.0015 0.0 143 2.5e-05 0.001525 0.0 144 2.5e-05 0.00155 0.0 145 2.5e-05 0.001575 0.0 146 2.5e-05 0.0016 0.0 147 2.5e-05 0.001625 0.0 148 2.5e-05 0.00165 0.0 149 2.5e-05 0.001675 0.0 150 2.5e-05 0.0017 0.0 151 2.5e-05 0.001725 0.0 152 2.5e-05 0.00175 0.0 153 2.5e-05 0.001775 0.0 154 2.5e-05 0.0018 0.0 155 2.5e-05 0.001825 0.0 156 2.5e-05 0.00185 0.0 157 2.5e-05 0.001875 0.0 158 2.5e-05 0.0019 0.0 159 2.5e-05 0.001925 0.0 160 2.5e-05 0.00195 0.0 161 2.5e-05 0.001975 0.0 162 2.5e-05 0.002 0.0 163 5e-05 0.0 0.0 164 5e-05 2.5e-05 0.0 165 5e-05 5e-05 0.0 166 5e-05 7.5e-05 0.0 167 5e-05 0.0001 0.0 168 5e-05 0.000125 0.0 169 5e-05 0.00015 0.0 170 5e-05 0.000175 0.0 171 5e-05 0.0002 0.0 172 5e-05 0.000225 0.0 173 5e-05 0.00025 0.0 174 5e-05 0.000275 0.0 175 5e-05 0.0003 0.0 176 5e-05 0.000325 0.0 177 5e-05 0.00035 0.0 178 5e-05 0.000375 0.0 179 5e-05 0.0004 0.0 180 5e-05 0.000425 0.0 181 5e-05 0.00045 0.0 182 5e-05 0.000475 0.0 183 5e-05 0.0005 0.0 184 5e-05 0.000525 0.0 185 5e-05 0.00055 0.0 186 5e-05 0.000575 0.0 187 5e-05 0.0006 0.0 188 5e-05 0.000625 0.0 189 5e-05 0.00065 0.0 190 5e-05 0.000675 0.0 191 5e-05 0.0007 0.0 192 5e-05 0.000725 0.0 193 5e-05 0.00075 0.0 194 5e-05 0.000775 0.0 195 5e-05 0.0008 0.0 196 5e-05 0.000825 0.0 197 5e-05 0.00085 0.0 198 5e-05 0.000875 0.0 199 5e-05 0.0009 0.0 200 5e-05 0.000925 0.0 201 5e-05 0.00095 0.0 202 5e-05 0.000975 0.0 203 5e-05 0.001 0.0 204 5e-05 0.001025 0.0 205 5e-05 0.00105 0.0 206 5e-05 0.001075 0.0 207 5e-05 0.0011 0.0 208 5e-05 0.001125 0.0 209 5e-05 0.00115 0.0 210 5e-05 0.001175 0.0 211 5e-05 0.0012 0.0 212 5e-05 0.001225 0.0 213 5e-05 0.00125 0.0 214 5e-05 0.001275 0.0 215 5e-05 0.0013 0.0 216 5e-05 0.001325 0.0 217 5e-05 0.00135 0.0 218 5e-05 0.001375 0.0 219 5e-05 0.0014 0.0 220 5e-05 0.001425 0.0 221 5e-05 0.00145 0.0 222 5e-05 0.001475 0.0 223 5e-05 0.0015 0.0 224 5e-05 0.001525 0.0 225 5e-05 0.00155 0.0 226 5e-05 0.001575 0.0 227 5e-05 0.0016 0.0 228 5e-05 0.001625 0.0 229 5e-05 0.00165 0.0 230 5e-05 0.001675 0.0 231 5e-05 0.0017 0.0 232 5e-05 0.001725 0.0 233 5e-05 0.00175 0.0 234 5e-05 0.001775 0.0 235 5e-05 0.0018 0.0 236 5e-05 0.001825 0.0 237 5e-05 0.00185 0.0 238 5e-05 0.001875 0.0 239 5e-05 0.0019 0.0 240 5e-05 0.001925 0.0 241 5e-05 0.00195 0.0 242 5e-05 0.001975 0.0 243 5e-05 0.002 0.0 244 7.5e-05 0.0 0.0 245 7.5e-05 2.5e-05 0.0 246 7.5e-05 5e-05 0.0 247 7.5e-05 7.5e-05 0.0 248 7.5e-05 0.0001 0.0 249 7.5e-05 0.000125 0.0 250 7.5e-05 0.00015 0.0 251 7.5e-05 0.000175 0.0 252 7.5e-05 0.0002 0.0 253 7.5e-05 0.000225 0.0 254 7.5e-05 0.00025 0.0 255 7.5e-05 0.000275 0.0 256 7.5e-05 0.0003 0.0 257 7.5e-05 0.000325 0.0 258 7.5e-05 0.00035 0.0 259 7.5e-05 0.000375 0.0 260 7.5e-05 0.0004 0.0 261 7.5e-05 0.000425 0.0 262 7.5e-05 0.00045 0.0 263 7.5e-05 0.000475 0.0 264 7.5e-05 0.0005 0.0 265 7.5e-05 0.000525 0.0 266 7.5e-05 0.00055 0.0 267 7.5e-05 0.000575 0.0 268 7.5e-05 0.0006 0.0 269 7.5e-05 0.000625 0.0 270 7.5e-05 0.00065 0.0 271 7.5e-05 0.000675 0.0 272 7.5e-05 0.0007 0.0 273 7.5e-05 0.000725 0.0 274 7.5e-05 0.00075 0.0 275 7.5e-05 0.000775 0.0 276 7.5e-05 0.0008 0.0 277 7.5e-05 0.000825 0.0 278 7.5e-05 0.00085 0.0 279 7.5e-05 0.000875 0.0 280 7.5e-05 0.0009 0.0 281 7.5e-05 0.000925 0.0 282 7.5e-05 0.00095 0.0 283 7.5e-05 0.000975 0.0 284 7.5e-05 0.001 0.0 285 7.5e-05 0.001025 0.0 286 7.5e-05 0.00105 0.0 287 7.5e-05 0.001075 0.0 288 7.5e-05 0.0011 0.0 289 7.5e-05 0.001125 0.0 290 7.5e-05 0.00115 0.0 291 7.5e-05 0.001175 0.0 292 7.5e-05 0.0012 0.0 293 7.5e-05 0.001225 0.0 294 7.5e-05 0.00125 0.0 295 7.5e-05 0.001275 0.0 296 7.5e-05 0.0013 0.0 297 7.5e-05 0.001325 0.0 298 7.5e-05 0.00135 0.0 299 7.5e-05 0.001375 0.0 300 7.5e-05 0.0014 0.0 301 7.5e-05 0.001425 0.0 302 7.5e-05 0.00145 0.0 303 7.5e-05 0.001475 0.0 304 7.5e-05 0.0015 0.0 305 7.5e-05 0.001525 0.0 306 7.5e-05 0.00155 0.0 307 7.5e-05 0.001575 0.0 308 7.5e-05 0.0016 0.0 309 7.5e-05 0.001625 0.0 310 7.5e-05 0.00165 0.0 311 7.5e-05 0.001675 0.0 312 7.5e-05 0.0017 0.0 313 7.5e-05 0.001725 0.0 314 7.5e-05 0.00175 0.0 315 7.5e-05 0.001775 0.0 316 7.5e-05 0.0018 0.0 317 7.5e-05 0.001825 0.0 318 7.5e-05 0.00185 0.0 319 7.5e-05 0.001875 0.0 320 7.5e-05 0.0019 0.0 321 7.5e-05 0.001925 0.0 322 7.5e-05 0.00195 0.0 323 7.5e-05 0.001975 0.0 324 7.5e-05 0.002 0.0 325 0.0001 0.0 0.0 326 0.0001 2.5e-05 0.0 327 0.0001 5e-05 0.0 328 0.0001 7.5e-05 0.0 329 0.0001 0.0001 0.0 330 0.0001 0.000125 0.0 331 0.0001 0.00015 0.0 332 0.0001 0.000175 0.0 333 0.0001 0.0002 0.0 334 0.0001 0.000225 0.0 335 0.0001 0.00025 0.0 336 0.0001 0.000275 0.0 337 0.0001 0.0003 0.0 338 0.0001 0.000325 0.0 339 0.0001 0.00035 0.0 340 0.0001 0.000375 0.0 341 0.0001 0.0004 0.0 342 0.0001 0.000425 0.0 343 0.0001 0.00045 0.0 344 0.0001 0.000475 0.0 345 0.0001 0.0005 0.0 346 0.0001 0.000525 0.0 347 0.0001 0.00055 0.0 348 0.0001 0.000575 0.0 349 0.0001 0.0006 0.0 350 0.0001 0.000625 0.0 351 0.0001 0.00065 0.0 352 0.0001 0.000675 0.0 353 0.0001 0.0007 0.0 354 0.0001 0.000725 0.0 355 0.0001 0.00075 0.0 356 0.0001 0.000775 0.0 357 0.0001 0.0008 0.0 358 0.0001 0.000825 0.0 359 0.0001 0.00085 0.0 360 0.0001 0.000875 0.0 361 0.0001 0.0009 0.0 362 0.0001 0.000925 0.0 363 0.0001 0.00095 0.0 364 0.0001 0.000975 0.0 365 0.0001 0.001 0.0 366 0.0001 0.001025 0.0 367 0.0001 0.00105 0.0 368 0.0001 0.001075 0.0 369 0.0001 0.0011 0.0 370 0.0001 0.001125 0.0 371 0.0001 0.00115 0.0 372 0.0001 0.001175 0.0 373 0.0001 0.0012 0.0 374 0.0001 0.001225 0.0 375 0.0001 0.00125 0.0 376 0.0001 0.001275 0.0 377 0.0001 0.0013 0.0 378 0.0001 0.001325 0.0 379 0.0001 0.00135 0.0 380 0.0001 0.001375 0.0 381 0.0001 0.0014 0.0 382 0.0001 0.001425 0.0 383 0.0001 0.00145 0.0 384 0.0001 0.001475 0.0 385 0.0001 0.0015 0.0 386 0.0001 0.001525 0.0 387 0.0001 0.00155 0.0 388 0.0001 0.001575 0.0 389 0.0001 0.0016 0.0 390 0.0001 0.001625 0.0 391 0.0001 0.00165 0.0 392 0.0001 0.001675 0.0 393 0.0001 0.0017 0.0 394 0.0001 0.001725 0.0 395 0.0001 0.00175 0.0 396 0.0001 0.001775 0.0 397 0.0001 0.0018 0.0 398 0.0001 0.001825 0.0 399 0.0001 0.00185 0.0 400 0.0001 0.001875 0.0 401 0.0001 0.0019 0.0 402 0.0001 0.001925 0.0 403 0.0001 0.00195 0.0 404 0.0001 0.001975 0.0 405 0.0001 0.002 0.0 406 0.000125 0.0 0.0 407 0.000125 2.5e-05 0.0 408 0.000125 5e-05 0.0 409 0.000125 7.5e-05 0.0 410 0.000125 0.0001 0.0 411 0.000125 0.000125 0.0 412 0.000125 0.00015 0.0 413 0.000125 0.000175 0.0 414 0.000125 0.0002 0.0 415 0.000125 0.000225 0.0 416 0.000125 0.00025 0.0 417 0.000125 0.000275 0.0 418 0.000125 0.0003 0.0 419 0.000125 0.000325 0.0 420 0.000125 0.00035 0.0 421 0.000125 0.000375 0.0 422 0.000125 0.0004 0.0 423 0.000125 0.000425 0.0 424 0.000125 0.00045 0.0 425 0.000125 0.000475 0.0 426 0.000125 0.0005 0.0 427 0.000125 0.000525 0.0 428 0.000125 0.00055 0.0 429 0.000125 0.000575 0.0 430 0.000125 0.0006 0.0 431 0.000125 0.000625 0.0 432 0.000125 0.00065 0.0 433 0.000125 0.000675 0.0 434 0.000125 0.0007 0.0 435 0.000125 0.000725 0.0 436 0.000125 0.00075 0.0 437 0.000125 0.000775 0.0 438 0.000125 0.0008 0.0 439 0.000125 0.000825 0.0 440 0.000125 0.00085 0.0 441 0.000125 0.000875 0.0 442 0.000125 0.0009 0.0 443 0.000125 0.000925 0.0 444 0.000125 0.00095 0.0 445 0.000125 0.000975 0.0 446 0.000125 0.001 0.0 447 0.000125 0.001025 0.0 448 0.000125 0.00105 0.0 449 0.000125 0.001075 0.0 450 0.000125 0.0011 0.0 451 0.000125 0.001125 0.0 452 0.000125 0.00115 0.0 453 0.000125 0.001175 0.0 454 0.000125 0.0012 0.0 455 0.000125 0.001225 0.0 456 0.000125 0.00125 0.0 457 0.000125 0.001275 0.0 458 0.000125 0.0013 0.0 459 0.000125 0.001325 0.0 460 0.000125 0.00135 0.0 461 0.000125 0.001375 0.0 462 0.000125 0.0014 0.0 463 0.000125 0.001425 0.0 464 0.000125 0.00145 0.0 465 0.000125 0.001475 0.0 466 0.000125 0.0015 0.0 467 0.000125 0.001525 0.0 468 0.000125 0.00155 0.0 469 0.000125 0.001575 0.0 470 0.000125 0.0016 0.0 471 0.000125 0.001625 0.0 472 0.000125 0.00165 0.0 473 0.000125 0.001675 0.0 474 0.000125 0.0017 0.0 475 0.000125 0.001725 0.0 476 0.000125 0.00175 0.0 477 0.000125 0.001775 0.0 478 0.000125 0.0018 0.0 479 0.000125 0.001825 0.0 480 0.000125 0.00185 0.0 481 0.000125 0.001875 0.0 482 0.000125 0.0019 0.0 483 0.000125 0.001925 0.0 484 0.000125 0.00195 0.0 485 0.000125 0.001975 0.0 486 0.000125 0.002 0.0 487 0.00015 0.0 0.0 488 0.00015 2.5e-05 0.0 489 0.00015 5e-05 0.0 490 0.00015 7.5e-05 0.0 491 0.00015 0.0001 0.0 492 0.00015 0.000125 0.0 493 0.00015 0.00015 0.0 494 0.00015 0.000175 0.0 495 0.00015 0.0002 0.0 496 0.00015 0.000225 0.0 497 0.00015 0.00025 0.0 498 0.00015 0.000275 0.0 499 0.00015 0.0003 0.0 500 0.00015 0.000325 0.0 501 0.00015 0.00035 0.0 502 0.00015 0.000375 0.0 503 0.00015 0.0004 0.0 504 0.00015 0.000425 0.0 505 0.00015 0.00045 0.0 506 0.00015 0.000475 0.0 507 0.00015 0.0005 0.0 508 0.00015 0.000525 0.0 509 0.00015 0.00055 0.0 510 0.00015 0.000575 0.0 511 0.00015 0.0006 0.0 512 0.00015 0.000625 0.0 513 0.00015 0.00065 0.0 514 0.00015 0.000675 0.0 515 0.00015 0.0007 0.0 516 0.00015 0.000725 0.0 517 0.00015 0.00075 0.0 518 0.00015 0.000775 0.0 519 0.00015 0.0008 0.0 520 0.00015 0.000825 0.0 521 0.00015 0.00085 0.0 522 0.00015 0.000875 0.0 523 0.00015 0.0009 0.0 524 0.00015 0.000925 0.0 525 0.00015 0.00095 0.0 526 0.00015 0.000975 0.0 527 0.00015 0.001 0.0 528 0.00015 0.001025 0.0 529 0.00015 0.00105 0.0 530 0.00015 0.001075 0.0 531 0.00015 0.0011 0.0 532 0.00015 0.001125 0.0 533 0.00015 0.00115 0.0 534 0.00015 0.001175 0.0 535 0.00015 0.0012 0.0 536 0.00015 0.001225 0.0 537 0.00015 0.00125 0.0 538 0.00015 0.001275 0.0 539 0.00015 0.0013 0.0 540 0.00015 0.001325 0.0 541 0.00015 0.00135 0.0 542 0.00015 0.001375 0.0 543 0.00015 0.0014 0.0 544 0.00015 0.001425 0.0 545 0.00015 0.00145 0.0 546 0.00015 0.001475 0.0 547 0.00015 0.0015 0.0 548 0.00015 0.001525 0.0 549 0.00015 0.00155 0.0 550 0.00015 0.001575 0.0 551 0.00015 0.0016 0.0 552 0.00015 0.001625 0.0 553 0.00015 0.00165 0.0 554 0.00015 0.001675 0.0 555 0.00015 0.0017 0.0 556 0.00015 0.001725 0.0 557 0.00015 0.00175 0.0 558 0.00015 0.001775 0.0 559 0.00015 0.0018 0.0 560 0.00015 0.001825 0.0 561 0.00015 0.00185 0.0 562 0.00015 0.001875 0.0 563 0.00015 0.0019 0.0 564 0.00015 0.001925 0.0 565 0.00015 0.00195 0.0 566 0.00015 0.001975 0.0 567 0.00015 0.002 0.0 568 0.000175 0.0 0.0 569 0.000175 2.5e-05 0.0 570 0.000175 5e-05 0.0 571 0.000175 7.5e-05 0.0 572 0.000175 0.0001 0.0 573 0.000175 0.000125 0.0 574 0.000175 0.00015 0.0 575 0.000175 0.000175 0.0 576 0.000175 0.0002 0.0 577 0.000175 0.000225 0.0 578 0.000175 0.00025 0.0 579 0.000175 0.000275 0.0 580 0.000175 0.0003 0.0 581 0.000175 0.000325 0.0 582 0.000175 0.00035 0.0 583 0.000175 0.000375 0.0 584 0.000175 0.0004 0.0 585 0.000175 0.000425 0.0 586 0.000175 0.00045 0.0 587 0.000175 0.000475 0.0 588 0.000175 0.0005 0.0 589 0.000175 0.000525 0.0 590 0.000175 0.00055 0.0 591 0.000175 0.000575 0.0 592 0.000175 0.0006 0.0 593 0.000175 0.000625 0.0 594 0.000175 0.00065 0.0 595 0.000175 0.000675 0.0 596 0.000175 0.0007 0.0 597 0.000175 0.000725 0.0 598 0.000175 0.00075 0.0 599 0.000175 0.000775 0.0 600 0.000175 0.0008 0.0 601 0.000175 0.000825 0.0 602 0.000175 0.00085 0.0 603 0.000175 0.000875 0.0 604 0.000175 0.0009 0.0 605 0.000175 0.000925 0.0 606 0.000175 0.00095 0.0 607 0.000175 0.000975 0.0 608 0.000175 0.001 0.0 609 0.000175 0.001025 0.0 610 0.000175 0.00105 0.0 611 0.000175 0.001075 0.0 612 0.000175 0.0011 0.0 613 0.000175 0.001125 0.0 614 0.000175 0.00115 0.0 615 0.000175 0.001175 0.0 616 0.000175 0.0012 0.0 617 0.000175 0.001225 0.0 618 0.000175 0.00125 0.0 619 0.000175 0.001275 0.0 620 0.000175 0.0013 0.0 621 0.000175 0.001325 0.0 622 0.000175 0.00135 0.0 623 0.000175 0.001375 0.0 624 0.000175 0.0014 0.0 625 0.000175 0.001425 0.0 626 0.000175 0.00145 0.0 627 0.000175 0.001475 0.0 628 0.000175 0.0015 0.0 629 0.000175 0.001525 0.0 630 0.000175 0.00155 0.0 631 0.000175 0.001575 0.0 632 0.000175 0.0016 0.0 633 0.000175 0.001625 0.0 634 0.000175 0.00165 0.0 635 0.000175 0.001675 0.0 636 0.000175 0.0017 0.0 637 0.000175 0.001725 0.0 638 0.000175 0.00175 0.0 639 0.000175 0.001775 0.0 640 0.000175 0.0018 0.0 641 0.000175 0.001825 0.0 642 0.000175 0.00185 0.0 643 0.000175 0.001875 0.0 644 0.000175 0.0019 0.0 645 0.000175 0.001925 0.0 646 0.000175 0.00195 0.0 647 0.000175 0.001975 0.0 648 0.000175 0.002 0.0 649 0.0002 0.0 0.0 650 0.0002 2.5e-05 0.0 651 0.0002 5e-05 0.0 652 0.0002 7.5e-05 0.0 653 0.0002 0.0001 0.0 654 0.0002 0.000125 0.0 655 0.0002 0.00015 0.0 656 0.0002 0.000175 0.0 657 0.0002 0.0002 0.0 658 0.0002 0.000225 0.0 659 0.0002 0.00025 0.0 660 0.0002 0.000275 0.0 661 0.0002 0.0003 0.0 662 0.0002 0.000325 0.0 663 0.0002 0.00035 0.0 664 0.0002 0.000375 0.0 665 0.0002 0.0004 0.0 666 0.0002 0.000425 0.0 667 0.0002 0.00045 0.0 668 0.0002 0.000475 0.0 669 0.0002 0.0005 0.0 670 0.0002 0.000525 0.0 671 0.0002 0.00055 0.0 672 0.0002 0.000575 0.0 673 0.0002 0.0006 0.0 674 0.0002 0.000625 0.0 675 0.0002 0.00065 0.0 676 0.0002 0.000675 0.0 677 0.0002 0.0007 0.0 678 0.0002 0.000725 0.0 679 0.0002 0.00075 0.0 680 0.0002 0.000775 0.0 681 0.0002 0.0008 0.0 682 0.0002 0.000825 0.0 683 0.0002 0.00085 0.0 684 0.0002 0.000875 0.0 685 0.0002 0.0009 0.0 686 0.0002 0.000925 0.0 687 0.0002 0.00095 0.0 688 0.0002 0.000975 0.0 689 0.0002 0.001 0.0 690 0.0002 0.001025 0.0 691 0.0002 0.00105 0.0 692 0.0002 0.001075 0.0 693 0.0002 0.0011 0.0 694 0.0002 0.001125 0.0 695 0.0002 0.00115 0.0 696 0.0002 0.001175 0.0 697 0.0002 0.0012 0.0 698 0.0002 0.001225 0.0 699 0.0002 0.00125 0.0 700 0.0002 0.001275 0.0 701 0.0002 0.0013 0.0 702 0.0002 0.001325 0.0 703 0.0002 0.00135 0.0 704 0.0002 0.001375 0.0 705 0.0002 0.0014 0.0 706 0.0002 0.001425 0.0 707 0.0002 0.00145 0.0 708 0.0002 0.001475 0.0 709 0.0002 0.0015 0.0 710 0.0002 0.001525 0.0 711 0.0002 0.00155 0.0 712 0.0002 0.001575 0.0 713 0.0002 0.0016 0.0 714 0.0002 0.001625 0.0 715 0.0002 0.00165 0.0 716 0.0002 0.001675 0.0 717 0.0002 0.0017 0.0 718 0.0002 0.001725 0.0 719 0.0002 0.00175 0.0 720 0.0002 0.001775 0.0 721 0.0002 0.0018 0.0 722 0.0002 0.001825 0.0 723 0.0002 0.00185 0.0 724 0.0002 0.001875 0.0 725 0.0002 0.0019 0.0 726 0.0002 0.001925 0.0 727 0.0002 0.00195 0.0 728 0.0002 0.001975 0.0 729 0.0002 0.002 0.0 730 0.000225 0.0 0.0 731 0.000225 2.5e-05 0.0 732 0.000225 5e-05 0.0 733 0.000225 7.5e-05 0.0 734 0.000225 0.0001 0.0 735 0.000225 0.000125 0.0 736 0.000225 0.00015 0.0 737 0.000225 0.000175 0.0 738 0.000225 0.0002 0.0 739 0.000225 0.000225 0.0 740 0.000225 0.00025 0.0 741 0.000225 0.000275 0.0 742 0.000225 0.0003 0.0 743 0.000225 0.000325 0.0 744 0.000225 0.00035 0.0 745 0.000225 0.000375 0.0 746 0.000225 0.0004 0.0 747 0.000225 0.000425 0.0 748 0.000225 0.00045 0.0 749 0.000225 0.000475 0.0 750 0.000225 0.0005 0.0 751 0.000225 0.000525 0.0 752 0.000225 0.00055 0.0 753 0.000225 0.000575 0.0 754 0.000225 0.0006 0.0 755 0.000225 0.000625 0.0 756 0.000225 0.00065 0.0 757 0.000225 0.000675 0.0 758 0.000225 0.0007 0.0 759 0.000225 0.000725 0.0 760 0.000225 0.00075 0.0 761 0.000225 0.000775 0.0 762 0.000225 0.0008 0.0 763 0.000225 0.000825 0.0 764 0.000225 0.00085 0.0 765 0.000225 0.000875 0.0 766 0.000225 0.0009 0.0 767 0.000225 0.000925 0.0 768 0.000225 0.00095 0.0 769 0.000225 0.000975 0.0 770 0.000225 0.001 0.0 771 0.000225 0.001025 0.0 772 0.000225 0.00105 0.0 773 0.000225 0.001075 0.0 774 0.000225 0.0011 0.0 775 0.000225 0.001125 0.0 776 0.000225 0.00115 0.0 777 0.000225 0.001175 0.0 778 0.000225 0.0012 0.0 779 0.000225 0.001225 0.0 780 0.000225 0.00125 0.0 781 0.000225 0.001275 0.0 782 0.000225 0.0013 0.0 783 0.000225 0.001325 0.0 784 0.000225 0.00135 0.0 785 0.000225 0.001375 0.0 786 0.000225 0.0014 0.0 787 0.000225 0.001425 0.0 788 0.000225 0.00145 0.0 789 0.000225 0.001475 0.0 790 0.000225 0.0015 0.0 791 0.000225 0.001525 0.0 792 0.000225 0.00155 0.0 793 0.000225 0.001575 0.0 794 0.000225 0.0016 0.0 795 0.000225 0.001625 0.0 796 0.000225 0.00165 0.0 797 0.000225 0.001675 0.0 798 0.000225 0.0017 0.0 799 0.000225 0.001725 0.0 800 0.000225 0.00175 0.0 801 0.000225 0.001775 0.0 802 0.000225 0.0018 0.0 803 0.000225 0.001825 0.0 804 0.000225 0.00185 0.0 805 0.000225 0.001875 0.0 806 0.000225 0.0019 0.0 807 0.000225 0.001925 0.0 808 0.000225 0.00195 0.0 809 0.000225 0.001975 0.0 810 0.000225 0.002 0.0 811 0.00025 0.0 0.0 812 0.00025 2.5e-05 0.0 813 0.00025 5e-05 0.0 814 0.00025 7.5e-05 0.0 815 0.00025 0.0001 0.0 816 0.00025 0.000125 0.0 817 0.00025 0.00015 0.0 818 0.00025 0.000175 0.0 819 0.00025 0.0002 0.0 820 0.00025 0.000225 0.0 821 0.00025 0.00025 0.0 822 0.00025 0.000275 0.0 823 0.00025 0.0003 0.0 824 0.00025 0.000325 0.0 825 0.00025 0.00035 0.0 826 0.00025 0.000375 0.0 827 0.00025 0.0004 0.0 828 0.00025 0.000425 0.0 829 0.00025 0.00045 0.0 830 0.00025 0.000475 0.0 831 0.00025 0.0005 0.0 832 0.00025 0.000525 0.0 833 0.00025 0.00055 0.0 834 0.00025 0.000575 0.0 835 0.00025 0.0006 0.0 836 0.00025 0.000625 0.0 837 0.00025 0.00065 0.0 838 0.00025 0.000675 0.0 839 0.00025 0.0007 0.0 840 0.00025 0.000725 0.0 841 0.00025 0.00075 0.0 842 0.00025 0.000775 0.0 843 0.00025 0.0008 0.0 844 0.00025 0.000825 0.0 845 0.00025 0.00085 0.0 846 0.00025 0.000875 0.0 847 0.00025 0.0009 0.0 848 0.00025 0.000925 0.0 849 0.00025 0.00095 0.0 850 0.00025 0.000975 0.0 851 0.00025 0.001 0.0 852 0.00025 0.001025 0.0 853 0.00025 0.00105 0.0 854 0.00025 0.001075 0.0 855 0.00025 0.0011 0.0 856 0.00025 0.001125 0.0 857 0.00025 0.00115 0.0 858 0.00025 0.001175 0.0 859 0.00025 0.0012 0.0 860 0.00025 0.001225 0.0 861 0.00025 0.00125 0.0 862 0.00025 0.001275 0.0 863 0.00025 0.0013 0.0 864 0.00025 0.001325 0.0 865 0.00025 0.00135 0.0 866 0.00025 0.001375 0.0 867 0.00025 0.0014 0.0 868 0.00025 0.001425 0.0 869 0.00025 0.00145 0.0 870 0.00025 0.001475 0.0 871 0.00025 0.0015 0.0 872 0.00025 0.001525 0.0 873 0.00025 0.00155 0.0 874 0.00025 0.001575 0.0 875 0.00025 0.0016 0.0 876 0.00025 0.001625 0.0 877 0.00025 0.00165 0.0 878 0.00025 0.001675 0.0 879 0.00025 0.0017 0.0 880 0.00025 0.001725 0.0 881 0.00025 0.00175 0.0 882 0.00025 0.001775 0.0 883 0.00025 0.0018 0.0 884 0.00025 0.001825 0.0 885 0.00025 0.00185 0.0 886 0.00025 0.001875 0.0 887 0.00025 0.0019 0.0 888 0.00025 0.001925 0.0 889 0.00025 0.00195 0.0 890 0.00025 0.001975 0.0 891 0.00025 0.002 0.0 892 0.000275 0.0 0.0 893 0.000275 2.5e-05 0.0 894 0.000275 5e-05 0.0 895 0.000275 7.5e-05 0.0 896 0.000275 0.0001 0.0 897 0.000275 0.000125 0.0 898 0.000275 0.00015 0.0 899 0.000275 0.000175 0.0 900 0.000275 0.0002 0.0 901 0.000275 0.000225 0.0 902 0.000275 0.00025 0.0 903 0.000275 0.000275 0.0 904 0.000275 0.0003 0.0 905 0.000275 0.000325 0.0 906 0.000275 0.00035 0.0 907 0.000275 0.000375 0.0 908 0.000275 0.0004 0.0 909 0.000275 0.000425 0.0 910 0.000275 0.00045 0.0 911 0.000275 0.000475 0.0 912 0.000275 0.0005 0.0 913 0.000275 0.000525 0.0 914 0.000275 0.00055 0.0 915 0.000275 0.000575 0.0 916 0.000275 0.0006 0.0 917 0.000275 0.000625 0.0 918 0.000275 0.00065 0.0 919 0.000275 0.000675 0.0 920 0.000275 0.0007 0.0 921 0.000275 0.000725 0.0 922 0.000275 0.00075 0.0 923 0.000275 0.000775 0.0 924 0.000275 0.0008 0.0 925 0.000275 0.000825 0.0 926 0.000275 0.00085 0.0 927 0.000275 0.000875 0.0 928 0.000275 0.0009 0.0 929 0.000275 0.000925 0.0 930 0.000275 0.00095 0.0 931 0.000275 0.000975 0.0 932 0.000275 0.001 0.0 933 0.000275 0.001025 0.0 934 0.000275 0.00105 0.0 935 0.000275 0.001075 0.0 936 0.000275 0.0011 0.0 937 0.000275 0.001125 0.0 938 0.000275 0.00115 0.0 939 0.000275 0.001175 0.0 940 0.000275 0.0012 0.0 941 0.000275 0.001225 0.0 942 0.000275 0.00125 0.0 943 0.000275 0.001275 0.0 944 0.000275 0.0013 0.0 945 0.000275 0.001325 0.0 946 0.000275 0.00135 0.0 947 0.000275 0.001375 0.0 948 0.000275 0.0014 0.0 949 0.000275 0.001425 0.0 950 0.000275 0.00145 0.0 951 0.000275 0.001475 0.0 952 0.000275 0.0015 0.0 953 0.000275 0.001525 0.0 954 0.000275 0.00155 0.0 955 0.000275 0.001575 0.0 956 0.000275 0.0016 0.0 957 0.000275 0.001625 0.0 958 0.000275 0.00165 0.0 959 0.000275 0.001675 0.0 960 0.000275 0.0017 0.0 961 0.000275 0.001725 0.0 962 0.000275 0.00175 0.0 963 0.000275 0.001775 0.0 964 0.000275 0.0018 0.0 965 0.000275 0.001825 0.0 966 0.000275 0.00185 0.0 967 0.000275 0.001875 0.0 968 0.000275 0.0019 0.0 969 0.000275 0.001925 0.0 970 0.000275 0.00195 0.0 971 0.000275 0.001975 0.0 972 0.000275 0.002 0.0 973 0.0003 0.0 0.0 974 0.0003 2.5e-05 0.0 975 0.0003 5e-05 0.0 976 0.0003 7.5e-05 0.0 977 0.0003 0.0001 0.0 978 0.0003 0.000125 0.0 979 0.0003 0.00015 0.0 980 0.0003 0.000175 0.0 981 0.0003 0.0002 0.0 982 0.0003 0.000225 0.0 983 0.0003 0.00025 0.0 984 0.0003 0.000275 0.0 985 0.0003 0.0003 0.0 986 0.0003 0.000325 0.0 987 0.0003 0.00035 0.0 988 0.0003 0.000375 0.0 989 0.0003 0.0004 0.0 990 0.0003 0.000425 0.0 991 0.0003 0.00045 0.0 992 0.0003 0.000475 0.0 993 0.0003 0.0005 0.0 994 0.0003 0.000525 0.0 995 0.0003 0.00055 0.0 996 0.0003 0.000575 0.0 997 0.0003 0.0006 0.0 998 0.0003 0.000625 0.0 999 0.0003 0.00065 0.0 1000 0.0003 0.000675 0.0 1001 0.0003 0.0007 0.0 1002 0.0003 0.000725 0.0 1003 0.0003 0.00075 0.0 1004 0.0003 0.000775 0.0 1005 0.0003 0.0008 0.0 1006 0.0003 0.000825 0.0 1007 0.0003 0.00085 0.0 1008 0.0003 0.000875 0.0 1009 0.0003 0.0009 0.0 1010 0.0003 0.000925 0.0 1011 0.0003 0.00095 0.0 1012 0.0003 0.000975 0.0 1013 0.0003 0.001 0.0 1014 0.0003 0.001025 0.0 1015 0.0003 0.00105 0.0 1016 0.0003 0.001075 0.0 1017 0.0003 0.0011 0.0 1018 0.0003 0.001125 0.0 1019 0.0003 0.00115 0.0 1020 0.0003 0.001175 0.0 1021 0.0003 0.0012 0.0 1022 0.0003 0.001225 0.0 1023 0.0003 0.00125 0.0 1024 0.0003 0.001275 0.0 1025 0.0003 0.0013 0.0 1026 0.0003 0.001325 0.0 1027 0.0003 0.00135 0.0 1028 0.0003 0.001375 0.0 1029 0.0003 0.0014 0.0 1030 0.0003 0.001425 0.0 1031 0.0003 0.00145 0.0 1032 0.0003 0.001475 0.0 1033 0.0003 0.0015 0.0 1034 0.0003 0.001525 0.0 1035 0.0003 0.00155 0.0 1036 0.0003 0.001575 0.0 1037 0.0003 0.0016 0.0 1038 0.0003 0.001625 0.0 1039 0.0003 0.00165 0.0 1040 0.0003 0.001675 0.0 1041 0.0003 0.0017 0.0 1042 0.0003 0.001725 0.0 1043 0.0003 0.00175 0.0 1044 0.0003 0.001775 0.0 1045 0.0003 0.0018 0.0 1046 0.0003 0.001825 0.0 1047 0.0003 0.00185 0.0 1048 0.0003 0.001875 0.0 1049 0.0003 0.0019 0.0 1050 0.0003 0.001925 0.0 1051 0.0003 0.00195 0.0 1052 0.0003 0.001975 0.0 1053 0.0003 0.002 0.0 1054 0.000325 0.0 0.0 1055 0.000325 2.5e-05 0.0 1056 0.000325 5e-05 0.0 1057 0.000325 7.5e-05 0.0 1058 0.000325 0.0001 0.0 1059 0.000325 0.000125 0.0 1060 0.000325 0.00015 0.0 1061 0.000325 0.000175 0.0 1062 0.000325 0.0002 0.0 1063 0.000325 0.000225 0.0 1064 0.000325 0.00025 0.0 1065 0.000325 0.000275 0.0 1066 0.000325 0.0003 0.0 1067 0.000325 0.000325 0.0 1068 0.000325 0.00035 0.0 1069 0.000325 0.000375 0.0 1070 0.000325 0.0004 0.0 1071 0.000325 0.000425 0.0 1072 0.000325 0.00045 0.0 1073 0.000325 0.000475 0.0 1074 0.000325 0.0005 0.0 1075 0.000325 0.000525 0.0 1076 0.000325 0.00055 0.0 1077 0.000325 0.000575 0.0 1078 0.000325 0.0006 0.0 1079 0.000325 0.000625 0.0 1080 0.000325 0.00065 0.0 1081 0.000325 0.000675 0.0 1082 0.000325 0.0007 0.0 1083 0.000325 0.000725 0.0 1084 0.000325 0.00075 0.0 1085 0.000325 0.000775 0.0 1086 0.000325 0.0008 0.0 1087 0.000325 0.000825 0.0 1088 0.000325 0.00085 0.0 1089 0.000325 0.000875 0.0 1090 0.000325 0.0009 0.0 1091 0.000325 0.000925 0.0 1092 0.000325 0.00095 0.0 1093 0.000325 0.000975 0.0 1094 0.000325 0.001 0.0 1095 0.000325 0.001025 0.0 1096 0.000325 0.00105 0.0 1097 0.000325 0.001075 0.0 1098 0.000325 0.0011 0.0 1099 0.000325 0.001125 0.0 1100 0.000325 0.00115 0.0 1101 0.000325 0.001175 0.0 1102 0.000325 0.0012 0.0 1103 0.000325 0.001225 0.0 1104 0.000325 0.00125 0.0 1105 0.000325 0.001275 0.0 1106 0.000325 0.0013 0.0 1107 0.000325 0.001325 0.0 1108 0.000325 0.00135 0.0 1109 0.000325 0.001375 0.0 1110 0.000325 0.0014 0.0 1111 0.000325 0.001425 0.0 1112 0.000325 0.00145 0.0 1113 0.000325 0.001475 0.0 1114 0.000325 0.0015 0.0 1115 0.000325 0.001525 0.0 1116 0.000325 0.00155 0.0 1117 0.000325 0.001575 0.0 1118 0.000325 0.0016 0.0 1119 0.000325 0.001625 0.0 1120 0.000325 0.00165 0.0 1121 0.000325 0.001675 0.0 1122 0.000325 0.0017 0.0 1123 0.000325 0.001725 0.0 1124 0.000325 0.00175 0.0 1125 0.000325 0.001775 0.0 1126 0.000325 0.0018 0.0 1127 0.000325 0.001825 0.0 1128 0.000325 0.00185 0.0 1129 0.000325 0.001875 0.0 1130 0.000325 0.0019 0.0 1131 0.000325 0.001925 0.0 1132 0.000325 0.00195 0.0 1133 0.000325 0.001975 0.0 1134 0.000325 0.002 0.0 1135 0.00035 0.0 0.0 1136 0.00035 2.5e-05 0.0 1137 0.00035 5e-05 0.0 1138 0.00035 7.5e-05 0.0 1139 0.00035 0.0001 0.0 1140 0.00035 0.000125 0.0 1141 0.00035 0.00015 0.0 1142 0.00035 0.000175 0.0 1143 0.00035 0.0002 0.0 1144 0.00035 0.000225 0.0 1145 0.00035 0.00025 0.0 1146 0.00035 0.000275 0.0 1147 0.00035 0.0003 0.0 1148 0.00035 0.000325 0.0 1149 0.00035 0.00035 0.0 1150 0.00035 0.000375 0.0 1151 0.00035 0.0004 0.0 1152 0.00035 0.000425 0.0 1153 0.00035 0.00045 0.0 1154 0.00035 0.000475 0.0 1155 0.00035 0.0005 0.0 1156 0.00035 0.000525 0.0 1157 0.00035 0.00055 0.0 1158 0.00035 0.000575 0.0 1159 0.00035 0.0006 0.0 1160 0.00035 0.000625 0.0 1161 0.00035 0.00065 0.0 1162 0.00035 0.000675 0.0 1163 0.00035 0.0007 0.0 1164 0.00035 0.000725 0.0 1165 0.00035 0.00075 0.0 1166 0.00035 0.000775 0.0 1167 0.00035 0.0008 0.0 1168 0.00035 0.000825 0.0 1169 0.00035 0.00085 0.0 1170 0.00035 0.000875 0.0 1171 0.00035 0.0009 0.0 1172 0.00035 0.000925 0.0 1173 0.00035 0.00095 0.0 1174 0.00035 0.000975 0.0 1175 0.00035 0.001 0.0 1176 0.00035 0.001025 0.0 1177 0.00035 0.00105 0.0 1178 0.00035 0.001075 0.0 1179 0.00035 0.0011 0.0 1180 0.00035 0.001125 0.0 1181 0.00035 0.00115 0.0 1182 0.00035 0.001175 0.0 1183 0.00035 0.0012 0.0 1184 0.00035 0.001225 0.0 1185 0.00035 0.00125 0.0 1186 0.00035 0.001275 0.0 1187 0.00035 0.0013 0.0 1188 0.00035 0.001325 0.0 1189 0.00035 0.00135 0.0 1190 0.00035 0.001375 0.0 1191 0.00035 0.0014 0.0 1192 0.00035 0.001425 0.0 1193 0.00035 0.00145 0.0 1194 0.00035 0.001475 0.0 1195 0.00035 0.0015 0.0 1196 0.00035 0.001525 0.0 1197 0.00035 0.00155 0.0 1198 0.00035 0.001575 0.0 1199 0.00035 0.0016 0.0 1200 0.00035 0.001625 0.0 1201 0.00035 0.00165 0.0 1202 0.00035 0.001675 0.0 1203 0.00035 0.0017 0.0 1204 0.00035 0.001725 0.0 1205 0.00035 0.00175 0.0 1206 0.00035 0.001775 0.0 1207 0.00035 0.0018 0.0 1208 0.00035 0.001825 0.0 1209 0.00035 0.00185 0.0 1210 0.00035 0.001875 0.0 1211 0.00035 0.0019 0.0 1212 0.00035 0.001925 0.0 1213 0.00035 0.00195 0.0 1214 0.00035 0.001975 0.0 1215 0.00035 0.002 0.0 1216 0.000375 0.0 0.0 1217 0.000375 2.5e-05 0.0 1218 0.000375 5e-05 0.0 1219 0.000375 7.5e-05 0.0 1220 0.000375 0.0001 0.0 1221 0.000375 0.000125 0.0 1222 0.000375 0.00015 0.0 1223 0.000375 0.000175 0.0 1224 0.000375 0.0002 0.0 1225 0.000375 0.000225 0.0 1226 0.000375 0.00025 0.0 1227 0.000375 0.000275 0.0 1228 0.000375 0.0003 0.0 1229 0.000375 0.000325 0.0 1230 0.000375 0.00035 0.0 1231 0.000375 0.000375 0.0 1232 0.000375 0.0004 0.0 1233 0.000375 0.000425 0.0 1234 0.000375 0.00045 0.0 1235 0.000375 0.000475 0.0 1236 0.000375 0.0005 0.0 1237 0.000375 0.000525 0.0 1238 0.000375 0.00055 0.0 1239 0.000375 0.000575 0.0 1240 0.000375 0.0006 0.0 1241 0.000375 0.000625 0.0 1242 0.000375 0.00065 0.0 1243 0.000375 0.000675 0.0 1244 0.000375 0.0007 0.0 1245 0.000375 0.000725 0.0 1246 0.000375 0.00075 0.0 1247 0.000375 0.000775 0.0 1248 0.000375 0.0008 0.0 1249 0.000375 0.000825 0.0 1250 0.000375 0.00085 0.0 1251 0.000375 0.000875 0.0 1252 0.000375 0.0009 0.0 1253 0.000375 0.000925 0.0 1254 0.000375 0.00095 0.0 1255 0.000375 0.000975 0.0 1256 0.000375 0.001 0.0 1257 0.000375 0.001025 0.0 1258 0.000375 0.00105 0.0 1259 0.000375 0.001075 0.0 1260 0.000375 0.0011 0.0 1261 0.000375 0.001125 0.0 1262 0.000375 0.00115 0.0 1263 0.000375 0.001175 0.0 1264 0.000375 0.0012 0.0 1265 0.000375 0.001225 0.0 1266 0.000375 0.00125 0.0 1267 0.000375 0.001275 0.0 1268 0.000375 0.0013 0.0 1269 0.000375 0.001325 0.0 1270 0.000375 0.00135 0.0 1271 0.000375 0.001375 0.0 1272 0.000375 0.0014 0.0 1273 0.000375 0.001425 0.0 1274 0.000375 0.00145 0.0 1275 0.000375 0.001475 0.0 1276 0.000375 0.0015 0.0 1277 0.000375 0.001525 0.0 1278 0.000375 0.00155 0.0 1279 0.000375 0.001575 0.0 1280 0.000375 0.0016 0.0 1281 0.000375 0.001625 0.0 1282 0.000375 0.00165 0.0 1283 0.000375 0.001675 0.0 1284 0.000375 0.0017 0.0 1285 0.000375 0.001725 0.0 1286 0.000375 0.00175 0.0 1287 0.000375 0.001775 0.0 1288 0.000375 0.0018 0.0 1289 0.000375 0.001825 0.0 1290 0.000375 0.00185 0.0 1291 0.000375 0.001875 0.0 1292 0.000375 0.0019 0.0 1293 0.000375 0.001925 0.0 1294 0.000375 0.00195 0.0 1295 0.000375 0.001975 0.0 1296 0.000375 0.002 0.0 1297 0.0004 0.0 0.0 1298 0.0004 2.5e-05 0.0 1299 0.0004 5e-05 0.0 1300 0.0004 7.5e-05 0.0 1301 0.0004 0.0001 0.0 1302 0.0004 0.000125 0.0 1303 0.0004 0.00015 0.0 1304 0.0004 0.000175 0.0 1305 0.0004 0.0002 0.0 1306 0.0004 0.000225 0.0 1307 0.0004 0.00025 0.0 1308 0.0004 0.000275 0.0 1309 0.0004 0.0003 0.0 1310 0.0004 0.000325 0.0 1311 0.0004 0.00035 0.0 1312 0.0004 0.000375 0.0 1313 0.0004 0.0004 0.0 1314 0.0004 0.000425 0.0 1315 0.0004 0.00045 0.0 1316 0.0004 0.000475 0.0 1317 0.0004 0.0005 0.0 1318 0.0004 0.000525 0.0 1319 0.0004 0.00055 0.0 1320 0.0004 0.000575 0.0 1321 0.0004 0.0006 0.0 1322 0.0004 0.000625 0.0 1323 0.0004 0.00065 0.0 1324 0.0004 0.000675 0.0 1325 0.0004 0.0007 0.0 1326 0.0004 0.000725 0.0 1327 0.0004 0.00075 0.0 1328 0.0004 0.000775 0.0 1329 0.0004 0.0008 0.0 1330 0.0004 0.000825 0.0 1331 0.0004 0.00085 0.0 1332 0.0004 0.000875 0.0 1333 0.0004 0.0009 0.0 1334 0.0004 0.000925 0.0 1335 0.0004 0.00095 0.0 1336 0.0004 0.000975 0.0 1337 0.0004 0.001 0.0 1338 0.0004 0.001025 0.0 1339 0.0004 0.00105 0.0 1340 0.0004 0.001075 0.0 1341 0.0004 0.0011 0.0 1342 0.0004 0.001125 0.0 1343 0.0004 0.00115 0.0 1344 0.0004 0.001175 0.0 1345 0.0004 0.0012 0.0 1346 0.0004 0.001225 0.0 1347 0.0004 0.00125 0.0 1348 0.0004 0.001275 0.0 1349 0.0004 0.0013 0.0 1350 0.0004 0.001325 0.0 1351 0.0004 0.00135 0.0 1352 0.0004 0.001375 0.0 1353 0.0004 0.0014 0.0 1354 0.0004 0.001425 0.0 1355 0.0004 0.00145 0.0 1356 0.0004 0.001475 0.0 1357 0.0004 0.0015 0.0 1358 0.0004 0.001525 0.0 1359 0.0004 0.00155 0.0 1360 0.0004 0.001575 0.0 1361 0.0004 0.0016 0.0 1362 0.0004 0.001625 0.0 1363 0.0004 0.00165 0.0 1364 0.0004 0.001675 0.0 1365 0.0004 0.0017 0.0 1366 0.0004 0.001725 0.0 1367 0.0004 0.00175 0.0 1368 0.0004 0.001775 0.0 1369 0.0004 0.0018 0.0 1370 0.0004 0.001825 0.0 1371 0.0004 0.00185 0.0 1372 0.0004 0.001875 0.0 1373 0.0004 0.0019 0.0 1374 0.0004 0.001925 0.0 1375 0.0004 0.00195 0.0 1376 0.0004 0.001975 0.0 1377 0.0004 0.002 0.0 1378 0.000425 0.0 0.0 1379 0.000425 2.5e-05 0.0 1380 0.000425 5e-05 0.0 1381 0.000425 7.5e-05 0.0 1382 0.000425 0.0001 0.0 1383 0.000425 0.000125 0.0 1384 0.000425 0.00015 0.0 1385 0.000425 0.000175 0.0 1386 0.000425 0.0002 0.0 1387 0.000425 0.000225 0.0 1388 0.000425 0.00025 0.0 1389 0.000425 0.000275 0.0 1390 0.000425 0.0003 0.0 1391 0.000425 0.000325 0.0 1392 0.000425 0.00035 0.0 1393 0.000425 0.000375 0.0 1394 0.000425 0.0004 0.0 1395 0.000425 0.000425 0.0 1396 0.000425 0.00045 0.0 1397 0.000425 0.000475 0.0 1398 0.000425 0.0005 0.0 1399 0.000425 0.000525 0.0 1400 0.000425 0.00055 0.0 1401 0.000425 0.000575 0.0 1402 0.000425 0.0006 0.0 1403 0.000425 0.000625 0.0 1404 0.000425 0.00065 0.0 1405 0.000425 0.000675 0.0 1406 0.000425 0.0007 0.0 1407 0.000425 0.000725 0.0 1408 0.000425 0.00075 0.0 1409 0.000425 0.000775 0.0 1410 0.000425 0.0008 0.0 1411 0.000425 0.000825 0.0 1412 0.000425 0.00085 0.0 1413 0.000425 0.000875 0.0 1414 0.000425 0.0009 0.0 1415 0.000425 0.000925 0.0 1416 0.000425 0.00095 0.0 1417 0.000425 0.000975 0.0 1418 0.000425 0.001 0.0 1419 0.000425 0.001025 0.0 1420 0.000425 0.00105 0.0 1421 0.000425 0.001075 0.0 1422 0.000425 0.0011 0.0 1423 0.000425 0.001125 0.0 1424 0.000425 0.00115 0.0 1425 0.000425 0.001175 0.0 1426 0.000425 0.0012 0.0 1427 0.000425 0.001225 0.0 1428 0.000425 0.00125 0.0 1429 0.000425 0.001275 0.0 1430 0.000425 0.0013 0.0 1431 0.000425 0.001325 0.0 1432 0.000425 0.00135 0.0 1433 0.000425 0.001375 0.0 1434 0.000425 0.0014 0.0 1435 0.000425 0.001425 0.0 1436 0.000425 0.00145 0.0 1437 0.000425 0.001475 0.0 1438 0.000425 0.0015 0.0 1439 0.000425 0.001525 0.0 1440 0.000425 0.00155 0.0 1441 0.000425 0.001575 0.0 1442 0.000425 0.0016 0.0 1443 0.000425 0.001625 0.0 1444 0.000425 0.00165 0.0 1445 0.000425 0.001675 0.0 1446 0.000425 0.0017 0.0 1447 0.000425 0.001725 0.0 1448 0.000425 0.00175 0.0 1449 0.000425 0.001775 0.0 1450 0.000425 0.0018 0.0 1451 0.000425 0.001825 0.0 1452 0.000425 0.00185 0.0 1453 0.000425 0.001875 0.0 1454 0.000425 0.0019 0.0 1455 0.000425 0.001925 0.0 1456 0.000425 0.00195 0.0 1457 0.000425 0.001975 0.0 1458 0.000425 0.002 0.0 1459 0.00045 0.0 0.0 1460 0.00045 2.5e-05 0.0 1461 0.00045 5e-05 0.0 1462 0.00045 7.5e-05 0.0 1463 0.00045 0.0001 0.0 1464 0.00045 0.000125 0.0 1465 0.00045 0.00015 0.0 1466 0.00045 0.000175 0.0 1467 0.00045 0.0002 0.0 1468 0.00045 0.000225 0.0 1469 0.00045 0.00025 0.0 1470 0.00045 0.000275 0.0 1471 0.00045 0.0003 0.0 1472 0.00045 0.000325 0.0 1473 0.00045 0.00035 0.0 1474 0.00045 0.000375 0.0 1475 0.00045 0.0004 0.0 1476 0.00045 0.000425 0.0 1477 0.00045 0.00045 0.0 1478 0.00045 0.000475 0.0 1479 0.00045 0.0005 0.0 1480 0.00045 0.000525 0.0 1481 0.00045 0.00055 0.0 1482 0.00045 0.000575 0.0 1483 0.00045 0.0006 0.0 1484 0.00045 0.000625 0.0 1485 0.00045 0.00065 0.0 1486 0.00045 0.000675 0.0 1487 0.00045 0.0007 0.0 1488 0.00045 0.000725 0.0 1489 0.00045 0.00075 0.0 1490 0.00045 0.000775 0.0 1491 0.00045 0.0008 0.0 1492 0.00045 0.000825 0.0 1493 0.00045 0.00085 0.0 1494 0.00045 0.000875 0.0 1495 0.00045 0.0009 0.0 1496 0.00045 0.000925 0.0 1497 0.00045 0.00095 0.0 1498 0.00045 0.000975 0.0 1499 0.00045 0.001 0.0 1500 0.00045 0.001025 0.0 1501 0.00045 0.00105 0.0 1502 0.00045 0.001075 0.0 1503 0.00045 0.0011 0.0 1504 0.00045 0.001125 0.0 1505 0.00045 0.00115 0.0 1506 0.00045 0.001175 0.0 1507 0.00045 0.0012 0.0 1508 0.00045 0.001225 0.0 1509 0.00045 0.00125 0.0 1510 0.00045 0.001275 0.0 1511 0.00045 0.0013 0.0 1512 0.00045 0.001325 0.0 1513 0.00045 0.00135 0.0 1514 0.00045 0.001375 0.0 1515 0.00045 0.0014 0.0 1516 0.00045 0.001425 0.0 1517 0.00045 0.00145 0.0 1518 0.00045 0.001475 0.0 1519 0.00045 0.0015 0.0 1520 0.00045 0.001525 0.0 1521 0.00045 0.00155 0.0 1522 0.00045 0.001575 0.0 1523 0.00045 0.0016 0.0 1524 0.00045 0.001625 0.0 1525 0.00045 0.00165 0.0 1526 0.00045 0.001675 0.0 1527 0.00045 0.0017 0.0 1528 0.00045 0.001725 0.0 1529 0.00045 0.00175 0.0 1530 0.00045 0.001775 0.0 1531 0.00045 0.0018 0.0 1532 0.00045 0.001825 0.0 1533 0.00045 0.00185 0.0 1534 0.00045 0.001875 0.0 1535 0.00045 0.0019 0.0 1536 0.00045 0.001925 0.0 1537 0.00045 0.00195 0.0 1538 0.00045 0.001975 0.0 1539 0.00045 0.002 0.0 1540 0.000475 0.0 0.0 1541 0.000475 2.5e-05 0.0 1542 0.000475 5e-05 0.0 1543 0.000475 7.5e-05 0.0 1544 0.000475 0.0001 0.0 1545 0.000475 0.000125 0.0 1546 0.000475 0.00015 0.0 1547 0.000475 0.000175 0.0 1548 0.000475 0.0002 0.0 1549 0.000475 0.000225 0.0 1550 0.000475 0.00025 0.0 1551 0.000475 0.000275 0.0 1552 0.000475 0.0003 0.0 1553 0.000475 0.000325 0.0 1554 0.000475 0.00035 0.0 1555 0.000475 0.000375 0.0 1556 0.000475 0.0004 0.0 1557 0.000475 0.000425 0.0 1558 0.000475 0.00045 0.0 1559 0.000475 0.000475 0.0 1560 0.000475 0.0005 0.0 1561 0.000475 0.000525 0.0 1562 0.000475 0.00055 0.0 1563 0.000475 0.000575 0.0 1564 0.000475 0.0006 0.0 1565 0.000475 0.000625 0.0 1566 0.000475 0.00065 0.0 1567 0.000475 0.000675 0.0 1568 0.000475 0.0007 0.0 1569 0.000475 0.000725 0.0 1570 0.000475 0.00075 0.0 1571 0.000475 0.000775 0.0 1572 0.000475 0.0008 0.0 1573 0.000475 0.000825 0.0 1574 0.000475 0.00085 0.0 1575 0.000475 0.000875 0.0 1576 0.000475 0.0009 0.0 1577 0.000475 0.000925 0.0 1578 0.000475 0.00095 0.0 1579 0.000475 0.000975 0.0 1580 0.000475 0.001 0.0 1581 0.000475 0.001025 0.0 1582 0.000475 0.00105 0.0 1583 0.000475 0.001075 0.0 1584 0.000475 0.0011 0.0 1585 0.000475 0.001125 0.0 1586 0.000475 0.00115 0.0 1587 0.000475 0.001175 0.0 1588 0.000475 0.0012 0.0 1589 0.000475 0.001225 0.0 1590 0.000475 0.00125 0.0 1591 0.000475 0.001275 0.0 1592 0.000475 0.0013 0.0 1593 0.000475 0.001325 0.0 1594 0.000475 0.00135 0.0 1595 0.000475 0.001375 0.0 1596 0.000475 0.0014 0.0 1597 0.000475 0.001425 0.0 1598 0.000475 0.00145 0.0 1599 0.000475 0.001475 0.0 1600 0.000475 0.0015 0.0 1601 0.000475 0.001525 0.0 1602 0.000475 0.00155 0.0 1603 0.000475 0.001575 0.0 1604 0.000475 0.0016 0.0 1605 0.000475 0.001625 0.0 1606 0.000475 0.00165 0.0 1607 0.000475 0.001675 0.0 1608 0.000475 0.0017 0.0 1609 0.000475 0.001725 0.0 1610 0.000475 0.00175 0.0 1611 0.000475 0.001775 0.0 1612 0.000475 0.0018 0.0 1613 0.000475 0.001825 0.0 1614 0.000475 0.00185 0.0 1615 0.000475 0.001875 0.0 1616 0.000475 0.0019 0.0 1617 0.000475 0.001925 0.0 1618 0.000475 0.00195 0.0 1619 0.000475 0.001975 0.0 1620 0.000475 0.002 0.0 1621 0.0005 0.0 0.0 1622 0.0005 2.5e-05 0.0 1623 0.0005 5e-05 0.0 1624 0.0005 7.5e-05 0.0 1625 0.0005 0.0001 0.0 1626 0.0005 0.000125 0.0 1627 0.0005 0.00015 0.0 1628 0.0005 0.000175 0.0 1629 0.0005 0.0002 0.0 1630 0.0005 0.000225 0.0 1631 0.0005 0.00025 0.0 1632 0.0005 0.000275 0.0 1633 0.0005 0.0003 0.0 1634 0.0005 0.000325 0.0 1635 0.0005 0.00035 0.0 1636 0.0005 0.000375 0.0 1637 0.0005 0.0004 0.0 1638 0.0005 0.000425 0.0 1639 0.0005 0.00045 0.0 1640 0.0005 0.000475 0.0 1641 0.0005 0.0005 0.0 1642 0.0005 0.000525 0.0 1643 0.0005 0.00055 0.0 1644 0.0005 0.000575 0.0 1645 0.0005 0.0006 0.0 1646 0.0005 0.000625 0.0 1647 0.0005 0.00065 0.0 1648 0.0005 0.000675 0.0 1649 0.0005 0.0007 0.0 1650 0.0005 0.000725 0.0 1651 0.0005 0.00075 0.0 1652 0.0005 0.000775 0.0 1653 0.0005 0.0008 0.0 1654 0.0005 0.000825 0.0 1655 0.0005 0.00085 0.0 1656 0.0005 0.000875 0.0 1657 0.0005 0.0009 0.0 1658 0.0005 0.000925 0.0 1659 0.0005 0.00095 0.0 1660 0.0005 0.000975 0.0 1661 0.0005 0.001 0.0 1662 0.0005 0.001025 0.0 1663 0.0005 0.00105 0.0 1664 0.0005 0.001075 0.0 1665 0.0005 0.0011 0.0 1666 0.0005 0.001125 0.0 1667 0.0005 0.00115 0.0 1668 0.0005 0.001175 0.0 1669 0.0005 0.0012 0.0 1670 0.0005 0.001225 0.0 1671 0.0005 0.00125 0.0 1672 0.0005 0.001275 0.0 1673 0.0005 0.0013 0.0 1674 0.0005 0.001325 0.0 1675 0.0005 0.00135 0.0 1676 0.0005 0.001375 0.0 1677 0.0005 0.0014 0.0 1678 0.0005 0.001425 0.0 1679 0.0005 0.00145 0.0 1680 0.0005 0.001475 0.0 1681 0.0005 0.0015 0.0 1682 0.0005 0.001525 0.0 1683 0.0005 0.00155 0.0 1684 0.0005 0.001575 0.0 1685 0.0005 0.0016 0.0 1686 0.0005 0.001625 0.0 1687 0.0005 0.00165 0.0 1688 0.0005 0.001675 0.0 1689 0.0005 0.0017 0.0 1690 0.0005 0.001725 0.0 1691 0.0005 0.00175 0.0 1692 0.0005 0.001775 0.0 1693 0.0005 0.0018 0.0 1694 0.0005 0.001825 0.0 1695 0.0005 0.00185 0.0 1696 0.0005 0.001875 0.0 1697 0.0005 0.0019 0.0 1698 0.0005 0.001925 0.0 1699 0.0005 0.00195 0.0 1700 0.0005 0.001975 0.0 1701 0.0005 0.002 0.0 $EndNodes $Elements 800 1 9 0 165 163 1 164 82 83 2 9 0 1 3 165 2 84 83 3 9 0 3 5 165 4 85 84 4 9 0 167 165 5 166 85 86 5 9 0 169 167 5 168 86 87 6 9 0 5 7 169 6 88 87 7 9 0 7 9 169 8 89 88 8 9 0 171 169 9 170 89 90 9 9 0 173 171 9 172 90 91 10 9 0 9 11 173 10 92 91 11 9 0 11 13 173 12 93 92 12 9 0 175 173 13 174 93 94 13 9 0 177 175 13 176 94 95 14 9 0 13 15 177 14 96 95 15 9 0 15 17 177 16 97 96 16 9 0 179 177 17 178 97 98 17 9 0 181 179 17 180 98 99 18 9 0 17 19 181 18 100 99 19 9 0 19 21 181 20 101 100 20 9 0 183 181 21 182 101 102 21 9 0 185 183 21 184 102 103 22 9 0 21 23 185 22 104 103 23 9 0 23 25 185 24 105 104 24 9 0 187 185 25 186 105 106 25 9 0 189 187 25 188 106 107 26 9 0 25 27 189 26 108 107 27 9 0 27 29 189 28 109 108 28 9 0 191 189 29 190 109 110 29 9 0 193 191 29 192 110 111 30 9 0 29 31 193 30 112 111 31 9 0 31 33 193 32 113 112 32 9 0 195 193 33 194 113 114 33 9 0 197 195 33 196 114 115 34 9 0 33 35 197 34 116 115 35 9 0 35 37 197 36 117 116 36 9 0 199 197 37 198 117 118 37 9 0 201 199 37 200 118 119 38 9 0 37 39 201 38 120 119 39 9 0 39 41 201 40 121 120 40 9 0 203 201 41 202 121 122 41 9 0 205 203 41 204 122 123 42 9 0 41 43 205 42 124 123 43 9 0 43 45 205 44 125 124 44 9 0 207 205 45 206 125 126 45 9 0 209 207 45 208 126 127 46 9 0 45 47 209 46 128 127 47 9 0 47 49 209 48 129 128 48 9 0 211 209 49 210 129 130 49 9 0 213 211 49 212 130 131 50 9 0 49 51 213 50 132 131 51 9 0 51 53 213 52 133 132 52 9 0 215 213 53 214 133 134 53 9 0 217 215 53 216 134 135 54 9 0 53 55 217 54 136 135 55 9 0 55 57 217 56 137 136 56 9 0 219 217 57 218 137 138 57 9 0 221 219 57 220 138 139 58 9 0 57 59 221 58 140 139 59 9 0 59 61 221 60 141 140 60 9 0 223 221 61 222 141 142 61 9 0 225 223 61 224 142 143 62 9 0 61 63 225 62 144 143 63 9 0 63 65 225 64 145 144 64 9 0 227 225 65 226 145 146 65 9 0 229 227 65 228 146 147 66 9 0 65 67 229 66 148 147 67 9 0 67 69 229 68 149 148 68 9 0 231 229 69 230 149 150 69 9 0 233 231 69 232 150 151 70 9 0 69 71 233 70 152 151 71 9 0 71 73 233 72 153 152 72 9 0 235 233 73 234 153 154 73 9 0 237 235 73 236 154 155 74 9 0 73 75 237 74 156 155 75 9 0 75 77 237 76 157 156 76 9 0 239 237 77 238 157 158 77 9 0 241 239 77 240 158 159 78 9 0 77 79 241 78 160 159 79 9 0 79 81 241 80 161 160 80 9 0 243 241 81 242 161 162 81 9 0 163 165 325 164 245 244 82 9 0 327 325 165 326 245 246 83 9 0 329 327 165 328 246 247 84 9 0 165 167 329 166 248 247 85 9 0 167 169 329 168 249 248 86 9 0 331 329 169 330 249 250 87 9 0 333 331 169 332 250 251 88 9 0 169 171 333 170 252 251 89 9 0 171 173 333 172 253 252 90 9 0 335 333 173 334 253 254 91 9 0 337 335 173 336 254 255 92 9 0 173 175 337 174 256 255 93 9 0 175 177 337 176 257 256 94 9 0 339 337 177 338 257 258 95 9 0 341 339 177 340 258 259 96 9 0 177 179 341 178 260 259 97 9 0 179 181 341 180 261 260 98 9 0 343 341 181 342 261 262 99 9 0 345 343 181 344 262 263 100 9 0 181 183 345 182 264 263 101 9 0 183 185 345 184 265 264 102 9 0 347 345 185 346 265 266 103 9 0 349 347 185 348 266 267 104 9 0 185 187 349 186 268 267 105 9 0 187 189 349 188 269 268 106 9 0 351 349 189 350 269 270 107 9 0 353 351 189 352 270 271 108 9 0 189 191 353 190 272 271 109 9 0 191 193 353 192 273 272 110 9 0 355 353 193 354 273 274 111 9 0 357 355 193 356 274 275 112 9 0 193 195 357 194 276 275 113 9 0 195 197 357 196 277 276 114 9 0 359 357 197 358 277 278 115 9 0 361 359 197 360 278 279 116 9 0 197 199 361 198 280 279 117 9 0 199 201 361 200 281 280 118 9 0 363 361 201 362 281 282 119 9 0 365 363 201 364 282 283 120 9 0 201 203 365 202 284 283 121 9 0 203 205 365 204 285 284 122 9 0 367 365 205 366 285 286 123 9 0 369 367 205 368 286 287 124 9 0 205 207 369 206 288 287 125 9 0 207 209 369 208 289 288 126 9 0 371 369 209 370 289 290 127 9 0 373 371 209 372 290 291 128 9 0 209 211 373 210 292 291 129 9 0 211 213 373 212 293 292 130 9 0 375 373 213 374 293 294 131 9 0 377 375 213 376 294 295 132 9 0 213 215 377 214 296 295 133 9 0 215 217 377 216 297 296 134 9 0 379 377 217 378 297 298 135 9 0 381 379 217 380 298 299 136 9 0 217 219 381 218 300 299 137 9 0 219 221 381 220 301 300 138 9 0 383 381 221 382 301 302 139 9 0 385 383 221 384 302 303 140 9 0 221 223 385 222 304 303 141 9 0 223 225 385 224 305 304 142 9 0 387 385 225 386 305 306 143 9 0 389 387 225 388 306 307 144 9 0 225 227 389 226 308 307 145 9 0 227 229 389 228 309 308 146 9 0 391 389 229 390 309 310 147 9 0 393 391 229 392 310 311 148 9 0 229 231 393 230 312 311 149 9 0 231 233 393 232 313 312 150 9 0 395 393 233 394 313 314 151 9 0 397 395 233 396 314 315 152 9 0 233 235 397 234 316 315 153 9 0 235 237 397 236 317 316 154 9 0 399 397 237 398 317 318 155 9 0 401 399 237 400 318 319 156 9 0 237 239 401 238 320 319 157 9 0 239 241 401 240 321 320 158 9 0 403 401 241 402 321 322 159 9 0 405 403 241 404 322 323 160 9 0 241 243 405 242 324 323 161 9 0 489 487 325 488 406 407 162 9 0 325 327 489 326 408 407 163 9 0 327 329 489 328 409 408 164 9 0 491 489 329 490 409 410 165 9 0 493 491 329 492 410 411 166 9 0 329 331 493 330 412 411 167 9 0 331 333 493 332 413 412 168 9 0 495 493 333 494 413 414 169 9 0 497 495 333 496 414 415 170 9 0 333 335 497 334 416 415 171 9 0 335 337 497 336 417 416 172 9 0 499 497 337 498 417 418 173 9 0 501 499 337 500 418 419 174 9 0 337 339 501 338 420 419 175 9 0 339 341 501 340 421 420 176 9 0 503 501 341 502 421 422 177 9 0 505 503 341 504 422 423 178 9 0 341 343 505 342 424 423 179 9 0 343 345 505 344 425 424 180 9 0 507 505 345 506 425 426 181 9 0 509 507 345 508 426 427 182 9 0 345 347 509 346 428 427 183 9 0 347 349 509 348 429 428 184 9 0 511 509 349 510 429 430 185 9 0 513 511 349 512 430 431 186 9 0 349 351 513 350 432 431 187 9 0 351 353 513 352 433 432 188 9 0 515 513 353 514 433 434 189 9 0 517 515 353 516 434 435 190 9 0 353 355 517 354 436 435 191 9 0 355 357 517 356 437 436 192 9 0 519 517 357 518 437 438 193 9 0 521 519 357 520 438 439 194 9 0 357 359 521 358 440 439 195 9 0 359 361 521 360 441 440 196 9 0 523 521 361 522 441 442 197 9 0 525 523 361 524 442 443 198 9 0 361 363 525 362 444 443 199 9 0 363 365 525 364 445 444 200 9 0 527 525 365 526 445 446 201 9 0 529 527 365 528 446 447 202 9 0 365 367 529 366 448 447 203 9 0 367 369 529 368 449 448 204 9 0 531 529 369 530 449 450 205 9 0 533 531 369 532 450 451 206 9 0 369 371 533 370 452 451 207 9 0 371 373 533 372 453 452 208 9 0 535 533 373 534 453 454 209 9 0 537 535 373 536 454 455 210 9 0 373 375 537 374 456 455 211 9 0 375 377 537 376 457 456 212 9 0 539 537 377 538 457 458 213 9 0 541 539 377 540 458 459 214 9 0 377 379 541 378 460 459 215 9 0 379 381 541 380 461 460 216 9 0 543 541 381 542 461 462 217 9 0 545 543 381 544 462 463 218 9 0 381 383 545 382 464 463 219 9 0 383 385 545 384 465 464 220 9 0 547 545 385 546 465 466 221 9 0 549 547 385 548 466 467 222 9 0 385 387 549 386 468 467 223 9 0 387 389 549 388 469 468 224 9 0 551 549 389 550 469 470 225 9 0 553 551 389 552 470 471 226 9 0 389 391 553 390 472 471 227 9 0 391 393 553 392 473 472 228 9 0 555 553 393 554 473 474 229 9 0 557 555 393 556 474 475 230 9 0 393 395 557 394 476 475 231 9 0 395 397 557 396 477 476 232 9 0 559 557 397 558 477 478 233 9 0 561 559 397 560 478 479 234 9 0 397 399 561 398 480 479 235 9 0 399 401 561 400 481 480 236 9 0 563 561 401 562 481 482 237 9 0 565 563 401 564 482 483 238 9 0 401 403 565 402 484 483 239 9 0 403 405 565 404 485 484 240 9 0 567 565 405 566 485 486 241 9 0 487 489 649 488 569 568 242 9 0 651 649 489 650 569 570 243 9 0 653 651 489 652 570 571 244 9 0 489 491 653 490 572 571 245 9 0 491 493 653 492 573 572 246 9 0 655 653 493 654 573 574 247 9 0 657 655 493 656 574 575 248 9 0 493 495 657 494 576 575 249 9 0 495 497 657 496 577 576 250 9 0 659 657 497 658 577 578 251 9 0 661 659 497 660 578 579 252 9 0 497 499 661 498 580 579 253 9 0 499 501 661 500 581 580 254 9 0 663 661 501 662 581 582 255 9 0 665 663 501 664 582 583 256 9 0 501 503 665 502 584 583 257 9 0 503 505 665 504 585 584 258 9 0 667 665 505 666 585 586 259 9 0 669 667 505 668 586 587 260 9 0 505 507 669 506 588 587 261 9 0 507 509 669 508 589 588 262 9 0 671 669 509 670 589 590 263 9 0 673 671 509 672 590 591 264 9 0 509 511 673 510 592 591 265 9 0 511 513 673 512 593 592 266 9 0 675 673 513 674 593 594 267 9 0 677 675 513 676 594 595 268 9 0 513 515 677 514 596 595 269 9 0 515 517 677 516 597 596 270 9 0 679 677 517 678 597 598 271 9 0 681 679 517 680 598 599 272 9 0 517 519 681 518 600 599 273 9 0 519 521 681 520 601 600 274 9 0 683 681 521 682 601 602 275 9 0 685 683 521 684 602 603 276 9 0 521 523 685 522 604 603 277 9 0 523 525 685 524 605 604 278 9 0 687 685 525 686 605 606 279 9 0 689 687 525 688 606 607 280 9 0 525 527 689 526 608 607 281 9 0 527 529 689 528 609 608 282 9 0 691 689 529 690 609 610 283 9 0 693 691 529 692 610 611 284 9 0 529 531 693 530 612 611 285 9 0 531 533 693 532 613 612 286 9 0 695 693 533 694 613 614 287 9 0 697 695 533 696 614 615 288 9 0 533 535 697 534 616 615 289 9 0 535 537 697 536 617 616 290 9 0 699 697 537 698 617 618 291 9 0 701 699 537 700 618 619 292 9 0 537 539 701 538 620 619 293 9 0 539 541 701 540 621 620 294 9 0 703 701 541 702 621 622 295 9 0 705 703 541 704 622 623 296 9 0 541 543 705 542 624 623 297 9 0 543 545 705 544 625 624 298 9 0 707 705 545 706 625 626 299 9 0 709 707 545 708 626 627 300 9 0 545 547 709 546 628 627 301 9 0 547 549 709 548 629 628 302 9 0 711 709 549 710 629 630 303 9 0 713 711 549 712 630 631 304 9 0 549 551 713 550 632 631 305 9 0 551 553 713 552 633 632 306 9 0 715 713 553 714 633 634 307 9 0 717 715 553 716 634 635 308 9 0 553 555 717 554 636 635 309 9 0 555 557 717 556 637 636 310 9 0 719 717 557 718 637 638 311 9 0 721 719 557 720 638 639 312 9 0 557 559 721 558 640 639 313 9 0 559 561 721 560 641 640 314 9 0 723 721 561 722 641 642 315 9 0 725 723 561 724 642 643 316 9 0 561 563 725 562 644 643 317 9 0 563 565 725 564 645 644 318 9 0 727 725 565 726 645 646 319 9 0 729 727 565 728 646 647 320 9 0 565 567 729 566 648 647 321 9 0 813 811 649 812 730 731 322 9 0 649 651 813 650 732 731 323 9 0 651 653 813 652 733 732 324 9 0 815 813 653 814 733 734 325 9 0 817 815 653 816 734 735 326 9 0 653 655 817 654 736 735 327 9 0 655 657 817 656 737 736 328 9 0 819 817 657 818 737 738 329 9 0 821 819 657 820 738 739 330 9 0 657 659 821 658 740 739 331 9 0 659 661 821 660 741 740 332 9 0 823 821 661 822 741 742 333 9 0 825 823 661 824 742 743 334 9 0 661 663 825 662 744 743 335 9 0 663 665 825 664 745 744 336 9 0 827 825 665 826 745 746 337 9 0 829 827 665 828 746 747 338 9 0 665 667 829 666 748 747 339 9 0 667 669 829 668 749 748 340 9 0 831 829 669 830 749 750 341 9 0 833 831 669 832 750 751 342 9 0 669 671 833 670 752 751 343 9 0 671 673 833 672 753 752 344 9 0 835 833 673 834 753 754 345 9 0 837 835 673 836 754 755 346 9 0 673 675 837 674 756 755 347 9 0 675 677 837 676 757 756 348 9 0 839 837 677 838 757 758 349 9 0 841 839 677 840 758 759 350 9 0 677 679 841 678 760 759 351 9 0 679 681 841 680 761 760 352 9 0 843 841 681 842 761 762 353 9 0 845 843 681 844 762 763 354 9 0 681 683 845 682 764 763 355 9 0 683 685 845 684 765 764 356 9 0 847 845 685 846 765 766 357 9 0 849 847 685 848 766 767 358 9 0 685 687 849 686 768 767 359 9 0 687 689 849 688 769 768 360 9 0 851 849 689 850 769 770 361 9 0 853 851 689 852 770 771 362 9 0 689 691 853 690 772 771 363 9 0 691 693 853 692 773 772 364 9 0 855 853 693 854 773 774 365 9 0 857 855 693 856 774 775 366 9 0 693 695 857 694 776 775 367 9 0 695 697 857 696 777 776 368 9 0 859 857 697 858 777 778 369 9 0 861 859 697 860 778 779 370 9 0 697 699 861 698 780 779 371 9 0 699 701 861 700 781 780 372 9 0 863 861 701 862 781 782 373 9 0 865 863 701 864 782 783 374 9 0 701 703 865 702 784 783 375 9 0 703 705 865 704 785 784 376 9 0 867 865 705 866 785 786 377 9 0 869 867 705 868 786 787 378 9 0 705 707 869 706 788 787 379 9 0 707 709 869 708 789 788 380 9 0 871 869 709 870 789 790 381 9 0 873 871 709 872 790 791 382 9 0 709 711 873 710 792 791 383 9 0 711 713 873 712 793 792 384 9 0 875 873 713 874 793 794 385 9 0 877 875 713 876 794 795 386 9 0 713 715 877 714 796 795 387 9 0 715 717 877 716 797 796 388 9 0 879 877 717 878 797 798 389 9 0 881 879 717 880 798 799 390 9 0 717 719 881 718 800 799 391 9 0 719 721 881 720 801 800 392 9 0 883 881 721 882 801 802 393 9 0 885 883 721 884 802 803 394 9 0 721 723 885 722 804 803 395 9 0 723 725 885 724 805 804 396 9 0 887 885 725 886 805 806 397 9 0 889 887 725 888 806 807 398 9 0 725 727 889 726 808 807 399 9 0 727 729 889 728 809 808 400 9 0 891 889 729 890 809 810 401 9 0 811 813 973 812 893 892 402 9 0 975 973 813 974 893 894 403 9 0 977 975 813 976 894 895 404 9 0 813 815 977 814 896 895 405 9 0 815 817 977 816 897 896 406 9 0 979 977 817 978 897 898 407 9 0 981 979 817 980 898 899 408 9 0 817 819 981 818 900 899 409 9 0 819 821 981 820 901 900 410 9 0 983 981 821 982 901 902 411 9 0 985 983 821 984 902 903 412 9 0 821 823 985 822 904 903 413 9 0 823 825 985 824 905 904 414 9 0 987 985 825 986 905 906 415 9 0 989 987 825 988 906 907 416 9 0 825 827 989 826 908 907 417 9 0 827 829 989 828 909 908 418 9 0 991 989 829 990 909 910 419 9 0 993 991 829 992 910 911 420 9 0 829 831 993 830 912 911 421 9 0 831 833 993 832 913 912 422 9 0 995 993 833 994 913 914 423 9 0 997 995 833 996 914 915 424 9 0 833 835 997 834 916 915 425 9 0 835 837 997 836 917 916 426 9 0 999 997 837 998 917 918 427 9 0 1001 999 837 1000 918 919 428 9 0 837 839 1001 838 920 919 429 9 0 839 841 1001 840 921 920 430 9 0 1003 1001 841 1002 921 922 431 9 0 1005 1003 841 1004 922 923 432 9 0 841 843 1005 842 924 923 433 9 0 843 845 1005 844 925 924 434 9 0 1007 1005 845 1006 925 926 435 9 0 1009 1007 845 1008 926 927 436 9 0 845 847 1009 846 928 927 437 9 0 847 849 1009 848 929 928 438 9 0 1011 1009 849 1010 929 930 439 9 0 1013 1011 849 1012 930 931 440 9 0 849 851 1013 850 932 931 441 9 0 851 853 1013 852 933 932 442 9 0 1015 1013 853 1014 933 934 443 9 0 1017 1015 853 1016 934 935 444 9 0 853 855 1017 854 936 935 445 9 0 855 857 1017 856 937 936 446 9 0 1019 1017 857 1018 937 938 447 9 0 1021 1019 857 1020 938 939 448 9 0 857 859 1021 858 940 939 449 9 0 859 861 1021 860 941 940 450 9 0 1023 1021 861 1022 941 942 451 9 0 1025 1023 861 1024 942 943 452 9 0 861 863 1025 862 944 943 453 9 0 863 865 1025 864 945 944 454 9 0 1027 1025 865 1026 945 946 455 9 0 1029 1027 865 1028 946 947 456 9 0 865 867 1029 866 948 947 457 9 0 867 869 1029 868 949 948 458 9 0 1031 1029 869 1030 949 950 459 9 0 1033 1031 869 1032 950 951 460 9 0 869 871 1033 870 952 951 461 9 0 871 873 1033 872 953 952 462 9 0 1035 1033 873 1034 953 954 463 9 0 1037 1035 873 1036 954 955 464 9 0 873 875 1037 874 956 955 465 9 0 875 877 1037 876 957 956 466 9 0 1039 1037 877 1038 957 958 467 9 0 1041 1039 877 1040 958 959 468 9 0 877 879 1041 878 960 959 469 9 0 879 881 1041 880 961 960 470 9 0 1043 1041 881 1042 961 962 471 9 0 1045 1043 881 1044 962 963 472 9 0 881 883 1045 882 964 963 473 9 0 883 885 1045 884 965 964 474 9 0 1047 1045 885 1046 965 966 475 9 0 1049 1047 885 1048 966 967 476 9 0 885 887 1049 886 968 967 477 9 0 887 889 1049 888 969 968 478 9 0 1051 1049 889 1050 969 970 479 9 0 1053 1051 889 1052 970 971 480 9 0 889 891 1053 890 972 971 481 9 0 1137 1135 973 1136 1054 1055 482 9 0 973 975 1137 974 1056 1055 483 9 0 975 977 1137 976 1057 1056 484 9 0 1139 1137 977 1138 1057 1058 485 9 0 1141 1139 977 1140 1058 1059 486 9 0 977 979 1141 978 1060 1059 487 9 0 979 981 1141 980 1061 1060 488 9 0 1143 1141 981 1142 1061 1062 489 9 0 1145 1143 981 1144 1062 1063 490 9 0 981 983 1145 982 1064 1063 491 9 0 983 985 1145 984 1065 1064 492 9 0 1147 1145 985 1146 1065 1066 493 9 0 1149 1147 985 1148 1066 1067 494 9 0 985 987 1149 986 1068 1067 495 9 0 987 989 1149 988 1069 1068 496 9 0 1151 1149 989 1150 1069 1070 497 9 0 1153 1151 989 1152 1070 1071 498 9 0 989 991 1153 990 1072 1071 499 9 0 991 993 1153 992 1073 1072 500 9 0 1155 1153 993 1154 1073 1074 501 9 0 1157 1155 993 1156 1074 1075 502 9 0 993 995 1157 994 1076 1075 503 9 0 995 997 1157 996 1077 1076 504 9 0 1159 1157 997 1158 1077 1078 505 9 0 1161 1159 997 1160 1078 1079 506 9 0 997 999 1161 998 1080 1079 507 9 0 999 1001 1161 1000 1081 1080 508 9 0 1163 1161 1001 1162 1081 1082 509 9 0 1165 1163 1001 1164 1082 1083 510 9 0 1001 1003 1165 1002 1084 1083 511 9 0 1003 1005 1165 1004 1085 1084 512 9 0 1167 1165 1005 1166 1085 1086 513 9 0 1169 1167 1005 1168 1086 1087 514 9 0 1005 1007 1169 1006 1088 1087 515 9 0 1007 1009 1169 1008 1089 1088 516 9 0 1171 1169 1009 1170 1089 1090 517 9 0 1173 1171 1009 1172 1090 1091 518 9 0 1009 1011 1173 1010 1092 1091 519 9 0 1011 1013 1173 1012 1093 1092 520 9 0 1175 1173 1013 1174 1093 1094 521 9 0 1177 1175 1013 1176 1094 1095 522 9 0 1013 1015 1177 1014 1096 1095 523 9 0 1015 1017 1177 1016 1097 1096 524 9 0 1179 1177 1017 1178 1097 1098 525 9 0 1181 1179 1017 1180 1098 1099 526 9 0 1017 1019 1181 1018 1100 1099 527 9 0 1019 1021 1181 1020 1101 1100 528 9 0 1183 1181 1021 1182 1101 1102 529 9 0 1185 1183 1021 1184 1102 1103 530 9 0 1021 1023 1185 1022 1104 1103 531 9 0 1023 1025 1185 1024 1105 1104 532 9 0 1187 1185 1025 1186 1105 1106 533 9 0 1189 1187 1025 1188 1106 1107 534 9 0 1025 1027 1189 1026 1108 1107 535 9 0 1027 1029 1189 1028 1109 1108 536 9 0 1191 1189 1029 1190 1109 1110 537 9 0 1193 1191 1029 1192 1110 1111 538 9 0 1029 1031 1193 1030 1112 1111 539 9 0 1031 1033 1193 1032 1113 1112 540 9 0 1195 1193 1033 1194 1113 1114 541 9 0 1197 1195 1033 1196 1114 1115 542 9 0 1033 1035 1197 1034 1116 1115 543 9 0 1035 1037 1197 1036 1117 1116 544 9 0 1199 1197 1037 1198 1117 1118 545 9 0 1201 1199 1037 1200 1118 1119 546 9 0 1037 1039 1201 1038 1120 1119 547 9 0 1039 1041 1201 1040 1121 1120 548 9 0 1203 1201 1041 1202 1121 1122 549 9 0 1205 1203 1041 1204 1122 1123 550 9 0 1041 1043 1205 1042 1124 1123 551 9 0 1043 1045 1205 1044 1125 1124 552 9 0 1207 1205 1045 1206 1125 1126 553 9 0 1209 1207 1045 1208 1126 1127 554 9 0 1045 1047 1209 1046 1128 1127 555 9 0 1047 1049 1209 1048 1129 1128 556 9 0 1211 1209 1049 1210 1129 1130 557 9 0 1213 1211 1049 1212 1130 1131 558 9 0 1049 1051 1213 1050 1132 1131 559 9 0 1051 1053 1213 1052 1133 1132 560 9 0 1215 1213 1053 1214 1133 1134 561 9 0 1135 1137 1297 1136 1217 1216 562 9 0 1299 1297 1137 1298 1217 1218 563 9 0 1301 1299 1137 1300 1218 1219 564 9 0 1137 1139 1301 1138 1220 1219 565 9 0 1139 1141 1301 1140 1221 1220 566 9 0 1303 1301 1141 1302 1221 1222 567 9 0 1305 1303 1141 1304 1222 1223 568 9 0 1141 1143 1305 1142 1224 1223 569 9 0 1143 1145 1305 1144 1225 1224 570 9 0 1307 1305 1145 1306 1225 1226 571 9 0 1309 1307 1145 1308 1226 1227 572 9 0 1145 1147 1309 1146 1228 1227 573 9 0 1147 1149 1309 1148 1229 1228 574 9 0 1311 1309 1149 1310 1229 1230 575 9 0 1313 1311 1149 1312 1230 1231 576 9 0 1149 1151 1313 1150 1232 1231 577 9 0 1151 1153 1313 1152 1233 1232 578 9 0 1315 1313 1153 1314 1233 1234 579 9 0 1317 1315 1153 1316 1234 1235 580 9 0 1153 1155 1317 1154 1236 1235 581 9 0 1155 1157 1317 1156 1237 1236 582 9 0 1319 1317 1157 1318 1237 1238 583 9 0 1321 1319 1157 1320 1238 1239 584 9 0 1157 1159 1321 1158 1240 1239 585 9 0 1159 1161 1321 1160 1241 1240 586 9 0 1323 1321 1161 1322 1241 1242 587 9 0 1325 1323 1161 1324 1242 1243 588 9 0 1161 1163 1325 1162 1244 1243 589 9 0 1163 1165 1325 1164 1245 1244 590 9 0 1327 1325 1165 1326 1245 1246 591 9 0 1329 1327 1165 1328 1246 1247 592 9 0 1165 1167 1329 1166 1248 1247 593 9 0 1167 1169 1329 1168 1249 1248 594 9 0 1331 1329 1169 1330 1249 1250 595 9 0 1333 1331 1169 1332 1250 1251 596 9 0 1169 1171 1333 1170 1252 1251 597 9 0 1171 1173 1333 1172 1253 1252 598 9 0 1335 1333 1173 1334 1253 1254 599 9 0 1337 1335 1173 1336 1254 1255 600 9 0 1173 1175 1337 1174 1256 1255 601 9 0 1175 1177 1337 1176 1257 1256 602 9 0 1339 1337 1177 1338 1257 1258 603 9 0 1341 1339 1177 1340 1258 1259 604 9 0 1177 1179 1341 1178 1260 1259 605 9 0 1179 1181 1341 1180 1261 1260 606 9 0 1343 1341 1181 1342 1261 1262 607 9 0 1345 1343 1181 1344 1262 1263 608 9 0 1181 1183 1345 1182 1264 1263 609 9 0 1183 1185 1345 1184 1265 1264 610 9 0 1347 1345 1185 1346 1265 1266 611 9 0 1349 1347 1185 1348 1266 1267 612 9 0 1185 1187 1349 1186 1268 1267 613 9 0 1187 1189 1349 1188 1269 1268 614 9 0 1351 1349 1189 1350 1269 1270 615 9 0 1353 1351 1189 1352 1270 1271 616 9 0 1189 1191 1353 1190 1272 1271 617 9 0 1191 1193 1353 1192 1273 1272 618 9 0 1355 1353 1193 1354 1273 1274 619 9 0 1357 1355 1193 1356 1274 1275 620 9 0 1193 1195 1357 1194 1276 1275 621 9 0 1195 1197 1357 1196 1277 1276 622 9 0 1359 1357 1197 1358 1277 1278 623 9 0 1361 1359 1197 1360 1278 1279 624 9 0 1197 1199 1361 1198 1280 1279 625 9 0 1199 1201 1361 1200 1281 1280 626 9 0 1363 1361 1201 1362 1281 1282 627 9 0 1365 1363 1201 1364 1282 1283 628 9 0 1201 1203 1365 1202 1284 1283 629 9 0 1203 1205 1365 1204 1285 1284 630 9 0 1367 1365 1205 1366 1285 1286 631 9 0 1369 1367 1205 1368 1286 1287 632 9 0 1205 1207 1369 1206 1288 1287 633 9 0 1207 1209 1369 1208 1289 1288 634 9 0 1371 1369 1209 1370 1289 1290 635 9 0 1373 1371 1209 1372 1290 1291 636 9 0 1209 1211 1373 1210 1292 1291 637 9 0 1211 1213 1373 1212 1293 1292 638 9 0 1375 1373 1213 1374 1293 1294 639 9 0 1377 1375 1213 1376 1294 1295 640 9 0 1213 1215 1377 1214 1296 1295 641 9 0 1461 1459 1297 1460 1378 1379 642 9 0 1297 1299 1461 1298 1380 1379 643 9 0 1299 1301 1461 1300 1381 1380 644 9 0 1463 1461 1301 1462 1381 1382 645 9 0 1465 1463 1301 1464 1382 1383 646 9 0 1301 1303 1465 1302 1384 1383 647 9 0 1303 1305 1465 1304 1385 1384 648 9 0 1467 1465 1305 1466 1385 1386 649 9 0 1469 1467 1305 1468 1386 1387 650 9 0 1305 1307 1469 1306 1388 1387 651 9 0 1307 1309 1469 1308 1389 1388 652 9 0 1471 1469 1309 1470 1389 1390 653 9 0 1473 1471 1309 1472 1390 1391 654 9 0 1309 1311 1473 1310 1392 1391 655 9 0 1311 1313 1473 1312 1393 1392 656 9 0 1475 1473 1313 1474 1393 1394 657 9 0 1477 1475 1313 1476 1394 1395 658 9 0 1313 1315 1477 1314 1396 1395 659 9 0 1315 1317 1477 1316 1397 1396 660 9 0 1479 1477 1317 1478 1397 1398 661 9 0 1481 1479 1317 1480 1398 1399 662 9 0 1317 1319 1481 1318 1400 1399 663 9 0 1319 1321 1481 1320 1401 1400 664 9 0 1483 1481 1321 1482 1401 1402 665 9 0 1485 1483 1321 1484 1402 1403 666 9 0 1321 1323 1485 1322 1404 1403 667 9 0 1323 1325 1485 1324 1405 1404 668 9 0 1487 1485 1325 1486 1405 1406 669 9 0 1489 1487 1325 1488 1406 1407 670 9 0 1325 1327 1489 1326 1408 1407 671 9 0 1327 1329 1489 1328 1409 1408 672 9 0 1491 1489 1329 1490 1409 1410 673 9 0 1493 1491 1329 1492 1410 1411 674 9 0 1329 1331 1493 1330 1412 1411 675 9 0 1331 1333 1493 1332 1413 1412 676 9 0 1495 1493 1333 1494 1413 1414 677 9 0 1497 1495 1333 1496 1414 1415 678 9 0 1333 1335 1497 1334 1416 1415 679 9 0 1335 1337 1497 1336 1417 1416 680 9 0 1499 1497 1337 1498 1417 1418 681 9 0 1501 1499 1337 1500 1418 1419 682 9 0 1337 1339 1501 1338 1420 1419 683 9 0 1339 1341 1501 1340 1421 1420 684 9 0 1503 1501 1341 1502 1421 1422 685 9 0 1505 1503 1341 1504 1422 1423 686 9 0 1341 1343 1505 1342 1424 1423 687 9 0 1343 1345 1505 1344 1425 1424 688 9 0 1507 1505 1345 1506 1425 1426 689 9 0 1509 1507 1345 1508 1426 1427 690 9 0 1345 1347 1509 1346 1428 1427 691 9 0 1347 1349 1509 1348 1429 1428 692 9 0 1511 1509 1349 1510 1429 1430 693 9 0 1513 1511 1349 1512 1430 1431 694 9 0 1349 1351 1513 1350 1432 1431 695 9 0 1351 1353 1513 1352 1433 1432 696 9 0 1515 1513 1353 1514 1433 1434 697 9 0 1517 1515 1353 1516 1434 1435 698 9 0 1353 1355 1517 1354 1436 1435 699 9 0 1355 1357 1517 1356 1437 1436 700 9 0 1519 1517 1357 1518 1437 1438 701 9 0 1521 1519 1357 1520 1438 1439 702 9 0 1357 1359 1521 1358 1440 1439 703 9 0 1359 1361 1521 1360 1441 1440 704 9 0 1523 1521 1361 1522 1441 1442 705 9 0 1525 1523 1361 1524 1442 1443 706 9 0 1361 1363 1525 1362 1444 1443 707 9 0 1363 1365 1525 1364 1445 1444 708 9 0 1527 1525 1365 1526 1445 1446 709 9 0 1529 1527 1365 1528 1446 1447 710 9 0 1365 1367 1529 1366 1448 1447 711 9 0 1367 1369 1529 1368 1449 1448 712 9 0 1531 1529 1369 1530 1449 1450 713 9 0 1533 1531 1369 1532 1450 1451 714 9 0 1369 1371 1533 1370 1452 1451 715 9 0 1371 1373 1533 1372 1453 1452 716 9 0 1535 1533 1373 1534 1453 1454 717 9 0 1537 1535 1373 1536 1454 1455 718 9 0 1373 1375 1537 1374 1456 1455 719 9 0 1375 1377 1537 1376 1457 1456 720 9 0 1539 1537 1377 1538 1457 1458 721 9 0 1459 1461 1621 1460 1541 1540 722 9 0 1623 1621 1461 1622 1541 1542 723 9 0 1625 1623 1461 1624 1542 1543 724 9 0 1461 1463 1625 1462 1544 1543 725 9 0 1463 1465 1625 1464 1545 1544 726 9 0 1627 1625 1465 1626 1545 1546 727 9 0 1629 1627 1465 1628 1546 1547 728 9 0 1465 1467 1629 1466 1548 1547 729 9 0 1467 1469 1629 1468 1549 1548 730 9 0 1631 1629 1469 1630 1549 1550 731 9 0 1633 1631 1469 1632 1550 1551 732 9 0 1469 1471 1633 1470 1552 1551 733 9 0 1471 1473 1633 1472 1553 1552 734 9 0 1635 1633 1473 1634 1553 1554 735 9 0 1637 1635 1473 1636 1554 1555 736 9 0 1473 1475 1637 1474 1556 1555 737 9 0 1475 1477 1637 1476 1557 1556 738 9 0 1639 1637 1477 1638 1557 1558 739 9 0 1641 1639 1477 1640 1558 1559 740 9 0 1477 1479 1641 1478 1560 1559 741 9 0 1479 1481 1641 1480 1561 1560 742 9 0 1643 1641 1481 1642 1561 1562 743 9 0 1645 1643 1481 1644 1562 1563 744 9 0 1481 1483 1645 1482 1564 1563 745 9 0 1483 1485 1645 1484 1565 1564 746 9 0 1647 1645 1485 1646 1565 1566 747 9 0 1649 1647 1485 1648 1566 1567 748 9 0 1485 1487 1649 1486 1568 1567 749 9 0 1487 1489 1649 1488 1569 1568 750 9 0 1651 1649 1489 1650 1569 1570 751 9 0 1653 1651 1489 1652 1570 1571 752 9 0 1489 1491 1653 1490 1572 1571 753 9 0 1491 1493 1653 1492 1573 1572 754 9 0 1655 1653 1493 1654 1573 1574 755 9 0 1657 1655 1493 1656 1574 1575 756 9 0 1493 1495 1657 1494 1576 1575 757 9 0 1495 1497 1657 1496 1577 1576 758 9 0 1659 1657 1497 1658 1577 1578 759 9 0 1661 1659 1497 1660 1578 1579 760 9 0 1497 1499 1661 1498 1580 1579 761 9 0 1499 1501 1661 1500 1581 1580 762 9 0 1663 1661 1501 1662 1581 1582 763 9 0 1665 1663 1501 1664 1582 1583 764 9 0 1501 1503 1665 1502 1584 1583 765 9 0 1503 1505 1665 1504 1585 1584 766 9 0 1667 1665 1505 1666 1585 1586 767 9 0 1669 1667 1505 1668 1586 1587 768 9 0 1505 1507 1669 1506 1588 1587 769 9 0 1507 1509 1669 1508 1589 1588 770 9 0 1671 1669 1509 1670 1589 1590 771 9 0 1673 1671 1509 1672 1590 1591 772 9 0 1509 1511 1673 1510 1592 1591 773 9 0 1511 1513 1673 1512 1593 1592 774 9 0 1675 1673 1513 1674 1593 1594 775 9 0 1677 1675 1513 1676 1594 1595 776 9 0 1513 1515 1677 1514 1596 1595 777 9 0 1515 1517 1677 1516 1597 1596 778 9 0 1679 1677 1517 1678 1597 1598 779 9 0 1681 1679 1517 1680 1598 1599 780 9 0 1517 1519 1681 1518 1600 1599 781 9 0 1519 1521 1681 1520 1601 1600 782 9 0 1683 1681 1521 1682 1601 1602 783 9 0 1685 1683 1521 1684 1602 1603 784 9 0 1521 1523 1685 1522 1604 1603 785 9 0 1523 1525 1685 1524 1605 1604 786 9 0 1687 1685 1525 1686 1605 1606 787 9 0 1689 1687 1525 1688 1606 1607 788 9 0 1525 1527 1689 1526 1608 1607 789 9 0 1527 1529 1689 1528 1609 1608 790 9 0 1691 1689 1529 1690 1609 1610 791 9 0 1693 1691 1529 1692 1610 1611 792 9 0 1529 1531 1693 1530 1612 1611 793 9 0 1531 1533 1693 1532 1613 1612 794 9 0 1695 1693 1533 1694 1613 1614 795 9 0 1697 1695 1533 1696 1614 1615 796 9 0 1533 1535 1697 1534 1616 1615 797 9 0 1535 1537 1697 1536 1617 1616 798 9 0 1699 1697 1537 1698 1617 1618 799 9 0 1701 1699 1537 1700 1618 1619 800 9 0 1537 1539 1701 1538 1620 1619 $EndElements -------------- next part -------------- A non-text attachment was scrubbed... Name: nastran-mesh.svg Type: image/svg+xml Size: 151433 bytes Desc: not available URL: -------------- next part -------------- SetFactory("OpenCASCADE"); Rectangle(1) = {0, 0, 0, 0.5, 2}; // entities for BCs and volume Physical Curve("bottom", 1) = {1}; Physical Curve("top", 2) = {3}; Physical Surface("bulk", 3) = {1}; // structured grid Transfinite Line {1,3} = 1+0.5/0.05; Transfinite Line {2,4} = 1+2/0.05; Transfinite Surface "*"; Mesh.ElementOrder = 2; -------------- next part -------------- $MeshFormat 4.1 0 8 $EndMeshFormat $PhysicalNames 3 1 1 "bottom" 1 2 "top" 2 3 "bulk" $EndPhysicalNames $Entities 4 4 1 0 1 0 0 0 0 2 0.5 0 0 0 3 0.5 2 0 0 4 0 2 0 0 1 -9.999999997511999e-08 -1e-07 -1e-07 0.5000000999999999 1e-07 1e-07 1 1 2 1 -2 2 0.4999999 -9.999999994736442e-08 -1e-07 0.5000000999999999 2.0000001 1e-07 0 2 2 -3 3 -9.999999997511999e-08 1.9999999 -1e-07 0.5000000999999999 2.0000001 1e-07 1 2 2 3 -4 4 -1e-07 -9.999999994736442e-08 -1e-07 1e-07 2.0000001 1e-07 0 2 4 -1 1 -9.999999997511999e-08 -9.999999994736442e-08 -1e-07 0.5000000999999999 2.0000001 1e-07 1 3 4 1 2 3 4 $EndEntities $Nodes 9 1701 1 1701 0 1 0 1 1 0 0 0 0 2 0 1 2 0.5 0 0 0 3 0 1 3 0.5 2 0 0 4 0 1 4 0 2 0 1 1 0 19 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 0.05 0 0 0.1 0 0 0.15 0 0 0.2 0 0 0.25 0 0 0.3 0 0 0.35 0 0 0.4 0 0 0.45 0 0 0.025 0 0 0.07500000000000001 0 0 0.125 0 0 0.175 0 0 0.225 0 0 0.275 0 0 0.3250000000000001 0 0 0.375 0 0 0.425 0 0 0.475 0 0 1 2 0 79 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 0.5 0.05 0 0.5 0.1 0 0.5 0.15 0 0.5 0.2 0 0.5 0.25 0 0.5 0.3 0 0.5 0.35 0 0.5 0.4 0 0.5 0.45 0 0.5 0.5 0 0.5 0.55 0 0.5 0.6000000000000001 0 0.5 0.65 0 0.5 0.7000000000000001 0 0.5 0.75 0 0.5 0.8 0 0.5 0.8500000000000001 0 0.5 0.9 0 0.5 0.9500000000000001 0 0.5 1 0 0.5 1.05 0 0.5 1.1 0 0.5 1.15 0 0.5 1.2 0 0.5 1.25 0 0.5 1.3 0 0.5 1.35 0 0.5 1.4 0 0.5 1.45 0 0.5 1.5 0 0.5 1.55 0 0.5 1.6 0 0.5 1.65 0 0.5 1.7 0 0.5 1.75 0 0.5 1.8 0 0.5 1.85 0 0.5 1.9 0 0.5 1.95 0 0.5 0.025 0 0.5 0.07500000000000001 0 0.5 0.125 0 0.5 0.175 0 0.5 0.225 0 0.5 0.275 0 0.5 0.3250000000000001 0 0.5 0.375 0 0.5 0.425 0 0.5 0.475 0 0.5 0.525 0 0.5 0.5750000000000001 0 0.5 0.625 0 0.5 0.675 0 0.5 0.725 0 0.5 0.775 0 0.5 0.8250000000000001 0 0.5 0.875 0 0.5 0.925 0 0.5 0.975 0 0.5 1.025 0 0.5 1.075 0 0.5 1.125 0 0.5 1.175 0 0.5 1.225 0 0.5 1.275 0 0.5 1.325 0 0.5 1.375 0 0.5 1.425 0 0.5 1.475 0 0.5 1.525 0 0.5 1.575 0 0.5 1.625 0 0.5 1.675 0 0.5 1.725 0 0.5 1.775 0 0.5 1.825 0 0.5 1.875 0 0.5 1.925 0 0.5 1.975 0 1 3 0 19 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 0.45 2 0 0.4 2 0 0.35 2 0 0.3 2 0 0.25 2 0 0.2 2 0 0.15 2 0 0.09999999999999998 2 0 0.04999999999999999 2 0 0.475 2 0 0.425 2 0 0.375 2 0 0.325 2 0 0.275 2 0 0.225 2 0 0.1749999999999999 2 0 0.125 2 0 0.07499999999999996 2 0 0.02500000000000002 2 0 1 4 0 79 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 0 1.95 0 0 1.9 0 0 1.85 0 0 1.8 0 0 1.75 0 0 1.7 0 0 1.65 0 0 1.6 0 0 1.55 0 0 1.5 0 0 1.45 0 0 1.4 0 0 1.35 0 0 1.3 0 0 1.25 0 0 1.2 0 0 1.15 0 0 1.1 0 0 1.05 0 0 1 0 0 0.95 0 0 0.8999999999999999 0 0 0.8499999999999999 0 0 0.7999999999999998 0 0 0.75 0 0 0.7 0 0 0.6499999999999999 0 0 0.5999999999999999 0 0 0.5499999999999998 0 0 0.5 0 0 0.45 0 0 0.3999999999999999 0 0 0.3499999999999999 0 0 0.2999999999999998 0 0 0.25 0 0 0.2 0 0 0.1499999999999999 0 0 0.09999999999999987 0 0 0.04999999999999982 0 0 1.975 0 0 1.925 0 0 1.875 0 0 1.825 0 0 1.775 0 0 1.725 0 0 1.675 0 0 1.625 0 0 1.575 0 0 1.525 0 0 1.475 0 0 1.425 0 0 1.375 0 0 1.325 0 0 1.275 0 0 1.225 0 0 1.175 0 0 1.125 0 0 1.075 0 0 1.025 0 0 0.9750000000000001 0 0 0.9249999999999998 0 0 0.875 0 0 0.8249999999999997 0 0 0.7749999999999999 0 0 0.7250000000000001 0 0 0.6749999999999998 0 0 0.625 0 0 0.5749999999999997 0 0 0.5249999999999999 0 0 0.4750000000000001 0 0 0.4249999999999998 0 0 0.375 0 0 0.3249999999999997 0 0 0.2749999999999999 0 0 0.2250000000000001 0 0 0.1749999999999998 0 0 0.125 0 0 0.07499999999999973 0 0 0.02499999999999991 0 2 1 0 1501 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 0.04999999999999996 0.04999999999999971 0 0.04999999999999999 0.09999999999999987 0 0.04999999999999999 0.1499999999999999 0 0.04999999999999999 0.2 0 0.04999999999999999 0.25 0 0.04999999999999999 0.2999999999999996 0 0.04999999999999999 0.3499999999999999 0 0.05000000000000002 0.3999999999999998 0 0.04999999999999999 0.45 0 0.04999999999999999 0.5 0 0.05000000000000004 0.5499999999999997 0 0.05000000000000004 0.5999999999999999 0 0.04999999999999999 0.6499999999999999 0 0.05000000000000004 0.7 0 0.04999999999999999 0.75 0 0.04999999999999999 0.7999999999999998 0 0.04999999999999999 0.8499999999999999 0 0.04999999999999993 0.8999999999999999 0 0.04999999999999999 0.95 0 0.04999999999999999 1 0 0.04999999999999999 1.05 0 0.04999999999999999 1.1 0 0.04999999999999999 1.15 0 0.04999999999999999 1.2 0 0.04999999999999999 1.25 0 0.04999999999999999 1.3 0 0.04999999999999999 1.35 0 0.04999999999999999 1.4 0 0.04999999999999999 1.45 0 0.04999999999999999 1.5 0 0.04999999999999999 1.55 0 0.04999999999999999 1.6 0 0.04999999999999999 1.65 0 0.04999999999999999 1.7 0 0.04999999999999996 1.75 0 0.04999999999999999 1.8 0 0.04999999999999996 1.85 0 0.04999999999999999 1.9 0 0.04999999999999996 1.95 0 0.1 0.04999999999999971 0 0.1 0.09999999999999987 0 0.09999999999999998 0.1499999999999997 0 0.09999999999999998 0.2 0 0.1 0.2500000000000001 0 0.09999999999999995 0.2999999999999997 0 0.1 0.35 0 0.09999999999999998 0.3999999999999999 0 0.1 0.45 0 0.09999999999999998 0.5 0 0.09999999999999995 0.5499999999999996 0 0.09999999999999995 0.5999999999999999 0 0.09999999999999998 0.6499999999999999 0 0.09999999999999998 0.7 0 0.09999999999999998 0.75 0 0.09999999999999998 0.7999999999999999 0 0.09999999999999998 0.8499999999999999 0 0.09999999999999998 0.8999999999999999 0 0.09999999999999995 0.95 0 0.09999999999999998 1 0 0.09999999999999998 1.05 0 0.09999999999999998 1.1 0 0.09999999999999998 1.15 0 0.09999999999999998 1.2 0 0.09999999999999998 1.25 0 0.09999999999999995 1.3 0 0.09999999999999995 1.35 0 0.09999999999999995 1.4 0 0.09999999999999995 1.45 0 0.09999999999999998 1.5 0 0.09999999999999998 1.55 0 0.09999999999999998 1.6 0 0.09999999999999998 1.65 0 0.09999999999999998 1.7 0 0.09999999999999998 1.75 0 0.09999999999999998 1.8 0 0.09999999999999998 1.85 0 0.09999999999999998 1.9 0 0.09999999999999998 1.95 0 0.15 0.05000000000000004 0 0.15 0.09999999999999987 0 0.15 0.1500000000000001 0 0.15 0.2000000000000001 0 0.15 0.25 0 0.15 0.2999999999999996 0 0.15 0.3499999999999999 0 0.15 0.3999999999999998 0 0.15 0.45 0 0.15 0.5 0 0.15 0.5499999999999999 0 0.15 0.5999999999999999 0 0.15 0.6499999999999999 0 0.15 0.7000000000000001 0 0.15 0.75 0 0.15 0.8 0 0.15 0.8499999999999999 0 0.15 0.8999999999999999 0 0.15 0.95 0 0.15 1 0 0.15 1.05 0 0.15 1.1 0 0.15 1.15 0 0.15 1.2 0 0.15 1.25 0 0.15 1.3 0 0.15 1.35 0 0.15 1.4 0 0.15 1.45 0 0.15 1.5 0 0.15 1.55 0 0.15 1.6 0 0.15 1.65 0 0.15 1.7 0 0.15 1.75 0 0.15 1.8 0 0.15 1.85 0 0.15 1.9 0 0.15 1.95 0 0.2 0.04999999999999982 0 0.2 0.09999999999999987 0 0.2 0.1499999999999998 0 0.2 0.2 0 0.2 0.25 0 0.2 0.3000000000000002 0 0.2 0.3499999999999999 0 0.2 0.3999999999999998 0 0.2 0.45 0 0.2 0.5 0 0.2 0.5499999999999999 0 0.2 0.5999999999999999 0 0.2 0.6499999999999999 0 0.2 0.7 0 0.2 0.75 0 0.2 0.7999999999999999 0 0.2 0.85 0 0.2 0.8999999999999999 0 0.2 0.95 0 0.2 1 0 0.2 1.05 0 0.2 1.1 0 0.2 1.15 0 0.2 1.2 0 0.2 1.25 0 0.2 1.3 0 0.2 1.35 0 0.2 1.4 0 0.2 1.45 0 0.2 1.5 0 0.2 1.55 0 0.2 1.6 0 0.2 1.65 0 0.2 1.7 0 0.2 1.75 0 0.2 1.8 0 0.2 1.85 0 0.2 1.9 0 0.2 1.95 0 0.25 0.04999999999999993 0 0.25 0.09999999999999987 0 0.25 0.1499999999999999 0 0.25 0.1999999999999998 0 0.25 0.25 0 0.25 0.3 0 0.25 0.3499999999999999 0 0.25 0.3999999999999999 0 0.25 0.4499999999999998 0 0.25 0.5 0 0.25 0.5499999999999998 0 0.25 0.5999999999999999 0 0.25 0.6499999999999999 0 0.25 0.7 0 0.25 0.75 0 0.25 0.7999999999999999 0 0.25 0.85 0 0.25 0.8999999999999999 0 0.25 0.95 0 0.25 1 0 0.25 1.05 0 0.25 1.1 0 0.25 1.15 0 0.25 1.2 0 0.25 1.25 0 0.25 1.3 0 0.25 1.35 0 0.25 1.4 0 0.25 1.45 0 0.25 1.5 0 0.25 1.55 0 0.25 1.6 0 0.25 1.65 0 0.25 1.7 0 0.25 1.75 0 0.25 1.8 0 0.25 1.85 0 0.25 1.9 0 0.25 1.95 0 0.3 0.04999999999999982 0 0.3 0.09999999999999987 0 0.3 0.15 0 0.3 0.2 0 0.3 0.25 0 0.3 0.2999999999999998 0 0.3 0.35 0 0.3 0.3999999999999999 0 0.3 0.45 0 0.3 0.5 0 0.3 0.5499999999999999 0 0.3 0.5999999999999999 0 0.3 0.6499999999999998 0 0.3 0.7 0 0.3 0.75 0 0.3 0.7999999999999999 0 0.3 0.85 0 0.3 0.8999999999999999 0 0.3 0.9500000000000001 0 0.3 1 0 0.3 1.05 0 0.3 1.1 0 0.3 1.15 0 0.3 1.2 0 0.3 1.25 0 0.3 1.3 0 0.3 1.35 0 0.3 1.4 0 0.3 1.45 0 0.3 1.5 0 0.3 1.55 0 0.3 1.6 0 0.3 1.65 0 0.3 1.7 0 0.3 1.75 0 0.3 1.8 0 0.3 1.85 0 0.3 1.9 0 0.3 1.95 0 0.35 0.05000000000000004 0 0.35 0.09999999999999987 0 0.35 0.1499999999999999 0 0.35 0.2 0 0.35 0.25 0 0.35 0.3000000000000002 0 0.35 0.3500000000000001 0 0.35 0.3999999999999999 0 0.35 0.4499999999999998 0 0.35 0.5 0 0.35 0.5499999999999999 0 0.35 0.6000000000000001 0 0.35 0.6500000000000001 0 0.35 0.7 0 0.35 0.75 0 0.35 0.7999999999999999 0 0.35 0.85 0 0.35 0.9 0 0.35 0.9500000000000001 0 0.35 1 0 0.35 1.05 0 0.35 1.1 0 0.35 1.15 0 0.35 1.2 0 0.35 1.25 0 0.35 1.3 0 0.35 1.35 0 0.35 1.4 0 0.35 1.45 0 0.35 1.5 0 0.35 1.55 0 0.35 1.6 0 0.35 1.65 0 0.35 1.7 0 0.35 1.75 0 0.35 1.8 0 0.35 1.85 0 0.35 1.9 0 0.35 1.95 0 0.4 0.05000000000000004 0 0.4 0.09999999999999987 0 0.4 0.1499999999999998 0 0.4 0.2 0 0.4 0.25 0 0.4 0.3 0 0.4 0.3500000000000001 0 0.4 0.4 0 0.4 0.45 0 0.4 0.5 0 0.4 0.5499999999999998 0 0.4 0.6000000000000001 0 0.4 0.6500000000000001 0 0.4 0.7 0 0.4 0.75 0 0.4 0.7999999999999999 0 0.4 0.8500000000000001 0 0.4 0.9 0 0.4 0.9500000000000001 0 0.4 1 0 0.4 1.05 0 0.4 1.1 0 0.4 1.15 0 0.4 1.2 0 0.4 1.25 0 0.4 1.3 0 0.4 1.35 0 0.4 1.4 0 0.4 1.45 0 0.4 1.5 0 0.4 1.55 0 0.4 1.6 0 0.4 1.65 0 0.4 1.7 0 0.4 1.75 0 0.4 1.8 0 0.4 1.85 0 0.4 1.9 0 0.4 1.95 0 0.45 0.05000000000000004 0 0.45 0.09999999999999987 0 0.45 0.1500000000000001 0 0.45 0.2 0 0.45 0.25 0 0.45 0.3 0 0.4500000000000001 0.3500000000000002 0 0.45 0.3999999999999998 0 0.45 0.45 0 0.45 0.5 0 0.45 0.5500000000000002 0 0.45 0.6000000000000001 0 0.45 0.6500000000000001 0 0.45 0.7 0 0.45 0.75 0 0.45 0.8 0 0.45 0.8500000000000001 0 0.4500000000000001 0.9 0 0.4500000000000001 0.9500000000000001 0 0.45 1 0 0.45 1.05 0 0.45 1.1 0 0.45 1.15 0 0.45 1.2 0 0.45 1.25 0 0.45 1.3 0 0.45 1.35 0 0.45 1.4 0 0.45 1.45 0 0.45 1.5 0 0.4500000000000001 1.55 0 0.45 1.6 0 0.45 1.65 0 0.45 1.7 0 0.4500000000000001 1.75 0 0.45 1.8 0 0.4500000000000001 1.85 0 0.45 1.9 0 0.4500000000000001 1.95 0 0.02499999999999999 0.02499999999999991 0 0.04999999999999999 0.02499999999999991 0 0.02499999999999997 0.04999999999999982 0 0.02499999999999997 0.07499999999999973 0 0.04999999999999999 0.07499999999999973 0 0.02499999999999999 0.09999999999999987 0 0.02499999999999999 0.1249999999999999 0 0.04999999999999999 0.1249999999999999 0 0.02499999999999999 0.1499999999999999 0 0.02499999999999999 0.1749999999999999 0 0.04999999999999999 0.1749999999999999 0 0.02499999999999999 0.2 0 0.02499999999999999 0.225 0 0.04999999999999999 0.225 0 0.02499999999999999 0.25 0 0.02499999999999999 0.2749999999999999 0 0.04999999999999999 0.2749999999999998 0 0.02499999999999999 0.2999999999999997 0 0.02499999999999999 0.3249999999999997 0 0.04999999999999999 0.3249999999999997 0 0.02499999999999999 0.3499999999999999 0 0.02499999999999999 0.3749999999999999 0 0.04999999999999999 0.3749999999999998 0 0.02500000000000002 0.3999999999999999 0 0.02500000000000002 0.4249999999999998 0 0.04999999999999999 0.4249999999999998 0 0.02499999999999999 0.45 0 0.02499999999999999 0.475 0 0.04999999999999999 0.475 0 0.02499999999999999 0.5 0 0.02499999999999999 0.5249999999999999 0 0.05000000000000002 0.5249999999999999 0 0.02500000000000002 0.5499999999999998 0 0.02500000000000002 0.5749999999999997 0 0.05000000000000004 0.5749999999999997 0 0.02500000000000002 0.5999999999999999 0 0.02500000000000002 0.6249999999999999 0 0.05000000000000002 0.6249999999999999 0 0.02499999999999999 0.6499999999999999 0 0.02499999999999999 0.6749999999999999 0 0.05000000000000002 0.6749999999999999 0 0.02500000000000002 0.7 0 0.02500000000000002 0.725 0 0.05000000000000002 0.725 0 0.02499999999999999 0.75 0 0.02499999999999999 0.7749999999999999 0 0.04999999999999999 0.7749999999999999 0 0.02499999999999999 0.7999999999999998 0 0.02499999999999999 0.8249999999999998 0 0.04999999999999999 0.8249999999999998 0 0.02499999999999999 0.8499999999999999 0 0.02499999999999999 0.8749999999999999 0 0.04999999999999996 0.8749999999999999 0 0.02499999999999997 0.8999999999999999 0 0.02499999999999997 0.9249999999999999 0 0.04999999999999996 0.9249999999999999 0 0.02499999999999999 0.95 0 0.02499999999999999 0.975 0 0.04999999999999999 0.975 0 0.02499999999999999 1 0 0.02499999999999999 1.025 0 0.04999999999999999 1.025 0 0.02499999999999999 1.05 0 0.02499999999999999 1.075 0 0.04999999999999999 1.075 0 0.02499999999999999 1.1 0 0.02499999999999999 1.125 0 0.04999999999999999 1.125 0 0.02499999999999999 1.15 0 0.02499999999999999 1.175 0 0.04999999999999999 1.175 0 0.02499999999999999 1.2 0 0.02499999999999999 1.225 0 0.04999999999999999 1.225 0 0.02499999999999999 1.25 0 0.02499999999999999 1.275 0 0.04999999999999999 1.275 0 0.02499999999999999 1.3 0 0.02499999999999999 1.325 0 0.04999999999999999 1.325 0 0.02499999999999999 1.35 0 0.02499999999999999 1.375 0 0.04999999999999999 1.375 0 0.02499999999999999 1.4 0 0.02499999999999999 1.425 0 0.04999999999999999 1.425 0 0.02499999999999999 1.45 0 0.02499999999999999 1.475 0 0.04999999999999999 1.475 0 0.02499999999999999 1.5 0 0.02499999999999999 1.525 0 0.04999999999999999 1.525 0 0.02499999999999999 1.55 0 0.02499999999999999 1.575 0 0.04999999999999999 1.575 0 0.02499999999999999 1.6 0 0.02499999999999999 1.625 0 0.04999999999999999 1.625 0 0.02499999999999999 1.65 0 0.02499999999999999 1.675 0 0.04999999999999999 1.675 0 0.02499999999999999 1.7 0 0.02499999999999999 1.725 0 0.04999999999999999 1.725 0 0.02499999999999997 1.75 0 0.02499999999999997 1.775 0 0.04999999999999999 1.775 0 0.02499999999999999 1.8 0 0.02499999999999999 1.825 0 0.04999999999999999 1.825 0 0.02499999999999997 1.85 0 0.02499999999999997 1.875 0 0.04999999999999999 1.875 0 0.02499999999999999 1.9 0 0.02499999999999999 1.925 0 0.04999999999999999 1.925 0 0.02499999999999997 1.95 0 0.02499999999999997 1.975 0 0.04999999999999999 1.975 0 0.07499999999999998 0.02499999999999991 0 0.1 0.02499999999999991 0 0.07499999999999998 0.04999999999999971 0 0.07500000000000001 0.07499999999999973 0 0.1 0.07499999999999973 0 0.07500000000000001 0.09999999999999987 0 0.07500000000000001 0.1249999999999999 0 0.1 0.1249999999999998 0 0.07499999999999998 0.1499999999999998 0 0.07499999999999998 0.1749999999999998 0 0.09999999999999998 0.1749999999999998 0 0.07499999999999998 0.2 0 0.07499999999999998 0.225 0 0.09999999999999998 0.2250000000000001 0 0.07500000000000001 0.25 0 0.07500000000000001 0.2749999999999999 0 0.09999999999999998 0.2749999999999999 0 0.07499999999999996 0.2999999999999996 0 0.07499999999999996 0.3249999999999997 0 0.09999999999999998 0.3249999999999998 0 0.07500000000000001 0.3499999999999999 0 0.07500000000000001 0.3749999999999999 0 0.09999999999999998 0.375 0 0.07500000000000001 0.3999999999999999 0 0.07499999999999998 0.4249999999999999 0 0.1 0.4249999999999999 0 0.07500000000000001 0.45 0 0.07500000000000001 0.475 0 0.1 0.475 0 0.07499999999999998 0.5 0 0.07500000000000001 0.5249999999999999 0 0.09999999999999998 0.5249999999999998 0 0.07500000000000001 0.5499999999999996 0 0.07500000000000001 0.5749999999999997 0 0.09999999999999995 0.5749999999999997 0 0.07500000000000001 0.5999999999999999 0 0.07499999999999996 0.6249999999999999 0 0.09999999999999998 0.6249999999999999 0 0.07499999999999998 0.6499999999999999 0 0.07500000000000001 0.6749999999999999 0 0.09999999999999998 0.6749999999999999 0 0.07500000000000001 0.7 0 0.07499999999999998 0.725 0 0.09999999999999998 0.725 0 0.07499999999999998 0.75 0 0.07499999999999998 0.7749999999999999 0 0.09999999999999998 0.7749999999999999 0 0.07499999999999998 0.7999999999999998 0 0.07499999999999998 0.825 0 0.09999999999999998 0.825 0 0.07499999999999998 0.8499999999999999 0 0.07499999999999996 0.8749999999999999 0 0.09999999999999998 0.8749999999999999 0 0.07499999999999996 0.8999999999999999 0 0.07499999999999998 0.9249999999999999 0 0.09999999999999998 0.9249999999999999 0 0.07499999999999996 0.95 0 0.07499999999999996 0.975 0 0.09999999999999998 0.975 0 0.07499999999999998 1 0 0.07499999999999998 1.025 0 0.09999999999999998 1.025 0 0.07499999999999998 1.05 0 0.07499999999999998 1.075 0 0.09999999999999998 1.075 0 0.07499999999999998 1.1 0 0.07499999999999998 1.125 0 0.09999999999999998 1.125 0 0.07499999999999998 1.15 0 0.07499999999999998 1.175 0 0.09999999999999998 1.175 0 0.07499999999999998 1.2 0 0.07499999999999998 1.225 0 0.09999999999999998 1.225 0 0.07499999999999998 1.25 0 0.07499999999999998 1.275 0 0.09999999999999998 1.275 0 0.07499999999999996 1.3 0 0.07499999999999996 1.325 0 0.09999999999999995 1.325 0 0.07499999999999996 1.35 0 0.07499999999999996 1.375 0 0.09999999999999995 1.375 0 0.07499999999999996 1.4 0 0.07499999999999996 1.425 0 0.09999999999999995 1.425 0 0.07499999999999996 1.45 0 0.07499999999999996 1.475 0 0.09999999999999998 1.475 0 0.07499999999999998 1.5 0 0.07499999999999998 1.525 0 0.09999999999999998 1.525 0 0.07499999999999998 1.55 0 0.07499999999999998 1.575 0 0.09999999999999998 1.575 0 0.07499999999999998 1.6 0 0.07499999999999998 1.625 0 0.09999999999999998 1.625 0 0.07499999999999998 1.65 0 0.07499999999999998 1.675 0 0.09999999999999998 1.675 0 0.07499999999999998 1.7 0 0.07499999999999996 1.725 0 0.09999999999999998 1.725 0 0.07499999999999996 1.75 0 0.07499999999999998 1.775 0 0.09999999999999998 1.775 0 0.07499999999999998 1.8 0 0.07499999999999996 1.825 0 0.09999999999999998 1.825 0 0.07499999999999996 1.85 0 0.07499999999999998 1.875 0 0.09999999999999998 1.875 0 0.07499999999999998 1.9 0 0.07499999999999996 1.925 0 0.09999999999999998 1.925 0 0.07499999999999996 1.95 0 0.07499999999999998 1.975 0 0.09999999999999998 1.975 0 0.125 0.02499999999999991 0 0.15 0.02500000000000002 0 0.125 0.04999999999999982 0 0.125 0.07499999999999996 0 0.15 0.07499999999999996 0 0.125 0.09999999999999987 0 0.125 0.1249999999999998 0 0.15 0.125 0 0.125 0.1499999999999999 0 0.125 0.175 0 0.15 0.175 0 0.125 0.2 0 0.125 0.2250000000000001 0 0.15 0.2250000000000001 0 0.125 0.25 0 0.125 0.2749999999999999 0 0.15 0.2749999999999998 0 0.125 0.2999999999999996 0 0.125 0.3249999999999997 0 0.15 0.3249999999999997 0 0.125 0.3499999999999999 0 0.125 0.3749999999999999 0 0.15 0.3749999999999998 0 0.125 0.3999999999999999 0 0.125 0.4249999999999998 0 0.15 0.4249999999999998 0 0.125 0.45 0 0.125 0.475 0 0.15 0.475 0 0.125 0.5 0 0.125 0.5249999999999998 0 0.15 0.5249999999999999 0 0.125 0.5499999999999998 0 0.125 0.575 0 0.15 0.575 0 0.125 0.5999999999999999 0 0.125 0.6249999999999999 0 0.15 0.6249999999999999 0 0.125 0.6499999999999999 0 0.125 0.6749999999999999 0 0.15 0.675 0 0.125 0.7 0 0.125 0.7250000000000001 0 0.15 0.7250000000000001 0 0.125 0.75 0 0.125 0.7749999999999999 0 0.15 0.775 0 0.125 0.8 0 0.125 0.825 0 0.15 0.825 0 0.125 0.8499999999999999 0 0.125 0.8749999999999999 0 0.15 0.8749999999999999 0 0.125 0.8999999999999999 0 0.125 0.9249999999999999 0 0.15 0.9249999999999999 0 0.125 0.95 0 0.125 0.975 0 0.15 0.975 0 0.125 1 0 0.125 1.025 0 0.15 1.025 0 0.125 1.05 0 0.125 1.075 0 0.15 1.075 0 0.125 1.1 0 0.125 1.125 0 0.15 1.125 0 0.125 1.15 0 0.125 1.175 0 0.15 1.175 0 0.125 1.2 0 0.125 1.225 0 0.15 1.225 0 0.125 1.25 0 0.125 1.275 0 0.15 1.275 0 0.125 1.3 0 0.125 1.325 0 0.15 1.325 0 0.125 1.35 0 0.125 1.375 0 0.15 1.375 0 0.125 1.4 0 0.125 1.425 0 0.15 1.425 0 0.1249999999999999 1.45 0 0.125 1.475 0 0.15 1.475 0 0.125 1.5 0 0.125 1.525 0 0.15 1.525 0 0.125 1.55 0 0.125 1.575 0 0.15 1.575 0 0.125 1.6 0 0.125 1.625 0 0.15 1.625 0 0.125 1.65 0 0.125 1.675 0 0.15 1.675 0 0.125 1.7 0 0.125 1.725 0 0.15 1.725 0 0.125 1.75 0 0.125 1.775 0 0.15 1.775 0 0.125 1.8 0 0.125 1.825 0 0.15 1.825 0 0.125 1.85 0 0.125 1.875 0 0.15 1.875 0 0.125 1.9 0 0.125 1.925 0 0.15 1.925 0 0.125 1.95 0 0.125 1.975 0 0.15 1.975 0 0.175 0.02500000000000002 0 0.2 0.02499999999999991 0 0.175 0.04999999999999993 0 0.175 0.07499999999999984 0 0.2 0.07499999999999984 0 0.175 0.09999999999999987 0 0.175 0.125 0 0.2 0.1249999999999998 0 0.175 0.1499999999999999 0 0.175 0.1749999999999999 0 0.2 0.1749999999999998 0 0.175 0.2 0 0.175 0.225 0 0.2 0.225 0 0.175 0.25 0 0.175 0.2749999999999998 0 0.2 0.2750000000000001 0 0.175 0.2999999999999998 0 0.175 0.325 0 0.2 0.325 0 0.175 0.3499999999999999 0 0.175 0.3749999999999998 0 0.2 0.3749999999999998 0 0.175 0.3999999999999998 0 0.175 0.4249999999999998 0 0.2 0.4249999999999998 0 0.175 0.45 0 0.175 0.475 0 0.2 0.475 0 0.175 0.5 0 0.175 0.5249999999999999 0 0.2 0.5249999999999999 0 0.175 0.5499999999999999 0 0.175 0.575 0 0.2 0.575 0 0.175 0.5999999999999999 0 0.175 0.6249999999999999 0 0.2 0.6249999999999999 0 0.175 0.6499999999999999 0 0.175 0.675 0 0.2 0.6749999999999999 0 0.175 0.7 0 0.175 0.725 0 0.2 0.725 0 0.175 0.75 0 0.175 0.775 0 0.2 0.7749999999999999 0 0.175 0.8 0 0.175 0.825 0 0.2 0.825 0 0.175 0.8499999999999999 0 0.175 0.875 0 0.2 0.875 0 0.175 0.8999999999999999 0 0.175 0.9249999999999999 0 0.2 0.9249999999999999 0 0.175 0.95 0 0.175 0.975 0 0.2 0.975 0 0.175 1 0 0.175 1.025 0 0.2 1.025 0 0.175 1.05 0 0.175 1.075 0 0.2 1.075 0 0.175 1.1 0 0.175 1.125 0 0.2 1.125 0 0.175 1.15 0 0.175 1.175 0 0.2 1.175 0 0.175 1.2 0 0.175 1.225 0 0.2 1.225 0 0.175 1.25 0 0.175 1.275 0 0.2 1.275 0 0.175 1.3 0 0.175 1.325 0 0.2 1.325 0 0.175 1.35 0 0.175 1.375 0 0.2 1.375 0 0.175 1.4 0 0.175 1.425 0 0.2 1.425 0 0.175 1.45 0 0.175 1.475 0 0.2 1.475 0 0.175 1.5 0 0.175 1.525 0 0.2 1.525 0 0.175 1.55 0 0.175 1.575 0 0.2 1.575 0 0.175 1.6 0 0.175 1.625 0 0.2 1.625 0 0.175 1.65 0 0.175 1.675 0 0.2 1.675 0 0.175 1.7 0 0.175 1.725 0 0.2 1.725 0 0.175 1.75 0 0.175 1.775 0 0.2 1.775 0 0.175 1.8 0 0.175 1.825 0 0.2 1.825 0 0.175 1.85 0 0.175 1.875 0 0.2 1.875 0 0.175 1.9 0 0.175 1.925 0 0.2 1.925 0 0.175 1.95 0 0.175 1.975 0 0.2 1.975 0 0.225 0.02499999999999991 0 0.25 0.02499999999999991 0 0.225 0.04999999999999982 0 0.225 0.07499999999999996 0 0.25 0.07499999999999996 0 0.225 0.09999999999999987 0 0.225 0.1249999999999998 0 0.25 0.1249999999999999 0 0.225 0.1499999999999999 0 0.225 0.1749999999999999 0 0.25 0.1749999999999998 0 0.225 0.2 0 0.225 0.2249999999999999 0 0.25 0.2249999999999999 0 0.225 0.25 0 0.225 0.2750000000000001 0 0.25 0.275 0 0.225 0.3 0 0.225 0.325 0 0.25 0.325 0 0.225 0.3499999999999999 0 0.225 0.3749999999999998 0 0.25 0.3749999999999999 0 0.225 0.3999999999999999 0 0.225 0.4249999999999999 0 0.25 0.4249999999999998 0 0.225 0.45 0 0.225 0.4749999999999999 0 0.25 0.4749999999999999 0 0.225 0.5 0 0.225 0.5249999999999999 0 0.25 0.5249999999999999 0 0.225 0.5499999999999998 0 0.225 0.5749999999999998 0 0.25 0.5749999999999998 0 0.225 0.5999999999999999 0 0.225 0.6249999999999999 0 0.25 0.6249999999999999 0 0.225 0.6499999999999999 0 0.225 0.6749999999999999 0 0.25 0.6749999999999999 0 0.225 0.7 0 0.225 0.725 0 0.25 0.725 0 0.225 0.75 0 0.225 0.7749999999999999 0 0.25 0.7749999999999999 0 0.225 0.7999999999999999 0 0.225 0.825 0 0.25 0.825 0 0.225 0.85 0 0.225 0.875 0 0.25 0.875 0 0.225 0.8999999999999999 0 0.225 0.9249999999999999 0 0.25 0.9249999999999999 0 0.225 0.95 0 0.225 0.975 0 0.25 0.975 0 0.225 1 0 0.225 1.025 0 0.25 1.025 0 0.225 1.05 0 0.225 1.075 0 0.25 1.075 0 0.225 1.1 0 0.225 1.125 0 0.25 1.125 0 0.225 1.15 0 0.225 1.175 0 0.25 1.175 0 0.225 1.2 0 0.225 1.225 0 0.25 1.225 0 0.225 1.25 0 0.225 1.275 0 0.25 1.275 0 0.225 1.3 0 0.225 1.325 0 0.25 1.325 0 0.225 1.35 0 0.225 1.375 0 0.25 1.375 0 0.225 1.4 0 0.225 1.425 0 0.25 1.425 0 0.225 1.45 0 0.225 1.475 0 0.25 1.475 0 0.225 1.5 0 0.225 1.525 0 0.25 1.525 0 0.225 1.55 0 0.225 1.575 0 0.25 1.575 0 0.225 1.6 0 0.225 1.625 0 0.25 1.625 0 0.225 1.65 0 0.225 1.675 0 0.25 1.675 0 0.225 1.7 0 0.225 1.725 0 0.25 1.725 0 0.225 1.75 0 0.225 1.775 0 0.25 1.775 0 0.225 1.8 0 0.225 1.825 0 0.25 1.825 0 0.225 1.85 0 0.225 1.875 0 0.25 1.875 0 0.225 1.9 0 0.225 1.925 0 0.25 1.925 0 0.225 1.95 0 0.225 1.975 0 0.25 1.975 0 0.275 0.02499999999999991 0 0.3 0.02499999999999991 0 0.275 0.04999999999999982 0 0.275 0.07499999999999984 0 0.3 0.07499999999999984 0 0.275 0.09999999999999987 0 0.275 0.1249999999999999 0 0.3 0.125 0 0.275 0.1499999999999999 0 0.275 0.1749999999999999 0 0.3 0.175 0 0.275 0.2 0 0.275 0.225 0 0.3 0.225 0 0.275 0.25 0 0.275 0.275 0 0.3 0.2749999999999999 0 0.275 0.2999999999999999 0 0.275 0.3249999999999998 0 0.3 0.325 0 0.275 0.3499999999999999 0 0.275 0.375 0 0.3 0.375 0 0.275 0.3999999999999999 0 0.275 0.4249999999999998 0 0.3 0.4249999999999999 0 0.275 0.45 0 0.275 0.475 0 0.3 0.475 0 0.275 0.5 0 0.275 0.5249999999999999 0 0.3 0.5249999999999999 0 0.275 0.5499999999999998 0 0.275 0.575 0 0.3 0.575 0 0.275 0.5999999999999999 0 0.275 0.6249999999999999 0 0.3 0.6249999999999998 0 0.275 0.6499999999999999 0 0.275 0.6749999999999998 0 0.3 0.6749999999999998 0 0.275 0.7 0 0.275 0.725 0 0.3 0.725 0 0.275 0.75 0 0.275 0.7749999999999999 0 0.3 0.7749999999999999 0 0.275 0.7999999999999999 0 0.275 0.825 0 0.3 0.825 0 0.275 0.85 0 0.275 0.875 0 0.3 0.875 0 0.275 0.8999999999999999 0 0.275 0.9249999999999999 0 0.3 0.925 0 0.275 0.95 0 0.275 0.9750000000000001 0 0.3 0.9750000000000001 0 0.275 1 0 0.275 1.025 0 0.3 1.025 0 0.275 1.05 0 0.275 1.075 0 0.3 1.075 0 0.275 1.1 0 0.275 1.125 0 0.3 1.125 0 0.275 1.15 0 0.275 1.175 0 0.3 1.175 0 0.275 1.2 0 0.275 1.225 0 0.3 1.225 0 0.275 1.25 0 0.275 1.275 0 0.3 1.275 0 0.275 1.3 0 0.275 1.325 0 0.3 1.325 0 0.275 1.35 0 0.275 1.375 0 0.3 1.375 0 0.275 1.4 0 0.275 1.425 0 0.3 1.425 0 0.275 1.45 0 0.275 1.475 0 0.3 1.475 0 0.275 1.5 0 0.275 1.525 0 0.3 1.525 0 0.275 1.55 0 0.275 1.575 0 0.3 1.575 0 0.275 1.6 0 0.275 1.625 0 0.3 1.625 0 0.275 1.65 0 0.275 1.675 0 0.3 1.675 0 0.275 1.7 0 0.275 1.725 0 0.3 1.725 0 0.275 1.75 0 0.275 1.775 0 0.3 1.775 0 0.275 1.8 0 0.275 1.825 0 0.3 1.825 0 0.275 1.85 0 0.275 1.875 0 0.3 1.875 0 0.275 1.9 0 0.275 1.925 0 0.3 1.925 0 0.275 1.95 0 0.275 1.975 0 0.3 1.975 0 0.3250000000000001 0.02499999999999991 0 0.35 0.02500000000000002 0 0.3250000000000001 0.04999999999999993 0 0.3250000000000001 0.07499999999999996 0 0.35 0.07499999999999996 0 0.3250000000000001 0.09999999999999987 0 0.3250000000000001 0.125 0 0.35 0.1249999999999999 0 0.3250000000000001 0.1499999999999999 0 0.3250000000000001 0.1749999999999999 0 0.35 0.1749999999999999 0 0.3250000000000001 0.2 0 0.3250000000000001 0.225 0 0.35 0.225 0 0.3250000000000001 0.25 0 0.3250000000000001 0.2749999999999999 0 0.35 0.2750000000000001 0 0.3250000000000001 0.3 0 0.3250000000000001 0.3250000000000001 0 0.35 0.3250000000000002 0 0.325 0.3500000000000001 0 0.325 0.375 0 0.35 0.375 0 0.3250000000000001 0.3999999999999999 0 0.3250000000000001 0.4249999999999999 0 0.35 0.4249999999999998 0 0.325 0.45 0 0.325 0.4749999999999999 0 0.35 0.4749999999999999 0 0.325 0.5 0 0.325 0.5249999999999999 0 0.35 0.5249999999999999 0 0.325 0.5499999999999999 0 0.325 0.575 0 0.35 0.575 0 0.325 0.6 0 0.325 0.625 0 0.35 0.6250000000000001 0 0.3250000000000001 0.6499999999999999 0 0.3250000000000001 0.675 0 0.35 0.675 0 0.325 0.7 0 0.325 0.725 0 0.35 0.725 0 0.3250000000000001 0.75 0 0.3250000000000001 0.7749999999999999 0 0.35 0.7749999999999999 0 0.3250000000000001 0.7999999999999999 0 0.3250000000000001 0.825 0 0.35 0.825 0 0.3250000000000001 0.85 0 0.325 0.875 0 0.35 0.875 0 0.325 0.8999999999999999 0 0.325 0.925 0 0.35 0.925 0 0.325 0.9500000000000001 0 0.325 0.9750000000000001 0 0.35 0.9750000000000001 0 0.3250000000000001 1 0 0.3250000000000001 1.025 0 0.35 1.025 0 0.325 1.05 0 0.325 1.075 0 0.35 1.075 0 0.325 1.1 0 0.325 1.125 0 0.35 1.125 0 0.325 1.15 0 0.325 1.175 0 0.35 1.175 0 0.3250000000000001 1.2 0 0.3250000000000001 1.225 0 0.35 1.225 0 0.325 1.25 0 0.325 1.275 0 0.35 1.275 0 0.325 1.3 0 0.325 1.325 0 0.35 1.325 0 0.325 1.35 0 0.325 1.375 0 0.35 1.375 0 0.325 1.4 0 0.325 1.425 0 0.35 1.425 0 0.325 1.45 0 0.325 1.475 0 0.35 1.475 0 0.325 1.5 0 0.325 1.525 0 0.35 1.525 0 0.325 1.55 0 0.325 1.575 0 0.35 1.575 0 0.325 1.6 0 0.325 1.625 0 0.35 1.625 0 0.325 1.65 0 0.325 1.675 0 0.35 1.675 0 0.325 1.7 0 0.325 1.725 0 0.35 1.725 0 0.325 1.75 0 0.325 1.775 0 0.35 1.775 0 0.325 1.8 0 0.325 1.825 0 0.35 1.825 0 0.325 1.85 0 0.325 1.875 0 0.35 1.875 0 0.325 1.9 0 0.325 1.925 0 0.35 1.925 0 0.325 1.95 0 0.325 1.975 0 0.35 1.975 0 0.375 0.02500000000000002 0 0.4 0.02500000000000002 0 0.375 0.05000000000000004 0 0.375 0.07499999999999996 0 0.4 0.07499999999999996 0 0.375 0.09999999999999987 0 0.375 0.1249999999999999 0 0.4 0.1249999999999998 0 0.375 0.1499999999999999 0 0.375 0.1749999999999998 0 0.4 0.1749999999999998 0 0.375 0.2 0 0.375 0.225 0 0.4 0.225 0 0.375 0.25 0 0.375 0.2750000000000001 0 0.4 0.275 0 0.375 0.3 0 0.375 0.3250000000000001 0 0.4 0.3250000000000001 0 0.375 0.3500000000000001 0 0.375 0.375 0 0.4 0.375 0 0.375 0.3999999999999999 0 0.375 0.4249999999999999 0 0.4 0.425 0 0.375 0.45 0 0.375 0.475 0 0.4 0.475 0 0.375 0.5 0 0.375 0.5249999999999999 0 0.4 0.5249999999999999 0 0.375 0.5499999999999998 0 0.375 0.575 0 0.4 0.575 0 0.375 0.6000000000000001 0 0.375 0.6250000000000001 0 0.4 0.6250000000000001 0 0.375 0.6500000000000001 0 0.375 0.675 0 0.4 0.675 0 0.375 0.7 0 0.375 0.725 0 0.4 0.725 0 0.375 0.75 0 0.375 0.7749999999999999 0 0.4 0.7749999999999999 0 0.375 0.7999999999999999 0 0.375 0.825 0 0.4 0.825 0 0.375 0.8500000000000001 0 0.375 0.875 0 0.4 0.875 0 0.375 0.9 0 0.375 0.925 0 0.4 0.925 0 0.375 0.9500000000000001 0 0.375 0.9750000000000001 0 0.4 0.9750000000000001 0 0.375 1 0 0.375 1.025 0 0.4 1.025 0 0.375 1.05 0 0.375 1.075 0 0.4 1.075 0 0.375 1.1 0 0.375 1.125 0 0.4 1.125 0 0.375 1.15 0 0.375 1.175 0 0.4 1.175 0 0.375 1.2 0 0.375 1.225 0 0.4 1.225 0 0.375 1.25 0 0.375 1.275 0 0.4 1.275 0 0.375 1.3 0 0.375 1.325 0 0.4 1.325 0 0.375 1.35 0 0.375 1.375 0 0.4 1.375 0 0.375 1.4 0 0.375 1.425 0 0.4 1.425 0 0.375 1.45 0 0.375 1.475 0 0.4 1.475 0 0.375 1.5 0 0.375 1.525 0 0.4 1.525 0 0.375 1.55 0 0.375 1.575 0 0.4 1.575 0 0.375 1.6 0 0.375 1.625 0 0.4 1.625 0 0.375 1.65 0 0.375 1.675 0 0.4 1.675 0 0.375 1.7 0 0.375 1.725 0 0.4 1.725 0 0.375 1.75 0 0.375 1.775 0 0.4 1.775 0 0.375 1.8 0 0.375 1.825 0 0.4 1.825 0 0.375 1.85 0 0.375 1.875 0 0.4 1.875 0 0.375 1.9 0 0.375 1.925 0 0.4 1.925 0 0.375 1.95 0 0.375 1.975 0 0.4 1.975 0 0.425 0.02500000000000002 0 0.45 0.02500000000000002 0 0.425 0.05000000000000004 0 0.425 0.07499999999999996 0 0.45 0.07499999999999996 0 0.425 0.09999999999999987 0 0.425 0.1249999999999998 0 0.45 0.125 0 0.425 0.1499999999999999 0 0.425 0.175 0 0.45 0.175 0 0.425 0.2 0 0.425 0.225 0 0.45 0.225 0 0.425 0.25 0 0.425 0.275 0 0.45 0.275 0 0.425 0.3 0 0.425 0.3250000000000001 0 0.4500000000000001 0.3250000000000002 0 0.425 0.3500000000000001 0 0.425 0.3750000000000001 0 0.45 0.375 0 0.425 0.3999999999999999 0 0.425 0.4249999999999998 0 0.45 0.4249999999999998 0 0.425 0.45 0 0.425 0.475 0 0.45 0.475 0 0.425 0.5 0 0.425 0.5249999999999999 0 0.45 0.5250000000000001 0 0.425 0.55 0 0.4249999999999999 0.5750000000000002 0 0.45 0.5750000000000002 0 0.4249999999999999 0.6000000000000001 0 0.425 0.6250000000000001 0 0.45 0.6250000000000001 0 0.425 0.6500000000000001 0 0.425 0.675 0 0.45 0.675 0 0.425 0.7 0 0.425 0.725 0 0.45 0.725 0 0.425 0.75 0 0.425 0.7749999999999999 0 0.45 0.775 0 0.425 0.8 0 0.425 0.8250000000000001 0 0.45 0.8250000000000001 0 0.425 0.8500000000000001 0 0.425 0.875 0 0.4500000000000001 0.875 0 0.425 0.9 0 0.425 0.925 0 0.4500000000000001 0.925 0 0.425 0.9500000000000001 0 0.425 0.9750000000000001 0 0.4500000000000001 0.9750000000000001 0 0.425 1 0 0.425 1.025 0 0.45 1.025 0 0.425 1.05 0 0.425 1.075 0 0.45 1.075 0 0.425 1.1 0 0.425 1.125 0 0.45 1.125 0 0.425 1.15 0 0.425 1.175 0 0.45 1.175 0 0.425 1.2 0 0.425 1.225 0 0.45 1.225 0 0.425 1.25 0 0.425 1.275 0 0.45 1.275 0 0.425 1.3 0 0.425 1.325 0 0.45 1.325 0 0.425 1.35 0 0.425 1.375 0 0.45 1.375 0 0.425 1.4 0 0.425 1.425 0 0.45 1.425 0 0.425 1.45 0 0.425 1.475 0 0.45 1.475 0 0.425 1.5 0 0.425 1.525 0 0.4500000000000001 1.525 0 0.425 1.55 0 0.425 1.575 0 0.45 1.575 0 0.425 1.6 0 0.425 1.625 0 0.45 1.625 0 0.425 1.65 0 0.425 1.675 0 0.45 1.675 0 0.425 1.7 0 0.425 1.725 0 0.4500000000000001 1.725 0 0.425 1.75 0 0.425 1.775 0 0.4500000000000001 1.775 0 0.425 1.8 0 0.425 1.825 0 0.4500000000000001 1.825 0 0.425 1.85 0 0.425 1.875 0 0.4500000000000001 1.875 0 0.425 1.9 0 0.425 1.925 0 0.4500000000000001 1.925 0 0.425 1.95 0 0.425 1.975 0 0.4500000000000001 1.975 0 0.475 0.02500000000000002 0 0.475 0.05000000000000004 0 0.475 0.07499999999999996 0 0.475 0.09999999999999998 0 0.475 0.125 0 0.475 0.1500000000000001 0 0.475 0.175 0 0.475 0.2 0 0.475 0.225 0 0.475 0.25 0 0.475 0.275 0 0.475 0.3 0 0.475 0.3250000000000002 0 0.475 0.3500000000000001 0 0.475 0.3749999999999999 0 0.475 0.3999999999999999 0 0.475 0.425 0 0.475 0.45 0 0.475 0.475 0 0.475 0.5 0 0.475 0.5250000000000001 0 0.475 0.55 0 0.475 0.5750000000000001 0 0.475 0.6000000000000001 0 0.475 0.6250000000000001 0 0.475 0.6500000000000001 0 0.475 0.675 0 0.475 0.7 0 0.475 0.7250000000000001 0 0.475 0.75 0 0.475 0.775 0 0.475 0.8 0 0.475 0.8250000000000001 0 0.475 0.8500000000000001 0 0.475 0.875 0 0.475 0.9 0 0.475 0.925 0 0.475 0.9500000000000001 0 0.475 0.9750000000000001 0 0.475 1 0 0.475 1.025 0 0.475 1.05 0 0.475 1.075 0 0.475 1.1 0 0.475 1.125 0 0.475 1.15 0 0.475 1.175 0 0.475 1.2 0 0.475 1.225 0 0.475 1.25 0 0.475 1.275 0 0.475 1.3 0 0.475 1.325 0 0.475 1.35 0 0.475 1.375 0 0.475 1.4 0 0.475 1.425 0 0.475 1.45 0 0.475 1.475 0 0.475 1.5 0 0.475 1.525 0 0.475 1.55 0 0.475 1.575 0 0.475 1.6 0 0.475 1.625 0 0.475 1.65 0 0.475 1.675 0 0.475 1.7 0 0.475 1.725 0 0.475 1.75 0 0.475 1.775 0 0.475 1.8 0 0.475 1.825 0 0.475 1.85 0 0.475 1.875 0 0.475 1.9 0 0.475 1.925 0 0.475 1.95 0 0.475 1.975 0 $EndNodes $Elements 3 820 1 820 1 1 8 10 1 1 5 14 2 5 6 15 3 6 7 16 4 7 8 17 5 8 9 18 6 9 10 19 7 10 11 20 8 11 12 21 9 12 13 22 10 13 2 23 1 3 8 10 11 3 103 112 12 103 104 113 13 104 105 114 14 105 106 115 15 106 107 116 16 107 108 117 17 108 109 118 18 109 110 119 19 110 111 120 20 111 4 121 2 1 9 800 21 1 5 160 14 552 200 22 160 5 201 552 553 554 23 160 201 159 554 555 199 24 159 201 202 555 556 557 25 159 202 158 557 558 198 26 158 202 203 558 559 560 27 158 203 157 560 561 197 28 157 203 204 561 562 563 29 157 204 156 563 564 196 30 156 204 205 564 565 566 31 156 205 155 566 567 195 32 155 205 206 567 568 569 33 155 206 154 569 570 194 34 154 206 207 570 571 572 35 154 207 153 572 573 193 36 153 207 208 573 574 575 37 153 208 152 575 576 192 38 152 208 209 576 577 578 39 152 209 151 578 579 191 40 151 209 210 579 580 581 41 151 210 150 581 582 190 42 150 210 211 582 583 584 43 150 211 149 584 585 189 44 149 211 212 585 586 587 45 149 212 148 587 588 188 46 148 212 213 588 589 590 47 148 213 147 590 591 187 48 147 213 214 591 592 593 49 147 214 146 593 594 186 50 146 214 215 594 595 596 51 146 215 145 596 597 185 52 145 215 216 597 598 599 53 145 216 144 599 600 184 54 144 216 217 600 601 602 55 144 217 143 602 603 183 56 143 217 218 603 604 605 57 143 218 142 605 606 182 58 142 218 219 606 607 608 59 142 219 141 608 609 181 60 141 219 220 609 610 611 61 141 220 140 611 612 180 62 140 220 221 612 613 614 63 140 221 139 614 615 179 64 139 221 222 615 616 617 65 139 222 138 617 618 178 66 138 222 223 618 619 620 67 138 223 137 620 621 177 68 137 223 224 621 622 623 69 137 224 136 623 624 176 70 136 224 225 624 625 626 71 136 225 135 626 627 175 72 135 225 226 627 628 629 73 135 226 134 629 630 174 74 134 226 227 630 631 632 75 134 227 133 632 633 173 76 133 227 228 633 634 635 77 133 228 132 635 636 172 78 132 228 229 636 637 638 79 132 229 131 638 639 171 80 131 229 230 639 640 641 81 131 230 130 641 642 170 82 130 230 231 642 643 644 83 130 231 129 644 645 169 84 129 231 232 645 646 647 85 129 232 128 647 648 168 86 128 232 233 648 649 650 87 128 233 127 650 651 167 88 127 233 234 651 652 653 89 127 234 126 653 654 166 90 126 234 235 654 655 656 91 126 235 125 656 657 165 92 125 235 236 657 658 659 93 125 236 124 659 660 164 94 124 236 237 660 661 662 95 124 237 123 662 663 163 96 123 237 238 663 664 665 97 123 238 122 665 666 162 98 122 238 239 666 667 668 99 122 239 4 668 669 161 100 4 239 111 669 670 121 101 5 6 201 15 671 553 102 201 6 240 671 672 673 103 201 240 202 673 674 556 104 202 240 241 674 675 676 105 202 241 203 676 677 559 106 203 241 242 677 678 679 107 203 242 204 679 680 562 108 204 242 243 680 681 682 109 204 243 205 682 683 565 110 205 243 244 683 684 685 111 205 244 206 685 686 568 112 206 244 245 686 687 688 113 206 245 207 688 689 571 114 207 245 246 689 690 691 115 207 246 208 691 692 574 116 208 246 247 692 693 694 117 208 247 209 694 695 577 118 209 247 248 695 696 697 119 209 248 210 697 698 580 120 210 248 249 698 699 700 121 210 249 211 700 701 583 122 211 249 250 701 702 703 123 211 250 212 703 704 586 124 212 250 251 704 705 706 125 212 251 213 706 707 589 126 213 251 252 707 708 709 127 213 252 214 709 710 592 128 214 252 253 710 711 712 129 214 253 215 712 713 595 130 215 253 254 713 714 715 131 215 254 216 715 716 598 132 216 254 255 716 717 718 133 216 255 217 718 719 601 134 217 255 256 719 720 721 135 217 256 218 721 722 604 136 218 256 257 722 723 724 137 218 257 219 724 725 607 138 219 257 258 725 726 727 139 219 258 220 727 728 610 140 220 258 259 728 729 730 141 220 259 221 730 731 613 142 221 259 260 731 732 733 143 221 260 222 733 734 616 144 222 260 261 734 735 736 145 222 261 223 736 737 619 146 223 261 262 737 738 739 147 223 262 224 739 740 622 148 224 262 263 740 741 742 149 224 263 225 742 743 625 150 225 263 264 743 744 745 151 225 264 226 745 746 628 152 226 264 265 746 747 748 153 226 265 227 748 749 631 154 227 265 266 749 750 751 155 227 266 228 751 752 634 156 228 266 267 752 753 754 157 228 267 229 754 755 637 158 229 267 268 755 756 757 159 229 268 230 757 758 640 160 230 268 269 758 759 760 161 230 269 231 760 761 643 162 231 269 270 761 762 763 163 231 270 232 763 764 646 164 232 270 271 764 765 766 165 232 271 233 766 767 649 166 233 271 272 767 768 769 167 233 272 234 769 770 652 168 234 272 273 770 771 772 169 234 273 235 772 773 655 170 235 273 274 773 774 775 171 235 274 236 775 776 658 172 236 274 275 776 777 778 173 236 275 237 778 779 661 174 237 275 276 779 780 781 175 237 276 238 781 782 664 176 238 276 277 782 783 784 177 238 277 239 784 785 667 178 239 277 278 785 786 787 179 239 278 111 787 788 670 180 111 278 110 788 789 120 181 6 7 240 16 790 672 182 240 7 279 790 791 792 183 240 279 241 792 793 675 184 241 279 280 793 794 795 185 241 280 242 795 796 678 186 242 280 281 796 797 798 187 242 281 243 798 799 681 188 243 281 282 799 800 801 189 243 282 244 801 802 684 190 244 282 283 802 803 804 191 244 283 245 804 805 687 192 245 283 284 805 806 807 193 245 284 246 807 808 690 194 246 284 285 808 809 810 195 246 285 247 810 811 693 196 247 285 286 811 812 813 197 247 286 248 813 814 696 198 248 286 287 814 815 816 199 248 287 249 816 817 699 200 249 287 288 817 818 819 201 249 288 250 819 820 702 202 250 288 289 820 821 822 203 250 289 251 822 823 705 204 251 289 290 823 824 825 205 251 290 252 825 826 708 206 252 290 291 826 827 828 207 252 291 253 828 829 711 208 253 291 292 829 830 831 209 253 292 254 831 832 714 210 254 292 293 832 833 834 211 254 293 255 834 835 717 212 255 293 294 835 836 837 213 255 294 256 837 838 720 214 256 294 295 838 839 840 215 256 295 257 840 841 723 216 257 295 296 841 842 843 217 257 296 258 843 844 726 218 258 296 297 844 845 846 219 258 297 259 846 847 729 220 259 297 298 847 848 849 221 259 298 260 849 850 732 222 260 298 299 850 851 852 223 260 299 261 852 853 735 224 261 299 300 853 854 855 225 261 300 262 855 856 738 226 262 300 301 856 857 858 227 262 301 263 858 859 741 228 263 301 302 859 860 861 229 263 302 264 861 862 744 230 264 302 303 862 863 864 231 264 303 265 864 865 747 232 265 303 304 865 866 867 233 265 304 266 867 868 750 234 266 304 305 868 869 870 235 266 305 267 870 871 753 236 267 305 306 871 872 873 237 267 306 268 873 874 756 238 268 306 307 874 875 876 239 268 307 269 876 877 759 240 269 307 308 877 878 879 241 269 308 270 879 880 762 242 270 308 309 880 881 882 243 270 309 271 882 883 765 244 271 309 310 883 884 885 245 271 310 272 885 886 768 246 272 310 311 886 887 888 247 272 311 273 888 889 771 248 273 311 312 889 890 891 249 273 312 274 891 892 774 250 274 312 313 892 893 894 251 274 313 275 894 895 777 252 275 313 314 895 896 897 253 275 314 276 897 898 780 254 276 314 315 898 899 900 255 276 315 277 900 901 783 256 277 315 316 901 902 903 257 277 316 278 903 904 786 258 278 316 317 904 905 906 259 278 317 110 906 907 789 260 110 317 109 907 908 119 261 7 8 279 17 909 791 262 279 8 318 909 910 911 263 279 318 280 911 912 794 264 280 318 319 912 913 914 265 280 319 281 914 915 797 266 281 319 320 915 916 917 267 281 320 282 917 918 800 268 282 320 321 918 919 920 269 282 321 283 920 921 803 270 283 321 322 921 922 923 271 283 322 284 923 924 806 272 284 322 323 924 925 926 273 284 323 285 926 927 809 274 285 323 324 927 928 929 275 285 324 286 929 930 812 276 286 324 325 930 931 932 277 286 325 287 932 933 815 278 287 325 326 933 934 935 279 287 326 288 935 936 818 280 288 326 327 936 937 938 281 288 327 289 938 939 821 282 289 327 328 939 940 941 283 289 328 290 941 942 824 284 290 328 329 942 943 944 285 290 329 291 944 945 827 286 291 329 330 945 946 947 287 291 330 292 947 948 830 288 292 330 331 948 949 950 289 292 331 293 950 951 833 290 293 331 332 951 952 953 291 293 332 294 953 954 836 292 294 332 333 954 955 956 293 294 333 295 956 957 839 294 295 333 334 957 958 959 295 295 334 296 959 960 842 296 296 334 335 960 961 962 297 296 335 297 962 963 845 298 297 335 336 963 964 965 299 297 336 298 965 966 848 300 298 336 337 966 967 968 301 298 337 299 968 969 851 302 299 337 338 969 970 971 303 299 338 300 971 972 854 304 300 338 339 972 973 974 305 300 339 301 974 975 857 306 301 339 340 975 976 977 307 301 340 302 977 978 860 308 302 340 341 978 979 980 309 302 341 303 980 981 863 310 303 341 342 981 982 983 311 303 342 304 983 984 866 312 304 342 343 984 985 986 313 304 343 305 986 987 869 314 305 343 344 987 988 989 315 305 344 306 989 990 872 316 306 344 345 990 991 992 317 306 345 307 992 993 875 318 307 345 346 993 994 995 319 307 346 308 995 996 878 320 308 346 347 996 997 998 321 308 347 309 998 999 881 322 309 347 348 999 1000 1001 323 309 348 310 1001 1002 884 324 310 348 349 1002 1003 1004 325 310 349 311 1004 1005 887 326 311 349 350 1005 1006 1007 327 311 350 312 1007 1008 890 328 312 350 351 1008 1009 1010 329 312 351 313 1010 1011 893 330 313 351 352 1011 1012 1013 331 313 352 314 1013 1014 896 332 314 352 353 1014 1015 1016 333 314 353 315 1016 1017 899 334 315 353 354 1017 1018 1019 335 315 354 316 1019 1020 902 336 316 354 355 1020 1021 1022 337 316 355 317 1022 1023 905 338 317 355 356 1023 1024 1025 339 317 356 109 1025 1026 908 340 109 356 108 1026 1027 118 341 8 9 318 18 1028 910 342 318 9 357 1028 1029 1030 343 318 357 319 1030 1031 913 344 319 357 358 1031 1032 1033 345 319 358 320 1033 1034 916 346 320 358 359 1034 1035 1036 347 320 359 321 1036 1037 919 348 321 359 360 1037 1038 1039 349 321 360 322 1039 1040 922 350 322 360 361 1040 1041 1042 351 322 361 323 1042 1043 925 352 323 361 362 1043 1044 1045 353 323 362 324 1045 1046 928 354 324 362 363 1046 1047 1048 355 324 363 325 1048 1049 931 356 325 363 364 1049 1050 1051 357 325 364 326 1051 1052 934 358 326 364 365 1052 1053 1054 359 326 365 327 1054 1055 937 360 327 365 366 1055 1056 1057 361 327 366 328 1057 1058 940 362 328 366 367 1058 1059 1060 363 328 367 329 1060 1061 943 364 329 367 368 1061 1062 1063 365 329 368 330 1063 1064 946 366 330 368 369 1064 1065 1066 367 330 369 331 1066 1067 949 368 331 369 370 1067 1068 1069 369 331 370 332 1069 1070 952 370 332 370 371 1070 1071 1072 371 332 371 333 1072 1073 955 372 333 371 372 1073 1074 1075 373 333 372 334 1075 1076 958 374 334 372 373 1076 1077 1078 375 334 373 335 1078 1079 961 376 335 373 374 1079 1080 1081 377 335 374 336 1081 1082 964 378 336 374 375 1082 1083 1084 379 336 375 337 1084 1085 967 380 337 375 376 1085 1086 1087 381 337 376 338 1087 1088 970 382 338 376 377 1088 1089 1090 383 338 377 339 1090 1091 973 384 339 377 378 1091 1092 1093 385 339 378 340 1093 1094 976 386 340 378 379 1094 1095 1096 387 340 379 341 1096 1097 979 388 341 379 380 1097 1098 1099 389 341 380 342 1099 1100 982 390 342 380 381 1100 1101 1102 391 342 381 343 1102 1103 985 392 343 381 382 1103 1104 1105 393 343 382 344 1105 1106 988 394 344 382 383 1106 1107 1108 395 344 383 345 1108 1109 991 396 345 383 384 1109 1110 1111 397 345 384 346 1111 1112 994 398 346 384 385 1112 1113 1114 399 346 385 347 1114 1115 997 400 347 385 386 1115 1116 1117 401 347 386 348 1117 1118 1000 402 348 386 387 1118 1119 1120 403 348 387 349 1120 1121 1003 404 349 387 388 1121 1122 1123 405 349 388 350 1123 1124 1006 406 350 388 389 1124 1125 1126 407 350 389 351 1126 1127 1009 408 351 389 390 1127 1128 1129 409 351 390 352 1129 1130 1012 410 352 390 391 1130 1131 1132 411 352 391 353 1132 1133 1015 412 353 391 392 1133 1134 1135 413 353 392 354 1135 1136 1018 414 354 392 393 1136 1137 1138 415 354 393 355 1138 1139 1021 416 355 393 394 1139 1140 1141 417 355 394 356 1141 1142 1024 418 356 394 395 1142 1143 1144 419 356 395 108 1144 1145 1027 420 108 395 107 1145 1146 117 421 9 10 357 19 1147 1029 422 357 10 396 1147 1148 1149 423 357 396 358 1149 1150 1032 424 358 396 397 1150 1151 1152 425 358 397 359 1152 1153 1035 426 359 397 398 1153 1154 1155 427 359 398 360 1155 1156 1038 428 360 398 399 1156 1157 1158 429 360 399 361 1158 1159 1041 430 361 399 400 1159 1160 1161 431 361 400 362 1161 1162 1044 432 362 400 401 1162 1163 1164 433 362 401 363 1164 1165 1047 434 363 401 402 1165 1166 1167 435 363 402 364 1167 1168 1050 436 364 402 403 1168 1169 1170 437 364 403 365 1170 1171 1053 438 365 403 404 1171 1172 1173 439 365 404 366 1173 1174 1056 440 366 404 405 1174 1175 1176 441 366 405 367 1176 1177 1059 442 367 405 406 1177 1178 1179 443 367 406 368 1179 1180 1062 444 368 406 407 1180 1181 1182 445 368 407 369 1182 1183 1065 446 369 407 408 1183 1184 1185 447 369 408 370 1185 1186 1068 448 370 408 409 1186 1187 1188 449 370 409 371 1188 1189 1071 450 371 409 410 1189 1190 1191 451 371 410 372 1191 1192 1074 452 372 410 411 1192 1193 1194 453 372 411 373 1194 1195 1077 454 373 411 412 1195 1196 1197 455 373 412 374 1197 1198 1080 456 374 412 413 1198 1199 1200 457 374 413 375 1200 1201 1083 458 375 413 414 1201 1202 1203 459 375 414 376 1203 1204 1086 460 376 414 415 1204 1205 1206 461 376 415 377 1206 1207 1089 462 377 415 416 1207 1208 1209 463 377 416 378 1209 1210 1092 464 378 416 417 1210 1211 1212 465 378 417 379 1212 1213 1095 466 379 417 418 1213 1214 1215 467 379 418 380 1215 1216 1098 468 380 418 419 1216 1217 1218 469 380 419 381 1218 1219 1101 470 381 419 420 1219 1220 1221 471 381 420 382 1221 1222 1104 472 382 420 421 1222 1223 1224 473 382 421 383 1224 1225 1107 474 383 421 422 1225 1226 1227 475 383 422 384 1227 1228 1110 476 384 422 423 1228 1229 1230 477 384 423 385 1230 1231 1113 478 385 423 424 1231 1232 1233 479 385 424 386 1233 1234 1116 480 386 424 425 1234 1235 1236 481 386 425 387 1236 1237 1119 482 387 425 426 1237 1238 1239 483 387 426 388 1239 1240 1122 484 388 426 427 1240 1241 1242 485 388 427 389 1242 1243 1125 486 389 427 428 1243 1244 1245 487 389 428 390 1245 1246 1128 488 390 428 429 1246 1247 1248 489 390 429 391 1248 1249 1131 490 391 429 430 1249 1250 1251 491 391 430 392 1251 1252 1134 492 392 430 431 1252 1253 1254 493 392 431 393 1254 1255 1137 494 393 431 432 1255 1256 1257 495 393 432 394 1257 1258 1140 496 394 432 433 1258 1259 1260 497 394 433 395 1260 1261 1143 498 395 433 434 1261 1262 1263 499 395 434 107 1263 1264 1146 500 107 434 106 1264 1265 116 501 10 11 396 20 1266 1148 502 396 11 435 1266 1267 1268 503 396 435 397 1268 1269 1151 504 397 435 436 1269 1270 1271 505 397 436 398 1271 1272 1154 506 398 436 437 1272 1273 1274 507 398 437 399 1274 1275 1157 508 399 437 438 1275 1276 1277 509 399 438 400 1277 1278 1160 510 400 438 439 1278 1279 1280 511 400 439 401 1280 1281 1163 512 401 439 440 1281 1282 1283 513 401 440 402 1283 1284 1166 514 402 440 441 1284 1285 1286 515 402 441 403 1286 1287 1169 516 403 441 442 1287 1288 1289 517 403 442 404 1289 1290 1172 518 404 442 443 1290 1291 1292 519 404 443 405 1292 1293 1175 520 405 443 444 1293 1294 1295 521 405 444 406 1295 1296 1178 522 406 444 445 1296 1297 1298 523 406 445 407 1298 1299 1181 524 407 445 446 1299 1300 1301 525 407 446 408 1301 1302 1184 526 408 446 447 1302 1303 1304 527 408 447 409 1304 1305 1187 528 409 447 448 1305 1306 1307 529 409 448 410 1307 1308 1190 530 410 448 449 1308 1309 1310 531 410 449 411 1310 1311 1193 532 411 449 450 1311 1312 1313 533 411 450 412 1313 1314 1196 534 412 450 451 1314 1315 1316 535 412 451 413 1316 1317 1199 536 413 451 452 1317 1318 1319 537 413 452 414 1319 1320 1202 538 414 452 453 1320 1321 1322 539 414 453 415 1322 1323 1205 540 415 453 454 1323 1324 1325 541 415 454 416 1325 1326 1208 542 416 454 455 1326 1327 1328 543 416 455 417 1328 1329 1211 544 417 455 456 1329 1330 1331 545 417 456 418 1331 1332 1214 546 418 456 457 1332 1333 1334 547 418 457 419 1334 1335 1217 548 419 457 458 1335 1336 1337 549 419 458 420 1337 1338 1220 550 420 458 459 1338 1339 1340 551 420 459 421 1340 1341 1223 552 421 459 460 1341 1342 1343 553 421 460 422 1343 1344 1226 554 422 460 461 1344 1345 1346 555 422 461 423 1346 1347 1229 556 423 461 462 1347 1348 1349 557 423 462 424 1349 1350 1232 558 424 462 463 1350 1351 1352 559 424 463 425 1352 1353 1235 560 425 463 464 1353 1354 1355 561 425 464 426 1355 1356 1238 562 426 464 465 1356 1357 1358 563 426 465 427 1358 1359 1241 564 427 465 466 1359 1360 1361 565 427 466 428 1361 1362 1244 566 428 466 467 1362 1363 1364 567 428 467 429 1364 1365 1247 568 429 467 468 1365 1366 1367 569 429 468 430 1367 1368 1250 570 430 468 469 1368 1369 1370 571 430 469 431 1370 1371 1253 572 431 469 470 1371 1372 1373 573 431 470 432 1373 1374 1256 574 432 470 471 1374 1375 1376 575 432 471 433 1376 1377 1259 576 433 471 472 1377 1378 1379 577 433 472 434 1379 1380 1262 578 434 472 473 1380 1381 1382 579 434 473 106 1382 1383 1265 580 106 473 105 1383 1384 115 581 11 12 435 21 1385 1267 582 435 12 474 1385 1386 1387 583 435 474 436 1387 1388 1270 584 436 474 475 1388 1389 1390 585 436 475 437 1390 1391 1273 586 437 475 476 1391 1392 1393 587 437 476 438 1393 1394 1276 588 438 476 477 1394 1395 1396 589 438 477 439 1396 1397 1279 590 439 477 478 1397 1398 1399 591 439 478 440 1399 1400 1282 592 440 478 479 1400 1401 1402 593 440 479 441 1402 1403 1285 594 441 479 480 1403 1404 1405 595 441 480 442 1405 1406 1288 596 442 480 481 1406 1407 1408 597 442 481 443 1408 1409 1291 598 443 481 482 1409 1410 1411 599 443 482 444 1411 1412 1294 600 444 482 483 1412 1413 1414 601 444 483 445 1414 1415 1297 602 445 483 484 1415 1416 1417 603 445 484 446 1417 1418 1300 604 446 484 485 1418 1419 1420 605 446 485 447 1420 1421 1303 606 447 485 486 1421 1422 1423 607 447 486 448 1423 1424 1306 608 448 486 487 1424 1425 1426 609 448 487 449 1426 1427 1309 610 449 487 488 1427 1428 1429 611 449 488 450 1429 1430 1312 612 450 488 489 1430 1431 1432 613 450 489 451 1432 1433 1315 614 451 489 490 1433 1434 1435 615 451 490 452 1435 1436 1318 616 452 490 491 1436 1437 1438 617 452 491 453 1438 1439 1321 618 453 491 492 1439 1440 1441 619 453 492 454 1441 1442 1324 620 454 492 493 1442 1443 1444 621 454 493 455 1444 1445 1327 622 455 493 494 1445 1446 1447 623 455 494 456 1447 1448 1330 624 456 494 495 1448 1449 1450 625 456 495 457 1450 1451 1333 626 457 495 496 1451 1452 1453 627 457 496 458 1453 1454 1336 628 458 496 497 1454 1455 1456 629 458 497 459 1456 1457 1339 630 459 497 498 1457 1458 1459 631 459 498 460 1459 1460 1342 632 460 498 499 1460 1461 1462 633 460 499 461 1462 1463 1345 634 461 499 500 1463 1464 1465 635 461 500 462 1465 1466 1348 636 462 500 501 1466 1467 1468 637 462 501 463 1468 1469 1351 638 463 501 502 1469 1470 1471 639 463 502 464 1471 1472 1354 640 464 502 503 1472 1473 1474 641 464 503 465 1474 1475 1357 642 465 503 504 1475 1476 1477 643 465 504 466 1477 1478 1360 644 466 504 505 1478 1479 1480 645 466 505 467 1480 1481 1363 646 467 505 506 1481 1482 1483 647 467 506 468 1483 1484 1366 648 468 506 507 1484 1485 1486 649 468 507 469 1486 1487 1369 650 469 507 508 1487 1488 1489 651 469 508 470 1489 1490 1372 652 470 508 509 1490 1491 1492 653 470 509 471 1492 1493 1375 654 471 509 510 1493 1494 1495 655 471 510 472 1495 1496 1378 656 472 510 511 1496 1497 1498 657 472 511 473 1498 1499 1381 658 473 511 512 1499 1500 1501 659 473 512 105 1501 1502 1384 660 105 512 104 1502 1503 114 661 12 13 474 22 1504 1386 662 474 13 513 1504 1505 1506 663 474 513 475 1506 1507 1389 664 475 513 514 1507 1508 1509 665 475 514 476 1509 1510 1392 666 476 514 515 1510 1511 1512 667 476 515 477 1512 1513 1395 668 477 515 516 1513 1514 1515 669 477 516 478 1515 1516 1398 670 478 516 517 1516 1517 1518 671 478 517 479 1518 1519 1401 672 479 517 518 1519 1520 1521 673 479 518 480 1521 1522 1404 674 480 518 519 1522 1523 1524 675 480 519 481 1524 1525 1407 676 481 519 520 1525 1526 1527 677 481 520 482 1527 1528 1410 678 482 520 521 1528 1529 1530 679 482 521 483 1530 1531 1413 680 483 521 522 1531 1532 1533 681 483 522 484 1533 1534 1416 682 484 522 523 1534 1535 1536 683 484 523 485 1536 1537 1419 684 485 523 524 1537 1538 1539 685 485 524 486 1539 1540 1422 686 486 524 525 1540 1541 1542 687 486 525 487 1542 1543 1425 688 487 525 526 1543 1544 1545 689 487 526 488 1545 1546 1428 690 488 526 527 1546 1547 1548 691 488 527 489 1548 1549 1431 692 489 527 528 1549 1550 1551 693 489 528 490 1551 1552 1434 694 490 528 529 1552 1553 1554 695 490 529 491 1554 1555 1437 696 491 529 530 1555 1556 1557 697 491 530 492 1557 1558 1440 698 492 530 531 1558 1559 1560 699 492 531 493 1560 1561 1443 700 493 531 532 1561 1562 1563 701 493 532 494 1563 1564 1446 702 494 532 533 1564 1565 1566 703 494 533 495 1566 1567 1449 704 495 533 534 1567 1568 1569 705 495 534 496 1569 1570 1452 706 496 534 535 1570 1571 1572 707 496 535 497 1572 1573 1455 708 497 535 536 1573 1574 1575 709 497 536 498 1575 1576 1458 710 498 536 537 1576 1577 1578 711 498 537 499 1578 1579 1461 712 499 537 538 1579 1580 1581 713 499 538 500 1581 1582 1464 714 500 538 539 1582 1583 1584 715 500 539 501 1584 1585 1467 716 501 539 540 1585 1586 1587 717 501 540 502 1587 1588 1470 718 502 540 541 1588 1589 1590 719 502 541 503 1590 1591 1473 720 503 541 542 1591 1592 1593 721 503 542 504 1593 1594 1476 722 504 542 543 1594 1595 1596 723 504 543 505 1596 1597 1479 724 505 543 544 1597 1598 1599 725 505 544 506 1599 1600 1482 726 506 544 545 1600 1601 1602 727 506 545 507 1602 1603 1485 728 507 545 546 1603 1604 1605 729 507 546 508 1605 1606 1488 730 508 546 547 1606 1607 1608 731 508 547 509 1608 1609 1491 732 509 547 548 1609 1610 1611 733 509 548 510 1611 1612 1494 734 510 548 549 1612 1613 1614 735 510 549 511 1614 1615 1497 736 511 549 550 1615 1616 1617 737 511 550 512 1617 1618 1500 738 512 550 551 1618 1619 1620 739 512 551 104 1620 1621 1503 740 104 551 103 1621 1622 113 741 13 2 513 23 1623 1505 742 513 2 24 1623 63 1624 743 513 24 514 1624 1625 1508 744 514 24 25 1625 64 1626 745 514 25 515 1626 1627 1511 746 515 25 26 1627 65 1628 747 515 26 516 1628 1629 1514 748 516 26 27 1629 66 1630 749 516 27 517 1630 1631 1517 750 517 27 28 1631 67 1632 751 517 28 518 1632 1633 1520 752 518 28 29 1633 68 1634 753 518 29 519 1634 1635 1523 754 519 29 30 1635 69 1636 755 519 30 520 1636 1637 1526 756 520 30 31 1637 70 1638 757 520 31 521 1638 1639 1529 758 521 31 32 1639 71 1640 759 521 32 522 1640 1641 1532 760 522 32 33 1641 72 1642 761 522 33 523 1642 1643 1535 762 523 33 34 1643 73 1644 763 523 34 524 1644 1645 1538 764 524 34 35 1645 74 1646 765 524 35 525 1646 1647 1541 766 525 35 36 1647 75 1648 767 525 36 526 1648 1649 1544 768 526 36 37 1649 76 1650 769 526 37 527 1650 1651 1547 770 527 37 38 1651 77 1652 771 527 38 528 1652 1653 1550 772 528 38 39 1653 78 1654 773 528 39 529 1654 1655 1553 774 529 39 40 1655 79 1656 775 529 40 530 1656 1657 1556 776 530 40 41 1657 80 1658 777 530 41 531 1658 1659 1559 778 531 41 42 1659 81 1660 779 531 42 532 1660 1661 1562 780 532 42 43 1661 82 1662 781 532 43 533 1662 1663 1565 782 533 43 44 1663 83 1664 783 533 44 534 1664 1665 1568 784 534 44 45 1665 84 1666 785 534 45 535 1666 1667 1571 786 535 45 46 1667 85 1668 787 535 46 536 1668 1669 1574 788 536 46 47 1669 86 1670 789 536 47 537 1670 1671 1577 790 537 47 48 1671 87 1672 791 537 48 538 1672 1673 1580 792 538 48 49 1673 88 1674 793 538 49 539 1674 1675 1583 794 539 49 50 1675 89 1676 795 539 50 540 1676 1677 1586 796 540 50 51 1677 90 1678 797 540 51 541 1678 1679 1589 798 541 51 52 1679 91 1680 799 541 52 542 1680 1681 1592 800 542 52 53 1681 92 1682 801 542 53 543 1682 1683 1595 802 543 53 54 1683 93 1684 803 543 54 544 1684 1685 1598 804 544 54 55 1685 94 1686 805 544 55 545 1686 1687 1601 806 545 55 56 1687 95 1688 807 545 56 546 1688 1689 1604 808 546 56 57 1689 96 1690 809 546 57 547 1690 1691 1607 810 547 57 58 1691 97 1692 811 547 58 548 1692 1693 1610 812 548 58 59 1693 98 1694 813 548 59 549 1694 1695 1613 814 549 59 60 1695 99 1696 815 549 60 550 1696 1697 1616 816 550 60 61 1697 100 1698 817 550 61 551 1698 1699 1619 818 551 61 62 1699 101 1700 819 551 62 103 1700 1701 1622 820 103 62 3 1701 102 112 $EndElements -------------- next part -------------- A non-text attachment was scrubbed... Name: fino-nastran.svg Type: image/svg+xml Size: 87886 bytes Desc: not available URL: From mau.rohracker at fau.de Tue Jan 21 14:14:29 2020 From: mau.rohracker at fau.de (Rohracker, Maurice) Date: Tue, 21 Jan 2020 14:14:29 +0100 Subject: [Gmsh] Periodicity at the boundary of a box Message-ID: <4feaa3a5e7744a9f31b0b97a0d26a5c3@fau.de> Dear GMSH developer and user, for a HiWi job at the FAU Erlangen-N?rnberg we're using GMSH in PYTHON for meshing representative elementary volume (RVEs). Therefore we have a box (2D) with circular inclusions. For the following FE simulation, we need periodicity at the boundary. I was trying to use: gmsh.model.mesh.setPeriodic(dim=2, [rveLine1], [rveLine3], affineTransform) with an affine transform matrix np.array(([1., 0., 0., 0., 0., 1. 0., 0., 0., 0., 1., 0., 0., 0., 0., 1.]), float) Or is it a good approach setting each point on the boundary to handle the desired number of elements on the boundary by oneself? Could you help me set up the affine transform matrix (is there an example?) or are there any other and better way to get periodicity at the boundary? Thanks a lot for your support in advance. Kind regards, Maurice Rohracker Master Student Computational Engineering FAU Erlangen-N?rnberg From cgeuzaine at uliege.be Tue Jan 21 14:21:47 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 21 Jan 2020 14:21:47 +0100 Subject: [Gmsh] Periodicity at the boundary of a box In-Reply-To: <4feaa3a5e7744a9f31b0b97a0d26a5c3@fau.de> References: <4feaa3a5e7744a9f31b0b97a0d26a5c3@fau.de> Message-ID: > On 21 Jan 2020, at 14:14, Rohracker, Maurice wrote: > > Dear GMSH developer and user, > > for a HiWi job at the FAU Erlangen-N?rnberg we're using GMSH in PYTHON for meshing representative elementary volume (RVEs). > > Therefore we have a box (2D) with circular inclusions. For the following FE simulation, we need periodicity at the boundary. > > I was trying to use: gmsh.model.mesh.setPeriodic(dim=2, [rveLine1], [rveLine3], affineTransform) > with an affine transform matrix np.array(([1., 0., 0., 0., > 0., 1. 0., 0., > 0., 0., 1., 0., > 0., 0., 0., 1.]), float) > > Or is it a good approach setting each point on the boundary to handle the desired number of elements on the boundary by oneself? > > Could you help me set up the affine transform matrix (is there an example?) or are there any other and better way to get periodicity at the boundary? > See https://gitlab.onelab.info/gmsh/gmsh/blob/master/demos/api/periodic.py Christophe > Thanks a lot for your support in advance. > > Kind regards, > Maurice Rohracker > Master Student Computational Engineering FAU Erlangen-N?rnberg > > _______________________________________________ > 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 From cgeuzaine at uliege.be Tue Jan 21 14:24:16 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 21 Jan 2020 14:24:16 +0100 Subject: [Gmsh] Structured surface meshes and export to XYZ or structured CGNS In-Reply-To: References: Message-ID: <1CC79795-41EA-4CF6-A8B8-3EC846456E67@uliege.be> Hi Guillaume, Indeed Gmsh handles most (if not all) meshes as unstructured. Our new CGNS importer now handles structured meshes as input ; but the exporter still currently exports even structured meshes as unstructured. We plan to add simple structured CGNS grids for our transfinite meshes - but it's not done yet. Any help with this would actually be welcome. Best, Christophe > On 16 Jan 2020, at 10:59, Guillaume Florent wrote: > > Hello, > > This is my first message on the mailing list, so please apologize any wandering off the Gmsh community culture ... > > I want to create a structured/block-structured (obviously quads) surface mesh and export it to either Plot3D XYZ format or to CGNS structured format to use it as an input for another hyperbolic mesher. > > Starting with a simple cube, I realized that: > > - I could not find an exporter to Plot3D XYZ format (I yet have to see if the P3D export format can be converted to XYZ) > > - even for a simple transfinite surface mesh on a cube face, I get an unstructured CGNS mesh when exported ('Unstructured' is in plain text in the exported file and the hyperbolic mesher complains about that since it expects a structured mesh). > > Am I missing something or hitting a Gmsh limit? > > Best regards, > > Guillaume Florent (Yacht Design + Engineering) > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Tue Jan 21 14:25:50 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 21 Jan 2020 14:25:50 +0100 Subject: [Gmsh] Hextreme into Gmsh In-Reply-To: <09ee1657-a911-e1de-2e92-6216eae41617@gmail.com> References: <09ee1657-a911-e1de-2e92-6216eae41617@gmail.com> Message-ID: Hi Guillaume, It's indeed planned, but it's too early to know when. For 2D meshes there will probably be something in 2020. Christophe > On 16 Jan 2020, at 11:03, Guillaume Florent wrote: > > Hello, > > The developments at hextreme.eu (especially the automated multiblock decomposition) seem extremely interesting and powerful and it is stated that they will be integrated into Gmsh 'soon'. Does anyone have a rough idea of when they will be available for testing? How can one help? > > All the best, > > Guillaume Florent > > > _______________________________________________ > 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 From florentsailing at gmail.com Wed Jan 22 12:20:12 2020 From: florentsailing at gmail.com (Guillaume Florent) Date: Wed, 22 Jan 2020 12:20:12 +0100 Subject: [Gmsh] Structured surface meshes and export to XYZ or structured CGNS In-Reply-To: <1CC79795-41EA-4CF6-A8B8-3EC846456E67@uliege.be> References: <1CC79795-41EA-4CF6-A8B8-3EC846456E67@uliege.be> Message-ID: Hi Christophe, Thanks for your crystal clear answer. Its leaves the options either create a converter from the current Plot3d P3D export (to plot3D XYZ) or to help with the CGNS structured export... Cheers, Guillaume Le 21/01/2020 ? 14:24, Christophe Geuzaine a ?crit?: > Hi Guillaume, > > Indeed Gmsh handles most (if not all) meshes as unstructured. Our new CGNS importer now handles structured meshes as input ; but the exporter still currently exports even structured meshes as unstructured. We plan to add simple structured CGNS grids for our transfinite meshes - but it's not done yet. Any help with this would actually be welcome. > > Best, > > Christophe > > >> On 16 Jan 2020, at 10:59, Guillaume Florent wrote: >> >> Hello, >> >> This is my first message on the mailing list, so please apologize any wandering off the Gmsh community culture ... >> >> I want to create a structured/block-structured (obviously quads) surface mesh and export it to either Plot3D XYZ format or to CGNS structured format to use it as an input for another hyperbolic mesher. >> >> Starting with a simple cube, I realized that: >> >> - I could not find an exporter to Plot3D XYZ format (I yet have to see if the P3D export format can be converted to XYZ) >> >> - even for a simple transfinite surface mesh on a cube face, I get an unstructured CGNS mesh when exported ('Unstructured' is in plain text in the exported file and the hyperbolic mesher complains about that since it expects a structured mesh). >> >> Am I missing something or hitting a Gmsh limit? >> >> Best regards, >> >> Guillaume Florent (Yacht Design + Engineering) >> >> >> _______________________________________________ >> 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 > > > From pollyana.rosa at techcon.eng.br Wed Jan 22 21:09:59 2020 From: pollyana.rosa at techcon.eng.br (Pollyana Rosa) Date: Wed, 22 Jan 2020 17:09:59 -0300 Subject: [Gmsh] Duplicate elements in unv file Message-ID: Hi everyone, A surface of my structure has two physical groups assigned, when I generate the unv file the mesh elements are duplicated. However it doesn't happen when I generate the msh file. What settings do I need to change to not duplicate the elements in unv file? Atenciosamente, [image: https://cursostechcon.eng.br/imagens-rede/techcon-engenharia.png] *Pollyana Rosa* TechCon Engenharia Consultiva pollyana.rosa at techcon.eng.br +55 27 3235-7271 | (27) 9.9255-5295 www.techcon.eng.br -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Thu Jan 23 09:32:42 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Thu, 23 Jan 2020 09:32:42 +0100 Subject: [Gmsh] Duplicate elements in unv file In-Reply-To: References: Message-ID: <1FDA1222-E736-44E2-98B2-E74D496AD3E0@uliege.be> > On 22 Jan 2020, at 21:09, Pollyana Rosa wrote: > > Hi everyone, > > A surface of my structure has two physical groups assigned, when I generate the unv file the mesh elements are duplicated. However it doesn't happen when I generate the msh file. > What settings do I need to change to not duplicate the elements in unv file? Are you sure? A priori Gmsh does not duplicate elements in UNV files (field 2412): if you define two physical groups on a given entity, Gmsh creates two element groups (field 2477)... Christophe > > Atenciosamente, > > > > Pollyana Rosa > TechCon Engenharia Consultiva > pollyana.rosa at techcon.eng.br > +55 27 3235-7271 | (27) 9.9255-5295 > www.techcon.eng.br > > > > > _______________________________________________ > 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 From p.araghchi at googlemail.com Fri Jan 24 08:40:32 2020 From: p.araghchi at googlemail.com (Pouria) Date: Fri, 24 Jan 2020 08:40:32 +0100 Subject: [Gmsh] Problems with compounded curves and surfaces Message-ID: Dear Gmsh-/Onelab-team, currently, I am working with Gmsh to use it as my main mesh generating tool for my simulations (with Abaqus). There, I need to remesh the old geometry (in form of a .geo file) and then I want to export the new geometry or mesh to Abaqus. Before, I used the remesh option in Gmsh, but it didn't solve the problem, because it deleted all the sets (physical tags) which I need for further steps. Recently, I tried to use the "compound" option, but I have encountered one problem. When compounding the old geometry (compound curves and compound surfaces) and meshing, the 1d elements still contain the lines elements of my old geometry. Here I want Gmsh to delete the curves that belong to the old geometry and only show the curves that belong to the new mesh. Furthermore, I can't find a way to map the previous curve sets (physical tag) to the newly created curves. Is there a way to map old sets to new meshes? I have also posted a question on stack exchange. There is a more elaborate example with graphics and the .geo file. I also attached the .geo file for better visualization. I hope that you can help me with this problem. Thanks. Pouria Araghchi -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: geoFile.geo Type: application/octet-stream Size: 954 bytes Desc: not available URL: From cgeuzaine at uliege.be Fri Jan 24 13:02:50 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 24 Jan 2020 13:02:50 +0100 Subject: [Gmsh] Problems with compounded curves and surfaces In-Reply-To: References: Message-ID: <5E34DD8B-DBB6-464E-8BC3-E7E7A78D9AB6@uliege.be> > On 24 Jan 2020, at 08:40, Pouria wrote: > > Dear Gmsh-/Onelab-team, > > currently, I am working with Gmsh to use it as my main mesh generating tool for my simulations (with Abaqus). > There, I need to remesh the old geometry (in form of a .geo file) and then I want to export the new geometry or mesh to Abaqus. > Before, I used the remesh option in Gmsh, but it didn't solve the problem, because it deleted all the sets (physical tags) which I need for further steps. > > Recently, I tried to use the "compound" option, but I have encountered one problem. When compounding the old geometry (compound curves and compound surfaces) and meshing, the 1d elements still contain the lines elements of my old geometry. > Here I want Gmsh to delete the curves that belong to the old geometry and only show the curves that belong to the new mesh. > Furthermore, I can't find a way to map the previous curve sets (physical tag) to the newly created curves. Indeed, we didn't move the physical group definitions to the new entities. Give the latest development snapshot a try: this is now implemented. Christophe > Is there a way to map old sets to new meshes? > > I have also posted a question on stack exchange. There is a more elaborate example with graphics and the .geo file. > I also attached the .geo file for better visualization. > > I hope that you can help me with this problem. > Thanks. > > Pouria Araghchi > _______________________________________________ > 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 From cgeuzaine at uliege.be Fri Jan 24 13:06:15 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 24 Jan 2020 13:06:15 +0100 Subject: [Gmsh] Structured triangular grid In-Reply-To: References: Message-ID: <27D592BC-8A0D-445F-92FD-BF6FB4F980CF@uliege.be> > On 17 Jan 2020, at 23:27, Jeremy Theler wrote: > > Hi all! I have a dumb question... > > I got a mesh from Nastran which I managed to convert to Gmsh v2.2 > (nastran.msh) that looks like nastran.svg > > I want to create the very same mesh natively in Gmsh, so I tried to > create fino-nastran.geo which gives fino-nastran.msh that looks like > fino-nastran.svg > > How can I get the original one natively in Gmsh? > Use "Transfinite Surface{1} AlternateRight;" Christophe > > Regards > -- > jeremy theler > www.seamplex.com > > _______________________________________________ > 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 From cgeuzaine at uliege.be Fri Jan 24 13:10:20 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 24 Jan 2020 13:10:20 +0100 Subject: [Gmsh] Line / edge / curve direction - how to change it to use Progression properly (transfinite curve) In-Reply-To: References: Message-ID: <22ACB5BC-0F7F-45DF-8D35-BEA1BADE5668@uliege.be> > On 14 Jan 2020, at 17:57, triimaran wrote: > > Hello everyone, > > is there any way to change all selected lines/curves to have the same direction? > I want to make a structured mesh for a simple room with a rectangular heater inside and rectangular inlet and outlet on different walls. All geometry lines I have are either parallel or perpendicular. All I need is to choose some parallel lines in one view and set the progression so that the mesh will be finer near a wall. Unfortunately lines from both imported or created geometries tend to have quite random directions. I know that I can change in geo file particular lines in Transfinite Curve function by writing minuses ("-") before chosen curves (e.g. Transfinite Curve {1, -3, -4, 6}), but this solution is ok just for geometries with not too many lines. It is even more troublesome and unreasonably time consuming when imported geometries have a lot (usualy x4) duplicated lines. Using the API you could iterate over all the curves, check the orientation (using e.g. getDerivative()), and set the meshing constraint based on that. Christophe > And here comes my second, minor problem: > > Coherence function does nothing in this case. When I import STEP file there is even no way to delete any part of the geometry. When importing IGES the Delete option works, but lines are also duplicated and to delete them I would have to delete first all volumes and surfaces, then create them again, which is also too time consuming for a bit more complex geometries. Although, I guess, if all chosen lines could have direction changed as mentioned above, then duplicated lines should not be a problem, because I could use "Coherence Mesh" at the end of meshing (which seems to work properly). > Edit: when trying it now Delete function does not work also for the .iges imported geometry. I have no idea what has changed. > > Please find attached geometries (I used only .step and .iges because exporting to .brep was always filling it with a lot of triangles). These geometries are just for an example (made in Fusion 360, I was trying hard to use FreeCAD but failed to use slicing functions to make it possible to export). In the .geo file I used the Transfinite Curve for one set of lines to make the problem more clear (mesh 1 and then 2D). > In the attached pictures there is how my final geometries will look like (made in Gambit - I am trying not to use it further also because of the same problem: no way to change the lines' directions and after one meshing they all become random, so to change something I would have to delete everything and start all over). > > This is my first time writing here so please forgive me in case some of these problems are obvious to solve. > > Best regards > J. > > > > > _______________________________________________ > 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 From armitatz at gmail.com Sat Jan 25 21:19:21 2020 From: armitatz at gmail.com (andrew) Date: Sat, 25 Jan 2020 22:19:21 +0200 Subject: [Gmsh] HXT failure at the boolean demo with baffles Message-ID: Hi, When I try to mesh the boolean demo file 'baffles.geo' the HXT algorithm fails with the message '... not matching BREP volume' with the latest stable release (4.5.1). When the same geometry is not created with baffles (that have a zero thickness) but with boxes that don't have zero thickness everything goes well. Is there a possibility to make HXT algorithm to work correctly with zero width internal surfaces? kind regards andrew tsiantis -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Sun Jan 26 16:38:00 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 26 Jan 2020 16:38:00 +0100 Subject: [Gmsh] HXT failure at the boolean demo with baffles In-Reply-To: References: Message-ID: > On 25 Jan 2020, at 21:19, andrew wrote: > > > Hi, > > When I try to mesh the boolean demo file 'baffles.geo' the HXT algorithm fails with the message '... not matching BREP volume' with the latest stable release (4.5.1). When the same geometry is not created with baffles (that have a zero thickness) but with boxes that don't have zero thickness everything goes well. > This is normal. From the doc: "The ?Delaunay? algorithm is currently the most robust and is the only one that supports embedded model entities, the Field mechanism to specify element sizes (see Specifying mesh element sizes) and the automatic generation of hybrid meshes with pyramids." HXT will eventually support these features, but there's no timeline for this yet. Christophe > Is there a possibility to make HXT algorithm to work correctly with zero width internal surfaces? > > kind regards > > andrew tsiantis > > _______________________________________________ > 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 From Christoph.Grunwald at emi.fraunhofer.de Mon Jan 27 09:47:50 2020 From: Christoph.Grunwald at emi.fraunhofer.de (Grunwald, Christoph) Date: Mon, 27 Jan 2020 08:47:50 +0000 Subject: [Gmsh] Perodic surface command does not find connections on the opposite surface Message-ID: <067d74e63394463eb1317f903100328e@emi.fraunhofer.de> Dear all, I am trying to build a periodic mesh for a cube with some spheres in it and where some of the spheres protrude the surfaces and are cut on the cubes sides. As far as I see, there is the same number of curves and points on each of the geometric surfaces. However, when collecting opposite surfaces and applying "Periodic Surface" command, I regularly receive the Error "No corresponding point xx for periodic connection of surface xx to xx" or "Different number of points (x vs x) for periodic correspondence between surfaces xx and xx". The issue does not appear if the spheres cut only one side of the cube (i.e. not spheres protruding the cubes edges). Any help would be highly appreciated! Thank you very much, -- Christoph Grunwald Fraunhofer Institut f?r Kurzzeitdynamik, Ernst-Mach-Institut, EMI Am Klingelberg 1 | 79588 Efringen-Kirchen Fon +49 7628 9050 630 | Fax -677 Christoph.grunwald at emi.fraunhofer.de -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gmsh_in_test.geo Type: application/octet-stream Size: 11594 bytes Desc: gmsh_in_test.geo URL: From cgeuzaine at uliege.be Mon Jan 27 23:29:35 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 27 Jan 2020 23:29:35 +0100 Subject: [Gmsh] Perodic surface command does not find connections on the opposite surface In-Reply-To: <067d74e63394463eb1317f903100328e@emi.fraunhofer.de> References: <067d74e63394463eb1317f903100328e@emi.fraunhofer.de> Message-ID: Dear Christoph, There were two issues: (1) your script assumed that Sxmin() and Sxmax() contain the corresponding surfaces in the right order; this is not guaranteed, as the master and slave surfaces are generated in different orders, so that the bounding box search will also return them in different order (2) our curve matching code was using too strict a tolerance in case the match cannot be done purely topologically (when more than one curve has the same end points as the master curve) Here is your script with a solution for (1). The latest development snapshot of Gmsh contains the fix for (2). Best, Christophe -------------- next part -------------- A non-text attachment was scrubbed... Name: gmsh_in_test_CG.geo Type: application/octet-stream Size: 11697 bytes Desc: not available URL: -------------- next part -------------- > On 27 Jan 2020, at 09:47, Grunwald, Christoph wrote: > > Dear all, > > I am trying to build a periodic mesh for a cube with some spheres in it and where some of the spheres protrude the surfaces and are cut on the cubes sides. As far as I see, there is the same number of curves and points on each of the geometric surfaces. However, when collecting opposite surfaces and applying ?Periodic Surface? command, I regularly receive the Error ?No corresponding point xx for periodic connection of surface xx to xx? or ?Different number of points (x vs x) for periodic correspondence between surfaces xx and xx?. > The issue does not appear if the spheres cut only one side of the cube (i.e. not spheres protruding the cubes edges). > > Any help would be highly appreciated! > Thank you very much, > -- > Christoph Grunwald > Fraunhofer Institut f?r Kurzzeitdynamik, Ernst-Mach-Institut, EMI > Am Klingelberg 1 | 79588 Efringen-Kirchen > Fon +49 7628 9050 630 | Fax -677 > Christoph.grunwald at emi.fraunhofer.de > > _______________________________________________ > 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 From jeremy at seamplex.com Fri Jan 31 23:11:23 2020 From: jeremy at seamplex.com (Jeremy Theler) Date: Fri, 31 Jan 2020 19:11:23 -0300 Subject: [Gmsh] Physical entities/groups Message-ID: When were physical entities renamed to groups? Is the official nomenclature ?Physical group? now? -- jeremy theler www.seamplex.com From cgeuzaine at uliege.be Fri Jan 31 23:21:28 2020 From: cgeuzaine at uliege.be (cgeuzaine at uliege.be) Date: Fri, 31 Jan 2020 23:21:28 +0100 (CET) Subject: [Gmsh] Physical entities/groups In-Reply-To: References: Message-ID: <73E0286E-37A1-40D3-B5F9-A53D8EE408A2@uliege.be> > Le 31 janv. 2020 ? 23:12, Jeremy Theler a ?crit : > > ?When were physical entities renamed to groups? > Is the official nomenclature ?Physical group? now? We settled on ?Physical group? in the api to make a clear distinction with model (elementary) entities. But I still use both terminologies. Christophe > > -- > jeremy theler > www.seamplex.com > > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh From li.yang at u.nus.edu Sun Feb 2 06:10:10 2020 From: li.yang at u.nus.edu (Li Yang) Date: Sun, 2 Feb 2020 05:10:10 +0000 Subject: [Gmsh] Questions about gmsh Message-ID: Dear all, I want to know what format geometry can GMSH import. Because I want to import geometry into gmsh and make mesh by gmsh. Thank you very much! Best regards -------------- next part -------------- An HTML attachment was scrubbed... URL: From David.Colignon at uliege.be Sun Feb 2 11:26:00 2020 From: David.Colignon at uliege.be (David Colignon) Date: Sun, 2 Feb 2020 11:26:00 +0100 Subject: [Gmsh] Questions about gmsh In-Reply-To: References: Message-ID: <98ae2906-18d4-3f8c-a0c5-b9084429332a@uliege.be> http://gmsh.info//doc/texinfo/gmsh.html#What-Gmsh-is-pretty-good-at ... ... import geometries from other CAD software in standard exchange formats. Gmsh uses OpenCASCADE to import such files, including label and color information from STEP and IGES files; http://gmsh.info//doc/texinfo/gmsh.html#Geometry-module-questions ... ... Can I edit STEP/IGES/BRep models? Yes: with the OpenCASCADE kernel (SetFactory("OpenCASCADE");), load the file (Merge "file.step"; or ShapeFromFile("file.step");) and add the relevant scripting commands after that to delete parts, create new parts or apply boolean operators. See e.g. demos/boolean/import.geo. D. On 02/02/2020 06:10, Li Yang wrote: > Dear all, > > I want to know what format geometry can GMSH import. Because I want to import geometry into gmsh and make mesh by gmsh. > Thank you very much! > > Best regards > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > From li.yang at u.nus.edu Mon Feb 3 08:04:48 2020 From: li.yang at u.nus.edu (Li Yang) Date: Mon, 3 Feb 2020 07:04:48 +0000 Subject: [Gmsh] Questions about gmsh Message-ID: Dear all, I am using gmsh 2.9.3. I have two questions about it. 1. Can I import STL format geometry into gmsh 2.9.3 and generate mesh from the geometry by gmsh? 2. I am using gmsh 2.9.3, but the update version is 4.5.2, I want to know how to convert one format mesh to another? Thank you very much? Best regards, Student -------------- next part -------------- An HTML attachment was scrubbed... URL: From deepamahm.iisc at gmail.com Thu Feb 6 18:41:45 2020 From: deepamahm.iisc at gmail.com (Deepa) Date: Thu, 6 Feb 2020 23:11:45 +0530 Subject: [Gmsh] Create mesh for 1D geometry In-Reply-To: References: Message-ID: > > > > I am a beginner here. > > I'm looking for ways of creating a mesh for a 2D geometry. It's a straight > line, the nodes have to be positioned along the x directions and all > y-coordinates have to be zero. > > Example: 0 : delx : xend, where delx =0.5, xend = 20. > > I have to create the input file in a format that will be compatible for > importing in COMSOL. > > Any suggestions on how to proceed will be really helpful > > Thanks, > Deepa > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeremy at seamplex.com Thu Feb 6 19:24:30 2020 From: jeremy at seamplex.com (Jeremy Theler) Date: Thu, 06 Feb 2020 15:24:30 -0300 Subject: [Gmsh] Create mesh for 1D geometry In-Reply-To: References: Message-ID: delx = 0.5; xend = 20; Point(1) = {0, 0, 0, delx}; Point(2) = {xend, 0, 0, delx}; Line(1) = {1, 2}; Physical Point("left") = {1}; Physical Point("right") = {2}; Physical Line("bulk") = {1}; On Thu, 2020-02-06 at 23:11 +0530, Deepa wrote: > > > > I am a beginner here. > > > > I'm looking for ways of creating a mesh for a 2D geometry. It's a > > straight line, the nodes have to be positioned along the x > > directions and all y-coordinates have to be zero. > > > > Example: 0 : delx : xend, where delx =0.5, xend = 20. > > > > I have to create the input file in a format that will be compatible > > for importing in COMSOL. > > > > Any suggestions on how to proceed will be really helpful > > > > Thanks, > > Deepa > > > > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > > http://onelab.info/mailman/listinfo/gmsh > > From morok at mevex.com Thu Feb 6 21:22:08 2020 From: morok at mevex.com (Max Orok) Date: Thu, 6 Feb 2020 15:22:08 -0500 Subject: [Gmsh] Create mesh for 1D geometry In-Reply-To: References: Message-ID: Using the python api, building on Jeremy's nice example, but omitting physical groups: ----- import gmsh delx = 0.5 xend = 20 gmsh.initialize() point_a = gmsh.model.geo.addPoint(0.0, 0.0, 0.0, meshSize=delx) point_b = gmsh.model.geo.addPoint(20.0, 0.0, 0.0, meshSize=delx) line = gmsh.model.geo.addLine(point_a, point_b) gmsh.model.geo.synchronize() # make a 1d mesh gmsh.model.mesh.generate(1) # save the mesh as a NASTRAN bulk data file gmsh.write("line.bdf") gmsh.finalize() ----- Sincerely, Max On Thu, Feb 6, 2020 at 1:25 PM Jeremy Theler wrote: > delx = 0.5; > xend = 20; > Point(1) = {0, 0, 0, delx}; > Point(2) = {xend, 0, 0, delx}; > > Line(1) = {1, 2}; > > Physical Point("left") = {1}; > Physical Point("right") = {2}; > Physical Line("bulk") = {1}; > > On Thu, 2020-02-06 at 23:11 +0530, Deepa wrote: > > > > > > I am a beginner here. > > > > > > I'm looking for ways of creating a mesh for a 2D geometry. It's a > > > straight line, the nodes have to be positioned along the x > > > directions and all y-coordinates have to be zero. > > > > > > Example: 0 : delx : xend, where delx =0.5, xend = 20. > > > > > > I have to create the input file in a format that will be compatible > > > for importing in COMSOL. > > > > > > Any suggestions on how to proceed will be really helpful > > > > > > Thanks, > > > Deepa > > > > > > > > > > _______________________________________________ > > gmsh mailing list > > gmsh at onelab.info > > > > http://onelab.info/mailman/listinfo/gmsh > > > > > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- import gmsh delx = 0.5 xend = 20 gmsh.initialize() point_a = gmsh.model.geo.addPoint(0.0, 0.0, 0.0, meshSize=delx) point_b = gmsh.model.geo.addPoint(20.0, 0.0, 0.0, meshSize=delx) line = gmsh.model.geo.addLine(point_a, point_b) gmsh.model.geo.synchronize() # make a 1d mesh gmsh.model.mesh.generate(1) # save the mesh as a NASTRAN bulk data file gmsh.write("line.bdf") gmsh.finalize() -------------- next part -------------- A non-text attachment was scrubbed... Name: line.bdf Type: application/octet-stream Size: 4718 bytes Desc: not available URL: From deepamahm.iisc at gmail.com Fri Feb 7 14:04:12 2020 From: deepamahm.iisc at gmail.com (Deepa) Date: Fri, 7 Feb 2020 18:34:12 +0530 Subject: [Gmsh] Create mesh for 1D geometry In-Reply-To: References: Message-ID: Hi Max, Thanks a lot. It works like a charm! I'd like to know if it is possible to create NASTRAN bulk data file for geometries like the following [image: Untitled.png] I have the geometry in dwg and dxf file format created from AutoCAD. Basically, I have specified coordinate positions to create points at every delx= say,0.5 in CAD. Many thanks, Deepa On Fri, Feb 7, 2020 at 1:52 AM Max Orok wrote: > Using the python api, building on Jeremy's nice example, but omitting > physical groups: > > ----- > import gmsh > > delx = 0.5 > xend = 20 > > gmsh.initialize() > > point_a = gmsh.model.geo.addPoint(0.0, 0.0, 0.0, meshSize=delx) > point_b = gmsh.model.geo.addPoint(20.0, 0.0, 0.0, meshSize=delx) > > line = gmsh.model.geo.addLine(point_a, point_b) > > gmsh.model.geo.synchronize() > > # make a 1d mesh > gmsh.model.mesh.generate(1) > > # save the mesh as a NASTRAN bulk data file > gmsh.write("line.bdf") > > gmsh.finalize() > ----- > > Sincerely, > Max > > On Thu, Feb 6, 2020 at 1:25 PM Jeremy Theler wrote: > >> delx = 0.5; >> xend = 20; >> Point(1) = {0, 0, 0, delx}; >> Point(2) = {xend, 0, 0, delx}; >> >> Line(1) = {1, 2}; >> >> Physical Point("left") = {1}; >> Physical Point("right") = {2}; >> Physical Line("bulk") = {1}; >> >> On Thu, 2020-02-06 at 23:11 +0530, Deepa wrote: >> > > >> > > I am a beginner here. >> > > >> > > I'm looking for ways of creating a mesh for a 2D geometry. It's a >> > > straight line, the nodes have to be positioned along the x >> > > directions and all y-coordinates have to be zero. >> > > >> > > Example: 0 : delx : xend, where delx =0.5, xend = 20. >> > > >> > > I have to create the input file in a format that will be compatible >> > > for importing in COMSOL. >> > > >> > > Any suggestions on how to proceed will be really helpful >> > > >> > > Thanks, >> > > Deepa >> > > >> > > >> > >> > _______________________________________________ >> > gmsh mailing list >> > gmsh at onelab.info >> > >> > http://onelab.info/mailman/listinfo/gmsh >> > >> > >> >> >> _______________________________________________ >> gmsh mailing list >> gmsh at onelab.info >> http://onelab.info/mailman/listinfo/gmsh >> > > > -- > Max Orok > Contractor > www.mevex.com > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Untitled.png Type: image/png Size: 60375 bytes Desc: not available URL: From morok at mevex.com Fri Feb 7 14:57:16 2020 From: morok at mevex.com (Max Orok) Date: Fri, 7 Feb 2020 08:57:16 -0500 Subject: [Gmsh] Create mesh for 1D geometry In-Reply-To: References: Message-ID: I'm not sure dwg or dwf is supported, but I know you can import STEP, IGES or BREP. If it's just the one geometry I think you could manually specify it like we did for a single line, but make sure that the lines are connected at those points. On Fri, Feb 7, 2020 at 8:04 AM Deepa wrote: > Hi Max, > > Thanks a lot. It works like a charm! > > I'd like to know if it is possible to create NASTRAN bulk data file for > geometries like the following > > [image: Untitled.png] > > I have the geometry in dwg and dxf file format created from AutoCAD. > Basically, I have specified coordinate positions to create points at every > delx= say,0.5 in CAD. > > Many thanks, > Deepa > > On Fri, Feb 7, 2020 at 1:52 AM Max Orok wrote: > >> Using the python api, building on Jeremy's nice example, but omitting >> physical groups: >> >> ----- >> import gmsh >> >> delx = 0.5 >> xend = 20 >> >> gmsh.initialize() >> >> point_a = gmsh.model.geo.addPoint(0.0, 0.0, 0.0, meshSize=delx) >> point_b = gmsh.model.geo.addPoint(20.0, 0.0, 0.0, meshSize=delx) >> >> line = gmsh.model.geo.addLine(point_a, point_b) >> >> gmsh.model.geo.synchronize() >> >> # make a 1d mesh >> gmsh.model.mesh.generate(1) >> >> # save the mesh as a NASTRAN bulk data file >> gmsh.write("line.bdf") >> >> gmsh.finalize() >> ----- >> >> Sincerely, >> Max >> >> On Thu, Feb 6, 2020 at 1:25 PM Jeremy Theler wrote: >> >>> delx = 0.5; >>> xend = 20; >>> Point(1) = {0, 0, 0, delx}; >>> Point(2) = {xend, 0, 0, delx}; >>> >>> Line(1) = {1, 2}; >>> >>> Physical Point("left") = {1}; >>> Physical Point("right") = {2}; >>> Physical Line("bulk") = {1}; >>> >>> On Thu, 2020-02-06 at 23:11 +0530, Deepa wrote: >>> > > >>> > > I am a beginner here. >>> > > >>> > > I'm looking for ways of creating a mesh for a 2D geometry. It's a >>> > > straight line, the nodes have to be positioned along the x >>> > > directions and all y-coordinates have to be zero. >>> > > >>> > > Example: 0 : delx : xend, where delx =0.5, xend = 20. >>> > > >>> > > I have to create the input file in a format that will be compatible >>> > > for importing in COMSOL. >>> > > >>> > > Any suggestions on how to proceed will be really helpful >>> > > >>> > > Thanks, >>> > > Deepa >>> > > >>> > > >>> > >>> > _______________________________________________ >>> > gmsh mailing list >>> > gmsh at onelab.info >>> > >>> > http://onelab.info/mailman/listinfo/gmsh >>> > >>> > >>> >>> >>> _______________________________________________ >>> gmsh mailing list >>> gmsh at onelab.info >>> http://onelab.info/mailman/listinfo/gmsh >>> >> >> >> -- >> Max Orok >> Contractor >> www.mevex.com >> >> >> -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Untitled.png Type: image/png Size: 60375 bytes Desc: not available URL: From mau.rohracker at fau.de Sat Feb 8 20:14:24 2020 From: mau.rohracker at fau.de (Rohracker, Maurice) Date: Sat, 08 Feb 2020 20:14:24 +0100 Subject: [Gmsh] Broken mesh for coarser mesh size at centre of circle Message-ID: Dear GMSH user and developer, I have a small example where some weird things are going on. We have a quadric box with a circle inside and interphase around it. For the FE simulation, it's sufficient to have a coarser mesh at the centre point of the circle. We increase here the computed mesh size by a factor (centreMeshFactor in the .geo-file). For some reasons, the resulting mesh has for the factor = 10 and > 15 not a good shape anymore and the elements kind of stretch up. Could you please tell me why this happens and how the mesh sizes are interpolated between two specified points. Our goal is here to understand the issue or interpolation. I agree that for an increasing factor the mesh size gets unproportional in comparison to the other mesh sizes on the circle, but why does this occur, that at some point the mesh breaks. It seems that the mesh generator could not interpolate the mesh sizes in a correct way at some point anymore, or am I wrong? Thank you very much in advance. Best regards, Maurice Rohracker Master Student, FAU Erlange-N?rnberg -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: bubble_interphase_layers.geo URL: From cgeuzaine at uliege.be Sun Feb 9 10:44:16 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 9 Feb 2020 10:44:16 +0100 Subject: [Gmsh] Broken mesh for coarser mesh size at centre of circle In-Reply-To: References: Message-ID: <7A1992B3-1D0B-4B8D-B7F0-AA6C1117E65D@uliege.be> > On 8 Feb 2020, at 20:14, Rohracker, Maurice wrote: > > Dear GMSH user and developer, > > I have a small example where some weird things are going on. We have a quadric box with a circle inside and interphase around it. For the FE simulation, it's sufficient to have a coarser mesh at the centre point of the circle. We increase here the computed mesh size by a factor (centreMeshFactor in the .geo-file). For some reasons, the resulting mesh has for the factor = 10 and > 15 not a good shape anymore and the elements kind of stretch up. > Could you please tell me why this happens and how the mesh sizes are interpolated between two specified points. Our goal is here to understand the issue or interpolation. > I agree that for an increasing factor the mesh size gets unproportional in comparison to the other mesh sizes on the circle, but why does this occur, that at some point the mesh breaks. It seems that the mesh generator could not interpolate the mesh sizes in a correct way at some point anymore, or am I wrong? > The frontal-based algorithms can indeed exhibit this behavior. Since with large mesh size variations the regularity (orthogonality) of the mesh will be poor anyway, I would simply select e.g. a simple Delaunay for the center surface: MeshAlgorithm Surface {24} = 5; Here's the result for centreMeshFactor = 30 : Christophe > Thank you very much in advance. > > Best regards, > Maurice Rohracker > Master Student, FAU Erlange-N?rnberg_______________________________________________ > 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: bubble_interphase_layers.png Type: image/png Size: 254625 bytes Desc: not available URL: From deepamahm.iisc at gmail.com Sun Feb 9 12:57:03 2020 From: deepamahm.iisc at gmail.com (Deepa) Date: Sun, 9 Feb 2020 17:27:03 +0530 Subject: [Gmsh] Create mesh for 1D geometry In-Reply-To: References: Message-ID: Hi Max, I could export the CAD drawing in IGES format. Could you please suggest how to create NASTRAN bulk data file from IGES? I am also attaching the iges file for your kind reference. I'd like to set the mesh size equal to the distance between two adjacent vertices.I hope the coordinates of the vertices can be obtained from iges file. Regarding what was mentioned in the previous email, " extract point and line data etc." could you please elaborate a bit on this? I think by points you mean coordinates of the vertices. Does line data mean the length of the line, which is the distance between two vertices? Thanks a lot, Deepa On Fri, Feb 7, 2020 at 11:15 PM Max Orok wrote: > You're welcome Deepa! There may be some semi-automatic sweetspot if you > can extract point and line data etc. > > On Fri, Feb 7, 2020 at 9:53 AM Deepa wrote: > >> Hi Max, >> >> I have to create multiple geometries Iike this. I'll try and find out how >> to create the drawing in the formats that you mentioned. >> >> Thanks a lot, >> Deepa >> >> On Fri 7 Feb, 2020, 7:27 PM Max Orok, wrote: >> >>> I'm not sure dwg or dwf is supported, but I know you can import STEP, >>> IGES or BREP. >>> >>> If it's just the one geometry I think you could manually specify it like >>> we did for a single line, but make sure that >>> the lines are connected at those points. >>> >>> >>> On Fri, Feb 7, 2020 at 8:04 AM Deepa wrote: >>> >>>> Hi Max, >>>> >>>> Thanks a lot. It works like a charm! >>>> >>>> I'd like to know if it is possible to create NASTRAN bulk data file for >>>> geometries like the following >>>> >>>> [image: Untitled.png] >>>> >>>> I have the geometry in dwg and dxf file format created from AutoCAD. >>>> Basically, I have specified coordinate positions to create points at every >>>> delx= say,0.5 in CAD. >>>> >>>> Many thanks, >>>> Deepa >>>> >>>> On Fri, Feb 7, 2020 at 1:52 AM Max Orok wrote: >>>> >>>>> Using the python api, building on Jeremy's nice example, but omitting >>>>> physical groups: >>>>> >>>>> ----- >>>>> import gmsh >>>>> >>>>> delx = 0.5 >>>>> xend = 20 >>>>> >>>>> gmsh.initialize() >>>>> >>>>> point_a = gmsh.model.geo.addPoint(0.0, 0.0, 0.0, meshSize=delx) >>>>> point_b = gmsh.model.geo.addPoint(20.0, 0.0, 0.0, meshSize=delx) >>>>> >>>>> line = gmsh.model.geo.addLine(point_a, point_b) >>>>> >>>>> gmsh.model.geo.synchronize() >>>>> >>>>> # make a 1d mesh >>>>> gmsh.model.mesh.generate(1) >>>>> >>>>> # save the mesh as a NASTRAN bulk data file >>>>> gmsh.write("line.bdf") >>>>> >>>>> gmsh.finalize() >>>>> ----- >>>>> >>>>> Sincerely, >>>>> Max >>>>> >>>>> On Thu, Feb 6, 2020 at 1:25 PM Jeremy Theler >>>>> wrote: >>>>> >>>>>> delx = 0.5; >>>>>> xend = 20; >>>>>> Point(1) = {0, 0, 0, delx}; >>>>>> Point(2) = {xend, 0, 0, delx}; >>>>>> >>>>>> Line(1) = {1, 2}; >>>>>> >>>>>> Physical Point("left") = {1}; >>>>>> Physical Point("right") = {2}; >>>>>> Physical Line("bulk") = {1}; >>>>>> >>>>>> On Thu, 2020-02-06 at 23:11 +0530, Deepa wrote: >>>>>> > > >>>>>> > > I am a beginner here. >>>>>> > > >>>>>> > > I'm looking for ways of creating a mesh for a 2D geometry. It's a >>>>>> > > straight line, the nodes have to be positioned along the x >>>>>> > > directions and all y-coordinates have to be zero. >>>>>> > > >>>>>> > > Example: 0 : delx : xend, where delx =0.5, xend = 20. >>>>>> > > >>>>>> > > I have to create the input file in a format that will be >>>>>> compatible >>>>>> > > for importing in COMSOL. >>>>>> > > >>>>>> > > Any suggestions on how to proceed will be really helpful >>>>>> > > >>>>>> > > Thanks, >>>>>> > > Deepa >>>>>> > > >>>>>> > > >>>>>> > >>>>>> > _______________________________________________ >>>>>> > gmsh mailing list >>>>>> > gmsh at onelab.info >>>>>> > >>>>>> > http://onelab.info/mailman/listinfo/gmsh >>>>>> > >>>>>> > >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> gmsh mailing list >>>>>> gmsh at onelab.info >>>>>> http://onelab.info/mailman/listinfo/gmsh >>>>>> >>>>> >>>>> >>>>> -- >>>>> Max Orok >>>>> Contractor >>>>> www.mevex.com >>>>> >>>>> >>>>> >>> >>> -- >>> Max Orok >>> Contractor >>> www.mevex.com >>> >>> >>> > > -- > Max Orok > Contractor > www.mevex.com > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Untitled.png Type: image/png Size: 60375 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: test2_gmsh.iges Type: application/octet-stream Size: 2132 bytes Desc: not available URL: From li.yang at u.nus.edu Mon Feb 10 06:55:50 2020 From: li.yang at u.nus.edu (Li Yang) Date: Mon, 10 Feb 2020 05:55:50 +0000 Subject: [Gmsh] Questions about gmsh In-Reply-To: <98ae2906-18d4-3f8c-a0c5-b9084429332a@uliege.be> References: , <98ae2906-18d4-3f8c-a0c5-b9084429332a@uliege.be> Message-ID: Dear all? In GMSH, what is the default unit of length?cm, mm or others? Thank you very much! Best regards, Yang ?? Outlook for Android ________________________________ From: David Colignon Sent: Sunday, February 2, 2020 6:26:00 PM To: Li Yang ; gmsh at onelab.info Subject: Re: [Gmsh] Questions about gmsh - External Email - http://gmsh.info//doc/texinfo/gmsh.html#What-Gmsh-is-pretty-good-at ... ... import geometries from other CAD software in standard exchange formats. Gmsh uses OpenCASCADE to import such files, including label and color information from STEP and IGES files; http://gmsh.info//doc/texinfo/gmsh.html#Geometry-module-questions ... ... Can I edit STEP/IGES/BRep models? Yes: with the OpenCASCADE kernel (SetFactory("OpenCASCADE");), load the file (Merge "file.step"; or ShapeFromFile("file.step");) and add the relevant scripting commands after that to delete parts, create new parts or apply boolean operators. See e.g. demos/boolean/import.geo. D. On 02/02/2020 06:10, Li Yang wrote: > Dear all, > > I want to know what format geometry can GMSH import. Because I want to import geometry into gmsh and make mesh by gmsh. > Thank you very much! > > Best regards > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jean-francois.remacle at uclouvain.be Mon Feb 10 08:54:52 2020 From: jean-francois.remacle at uclouvain.be (=?utf-8?B?SmVhbi1GcmFuw6dvaXMgUmVtYWNsZQ==?=) Date: Mon, 10 Feb 2020 07:54:52 +0000 Subject: [Gmsh] Questions about gmsh In-Reply-To: References: <98ae2906-18d4-3f8c-a0c5-b9084429332a@uliege.be> Message-ID: <42EA9EC7-C9B2-4678-B0AD-82D97EF3B196@uclouvain.be> Hello, Gmsh is agnostic with respect to units JF > Le 10 f?vr. 2020 ? 06:55, Li Yang a ?crit : > > Dear all? > > In GMSH, what is the default unit of length?cm, mm or others? > Thank you very much! > > Best regards, > Yang > > ?? Outlook for Android > > From: David Colignon > Sent: Sunday, February 2, 2020 6:26:00 PM > To: Li Yang ; gmsh at onelab.info > Subject: Re: [Gmsh] Questions about gmsh > > - External Email - > > > > http://gmsh.info//doc/texinfo/gmsh.html#What-Gmsh-is-pretty-good-at > > ... > ... > import geometries from other CAD software in standard exchange formats. Gmsh uses OpenCASCADE to import such files, including label and color information from STEP and IGES files; > > > > http://gmsh.info//doc/texinfo/gmsh.html#Geometry-module-questions > > ... > ... > Can I edit STEP/IGES/BRep models? > > Yes: with the OpenCASCADE kernel (SetFactory("OpenCASCADE");), load the file (Merge "file.step"; or ShapeFromFile("file.step");) and add the relevant scripting commands after that to delete parts, create new parts or apply boolean operators. See e.g. demos/boolean/import.geo. > > D. > > > On 02/02/2020 06:10, Li Yang wrote: > > Dear all, > > > > I want to know what format geometry can GMSH import. Because I want to import geometry into gmsh and make mesh by gmsh. > > Thank you very much! > > > > Best regards > > > > _______________________________________________ > > gmsh mailing list > > gmsh at onelab.info > > http://onelab.info/mailman/listinfo/gmsh > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fonelab.info%2Fmailman%2Flistinfo%2Fgmsh&data=02%7C01%7Cjean-francois.remacle%40uclouvain.be%7C6a59d186977d4eb6f76f08d7adf1e64b%7C7ab090d4fa2e4ecfbc7c4127b4d582ec%7C0%7C0%7C637169126793068093&sdata=OmYWXvQSDAYIIRk98HjGsxI0h%2BBA0DzjyvUtxjE2Gho%3D&reserved=0 ------------------------------------------------------------------ Prof. Jean-Francois Remacle Universite catholique de Louvain (UCL) Ecole Polytechnique de Louvain (EPL) - Louvain School of Engineering Institute of Mechanics, Materials and Civil Engineering (iMMC) Center for Systems Engineering and Applied Mechanics (CESAME) Tel : +32-10-472352 -- Mobile : +32-473-909930 From Guillaume.DILASSER at cea.fr Mon Feb 10 08:40:17 2020 From: Guillaume.DILASSER at cea.fr (DILASSER Guillaume) Date: Mon, 10 Feb 2020 07:40:17 +0000 Subject: [Gmsh] Questions about gmsh In-Reply-To: References: , <98ae2906-18d4-3f8c-a0c5-b9084429332a@uliege.be> Message-ID: Dear Li Yang, Gmsh is unitless. It is up to you to build your geometry, mesh and physical model using a consistent unit system. Sincerely Yours, Guillaume Dilasser De : gmsh De la part de Li Yang Envoy? : lundi 10 f?vrier 2020 06:56 ? : gmsh at onelab.info; David Colignon Objet : Re: [Gmsh] Questions about gmsh Dear all? In GMSH, what is the default unit of length?cm, mm or others? Thank you very much! Best regards, Yang ?? Outlook for Android ________________________________ From: David Colignon > Sent: Sunday, February 2, 2020 6:26:00 PM To: Li Yang >; gmsh at onelab.info > Subject: Re: [Gmsh] Questions about gmsh - External Email - http://gmsh.info//doc/texinfo/gmsh.html#What-Gmsh-is-pretty-good-at ... ... import geometries from other CAD software in standard exchange formats. Gmsh uses OpenCASCADE to import such files, including label and color information from STEP and IGES files; http://gmsh.info//doc/texinfo/gmsh.html#Geometry-module-questions ... ... Can I edit STEP/IGES/BRep models? Yes: with the OpenCASCADE kernel (SetFactory("OpenCASCADE");), load the file (Merge "file.step"; or ShapeFromFile("file.step");) and add the relevant scripting commands after that to delete parts, create new parts or apply boolean operators. See e.g. demos/boolean/import.geo. D. On 02/02/2020 06:10, Li Yang wrote: > Dear all, > > I want to know what format geometry can GMSH import. Because I want to import geometry into gmsh and make mesh by gmsh. > Thank you very much! > > Best regards > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From adel.moreno at toulouse-inp.fr Mon Feb 10 13:30:29 2020 From: adel.moreno at toulouse-inp.fr (Adel MORENO) Date: Mon, 10 Feb 2020 13:30:29 +0100 (CET) Subject: [Gmsh] Problem with "Compound functions" Message-ID: <1645113478.415176.1581337829937.JavaMail.zimbra@toulouse-inp.fr> Dear Gmsh user, I have a problem with the use of "Compound functions". So, I have 4 sub-squares making up a larger square (I get this square by double translation from one of the sub-square). Now, I would like to create a mesh on the largest square while keeping the physical names I gave to the 4 sub-squares. I follow the tutorial 12 ( Cross-patch meshing with compounds) but I cannot make it work on my case. Thank you in advance for your help ///////////////////////// //geo.file ///////////////////////// SetFactory("OpenCASCADE"); Lx = 10; Ly = 10; Nx = 2; Ny = 2; Point(1) ={0, 10, 0, 10}; Point(2) ={5, 10, 0, 10}; Point(3) ={0, 5, 0, 10}; Point(4) ={5, 5, 0, 10}; Line(1) = {1, 2}; Line(2) = {2, 4}; Line(3) = {4, 3}; Line(4) = {3, 1}; Curve Loop(1) = {1, 2, 3, 4}; Plane Surface(1) = {1}; For j In {1:1} Translate {0, -5*j, 0} {Duplicata { Surface{1}; }} EndFor all_surfaces[] = Surface "*"; For i In {1:1} Translate {5*i, 0, 0} {Duplicata { Surface{all_surfaces[]}; }} EndFor For k In {1:4} Physical Surface(k) = {k}; EndFor Compound Curve{1,17}; Compound Curve{18,22}; Compound Curve{23,7}; Compound Curve{4,8}; Compound Surface{1,2}; -------------- next part -------------- An HTML attachment was scrubbed... URL: From nb17010 at bristol.ac.uk Tue Feb 11 19:00:42 2020 From: nb17010 at bristol.ac.uk (Nick Barra) Date: Tue, 11 Feb 2020 18:00:42 +0000 Subject: [Gmsh] Error: No tetrahedra in region X Message-ID: Hi, I am trying to create a hybrid mesh around a NACA2412 aerofoil to use in OpenFoam. When I use the 3D mesh option, I get the error that there are ?No tetrahedra in region 7?. I have looked online and it appears to usually be solved by a missing surface in a surface loop, however, I can?t find which one I?m missing. I have attached the .geo file to this email, I would be grateful for your assistance. Yours Faithfully, Nick -------------- next part -------------- An HTML attachment was scrubbed... URL: From vincent.libertiaux at gmail.com Thu Feb 13 12:35:20 2020 From: vincent.libertiaux at gmail.com (Vincent Libertiaux) Date: Thu, 13 Feb 2020 12:35:20 +0100 Subject: [Gmsh] Adding a physical surface (on which the load will be applied) to an existing volume. Message-ID: Hi, gmsh community, I created a simple case (beam fixed at both extremities) with a distributed load on a fraction of its upper surface. I reproduce the short *.geo file: SetFactory("OpenCASCADE"); Box(1) = {0, 0, 0, 100, 10, 10}; Rectangle(7) = {40,0,0,20,10,0}; Surface{7} In Volume{1}; surfaces[] = Boundary{Volume{1};}; Physical Volume("beam") = {1}; Physical Surface("left") = {surfaces[0]}; Physical Surface("right") = {surfaces[1]}; Physical Surface("load") = {7}; When I try to mesh it, I get the following error: Error : PLC Error: A segment and a facet intersect at point Error : Invalid boundary mesh (segment-facet intersection) on surface 7, intersection (40,4.7255,6.14662e-11) I think it comes from the fact that I am trying to impose a surface on another, but I can't find an easy way (rather than defining the geometry with Points, Lines, ... or determining the nodes on which I'd like to apply the loading from the msh file). Could someone please point me the right direction ? Thanks, kind regards, Vincent -------------- next part -------------- An HTML attachment was scrubbed... URL: From alain.berod at umontpellier.fr Thu Feb 13 16:43:33 2020 From: alain.berod at umontpellier.fr (Alain Berod) Date: Thu, 13 Feb 2020 16:43:33 +0100 Subject: [Gmsh] Issue with periodicities Message-ID: Dear all, First of all, I would like to thanks the Gmsh developers and team for providing such a robust and versatile meshing tool. I encountered a strange behaviour related to periodicities. When I run the attached file *not_working.geo* with an alpha parameter (line 8 of the script) different to pi/4 (try pi/8 if you want to see the error), the code correctly finds the corresponding periodic surfaces *2-5 and 8-1* and performs the 2D meshing without any error. Nevertheless, the 3D meshing outputs the following errors: *Info : Found two exactly self-intersecting facets.Info : 1st: [297, 2694, 3786] #2Info : 2nd: [297, 2694, 9] #2* *Error : Invalid boundary mesh (overlapping facets) on surface 2 surface 2Error : No elements in volume 35* Taking a look more carefully at the 2D surface mesh, I found that 2 out of the 4 periodic faces have overlapping triangles (see attached image *not_working.png*). This seems to be related to the orientation of the ellipse being different on each periodic surface, but this just an hypothesis. I tried with the Mesh.Algorithm options 1,5 and 6 without any success. This bug does not appear when using a pi/4 alpha parameter, which might be due to the fact that the previously badly oriented edges are now circles. I managed to find a workaround that works for any alpha parameter (see *working.geo*) using ThruSections functions (see line 45 of *working.geo*), if that can help you debugging this issue. My Gmsh building options are the following (printed by Gmsh): *Version : 4.5.3-git-5d81a7c49License : GNU General Public LicenseBuild OS : Linux64Build date : 20200213Build host : PC-Alain-BERODBuild options : 64Bit ALGLIB Ann Bamg Blas[generic] Blossom DIntegration Dlopen DomHex Fltk Gmm Hxt Hxt3D Jpeg Kbipack Lapack[generic] LinuxJoystick MathEx Med Mesh Metis Mmg3d Mpeg Netgen ONELAB ONELABMetamodel OpenCASCADE OpenCASCADE-CAF OpenGL OptHom Parser Plugins Png Post QuadTri Solver TetGen/BR Voro++ ZlibFLTK version : 1.3.4OCC version : 7.3.0MED version : 4.0.0Packaged by : alainWeb site : http://gmsh.info Issue tracker : https://gitlab.onelab.info/gmsh/gmsh/issues * Do not hesitate to contact me directly if something is not clear. Kind regards, Alain BEROD -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: working.geo Type: application/octet-stream Size: 4545 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not_working.geo Type: application/octet-stream Size: 4124 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not_working.png Type: image/png Size: 138431 bytes Desc: not available URL: From bertrand.thierry at sorbonne-universite.fr Thu Feb 13 15:57:32 2020 From: bertrand.thierry at sorbonne-universite.fr (Bertrand Thierry) Date: Thu, 13 Feb 2020 15:57:32 +0100 Subject: [Gmsh] Adding a physical surface (on which the load will be applied) to an existing volume. In-Reply-To: References: Message-ID: <0d86c605-3d99-9f61-f079-958e60f06469@sorbonne-universite.fr> Hello, Your Surface is not "in" the volume but on its boundary, your surface is counted twice. Try BooleanFragments, this code should work: SetFactory("OpenCASCADE"); Box(1) = {0, 0, 0, 100, 10, 10}; Rectangle(7) = {40,0,0,20,10,0}; BooleanFragments{Surface{7}; Delete;}{Volume{1}; Delete;} Physical Volume("beam") = {1}; Physical Surface("left") = {8}; Physical Surface("right") = {9}; Physical Surface("load") = {7}; Best, Le 13/02/2020 ? 12:35, Vincent Libertiaux a ?crit?: > Hi, gmsh community, > > I created a simple case (beam fixed at both extremities) with a > distributed load on a fraction of its upper surface.? I reproduce the > short *.geo file: > > SetFactory("OpenCASCADE"); > Box(1) = {0, 0, 0, 100, 10, 10}; > Rectangle(7) = {40,0,0,20,10,0}; > Surface{7} In Volume{1}; > surfaces[] = Boundary{Volume{1};}; > Physical Volume("beam") = {1}; > Physical Surface("left") = {surfaces[0]}; > Physical Surface("right") = {surfaces[1]}; > Physical Surface("load") = {7}; > > When I try to mesh it, I get the following error: > Error ? : PLC Error: ?A segment and a facet intersect at point > Error ? : Invalid boundary mesh (segment-facet intersection) on > surface 7, intersection (40,4.7255,6.14662e-11) > > I think it comes from the fact that I am trying to impose a surface on > another, but I can't find an easy way (rather than defining the > geometry with Points, Lines, ... or determining the nodes on which I'd > like to apply the loading from the msh file). > > Could someone please point me the right direction ? > > Thanks, > > kind regards, > > Vincent > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh -- Bertrand THIERRY CNRS researcher Laboratoire Jacques Louis Lions Office 310, Corridor 15-25 +33 1 44 27 72 01 http://bthierry.pages.math.cnrs.fr/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From nb17010 at bristol.ac.uk Thu Feb 13 16:36:20 2020 From: nb17010 at bristol.ac.uk (Nick Barra) Date: Thu, 13 Feb 2020 15:36:20 +0000 Subject: [Gmsh] GmshToFoam Error Message-ID: Hi, I am trying to model an aerofoil by creating a hybrid mesh in Gmsh and solving it in OpenFoam. When I try to run the ?gmshToFoam? converter I get warnings which are then presented as errors when using checkMesh. I have copied the first few error lines below: FOAM Warning : >From function Foam::polyMesh::polyMesh(const Foam::IOobject&, Foam::pointField&&, const cellShapeList&, const faceListList&, const wordList&, const wordList&, const Foam::word&, const Foam::word&, const wordList&, bool) in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 592 Found 3653 undefined faces in mesh; adding to default patch. Finding faces of patch 0 Finding faces of patch 1 --> FOAM Warning : Not using gmsh face 4(4 414 446 16) since zero vertex is not on boundary of polyMesh --> FOAM Warning : >From function int main(int, char**) in file gmshToFoam.C at line 1549 Could not match gmsh face 4(4 414 446 16) to any of the interior or exterior faces that share the same 0th point --> FOAM Warning : Not using gmsh face 4(414 415 447 446) since zero vertex is not on boundary of polyMesh --> FOAM Warning : >From function int main(int, char**) in file gmshToFoam.C at line 1549 Could not match gmsh face 4(414 415 447 446) to any of the interior or exterior faces that share the same 0th point This error then repeats several times, and then it seems to successfully find faces for the rest of the patches. The checkMesh error is ?Unused points found in the mesh, number unused faces:...? My geometry file is attached to this email. Kind Regards, Nick -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: MeshPoints1.geo Type: application/octet-stream Size: 27797 bytes Desc: MeshPoints1.geo URL: From cgeuzaine at uliege.be Thu Feb 13 18:57:39 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Thu, 13 Feb 2020 18:57:39 +0100 Subject: [Gmsh] Problem with "Compound functions" In-Reply-To: <1645113478.415176.1581337829937.JavaMail.zimbra@toulouse-inp.fr> References: <1645113478.415176.1581337829937.JavaMail.zimbra@toulouse-inp.fr> Message-ID: <45BF51B3-FF8F-47D3-9F7D-AC2F95C39820@uliege.be> > On 10 Feb 2020, at 13:30, Adel MORENO wrote: > > Dear Gmsh user, > I have a problem with the use of "Compound functions". > > So, I have 4 sub-squares making up a larger square (I get this square by double translation from one of the sub-square). > Now, I would like to create a mesh on the largest square while keeping the physical names I gave to the 4 sub-squares. > > I follow the tutorial 12 (Cross-patch meshing with compounds) but I cannot make it work on my case. > > Thank you in advance for your help > OpenCASCADE does not apply "Coherence" by default, so that your geometry consists of 4 independent surfaces (with duplicate curves). Here's a fix: -------------- next part -------------- A non-text attachment was scrubbed... Name: compound.geo Type: application/octet-stream Size: 690 bytes Desc: not available URL: -------------- next part -------------- Christophe > ///////////////////////// > //geo.file > ///////////////////////// > > SetFactory("OpenCASCADE"); > > Lx = 10; > Ly = 10; > Nx = 2; > Ny = 2; > > Point(1) ={0, 10, 0, 10}; > Point(2) ={5, 10, 0, 10}; > Point(3) ={0, 5, 0, 10}; > Point(4) ={5, 5, 0, 10}; > > Line(1) = {1, 2}; > Line(2) = {2, 4}; > Line(3) = {4, 3}; > Line(4) = {3, 1}; > Curve Loop(1) = {1, 2, 3, 4}; > Plane Surface(1) = {1}; > > For j In {1:1} > Translate {0, -5*j, 0} {Duplicata { Surface{1}; }} > EndFor > > all_surfaces[] = Surface "*"; > > For i In {1:1} > Translate {5*i, 0, 0} {Duplicata { Surface{all_surfaces[]}; }} > EndFor > > For k In {1:4} > Physical Surface(k) = {k}; > EndFor > > Compound Curve{1,17}; > Compound Curve{18,22}; > Compound Curve{23,7}; > Compound Curve{4,8}; > > Compound Surface{1,2}; > > > > > > > _______________________________________________ > 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 From morok at mevex.com Thu Feb 13 17:12:28 2020 From: morok at mevex.com (Max Orok) Date: Thu, 13 Feb 2020 11:12:28 -0500 Subject: [Gmsh] GmshToFoam Error In-Reply-To: References: Message-ID: Hi Nick, gmshToFoam is an OpenFOAM community tool and not supported by the Gmsh team. That said, have you tried setting Mesh.MshFileVersion=2.2 in your geo file? There was a somewhat recent mesh major version change from 2 to 4, perhaps your mesh is version 4? There are some old issues that might be helpful: https://gitlab.onelab.info/gmsh/gmsh/issues/687 https://gitlab.onelab.info/gmsh/gmsh/issues/672 Sincerely, Max On Thu, Feb 13, 2020 at 10:48 AM Nick Barra wrote: > Hi, > > > > I am trying to model an aerofoil by creating a hybrid mesh in Gmsh and > solving it in OpenFoam. When I try to run the ?gmshToFoam? converter I get > warnings which are then presented as errors when using checkMesh. I have > copied the first few error lines below: > > > > FOAM Warning > : > > > From function Foam::polyMesh::polyMesh(const Foam::IOobject&, > Foam::pointField&&, const cellShapeList&, const faceListList&, const > wordList&, const wordList&, const Foam::word&, const Foam::word&, const > wordList&, > bool) > in > file meshes/polyMesh/polyMeshFromShapeMesh.C at line > 592 > Found > 3653 undefined faces in mesh; adding to default > patch. > Finding faces of patch > 0 > > > Finding faces of patch > 1 > > > --> FOAM Warning : Not using gmsh face 4(4 414 446 16) since zero vertex > is not on boundary of > polyMesh > --> FOAM Warning > : > > > From function int main(int, > char**) > > > in file gmshToFoam.C at line > 1549 > Could not match gmsh face 4(4 414 446 16) to any of the > interior or exterior faces that share the same 0th > point > --> FOAM Warning : Not using gmsh face 4(414 415 447 446) since zero vertex > is not on boundary of > polyMesh > --> FOAM Warning > : > > > From function int main(int, > char**) > > > in file gmshToFoam.C at line > 1549 > Could not match gmsh face > 4(414 415 447 446) to any of the interior or exterior faces that share the > same 0th point > > > > > > This error then repeats several times, and then it seems to successfully > find faces for the rest of the patches. > > The checkMesh error is ?Unused points found in the mesh, number unused > faces:...? > > > > My geometry file is attached to this email. > > > > Kind Regards, > > Nick > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From vincent.libertiaux at gmail.com Thu Feb 13 17:21:49 2020 From: vincent.libertiaux at gmail.com (Vincent Libertiaux) Date: Thu, 13 Feb 2020 17:21:49 +0100 Subject: [Gmsh] Adding a physical surface (on which the load will be applied) to an existing volume. In-Reply-To: <0d86c605-3d99-9f61-f079-958e60f06469@sorbonne-universite.fr> References: <0d86c605-3d99-9f61-f079-958e60f06469@sorbonne-universite.fr> Message-ID: Hello Bertrand, thank you for your answer; your solution worked perfectly. kind regards, Vincent Le jeu. 13 f?vr. 2020 ? 16:48, Bertrand Thierry < bertrand.thierry at sorbonne-universite.fr> a ?crit : > Hello, > > Your Surface is not "in" the volume but on its boundary, your surface is > counted twice. > > Try BooleanFragments, this code should work: > > SetFactory("OpenCASCADE"); > Box(1) = {0, 0, 0, 100, 10, 10}; > Rectangle(7) = {40,0,0,20,10,0}; > BooleanFragments{Surface{7}; Delete;}{Volume{1}; Delete;} > > Physical Volume("beam") = {1}; > Physical Surface("left") = {8}; > Physical Surface("right") = {9}; > Physical Surface("load") = {7}; > > Best, > > > Le 13/02/2020 ? 12:35, Vincent Libertiaux a ?crit : > > Hi, gmsh community, > > I created a simple case (beam fixed at both extremities) with a > distributed load on a fraction of its upper surface. I reproduce the short > *.geo file: > > SetFactory("OpenCASCADE"); > Box(1) = {0, 0, 0, 100, 10, 10}; > Rectangle(7) = {40,0,0,20,10,0}; > Surface{7} In Volume{1}; > surfaces[] = Boundary{Volume{1};}; > Physical Volume("beam") = {1}; > Physical Surface("left") = {surfaces[0]}; > Physical Surface("right") = {surfaces[1]}; > Physical Surface("load") = {7}; > > When I try to mesh it, I get the following error: > Error : PLC Error: A segment and a facet intersect at point > Error : Invalid boundary mesh (segment-facet intersection) on surface 7, > intersection (40,4.7255,6.14662e-11) > > I think it comes from the fact that I am trying to impose a surface on > another, but I can't find an easy way (rather than defining the geometry > with Points, Lines, ... or determining the nodes on which I'd like to apply > the loading from the msh file). > > Could someone please point me the right direction ? > > Thanks, > > kind regards, > > Vincent > > _______________________________________________ > gmsh mailing listgmsh at onelab.infohttp://onelab.info/mailman/listinfo/gmsh > > -- > Bertrand THIERRY > CNRS researcher > Laboratoire Jacques Louis Lions > Office 310, Corridor 15-25 > +33 1 44 27 72 01http://bthierry.pages.math.cnrs.fr/ > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From donvk at distributel.net Thu Feb 13 21:33:53 2020 From: donvk at distributel.net (Don Van Kerkhoven) Date: Thu, 13 Feb 2020 15:33:53 -0500 Subject: [Gmsh] Geo scripts : syntax PointsOf for a Curve Loop Message-ID: <000d01d5e2ac$e8575ef0$b9061cd0$@net> Hi, Using Gmsh V4.5.2 for on Window7-64pro. I have search the archives and can't find an example of this. I have a Curve Loop and I want to extract the #curves and the list of curves in the loop. Can it be done, and if so, what command / syntax ? // script ************************** Line(1)={Point(1), Point(2)}; // works fine Curve Loop(10) = {1,2,. n}; // works fine, displays properly, NumLineSeg=#Curve{10}; // fail -- try to find #curves, and it fails, don't know why MouthLineList3[]=PointsOf{ Curve{10};}; // fail -- try to find curve list, could not apply operation on shape MouthLineList3[]= Boundary {Curve{10};}; // fail -- try to find curve list, could not apply operation on shape, unknown tag 10 thanks Don -------------- next part -------------- An HTML attachment was scrubbed... URL: From alain.berod at gmail.com Fri Feb 14 09:31:56 2020 From: alain.berod at gmail.com (Alain Berod) Date: Fri, 14 Feb 2020 09:31:56 +0100 Subject: [Gmsh] Issue with periodicities Message-ID: Dear all, First of all, I would like to thanks the Gmsh developers and team for providing such a robust and versatile meshing tool. I encountered a strange behaviour related to periodicities. When I run the attached file *not_working.geo* with an alpha parameter (line 8 of the script) different to pi/4 (try pi/8 if you want to see the error), the code correctly finds the corresponding periodic surfaces *2-5 and 8-1* and performs the 2D meshing without any error. Nevertheless, the 3D meshing outputs the following errors: *Info : Found two exactly self-intersecting facets.Info : 1st: [297, 2694, 3786] #2Info : 2nd: [297, 2694, 9] #2* *Error : Invalid boundary mesh (overlapping facets) on surface 2 surface 2Error : No elements in volume 35* Taking a look more carefully at the 2D surface mesh, I found that 2 out of the 4 periodic faces have overlapping triangles (see attached image *not_working.png*). This seems to be related to the orientation of the ellipse being different on each periodic surface, but this just an hypothesis. I tried with the Mesh.Algorithm options 1,5 and 6 without any success. This bug does not appear when using a pi/4 alpha parameter, which might be due to the fact that the previously badly oriented edges are now circles. I managed to find a workaround that works for any alpha parameter (see *working.geo*) using ThruSections functions (see line 45 of *working.geo*), if that can help you debugging this issue. My Gmsh building options are the following (printed by Gmsh): *Version : 4.5.3-git-5d81a7c49License : GNU General Public LicenseBuild OS : Linux64Build date : 20200213Build host : PC-Alain-BERODBuild options : 64Bit ALGLIB Ann Bamg Blas[generic] Blossom DIntegration Dlopen DomHex Fltk Gmm Hxt Hxt3D Jpeg Kbipack Lapack[generic] LinuxJoystick MathEx Med Mesh Metis Mmg3d Mpeg Netgen ONELAB ONELABMetamodel OpenCASCADE OpenCASCADE-CAF OpenGL OptHom Parser Plugins Png Post QuadTri Solver TetGen/BR Voro++ ZlibFLTK version : 1.3.4OCC version : 7.3.0MED version : 4.0.0Packaged by : alainWeb site : http://gmsh.info Issue tracker : https://gitlab.onelab.info/gmsh/gmsh/issues * Do not hesitate to contact me directly if something is not clear. Kind regards, Alain BEROD -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not_working.geo Type: application/octet-stream Size: 4124 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: working.geo Type: application/octet-stream Size: 4545 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not_working.png Type: image/png Size: 138431 bytes Desc: not available URL: From FZhang at ThorntonTomasetti.com Fri Feb 14 15:06:29 2020 From: FZhang at ThorntonTomasetti.com (Zhang, Fangyin) Date: Fri, 14 Feb 2020 14:06:29 +0000 Subject: [Gmsh] cannot change the meshing size Message-ID: Dear Gmsh users, I'm creating a frame in Gmsh (the .geo file is attached). When I tried to mesh the lines, no matter what kind of meshing size I defined (by changing the "Prescribed mesh element size at point", which is the parameter "cl1" in the attached file, and through "Mesh --> Define --> Size at points"), the element size is always the same. I'm using Gmsh version 4.5.2 in Windows 10. Thank you for any help! Regards, Fangyin -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: frame1.geo Type: application/octet-stream Size: 579 bytes Desc: frame1.geo URL: From francois.rioual at inrae.fr Mon Feb 17 16:06:49 2020 From: francois.rioual at inrae.fr (Rioual Francois) Date: Mon, 17 Feb 2020 16:06:49 +0100 (CET) Subject: [Gmsh] Enquiry: making a stl file Message-ID: <1519980525.453926.1581952009529.JavaMail.zimbra@inrae.fr> Good afternoon, May I write to you concerning my problem: I made a packing a spherical beads (representing a porous material) with a discrete element software (yade). So I can have all the coordinates of the centres and radii of the spherical beads. I want to save the geometry of this porous medium into a .stl file for further processing (in comsol). In order to do that, I was advised to use gmsh; can you explain me how I can proceed ?? Thank you for your reply, Best wishes Vincent ***************************************************************** Charg? de Recherches CR1 Unit? FRISE- G?nie des proc?d?s frigorifiques pour la s?curit? alimentaire et l?environnement 1 rue Pierre- Gilles de Gennes - CS10030 92761 Antony Cedex Courriel: [ mailto:francois.rioual at inrae.fr | francois.rioual at inrae.fr ] T?l. : +33 (0)1 40 96 61 21 (poste : 81 90 15) ******************************************************************* -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ZcoSignatureImage_francois 2_image001.png Type: image/png Size: 6604 bytes Desc: not available URL: From komu06c at gmail.com Tue Feb 18 07:06:16 2020 From: komu06c at gmail.com (Komal Kumari) Date: Tue, 18 Feb 2020 11:36:16 +0530 Subject: [Gmsh] negative z values in version 4.3.0 Message-ID: I am generating msh file in version *4.3.0* and exporting it in *version 2 ASCII* format because I have written code to read *2.2 0 8* MeshFormat. In it some of the z-coordinate are showing negative values. However, if I am generating msh file in version *2.7.0 *using the same geo file used earlier, no negative values is there but appropriate Physical names are not coming.I am attaching geo file ad msh file of both version. Please let me know how to tackle negative z values. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: xyz_full.geo Type: application/octet-stream Size: 162866 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: xyz_version_2.7.msh Type: application/octet-stream Size: 5115629 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: xyz_version_4_format_2.2 Type: application/octet-stream Size: 3587138 bytes Desc: not available URL: From cgeuzaine at uliege.be Tue Feb 18 08:30:26 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 18 Feb 2020 08:30:26 +0100 Subject: [Gmsh] negative z values in version 4.3.0 In-Reply-To: References: Message-ID: <7FEE7D73-65EB-4B41-AA78-3CE8DFA1B89F@uliege.be> > On 18 Feb 2020, at 07:06, Komal Kumari wrote: > > I am generating msh file in version 4.3.0 and exporting it in version 2 ASCII format because I have written code to read 2.2 0 8 MeshFormat. In it some of the z-coordinate are showing negative values. However, if I am generating msh file in version 2.7.0 using the same geo file used earlier, no negative values is there but appropriate Physical names are not coming.I am attaching geo file ad msh file of both version. Please let me know how to tackle negative z values. > Your "plane surface" is not plane: the z-coordinates of points on its boundary range from 1 to 102. Newer versions of Gmsh compute the "best" plane surface computed in the least-square sense. Christophe > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science 1 http://www.montefiore.ulg.ac.be/~geuzaine From komu06c at gmail.com Tue Feb 18 11:35:08 2020 From: komu06c at gmail.com (Komal Kumari) Date: Tue, 18 Feb 2020 16:05:08 +0530 Subject: [Gmsh] negative z values in version 4.3.0 In-Reply-To: <7FEE7D73-65EB-4B41-AA78-3CE8DFA1B89F@uliege.be> References: <7FEE7D73-65EB-4B41-AA78-3CE8DFA1B89F@uliege.be> Message-ID: Thank you for the clarification. Is there any other way to compute plane surface in this type of problems with large variation in z values? On Tue, Feb 18, 2020 at 1:00 PM Christophe Geuzaine wrote: > > > > On 18 Feb 2020, at 07:06, Komal Kumari wrote: > > > > I am generating msh file in version 4.3.0 and exporting it in version 2 > ASCII format because I have written code to read 2.2 0 8 MeshFormat. In it > some of the z-coordinate are showing negative values. However, if I am > generating msh file in version 2.7.0 using the same geo file used earlier, > no negative values is there but appropriate Physical names are not coming.I > am attaching geo file ad msh file of both version. Please let me know how > to tackle negative z values. > > > > Your "plane surface" is not plane: the z-coordinates of points on its > boundary range from 1 to 102. > > Newer versions of Gmsh compute the "best" plane surface computed in the > least-square sense. > > Christophe > > > > _______________________________________________ > > gmsh mailing list > > gmsh at onelab.info > > http://onelab.info/mailman/listinfo/gmsh > > ? > Prof. Christophe Geuzaine > University of Liege, Electrical Engineering and Computer Science 1 > http://www.montefiore.ulg.ac.be/~geuzaine > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rinaldi.petrolli at wsdg.com Thu Feb 20 03:39:15 2020 From: rinaldi.petrolli at wsdg.com (Rinaldi Polese Petrolli) Date: Wed, 19 Feb 2020 23:39:15 -0300 Subject: [Gmsh] Gmsh OCC class Physical Groups Message-ID: Hi, Hope everything is good. I'm working merging two meshes into one via the .cut OCC class method, but my output has all the Physical Groups defined as 0, even when adding a PhysicalGroup to the model. Here's a quick example. gmsh.model .occ.addPlaneSurface([-(12 + i)], i + 2 + 100) gmsh.model.addPhysicalGroup(2, [i + 2 + 100], i + 2 + 100) When I open the meshes all of the surfaces have the same PhysicalGorup index. Is there a way to use the OCC class and set Physical Groups as it can be done using the geo class? Thanks! -- Rinaldi Petrolli Acoustic Engineer Walters-Storyk Design Group Architectural Acoustic Consulting Media Systems Engineering 262 Martin Avenue Highland, NY 12528, USA O +1 845 691 9300 F +1 845 691 9361 rinaldi.petrolli at wsdg.com www.wsdg.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From rinaldi.petrolli at wsdg.com Thu Feb 20 16:44:48 2020 From: rinaldi.petrolli at wsdg.com (Rinaldi Polese Petrolli) Date: Thu, 20 Feb 2020 12:44:48 -0300 Subject: [Gmsh] Gmsh OCC class Physical Groups In-Reply-To: References: Message-ID: Already figured it out, all I needed to da was declare the physical groups again after applying the cut :) Em qua., 19 de fev. de 2020 ?s 23:39, Rinaldi Polese Petrolli < rinaldi.petrolli at wsdg.com> escreveu: > Hi, > > Hope everything is good. I'm working merging two meshes into one via the > .cut OCC class method, but my output has all the Physical Groups defined as > 0, even when adding a PhysicalGroup to the model. Here's a quick example. > > gmsh.model .occ.addPlaneSurface([-(12 + i)], i + 2 + 100) > gmsh.model.addPhysicalGroup(2, [i + 2 + 100], i + 2 + 100) > > When I open the meshes all of the surfaces have the same PhysicalGorup > index. Is there a way to use the OCC class and set Physical Groups as it > can be done using the geo class? > > Thanks! > -- > Rinaldi Petrolli > Acoustic Engineer > Walters-Storyk Design Group > Architectural Acoustic Consulting > Media Systems Engineering > 262 Martin Avenue > > Highland, NY 12528, USA > > O +1 845 691 9300 > F +1 845 691 9361 > rinaldi.petrolli at wsdg.com > www.wsdg.com > -- Rinaldi Petrolli Acoustic Engineer Walters-Storyk Design Group Architectural Acoustic Consulting Media Systems Engineering 262 Martin Avenue Highland, NY 12528, USA O +1 845 691 9300 F +1 845 691 9361 rinaldi.petrolli at wsdg.com www.wsdg.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From fluidmechanicsizcool at gmail.com Fri Feb 21 02:57:36 2020 From: fluidmechanicsizcool at gmail.com (Xavier Johnson) Date: Thu, 20 Feb 2020 18:57:36 -0700 Subject: [Gmsh] Clarification on Element Physical Group Relation Message-ID: Hello, I had some confusion when I assign a physical group in the gmsh program to how those physical groups relate to the generated mesh elements. This is more of a concern when I am trying to get an understanding on the information about the elements in the output .msh file. Any clarification would be useful. Thank you, Xavier -------------- next part -------------- An HTML attachment was scrubbed... URL: From Guillaume.DILASSER at cea.fr Fri Feb 21 09:04:22 2020 From: Guillaume.DILASSER at cea.fr (DILASSER Guillaume) Date: Fri, 21 Feb 2020 08:04:22 +0000 Subject: [Gmsh] Clarification on Element Physical Group Relation In-Reply-To: References: Message-ID: Dear Xavier, Physical groups are explained in Section 6.2 of Gmsh manual. The TL;DR is: when some part of the mesh (a node, edge, face or element) is part of a physical group, it is marked with a numerical ?tag?. Constituents of the mesh can receive more than one ?tag? when they belong to the intersection of different physical groups. The solver using the mesh then reconstructs the physical groups by looking for element carrying a certain tag. As for the formatting of the .msh file, it is explained in Section 9.1 of the documentation. The .msh file has a $Entities section in which you will find the mesh constituents (nodes, edges, faces and volumes) and each will be marked with the physical ?tags? you defined in your .geo file. Sincerely Yours, Guillaume Dilasser De : gmsh De la part de Xavier Johnson Envoy? : vendredi 21 f?vrier 2020 02:58 ? : gmsh at onelab.info Objet : [Gmsh] Clarification on Element Physical Group Relation Hello, I had some confusion when I assign a physical group in the gmsh program to how those physical groups relate to the generated mesh elements. This is more of a concern when I am trying to get an understanding on the information about the elements in the output .msh file. Any clarification would be useful. Thank you, Xavier -------------- next part -------------- An HTML attachment was scrubbed... URL: From baltasar.ruechardt at ds.mpg.de Sun Feb 23 18:36:04 2020 From: baltasar.ruechardt at ds.mpg.de (=?UTF-8?Q?Baltasar_R=c3=bcchardt?=) Date: Sun, 23 Feb 2020 18:36:04 +0100 Subject: [Gmsh] What is the angle in ClassifySurfaces? Message-ID: <9ecff9f3-6f77-9b4f-dfab-980c3d8cea2a@ds.mpg.de> Dear gmsh group, I have a problem understanding the first parameter of |ClassifySurfaces|. The documentation states it classifies the surfaces based on an angle in radians - but between what sides? I would be happy if anyone can help me or point me to some literature which makes it obvious! Thank you, Baltasar -------------- next part -------------- An HTML attachment was scrubbed... URL: From songtao198801 at gmail.com Sun Feb 23 17:52:17 2020 From: songtao198801 at gmail.com (tao song) Date: Mon, 24 Feb 2020 00:52:17 +0800 Subject: [Gmsh] Small cylinder in huge domain Message-ID: Dear all, While i meshing a model with small cylinder in a huge domain, if the filed is not given, it gives me an error "No elements in volume x", where x denote the small cylinder volume, and if the field is used, the gmsh blocked and finally crashed. How can i get the right mesh of this kind of model (small cylinder in a huge domain)? I want the whole domain and the small cylinder both are meshed. Kind regards, Songt. The code i used: --------------------------- SetFactory("OpenCASCADE"); Point(1) = {0,0,0}; Point(2) = {0,0,-40}; Line(1) = {1,2}; Box(1)={-50,-50,-50,100,100,100}; Cylinder(2) = {0, 0, 0, 0, 0, -40, 0.01, 2*Pi}; //Cylinder(2) = {0, 0, 0, 0, 0, -40, 1, 2*Pi}; BooleanDifference(3) = { Volume{1}; Delete; }{ Volume{2}; }; //Coherence; Physical Volume ( "c",11 ) = {1}; Physical Volume ( "d",12 ) = {2}; len = 0.001; Field[1] = Distance; Field[1].NNodesByEdge = 100; Field[1].EdgesList = {1}; Field[2] = Threshold; Field[2].IField = 1; Field[2].LcMin = len*5; Field[2].LcMax = 20; Field[2].DistMin = 200*len; Field[2].DistMax = 30; Field[3] = Min; Field[3].FieldsList = {2}; Background Field = 3; --------------------------- From cgeuzaine at uliege.be Sun Feb 23 20:42:16 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 23 Feb 2020 20:42:16 +0100 Subject: [Gmsh] Small cylinder in huge domain In-Reply-To: References: Message-ID: <90D1E845-95F6-4BBA-AC10-429572FB63BB@uliege.be> Dear Songt, Very thin (or very long) cylinders have very anisotropic parametric representations in OpenCASCADE. When the ratio is sufficiently large you run into floating point tolerance issues in the mesh generation process. With OpenCASCADE cylinders, the workaround is to segment the cylinders in several parts. Attached is a modified version of your file that shows one way of doing it: -------------- next part -------------- A non-text attachment was scrubbed... Name: cc.geo Type: application/octet-stream Size: 629 bytes Desc: not available URL: -------------- next part -------------- Christophe PS: once the new hxt algorithm supports Fields (hopefully later this year), 3D meshing time for very refined meshes will be dramatically decreased. > On 23 Feb 2020, at 17:52, tao song wrote: > > Dear all, > While i meshing a model with small cylinder in a huge domain, if the > filed is not given, it gives me an error "No elements in volume x", > where x denote the small cylinder volume, and if the field is used, > the gmsh blocked and finally crashed. > How can i get the right mesh of this kind of model (small cylinder in > a huge domain)? I want the whole domain and the small cylinder both > are meshed. > > Kind regards, > Songt. > > The code i used: > --------------------------- > SetFactory("OpenCASCADE"); > > Point(1) = {0,0,0}; Point(2) = {0,0,-40}; > Line(1) = {1,2}; > > Box(1)={-50,-50,-50,100,100,100}; > Cylinder(2) = {0, 0, 0, 0, 0, -40, 0.01, 2*Pi}; > //Cylinder(2) = {0, 0, 0, 0, 0, -40, 1, 2*Pi}; > BooleanDifference(3) = { Volume{1}; Delete; }{ Volume{2}; }; > //Coherence; > Physical Volume ( "c",11 ) = {1}; > Physical Volume ( "d",12 ) = {2}; > > len = 0.001; > Field[1] = Distance; > Field[1].NNodesByEdge = 100; > Field[1].EdgesList = {1}; > > Field[2] = Threshold; > Field[2].IField = 1; > Field[2].LcMin = len*5; > Field[2].LcMax = 20; > Field[2].DistMin = 200*len; > Field[2].DistMax = 30; > Field[3] = Min; > Field[3].FieldsList = {2}; > Background Field = 3; > --------------------------- > > _______________________________________________ > 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 From cgeuzaine at uliege.be Sun Feb 23 20:43:54 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 23 Feb 2020 20:43:54 +0100 Subject: [Gmsh] What is the angle in ClassifySurfaces? In-Reply-To: <9ecff9f3-6f77-9b4f-dfab-980c3d8cea2a@ds.mpg.de> References: <9ecff9f3-6f77-9b4f-dfab-980c3d8cea2a@ds.mpg.de> Message-ID: <180255AD-3A11-4F72-A2F7-4FC99B51C2D3@uliege.be> > On 23 Feb 2020, at 18:36, Baltasar R?chardt wrote: > > Dear gmsh group, > > I have a problem understanding the first parameter of ClassifySurfaces. The documentation states it classifies the surfaces based on an angle in radians - but between what sides? > The angle between triangles leading the detection of "sharp edges" in the surface. Setting the angle to Pi means "don't create sharp edges". Christophe > I would be happy if anyone can help me or point me to some literature which makes it obvious! > > > > Thank you, > > > > Baltasar > > _______________________________________________ > 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 From cgeuzaine at uliege.be Sun Feb 23 20:45:17 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 23 Feb 2020 20:45:17 +0100 Subject: [Gmsh] negative z values in version 4.3.0 In-Reply-To: References: <7FEE7D73-65EB-4B41-AA78-3CE8DFA1B89F@uliege.be> Message-ID: <3F8AA69D-F20C-496C-880F-C25EA00F4BC4@uliege.be> > On 18 Feb 2020, at 11:35, Komal Kumari wrote: > > Thank you for the clarification. Is there any other way to compute plane surface in this type of problems with large variation in z values? There is no plane surface that goes through the points you specified... Christophe > > On Tue, Feb 18, 2020 at 1:00 PM Christophe Geuzaine wrote: > > > > On 18 Feb 2020, at 07:06, Komal Kumari wrote: > > > > I am generating msh file in version 4.3.0 and exporting it in version 2 ASCII format because I have written code to read 2.2 0 8 MeshFormat. In it some of the z-coordinate are showing negative values. However, if I am generating msh file in version 2.7.0 using the same geo file used earlier, no negative values is there but appropriate Physical names are not coming.I am attaching geo file ad msh file of both version. Please let me know how to tackle negative z values. > > > > Your "plane surface" is not plane: the z-coordinates of points on its boundary range from 1 to 102. > > Newer versions of Gmsh compute the "best" plane surface computed in the least-square sense. > > Christophe > > > _______________________________________________ > > gmsh mailing list > > gmsh at onelab.info > > http://onelab.info/mailman/listinfo/gmsh > > ? > Prof. Christophe Geuzaine > University of Liege, Electrical Engineering and Computer Science 1 > http://www.montefiore.ulg.ac.be/~geuzaine > > > ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine From cgeuzaine at uliege.be Sun Feb 23 20:51:32 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 23 Feb 2020 20:51:32 +0100 Subject: [Gmsh] Enquiry: making a stl file In-Reply-To: <1519980525.453926.1581952009529.JavaMail.zimbra@inrae.fr> References: <1519980525.453926.1581952009529.JavaMail.zimbra@inrae.fr> Message-ID: <5A32A886-3F10-46F8-8CFE-B0C0A7E041CC@uliege.be> > On 17 Feb 2020, at 16:06, Rioual Francois wrote: > > Good afternoon, > > May I write to you concerning my problem: > I made a packing a spherical beads (representing a porous material) with a discrete element software (yade). > So I can have all the coordinates of the centres and radii of the spherical beads. > I want to save the geometry of this porous medium into a .stl file for further processing (in comsol). > In order to do that, I was advised to use gmsh; can you explain me how I can proceed ?? > Here's a simple example to create a cube from which you remove randomly positioned spheres in Gmsh: SetFactory("OpenCASCADE"); DefineConstant[ rmin = {0.02, Name "Min radius"} rmax = {0.1, Name "Max radius"} n = {50, Name "Number of spheres"} ]; For i In {1:n} r = rmin + Rand(rmax - rmin); x = -0.5 + Rand(1); y = -0.5 + Rand(1); z = -0.5 + Rand(1); Sphere(i) = {x, y, z, r}; EndFor Block(n + 1) = {-0.5, -0.5, -0.5, 1, 1, 1}; BooleanDifference{ Volume{n+1}; Delete; }{ Volume{1:n}; Delete; } Mesh.CharacteristicLengthFromCurvature = 1; You can mesh this in 2D (and save as STL) but you can directly generate a 3D mesh as well directly in Gmsh. Christophe > Thank you for your reply, > > Best wishes > > Vincent > > > ***************************************************************** > > Charg? de Recherches CR1 > Unit? FRISE- G?nie des proc?d?s frigorifiques pour la s?curit? alimentaire et l?environnement > 1 rue Pierre- Gilles de Gennes - CS10030 > 92761 Antony Cedex > Courriel: francois.rioual at inrae.fr > T?l. : +33 (0)1 40 96 61 21 (poste : 81 90 15) > ******************************************************************* > > > > > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Sun Feb 23 20:53:19 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 23 Feb 2020 20:53:19 +0100 Subject: [Gmsh] cannot change the meshing size In-Reply-To: References: Message-ID: <0EB0B1CF-E775-4A3E-81F9-2EC178BC0FA4@uliege.be> > On 14 Feb 2020, at 15:06, Zhang, Fangyin wrote: > > Dear Gmsh users, > > I?m creating a frame in Gmsh (the .geo file is attached). When I tried to mesh the lines, no matter what kind of meshing size I defined (by changing the ?Prescribed mesh element size at point?, which is the parameter ?cl1? in the attached file, and through ?Mesh ? Define ? Size at points?), the element size is always the same. > Your file works as expected here. Maybe you're just not looking at the 1D mesh (it's not displayed by default)? Double-click in the graphic window and select "Mesh visibility->Nodes" and/or "mesh visibility->1D elements". Christophe > I?m using Gmsh version 4.5.2 in Windows 10. > > Thank you for any help! > > > Regards, > > Fangyin > > _______________________________________________ > 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 From cgeuzaine at uliege.be Sun Feb 23 20:55:33 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 23 Feb 2020 20:55:33 +0100 Subject: [Gmsh] Issue with periodicities In-Reply-To: References: Message-ID: <31AFA87E-7B97-4E0D-B7AE-192584453821@uliege.be> Dear Alain, > On 14 Feb 2020, at 09:31, Alain Berod wrote: > > Dear all, > > First of all, I would like to thanks the Gmsh developers and team for providing such a robust and versatile meshing tool. > > I encountered a strange behaviour related to periodicities. When I run the attached file not_working.geo with an alpha parameter (line 8 of the script) different to pi/4 (try pi/8 if you want to see the error), the code correctly finds the corresponding periodic surfaces 2-5 and 8-1 and performs the 2D meshing without any error. > Nevertheless, the 3D meshing outputs the following errors: > > Info : Found two exactly self-intersecting facets. > Info : 1st: [297, 2694, 3786] #2 > Info : 2nd: [297, 2694, 9] #2 > Error : Invalid boundary mesh (overlapping facets) on surface 2 surface 2 > Error : No elements in volume 35 > > Taking a look more carefully at the 2D surface mesh, I found that 2 out of the 4 periodic faces have overlapping triangles (see attached image not_working.png). This seems to be related to the orientation of the ellipse being different on each periodic surface, but this just an hypothesis. Indeed: we have trouble when OpenCASCADE changes the orientation. A partial solution has been committed in 4.5.3, but there's still room for improvement. Christophe > I tried with the Mesh.Algorithm options 1,5 and 6 without any success. > > This bug does not appear when using a pi/4 alpha parameter, which might be due to the fact that the previously badly oriented edges are now circles. > > I managed to find a workaround that works for any alpha parameter (see working.geo) using ThruSections functions (see line 45 of working.geo), if that can help you debugging this issue. > > My Gmsh building options are the following (printed by Gmsh): > > Version : 4.5.3-git-5d81a7c49 > License : GNU General Public License > Build OS : Linux64 > Build date : 20200213 > Build host : PC-Alain-BEROD > Build options : 64Bit ALGLIB Ann Bamg Blas[generic] Blossom DIntegration Dlopen DomHex Fltk Gmm Hxt Hxt3D Jpeg Kbipack Lapack[generic] LinuxJoystick MathEx Med Mesh Metis Mmg3d Mpeg Netgen ONELAB ONELABMetamodel OpenCASCADE OpenCASCADE-CAF OpenGL OptHom Parser Plugins Png Post QuadTri Solver TetGen/BR Voro++ Zlib > FLTK version : 1.3.4 > OCC version : 7.3.0 > MED version : 4.0.0 > Packaged by : alain > Web site : http://gmsh.info > Issue tracker : https://gitlab.onelab.info/gmsh/gmsh/issues > > Do not hesitate to contact me directly if something is not clear. > > Kind regards, > > Alain BEROD > _______________________________________________ > 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 From cgeuzaine at uliege.be Sun Feb 23 20:58:31 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 23 Feb 2020 20:58:31 +0100 Subject: [Gmsh] Geo scripts : syntax PointsOf for a Curve Loop In-Reply-To: <000d01d5e2ac$e8575ef0$b9061cd0$@net> References: <000d01d5e2ac$e8575ef0$b9061cd0$@net> Message-ID: > On 13 Feb 2020, at 21:33, Don Van Kerkhoven wrote: > > Hi, > > Using Gmsh V4.5.2 for on Window7-64pro. I have search the archives and can?t find an example of this. > > I have a Curve Loop and I want to extract the #curves and the list of curves in the loop. Can it be done, and if so, what command / syntax ? > It's currently not supported: "Curve Loops" and "Surface Loops" can not be queried - only point, curves, surfaces and volumes. As a workaround, use a list to create your curve loop, and use that list instead. If the surface is given to you (e.g. from a STEP file) and you didn't create it explicitly with a curve loop, you can use the "Boundary" operator to extract the curves on its boundary. Christophe > // script ************************** > > Line(1)={Point(1), Point(2)}; // works fine > Curve Loop(10) = {1,2,? n}; // works fine, displays properly, > > NumLineSeg=#Curve{10}; // fail -- try to find #curves, and it fails, don?t know why > MouthLineList3[]=PointsOf{ Curve{10};}; // fail -- try to find curve list, could not apply operation on shape > MouthLineList3[]= Boundary {Curve{10};}; // fail -- try to find curve list, could not apply operation on shape, unknown tag 10 > > > thanks > Don > _______________________________________________ > 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 From cgeuzaine at uliege.be Sun Feb 23 21:00:32 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 23 Feb 2020 21:00:32 +0100 Subject: [Gmsh] Questions about gmsh In-Reply-To: References: Message-ID: > On 3 Feb 2020, at 08:04, Li Yang wrote: > > Dear all, > > I am using gmsh 2.9.3. I have two questions about it. > > 1. Can I import STL format geometry into gmsh 2.9.3 and generate mesh from the geometry by gmsh? > 2. I am using gmsh 2.9.3, but the update version is 4.5.2, I want to know how to convert one format mesh to another? > I would strongly recommend using the latest version of Gmsh for STL remeshing. New versions of Gmsh can still export meshes in older formats: see 17 in http://gmsh.info/doc/texinfo/gmsh.html#Mesh-module-questions Christophe > Thank you very much? > > Best regards, > Student > _______________________________________________ > 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 From FZhang at ThorntonTomasetti.com Mon Feb 24 14:37:43 2020 From: FZhang at ThorntonTomasetti.com (Zhang, Fangyin) Date: Mon, 24 Feb 2020 13:37:43 +0000 Subject: [Gmsh] cannot change the meshing size In-Reply-To: <0EB0B1CF-E775-4A3E-81F9-2EC178BC0FA4@uliege.be> References: <0EB0B1CF-E775-4A3E-81F9-2EC178BC0FA4@uliege.be> Message-ID: Thank you very much, Christophe! I did look the 1-D mesh by selecting "Mesh visibility->Nodes" and "mesh visibility->1D elements". I'll try it on a Linux machine and then report my test to the list. Regards, Fangyin -----Original Message----- From: Christophe Geuzaine Sent: Sunday, February 23, 2020 2:53 PM To: Zhang, Fangyin Cc: gmsh at onelab.info Subject: Re: [Gmsh] cannot change the meshing size [External Sender] > On 14 Feb 2020, at 15:06, Zhang, Fangyin wrote: > > Dear Gmsh users, > > I?m creating a frame in Gmsh (the .geo file is attached). When I tried to mesh the lines, no matter what kind of meshing size I defined (by changing the ?Prescribed mesh element size at point?, which is the parameter ?cl1? in the attached file, and through ?Mesh ? Define ? Size at points?), the element size is always the same. > Your file works as expected here. Maybe you're just not looking at the 1D mesh (it's not displayed by default)? Double-click in the graphic window and select "Mesh visibility->Nodes" and/or "mesh visibility->1D elements". Christophe > I?m using Gmsh version 4.5.2 in Windows 10. > > Thank you for any help! > > > Regards, > > Fangyin > > _______________________________________________ > 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 From donvk at distributel.net Mon Feb 24 15:10:22 2020 From: donvk at distributel.net (Don Van Kerkhoven) Date: Mon, 24 Feb 2020 09:10:22 -0500 Subject: [Gmsh] Geo scripts : syntax PointsOf for a Curve Loop In-Reply-To: References: <000d01d5e2ac$e8575ef0$b9061cd0$@net> Message-ID: <000001d5eb1c$28811ee0$79835ca0$@net> Thanks Christophe. I used your suggestion. bw Don -----Original Message----- From: Christophe Geuzaine [mailto:cgeuzaine at uliege.be] Sent: February-23-20 2:59 PM To: Don Van Kerkhoven Cc: gmsh at onelab.info Subject: Re: [Gmsh] Geo scripts : syntax PointsOf for a Curve Loop > On 13 Feb 2020, at 21:33, Don Van Kerkhoven wrote: > > Hi, > > Using Gmsh V4.5.2 for on Window7-64pro. I have search the archives and can?t find an example of this. > > I have a Curve Loop and I want to extract the #curves and the list of curves in the loop. Can it be done, and if so, what command / syntax ? > It's currently not supported: "Curve Loops" and "Surface Loops" can not be queried - only point, curves, surfaces and volumes. As a workaround, use a list to create your curve loop, and use that list instead. If the surface is given to you (e.g. from a STEP file) and you didn't create it explicitly with a curve loop, you can use the "Boundary" operator to extract the curves on its boundary. Christophe > // script ************************** > > Line(1)={Point(1), Point(2)}; // works fine > Curve Loop(10) = {1,2,? n}; // works fine, displays properly, > > NumLineSeg=#Curve{10}; // fail -- try to find #curves, and it fails, don?t know why > MouthLineList3[]=PointsOf{ Curve{10};}; // fail -- try to find curve list, could not apply operation on shape > MouthLineList3[]= Boundary {Curve{10};}; // fail -- try to find curve list, could not apply operation on shape, unknown tag 10 > > > thanks > Don > _______________________________________________ > 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 From donvk at distributel.net Mon Feb 24 20:11:41 2020 From: donvk at distributel.net (Don Van Kerkhoven) Date: Mon, 24 Feb 2020 14:11:41 -0500 Subject: [Gmsh] geo script - how to get a mesh after plugin(triangulate) ? Message-ID: <000001d5eb46$3fd1a680$bf74f380$@net> Hi, I have a point cloud that I have successfully triangulated it but I can't figure out how to create a mesh and save it. What are the next steps to create and save the mesh from this triangulation ? // ------ script start ---------- Points(1..n) Mesh 1; // works, Plugin(NewView).Run; Plugin(CutPlane).A = 0 ; // works, cut the cloud in XY plane Plugin(CutPlane).B = 0 ; Plugin(CutPlane).C = 1 ; Plugin(CutPlane).D = 0 ; Plugin(CutPlane).ExtractVolume= 1 ; Plugin(CutPlane).View = 0 ; Plugin(CutPlane).Run ; Plugin(Triangulate).Run; // works, triangulate 1/2 symmetry // ---- script end ---------- thanks DonVK -------------- next part -------------- An HTML attachment was scrubbed... URL: From songtao198801 at gmail.com Mon Feb 24 19:32:25 2020 From: songtao198801 at gmail.com (tao song) Date: Tue, 25 Feb 2020 02:32:25 +0800 Subject: [Gmsh] Small cylinder in huge domain In-Reply-To: <90D1E845-95F6-4BBA-AC10-429572FB63BB@uliege.be> References: <90D1E845-95F6-4BBA-AC10-429572FB63BB@uliege.be> Message-ID: Dear Christophe, It's really solved my problem, and i'm looking forward to the new algorithm! Is there any introduction about bool function, like BooleanFragments, the introduction is vague in gmsh manual. Thank you very much. Best regards, Songt. Christophe Geuzaine ?2020?2?24??? ??3:42??? > > > Dear Songt, > > Very thin (or very long) cylinders have very anisotropic parametric representations in OpenCASCADE. When the ratio is sufficiently large you run into floating point tolerance issues in the mesh generation process. > > With OpenCASCADE cylinders, the workaround is to segment the cylinders in several parts. Attached is a modified version of your file that shows one way of doing it: > > > > Christophe > > PS: once the new hxt algorithm supports Fields (hopefully later this year), 3D meshing time for very refined meshes will be dramatically decreased. > > > > On 23 Feb 2020, at 17:52, tao song wrote: > > > > Dear all, > > While i meshing a model with small cylinder in a huge domain, if the > > filed is not given, it gives me an error "No elements in volume x", > > where x denote the small cylinder volume, and if the field is used, > > the gmsh blocked and finally crashed. > > How can i get the right mesh of this kind of model (small cylinder in > > a huge domain)? I want the whole domain and the small cylinder both > > are meshed. > > > > Kind regards, > > Songt. > > > > The code i used: > > --------------------------- > > SetFactory("OpenCASCADE"); > > > > Point(1) = {0,0,0}; Point(2) = {0,0,-40}; > > Line(1) = {1,2}; > > > > Box(1)={-50,-50,-50,100,100,100}; > > Cylinder(2) = {0, 0, 0, 0, 0, -40, 0.01, 2*Pi}; > > //Cylinder(2) = {0, 0, 0, 0, 0, -40, 1, 2*Pi}; > > BooleanDifference(3) = { Volume{1}; Delete; }{ Volume{2}; }; > > //Coherence; > > Physical Volume ( "c",11 ) = {1}; > > Physical Volume ( "d",12 ) = {2}; > > > > len = 0.001; > > Field[1] = Distance; > > Field[1].NNodesByEdge = 100; > > Field[1].EdgesList = {1}; > > > > Field[2] = Threshold; > > Field[2].IField = 1; > > Field[2].LcMin = len*5; > > Field[2].LcMax = 20; > > Field[2].DistMin = 200*len; > > Field[2].DistMax = 30; > > Field[3] = Min; > > Field[3].FieldsList = {2}; > > Background Field = 3; > > --------------------------- > > > > _______________________________________________ > > 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 > > > From jeremy at seamplex.com Tue Feb 25 00:06:01 2020 From: jeremy at seamplex.com (jeremy theler) Date: Mon, 24 Feb 2020 20:06:01 -0300 Subject: [Gmsh] Small cylinder in huge domain In-Reply-To: References: <90D1E845-95F6-4BBA-AC10-429572FB63BB@uliege.be> Message-ID: https://dev.opencascade.org/doc/overview/html/occt_user_guides__boolean_operations.html -- jeremy theler www.seamplex.com On Mon, Feb 24, 2020, 19:01 tao song wrote: > Dear Christophe, > It's really solved my problem, and i'm looking forward to the new > algorithm! > Is there any introduction about bool function, like BooleanFragments, > the introduction is vague in gmsh manual. > Thank you very much. > > Best regards, > Songt. > > Christophe Geuzaine ?2020?2?24??? ??3:42??? > > > > > > > Dear Songt, > > > > Very thin (or very long) cylinders have very anisotropic parametric > representations in OpenCASCADE. When the ratio is sufficiently large you > run into floating point tolerance issues in the mesh generation process. > > > > With OpenCASCADE cylinders, the workaround is to segment the cylinders > in several parts. Attached is a modified version of your file that shows > one way of doing it: > > > > > > > > Christophe > > > > PS: once the new hxt algorithm supports Fields (hopefully later this > year), 3D meshing time for very refined meshes will be dramatically > decreased. > > > > > > > On 23 Feb 2020, at 17:52, tao song wrote: > > > > > > Dear all, > > > While i meshing a model with small cylinder in a huge domain, if the > > > filed is not given, it gives me an error "No elements in volume x", > > > where x denote the small cylinder volume, and if the field is used, > > > the gmsh blocked and finally crashed. > > > How can i get the right mesh of this kind of model (small cylinder in > > > a huge domain)? I want the whole domain and the small cylinder both > > > are meshed. > > > > > > Kind regards, > > > Songt. > > > > > > The code i used: > > > --------------------------- > > > SetFactory("OpenCASCADE"); > > > > > > Point(1) = {0,0,0}; Point(2) = {0,0,-40}; > > > Line(1) = {1,2}; > > > > > > Box(1)={-50,-50,-50,100,100,100}; > > > Cylinder(2) = {0, 0, 0, 0, 0, -40, 0.01, 2*Pi}; > > > //Cylinder(2) = {0, 0, 0, 0, 0, -40, 1, 2*Pi}; > > > BooleanDifference(3) = { Volume{1}; Delete; }{ Volume{2}; }; > > > //Coherence; > > > Physical Volume ( "c",11 ) = {1}; > > > Physical Volume ( "d",12 ) = {2}; > > > > > > len = 0.001; > > > Field[1] = Distance; > > > Field[1].NNodesByEdge = 100; > > > Field[1].EdgesList = {1}; > > > > > > Field[2] = Threshold; > > > Field[2].IField = 1; > > > Field[2].LcMin = len*5; > > > Field[2].LcMax = 20; > > > Field[2].DistMin = 200*len; > > > Field[2].DistMax = 30; > > > Field[3] = Min; > > > Field[3].FieldsList = {2}; > > > Background Field = 3; > > > --------------------------- > > > > > > _______________________________________________ > > > 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 > > > > > > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From FZhang at ThorntonTomasetti.com Tue Feb 25 14:51:09 2020 From: FZhang at ThorntonTomasetti.com (Zhang, Fangyin) Date: Tue, 25 Feb 2020 13:51:09 +0000 Subject: [Gmsh] cannot change the meshing size In-Reply-To: <0EB0B1CF-E775-4A3E-81F9-2EC178BC0FA4@uliege.be> References: <0EB0B1CF-E775-4A3E-81F9-2EC178BC0FA4@uliege.be> Message-ID: Hi Christophe, I have tested the .geo file on a Linux machine, the file works as expected. Seems the problem lies in the Windows version of Gmsh. Regards, Fangyin -----Original Message----- From: Christophe Geuzaine Sent: Sunday, February 23, 2020 2:53 PM To: Zhang, Fangyin Cc: gmsh at onelab.info Subject: Re: [Gmsh] cannot change the meshing size [External Sender] > On 14 Feb 2020, at 15:06, Zhang, Fangyin wrote: > > Dear Gmsh users, > > I?m creating a frame in Gmsh (the .geo file is attached). When I tried to mesh the lines, no matter what kind of meshing size I defined (by changing the ?Prescribed mesh element size at point?, which is the parameter ?cl1? in the attached file, and through ?Mesh ? Define ? Size at points?), the element size is always the same. > Your file works as expected here. Maybe you're just not looking at the 1D mesh (it's not displayed by default)? Double-click in the graphic window and select "Mesh visibility->Nodes" and/or "mesh visibility->1D elements". Christophe > I?m using Gmsh version 4.5.2 in Windows 10. > > Thank you for any help! > > > Regards, > > Fangyin > > _______________________________________________ > 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 From szacarias at ikp.tu-darmstadt.de Tue Feb 25 17:18:38 2020 From: szacarias at ikp.tu-darmstadt.de (Sabrina Zacarias) Date: Tue, 25 Feb 2020 17:18:38 +0100 Subject: [Gmsh] Strange mesh in a curved square Message-ID: <0118F318-5A20-4550-81D5-08304653D85C@ikp.tu-darmstadt.de> Dear experts, I am doing a very simple test to see the mesh of a surface, but the output is not right (see attachment). I would be grateful if someone can point out what I?m missing. This is the code: //Electrode 16 lc_el=1; 17 x0=0; 18 y0=0; 19 z0=0; 20 w=50; 21 22 //inner radius 23 24 pel_1_1 = newp; Point(pel_1_1) = {x0,y0,z0,lc_el}; //center 25 pel_2_1 = newp; Point(pel_2_1) = {Rel_in,y0,z0,lc_el}; 26 pel_3_1 = newp; Point(pel_3_1) = {x0,Rel_in,z0,lc_el}; 27 28 //circular boundary 1 29 30 cel_1_i = newc; Circle(cel_1_i) = {pel_2_1,pel_1_1,pel_3_1}; 31 //same +width 32 pel_1_2 = newp; Point(pel_1_2) = {x0,y0,z0+w,lc_el}; //center 33 pel_2_2 = newp; Point(pel_2_2) = {Rel_in,y0,z0+w,lc_el}; 34 pel_3_2 = newp; Point(pel_3_2) = {x0,Rel_in,z0+w,lc_el}; 35 36 //circular boundary 2 37 38 cel_2_i = newc; Circle(cel_2_i) = {pel_3_2,pel_1_2,pel_2_2}; 39 40 //lines connecting circles 1 & 2 (translated in z===width) 41 42 l_low_i = newl; Line(l_low_i) = {pel_2_2,pel_2_1}; 43 l_low_ii = newl; Line(l_low_ii) = {pel_3_1,pel_3_2}; 44 45 //surface loop 46 47 ll_low_i = newreg; Line Loop(ll_low_i) = {cel_1_i,l_low_ii,cel_2_i,l_low_i}; 48 s_low_i = news; Plane Surface(s_low_i) = {ll_low_i}; 49 Thank you very much in advance. Best regards, Sabrina -- Sabrina Zacarias Institut f?r Kernphysik Technische Universit?t Darmstadt S2|14 / office 319 Schlossgartenstr. 9 64289 Darmstadt Office: +49 6151 16 23589 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Screenshot 2020-02-25 at 17.07.29.png Type: image/png Size: 180355 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Screenshot 2020-02-25 at 17.09.15.png Type: image/png Size: 214372 bytes Desc: not available URL: From songtao198801 at gmail.com Tue Feb 25 19:30:16 2020 From: songtao198801 at gmail.com (tao song) Date: Wed, 26 Feb 2020 02:30:16 +0800 Subject: [Gmsh] Small cylinder in huge domain In-Reply-To: References: <90D1E845-95F6-4BBA-AC10-429572FB63BB@uliege.be> Message-ID: Thanks! Best regards, Songt. jeremy theler ?2020?2?25??? ??7:06??? > > https://dev.opencascade.org/doc/overview/html/occt_user_guides__boolean_operations.html > > -- > jeremy theler > www.seamplex.com > > On Mon, Feb 24, 2020, 19:01 tao song wrote: >> >> Dear Christophe, >> It's really solved my problem, and i'm looking forward to the new algorithm! >> Is there any introduction about bool function, like BooleanFragments, >> the introduction is vague in gmsh manual. >> Thank you very much. >> >> Best regards, >> Songt. >> >> Christophe Geuzaine ?2020?2?24??? ??3:42??? >> >> > >> > >> > Dear Songt, >> > >> > Very thin (or very long) cylinders have very anisotropic parametric representations in OpenCASCADE. When the ratio is sufficiently large you run into floating point tolerance issues in the mesh generation process. >> > >> > With OpenCASCADE cylinders, the workaround is to segment the cylinders in several parts. Attached is a modified version of your file that shows one way of doing it: >> > >> > >> > >> > Christophe >> > >> > PS: once the new hxt algorithm supports Fields (hopefully later this year), 3D meshing time for very refined meshes will be dramatically decreased. >> > >> > >> > > On 23 Feb 2020, at 17:52, tao song wrote: >> > > >> > > Dear all, >> > > While i meshing a model with small cylinder in a huge domain, if the >> > > filed is not given, it gives me an error "No elements in volume x", >> > > where x denote the small cylinder volume, and if the field is used, >> > > the gmsh blocked and finally crashed. >> > > How can i get the right mesh of this kind of model (small cylinder in >> > > a huge domain)? I want the whole domain and the small cylinder both >> > > are meshed. >> > > >> > > Kind regards, >> > > Songt. >> > > >> > > The code i used: >> > > --------------------------- >> > > SetFactory("OpenCASCADE"); >> > > >> > > Point(1) = {0,0,0}; Point(2) = {0,0,-40}; >> > > Line(1) = {1,2}; >> > > >> > > Box(1)={-50,-50,-50,100,100,100}; >> > > Cylinder(2) = {0, 0, 0, 0, 0, -40, 0.01, 2*Pi}; >> > > //Cylinder(2) = {0, 0, 0, 0, 0, -40, 1, 2*Pi}; >> > > BooleanDifference(3) = { Volume{1}; Delete; }{ Volume{2}; }; >> > > //Coherence; >> > > Physical Volume ( "c",11 ) = {1}; >> > > Physical Volume ( "d",12 ) = {2}; >> > > >> > > len = 0.001; >> > > Field[1] = Distance; >> > > Field[1].NNodesByEdge = 100; >> > > Field[1].EdgesList = {1}; >> > > >> > > Field[2] = Threshold; >> > > Field[2].IField = 1; >> > > Field[2].LcMin = len*5; >> > > Field[2].LcMax = 20; >> > > Field[2].DistMin = 200*len; >> > > Field[2].DistMax = 30; >> > > Field[3] = Min; >> > > Field[3].FieldsList = {2}; >> > > Background Field = 3; >> > > --------------------------- >> > > >> > > _______________________________________________ >> > > 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 >> > >> > >> > >> >> _______________________________________________ >> gmsh mailing list >> gmsh at onelab.info >> http://onelab.info/mailman/listinfo/gmsh From donvk at distributel.net Tue Feb 25 22:45:34 2020 From: donvk at distributel.net (Don Van Kerkhoven) Date: Tue, 25 Feb 2020 16:45:34 -0500 Subject: [Gmsh] Strange mesh in a curved square Message-ID: <002001d5ec24$e9265940$bb730bc0$@net> Change the Surface type. 48 s_low_i = news; Surface(s_low_i) = {ll_low_i}; -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Wed Feb 26 07:18:03 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 26 Feb 2020 07:18:03 +0100 Subject: [Gmsh] geo script - how to get a mesh after plugin(triangulate) ? In-Reply-To: <000001d5eb46$3fd1a680$bf74f380$@net> References: <000001d5eb46$3fd1a680$bf74f380$@net> Message-ID: <84877B77-88F2-40A1-B577-6DB17B7D281A@uliege.be> > On 24 Feb 2020, at 20:11, Don Van Kerkhoven wrote: > > Hi, > > I have a point cloud that I have successfully triangulated it but I can?t figure out how to create a mesh and save it. > > What are the next steps to create and save the mesh from this triangulation ? > You can export View[1] as a mesh (currently in the old MSH2 format) with Save View[1] "mesh.msh"; Christophe > // ------ script start ---------- > Points(1..n) > Mesh 1; // works, > Plugin(NewView).Run; > > Plugin(CutPlane).A = 0 ; // works, cut the cloud in XY plane > Plugin(CutPlane).B = 0 ; > Plugin(CutPlane).C = 1 ; > Plugin(CutPlane).D = 0 ; > Plugin(CutPlane).ExtractVolume= 1 ; > Plugin(CutPlane).View = 0 ; > Plugin(CutPlane).Run ; > > Plugin(Triangulate).Run; // works, triangulate 1/2 symmetry > > // ---- script end ---------- > > thanks > DonVK > _______________________________________________ > 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 From bertrand.thierry at sorbonne-universite.fr Wed Feb 26 10:27:51 2020 From: bertrand.thierry at sorbonne-universite.fr (Bertrand Thierry) Date: Wed, 26 Feb 2020 10:27:51 +0100 Subject: [Gmsh] Strange mesh in a curved square In-Reply-To: <0118F318-5A20-4550-81D5-08304653D85C@ikp.tu-darmstadt.de> References: <0118F318-5A20-4550-81D5-08304653D85C@ikp.tu-darmstadt.de> Message-ID: <02a8a396-23dd-5af0-6b14-8ca4afb9e795@sorbonne-universite.fr> Hello, Part of your code is missing : I cannot reproduce it. I however suspect the lastline to be the bad guy : Plane Surface(s_low_i) = {ll_low_i}; Could you try with "Surface" (instead of "Plane Surface") ? Best, Bertrand Le 25/02/2020 ? 17:18, Sabrina Zacarias a ?crit?: > Dear experts, > > I am doing a very simple test to see the mesh of a surface, but the > output is not right (see attachment). I would be grateful if someone > can point out what I?m missing. This is the code: > > ?//Electrode > ?16 lc_el=1; > ?17 x0=0; > ?18 y0=0; > ?19 z0=0; > ?20??w=50; > ?21 > ?22 //inner radius > ?23 > ?24 pel_1_1 = newp; Point(pel_1_1) =? {x0,y0,z0,lc_el}; //center > ?25 pel_2_1 = newp; Point(pel_2_1) =? {Rel_in,y0,z0,lc_el}; > ?26 pel_3_1 = newp; Point(pel_3_1) =? {x0,Rel_in,z0,lc_el}; > ?27 > ?28 //circular boundary 1 > ?29 > ?30 cel_1_i = newc; Circle(cel_1_i) = {pel_2_1,pel_1_1,pel_3_1}; > ?31 //same +width > ?32 pel_1_2 = newp; Point(pel_1_2) =? {x0,y0,z0+w,lc_el}; //center > ?33 pel_2_2 = newp; Point(pel_2_2) =? {Rel_in,y0,z0+w,lc_el}; > ?34 pel_3_2 = newp; Point(pel_3_2) =? {x0,Rel_in,z0+w,lc_el}; > ?35 > ?36 //circular boundary 2 > ?37 > ?38 cel_2_i = newc; Circle(cel_2_i) = {pel_3_2,pel_1_2,pel_2_2}; > ?39 > ?40 //lines connecting circles 1 & 2 (translated in z===width) > ?41 > ?42 l_low_i = newl; Line(l_low_i) = {pel_2_2,pel_2_1}; > ?43 l_low_ii = newl; Line(l_low_ii) = {pel_3_1,pel_3_2}; > ?44 > ?45 //surface loop > ?46 > ?47 ll_low_i = newreg; Line Loop(ll_low_i) = > {cel_1_i,l_low_ii,cel_2_i,l_low_i}; > ?48 s_low_i = news; Plane Surface(s_low_i) = {ll_low_i}; > ?49 > > Thank you very much in advance. > > Best regards, > > Sabrina > > -- > Sabrina Zacarias > Institut f?r Kernphysik > Technische Universit?t Darmstadt > S2|14 / office 319 > Schlossgartenstr. 9 > > 64289 Darmstadt > > Office: +49 6151 16 23589 > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh -- Bertrand THIERRY CNRS researcher Laboratoire Jacques Louis Lions Office 310, Corridor 15-25 +33 1 44 27 72 01 http://bthierry.pages.math.cnrs.fr/ -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Screenshot 2020-02-25 at 17.07.29.png Type: image/png Size: 180355 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Screenshot 2020-02-25 at 17.09.15.png Type: image/png Size: 214372 bytes Desc: not available URL: From donvk at distributel.net Wed Feb 26 19:23:36 2020 From: donvk at distributel.net (Don Van Kerkhoven) Date: Wed, 26 Feb 2020 13:23:36 -0500 Subject: [Gmsh] geo script - how to get a mesh after plugin(triangulate) ? In-Reply-To: <84877B77-88F2-40A1-B577-6DB17B7D281A@uliege.be> References: <000001d5eb46$3fd1a680$bf74f380$@net> <84877B77-88F2-40A1-B577-6DB17B7D281A@uliege.be> Message-ID: <001601d5ecd1$dd92e7d0$98b8b770$@net> Thanks again Christophe. That does what I need. I ended up importing back for further processing. >> Save View[1] "mesh.msh"; >> Merge "Mesh.msh"; br Don -----Original Message----- From: Christophe Geuzaine [mailto:cgeuzaine at uliege.be] Sent: February-26-20 1:18 AM To: Don Van Kerkhoven Cc: Gmsh Subject: Re: [Gmsh] geo script - how to get a mesh after plugin(triangulate) ? > On 24 Feb 2020, at 20:11, Don Van Kerkhoven wrote: > > Hi, > > I have a point cloud that I have successfully triangulated it but I can?t figure out how to create a mesh and save it. > > What are the next steps to create and save the mesh from this triangulation ? > You can export View[1] as a mesh (currently in the old MSH2 format) with Save View[1] "mesh.msh"; Christophe > // ------ script start ---------- > Points(1..n) > Mesh 1; // works, > Plugin(NewView).Run; > > Plugin(CutPlane).A = 0 ; // works, cut the cloud in XY plane > Plugin(CutPlane).B = 0 ; > Plugin(CutPlane).C = 1 ; > Plugin(CutPlane).D = 0 ; > Plugin(CutPlane).ExtractVolume= 1 ; > Plugin(CutPlane).View = 0 ; > Plugin(CutPlane).Run ; > > Plugin(Triangulate).Run; // works, triangulate 1/2 symmetry > > // ---- script end ---------- > > thanks > DonVK > _______________________________________________ > 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 From francis.giraldeau at gmail.com Wed Feb 26 23:37:04 2020 From: francis.giraldeau at gmail.com (Francis Giraldeau) Date: Wed, 26 Feb 2020 17:37:04 -0500 Subject: [Gmsh] gmsh python module Message-ID: Hello! I just compiled gmsh with ENABLE_WRAP_PYTHON=ON. This seems to install the module gmshpy. However, the Python demos are importing the gmsh module, which is not installed, so I'm a bit confused. How do we install the actual Python gmsh module? Thanks! -- Francis -------------- next part -------------- An HTML attachment was scrubbed... URL: From francis.giraldeau at gmail.com Thu Feb 27 00:02:21 2020 From: francis.giraldeau at gmail.com (Francis Giraldeau) Date: Wed, 26 Feb 2020 18:02:21 -0500 Subject: [Gmsh] Selecting faces after boolean operation Message-ID: It is necessary to define physical groups for surfaces in order to apply boundary conditions. The Boundary function returns the surfaces for a given geometry, but after a boolean operation, the surface entities change and the surface is lost. Here is an example: SetFactory("OpenCASCADE"); box1 = newreg; Box(box1) = {-2,-2,-2, 4,4,4}; // The box1 will be deleted in the boolean operation and the boundary is invalid // box1_boundary() = Boundary{ Volume{box1}; }; // Physical Surface("box1_surface") = { box1_boundary() }; box2 = newreg; Box(box2) = {-1,-1,-1, 2,2,2}; case = newreg; BooleanDifference(case) = { Volume{box1}; Delete; }{ Volume{box2}; }; Physical Volume("case") = {case}; Physical Volume("box2") = {box2}; // The boundary return also the internal surface case_boundary() = Boundary{ Volume{case}; }; Physical Surface("case_surface") = { case_boundary() }; // Recover the surfaces using BoundingBox, but it's cumbersome and works only for specific simple geometries... tol = 1e-3; s1() = Surface In BoundingBox { -2-tol,-2-tol,-2-tol, 4+tol, 4+tol, -2+tol }; Physical Surface("Back") = s1(); I would be curious if there is better way to obtain the outer surfaces of a volume after a boolean operation? Thanks! -- Francis -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Thu Feb 27 06:57:13 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Thu, 27 Feb 2020 06:57:13 +0100 Subject: [Gmsh] gmsh python module In-Reply-To: References: Message-ID: Dear Francis, Setting ENABLE_WRAP_PYTHON=ON will build the Python wrappers of the *private* Gmsh API using swig, i.e. wrap all the development C++ headers. This is for Gmsh developers. What you want is the stable public Python API. This doesn't require swig: just build the dynamic Gmsh library (ENABLE_BUILD_DYNAMIC=ON) - the gsmh.py file will be installed alongside the .so/.dll/.dylib. You can also download the binary SDK from the website: it contains everything you need. Christophe > On 26 Feb 2020, at 23:37, Francis Giraldeau wrote: > > Hello! > > I just compiled gmsh with ENABLE_WRAP_PYTHON=ON. This seems to install the module gmshpy. However, the Python demos are importing the gmsh module, which is not installed, so I'm a bit confused. > > How do we install the actual Python gmsh module? > > Thanks! > > -- > Francis > _______________________________________________ > 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 From cgeuzaine at uliege.be Thu Feb 27 06:58:36 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Thu, 27 Feb 2020 06:58:36 +0100 Subject: [Gmsh] Selecting faces after boolean operation In-Reply-To: References: Message-ID: > On 27 Feb 2020, at 00:02, Francis Giraldeau wrote: > > It is necessary to define physical groups for surfaces in order to apply boundary conditions. The Boundary function returns the surfaces for a given geometry, but after a boolean operation, the surface entities change and the surface is lost. Yes indeed. > Here is an example: > > SetFactory("OpenCASCADE"); > > box1 = newreg; > Box(box1) = {-2,-2,-2, 4,4,4}; > // The box1 will be deleted in the boolean operation and the boundary is invalid > // box1_boundary() = Boundary{ Volume{box1}; }; > // Physical Surface("box1_surface") = { box1_boundary() }; > > box2 = newreg; > Box(box2) = {-1,-1,-1, 2,2,2}; > > case = newreg; > BooleanDifference(case) = { Volume{box1}; Delete; }{ Volume{box2}; }; > > Physical Volume("case") = {case}; > Physical Volume("box2") = {box2}; > > // The boundary return also the internal surface > case_boundary() = Boundary{ Volume{case}; }; Use CombinedBoundary to remove all internal faces. Christophe > Physical Surface("case_surface") = { case_boundary() }; > > // Recover the surfaces using BoundingBox, but it's cumbersome and works only for specific simple geometries... > tol = 1e-3; > s1() = Surface In BoundingBox { -2-tol,-2-tol,-2-tol, 4+tol, 4+tol, -2+tol }; > Physical Surface("Back") = s1(); > > I would be curious if there is better way to obtain the outer surfaces of a volume after a boolean operation? > > Thanks! > > -- > Francis > _______________________________________________ > 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 From francis.giraldeau at gmail.com Thu Feb 27 17:02:39 2020 From: francis.giraldeau at gmail.com (Francis Giraldeau) Date: Thu, 27 Feb 2020 11:02:39 -0500 Subject: [Gmsh] Selecting faces after boolean operation In-Reply-To: References: Message-ID: Le jeu. 27 f?vr. 2020 ? 00:58, Christophe Geuzaine a ?crit : > > On 27 Feb 2020, at 00:02, Francis Giraldeau > wrote: > > case = newreg; > > BooleanDifference(case) = { Volume{box1}; Delete; }{ Volume{box2}; }; > > > > Physical Volume("case") = {case}; > > Physical Volume("box2") = {box2}; > > > > // The boundary return also the internal surface > > case_boundary() = Boundary{ Volume{case}; }; > > Use CombinedBoundary to remove all internal faces. > Interesting. I tried that and it seems it doesn't work using BooleanDifference. CombinedBoundary also return the internal surfaces in the case above. However, replacing BooleanDifference by BooleanFragments causes CombinedBoundary to return only the external faces: frag() = BooleanFragments { Volume{box1,box2}; Delete; }{ }; cb() = CombinedBoundary{Volume{frag()};}; Physical Surface("cb") = {cb()}; But when using BooleanFragments, box2 is deleted and cannot be used anymore to create the corresponding physical volume. Either way, it seems that BoundingBox is necessary to retrieve the volumes or surfaces in order to create the physical groups. Cheers! Francis -------------- next part -------------- An HTML attachment was scrubbed... URL: From lolsenkettle at swin.edu.au Fri Feb 28 08:04:26 2020 From: lolsenkettle at swin.edu.au (Louise Olsen) Date: Fri, 28 Feb 2020 07:04:26 +0000 Subject: [Gmsh] saving GMSH mesh into a CAD file format like STEP Message-ID: Hi, I know that GMSH can input CAD model files such as STEP format, I want to check if any CAD software can input GMSH meshes? And can GMSH save meshes into a CAD file format such as STEP? Thanks, Louise Dr Louise Olsen-Kettle VC Women in STEM Fellow Mathematics Department Swinburne University of Technology Email lolsenkettle at swin.edu.au T +61 (0)3 9214 8318 [Twitter icon] @DrOlsenKettle W Webpage W ResearchGate W eSpace W ORCID -------------- next part -------------- An HTML attachment was scrubbed... URL: From Guillaume.DILASSER at cea.fr Fri Feb 28 16:40:49 2020 From: Guillaume.DILASSER at cea.fr (DILASSER Guillaume) Date: Fri, 28 Feb 2020 15:40:49 +0000 Subject: [Gmsh] saving GMSH mesh into a CAD file format like STEP In-Reply-To: References: Message-ID: Hi Louise, Gmsh operates using .geo files and .msh files. ".geo" are files that contain the definition of geometrical objects and ".msh" are files containing the meshes generated by the program based on a specified geometry. I do not know if any commercial CAD software natively supports .geo or .msh files but I doubt it. There might still by third-party plugins for some CAD software that might do that. On the other hand, Gmsh can save both geometries and mesh to a variety of output formats. If you are using Gmsh GUI, simply go the menu bar File > Export or hit Ctrl+E. That will open a window in which you can select the output file format (using the "Type" line, under the "File name" line). If you use Gmsh on the command line, use the -format option described in the online documentation here. Hope this helped, Guillaume Dilasser De : gmsh De la part de Louise Olsen Envoy? : vendredi 28 f?vrier 2020 08:04 ? : gmsh at onelab.info Objet : [Gmsh] saving GMSH mesh into a CAD file format like STEP Hi, I know that GMSH can input CAD model files such as STEP format, I want to check if any CAD software can input GMSH meshes? And can GMSH save meshes into a CAD file format such as STEP? Thanks, Louise Dr Louise Olsen-Kettle VC Women in STEM Fellow Mathematics Department Swinburne University of Technology Email lolsenkettle at swin.edu.au T +61 (0)3 9214 8318 [Twitter icon] @DrOlsenKettle W Webpage W ResearchGate W eSpace W ORCID -------------- next part -------------- An HTML attachment was scrubbed... URL: From zoltan.csati at centralelille.fr Fri Feb 28 18:30:26 2020 From: zoltan.csati at centralelille.fr (Zoltan) Date: Fri, 28 Feb 2020 18:30:26 +0100 Subject: [Gmsh] Linear elasticity equation using the template project file Message-ID: <6593b00a-2e26-6904-8f8e-40cbae883dda@centralelille.fr> Greetings, I want to solve a plane stress problem in linear elasticity on a rectangular domain. To do this, I followed the instruction in the header of the Interactive_Elasticity.pro file. First, I created the domain and the default triangular mesh on it. Then I defined two physical groups, one for the left and one for the right side of the rectangle. After that, I clicked on File -> Merge and selected the /Interactive_Elasticity.pro/ file. Here comes the problem. The instruction writes: ?You will be prompted to setup your material, sources and the boundary conditions for each physical group, interactively.?. You can see from the attached screenshot (using the latest Linux x64 binary of ONELAB) that only the boundary conditions appeared. The problem can still be solved but the displacement and stress values are zeros, as you see from the opened result text files. Questions: 1. How can I set the material parameters E and \nu? 2. Why is my solution a zero vector? 3. How can I visualize any component of the displacement vector and the stress tensor? Thank you ? -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Screenshot from 2020-02-28 14-20-34.png Type: image/png Size: 160038 bytes Desc: not available URL: From cgeuzaine at uliege.be Sat Feb 29 09:23:29 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sat, 29 Feb 2020 09:23:29 +0100 Subject: [Gmsh] Linear elasticity equation using the template project file In-Reply-To: <6593b00a-2e26-6904-8f8e-40cbae883dda@centralelille.fr> References: <6593b00a-2e26-6904-8f8e-40cbae883dda@centralelille.fr> Message-ID: <1C52EA27-FD94-4669-8956-DF03C8AC9639@uliege.be> > On 28 Feb 2020, at 18:30, Zoltan wrote: > > Greetings, > > > > I want to solve a plane stress problem in linear elasticity on a rectangular domain. To do this, I followed the instruction in the header of the Interactive_Elasticity.pro file. > First, I created the domain and the default triangular mesh on it. Then I defined two physical groups, one for the left and one for the right side of the rectangle. After that, I clicked on File -> Merge and selected the Interactive_Elasticity.pro file. Here comes the problem. The instruction writes: ?You will be prompted to setup your material, sources and the boundary conditions for each physical group, interactively.?. You can see from the attached screenshot (using the latest Linux x64 binary of ONELAB) that only the boundary conditions appeared. You just need to define a physical group for the surface as well. Christophe > The problem can still be solved but the displacement and stress values are zeros, as you see from the opened result text files. > > Questions: > > ? How can I set the material parameters and ? > ? Why is my solution a zero vector? > ? How can I visualize any component of the displacement vector and the stress tensor? > > > Thank you > > _______________________________________________ > 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 From cgeuzaine at uliege.be Sat Feb 29 09:30:27 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sat, 29 Feb 2020 09:30:27 +0100 Subject: [Gmsh] Selecting faces after boolean operation In-Reply-To: References: Message-ID: > On 27 Feb 2020, at 17:02, Francis Giraldeau wrote: > > Le jeu. 27 f?vr. 2020 ? 00:58, Christophe Geuzaine a ?crit : > > On 27 Feb 2020, at 00:02, Francis Giraldeau wrote: > > case = newreg; > > BooleanDifference(case) = { Volume{box1}; Delete; }{ Volume{box2}; }; > > > > Physical Volume("case") = {case}; > > Physical Volume("box2") = {box2}; > > > > // The boundary return also the internal surface > > case_boundary() = Boundary{ Volume{case}; }; > > Use CombinedBoundary to remove all internal faces. > > Interesting. I tried that and it seems it doesn't work using BooleanDifference. CombinedBoundary also return the internal surfaces in the case above. > Boolean operations create new entities. Since you don't delete box2, you end up with two (disjoint volumes): box2 and the result of the difference, "case". The boundary operator works as expected. > However, replacing BooleanDifference by BooleanFragments causes CombinedBoundary to return only the external faces: Yes: the fragment operation results in two volumes that are "glued", i.e. they share the internal surfaces. Hence CombinedBoundary behaves as expected. > > frag() = BooleanFragments { Volume{box1,box2}; Delete; }{ }; > cb() = CombinedBoundary{Volume{frag()};}; > Physical Surface("cb") = {cb()}; > > But when using BooleanFragments, box2 is deleted and cannot be used anymore to create the corresponding physical volume. > > Either way, it seems that BoundingBox is necessary to retrieve the volumes or surfaces in order to create the physical groups. > Gmsh tries to reuse the same tag for top level (highest dimensional) entities that are not modified. Here box2 will keep its tag, that you can use for the physical. Note that the API returns additional information on the parent/child relationships: see https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/tutorial/python/t16.py Christophe > Cheers! > > Francis > _______________________________________________ > 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 From donvk at distributel.net Sat Feb 29 16:04:56 2020 From: donvk at distributel.net (Don Van Kerkhoven) Date: Sat, 29 Feb 2020 10:04:56 -0500 Subject: [Gmsh] geo script - how to reference elements after reading a msh file Message-ID: <000001d5ef11$9b6a5fe0$d23f1fa0$@net> Hi, I have a "triangulated.msh" file that was created from the Plugin(Triangulate) and saved. I need to attach features to this mesh as well as correct several normal directions. How do I reference or access the points, lines, etc of this mesh ? Is there a way to harmonize the normals? ------ code start -------- Merge "Triangulated.msh"; // works, but normals are random SurfaceAll[]=Surface "*"; // works, 1 surface detected LinesAll[]=Line "*"; // fail, 0 lines detected PointsAll[]=Physical Point "*"; // fail, 0 lines detected ----- code end ------------- thanks Don -------------- next part -------------- An HTML attachment was scrubbed... URL: From zoltan.csati at centralelille.fr Sat Feb 29 16:10:57 2020 From: zoltan.csati at centralelille.fr (Zoltan) Date: Sat, 29 Feb 2020 16:10:57 +0100 Subject: [Gmsh] Linear elasticity equation using the template project file In-Reply-To: <1C52EA27-FD94-4669-8956-DF03C8AC9639@uliege.be> References: <6593b00a-2e26-6904-8f8e-40cbae883dda@centralelille.fr> <1C52EA27-FD94-4669-8956-DF03C8AC9639@uliege.be> Message-ID: <46ef0320-c30a-b591-edd2-021b42d98fd4@centralelille.fr> Thank you, works perfectly. Zoltan On 29/02/2020 09:23, Christophe Geuzaine wrote: > >> On 28 Feb 2020, at 18:30, Zoltan wrote: >> >> Greetings, >> >> >> >> I want to solve a plane stress problem in linear elasticity on a rectangular domain. To do this, I followed the instruction in the header of the Interactive_Elasticity.pro file. >> First, I created the domain and the default triangular mesh on it. Then I defined two physical groups, one for the left and one for the right side of the rectangle. After that, I clicked on File -> Merge and selected the Interactive_Elasticity.pro file. Here comes the problem. The instruction writes: ?You will be prompted to setup your material, sources and the boundary conditions for each physical group, interactively.?. You can see from the attached screenshot (using the latest Linux x64 binary of ONELAB) that only the boundary conditions appeared. > You just need to define a physical group for the surface as well. > > Christophe > > >> The problem can still be solved but the displacement and stress values are zeros, as you see from the opened result text files. >> >> Questions: >> >> ? How can I set the material parameters and ? >> ? Why is my solution a zero vector? >> ? How can I visualize any component of the displacement vector and the stress tensor? >> >> >> Thank you >> >> _______________________________________________ >> 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 > > > From cgeuzaine at uliege.be Sat Feb 29 18:15:27 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sat, 29 Feb 2020 18:15:27 +0100 Subject: [Gmsh] geo script - how to reference elements after reading a msh file In-Reply-To: <000001d5ef11$9b6a5fe0$d23f1fa0$@net> References: <000001d5ef11$9b6a5fe0$d23f1fa0$@net> Message-ID: <5EFC66E3-9135-4FF9-B135-872254E2FD56@uliege.be> > On 29 Feb 2020, at 16:04, Don Van Kerkhoven wrote: > > Hi, > > I have a ?triangulated.msh? file that was created from the Plugin(Triangulate) and saved. > I need to attach features to this mesh as well as correct several normal directions. > > How do I reference or access the points, lines, etc of this mesh ? > This is not possible in a .geo script ; you'll need to use the API for that. > Is there a way to harmonize the normals? > > ------ code start -------- > Merge "Triangulated.msh"; // works, but normals are random > SurfaceAll[]=Surface "*"; // works, 1 surface detected > LinesAll[]=Line "*"; // fail, 0 lines detected > PointsAll[]=Physical Point "*"; // fail, 0 lines detected > ----- code end ------------- > > > thanks > Don > _______________________________________________ > 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 From donvk at distributel.net Sat Feb 29 18:29:14 2020 From: donvk at distributel.net (Don Van Kerkhoven) Date: Sat, 29 Feb 2020 12:29:14 -0500 Subject: [Gmsh] geo script - how to reference elements after reading a msh file In-Reply-To: <5EFC66E3-9135-4FF9-B135-872254E2FD56@uliege.be> References: <000001d5ef11$9b6a5fe0$d23f1fa0$@net> <5EFC66E3-9135-4FF9-B135-872254E2FD56@uliege.be> Message-ID: <000801d5ef25$c3d8c750$4b8a55f0$@net> OK thanks. bw Don -----Original Message----- From: Christophe Geuzaine [mailto:cgeuzaine at uliege.be] Sent: February-29-20 12:15 PM To: Don Van Kerkhoven Cc: gmsh at onelab.info Subject: Re: [Gmsh] geo script - how to reference elements after reading a msh file > On 29 Feb 2020, at 16:04, Don Van Kerkhoven wrote: > > Hi, > > I have a ?triangulated.msh? file that was created from the Plugin(Triangulate) and saved. > I need to attach features to this mesh as well as correct several normal directions. > > How do I reference or access the points, lines, etc of this mesh ? > This is not possible in a .geo script ; you'll need to use the API for that. > Is there a way to harmonize the normals? > > ------ code start -------- > Merge "Triangulated.msh"; // works, but normals are random > SurfaceAll[]=Surface "*"; // works, 1 surface detected > LinesAll[]=Line "*"; // fail, 0 lines detected > PointsAll[]=Physical Point "*"; // fail, 0 lines detected > ----- code end ------------- > > > thanks > Don > _______________________________________________ > 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 From cgeuzaine at uliege.be Sat Feb 29 20:42:44 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sat, 29 Feb 2020 20:42:44 +0100 Subject: [Gmsh] terrain meshing with an stl file In-Reply-To: References: Message-ID: I've added two examples for Gmsh 4.5.4 showing how such "terrain" meshes can be constructed with the API: * from a regular grid of points: https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/demos/api/terrain.py * from an STL mesh: https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/demos/api/terrain_stl.py Christophe > On 9 Jan 2020, at 14:17, DILASSER Guillaume wrote: > > Hello, > > The topic of mesh generation based on terrain data has been discussed several time in the Gmsh mailing list. I would suggest you to explore the mailing list archive here. A search for the ?terrain? keyword for example returns these results. > > Sincerely yours, > > Guillaume Dilasser > > De : gmsh De la part de ? ? > Envoy? : jeudi 9 janvier 2020 13:25 > ? : gmsh at onelab.info > Objet : Re: [Gmsh] terrain meshing with an stl file > > Hello?I am a junior student ,learning Gmsh recently. I browsed your blog on the Internet ,hoping to know how to import a terrain file to gmsh. I am looking forward your reply. > > ??? Windows 10 ????? > > _______________________________________________ > 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 From Christoph.Grunwald at emi.fraunhofer.de Tue Mar 3 07:37:53 2020 From: Christoph.Grunwald at emi.fraunhofer.de (Grunwald, Christoph) Date: Tue, 3 Mar 2020 06:37:53 +0000 Subject: [Gmsh] Slivers generated by GMSH Message-ID: <03c1daab826040b696e041dd7f81af77@emi.fraunhofer.de> Dear all, I try to mesh a volume filled with spheres. The meshing works - however, GMSH creates some very flat tetraeder (sliver). Since I need the mesh for a structural analysis with explicit time integration, these elements boild down the whole simulation and finally kill the simulation. Are there any hints, how to get rid of these elements? The file is attached, I am working with the development snapshot of GMSH from 01-27-2020. Thank you very much, Kind regards, Christoph Grunwald -- Dipl-Ing. (FH) Christoph Grunwald CAE-Engineer, Structural Dynamics, Safety Technology and Protective Structures Fraunhofer Institut for High-Speed Dynamics, Ernst-Mach-Institut, EMI Am Klingelberg 1 | D-79588 Efringen-Kirchen Fon +49 7628 9050 630 | Fax -677 Christoph.grunwald at emi.fraunhofer.de -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gmsh_in.geo Type: application/octet-stream Size: 7284 bytes Desc: gmsh_in.geo URL: From cgeuzaine at uliege.be Tue Mar 3 12:04:52 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 3 Mar 2020 12:04:52 +0100 Subject: [Gmsh] Slivers generated by GMSH In-Reply-To: <03c1daab826040b696e041dd7f81af77@emi.fraunhofer.de> References: <03c1daab826040b696e041dd7f81af77@emi.fraunhofer.de> Message-ID: <3F69D626-56DE-4169-95C7-15A084891A57@uliege.be> > On 3 Mar 2020, at 07:37, Grunwald, Christoph wrote: > > Dear all, > > I try to mesh a volume filled with spheres. The meshing works ? however, GMSH creates some very flat tetraeder (sliver). Since I need the mesh for a structural analysis with explicit time integration, these elements boild down the whole simulation and finally kill the simulation. Are there any hints, how to get rid of these elements? > The file is attached, I am working with the development snapshot of GMSH from 01-27-2020. > I get this with Gmsh 2.5.4 : Gamma = 0.01568, 0.8118, 0.9999 (min, avg, max) (radius inscribed/circumscribed) minJ = 0.00858, 1.07, 5.7 (min, avg, max) (jacobian) ICN = 0.170, 0.845, 1.000 (worst, avg, best) (inverse cond. number) which looks ok (no slivers). Christophe > Thank you very much, > Kind regards, > Christoph Grunwald > -- > Dipl-Ing. (FH) Christoph Grunwald > CAE-Engineer, Structural Dynamics, Safety Technology and Protective Structures > Fraunhofer Institut for High-Speed Dynamics, Ernst-Mach-Institut, EMI > Am Klingelberg 1 | D-79588 Efringen-Kirchen > Fon +49 7628 9050 630 | Fax -677 > Christoph.grunwald at emi.fraunhofer.de > > _______________________________________________ > 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 From cgeuzaine at uliege.be Tue Mar 3 12:29:38 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 3 Mar 2020 12:29:38 +0100 Subject: [Gmsh] Slivers generated by GMSH In-Reply-To: <3F69D626-56DE-4169-95C7-15A084891A57@uliege.be> References: <03c1daab826040b696e041dd7f81af77@emi.fraunhofer.de> <3F69D626-56DE-4169-95C7-15A084891A57@uliege.be> Message-ID: <22EDB163-00DB-44BD-ACF8-4B60C881EFDC@uliege.be> > On 3 Mar 2020, at 12:04, Christophe Geuzaine wrote: > > > >> On 3 Mar 2020, at 07:37, Grunwald, Christoph wrote: >> >> Dear all, >> >> I try to mesh a volume filled with spheres. The meshing works ? however, GMSH creates some very flat tetraeder (sliver). Since I need the mesh for a structural analysis with explicit time integration, these elements boild down the whole simulation and finally kill the simulation. Are there any hints, how to get rid of these elements? >> The file is attached, I am working with the development snapshot of GMSH from 01-27-2020. >> > > I get this with Gmsh 2.5.4 : I meant 4.5.4 of course... > > Gamma = 0.01568, 0.8118, 0.9999 (min, avg, max) (radius inscribed/circumscribed) > minJ = 0.00858, 1.07, 5.7 (min, avg, max) (jacobian) > ICN = 0.170, 0.845, 1.000 (worst, avg, best) (inverse cond. number) > > which looks ok (no slivers). > > Christophe > >> Thank you very much, >> Kind regards, >> Christoph Grunwald >> -- >> Dipl-Ing. (FH) Christoph Grunwald >> CAE-Engineer, Structural Dynamics, Safety Technology and Protective Structures >> Fraunhofer Institut for High-Speed Dynamics, Ernst-Mach-Institut, EMI >> Am Klingelberg 1 | D-79588 Efringen-Kirchen >> Fon +49 7628 9050 630 | Fax -677 >> Christoph.grunwald at emi.fraunhofer.de >> >> _______________________________________________ >> 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 ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine From ocastilloreyes at gmail.com Tue Mar 3 13:45:42 2020 From: ocastilloreyes at gmail.com (Octavio Castillo Reyes) Date: Tue, 3 Mar 2020 13:45:42 +0100 Subject: [Gmsh] Connecting structured to unstructured meshed volumes in 3D Message-ID: Dear gmsh developers, I would like to know if it is possible build a tetrahedral mesh with following features: - structured tetrahedral elements on boundaries - unstructured tetrahedral elements inside the domain Could you give some tips/ideas to build this kind of mesh (if possible). Best regards O. -------------- next part -------------- An HTML attachment was scrubbed... URL: From li.yang at u.nus.edu Wed Mar 4 06:24:04 2020 From: li.yang at u.nus.edu (Li Yang) Date: Wed, 4 Mar 2020 05:24:04 +0000 Subject: [Gmsh] Remeshing for STL Message-ID: Dear all, I import into Gmsh a two-domain STL format geometry now. If one domain, I can generate the mesh. But I don't know how to generate mesh from this two-domain geometry in Gmsh. Could you give me some advice? Thank you very much! Best regards, Yang ?? Outlook for Android -------------- next part -------------- An HTML attachment was scrubbed... URL: From jean-francois.remacle at uclouvain.be Wed Mar 4 09:02:44 2020 From: jean-francois.remacle at uclouvain.be (=?utf-8?B?SmVhbi1GcmFuw6dvaXMgUmVtYWNsZQ==?=) Date: Wed, 4 Mar 2020 08:02:44 +0000 Subject: [Gmsh] Remeshing for STL In-Reply-To: References: Message-ID: <6130D2A0-6645-4C4F-B4C5-6045334CA304@uclouvain.be> > Le 4 mars 2020 ? 06:24, Li Yang a ?crit : > > Dear all, > > I import into Gmsh a two-domain STL format geometry now. If one domain, I can generate the mesh. But I don't know how to generate mesh from this two-domain geometry in Gmsh. Could you give me some advice? > What do you exactly mean by 2 domain geometry ? Two distinct volumes bounded by two STL triangulations ? > Thank you very much! > > Best regards, > Yang > > ?? Outlook for Android > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fonelab.info%2Fmailman%2Flistinfo%2Fgmsh&data=02%7C01%7Cjean-francois.remacle%40uclouvain.be%7Cb9cac646eeb34357e2e608d7c001e493%7C7ab090d4fa2e4ecfbc7c4127b4d582ec%7C0%7C0%7C637188986678716391&sdata=Dw3uYVTLV1fyh8h1MOMWB17s2w%2FoXQndpZOEHYoCuqw%3D&reserved=0 ------------------------------------------------------------------ Prof. Jean-Francois Remacle Universite catholique de Louvain (UCL) Ecole Polytechnique de Louvain (EPL) - Louvain School of Engineering Institute of Mechanics, Materials and Civil Engineering (iMMC) Center for Systems Engineering and Applied Mechanics (CESAME) Tel : +32-10-472352 -- Mobile : +32-473-909930 From silvia.ceccacci at hdr.mq.edu.au Wed Mar 4 09:25:59 2020 From: silvia.ceccacci at hdr.mq.edu.au (Silvia Ceccacci (HDR)) Date: Wed, 4 Mar 2020 08:25:59 +0000 Subject: [Gmsh] Sphere in a sphere mesh Message-ID: Dear all, I would like to generate a geometry where I have a bigger sphere (radius=3) and a smaller one inside it (radius=1). Then I want to generate a 3D mesh without the sphere inside (so there is a hole in the middle of the bigger sphere). I am trying two different approaches, but none of them seem to work: 1) BooleanDifference - I want to take away the smaller sphere from the bigger one. This is the code: Sphere(1) = {0, 0, 0, 1, -Pi/2, Pi/2, 2*Pi}; Sphere(2) = {0, 0, 0, 3, -Pi/2, Pi/2, 2*Pi}; BooleanDifference{ Volume{2}; Delete; }{ Volume{1}; Delete; } but it does not do it. Could you explain why, please? 2) Extrude - I generate a half annulus (with the first Extrude), then I want to extrude it in rotation (2*Pi) to generate the same geometry, sphere in a sphere. This is the code: Point(1) = {1, 0, 0, 1.0}; Point(2) = {2, 0, 0, 1.0}; Line(1) = {1, 2}; //+ Extrude {{0, 0, 1}, {0, 0, 0}, Pi} { Line{1};Layers{8};Recombine; } //+ Extrude {{1, 0, 0}, {0, 0, 0}, Pi} { Surface{5};Layers{8};Recombine; } but again, the second Extrude does not do it. Could you explain why, please? Could you tell me how to do it, please? Thank you. Kind regards, Silvia -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeremy at seamplex.com Wed Mar 4 10:32:22 2020 From: jeremy at seamplex.com (Jeremy Theler) Date: Wed, 04 Mar 2020 06:32:22 -0300 Subject: [Gmsh] Sphere in a sphere mesh In-Reply-To: References: Message-ID: <1bfec72911464f4278bc77b61f64376c7a66c367.camel@seamplex.com> On Wed, 2020-03-04 at 08:25 +0000, Silvia Ceccacci (HDR) wrote: > Dear all, > > > > > > > > I would like to generate a geometry where I have a bigger sphere > (radius=3) and a smaller one inside it (radius=1). Then I want to > generate a 3D mesh without the sphere inside (so there is a hole in > the middle of the bigger sphere). > > > > > > > > I am trying two different approaches, but none of them seem to work: > > > > > > 1) BooleanDifference - I want to take away the smaller sphere from > the bigger one. This is the code: > > > > > > Sphere(1) = {0, 0, 0, 1, -Pi/2, Pi/2, 2*Pi}; > > Sphere(2) = {0, 0, 0, 3, -Pi/2, Pi/2, 2*Pi}; > > > > BooleanDifference{ Volume{2}; Delete; }{ Volume{1}; Delete; } This actually works. See attached png. -- jeremy theler www.seamplex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: sphere.png Type: image/png Size: 45856 bytes Desc: not available URL: From cgeuzaine at uliege.be Wed Mar 4 10:35:26 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 4 Mar 2020 10:35:26 +0100 Subject: [Gmsh] Sphere in a sphere mesh In-Reply-To: References: Message-ID: > On 4 Mar 2020, at 09:25, Silvia Ceccacci (HDR) wrote: > > Dear all, > > I would like to generate a geometry where I have a bigger sphere (radius=3) and a smaller one inside it (radius=1). Then I want to generate a 3D mesh without the sphere inside (so there is a hole in the middle of the bigger sphere). > > I am trying two different approaches, but none of them seem to work: > > 1) BooleanDifference - I want to take away the smaller sphere from the bigger one. This is the code: > > Sphere(1) = {0, 0, 0, 1, -Pi/2, Pi/2, 2*Pi}; > Sphere(2) = {0, 0, 0, 3, -Pi/2, Pi/2, 2*Pi}; > BooleanDifference{ Volume{2}; Delete; }{ Volume{1}; Delete; } > > but it does not do it. Could you explain why, please? This works fine; but you need to add "SetFactory("OpenCASCADE");" first. > > 2) Extrude - I generate a half annulus (with the first Extrude), then I want to extrude it in rotation (2*Pi) to generate the same geometry, sphere in a sphere. This is the code: > > Point(1) = {1, 0, 0, 1.0}; > Point(2) = {2, 0, 0, 1.0}; > Line(1) = {1, 2}; > //+ > Extrude {{0, 0, 1}, {0, 0, 0}, Pi} { > Line{1};Layers{8};Recombine; > } > //+ > Extrude {{1, 0, 0}, {0, 0, 0}, Pi} { > Surface{5};Layers{8};Recombine; > } > > but again, the second Extrude does not do it. Could you explain why, please? > With the built-in kernel extrusions are limited to angles < Pi. You can do full 2*Pi extrude with OpenCASCADE: SetFactory("OpenCASCADE"); Point(1) = {1, 0, 0, 1.0}; Point(2) = {2, 0, 0, 1.0}; Line(1) = {1, 2}; Extrude {{0, 0, 1}, {0, 0, 0}, Pi} { Line{1}; } Extrude {{1, 0, 0}, {0, 0, 0}, 2*Pi} { Surface{1}; } But you cannot use "Layers" in that case (because OpenCASCADE removes the seam surface. With "Layers" you'll need to extrude twice.) Christophe > Could you tell me how to do it, please? > > Thank you. > > Kind regards, > Silvia > > > _______________________________________________ > 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 From szacarias at ikp.tu-darmstadt.de Wed Mar 4 17:14:46 2020 From: szacarias at ikp.tu-darmstadt.de (Sabrina Zacarias) Date: Wed, 4 Mar 2020 17:14:46 +0100 Subject: [Gmsh] Slice 3D to get 2D geometry Message-ID: <2A6818D9-05DD-4FF6-B9D1-E3482CCD7451@ikp.tu-darmstadt.de> Dear experts, Is it possible to slice a 3D geometry through a certain plane and save the 2D result? Best regards, Sabrina -- Sabrina Zacarias Institut f?r Kernphysik Technische Universit?t Darmstadt S2|14 / office 319 Schlossgartenstr. 9 64289 Darmstadt Office: +49 6151 16 23589 -------------- next part -------------- An HTML attachment was scrubbed... URL: From lolsenkettle at swin.edu.au Thu Mar 5 01:11:36 2020 From: lolsenkettle at swin.edu.au (Louise Olsen) Date: Thu, 5 Mar 2020 00:11:36 +0000 Subject: [Gmsh] saving GMSH mesh into a CAD file format like STEP In-Reply-To: References: , Message-ID: Hi Guillame, Thanks for your suggestions. After creating the mesh I got the following error message when I tried to save the mesh as a STEP file: Info : Done optimizing mesh (28.8829 s) Info : 326219 nodes 2114578 elements Info : Writing '/home/lolsenkettle/Desktop/composite research/CAD File format/meshtargetSaveStep.geo.opt'... Info : Done writing '/home/lolsenkettle/Desktop/composite research/CAD File format/meshtargetSaveStep.geo.opt' Info : Writing '/home/lolsenkettle/Desktop/composite research/CAD File format/OlsenCheckStep.step'... Error : No OpenCASCADE model found I was using the most up-to-date version of gmsh I could fine (version 4.5.4). Thanks, Louise Dr Louise Olsen-Kettle VC Women in STEM Fellow Mathematics Department Swinburne University of Technology Email lolsenkettle at swin.edu.au T +61 (0)3 9214 8318 [Twitter icon] @DrOlsenKettle W Webpage W ResearchGate W eSpace W ORCID ________________________________ From: DILASSER Guillaume Sent: Saturday, 29 February 2020 2:40 AM To: Louise Olsen ; gmsh at onelab.info Subject: RE: saving GMSH mesh into a CAD file format like STEP Hi Louise, Gmsh operates using .geo files and .msh files. ?.geo? are files that contain the definition of geometrical objects and ?.msh? are files containing the meshes generated by the program based on a specified geometry. I do not know if any commercial CAD software natively supports .geo or .msh files but I doubt it. There might still by third-party plugins for some CAD software that might do that. On the other hand, Gmsh can save both geometries and mesh to a variety of output formats. If you are using Gmsh GUI, simply go the menu bar File > Export or hit Ctrl+E. That will open a window in which you can select the output file format (using the ?Type? line, under the ?File name? line). If you use Gmsh on the command line, use the ?format option described in the online documentation here. Hope this helped, Guillaume Dilasser De : gmsh De la part de Louise Olsen Envoy? : vendredi 28 f?vrier 2020 08:04 ? : gmsh at onelab.info Objet : [Gmsh] saving GMSH mesh into a CAD file format like STEP Hi, I know that GMSH can input CAD model files such as STEP format, I want to check if any CAD software can input GMSH meshes? And can GMSH save meshes into a CAD file format such as STEP? Thanks, Louise Dr Louise Olsen-Kettle VC Women in STEM Fellow Mathematics Department Swinburne University of Technology Email lolsenkettle at swin.edu.au T +61 (0)3 9214 8318 [Twitter icon] @DrOlsenKettle W Webpage W ResearchGate W eSpace W ORCID -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Thu Mar 5 07:09:49 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Thu, 5 Mar 2020 07:09:49 +0100 Subject: [Gmsh] saving GMSH mesh into a CAD file format like STEP In-Reply-To: References: Message-ID: <5823F807-34A7-4363-AE17-538611C3D952@uliege.be> > On 5 Mar 2020, at 01:11, Louise Olsen wrote: > > Hi Guillame, > > Thanks for your suggestions. After creating the mesh I got the following error message when I tried to save the mesh as a STEP file: > STEP is a format to store geometries (CAD data), not meshes. Christophe > Info : Done optimizing mesh (28.8829 s) > Info : 326219 nodes 2114578 elements > Info : Writing '/home/lolsenkettle/Desktop/composite research/CAD File format/meshtargetSaveStep.geo.opt'... > Info : Done writing '/home/lolsenkettle/Desktop/composite research/CAD File format/meshtargetSaveStep.geo.opt' > Info : Writing '/home/lolsenkettle/Desktop/composite research/CAD File format/OlsenCheckStep.step'... > Error : No OpenCASCADE model found > > I was using the most up-to-date version of gmsh I could fine (version 4.5.4). > > Thanks, Louise > > Dr Louise Olsen-Kettle > VC Women in STEM Fellow > Mathematics Department > Swinburne University of Technology > Email lolsenkettle at swin.edu.au > T +61 (0)3 9214 8318 @DrOlsenKettle > W Webpage > W ResearchGate W eSpace W ORCID > > From: DILASSER Guillaume > Sent: Saturday, 29 February 2020 2:40 AM > To: Louise Olsen ; gmsh at onelab.info > Subject: RE: saving GMSH mesh into a CAD file format like STEP > > Hi Louise, > > Gmsh operates using .geo files and .msh files. ?.geo? are files that contain the definition of geometrical objects and ?.msh? are files containing the meshes generated by the program based on a specified geometry. I do not know if any commercial CAD software natively supports .geo or .msh files but I doubt it. There might still by third-party plugins for some CAD software that might do that. > > On the other hand, Gmsh can save both geometries and mesh to a variety of output formats. If you are using Gmsh GUI, simply go the menu bar File > Export or hit Ctrl+E. That will open a window in which you can select the output file format (using the ?Type? line, under the ?File name? line). If you use Gmsh on the command line, use the ?format option described in the online documentation here. > > Hope this helped, > > Guillaume Dilasser > > De : gmsh De la part de Louise Olsen > Envoy? : vendredi 28 f?vrier 2020 08:04 > ? : gmsh at onelab.info > Objet : [Gmsh] saving GMSH mesh into a CAD file format like STEP > > Hi, > > I know that GMSH can input CAD model files such as STEP format, I want to check if any CAD software can input GMSH meshes? And can GMSH save meshes into a CAD file format such as STEP? > > Thanks, Louise > > Dr Louise Olsen-Kettle > VC Women in STEM Fellow > Mathematics Department > Swinburne University of Technology > Email lolsenkettle at swin.edu.au > T +61 (0)3 9214 8318 @DrOlsenKettle > W Webpage > W ResearchGate W eSpace W ORCID > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Thu Mar 5 09:12:59 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Thu, 5 Mar 2020 09:12:59 +0100 Subject: [Gmsh] Slice 3D to get 2D geometry In-Reply-To: <2A6818D9-05DD-4FF6-B9D1-E3482CCD7451@ikp.tu-darmstadt.de> References: <2A6818D9-05DD-4FF6-B9D1-E3482CCD7451@ikp.tu-darmstadt.de> Message-ID: <1DB25395-A9ED-4949-948B-D445A5B195D4@uliege.be> > On 4 Mar 2020, at 17:14, Sabrina Zacarias wrote: > > Dear experts, > > Is it possible to slice a 3D geometry through a certain plane and save the 2D result? > Here's an example: https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/demos/boolean/slicer_surfaces.geo Christophe > Best regards, > > Sabrina > -- > Sabrina Zacarias > Institut f?r Kernphysik > Technische Universit?t Darmstadt > S2|14 / office 319 > Schlossgartenstr. 9 > > 64289 Darmstadt > > Office: +49 6151 16 23589 > > _______________________________________________ > 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 From cgeuzaine at uliege.be Thu Mar 5 09:19:33 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Thu, 5 Mar 2020 09:19:33 +0100 Subject: [Gmsh] Connecting structured to unstructured meshed volumes in 3D In-Reply-To: References: Message-ID: <8AD40B3B-15D8-4896-A731-95D6AABE5690@uliege.be> > On 3 Mar 2020, at 13:45, Octavio Castillo Reyes wrote: > > Dear gmsh developers, > > I would like to know if it is possible build a tetrahedral mesh with following features: > > - structured tetrahedral elements on boundaries > - unstructured tetrahedral elements inside the domain > > Could you give some tips/ideas to build this kind of mesh (if possible). > I will be done automatically (with a pyramid layer to connect both). Here's an example: https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/benchmarks/extrude/hybrid_pyramids.geo Christophe > Best regards > > O. > > _______________________________________________ > 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 From alessandro.vicini at sitael.com Thu Mar 5 11:26:59 2020 From: alessandro.vicini at sitael.com (Vicini Alessandro) Date: Thu, 5 Mar 2020 10:26:59 +0000 Subject: [Gmsh] R: Slice 3D to get 2D geometry In-Reply-To: <1DB25395-A9ED-4949-948B-D445A5B195D4@uliege.be> References: <2A6818D9-05DD-4FF6-B9D1-E3482CCD7451@ikp.tu-darmstadt.de> <1DB25395-A9ED-4949-948B-D445A5B195D4@uliege.be> Message-ID: On win64, I get errors when opening this example with 4.5.4, 4.5.1, 4.4.1. A. -----Messaggio originale----- Da: gmsh Per conto di Christophe Geuzaine Inviato: gioved? 5 marzo 2020 09:13 A: Sabrina Zacarias Cc: gmsh at onelab.info Oggetto: Re: [Gmsh] Slice 3D to get 2D geometry Here's an example: https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.onelab.info%2Fgmsh%2Fgmsh%2F-%2Fblob%2Fmaster%2Fdemos%2Fboolean%2Fslicer_surfaces.geo&data=02%7C01%7Calessandro.vicini%40sitael.com%7C3b2eb6b6d29d4763443108d7c0dd0630%7Cc187ee014e4e40c8b342f82c8d699421%7C0%7C0%7C637189927860716169&sdata=xREOnybEMZRaaI%2FLxvJgJpP8p0TGfU3YpWz6B8ZczFM%3D&reserved=0 Christophe ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science https://eur04.safelinks.protection.outlook.com/?url=http:%2F%2Fwww.montefiore.ulg.ac.be%2F~geuzaine&data=02%7C01%7Calessandro.vicini%40sitael.com%7C3b2eb6b6d29d4763443108d7c0dd0630%7Cc187ee014e4e40c8b342f82c8d699421%7C0%7C0%7C637189927860716169&sdata=v5L5Kx2YjHWwx%2Bsqok%2FLtdrL6XzR1Dcms8d4V81gfbQ%3D&reserved=0 From frederic.dubois at umontpellier.fr Thu Mar 5 06:56:20 2020 From: frederic.dubois at umontpellier.fr (Frederic Dubois) Date: Thu, 5 Mar 2020 06:56:20 +0100 (CET) Subject: [Gmsh] saving GMSH mesh into a CAD file format like STEP In-Reply-To: References: Message-ID: <1435072950.8604846.1583387780038.JavaMail.zimbra@umontpellier.fr> Hi Louise, You can not save a mesh in a step file. You can only save a CAD in step file, and probably a CAD made using OCC factory. The "logs" you copy in your mail are confusing. Having a look to one of your files can help. Regards > De: "Louise Olsen" > ?: "DILASSER Guillaume" , "gmsh" > Envoy?: Jeudi 5 Mars 2020 01:11:36 > Objet: Re: [Gmsh] saving GMSH mesh into a CAD file format like STEP > Hi Guillame, > Thanks for your suggestions. After creating the mesh I got the following error > message when I tried to save the mesh as a STEP file: > Info : Done optimizing mesh (28.8829 s) > Info : 326219 nodes 2114578 elements > Info : Writing '/home/lolsenkettle/Desktop/composite research/CAD File > format/meshtargetSaveStep.geo.opt'... > Info : Done writing '/home/lolsenkettle/Desktop/composite research/CAD File > format/meshtargetSaveStep.geo.opt' > Info : Writing '/home/lolsenkettle/Desktop/composite research/CAD File > format/OlsenCheckStep.step'... > Error : No OpenCASCADE model found > I was using the most up-to-date version of gmsh I could fine (version 4.5.4). > Thanks, Louise > Dr Louise Olsen-Kettle > VC Women in STEM Fellow > Mathematics Department > Swinburne University of Technology > Email lolsenkettle at swin.edu.au > T +61 (0)3 9214 8318 [ https://twitter.com/DrOlsenKettle ] [ > https://twitter.com/DrOlsenKettle | @DrOlsenKettle ] [ > https://twitter.com/DrOlsenKettle | ? ] [ https://mail.umontpellier.fr/mail ] > [ https://mail.umontpellier.fr/mail | W ] [ > https://www.swinburne.edu.au/research/our-research/access-our-research/find-a-researcher-or-supervisor/researcher-profile/?id=lolsenkettle > | Webpage ] > [ https://mail.umontpellier.fr/mail | ?W? ] [ > https://www.researchgate.net/profile/Louise_Olsen-Kettle | ResearchGate ] W [ > http://espace.library.uq.edu.au/uqlkett1/ | eSpace ] W [ > http://orcid.org/0000-0003-0515-3949 | ORCID ] > [ https://www.researchgate.net/profile/Louise_Olsen-Kettle ] [ > http://espace.library.uq.edu.au/uqlkett1/ ] [ > http://orcid.org/0000-0003-0515-3949 ] > From: DILASSER Guillaume > Sent: Saturday, 29 February 2020 2:40 AM > To: Louise Olsen ; gmsh at onelab.info > Subject: RE: saving GMSH mesh into a CAD file format like STEP > Hi Louise, > Gmsh operates using .geo files and .msh files. ?.geo? are files that contain the > definition of geometrical objects and ?.msh? are files containing the meshes > generated by the program based on a specified geometry. I do not know if any > commercial CAD software natively supports .geo or .msh files but I doubt it. > There might still by third-party plugins for some CAD software that might do > that. > On the other hand, Gmsh can save both geometries and mesh to a variety of output > formats. If you are using Gmsh GUI, simply go the menu bar File > Export or hit > Ctrl+E. That will open a window in which you can select the output file format > (using the ?Type? line, under the ?File name? line). If you use Gmsh on the > command line, use the ?format option described in the online documentation [ > http://gmsh.info/doc/texinfo/gmsh.html#Command_002dline-options | > here ] . > Hope this helped, > Guillaume Dilasser > De : gmsh De la part de Louise Olsen > Envoy? : vendredi 28 f?vrier 2020 08:04 > ? : gmsh @onelab.info > Objet : [Gmsh] saving GMSH mesh into a CAD file format like STEP > Hi, > I know that GMSH can input CAD model files such as STEP format, I want to check > if any CAD software can input GMSH meshes? And can GMSH save meshes into a CAD > file format such as STEP? > Thanks, Louise > Dr Louise Olsen-Kettle > VC Women in STEM Fellow > Mathematics Department > Swinburne University of Technology > Email [ mailto:lolsenkettle at swin.edu.au | lolsenkettle at swin.edu.au ] > T +61 (0)3 9214 8318 [ https://twitter.com/DrOlsenKettle ] [ > https://twitter.com/DrOlsenKettle | @DrOlsenKettle ] [ > https://twitter.com/DrOlsenKettle | ? ] > W [ > https://www.swinburne.edu.au/research/our-research/access-our-research/find-a-researcher-or-supervisor/researcher-profile/?id=lolsenkettle > | Webpage ] > W [ https://www.researchgate.net/profile/Louise_Olsen-Kettle | ResearchGate ] W > [ http://espace.library.uq.edu.au/uqlkett1 | eSpace ] W [ > http://orcid.org/0000-0003-0515-3949 | ORCID ] > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh -- Fr?d?ric Dubois, PhD, Eng. --- Directeur adjoint du LMGC. Laboratoire de M?canique et G?nie Civil - CNRS/UM cc 048, 163 rue Auguste Broussonnet, 34090 Montpellier http://www.lmgc.univ-montp2.fr/~dubois Tel: 33/0 467144984 Mobile: 33/0 635490843 -------------- next part -------------- An HTML attachment was scrubbed... URL: From ocastilloreyes at gmail.com Thu Mar 5 09:32:56 2020 From: ocastilloreyes at gmail.com (Octavio Castillo Reyes) Date: Thu, 5 Mar 2020 09:32:56 +0100 Subject: [Gmsh] Connecting structured to unstructured meshed volumes in 3D In-Reply-To: <8AD40B3B-15D8-4896-A731-95D6AABE5690@uliege.be> References: <8AD40B3B-15D8-4896-A731-95D6AABE5690@uliege.be> Message-ID: Prof. Ghristophhe, thank you for your tip! Right now I have tried it but I have obtained the following errors: Error : No elements in region 2 Info : Done meshing 3D (0.005192 s) Info : Optimizing 3D mesh... Info : Optimizing volume 2 Info : Done optimizing 3D mesh (0.00019 s) Info : 537 vertices 1236 elements Error : ------------------------------ Error : Mesh generation error summary Error : 104 warnings Error : 105 errors Error : Check the full log for details Error : ------------------------------ In any case, this idea is very good. In spite of this, I would like to know if it is possible to replicate this case only with tetrahedra, in this way I can avoid using different base functions in my finite element code. Best regards O. On Thu, Mar 5, 2020 at 9:19 AM Christophe Geuzaine wrote: > > > > On 3 Mar 2020, at 13:45, Octavio Castillo Reyes < > ocastilloreyes at gmail.com> wrote: > > > > Dear gmsh developers, > > > > I would like to know if it is possible build a tetrahedral mesh with > following features: > > > > - structured tetrahedral elements on boundaries > > - unstructured tetrahedral elements inside the domain > > > > Could you give some tips/ideas to build this kind of mesh (if possible). > > > > I will be done automatically (with a pyramid layer to connect both). > Here's an example: > > > https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/benchmarks/extrude/hybrid_pyramids.geo > > Christophe > > > > > Best regards > > > > O. > > > > _______________________________________________ > > 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 > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From donvk at distributel.net Thu Mar 5 16:03:58 2020 From: donvk at distributel.net (Don Van Kerkhoven) Date: Thu, 5 Mar 2020 10:03:58 -0500 Subject: [Gmsh] R: Slice 3D to get 2D geometry Message-ID: <001001d5f2ff$4cd49480$e67dbd80$@net> Make sure you also have the "component8" file in the same directory : https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/demos/boolean/component8. step It's required at this line // load volume(s) from step file v() = ShapeFromFile("component8.step"); -------------- next part -------------- An HTML attachment was scrubbed... URL: From alessandro.vicini at sitael.com Fri Mar 6 09:24:12 2020 From: alessandro.vicini at sitael.com (Vicini Alessandro) Date: Fri, 6 Mar 2020 08:24:12 +0000 Subject: [Gmsh] R: R: Slice 3D to get 2D geometry In-Reply-To: <001001d5f2ff$4cd49480$e67dbd80$@net> References: <001001d5f2ff$4cd49480$e67dbd80$@net> Message-ID: Of course. But I get different errors: Error : 'D:\ [008]-EsempiGmsh\slicer_surfaces.geo', line 12 : Uninitialized variable 'bbox[0]' Error : 'D:\[008]-EsempiGmsh\slicer_surfaces.geo', line 13 : Uninitialized variable 'bbox[1]' Error : 'D:\[008]-EsempiGmsh\slicer_surfaces.geo', line 14 : Uninitialized variable 'bbox[2]' Error : 'D:\[008]-EsempiGmsh\slicer_surfaces.geo', line 15 : Uninitialized variable 'bbox[3]' Error : 'D:\[008]-EsempiGmsh\slicer_surfaces.geo', line 16 : Uninitialized variable 'bbox[4]' Error : 'D:\[008]-EsempiGmsh\slicer_surfaces.geo', line 17 : Uninitialized variable 'bbox[5]' Error : Rectangle with zero width or height Error : Rectangle with zero width or height Error : Rectangle with zero width or height Error : Rectangle with zero width or height Error : Rectangle with zero width or height Error : Rectangle with zero width or height Error : Rectangle with zero width or height Error : Rectangle with zero width or height Error : Rectangle with zero width or height Error : Unknown OpenCASCADE entity of dimension 3 with tag 1 Error : 'D:\[008]-EsempiGmsh\slicer_surfaces.geo', line 30 : Could not apply boolean operator Info : Done reading 'D:\[008]-EsempiGmsh\slicer_surfaces.geo' Info : Writing 'D:\[008]-EsempiGmsh\slicer_surfaces.log'... Da: gmsh Per conto di Don Van Kerkhoven Inviato: gioved? 5 marzo 2020 16:04 A: gmsh at onelab.info Oggetto: Re: [Gmsh] R: Slice 3D to get 2D geometry Make sure you also have the "component8" file in the same directory : https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/demos/boolean/component8.step It's required at this line // load volume(s) from step file v() = ShapeFromFile("component8.step"); -------------- next part -------------- An HTML attachment was scrubbed... URL: From donvk at distributel.net Fri Mar 6 22:46:03 2020 From: donvk at distributel.net (Don Van Kerkhoven) Date: Fri, 6 Mar 2020 16:46:03 -0500 Subject: [Gmsh] R: R: Slice 3D to get 2D geometry Message-ID: <001901d5f400$a29c5770$e7d50650$@net> Your error report looks what I get, if the script cannot locate "component8.step" (see below). I use Win7-64b-pro and Gmsh 4.5.4. >>Error : Could not read file 'D:\upgrades\software\gmsh\GmshMailingListExamples\component8.step' >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo' , line 14 : Uninitialized variable 'bbox[0]' >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo' , line 15 : Uninitialized variable 'bbox[1]' >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo' , line 16 : Uninitialized variable 'bbox[2]' >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo' , line 17 : Uninitialized variable 'bbox[3]' >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo' , line 18 : Uninitialized variable 'bbox[4]' >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo' , line 19 : Uninitialized variable 'bbox[5]' >>Error : Rectangle with zero width or height >>Error : Rectangle with zero width or height >>Error : Rectangle with zero width or height >>Error : Rectangle with zero width or height >>Error : Rectangle with zero width or height -------------- next part -------------- An HTML attachment was scrubbed... URL: From bruno.agostini at gmail.com Sun Mar 8 20:30:58 2020 From: bruno.agostini at gmail.com (Bruno) Date: Sun, 8 Mar 2020 20:30:58 +0100 Subject: [Gmsh] Remeshing of STL file fails Message-ID: Dear Gmsh users, I am trying to remesh the STL file here attached, but after many trials I did not manage to make a working python script. I used this base script: """ import math import gmsh gmsh.initialize() gmsh.option.setNumber("General.Terminal", 1) gmsh.option.setNumber("Mesh.Algorithm", 6) gmsh.option.setNumber("Mesh.Algorithm3D", 1) gmsh.option.setNumber("Mesh.CharacteristicLengthMin", 0.15/4) gmsh.option.setNumber("Mesh.CharacteristicLengthMax", 0.5*4) gmsh.merge("test0.stl") model = gmsh.model model.mesh.createTopology() model.mesh.classifySurfaces(0*math.pi/180, True, True, curveAngle = math.pi) model.mesh.createGeometry() s = model.getEntities(2) l = model.geo.addSurfaceLoop([s[i][1] for i in range(len(s))]) model.geo.addVolume([l]) model.geo.synchronize() model.mesh.reclassifyNodes() model.mesh.generate(3) gmsh.write("test0.msh") gmsh.fltk.run() gmsh.finalize() """ with various combinations of LengthMin and LengthMax values, refine(), reclassifyNodes(), but I always get a "Could not recover boundary mesh: error 2" error (log attached). Does that mean: 1- my STL file if of insufficient quality (I this case, what should be improved?) 2- I am not using the right gmsh options? 3- gmsh is not the right tool to mesh this kind of model? I would be grateful if somebody can point me to right direction. Best regards Bruno -------------- next part -------------- A non-text attachment was scrubbed... Name: test0.zip Type: application/zip Size: 603177 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: log.zip Type: application/zip Size: 296865 bytes Desc: not available URL: From cgeuzaine at uliege.be Sun Mar 8 20:40:13 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 8 Mar 2020 20:40:13 +0100 Subject: [Gmsh] Connecting structured to unstructured meshed volumes in 3D In-Reply-To: References: <8AD40B3B-15D8-4896-A731-95D6AABE5690@uliege.be> Message-ID: <4C59B6B1-B930-44D4-BFF0-03C869B8E9A4@uliege.be> > On 5 Mar 2020, at 09:32, Octavio Castillo Reyes wrote: > > Prof. Ghristophhe, thank you for your tip! > > Right now I have tried it but I have obtained the following errors: > Which version of Gmsh? It should work as-is with recent versions. Christophe > Error : No elements in region 2 > Info : Done meshing 3D (0.005192 s) > Info : Optimizing 3D mesh... > Info : Optimizing volume 2 > Info : Done optimizing 3D mesh (0.00019 s) > Info : 537 vertices 1236 elements > Error : ------------------------------ > Error : Mesh generation error summary > Error : 104 warnings > Error : 105 errors > Error : Check the full log for details > Error : ------------------------------ > > In any case, this idea is very good. In spite of this, I would like to know if it is possible to replicate this case only with tetrahedra, in this way I can avoid using different base functions in my finite element code. > > Best regards > > O. > > On Thu, Mar 5, 2020 at 9:19 AM Christophe Geuzaine wrote: > > > > On 3 Mar 2020, at 13:45, Octavio Castillo Reyes wrote: > > > > Dear gmsh developers, > > > > I would like to know if it is possible build a tetrahedral mesh with following features: > > > > - structured tetrahedral elements on boundaries > > - unstructured tetrahedral elements inside the domain > > > > Could you give some tips/ideas to build this kind of mesh (if possible). > > > > I will be done automatically (with a pyramid layer to connect both). Here's an example: > > https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/benchmarks/extrude/hybrid_pyramids.geo > > Christophe > > > > > Best regards > > > > O. > > > > _______________________________________________ > > 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 > > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Sun Mar 8 20:39:42 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 8 Mar 2020 20:39:42 +0100 Subject: [Gmsh] Remeshing of STL file fails In-Reply-To: References: Message-ID: Dear Bruno, It seems to work as expected here with Gmsh 4.5.4: gmsh test0.stl -reparam 30 gmsh test0.msh -clmin 1 -clmax 1 -2 The resulting mesh is self-intersecting though, since the input STL is as well. Christophe > On 8 Mar 2020, at 20:30, Bruno wrote: > > Dear Gmsh users, > > I am trying to remesh the STL file here attached, but after many trials I did not manage to make a working python script. > > I used this base script: > > """ > > import math > import gmsh > > gmsh.initialize() > gmsh.option.setNumber("General.Terminal", 1) > gmsh.option.setNumber("Mesh.Algorithm", 6) > gmsh.option.setNumber("Mesh.Algorithm3D", 1) > gmsh.option.setNumber("Mesh.CharacteristicLengthMin", 0.15/4) > gmsh.option.setNumber("Mesh.CharacteristicLengthMax", 0.5*4) > > gmsh.merge("test0.stl") > > model = gmsh.model > model.mesh.createTopology() > model.mesh.classifySurfaces(0*math.pi/180, True, True, curveAngle = math.pi) > model.mesh.createGeometry() > > s = model.getEntities(2) > l = model.geo.addSurfaceLoop([s[i][1] for i in range(len(s))]) > model.geo.addVolume([l]) > model.geo.synchronize() > > model.mesh.reclassifyNodes() > > model.mesh.generate(3) > > gmsh.write("test0.msh") > gmsh.fltk.run() > gmsh.finalize() > > """ > > with various combinations of LengthMin and LengthMax values, refine(), reclassifyNodes(), but I always get a "Could not recover boundary mesh: error 2" error (log attached). > > Does that mean: > > 1- my STL file if of insufficient quality (I this case, what should be improved?) > > 2- I am not using the right gmsh options? > > 3- gmsh is not the right tool to mesh this kind of model? > > I would be grateful if somebody can point me to right direction. > > > Best regards > > Bruno > > > _______________________________________________ > 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: test.png Type: image/png Size: 292511 bytes Desc: not available URL: From randalandress1507 at comcast.net Mon Mar 9 15:48:02 2020 From: randalandress1507 at comcast.net (Andress) Date: Mon, 9 Mar 2020 09:48:02 -0500 Subject: [Gmsh] Help with surface visibility Message-ID: After constructing a simple solid (box, for example), I cannot get the surfaces to show when I check the surface check box in the geometry visibility tab. What might be my problem? Kind regards, Randal Attached: box.geo, box.jpg -------------- next part -------------- A non-text attachment was scrubbed... Name: box.geo Type: application/octet-stream Size: 122 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: box.jpg Type: image/jpeg Size: 107214 bytes Desc: not available URL: From bruno.agostini at gmail.com Mon Mar 9 19:04:36 2020 From: bruno.agostini at gmail.com (Bruno) Date: Mon, 9 Mar 2020 19:04:36 +0100 Subject: [Gmsh] Remeshing of STL file fails In-Reply-To: References: Message-ID: Dear Christophe, Thank you very much for your answer, that was very helpful. I managed to improve the quality of the STL quite a lot, and that allowed gmsh to mesh properly the model even without reparametrization. (gmsh seems to be OK even with a couple of self-intersections left). I also found the "regularization of high order elements" in high order tools to be very effective to allow gmsh to 3D mesh my STLs. I was looking in the demos and examples a script that would reproduce this, but I could not find one. Is there such a script? Thank you for creating gmsh, that's an awesome tool! Bruno On 08.03.20 20:39, Christophe Geuzaine wrote: > > Dear Bruno, > > It seems to work as expected here with Gmsh 4.5.4: > > gmsh test0.stl -reparam 30 > gmsh test0.msh -clmin 1 -clmax 1 -2 > > The resulting mesh is self-intersecting though, since the input STL is > as well. > > Christophe > > > >> On 8 Mar 2020, at 20:30, Bruno > > wrote: >> >> Dear Gmsh users, >> >> I am trying to remesh the STL file here attached, but after many >> trials I did not manage to make a working python script. >> >> I used this base script: >> >> """ >> >> import math >> import gmsh >> >> gmsh.initialize() >> gmsh.option.setNumber("General.Terminal", 1) >> gmsh.option.setNumber("Mesh.Algorithm", 6) >> gmsh.option.setNumber("Mesh.Algorithm3D", 1) >> gmsh.option.setNumber("Mesh.CharacteristicLengthMin", 0.15/4) >> gmsh.option.setNumber("Mesh.CharacteristicLengthMax", 0.5*4) >> >> gmsh.merge("test0.stl") >> >> model = gmsh.model >> model.mesh.createTopology() >> model.mesh.classifySurfaces(0*math.pi/180, True, True, curveAngle = >> math.pi) >> model.mesh.createGeometry() >> >> s = model.getEntities(2) >> l = model.geo.addSurfaceLoop([s[i][1] for i in range(len(s))]) >> model.geo.addVolume([l]) >> model.geo.synchronize() >> >> model.mesh.reclassifyNodes() >> >> model.mesh.generate(3) >> >> gmsh.write("test0.msh") >> gmsh.fltk.run() >> gmsh.finalize() >> >> """ >> >> with various combinations of LengthMin and LengthMax values, >> refine(), reclassifyNodes(), but I always get a "Could not recover >> boundary mesh: error 2" error (log?attached). >> >> Does that mean: >> >> 1- my STL file if of insufficient quality (I this case, what should >> be improved?) >> >> 2- I am not using the right gmsh options? >> >> 3- gmsh is not the right tool to mesh this kind of model? >> >> I would be grateful if somebody can point me to right direction. >> >> >> Best regards >> >> Bruno >> >> >> _______________________________________________ >> 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 > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: test.png Type: image/png Size: 292511 bytes Desc: not available URL: From randalandress1507 at comcast.net Tue Mar 10 04:32:55 2020 From: randalandress1507 at comcast.net (Andress) Date: Mon, 9 Mar 2020 22:32:55 -0500 Subject: [Gmsh] Help with surface visibility Message-ID: <454D6B2EF0AF4A08872695B05E41E178@KarenPC> [continued] I have tried two PCs (both windows 7) 64 and 32 bit executables. -Randal From cgeuzaine at uliege.be Tue Mar 10 08:18:56 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 10 Mar 2020 08:18:56 +0100 Subject: [Gmsh] Help with surface visibility In-Reply-To: <454D6B2EF0AF4A08872695B05E41E178@KarenPC> References: <454D6B2EF0AF4A08872695B05E41E178@KarenPC> Message-ID: > On 10 Mar 2020, at 04:32, Andress wrote: > > [continued] > I have tried two PCs (both windows 7) 64 and 32 bit executables. The default surface representation mode is a cross of dashed lines. With OpenCASCADE you can have other representations: cf. Tools->Options->Geometry->Aspect->Surface display. To save your preferred options: File->Save options as default. Christophe > -Randal > > _______________________________________________ > 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 From alessandro.vicini at sitael.com Tue Mar 10 08:48:21 2020 From: alessandro.vicini at sitael.com (Vicini Alessandro) Date: Tue, 10 Mar 2020 07:48:21 +0000 Subject: [Gmsh] R: R: R: Slice 3D to get 2D geometry In-Reply-To: <001901d5f400$a29c5770$e7d50650$@net> References: <001901d5f400$a29c5770$e7d50650$@net> Message-ID: In my case component8.step is correctly read, see the complete log below. But I get those errors anyway... Info : Reading 'D:[008]-EsempiGmsh\slicer_surfaces.geo'... Info : - Label 'Shapes/Rhino Product' (3D) Info : Healing shapes (tolerance: 1e-008) Info : - Fixing degenerated edges and faces Info : - Sewing faces Info : Done healing shapes (0.046875 s): Info : - Compounds : 0 (0) Info : - Composite solids : 0 (0) Info : - Solids : 0 (1) Info : - Shells : 1 (1) Info : - Wires : 22 (22) Info : - Faces : 21 (21) Info : - Edges : 48 (48) Info : - Vertices : 28 (28) Info : - Total surface area : 6368.8 (6368.8) Error : 'D:[008]-EsempiGmsh\slicer_surfaces.geo', line 12 : Uninitialized variable 'bbox[0]' Error : 'D:[008]-EsempiGmsh\slicer_surfaces.geo', line 13 : Uninitialized variable 'bbox[1]' Error : 'D:[008]-EsempiGmsh\slicer_surfaces.geo', line 14 : Uninitialized variable 'bbox[2]' Error : 'D:[008]-EsempiGmsh\slicer_surfaces.geo', line 15 : Uninitialized variable 'bbox[3]' Error : 'D:[008]-EsempiGmsh\slicer_surfaces.geo', line 16 : Uninitialized variable 'bbox[4]' Error : 'D:[008]-EsempiGmsh\slicer_surfaces.geo', line 17 : Uninitialized variable 'bbox[5]' Error : Rectangle with zero width or height Error : Rectangle with zero width or height Error : Rectangle with zero width or height Error : Rectangle with zero width or height Error : Rectangle with zero width or height Error : Rectangle with zero width or height Error : Rectangle with zero width or height Error : Rectangle with zero width or height Error : Rectangle with zero width or height Error : Unknown OpenCASCADE entity of dimension 3 with tag 1 Error : 'D:[008]-EsempiGmsh\slicer_surfaces.geo', line 30 : Could not apply boolean operator Info : Done reading 'D:[008]-EsempiGmsh\slicer_surfaces.geo' Da: gmsh Per conto di Don Van Kerkhoven Inviato: venerd? 6 marzo 2020 22:46 A: gmsh at onelab.info Oggetto: Re: [Gmsh] R: R: Slice 3D to get 2D geometry Your error report looks what I get, if the script cannot locate "component8.step" (see below). I use Win7-64b-pro and Gmsh 4.5.4. >>Error : Could not read file 'D:\upgrades\software\gmsh\GmshMailingListExamples\component8.step' >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo', line 14 : Uninitialized variable 'bbox[0]' >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo', line 15 : Uninitialized variable 'bbox[1]' >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo', line 16 : Uninitialized variable 'bbox[2]' >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo', line 17 : Uninitialized variable 'bbox[3]' >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo', line 18 : Uninitialized variable 'bbox[4]' >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo', line 19 : Uninitialized variable 'bbox[5]' >>Error : Rectangle with zero width or height >>Error : Rectangle with zero width or height >>Error : Rectangle with zero width or height >>Error : Rectangle with zero width or height >>Error : Rectangle with zero width or height -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Tue Mar 10 12:19:11 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 10 Mar 2020 12:19:11 +0100 Subject: [Gmsh] Connecting structured to unstructured meshed volumes in 3D In-Reply-To: References: <8AD40B3B-15D8-4896-A731-95D6AABE5690@uliege.be> <4C59B6B1-B930-44D4-BFF0-03C869B8E9A4@uliege.be> Message-ID: <20C408A2-DDE9-43F1-AD07-C8E21A33A392@uliege.be> > On 10 Mar 2020, at 09:01, Octavio Castillo Reyes wrote: > > Dear Prof. Ghristophhe, > > the error log (including gmsh version) is attached to this email. > The error Error : Singular value decomposition requires LAPACK means that your version of Gmsh (that you recompiled from source?) does not include LAPACK. This is necessary for mesh generation. Try the binary versions from the website. I also advise using a more recent version. Christophe > Best regards > > O. > > On Sun, Mar 8, 2020 at 8:40 PM Christophe Geuzaine wrote: > > > > On 5 Mar 2020, at 09:32, Octavio Castillo Reyes wrote: > > > > Prof. Ghristophhe, thank you for your tip! > > > > Right now I have tried it but I have obtained the following errors: > > > > Which version of Gmsh? It should work as-is with recent versions. > > Christophe > > > Error : No elements in region 2 > > Info : Done meshing 3D (0.005192 s) > > Info : Optimizing 3D mesh... > > Info : Optimizing volume 2 > > Info : Done optimizing 3D mesh (0.00019 s) > > Info : 537 vertices 1236 elements > > Error : ------------------------------ > > Error : Mesh generation error summary > > Error : 104 warnings > > Error : 105 errors > > Error : Check the full log for details > > Error : ------------------------------ > > > > In any case, this idea is very good. In spite of this, I would like to know if it is possible to replicate this case only with tetrahedra, in this way I can avoid using different base functions in my finite element code. > > > > Best regards > > > > O. > > > > On Thu, Mar 5, 2020 at 9:19 AM Christophe Geuzaine wrote: > > > > > > > On 3 Mar 2020, at 13:45, Octavio Castillo Reyes wrote: > > > > > > Dear gmsh developers, > > > > > > I would like to know if it is possible build a tetrahedral mesh with following features: > > > > > > - structured tetrahedral elements on boundaries > > > - unstructured tetrahedral elements inside the domain > > > > > > Could you give some tips/ideas to build this kind of mesh (if possible). > > > > > > > I will be done automatically (with a pyramid layer to connect both). Here's an example: > > > > https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/benchmarks/extrude/hybrid_pyramids.geo > > > > Christophe > > > > > > > > > Best regards > > > > > > O. > > > > > > _______________________________________________ > > > 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 > > > > > > > > _______________________________________________ > > 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 > > > > ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine From cgeuzaine at uliege.be Tue Mar 10 12:20:12 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 10 Mar 2020 12:20:12 +0100 Subject: [Gmsh] Slice 3D to get 2D geometry In-Reply-To: References: <001901d5f400$a29c5770$e7d50650$@net> Message-ID: <90BD28AF-4CAD-4E6A-B998-789515F90426@uliege.be> > On 10 Mar 2020, at 08:48, Vicini Alessandro wrote: > > In my case component8.step is correctly read, see the complete log below. But I get those errors anyway? > > > Info : Reading 'D:[008]-EsempiGmsh\slicer_surfaces.geo'... > Info : - Label 'Shapes/Rhino Product' (3D) > Info : Healing shapes (tolerance: 1e-008) > Info : - Fixing degenerated edges and faces > Info : - Sewing faces > Info : Done healing shapes (0.046875 s): > Info : - Compounds : 0 (0) > Info : - Composite solids : 0 (0) > Info : - Solids : 0 (1) You must have OpenCASCADE shape healing applied by default, which destroys thee solid (0 solid after the healing). Christophe > Info : - Shells : 1 (1) > Info : - Wires : 22 (22) > Info : - Faces : 21 (21) > Info : - Edges : 48 (48) > Info : - Vertices : 28 (28) > Info : - Total surface area : 6368.8 (6368.8) > Error : 'D:[008]-EsempiGmsh\slicer_surfaces.geo', line 12 : Uninitialized variable 'bbox[0]' > Error : 'D:[008]-EsempiGmsh\slicer_surfaces.geo', line 13 : Uninitialized variable 'bbox[1]' > Error : 'D:[008]-EsempiGmsh\slicer_surfaces.geo', line 14 : Uninitialized variable 'bbox[2]' > Error : 'D:[008]-EsempiGmsh\slicer_surfaces.geo', line 15 : Uninitialized variable 'bbox[3]' > Error : 'D:[008]-EsempiGmsh\slicer_surfaces.geo', line 16 : Uninitialized variable 'bbox[4]' > Error : 'D:[008]-EsempiGmsh\slicer_surfaces.geo', line 17 : Uninitialized variable 'bbox[5]' > Error : Rectangle with zero width or height > Error : Rectangle with zero width or height > Error : Rectangle with zero width or height > Error : Rectangle with zero width or height > Error : Rectangle with zero width or height > Error : Rectangle with zero width or height > Error : Rectangle with zero width or height > Error : Rectangle with zero width or height > Error : Rectangle with zero width or height > Error : Unknown OpenCASCADE entity of dimension 3 with tag 1 > Error : 'D:[008]-EsempiGmsh\slicer_surfaces.geo', line 30 : Could not apply boolean operator > Info : Done reading 'D:[008]-EsempiGmsh\slicer_surfaces.geo' > > > Da: gmsh Per conto di Don Van Kerkhoven > Inviato: venerd? 6 marzo 2020 22:46 > A: gmsh at onelab.info > Oggetto: Re: [Gmsh] R: R: Slice 3D to get 2D geometry > > Your error report looks what I get, if the script cannot locate ?component8.step? (see below). > I use Win7-64b-pro and Gmsh 4.5.4. > > > >>Error : Could not read file 'D:\upgrades\software\gmsh\GmshMailingListExamples\component8.step' > >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo', line 14 : Uninitialized variable 'bbox[0]' > >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo', line 15 : Uninitialized variable 'bbox[1]' > >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo', line 16 : Uninitialized variable 'bbox[2]' > >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo', line 17 : Uninitialized variable 'bbox[3]' > >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo', line 18 : Uninitialized variable 'bbox[4]' > >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo', line 19 : Uninitialized variable 'bbox[5]' > >>Error : Rectangle with zero width or height > >>Error : Rectangle with zero width or height > >>Error : Rectangle with zero width or height > >>Error : Rectangle with zero width or height > >>Error : Rectangle with zero width or height > > _______________________________________________ > 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 From cgeuzaine at uliege.be Tue Mar 10 13:17:32 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 10 Mar 2020 13:17:32 +0100 Subject: [Gmsh] Connecting structured to unstructured meshed volumes in 3D In-Reply-To: References: <8AD40B3B-15D8-4896-A731-95D6AABE5690@uliege.be> <4C59B6B1-B930-44D4-BFF0-03C869B8E9A4@uliege.be> <20C408A2-DDE9-43F1-AD07-C8E21A33A392@uliege.be> Message-ID: <41DB5348-11FD-4833-8BE2-FC7DD6B96235@uliege.be> > On 10 Mar 2020, at 12:26, Octavio Castillo Reyes wrote: > > Thank you for your clarification. Now is working! > > In addition, it is possible use only tetrahedral elements to reproduce this kind of mesh? > Sure, just remove "Recombine". Christophe > > Best regards > > O. > > Sent from my Samsung Galaxy smartphone. > > On Tue, 10 Mar 2020, 12:19 Christophe Geuzaine, wrote: > > > > On 10 Mar 2020, at 09:01, Octavio Castillo Reyes wrote: > > > > Dear Prof. Ghristophhe, > > > > the error log (including gmsh version) is attached to this email. > > > > The error > > Error : Singular value decomposition requires LAPACK > > means that your version of Gmsh (that you recompiled from source?) does not include LAPACK. This is necessary for mesh generation. > > Try the binary versions from the website. I also advise using a more recent version. > > Christophe > > > > Best regards > > > > O. > > > > On Sun, Mar 8, 2020 at 8:40 PM Christophe Geuzaine wrote: > > > > > > > On 5 Mar 2020, at 09:32, Octavio Castillo Reyes wrote: > > > > > > Prof. Ghristophhe, thank you for your tip! > > > > > > Right now I have tried it but I have obtained the following errors: > > > > > > > Which version of Gmsh? It should work as-is with recent versions. > > > > Christophe > > > > > Error : No elements in region 2 > > > Info : Done meshing 3D (0.005192 s) > > > Info : Optimizing 3D mesh... > > > Info : Optimizing volume 2 > > > Info : Done optimizing 3D mesh (0.00019 s) > > > Info : 537 vertices 1236 elements > > > Error : ------------------------------ > > > Error : Mesh generation error summary > > > Error : 104 warnings > > > Error : 105 errors > > > Error : Check the full log for details > > > Error : ------------------------------ > > > > > > In any case, this idea is very good. In spite of this, I would like to know if it is possible to replicate this case only with tetrahedra, in this way I can avoid using different base functions in my finite element code. > > > > > > Best regards > > > > > > O. > > > > > > On Thu, Mar 5, 2020 at 9:19 AM Christophe Geuzaine wrote: > > > > > > > > > > On 3 Mar 2020, at 13:45, Octavio Castillo Reyes wrote: > > > > > > > > Dear gmsh developers, > > > > > > > > I would like to know if it is possible build a tetrahedral mesh with following features: > > > > > > > > - structured tetrahedral elements on boundaries > > > > - unstructured tetrahedral elements inside the domain > > > > > > > > Could you give some tips/ideas to build this kind of mesh (if possible). > > > > > > > > > > I will be done automatically (with a pyramid layer to connect both). Here's an example: > > > > > > https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/benchmarks/extrude/hybrid_pyramids.geo > > > > > > Christophe > > > > > > > > > > > > > Best regards > > > > > > > > O. > > > > > > > > _______________________________________________ > > > > 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 > > > > > > > > > > > > _______________________________________________ > > > 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 > > > > > > > > > > ? > Prof. Christophe Geuzaine > University of Liege, Electrical Engineering and Computer Science > http://www.montefiore.ulg.ac.be/~geuzaine > > > ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine From ocastilloreyes at gmail.com Tue Mar 10 09:01:16 2020 From: ocastilloreyes at gmail.com (Octavio Castillo Reyes) Date: Tue, 10 Mar 2020 09:01:16 +0100 Subject: [Gmsh] Connecting structured to unstructured meshed volumes in 3D In-Reply-To: <4C59B6B1-B930-44D4-BFF0-03C869B8E9A4@uliege.be> References: <8AD40B3B-15D8-4896-A731-95D6AABE5690@uliege.be> <4C59B6B1-B930-44D4-BFF0-03C869B8E9A4@uliege.be> Message-ID: Dear Prof. Ghristophhe, the error log (including gmsh version) is attached to this email. Best regards O. On Sun, Mar 8, 2020 at 8:40 PM Christophe Geuzaine wrote: > > > > On 5 Mar 2020, at 09:32, Octavio Castillo Reyes < > ocastilloreyes at gmail.com> wrote: > > > > Prof. Ghristophhe, thank you for your tip! > > > > Right now I have tried it but I have obtained the following errors: > > > > Which version of Gmsh? It should work as-is with recent versions. > > Christophe > > > Error : No elements in region 2 > > Info : Done meshing 3D (0.005192 s) > > Info : Optimizing 3D mesh... > > Info : Optimizing volume 2 > > Info : Done optimizing 3D mesh (0.00019 s) > > Info : 537 vertices 1236 elements > > Error : ------------------------------ > > Error : Mesh generation error summary > > Error : 104 warnings > > Error : 105 errors > > Error : Check the full log for details > > Error : ------------------------------ > > > > In any case, this idea is very good. In spite of this, I would like to > know if it is possible to replicate this case only with tetrahedra, in this > way I can avoid using different base functions in my finite element code. > > > > Best regards > > > > O. > > > > On Thu, Mar 5, 2020 at 9:19 AM Christophe Geuzaine > wrote: > > > > > > > On 3 Mar 2020, at 13:45, Octavio Castillo Reyes < > ocastilloreyes at gmail.com> wrote: > > > > > > Dear gmsh developers, > > > > > > I would like to know if it is possible build a tetrahedral mesh with > following features: > > > > > > - structured tetrahedral elements on boundaries > > > - unstructured tetrahedral elements inside the domain > > > > > > Could you give some tips/ideas to build this kind of mesh (if > possible). > > > > > > > I will be done automatically (with a pyramid layer to connect both). > Here's an example: > > > > > https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/benchmarks/extrude/hybrid_pyramids.geo > > > > Christophe > > > > > > > > > Best regards > > > > > > O. > > > > > > _______________________________________________ > > > 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 > > > > > > > > _______________________________________________ > > 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 > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: hybrid_pyramids.err Type: application/octet-stream Size: 50689 bytes Desc: not available URL: From ocastilloreyes at gmail.com Tue Mar 10 12:26:40 2020 From: ocastilloreyes at gmail.com (Octavio Castillo Reyes) Date: Tue, 10 Mar 2020 12:26:40 +0100 Subject: [Gmsh] Connecting structured to unstructured meshed volumes in 3D In-Reply-To: <20C408A2-DDE9-43F1-AD07-C8E21A33A392@uliege.be> References: <8AD40B3B-15D8-4896-A731-95D6AABE5690@uliege.be> <4C59B6B1-B930-44D4-BFF0-03C869B8E9A4@uliege.be> <20C408A2-DDE9-43F1-AD07-C8E21A33A392@uliege.be> Message-ID: Thank you for your clarification. Now is working! In addition, it is possible use only tetrahedral elements to reproduce this kind of mesh? Best regards O. Sent from my Samsung Galaxy smartphone. On Tue, 10 Mar 2020, 12:19 Christophe Geuzaine, wrote: > > > > On 10 Mar 2020, at 09:01, Octavio Castillo Reyes < > ocastilloreyes at gmail.com> wrote: > > > > Dear Prof. Ghristophhe, > > > > the error log (including gmsh version) is attached to this email. > > > > The error > > Error : Singular value decomposition requires LAPACK > > means that your version of Gmsh (that you recompiled from source?) does > not include LAPACK. This is necessary for mesh generation. > > Try the binary versions from the website. I also advise using a more > recent version. > > Christophe > > > > Best regards > > > > O. > > > > On Sun, Mar 8, 2020 at 8:40 PM Christophe Geuzaine > wrote: > > > > > > > On 5 Mar 2020, at 09:32, Octavio Castillo Reyes < > ocastilloreyes at gmail.com> wrote: > > > > > > Prof. Ghristophhe, thank you for your tip! > > > > > > Right now I have tried it but I have obtained the following errors: > > > > > > > Which version of Gmsh? It should work as-is with recent versions. > > > > Christophe > > > > > Error : No elements in region 2 > > > Info : Done meshing 3D (0.005192 s) > > > Info : Optimizing 3D mesh... > > > Info : Optimizing volume 2 > > > Info : Done optimizing 3D mesh (0.00019 s) > > > Info : 537 vertices 1236 elements > > > Error : ------------------------------ > > > Error : Mesh generation error summary > > > Error : 104 warnings > > > Error : 105 errors > > > Error : Check the full log for details > > > Error : ------------------------------ > > > > > > In any case, this idea is very good. In spite of this, I would like to > know if it is possible to replicate this case only with tetrahedra, in this > way I can avoid using different base functions in my finite element code. > > > > > > Best regards > > > > > > O. > > > > > > On Thu, Mar 5, 2020 at 9:19 AM Christophe Geuzaine < > cgeuzaine at uliege.be> wrote: > > > > > > > > > > On 3 Mar 2020, at 13:45, Octavio Castillo Reyes < > ocastilloreyes at gmail.com> wrote: > > > > > > > > Dear gmsh developers, > > > > > > > > I would like to know if it is possible build a tetrahedral mesh with > following features: > > > > > > > > - structured tetrahedral elements on boundaries > > > > - unstructured tetrahedral elements inside the domain > > > > > > > > Could you give some tips/ideas to build this kind of mesh (if > possible). > > > > > > > > > > I will be done automatically (with a pyramid layer to connect both). > Here's an example: > > > > > > > https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/benchmarks/extrude/hybrid_pyramids.geo > > > > > > Christophe > > > > > > > > > > > > > Best regards > > > > > > > > O. > > > > > > > > _______________________________________________ > > > > 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 > > > > > > > > > > > > _______________________________________________ > > > 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 > > > > > > > > > > ? > Prof. Christophe Geuzaine > University of Liege, Electrical Engineering and Computer Science > http://www.montefiore.ulg.ac.be/~geuzaine > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ocastilloreyes at gmail.com Tue Mar 10 14:19:51 2020 From: ocastilloreyes at gmail.com (Octavio Castillo Reyes) Date: Tue, 10 Mar 2020 14:19:51 +0100 Subject: [Gmsh] Connecting structured to unstructured meshed volumes in 3D In-Reply-To: <41DB5348-11FD-4833-8BE2-FC7DD6B96235@uliege.be> References: <8AD40B3B-15D8-4896-A731-95D6AABE5690@uliege.be> <4C59B6B1-B930-44D4-BFF0-03C869B8E9A4@uliege.be> <20C408A2-DDE9-43F1-AD07-C8E21A33A392@uliege.be> <41DB5348-11FD-4833-8BE2-FC7DD6B96235@uliege.be> Message-ID: Thank you! Is working. Best regards O. On Tue, Mar 10, 2020 at 1:17 PM Christophe Geuzaine wrote: > > > > On 10 Mar 2020, at 12:26, Octavio Castillo Reyes < > ocastilloreyes at gmail.com> wrote: > > > > Thank you for your clarification. Now is working! > > > > In addition, it is possible use only tetrahedral elements to reproduce > this kind of mesh? > > > > Sure, just remove "Recombine". > > Christophe > > > > > > Best regards > > > > O. > > > > Sent from my Samsung Galaxy smartphone. > > > > On Tue, 10 Mar 2020, 12:19 Christophe Geuzaine, > wrote: > > > > > > > On 10 Mar 2020, at 09:01, Octavio Castillo Reyes < > ocastilloreyes at gmail.com> wrote: > > > > > > Dear Prof. Ghristophhe, > > > > > > the error log (including gmsh version) is attached to this email. > > > > > > > The error > > > > Error : Singular value decomposition requires LAPACK > > > > means that your version of Gmsh (that you recompiled from source?) does > not include LAPACK. This is necessary for mesh generation. > > > > Try the binary versions from the website. I also advise using a more > recent version. > > > > Christophe > > > > > > > Best regards > > > > > > O. > > > > > > On Sun, Mar 8, 2020 at 8:40 PM Christophe Geuzaine < > cgeuzaine at uliege.be> wrote: > > > > > > > > > > On 5 Mar 2020, at 09:32, Octavio Castillo Reyes < > ocastilloreyes at gmail.com> wrote: > > > > > > > > Prof. Ghristophhe, thank you for your tip! > > > > > > > > Right now I have tried it but I have obtained the following errors: > > > > > > > > > > Which version of Gmsh? It should work as-is with recent versions. > > > > > > Christophe > > > > > > > Error : No elements in region 2 > > > > Info : Done meshing 3D (0.005192 s) > > > > Info : Optimizing 3D mesh... > > > > Info : Optimizing volume 2 > > > > Info : Done optimizing 3D mesh (0.00019 s) > > > > Info : 537 vertices 1236 elements > > > > Error : ------------------------------ > > > > Error : Mesh generation error summary > > > > Error : 104 warnings > > > > Error : 105 errors > > > > Error : Check the full log for details > > > > Error : ------------------------------ > > > > > > > > In any case, this idea is very good. In spite of this, I would like > to know if it is possible to replicate this case only with tetrahedra, in > this way I can avoid using different base functions in my finite element > code. > > > > > > > > Best regards > > > > > > > > O. > > > > > > > > On Thu, Mar 5, 2020 at 9:19 AM Christophe Geuzaine < > cgeuzaine at uliege.be> wrote: > > > > > > > > > > > > > On 3 Mar 2020, at 13:45, Octavio Castillo Reyes < > ocastilloreyes at gmail.com> wrote: > > > > > > > > > > Dear gmsh developers, > > > > > > > > > > I would like to know if it is possible build a tetrahedral mesh > with following features: > > > > > > > > > > - structured tetrahedral elements on boundaries > > > > > - unstructured tetrahedral elements inside the domain > > > > > > > > > > Could you give some tips/ideas to build this kind of mesh (if > possible). > > > > > > > > > > > > > I will be done automatically (with a pyramid layer to connect both). > Here's an example: > > > > > > > > > https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/benchmarks/extrude/hybrid_pyramids.geo > > > > > > > > Christophe > > > > > > > > > > > > > > > > > Best regards > > > > > > > > > > O. > > > > > > > > > > _______________________________________________ > > > > > 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 > > > > > > > > > > > > > > > > _______________________________________________ > > > > 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 > > > > > > > > > > > > > > > > ? > > Prof. Christophe Geuzaine > > University of Liege, Electrical Engineering and Computer Science > > http://www.montefiore.ulg.ac.be/~geuzaine > > > > > > > > ? > Prof. Christophe Geuzaine > University of Liege, Electrical Engineering and Computer Science > http://www.montefiore.ulg.ac.be/~geuzaine > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From will.logie at anu.edu.au Tue Mar 10 15:57:35 2020 From: will.logie at anu.edu.au (William Logie) Date: Tue, 10 Mar 2020 14:57:35 +0000 Subject: [Gmsh] Using OpenCASCADE Boolean to create transfinite surfaces (Boundary) which maintain Transfinite mesh Message-ID: Dear Gmsh Members, I was wondering if anyone can recommend a way for me to create Transfinite Surfaces with the OpenCASCADE kernel which then can be relocated in space (translated/rotated) while maintaining the Transfinite Mesh defined on original curves/surfaces or created through extrusion? My reasons for using OCC is to piece together volumes (various pipe extrusions), then remove internal surfaces between them with BooleanUnion, and finally delete the Volume (and ends) to leave a surface shell. Here, a MWE: // UNITS mm SetFactory("OpenCASCADE"); Geometry.CopyMeshingMethod=1; Mesh.CharacteristicLengthMin=0.1; Mesh.CharacteristicLengthMax=0.3; theta = Pi*30/180; // Create OCC disk, define circumference as Transfinite Curve and Extrude Disk(1) = {0, 0, 0, 0.5}; Transfinite Curve{1} = 30; Extrude {{1, 0, 0}, {0, -10, 0}, theta} { Surface{1}; Layers{20}; Recombine; } Extrude {{1, 0, 0}, {0, 10, 0}, theta} { Surface{1}; Layers{20}; Recombine; } // Transfinite Cyclinder Surface Mesh is lost with Translate, Rotate or Affine, despite Geometry.CopyMeshingMethod=1 being set, e.g.: Affine {Cos(theta),Sin(theta),0,0, -Sin(theta),Cos(theta),0,0, 0,0,1,0} {Volume{1,2};} Many Thanks, Will. -- William Logie PhD Candidate Research School of Engineering The Australian National University Canberra ACT 2601 -------------- next part -------------- An HTML attachment was scrubbed... URL: From hapfang at gmail.com Tue Mar 10 17:55:10 2020 From: hapfang at gmail.com (Jun Fang) Date: Tue, 10 Mar 2020 11:55:10 -0500 Subject: [Gmsh] The Control of OCC BSpline points on the intersection edge Message-ID: Dear GMSH users, By applying the BooleanIntersection between a volume and a curved surface, I can get a decent BSpline intersection curve loop on the surface. The problem I am facing is that the BooleanIntersection by default gives me an ?extra? point on the intersection edge, which I don?t want (for good reasons). A screenshot is posted below. The ?Cylinder 23(OCC)? is the outcome of Boolean intersection. What I need are the four points (22, 23, 24, 25) and four associated BSpline curves on the Surface. Somehow, I couldn?t get rid of the extra point (26), which is located at the z max position of Surface 23(OCC). My guess is that the additional point is kinda of a *reference point* created by the BooleanIntersection function. Is it possible to workaround this issue? I know Compound BSpline could potentially merge curves (i.e. connecting BSplines 27 and 28 here into one), but it only works for the built-in CAD kernel. Is there an equivalent function for OCC kernel? Any comments/suggestions are appreciated. [image: image.png] Thanks very much, Jun -- *Jun Fang, Ph.D. - **Argonne **National Laboratory **- **(630)252-4561* -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 75124 bytes Desc: not available URL: From randalandress1507 at comcast.net Tue Mar 10 19:52:43 2020 From: randalandress1507 at comcast.net (Andress) Date: Tue, 10 Mar 2020 13:52:43 -0500 Subject: [Gmsh] Help with surface visibility In-Reply-To: References: <454D6B2EF0AF4A08872695B05E41E178@KarenPC> Message-ID: <16749E2F4F5A466389E70D14DA871A1E@KarenPC> Hello Christophe, << The default surface representation mode is a cross of dashed lines. With OpenCASCADE you can have other representations: cf. Tools->Options->Geometry->Aspect->Surface display. To save your preferred options: File->Save options as default. Christophe >> Thank you for taking the time to help. Just what I was missing. I am very new to gmsh, and I have a few questions about the learning aids that are available: 1. Where is the user interface defined besides the reference manual 3.4 & 3.5 (for example all the windows/tabs accessible from Tools->Options->Geometry->...) 2 The video tutorials at http://gmsh.info/screencasts will be very helpful in learning the UI - it was in attempting to repeat the first one that I got stumped when my results differed from that of the video. Are there other screencast tutorials besides the ones collected at http://gmsh.info/screencasts ? 3. Are the demos at http://gitlab.onelab.info/gmsh/gmsh/tree/master/demos any help in learning the UI? Do the demos proceed step-by-step or do they simply execute at once the construction commands that they contain? 4. Finally, Are there other forums where I may interact with experienced gmsh users besides this list? Kind regards, Randal From cgeuzaine at uliege.be Tue Mar 10 22:14:40 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 10 Mar 2020 22:14:40 +0100 Subject: [Gmsh] The Control of OCC BSpline points on the intersection edge In-Reply-To: References: Message-ID: > On 10 Mar 2020, at 17:55, Jun Fang wrote: > > Dear GMSH users, > > By applying the BooleanIntersection between a volume and a curved surface, I can get a decent BSpline intersection curve loop on the surface. The problem I am facing is that the BooleanIntersection by default gives me an ?extra? point on the intersection edge, which I don?t want (for good reasons). Can you elaborate? > A screenshot is posted below. The ?Cylinder 23(OCC)? is the outcome of Boolean intersection. What I need are the four points (22, 23, 24, 25) and four associated BSpline curves on the Surface. Somehow, I couldn?t get rid of the extra point (26), which is located at the z max position of Surface 23(OCC). My guess is that the additional point is kinda of a reference point created by the BooleanIntersection function. > > Is it possible to workaround this issue? I know Compound BSpline could potentially merge curves (i.e. connecting BSplines 27 and 28 here into one), but it only works for the built-in CAD kernel. Is there an equivalent function for OCC kernel? Any comments/suggestions are appreciated. > If you don't want the point in the 1D mesh, can't you just use the "Compound Curve" meshing constraint? Christophe > > > Thanks very much, > > Jun > > -- > Jun Fang, Ph.D. - Argonne National Laboratory - (630)252-4561 > _______________________________________________ > 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 From cgeuzaine at uliege.be Tue Mar 10 22:20:12 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 10 Mar 2020 22:20:12 +0100 Subject: [Gmsh] Help with surface visibility In-Reply-To: <16749E2F4F5A466389E70D14DA871A1E@KarenPC> References: <454D6B2EF0AF4A08872695B05E41E178@KarenPC> <16749E2F4F5A466389E70D14DA871A1E@KarenPC> Message-ID: > On 10 Mar 2020, at 19:52, Andress wrote: > > Hello Christophe, > << > The default surface representation mode is a cross of dashed lines. > > With OpenCASCADE you can have other representations: cf. Tools->Options->Geometry->Aspect->Surface display. > > To save your preferred options: File->Save options as default. > > Christophe >>> > Thank you for taking the time to help. Just what I was missing. > > I am very new to gmsh, and I have a few questions about the learning aids that are available: > > 1. Where is the user interface defined besides the reference manual 3.4 & 3.5 (for example all the windows/tabs accessible from Tools->Options->Geometry->...) > There's no formal description: I would encourage you to simply use it and look around to discover the various possibilities. > 2 The video tutorials at http://gmsh.info/screencasts will be very helpful in learning the UI - it was in attempting to repeat the first one that I got stumped when my results differed from that of the video. Are there other screencast tutorials besides the ones collected at http://gmsh.info/screencasts ? https://www.youtube.com/results?search_query=gmsh+tutorial > > 3. Are the demos at http://gitlab.onelab.info/gmsh/gmsh/tree/master/demos any help in learning the UI? Do the demos proceed step-by-step or do they simply execute at once the construction commands that they contain? The repository contains many examples; some were written using the GUI (when you create stuff with the GUI, a .geo file is automatically constructed). But for most complex cases you'll want to learn how to either use the built-in scripting language (.geo files), or the Gmsh API - e.g. in Python or Julia. > > 4. Finally, Are there other forums where I may interact with experienced gmsh users besides this list? > Most of the technical discussions about features and issues are now happening in the gitlab (https://gitlab.onelab.info/gmsh/gmsh/issues). At some point I think this could actually replace the mailing list. Christophe > Kind regards, > Randal ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine From cgeuzaine at uliege.be Tue Mar 10 22:25:09 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 10 Mar 2020 22:25:09 +0100 Subject: [Gmsh] Using OpenCASCADE Boolean to create transfinite surfaces (Boundary) which maintain Transfinite mesh In-Reply-To: References: Message-ID: <7F9DA2BA-4C8D-4508-97A4-EABF0036EA15@uliege.be> > On 10 Mar 2020, at 15:57, William Logie wrote: > > Dear Gmsh Members, > > I was wondering if anyone can recommend a way for me to create Transfinite Surfaces with the OpenCASCADE kernel which then can be relocated in space (translated/rotated) while maintaining the Transfinite Mesh defined on original curves/surfaces or created through extrusion? That's not supported (at least not yet). The meshing constraints for OpenCASCADE shapes are actually stored as attributes linked to the geometrical location of the entities (and their bounding box). We could move/modify the attributes when a shape is transformed, but it's going to be at best a partial solution (like Geometry.CopyMeshingMethod for the built-in kernel, which only deals with transfinite constraints - extrusions cannot be copied, as the geometrical transformation is provided explicitly.) Christophe > > My reasons for using OCC is to piece together volumes (various pipe extrusions), then remove internal surfaces between them with BooleanUnion, and finally delete the Volume (and ends) to leave a surface shell. > > Here, a MWE: > > // UNITS mm > SetFactory("OpenCASCADE"); > Geometry.CopyMeshingMethod=1; > Mesh.CharacteristicLengthMin=0.1; > Mesh.CharacteristicLengthMax=0.3; > > theta = Pi*30/180; > > // Create OCC disk, define circumference as Transfinite Curve and Extrude > Disk(1) = {0, 0, 0, 0.5}; > Transfinite Curve{1} = 30; > Extrude {{1, 0, 0}, {0, -10, 0}, theta} { > Surface{1}; Layers{20}; Recombine; > } > Extrude {{1, 0, 0}, {0, 10, 0}, theta} { > Surface{1}; Layers{20}; Recombine; > } > > // Transfinite Cyclinder Surface Mesh is lost with Translate, Rotate or Affine, despite Geometry.CopyMeshingMethod=1 being set, e.g.: > Affine {Cos(theta),Sin(theta),0,0, -Sin(theta),Cos(theta),0,0, 0,0,1,0} {Volume{1,2};} > > Many Thanks, > Will. > -- > William Logie > PhD Candidate > Research School of Engineering > The Australian National University > Canberra ACT 2601 > _______________________________________________ > 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 From hapfang at gmail.com Tue Mar 10 23:33:02 2020 From: hapfang at gmail.com (Jun Fang) Date: Tue, 10 Mar 2020 17:33:02 -0500 Subject: [Gmsh] The Control of OCC BSpline points on the intersection edge In-Reply-To: References: Message-ID: Hi Christophe, I do appreciate the quick response. I am using GMSH a lot to make pure-hex meshes for geometries of low to intermediate complexity. Thanks to the Transfinite capabilities GMSH provides, I can generally achieve the goal by dividing the geometry into appropriate 3D "boxes". To that end, a 4-point curve loop is way more desirable than a 5-point one (in designing 3D mesh blocks). I've tried the `Compound Curve` tutorial example (t12.geo), but with no success in making a good structured mesh. Here are my questions: 1. Is it doable? 2. If so, how can I refer the the combined curve in Transfinite Curve function? I notice there is no new tag being created for the compound curve group. Thanks again for your help, Jun On Tue, Mar 10, 2020 at 4:14 PM Christophe Geuzaine wrote: > > > > On 10 Mar 2020, at 17:55, Jun Fang wrote: > > > > Dear GMSH users, > > > > By applying the BooleanIntersection between a volume and a curved > surface, I can get a decent BSpline intersection curve loop on the surface. > The problem I am facing is that the BooleanIntersection by default gives > me an ?extra? point on the intersection edge, which I don?t want (for good > reasons). > > Can you elaborate? > > > A screenshot is posted below. The ?Cylinder 23(OCC)? is the outcome of > Boolean intersection. What I need are the four points (22, 23, 24, 25) and > four associated BSpline curves on the Surface. Somehow, I couldn?t get rid > of the extra point (26), which is located at the z max position of Surface > 23(OCC). My guess is that the additional point is kinda of a reference > point created by the BooleanIntersection function. > > > > Is it possible to workaround this issue? I know Compound BSpline could > potentially merge curves (i.e. connecting BSplines 27 and 28 here into > one), but it only works for the built-in CAD kernel. Is there an equivalent > function for OCC kernel? Any comments/suggestions are appreciated. > > > > If you don't want the point in the 1D mesh, can't you just use the > "Compound Curve" meshing constraint? > > Christophe > > > > > > > > Thanks very much, > > > > Jun > > > > -- > > Jun Fang, Ph.D. - Argonne National Laboratory - (630)252-4561 > > _______________________________________________ > > 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 > > > > -- *Jun Fang, Ph.D. - **Argonne **National Laboratory **- **(630)252-4561* -------------- next part -------------- An HTML attachment was scrubbed... URL: From alessandro.vicini at sitael.com Wed Mar 11 09:55:20 2020 From: alessandro.vicini at sitael.com (Vicini Alessandro) Date: Wed, 11 Mar 2020 08:55:20 +0000 Subject: [Gmsh] R: Slice 3D to get 2D geometry Message-ID: Ok, the problem is that gmsh does not import a volume from component8.step, only surfaces and lines, so "BoundingBox Volume{v()}" fails. I need to manually generate the volume after import of the step file, and then the rest of the script works. A. Da: gmsh Per conto di Don Van Kerkhoven Inviato: venerd? 6 marzo 2020 22:46 A: gmsh at onelab.info Oggetto: Re: [Gmsh] R: R: Slice 3D to get 2D geometry Your error report looks what I get, if the script cannot locate "component8.step" (see below). I use Win7-64b-pro and Gmsh 4.5.4. >>Error : Could not read file 'D:\upgrades\software\gmsh\GmshMailingListExamples\component8.step' >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo', line 14 : Uninitialized variable 'bbox[0]' >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo', line 15 : Uninitialized variable 'bbox[1]' >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo', line 16 : Uninitialized variable 'bbox[2]' >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo', line 17 : Uninitialized variable 'bbox[3]' >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo', line 18 : Uninitialized variable 'bbox[4]' >>Error : 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfaces.geo', line 19 : Uninitialized variable 'bbox[5]' >>Error : Rectangle with zero width or height >>Error : Rectangle with zero width or height >>Error : Rectangle with zero width or height >>Error : Rectangle with zero width or height >>Error : Rectangle with zero width or height -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeremy at seamplex.com Wed Mar 11 10:21:31 2020 From: jeremy at seamplex.com (Jeremy Theler) Date: Wed, 11 Mar 2020 06:21:31 -0300 Subject: [Gmsh] R: Slice 3D to get 2D geometry In-Reply-To: References: Message-ID: <15c919235f7cf26f7c2af444a9f1b1049651cbd9.camel@seamplex.com> No, the problem is that Gmsh does import the volume but after it you ask it to perform either one or more of the OCC "healing" procedures and for some reason these procedures remove the volume. See if you have something like Geometry.OCCFixDegenerated Geometry.OCCFixSmallEdges Geometry.OCCFixSmallFaces Geometry.OCCSewFaces in your default option files. -- jeremy ::: ?It is really worth any amount of time and effort to get away from Windows if you are doing computational science.? https://lists.mcs.anl.gov/pipermail/petsc-users/2015-July/026388.html ::: On Wed, 2020-03-11 at 08:55 +0000, Vicini Alessandro wrote: > > Ok, the problem is that gmsh does not import a volume from > component8.step, only surfaces and lines, so ?BoundingBox > Volume{v()}? fails. I need to manually generate the volume after > import of the step file, and then the rest of the script works. > > A. > > Da: gmsh Per conto di Don Van Kerkhoven > Inviato: venerd? 6 marzo 2020 22:46 > A: gmsh at onelab.info > Oggetto: Re: [Gmsh] R: R: Slice 3D to get 2D geometry > > Your error report looks what I get, if the script cannot locate > ?component8.step? (see below). > I use Win7-64b-pro and Gmsh 4.5.4. > > > >>Error : Could not read file > 'D:\upgrades\software\gmsh\GmshMailingListExamples\component8.step' > >>Error : > 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfac > es.geo', line 14 : Uninitialized variable 'bbox[0]' > >>Error : > 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfac > es.geo', line 15 : Uninitialized variable 'bbox[1]' > >>Error : > 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfac > es.geo', line 16 : Uninitialized variable 'bbox[2]' > >>Error : > 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfac > es.geo', line 17 : Uninitialized variable 'bbox[3]' > >>Error : > 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfac > es.geo', line 18 : Uninitialized variable 'bbox[4]' > >>Error : > 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfac > es.geo', line 19 : Uninitialized variable 'bbox[5]' > >>Error : Rectangle with zero width or height > >>Error : Rectangle with zero width or height > >>Error : Rectangle with zero width or height > >>Error : Rectangle with zero width or height > >>Error : Rectangle with zero width or height > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > > http://onelab.info/mailman/listinfo/gmsh > From alessandro.vicini at sitael.com Wed Mar 11 10:41:10 2020 From: alessandro.vicini at sitael.com (Vicini Alessandro) Date: Wed, 11 Mar 2020 09:41:10 +0000 Subject: [Gmsh] R: R: Slice 3D to get 2D geometry In-Reply-To: <15c919235f7cf26f7c2af444a9f1b1049651cbd9.camel@seamplex.com> References: <15c919235f7cf26f7c2af444a9f1b1049651cbd9.camel@seamplex.com> Message-ID: Right, I have "sew faces" active, which kills the volume.... A. -----Messaggio originale----- Da: gmsh Per conto di Jeremy Theler Inviato: mercoled? 11 marzo 2020 10:22 A: gmsh at onelab.info Oggetto: Re: [Gmsh] R: Slice 3D to get 2D geometry No, the problem is that Gmsh does import the volume but after it you ask it to perform either one or more of the OCC "healing" procedures and for some reason these procedures remove the volume. See if you have something like Geometry.OCCFixDegenerated Geometry.OCCFixSmallEdges Geometry.OCCFixSmallFaces Geometry.OCCSewFaces in your default option files. -- jeremy ::: ?It is really worth any amount of time and effort to get away from Windows if you are doing computational science.? https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.mcs.anl.gov%2Fpipermail%2Fpetsc-users%2F2015-July%2F026388.html&data=02%7C01%7Calessandro.vicini%40sitael.com%7Ce3054d6ec6d44fd4f04208d7c59dc039%7Cc187ee014e4e40c8b342f82c8d699421%7C0%7C0%7C637195153882547529&sdata=lg3x9FdC1LW%2FNMU0rISDQ2lAzpU8eyo8rwoRJhmlKnQ%3D&reserved=0 ::: On Wed, 2020-03-11 at 08:55 +0000, Vicini Alessandro wrote: > > Ok, the problem is that gmsh does not import a volume from > component8.step, only surfaces and lines, so ?BoundingBox Volume{v()}? > fails. I need to manually generate the volume after import of the step > file, and then the rest of the script works. > > A. > > Da: gmsh Per conto di Don Van Kerkhoven > Inviato: venerd? 6 marzo 2020 22:46 > A: gmsh at onelab.info > Oggetto: Re: [Gmsh] R: R: Slice 3D to get 2D geometry > > Your error report looks what I get, if the script cannot locate > ?component8.step? (see below). > I use Win7-64b-pro and Gmsh 4.5.4. > > > >>Error : Could not read file > 'D:\upgrades\software\gmsh\GmshMailingListExamples\component8.step' > >>Error : > 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfac > es.geo', line 14 : Uninitialized variable 'bbox[0]' > >>Error : > 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfac > es.geo', line 15 : Uninitialized variable 'bbox[1]' > >>Error : > 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfac > es.geo', line 16 : Uninitialized variable 'bbox[2]' > >>Error : > 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfac > es.geo', line 17 : Uninitialized variable 'bbox[3]' > >>Error : > 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfac > es.geo', line 18 : Uninitialized variable 'bbox[4]' > >>Error : > 'D:\upgrades\software\gmsh\GmshMailingListExamples\2020_slicer_surfac > es.geo', line 19 : Uninitialized variable 'bbox[5]' > >>Error : Rectangle with zero width or height > >>Error : Rectangle with zero width or height > >>Error : Rectangle with zero width or height > >>Error : Rectangle with zero width or height > >>Error : Rectangle with zero width or height > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > > https://eur04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fonela > b.info%2Fmailman%2Flistinfo%2Fgmsh&data=02%7C01%7Calessandro.vicin > i%40sitael.com%7Ce3054d6ec6d44fd4f04208d7c59dc039%7Cc187ee014e4e40c8b3 > 42f82c8d699421%7C0%7C0%7C637195153882547529&sdata=UDy%2BE2757vWOr0 > YtB8eQqVHXYglF2ks6jiSfc8z1vKU%3D&reserved=0 > _______________________________________________ gmsh mailing list gmsh at onelab.info https://eur04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fonelab.info%2Fmailman%2Flistinfo%2Fgmsh&data=02%7C01%7Calessandro.vicini%40sitael.com%7Ce3054d6ec6d44fd4f04208d7c59dc039%7Cc187ee014e4e40c8b342f82c8d699421%7C0%7C0%7C637195153882547529&sdata=UDy%2BE2757vWOr0YtB8eQqVHXYglF2ks6jiSfc8z1vKU%3D&reserved=0 From p.johnston at griffith.edu.au Wed Mar 11 12:40:46 2020 From: p.johnston at griffith.edu.au (Peter Johnston) Date: Wed, 11 Mar 2020 11:40:46 +0000 Subject: [Gmsh] Strange meshing behaviour Message-ID: Hello, I have just observed some strange behaviour with my python script running gmsh. Attached is a cut down version of a larger script that used to work under gmsh 4.4.1. This script creates a 3D volume using OCC and contains multiple surfaces. When I mesh the surface (ie use the 2D meshing button on the gui) surface number three gives some strange results; so strange that I cannot create a volume mesh. I have also attached a picture of the mesh on surface 3, indicating the places where the mesh is misbehaving. I am currently using gmsh 4.5.4. (Please note that I had to change the file extension to escape institutional spam filters. It is really a python script.) Any insights would be much appreciated. Thanks very much, Peter. Associate Professor Peter Johnston (FAustMS, FIMA) School of Environment and Science Griffith University | Nathan | QLD 4111 | Technology (N44) Room 3.19 T +61 7 373 57748| F +61 7 373 57656 Email p.johnston at griffith.edu.au -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gmsh-prob.png Type: image/png Size: 619923 bytes Desc: gmsh-prob.png URL: -------------- next part -------------- import gmsh import sys import numpy as np # set up parameters (eventually will read from file). # Data from streeter (1977?) d_epi = 3.77 d_endo = 3.75 l_epi = 0.69 l_endo = 0.49 mu_base = 120.0/180.8*np.pi # create unit spheres radius = 1.0 # set CharacteristicLengthMax char_l_max = 0.2 #char_l_max = 0.06 # my parameters to create the RV lr_epi = 1.1 lr_endo = 1.05 # derived quantities a_epi = d_epi*np.cosh(l_epi) b_epi = d_epi*np.sinh(l_epi) c_epi = d_epi*np.sinh(lr_epi) a_endo = d_endo*np.cosh(l_endo) b_endo = d_endo*np.sinh(l_endo) c_endo = d_epi*np.sinh(lr_endo) ra_endo = 0.5*(a_epi+a_endo) rb_endo = 0.5*(b_epi+b_endo) # start of main code gmsh.initialize(sys.argv) gmsh.model.add("streeter") # to print errors gmsh.option.setNumber("General.Terminal", 1) gmsh.option.setNumber("Geometry.ToleranceBoolean",1.e-4) gmsh.option.setNumber("Mesh.MshFileVersion",2.2) # mesh parameters gmsh.option.setNumber('Mesh.CharacteristicLengthMax',char_l_max) # create spheres for left and right blood and blood+tissue regions # create entire left ventricle lv_bl = gmsh.model.occ.addSphere(0,0,0, radius, -1, np.pi/2-mu_base, np.pi/2, 2*np.pi) gmsh.model.occ.dilate([(3,lv_bl)],0.,0.,0.,b_epi,b_epi,a_epi) #create left ventricle blood region lv_bl_tiss = gmsh.model.occ.addSphere(0,0,0, radius, -1, np.pi/2-1.1*mu_base, np.pi/2, 2*np.pi) gmsh.model.occ.dilate([(3,lv_bl_tiss)],0.,0.,0.,b_endo,b_endo,a_endo) # create right ventricle (half ellipsoid) rv_bl = gmsh.model.occ.addSphere(0,0,0, radius,-1, np.pi/2-mu_base, np.pi/2, np.pi) gmsh.model.occ.dilate([(3,rv_bl)],0.,0.,0.,b_epi,c_epi,a_epi) # create right ventricle blood region rv_bl_tiss = gmsh.model.occ.addSphere(0,0,0, radius,-1, np.pi/2-1.1*mu_base, np.pi/2, np.pi) gmsh.model.occ.dilate([(3,rv_bl_tiss)],0.,0.,0.,rb_endo,c_endo,ra_endo) # get lv tissue region lv_tiss, _ = gmsh.model.occ.cut([(3,lv_bl)],[(3,lv_bl_tiss)], -1, True, True) print('lv_tiss = ',lv_tiss) # get rv tissue region rv_tiss, _ = gmsh.model.occ.cut([(3,rv_bl)],[(3,rv_bl_tiss)], -1, True, True) print('rv_tiss = ',rv_tiss) # get rv tissue region not in lv rv_tiss_fin, _ = gmsh.model.occ.cut([rv_tiss],[lv_tiss], -1, True, False) print('rv_tiss_fin = ',rv_tiss_fin) gmsh.model.occ.synchronize() # merge lv and rv tissue regions tissue, _ = gmsh.model.occ.fuse([lv_tiss],[rv_tiss_fin], -1, True, True) gmsh.model.occ.synchronize() # ## uncomment the following line to display the mesh gmsh.fltk.run() gmsh.finalize() From cgeuzaine at uliege.be Wed Mar 11 13:42:18 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 11 Mar 2020 13:42:18 +0100 Subject: [Gmsh] Strange meshing behaviour In-Reply-To: References: Message-ID: Hi Peter, Interesting. This seems to be a problem with the generation of the geometry, not the meshing. Attached is the .brep file of the buggy surface (debugSurface.brep): - the OpenCASCADE representation is wrong (see attached picture of the OpenCASCADE-produced STL triangulation), which seems to indicate that the parametric representation is wrong - the surface also leads to an incorrect mesh with Gmsh 4.4.1 I would suggest to send the "debugSurface.brep" file to the OpenCASCADE developers for further analysis? Christophe -------------- next part -------------- A non-text attachment was scrubbed... Name: bug.png Type: image/png Size: 41884 bytes Desc: not available URL: -------------- next part -------------- -------------- next part -------------- A non-text attachment was scrubbed... Name: debugSurface.brep Type: application/octet-stream Size: 63892 bytes Desc: not available URL: -------------- next part -------------- > On 11 Mar 2020, at 12:40, Peter Johnston wrote: > > Hello, > > I have just observed some strange behaviour with my python script running gmsh. Attached is a cut down version of a larger script that used to work under gmsh 4.4.1. This script creates a 3D volume using OCC and contains multiple surfaces. When I mesh the surface (ie use the 2D meshing button on the gui) surface number three gives some strange results; so strange that I cannot create a volume mesh. I have also attached a picture of the mesh on surface 3, indicating the places where the mesh is misbehaving. I am currently using gmsh 4.5.4. > > (Please note that I had to change the file extension to escape institutional spam filters. It is really a python script.) > > Any insights would be much appreciated. > > Thanks very much, > > Peter. > > Associate Professor Peter Johnston (FAustMS, FIMA) > School of Environment and Science > Griffith University | Nathan | QLD 4111 | Technology (N44) Room 3.19 > T +61 7 373 57748| F +61 7 373 57656 Email p.johnston at griffith.edu.au > _______________________________________________ > 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 From cgeuzaine at uliege.be Thu Mar 12 08:28:56 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Thu, 12 Mar 2020 08:28:56 +0100 Subject: [Gmsh] Strange meshing behaviour In-Reply-To: References: Message-ID: Hi Peter, I dug a bit deeper, and the issue is related to the "unification" of surfaces that is performed after a BooleanUnion operation, through the OpenCASCADE "ShapeUpgrade_UnifySameDomain" class. This was added in Gmsh 4.5, and can be deactivated with gmsh.option.setNumber("Geometry.OCCUnionUnify", 0) With this your geometry behaves as in Gmsh 4.4.1. It would be nice to update your report to the OCC folks to let them know that the bad surface is generated by ShapeUpgrade_UnifySameDomain. Thanks, Christophe -------------- next part -------------- A non-text attachment was scrubbed... Name: cap_cut_fix.py Type: text/x-python-script Size: 2656 bytes Desc: not available URL: -------------- next part -------------- > On 12 Mar 2020, at 07:14, Peter Johnston wrote: > > Dear Christophe, > > Thanks for your response. > > As suggested, I asked a question, using your data, on one of the OCC forums. I hope that was the correct thing to do? > > However, I do have one further question for you. The python scripts that I wrote that use these OCC commands were written about six months ago and I was able to produce sensible meshes under gmsh 4.4.1. At least these must have been sensible, otherwise my numerical simulations would not have run and produced sensible output. Are you using a newer version of OCC than, say, when you released gmsh 4.4.1? I don't upgrade my gmsh all that often. > > Thanks for your thoughts. > > Kind regards, > > Peter. > > Associate Professor Peter Johnston (FAustMS, FIMA) > School of Environment and Science > Griffith University | Nathan | QLD 4111 | Technology (N44) Room 3.19 > T +61 7 373 57748| F +61 7 373 57656 Email p.johnston at griffith.edu.au > From: Christophe Geuzaine > Sent: Wednesday, 11 March 2020 10:42 PM > To: Peter Johnston > Cc: gmsh at geuz.org > Subject: Re: [Gmsh] Strange meshing behaviour > > > Hi Peter, > > Interesting. This seems to be a problem with the generation of the geometry, not the meshing. > > Attached is the .brep file of the buggy surface (debugSurface.brep): > > - the OpenCASCADE representation is wrong (see attached picture of the OpenCASCADE-produced STL triangulation), which seems to indicate that the parametric representation is wrong > > - the surface also leads to an incorrect mesh with Gmsh 4.4.1 > > I would suggest to send the "debugSurface.brep" file to the OpenCASCADE developers for further analysis? > > Christophe > > > > > > > On 11 Mar 2020, at 12:40, Peter Johnston wrote: > > > > Hello, > > > > I have just observed some strange behaviour with my python script running gmsh. Attached is a cut down version of a larger script that used to work under gmsh 4.4.1. This script creates a 3D volume using OCC and contains multiple surfaces. When I mesh the surface (ie use the 2D meshing button on the gui) surface number three gives some strange results; so strange that I cannot create a volume mesh. I have also attached a picture of the mesh on surface 3, indicating the places where the mesh is misbehaving. I am currently using gmsh 4.5.4. > > > > (Please note that I had to change the file extension to escape institutional spam filters. It is really a python script.) > > > > Any insights would be much appreciated. > > > > Thanks very much, > > > > Peter. > > > > Associate Professor Peter Johnston (FAustMS, FIMA) > > School of Environment and Science > > Griffith University | Nathan | QLD 4111 | Technology (N44) Room 3.19 > > T +61 7 373 57748| F +61 7 373 57656 Email p.johnston at griffith.edu.au > > _______________________________________________ > > gmsh mailing list > > gmsh at onelab.info > > https://protect-au.mimecast.com/s/HChgCNLwQEiBWGQEumqCoN?domain=onelab.info > > ? > Prof. Christophe Geuzaine > University of Liege, Electrical Engineering and Computer Science > http://www.montefiore.ulg.ac.be/~geuzaine > > > ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine From h.dierckx at kuleuven.be Wed Mar 18 08:56:14 2020 From: h.dierckx at kuleuven.be (Hans Dierckx) Date: Wed, 18 Mar 2020 07:56:14 +0000 Subject: [Gmsh] surface mesh coarsening Message-ID: <3FA7145C-E1DC-40B0-AEB9-2A01A8262E19@kuleuven.be> Dear all, Can someone explain me how to use gmesh to coarsen a closed surface mesh? I attach a simple geometry as test data. I tried in vain in the GUI to put ?options > mesh > element size? to a value bigger than one. The data I want to apply it to is a heart geometry which has originally 10^6 vertices and 5 10^5 faces, which should be reduced to approx. 500 faces. Thank you very much for your assistance. Hans Dierckx Leuven University -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: spherefine.geo Type: application/octet-stream Size: 87137 bytes Desc: spherefine.geo URL: From cgeuzaine at uliege.be Wed Mar 18 09:14:16 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 18 Mar 2020 09:14:16 +0100 Subject: [Gmsh] surface mesh coarsening In-Reply-To: <3FA7145C-E1DC-40B0-AEB9-2A01A8262E19@kuleuven.be> References: <3FA7145C-E1DC-40B0-AEB9-2A01A8262E19@kuleuven.be> Message-ID: <3254DA09-5D18-46D5-B29C-CC995B0755B0@uliege.be> > On 18 Mar 2020, at 08:56, Hans Dierckx wrote: > > Dear all, > > Can someone explain me how to use gmesh to coarsen a closed surface mesh? I attach a simple geometry as test data. > I tried in vain in the GUI to put ?options > mesh > element size? to a value bigger than one. > The data I want to apply it to is a heart geometry which has originally 10^6 vertices and 5 10^5 faces, which should be reduced to approx. 500 faces. > You should save your initial model as a mesh, not a CAD model; for example you can save your input mesh as a STL file. (Beware that your mesh should be correctly oriented - it's not the case for the CAD you sent.) You can the reparametrize the mesh, which will create a multi-patch, discrete geometry that you can remesh. On the command line: > gmsh file.stl -reparam 180 > gmsh file.msh -clcurv 10 -2 See tutorial/t13.geo for the same workflow in a .geo script, or tutorial/python/t13.py or demos/api/remesh_stl.py for the same using the Python API. Christophe > Thank you very much for your assistance. > > Hans Dierckx > Leuven University > > > _______________________________________________ > 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 From baltasar.ruechardt at ds.mpg.de Wed Mar 18 13:48:07 2020 From: baltasar.ruechardt at ds.mpg.de (=?UTF-8?Q?Baltasar_R=c3=bcchardt?=) Date: Wed, 18 Mar 2020 13:48:07 +0100 Subject: [Gmsh] Can I turn an STL or the Created Geometry in Gmsh? Message-ID: Hello everyone, While working with gmsh and importing stls in order to create FEM-meshes I was confronted with a question I wasn't able to solve on my own so far: Can I merge a stl file in gmsh and rotate the stl data afterwards? Alternatively, can I rotate the geometry that was created by CreateGeometry; such that the fem mesh will be rotated as well? I attached an example script (dev_test_rotation.geo) where I try the second approach: Create the volume from the stl and then I try to rotate the geometrical entities. See the part "Try rotate volume" in the script. I also attached a simple stl geometry to test it. Do you have any ideas? The alternative that came to my mind is to rotate with e.g. meshlab before merging to gmsh. Is this the best / only solution? I am looking forward to your answers! Thank you and stay well Baltasar R?chardt -------------- next part -------------- A non-text attachment was scrubbed... Name: example.stl Type: application/octet-stream Size: 22484 bytes Desc: not available URL: -------------- next part -------------- // Gmsh project created on Wed Feb 26 23:17:35 2020 // Use seperate counting for lines, surfaces, volumes (see http://gmsh.info/doc/texinfo/gmsh.html#index-Geometry_002eOldNewReg) Geometry.OldNewReg = 0; // Mesh.SaveAll = 1; // macros ////////////////// begin creation of volume from stl /////////////// // In the following I import the surface mesh. // Because in the stl there are very close vertices // the stl will be reclassify such that the nodes // of the fem mesh created do not necessarily // overlap with the nodes of the stl, which I think // was the case before. // To do so, I use the ClassifySurfaces function which // (this is handwaving) reads the stl surface and finds // a way to describe these surfaces with gmsh. // In the next step, the CreateGeometry function creates // the gmsh representation based on the classified // surfaces. // The parameters of ClassifySurfaces are: // angle: angle which is used to create sharp edges. // If angle = 180 degree: never create sharp edges // [see gmsh mailing list answer to my question] // forceParametrizablePatches: Create surfaces guaranteed // to be parametrizable // includeBoundary: todo // splitangle: forces splitting if two generated curves // have an angle larger than this one. Merge 'example.stl'; DefineConstant[ angle = {20, Min 0, Max 360, Step 1, Name "ClassifySurfaceArgs/angle"} ]; DefineConstant[ splitangle = {45, Min 0, Max 360, Step 1, Name "ClassifySurfaceArgs/splitangle"} ]; forceParametrizablePatches = 1; includeBoundary = 1; surface_tag_before_classification = news; ClassifySurfaces{angle * Pi/180, includeBoundary, forceParametrizablePatches, splitangle * Pi/180}; CreateGeometry; surface_tag_after_classification = news; /// make volume surfaces_stl[] = {}; For i In {surface_tag_before_classification:surface_tag_after_classification-1} surfaces_stl[]+=i; EndFor boundary_stl = newsl; Surface Loop(boundary_stl) = {surfaces_stl[]}; volume_stl = newv; Volume(volume_stl) = {boundary_stl}; /// Try rotate volume DefineConstant[ rot_angle = {0, Min 0, Max 360, Step 1, Name "Parameters/Rot-Angle [?]"} ]; Rotate {{1, 0, 0}, {0, 0, 0}, rot_angle * Pi/180} { Volume{:}; } Rotate {{1, 0, 0}, {0, 0, 0}, rot_angle * Pi/180} { Point{:}; } Rotate {{1, 0, 0}, {0, 0, 0}, rot_angle * Pi/180} { Surface{:}; } ////////////////// end creation volume from stl /////////////// From cgeuzaine at uliege.be Thu Mar 19 08:03:48 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Thu, 19 Mar 2020 08:03:48 +0100 Subject: [Gmsh] Can I turn an STL or the Created Geometry in Gmsh? In-Reply-To: References: Message-ID: > On 18 Mar 2020, at 13:48, Baltasar R?chardt wrote: > > Hello everyone, > > > While working with gmsh and importing stls in order to create FEM-meshes > I was confronted with a question I wasn't able to solve on my own so far: > > Can I merge a stl file in gmsh and rotate the stl data afterwards? It's a bit convoluted in a .geo file (because you need to create a post-processing view) but you can do it as follows: -------------- next part -------------- A non-text attachment was scrubbed... Name: dev_test_rotation_cg.geo Type: application/octet-stream Size: 2465 bytes Desc: not available URL: -------------- next part -------------- With the API you can directly modify the node coordinates. Christophe > Alternatively, can I rotate the geometry that was created by > CreateGeometry; such that the fem mesh will be rotated as well? > > I attached an example script (dev_test_rotation.geo) where I try the > second approach: Create the volume from the stl and then I try to rotate > the geometrical entities. See the part "Try rotate volume" in the > script. I also attached a simple stl geometry to test it. > > Do you have any ideas? > > The alternative that came to my mind is to rotate with e.g. meshlab > before merging to gmsh. Is this the best / only solution? > > I am looking forward to your answers! > > Thank you and stay well > > > Baltasar R?chardt > > > > > _______________________________________________ > 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 From jeremy at seamplex.com Thu Mar 19 12:08:47 2020 From: jeremy at seamplex.com (Jeremy Theler) Date: Thu, 19 Mar 2020 08:08:47 -0300 Subject: [Gmsh] Adding second-order nodes to tet4 Message-ID: Hi All Say I have a .msh file with first-order tetrahedra and triangles. How can I ask Gmsh to convert these tet4 and tria3 to tet10 and tria6 by adding mid-edge nodes? Something like "refine by splitting" but for p instead for h. I only have the .msh file, not the original geometry. Any ideas? Regards -- jeremy theler www.seamplex.com From morok at mevex.com Thu Mar 19 12:50:53 2020 From: morok at mevex.com (Max Orok) Date: Thu, 19 Mar 2020 07:50:53 -0400 Subject: [Gmsh] Adding second-order nodes to tet4 In-Reply-To: References: Message-ID: Hi Jeremy, Going through the API shouldn't be too bad.. - going over the triangle elements - find midpoint nodes - either use addElements or find the element format and make them on the fly Could you maybe send a small piece of the mesh file to try out? Max On Thu, Mar 19, 2020 at 7:10 AM Jeremy Theler wrote: > Hi All > > Say I have a .msh file with first-order tetrahedra and triangles. How > can I ask Gmsh to convert these tet4 and tria3 to tet10 and tria6 by > adding mid-edge nodes? Something like "refine by splitting" but for p > instead for h. > > I only have the .msh file, not the original geometry. > > Any ideas? > > Regards > -- > jeremy theler > www.seamplex.com > > > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeremy at seamplex.com Thu Mar 19 12:56:55 2020 From: jeremy at seamplex.com (jeremy theler) Date: Thu, 19 Mar 2020 08:56:55 -0300 Subject: [Gmsh] Adding second-order nodes to tet4 In-Reply-To: References: Message-ID: Yes, but the difficult part here is to know if a new node needs to be added or another element already added it, and in such case what is the already-added node id. Maybe Gmsh already has this somewhere near the "refine by splitting" tool. -- jeremy theler www.seamplex.com On Thu, Mar 19, 2020, 08:51 Max Orok wrote: > Hi Jeremy, > > Going through the API shouldn't be too bad.. > > - going over the triangle elements > - find midpoint nodes > - either use addElements or find the element format and make them on > the fly > > Could you maybe send a small piece of the mesh file to try out? > > Max > > On Thu, Mar 19, 2020 at 7:10 AM Jeremy Theler wrote: > >> Hi All >> >> Say I have a .msh file with first-order tetrahedra and triangles. How >> can I ask Gmsh to convert these tet4 and tria3 to tet10 and tria6 by >> adding mid-edge nodes? Something like "refine by splitting" but for p >> instead for h. >> >> I only have the .msh file, not the original geometry. >> >> Any ideas? >> >> Regards >> -- >> jeremy theler >> www.seamplex.com >> >> >> >> >> _______________________________________________ >> gmsh mailing list >> gmsh at onelab.info >> http://onelab.info/mailman/listinfo/gmsh >> > > > -- > Max Orok > Contractor > www.mevex.com > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Thu Mar 19 13:02:29 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Thu, 19 Mar 2020 13:02:29 +0100 Subject: [Gmsh] Adding second-order nodes to tet4 In-Reply-To: References: Message-ID: <9011CAB6-203A-41D0-9325-A1B1529F2327@uliege.be> > On 19 Mar 2020, at 12:56, Jeremy Theler wrote: > > Yes, but the difficult part here is to know if a new node needs to be added or another element already added it, and in such case what is the already-added node id. > > Maybe Gmsh already has this somewhere near the "refine by splitting" tool. > In a .geo file: Merge "file.msh"; SetOrder 2; Save "file2.msh"; Similar in the API, with the gmsh/model/mesh/setOrder function. Christophe > -- > jeremy theler > www.seamplex.com > > On Thu, Mar 19, 2020, 08:51 Max Orok wrote: > Hi Jeremy, > > Going through the API shouldn't be too bad.. > ? going over the triangle elements > ? find midpoint nodes > ? either use addElements or find the element format and make them on the fly > Could you maybe send a small piece of the mesh file to try out? > > Max > > On Thu, Mar 19, 2020 at 7:10 AM Jeremy Theler wrote: > Hi All > > Say I have a .msh file with first-order tetrahedra and triangles. How > can I ask Gmsh to convert these tet4 and tria3 to tet10 and tria6 by > adding mid-edge nodes? Something like "refine by splitting" but for p > instead for h. > > I only have the .msh file, not the original geometry. > > Any ideas? > > Regards > -- > jeremy theler > www.seamplex.com > > > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > > > -- > Max Orok > Contractor > www.mevex.com > > > _______________________________________________ > 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 From jeremy at seamplex.com Thu Mar 19 13:38:58 2020 From: jeremy at seamplex.com (Jeremy Theler) Date: Thu, 19 Mar 2020 09:38:58 -0300 Subject: [Gmsh] Adding second-order nodes to tet4 In-Reply-To: <9011CAB6-203A-41D0-9325-A1B1529F2327@uliege.be> References: <9011CAB6-203A-41D0-9325-A1B1529F2327@uliege.be> Message-ID: <9b15a642630bbfd73d85cce7447fde028a2ac3ce.camel@seamplex.com> On Thu, 2020-03-19 at 13:02 +0100, Christophe Geuzaine wrote: > In a .geo file: > > Merge "file.msh"; > SetOrder 2; > Save "file2.msh"; Great! I was close, but it is always wise to ask the boss. Thanks. -- jeremy theler www.seamplex.com From xssun10 at gmail.com Thu Mar 19 20:13:28 2020 From: xssun10 at gmail.com (Xingsheng Sun) Date: Thu, 19 Mar 2020 12:13:28 -0700 Subject: [Gmsh] Reduce number of digits in key-format file Message-ID: Hello All, I am using Gmsh to generate the mesh file for Ls-dyna. The problem is that in the key-format file generated by Gmsh, the coordinates of nodes have too many digits. For instance, in the node information: *NODE 22, 0, 0.012499999999976, -0.001 23, 0, 0.02499999999995, -0.001 24, 0, 0.037499999999926, -0.001 25, 0, 0.049999999999907, -0.001 the y-coordinates of nodes 22-25 have 15 digits that cannot be read by Ls-dyna. So could any people shed light on how to reduce the number of digits in Gmsh? I am using command lines, not GUI. Thank you so much in advance. Best regards, Xingsheng -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Fri Mar 20 07:50:56 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 20 Mar 2020 07:50:56 +0100 Subject: [Gmsh] Reduce number of digits in key-format file In-Reply-To: References: Message-ID: <627E5DEF-58A0-4A49-8192-DE50C3A5BED4@uliege.be> > On 19 Mar 2020, at 20:13, Xingsheng Sun wrote: > > Hello All, > > I am using Gmsh to generate the mesh file for Ls-dyna. The problem is that in the key-format file generated by Gmsh, the coordinates of nodes have too many digits. For instance, in the node information: > > *NODE > 22, 0, 0.012499999999976, -0.001 > 23, 0, 0.02499999999995, -0.001 > 24, 0, 0.037499999999926, -0.001 > 25, 0, 0.049999999999907, -0.001 > > the y-coordinates of nodes 22-25 have 15 digits that cannot be read by Ls-dyna. > What floating point number format should be used in KEY files? Is there a specification of the format somewhere that we could follow? Christophe > So could any people shed light on how to reduce the number of digits in Gmsh? I am using command lines, not GUI. Thank you so much in advance. > > Best regards, > Xingsheng > > _______________________________________________ > 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 From winfried.boxleitner at ait.ac.at Fri Mar 20 07:59:47 2020 From: winfried.boxleitner at ait.ac.at (Winfried Boxleitner) Date: Fri, 20 Mar 2020 07:59:47 +0100 Subject: [Gmsh] Reduce number of digits in key-format file In-Reply-To: References: Message-ID: dear Xingsheng, if you are used to commandline you can modify my awk-script to fit your needs. to format the mesh file use the following command: awk -f pretty_print_msh.awk input.msh > output.msh the awk-script is attached best regards, Winfried On Thu, 19 Mar 2020, Xingsheng Sun wrote: > Hello All, > > I am using Gmsh to generate the mesh file for Ls-dyna. The problem is that > in the key-format file generated by Gmsh, the coordinates of nodes have too > many digits. For instance, in the node information: > > *NODE > 22, 0, 0.012499999999976, -0.001 > 23, 0, 0.02499999999995, -0.001 > 24, 0, 0.037499999999926, -0.001 > 25, 0, 0.049999999999907, -0.001 > > the y-coordinates of nodes 22-25 have 15 digits that cannot be read by > Ls-dyna. > > So could any people shed light on how to reduce the number of digits in > Gmsh? I am using command lines, not GUI. Thank you so much in advance. > > Best regards, > Xingsheng > ______________________________________________________________________ / | Winfried Boxleitner | Scientist | AIT Austrian Institute of Technology GmbH \______________________________________________________________________ -------------- next part -------------- #======================================================================# # # # (c) AIT 2013, all rights reserved # # # # Author: Winfried Boxleitner # # # #======================================================================# # # remove unnecessary entries which are near 0 # BEGIN{ filter=0 nodes=0 limit=1.0e-20 } ### program loop ### { ### for gmsh files: if($1 ~ /\$[A-Z][a-z]/) {filter=1} if($1 ~ /\$Node/) {nodes=1} if($1 ~ /\$End[A-Z]/) {filter=0; nodes=0} ### for other blocked text-output: if($1 ~ /#{/) {filter=1; nodes=1} if($1 ~ /#}/) {filter=0; nodes=0} ### if(filter == 1) { if($1 ~ "[0-9]") { if($1 ~ "\"" ) { ### treat strings tags in gmsh files correctly, if they contain numbers print $0 }else{ printf "%5g ", $1 } for(i=2;i<=NF;i++) if(nodes > 0) { if(($i*$i) From cgeuzaine at uliege.be Fri Mar 20 11:52:01 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 20 Mar 2020 11:52:01 +0100 Subject: [Gmsh] Reduce number of digits in key-format file In-Reply-To: References: Message-ID: <25ECED9E-EB2F-4B21-BFBF-1859EDF56A5A@uliege.be> > On 20 Mar 2020, at 07:59, Winfried Boxleitner wrote: > > dear Xingsheng, > if you are used to commandline you can modify my awk-script to fit your needs. > > to format the mesh file use the following command: > awk -f pretty_print_msh.awk input.msh > output.msh > Do you mean that we should use %12.6g in our KEY export? Christophe > the awk-script is attached > > best regards, > Winfried > > > On Thu, 19 Mar 2020, Xingsheng Sun wrote: > >> Hello All, >> >> I am using Gmsh to generate the mesh file for Ls-dyna. The problem is that >> in the key-format file generated by Gmsh, the coordinates of nodes have too >> many digits. For instance, in the node information: >> >> *NODE >> 22, 0, 0.012499999999976, -0.001 >> 23, 0, 0.02499999999995, -0.001 >> 24, 0, 0.037499999999926, -0.001 >> 25, 0, 0.049999999999907, -0.001 >> >> the y-coordinates of nodes 22-25 have 15 digits that cannot be read by >> Ls-dyna. >> >> So could any people shed light on how to reduce the number of digits in >> Gmsh? I am using command lines, not GUI. Thank you so much in advance. >> >> Best regards, >> Xingsheng >> > > > ______________________________________________________________________ > / > | Winfried Boxleitner > | Scientist > | AIT Austrian Institute of Technology GmbH > \_____________________________________________________________________________________________________________________ > 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 From winfried.boxleitner at ait.ac.at Fri Mar 20 12:23:09 2020 From: winfried.boxleitner at ait.ac.at (Winfried Boxleitner) Date: Fri, 20 Mar 2020 12:23:09 +0100 Subject: [Gmsh] Reduce number of digits in key-format file In-Reply-To: <25ECED9E-EB2F-4B21-BFBF-1859EDF56A5A@uliege.be> References: <25ECED9E-EB2F-4B21-BFBF-1859EDF56A5A@uliege.be> Message-ID: dear Christophe, my awk-script is meant as an example only, howto modify the msh-file after creation. for users not familiar to commandline tools however, this is not useful. I personally have no problems with the current format. remark: until now I only used msh version 2, because this can be used together with FreeFem. Winfried On Fri, 20 Mar 2020, Christophe Geuzaine wrote: > > >> On 20 Mar 2020, at 07:59, Winfried Boxleitner wrote: >> >> dear Xingsheng, >> if you are used to commandline you can modify my awk-script to fit your needs. >> >> to format the mesh file use the following command: >> awk -f pretty_print_msh.awk input.msh > output.msh >> > > Do you mean that we should use %12.6g in our KEY export? > > Christophe > > >> the awk-script is attached >> >> best regards, >> Winfried >> >> >> On Thu, 19 Mar 2020, Xingsheng Sun wrote: >> >>> Hello All, >>> >>> I am using Gmsh to generate the mesh file for Ls-dyna. The problem is that >>> in the key-format file generated by Gmsh, the coordinates of nodes have too >>> many digits. For instance, in the node information: >>> >>> *NODE >>> 22, 0, 0.012499999999976, -0.001 >>> 23, 0, 0.02499999999995, -0.001 >>> 24, 0, 0.037499999999926, -0.001 >>> 25, 0, 0.049999999999907, -0.001 >>> >>> the y-coordinates of nodes 22-25 have 15 digits that cannot be read by >>> Ls-dyna. >>> >>> So could any people shed light on how to reduce the number of digits in >>> Gmsh? I am using command lines, not GUI. Thank you so much in advance. >>> >>> Best regards, >>> Xingsheng >>> >> >> >> ______________________________________________________________________ >> / >> | Winfried Boxleitner >> | Scientist >> | AIT Austrian Institute of Technology GmbH >> \_____________________________________________________________________________________________________________________ >> 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 > > -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: Digital Signature URL: From xssun10 at gmail.com Fri Mar 20 22:54:24 2020 From: xssun10 at gmail.com (Xingsheng Sun) Date: Fri, 20 Mar 2020 14:54:24 -0700 Subject: [Gmsh] Reduce number of digits in key-format file In-Reply-To: References: <25ECED9E-EB2F-4B21-BFBF-1859EDF56A5A@uliege.be> Message-ID: Dear Christophe and Winfried, Thank you so much for your help. The problem has been solved. The reason is that LS-DYNA can only read 16 digits, while in the output file of Gmsh some numbers have 17 digits. For example, in my previous email 0.012499999999976 has 17 digits including the dot, which cannot be read by LS-DYNA. I also found that the 17-digit numbers only happen when its value is close to zero. Then I moved the entire mesh by 1 in all x-, y- and z-coordinates. Then the output file by Gmsh works well for LS-DYNA. Hope the solution helps the people who might have the same problem. Best wishes, Xingsheng On Fri, Mar 20, 2020 at 4:23 AM Winfried Boxleitner < winfried.boxleitner at ait.ac.at> wrote: > dear Christophe, > my awk-script is meant as an example only, howto modify the msh-file > after creation. for users not familiar to commandline tools however, this > is not useful. I personally have no problems with the current format. > remark: until now I only used msh version 2, because this can be used > together with FreeFem. > > > Winfried > > On Fri, 20 Mar 2020, Christophe Geuzaine wrote: > > > > > > >> On 20 Mar 2020, at 07:59, Winfried Boxleitner < > winfried.boxleitner at ait.ac.at> wrote: > >> > >> dear Xingsheng, > >> if you are used to commandline you can modify my awk-script to fit your > needs. > >> > >> to format the mesh file use the following command: > >> awk -f pretty_print_msh.awk input.msh > output.msh > >> > > > > Do you mean that we should use %12.6g in our KEY export? > > > > Christophe > > > > > >> the awk-script is attached > >> > >> best regards, > >> Winfried > >> > >> > >> On Thu, 19 Mar 2020, Xingsheng Sun wrote: > >> > >>> Hello All, > >>> > >>> I am using Gmsh to generate the mesh file for Ls-dyna. The problem is > that > >>> in the key-format file generated by Gmsh, the coordinates of nodes > have too > >>> many digits. For instance, in the node information: > >>> > >>> *NODE > >>> 22, 0, 0.012499999999976, -0.001 > >>> 23, 0, 0.02499999999995, -0.001 > >>> 24, 0, 0.037499999999926, -0.001 > >>> 25, 0, 0.049999999999907, -0.001 > >>> > >>> the y-coordinates of nodes 22-25 have 15 digits that cannot be read by > >>> Ls-dyna. > >>> > >>> So could any people shed light on how to reduce the number of digits in > >>> Gmsh? I am using command lines, not GUI. Thank you so much in advance. > >>> > >>> Best regards, > >>> Xingsheng > >>> > >> > >> > >> ______________________________________________________________________ > >> / > >> | Winfried Boxleitner > >> | Scientist > >> | AIT Austrian Institute of Technology GmbH > >> > \_____________________________________________________________________________________________________________________ > >> 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 > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Sat Mar 21 10:18:16 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sat, 21 Mar 2020 10:18:16 +0100 Subject: [Gmsh] Reduce number of digits in key-format file In-Reply-To: References: <25ECED9E-EB2F-4B21-BFBF-1859EDF56A5A@uliege.be> Message-ID: <3FD1E8D2-9147-4C23-A13B-F02B3E540DDA@uliege.be> > On 20 Mar 2020, at 22:54, Xingsheng Sun wrote: > > Dear Christophe and Winfried, > > Thank you so much for your help. The problem has been solved. > > The reason is that LS-DYNA can only read 16 digits, while in the output file of Gmsh some numbers have 17 digits. For example, in my previous email 0.012499999999976 has 17 digits including the dot, which cannot be read by LS-DYNA. I also found that the 17-digit numbers only happen when its value is close to zero. Then I moved the entire mesh by 1 in all x-, y- and z-coordinates. Then the output file by Gmsh works well for LS-DYNA. > Can you give the latest dev snapshot a try and let us know if it fixes the problem? Thanks, Christophe > Hope the solution helps the people who might have the same problem. > > Best wishes, > Xingsheng > > On Fri, Mar 20, 2020 at 4:23 AM Winfried Boxleitner wrote: > dear Christophe, > my awk-script is meant as an example only, howto modify the msh-file > after creation. for users not familiar to commandline tools however, this > is not useful. I personally have no problems with the current format. > remark: until now I only used msh version 2, because this can be used > together with FreeFem. > > > Winfried > > On Fri, 20 Mar 2020, Christophe Geuzaine wrote: > > > > > > >> On 20 Mar 2020, at 07:59, Winfried Boxleitner wrote: > >> > >> dear Xingsheng, > >> if you are used to commandline you can modify my awk-script to fit your needs. > >> > >> to format the mesh file use the following command: > >> awk -f pretty_print_msh.awk input.msh > output.msh > >> > > > > Do you mean that we should use %12.6g in our KEY export? > > > > Christophe > > > > > >> the awk-script is attached > >> > >> best regards, > >> Winfried > >> > >> > >> On Thu, 19 Mar 2020, Xingsheng Sun wrote: > >> > >>> Hello All, > >>> > >>> I am using Gmsh to generate the mesh file for Ls-dyna. The problem is that > >>> in the key-format file generated by Gmsh, the coordinates of nodes have too > >>> many digits. For instance, in the node information: > >>> > >>> *NODE > >>> 22, 0, 0.012499999999976, -0.001 > >>> 23, 0, 0.02499999999995, -0.001 > >>> 24, 0, 0.037499999999926, -0.001 > >>> 25, 0, 0.049999999999907, -0.001 > >>> > >>> the y-coordinates of nodes 22-25 have 15 digits that cannot be read by > >>> Ls-dyna. > >>> > >>> So could any people shed light on how to reduce the number of digits in > >>> Gmsh? I am using command lines, not GUI. Thank you so much in advance. > >>> > >>> Best regards, > >>> Xingsheng > >>> > >> > >> > >> ______________________________________________________________________ > >> / > >> | Winfried Boxleitner > >> | Scientist > >> | AIT Austrian Institute of Technology GmbH > >> \_____________________________________________________________________________________________________________________ > >> 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 > > > > > _______________________________________________ > 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 From paul18fr at gmail.com Sun Mar 22 16:50:03 2020 From: paul18fr at gmail.com (paul francedixhuit) Date: Sun, 22 Mar 2020 16:50:03 +0100 Subject: [Gmsh] Hdf5 files and gmsh Message-ID: Hi All Recently I found interesting discussions about hdf5 and gmsh (see https://gitlab.onelab.info/gmsh/gmsh/issues/552). On my side I had to look to xmdf format 2 years ago that seemed to be interesting to my applications (mechanical engineering). Finally I gave up because of difficulties and xdmf developments not really active. I'm using hdf5 files through h5py Python library to deal with huge amount of data, in either static conditions or transitory ones. In the meantime gmsh team has developed the format 4.1 and I've to dig into it; I saw about Python API and I'm not familiar with, but not sure that's I'm looking for. In my opinion it'll be very useful and powerful to be able to import datasets from hdf5 files directly from the gmsh *native* file, especially for post-processing purposes; let me developing: - by import I mean calling, not intending to write it in an ascii format; similar to "h5.get" for people who are familiar to h5py library - I'm not speaking about HPC modelings where huge meshes and models can be post-processed using dozens or hundreds of cores, but about a common PC or a working station having limited resources compared to HPC servers, - When working on models having a million of 2nd order elements, and dozens of time steps, dealing with different variables (up to 3 displacement components, up to 6 for the stress ones, and so on), *all results cannot be loaded in a single native .pos file* due to obvious computing limitations While using hdf5 in native gmsh file, I've been thinking it may answer to this because: - *hdf5 files are optimized for I/O* in terms of speed and memory; for example only datasets you need are loaded and not the entire file: it's fast accordingly - data can be compressed in hdf5 file - a dataset is a block of data (typically a matrix) - in practice in gmsh, only some data are plotted at the same time and not all: for example not relevant to plot Von Mises stress and equivalent strain at the same time, or as well initial time step and final one - in other word, only what you need is "uploaded" through something like import "myhdf5\dataset129" (is slicing will be possible?) - each dataset is built following gmsh format - *as many import as necessary* will be done due to different dataset sizes: one per element type (triangles, quads, tets, hex, wedges, and so on) - 1 dataset per element = elements ordering might be a limitation I think (speed down), except if it can be anticipated - if slicing not possible, well data must be duplicated (higher file size), but fast reading in practice - and so on I've been using hdf5 files for some time, and it's now an essential part of my data management: I'm sure gmsh will take huge advantages to integrate it. I'll be happy to discuss further about it Thanks to gmsh team for their works Paul -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Sun Mar 22 19:16:02 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 22 Mar 2020 19:16:02 +0100 Subject: [Gmsh] Hdf5 files and gmsh In-Reply-To: References: Message-ID: > On 22 Mar 2020, at 16:50, paul francedixhuit wrote: > > Hi All > > Recently I found interesting discussions about hdf5 and gmsh (see https://gitlab.onelab.info/gmsh/gmsh/issues/552). On my side I had to look to xmdf format 2 years ago that seemed to be interesting to my applications (mechanical engineering). Finally I gave up because of difficulties and xdmf developments not really active. > > I'm using hdf5 files through h5py Python library to deal with huge amount of data, in either static conditions or transitory ones. > > In the meantime gmsh team has developed the format 4.1 and I've to dig into it; I saw about Python API and I'm not familiar with, but not sure that's I'm looking for. In my opinion it'll be very useful and powerful to be able to import datasets from hdf5 files directly from the gmsh native file, especially for post-processing purposes; let me developing: > - by import I mean calling, not intending to write it in an ascii format; similar to "h5.get" for people who are familiar to h5py library The Gmsh Python API is one way to go here: it allows you to both get and set the mesh and post-processing data, so you could easily use the data store of your choice, e.g. HDF5 through h5py. > - I'm not speaking about HPC modelings where huge meshes and models can be post-processed using dozens or hundreds of cores, but about a common PC or a working station having limited resources compared to HPC servers, > - When working on models having a million of 2nd order elements, and dozens of time steps, dealing with different variables (up to 3 displacement components, up to 6 for the stress ones, and so on), all results cannot be loaded in a single native .pos file due to obvious computing limitations > You shouldn't indeed use parsed .pos files. But you can clearly use .msh files, which can contain post-processing data and have nice features for very large datasets: - the mesh can be stored in one or more files - post-processing data can be stored along with the mesh, or separately - each step (e.g. time step) in a multi-step post-processing view can be stored in a separate file - moreover, each step can be split into arbitrary partitions, each in a separate file Hope this helps, Christophe > While using hdf5 in native gmsh file, I've been thinking it may answer to this because: > - hdf5 files are optimized for I/O in terms of speed and memory; for example only datasets you need are loaded and not the entire file: it's fast accordingly > - data can be compressed in hdf5 file > - a dataset is a block of data (typically a matrix) > - in practice in gmsh, only some data are plotted at the same time and not all: for example not relevant to plot Von Mises stress and equivalent strain at the same time, or as well initial time step and final one > - in other word, only what you need is "uploaded" through something like import "myhdf5\dataset129" (is slicing will be possible?) > - each dataset is built following gmsh format > - as many import as necessary will be done due to different dataset sizes: one per element type (triangles, quads, tets, hex, wedges, and so on) > - 1 dataset per element = elements ordering might be a limitation I think (speed down), except if it can be anticipated > - if slicing not possible, well data must be duplicated (higher file size), but fast reading in practice > - and so on > > I've been using hdf5 files for some time, and it's now an essential part of my data management: I'm sure gmsh will take huge advantages to integrate it. > > I'll be happy to discuss further about it > > Thanks to gmsh team for their works > > Paul > > _______________________________________________ > 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 From xssun10 at gmail.com Mon Mar 23 22:27:38 2020 From: xssun10 at gmail.com (Xingsheng Sun) Date: Mon, 23 Mar 2020 14:27:38 -0700 Subject: [Gmsh] Save all nodes but not 2D shell meshes in the physical surfaces Message-ID: Hi All, I am using Transfinite commend to generate 3D hex meshes. Now I want to save all the 3D meshes, and only the nodes, but NOT the 2D shell meshes, in the predefined physical surfaces. I used "Mesh.SaveGroupsOfNodes = 1", but the 2D shell meshes are always in the output file. Could any people tell me how to resolve the problem? Thanks in advance. Best, Xingsheng -------------- next part -------------- An HTML attachment was scrubbed... URL: From xssun10 at gmail.com Mon Mar 23 22:51:32 2020 From: xssun10 at gmail.com (Xingsheng Sun) Date: Mon, 23 Mar 2020 14:51:32 -0700 Subject: [Gmsh] Save all nodes but not 2D shell meshes in the physical surfaces In-Reply-To: References: Message-ID: The output file is in the key format. On Mon, Mar 23, 2020 at 2:27 PM Xingsheng Sun wrote: > Hi All, > > I am using Transfinite commend to generate 3D hex meshes. Now I want to > save all the 3D meshes, and only the nodes, but NOT the 2D shell meshes, in > the predefined physical surfaces. I used "Mesh.SaveGroupsOfNodes = 1", but > the 2D shell meshes are always in the output file. Could any people tell me > how to resolve the problem? Thanks in advance. > > Best, > Xingsheng > -------------- next part -------------- An HTML attachment was scrubbed... URL: From randalandress1507 at comcast.net Tue Mar 24 05:33:54 2020 From: randalandress1507 at comcast.net (Andress) Date: Mon, 23 Mar 2020 23:33:54 -0500 Subject: [Gmsh] How to set MSH file format to 2 Message-ID: <509B14AA69DF432E89FD58C5931A4278@KarenPC> Is it possible to set MSH file format to 2 as an option for the later versions (4.5.4) of Gmsh, so that when the .msh is saved from the GUI, it will produce MSH2 instead of MSH4 ascii files? Kind regards, Randal From cgeuzaine at uliege.be Tue Mar 24 08:03:28 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 24 Mar 2020 08:03:28 +0100 Subject: [Gmsh] How to set MSH file format to 2 In-Reply-To: <509B14AA69DF432E89FD58C5931A4278@KarenPC> References: <509B14AA69DF432E89FD58C5931A4278@KarenPC> Message-ID: <8C817BF0-BA1E-42E8-BE9D-BE0B3CB8A9BA@uliege.be> > On 24 Mar 2020, at 05:33, Andress wrote: > > Is it possible to set MSH file format to 2 as an option for the later versions (4.5.4) of Gmsh, so that when the .msh is saved from the GUI, it will produce MSH2 instead of MSH4 ascii files? > Sure. With the GUI, select File->Export, enter a .msh filename, then select the format you want in the dropdown menu. Then use File->Save Options as Default. This will save your options in ~/.gmsh-options. See also FAQ 17 in http://gmsh.info/doc/texinfo/gmsh.html#Mesh-module-questions: ``` How can I save a mesh file with a given (e.g. older) MSH file format version? ? In the GUI: open ?File->Export?, enter your filename.msh and then pick the version in the dropdown menu. ? On the command line: use the -format option (e.g. gmsh file.geo -format msh2 -2). ? In a .geo script: add the line Mesh.MshFileVersion = x.y; for any version number x.y. You can also save this in your default options. ? In the API: gmsh::option::setNumber("Mesh.MshFileVersion", x.y). As an alternative method, you can also not specify the format explicitly, and just choose a filename with the .msh2 or .msh4 extension. ``` Christophe > Kind regards, > Randal > > _______________________________________________ > 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 From cgeuzaine at uliege.be Tue Mar 24 08:28:36 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 24 Mar 2020 08:28:36 +0100 Subject: [Gmsh] Save all nodes but not 2D shell meshes in the physical surfaces In-Reply-To: References: Message-ID: <3BE60293-90FE-4A67-A9A1-0CAFC66E0FE5@uliege.be> > On 23 Mar 2020, at 22:51, Xingsheng Sun wrote: > > The output file is in the key format. > > On Mon, Mar 23, 2020 at 2:27 PM Xingsheng Sun wrote: > Hi All, > > I am using Transfinite commend to generate 3D hex meshes. Now I want to save all the 3D meshes, and only the nodes, but NOT the 2D shell meshes, in the predefined physical surfaces. I used "Mesh.SaveGroupsOfNodes = 1", but the 2D shell meshes are always in the output file. Could any people tell me how to resolve the problem? Thanks in advance. > The KEY format exporter has a couple of undocumented features. They will probably be modified in the future, but for now you can set Mesh.SaveAll = 32; in your script to disable the saving of 2D element sets. Christophe > Best, > Xingsheng > _______________________________________________ > 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 From silvia.ceccacci at hdr.mq.edu.au Tue Mar 24 08:07:40 2020 From: silvia.ceccacci at hdr.mq.edu.au (Silvia Ceccacci (HDR)) Date: Tue, 24 Mar 2020 07:07:40 +0000 Subject: [Gmsh] Increase number of nodes Message-ID: Dear all, You can find attached the mesh I am working on (sphere.png). Is it possible to increase the number of nodes of the mesh (manually)? In particular, around the inner sphere (which seems to be not as well defined as the outer one)? Thank you. Kind regards, Silvia -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: sphere.png Type: image/png Size: 253546 bytes Desc: sphere.png URL: From cgeuzaine at uliege.be Tue Mar 24 10:50:00 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 24 Mar 2020 10:50:00 +0100 Subject: [Gmsh] Increase number of nodes In-Reply-To: References: Message-ID: <3B8DC5F1-CA20-4AEA-B767-B6297EB7B31E@uliege.be> > On 24 Mar 2020, at 08:07, Silvia Ceccacci (HDR) wrote: > > Dear all, > > You can find attached the mesh I am working on (sphere.png). Is it possible to increase the number of nodes of the mesh (manually)? In particular, around the inner sphere (which seems to be not as well defined as the outer one)? > Of course: see http://gmsh.info/doc/texinfo/gmsh.html#Specifying-mesh-element-sizes In your case you could e.g. do Characteristic Length{ PointsOf{ Volume{1}; } } = 0.1; Characteristic Length{ PointsOf{ Volume{2}; } } = 0.01; I would recommend looking at the documentation and the numerous examples (in particular the tutorials) before sending questions to the mailing list. Christophe > Thank you. > > Kind regards, > Silvia > > > _______________________________________________ > 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 From randalandress1507 at comcast.net Tue Mar 24 18:02:32 2020 From: randalandress1507 at comcast.net (Andress) Date: Tue, 24 Mar 2020 12:02:32 -0500 Subject: [Gmsh] How to set MSH file format to 2 In-Reply-To: <8C817BF0-BA1E-42E8-BE9D-BE0B3CB8A9BA@uliege.be> References: <509B14AA69DF432E89FD58C5931A4278@KarenPC> <8C817BF0-BA1E-42E8-BE9D-BE0B3CB8A9BA@uliege.be> Message-ID: <896266060E45405FBA7509C24D83E7BC@KarenPC> Christophe , Many thanks! I suppose I should read all the FAQ :-( Kind regards, Randal -----Original Message----- From: Christophe Geuzaine Sent: Tuesday, March 24, 2020 2:03 AM To: Andress Cc: Gmsh Subject: Re: [Gmsh] How to set MSH file format to 2 > On 24 Mar 2020, at 05:33, Andress wrote: > > Is it possible to set MSH file format to 2 as an option for the later > versions (4.5.4) of Gmsh, so that when the .msh is saved from the GUI, it > will produce MSH2 instead of MSH4 ascii files? > Sure. With the GUI, select File->Export, enter a .msh filename, then select the format you want in the dropdown menu. Then use File->Save Options as Default. This will save your options in ~/.gmsh-options. See also FAQ 17 in http://gmsh.info/doc/texinfo/gmsh.html#Mesh-module-questions: ``` How can I save a mesh file with a given (e.g. older) MSH file format version? ? In the GUI: open ?File->Export?, enter your filename.msh and then pick the version in the dropdown menu. ? On the command line: use the -format option (e.g. gmsh file.geo -format msh2 -2). ? In a .geo script: add the line Mesh.MshFileVersion = x.y; for any version number x.y. You can also save this in your default options. ? In the API: gmsh::option::setNumber("Mesh.MshFileVersion", x.y). As an alternative method, you can also not specify the format explicitly, and just choose a filename with the .msh2 or .msh4 extension. ``` Christophe > Kind regards, > Randal > > _______________________________________________ > 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 From paul18fr at gmail.com Wed Mar 25 15:23:09 2020 From: paul18fr at gmail.com (paul francedixhuit) Date: Wed, 25 Mar 2020 15:23:09 +0100 Subject: [Gmsh] Python API (with Anaconda) Message-ID: Hi All >From scracth, I'm trying to use the gmsh Python API under Anaconda + spyder; I downloaded and installed the latest gmsh SDK release. Wherever I did (export PYTHONPATH in the .bashrc file or path explicitly added in the python file, even running the API in commandline), I got the same following error. Is the mistake coming from my configuration? is the trouble coming from the Anaconda Python release? anything else? Thanks for any advice Paul ## add in the "t1.py" file import sys sys.path.append('/opt/gmsh_dev/lib') import gmsh ## Gmsh error File "/home/paul/Gmsh/tutos/t1.py", line 13, in gmsh.initialize() File "/home/paul/Gmsh/tutos/gmsh.py", line 197, in initialize lib.gmshInitialize( File "/opt/anaconda3/lib/python3.6/ctypes/__init__.py", line 361, in __getattr__ func = self.__getitem__(name) File "/opt/anaconda3/lib/python3.6/ctypes/__init__.py", line 366, in __getitem__ func = self._FuncPtr((name_or_ordinal, self)) AttributeError: /opt/anaconda3/bin/python: undefined symbol: gmshInitialize -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul18fr at gmail.com Wed Mar 25 16:48:36 2020 From: paul18fr at gmail.com (paul francedixhuit) Date: Wed, 25 Mar 2020 16:48:36 +0100 Subject: [Gmsh] Python API (with Anaconda) In-Reply-To: References: Message-ID: In fact a copy of the "gmsh.py" file was remaining in the working directory and not pointing to the /lib one (a mistake); after removing it, now it works fine using Spyder as described in my previous post; this way allows me to run the API directly from Spyder. Paul Le mer. 25 mars 2020 ? 15:23, paul francedixhuit a ?crit : > Hi All > > From scracth, I'm trying to use the gmsh Python API under Anaconda + > spyder; I downloaded and installed the latest gmsh SDK release. > > Wherever I did (export PYTHONPATH in the .bashrc file or path > explicitly added in the python file, even running the API in commandline), > I got the same following error. > > Is the mistake coming from my configuration? is the trouble coming from > the Anaconda Python release? anything else? > > Thanks for any advice > > Paul > > ## add in the "t1.py" file > import sys > sys.path.append('/opt/gmsh_dev/lib') > import gmsh > > ## Gmsh error > File "/home/paul/Gmsh/tutos/t1.py", line 13, in > gmsh.initialize() > > File "/home/paul/Gmsh/tutos/gmsh.py", line 197, in initialize > lib.gmshInitialize( > > File "/opt/anaconda3/lib/python3.6/ctypes/__init__.py", line 361, in > __getattr__ > func = self.__getitem__(name) > > File "/opt/anaconda3/lib/python3.6/ctypes/__init__.py", line 366, in > __getitem__ > func = self._FuncPtr((name_or_ordinal, self)) > > AttributeError: /opt/anaconda3/bin/python: undefined symbol: gmshInitialize > -------------- next part -------------- An HTML attachment was scrubbed... URL: From m.bento at usp.br Wed Mar 25 20:46:34 2020 From: m.bento at usp.br (Murilo Henrique Campana Bento) Date: Wed, 25 Mar 2020 16:46:34 -0300 Subject: [Gmsh] Structured grid for triangular domains Message-ID: Hi everyone, I am trying to create a structured mesh for a simple triangular domain. However, the generated mesh is not the one I expected. The input script (geo) I am using is the following. " Point(1) = {0.0, 0.0, 0.0, 1.0}; Point(2) = {1.0, 0.0, 0.0, 1.0}; Point(3) = {1.0, 1.0, 0.0, 1.0}; Line(1) = {1, 2}; Line(2) = {2, 3}; Line(3) = {3, 1}; Line Loop(1) = {1, 2, 3}; Plane Surface(1) = {1}; Transfinite Line {1, 2, 3} = 5; Transfinite Surface {1} Right; " The mesh I am obtaining is illustrated in Fig01. The mesh I would expect to obtain is one similar to that presented in Fig02 (with little right triangles). Thank you all for your help! Best regards, Murilo Bento -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Fig01.png Type: image/png Size: 16911 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Fig02.png Type: image/png Size: 12581 bytes Desc: not available URL: From alessandro.vicini at sitael.com Thu Mar 26 15:22:14 2020 From: alessandro.vicini at sitael.com (Vicini Alessandro) Date: Thu, 26 Mar 2020 14:22:14 +0000 Subject: [Gmsh] gmsh and guacamole Message-ID: Premise: I don't know if this problem is directly related with gmsh or not. When I remotely access my office pc using guacamole (these are times of smart working) and I try to launch gmsh, I get the error ''LoadLibrary failed with error 87: parameter not correct''. Any hint? Thank you. Alessandro From tobias.lichti at itwm.fraunhofer.de Fri Mar 27 11:21:24 2020 From: tobias.lichti at itwm.fraunhofer.de (Tobias Lichti Fraunhofer ITWM) Date: Fri, 27 Mar 2020 11:21:24 +0100 Subject: [Gmsh] Question regarding values of boundingBox and General.MaxX/Y/Z and Geometry.Tolerance Message-ID: <20200327112124.EGroupware.dWRpR7z1jsL6w0GkjOyOkTH@_> Hello all, I have a question regarding the values of above variables/function output. If my model is a cube of e.g. [Xmin , Ymin , Zmin , Xmax , Ymax , Zmax] = [0,0,0,5,5,5] and I calculate the boundingBox of the model I will obtain [0-1e-7 , 0-1e-7 , 0-1e-7 , 5+1e-7 , 5+1e-7 , 5+1e-7]. The variables General.MinX/Y/Z and General.MaxX/Y/Z as well have an offset of 1e-7. This offset seems to be independent from Geometry.Tolerance. Can anyone tell me how the offset can be controlled or how it is defined? I am also grateful for every hint about how is the best way to get the exact bounding box of the model. Best regards and thanks in advance! Tobias -- Tobias Lichti Fraunhofer-Platz 1, 67663 Kaiserslautern, Germany Telefon: +49 631 31600-4974, Fax: +49 631 31600-5974 mailto: tobias.lichti at itwm.fraunhofer.de www.itwm.fraunhofer.de From szacarias at ikp.tu-darmstadt.de Sun Mar 29 12:24:30 2020 From: szacarias at ikp.tu-darmstadt.de (Sabrina Zacarias) Date: Sun, 29 Mar 2020 12:24:30 +0200 Subject: [Gmsh] Mesh error Message-ID: <55D82849-D002-41B4-9905-F2AC8712BC63@ikp.tu-darmstadt.de> Dear all, I am a bit confused with the output of the meshing of my model and would really appreciate a piece of advise: My geometry consists of an axial section of a cylinder (which plays the role of the air surrounding my model ) containing several (sections of) rings, which are electrodes, plus two (sections of ) disks, which are the cathode and anode. The fact that these are sections and not complete cylindrical pieces is to make the meshing faster. And the post processing software can handle it. Anyway, In the real model I need to use ~200 electrodes. So far I have not been able to achieve a mesh without errors. I get ?Unable to recover the edge XX on curve XX (on surface XX )?, and also ?No elements in volume XX?. What I find confusing is that when I reduce the number of electrodes x10 lower, without changing anything else, the meshing is correct. I am obviously missing something or not approaching the problem the right way. I attach the .geo files if someone could please take a look. Best regards, Sabrina ? Sabrina Zacarias Institut f?r Kernphysik Technische Universit?t Darmstadt S2|14 / office 319 Schlossgartenstr. 9 64289 Darmstadt Office: +49 6151 16 23589 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 3d_main.geo Type: application/octet-stream Size: 4593 bytes Desc: not available URL: -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: f_box.geo Type: application/octet-stream Size: 2261 bytes Desc: not available URL: -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: f_electrode.geo Type: application/octet-stream Size: 12900 bytes Desc: not available URL: -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: f_plates.geo Type: application/octet-stream Size: 3431 bytes Desc: not available URL: -------------- next part -------------- An HTML attachment was scrubbed... URL: From gupta.aggraj at gmail.com Sun Mar 29 16:17:13 2020 From: gupta.aggraj at gmail.com (Aggraj Gupta) Date: Sun, 29 Mar 2020 19:47:13 +0530 Subject: [Gmsh] 3D meshing gmsh Message-ID: Hi , I am new to gmsh software. I am using the software for meshing the sphere within the cube. I have attached the file below. As will be understood from the geo file that I have first created a cube and then made a sphere inside it. I did not delete volume as size of the sphere within the cube. I am giving two different material property to the cube as well as the sphere. Will it create a problem in this case? (as I am not getting my FEM results correctly!). If yes, can you please help me how to create the desired geometry so that it can get meshed in properly. I will be thankful to you if you could please pull me out of this. Looking forward for your reply. Thanks Regards, Aggraj Gupta*,* Research Scholar | Electrical Engineering, Indian Institute of Technology Madras (M) +91 8427789957 <+91%2094440%2005772> | (P) +91 7376265173 <+91%2094447%2011865> -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: sphere_cube.geo Type: application/octet-stream Size: 2013 bytes Desc: not available URL: From cgeuzaine at uliege.be Sun Mar 29 22:28:03 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 29 Mar 2020 22:28:03 +0200 Subject: [Gmsh] Mesh error In-Reply-To: <55D82849-D002-41B4-9905-F2AC8712BC63@ikp.tu-darmstadt.de> References: <55D82849-D002-41B4-9905-F2AC8712BC63@ikp.tu-darmstadt.de> Message-ID: > On 29 Mar 2020, at 12:24, Sabrina Zacarias wrote: > > Dear all, > > I am a bit confused with the output of the meshing of my model and would really appreciate a piece of advise: > > My geometry consists of an axial section of a cylinder (which plays the role of the air surrounding my model ) containing several (sections of) rings, which are electrodes, plus two (sections of ) disks, which are the cathode and anode. The fact that these are sections and not complete cylindrical pieces is to make the meshing faster. And the post processing software can handle it. > > Anyway, In the real model I need to use ~200 electrodes. So far I have not been able to achieve a mesh without errors. I get ?Unable to recover the edge XX on curve XX (on surface XX )?, and also ?No elements in volume XX?. > With Nel = 200 your geometry is invalid (it auto-intersects), whereas with Nel = 20 it is correct. Christophe > What I find confusing is that when I reduce the number of electrodes x10 lower, without changing anything else, the meshing is correct. > > I am obviously missing something or not approaching the problem the right way. I attach the .geo files if someone could please take a look. > > Best regards, > > Sabrina > > <3d_main.geo> > > > > > ? > Sabrina Zacarias > Institut f?r Kernphysik > Technische Universit?t Darmstadt > S2|14 / office 319 > Schlossgartenstr. 9 > > 64289 Darmstadt > > Office: +49 6151 16 23589 > > _______________________________________________ > 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: intersect.png Type: image/png Size: 40110 bytes Desc: not available URL: From cgeuzaine at uliege.be Sun Mar 29 22:33:15 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 29 Mar 2020 22:33:15 +0200 Subject: [Gmsh] Question regarding values of boundingBox and General.MaxX/Y/Z and Geometry.Tolerance In-Reply-To: <20200327112124.EGroupware.dWRpR7z1jsL6w0GkjOyOkTH@_> References: <20200327112124.EGroupware.dWRpR7z1jsL6w0GkjOyOkTH@_> Message-ID: <317C1F20-1512-4C81-BFDD-7D4FC8A5BB73@uliege.be> > On 27 Mar 2020, at 11:21, Tobias Lichti Fraunhofer ITWM wrote: > > Hello all, > > I have a question regarding the values of above variables/function output. > > If my model is a cube of e.g. [Xmin , Ymin , Zmin , Xmax , Ymax , Zmax] = [0,0,0,5,5,5] and I calculate the boundingBox of the model I will obtain [0-1e-7 , 0-1e-7 , 0-1e-7 , 5+1e-7 , 5+1e-7 , 5+1e-7]. > The variables General.MinX/Y/Z and General.MaxX/Y/Z as well have an offset of 1e-7. > > This offset seems to be independent from Geometry.Tolerance. Indeed, this is the internal tolerance of OpenCASCADE. To be on the safe side, OCC always adds this tolerance to its bounding boxes. Moreover, OCC bounding boxes are not guaranteed to be tight - they are sometimes actually completely unusable because they are much larger than the actual geometry. To mitigate this issue, the latest development snapshot introduces a new option: "Geometry.OCCBoundsUseStl". If you set it to 1, the bounding boxes of OCC shapes are computed using to the STL mesh. They might be too small compared to the true shape (for curved surfaces), but this way you can at least choose your poison ;-) See e.g. https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/tutorial/t18.geo for an example. Christophe > > Can anyone tell me how the offset can be controlled or how it is defined? > I am also grateful for every hint about how is the best way to get the exact bounding box of the model. > > Best regards and thanks in advance! > Tobias > > > > -- > Tobias Lichti > Fraunhofer-Platz 1, 67663 Kaiserslautern, Germany > Telefon: +49 631 31600-4974, Fax: +49 631 31600-5974 > mailto: tobias.lichti at itwm.fraunhofer.de > www.itwm.fraunhofer.de > > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Sun Mar 29 22:36:15 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 29 Mar 2020 22:36:15 +0200 Subject: [Gmsh] 3D meshing gmsh In-Reply-To: References: Message-ID: <94D8E485-183B-43C6-B585-2A9E0EA07A6A@uliege.be> > On 29 Mar 2020, at 16:17, Aggraj Gupta wrote: > > Hi , > I am new to gmsh software. I am using the software for meshing the sphere within the cube. I have attached the file below. As will be understood from the geo file that I have first created a cube and then made a sphere inside it. I did not delete volume as size of the sphere within the cube. I am giving two different material property to the cube as well as the sphere. Will it create a problem in this case? (as I am not getting my FEM results correctly!). If yes, can you please help me how to create the desired geometry so that it can get meshed in properly. I will be thankful to you if you could please pull me out of this. Looking forward for your reply. > Your second volume has a hole, and should thus be defined using two surface loops. I recommend reading the tutorials before sending questions to the list. Christophe -------------- next part -------------- A non-text attachment was scrubbed... Name: sphere_cube_fix.geo Type: application/octet-stream Size: 2018 bytes Desc: not available URL: -------------- next part -------------- > Thanks > > > Regards, > Aggraj Gupta, > Research Scholar | Electrical Engineering, > Indian Institute of Technology Madras > (M) +91 8427789957 | (P) +91 7376265173 > > _______________________________________________ > 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 From gupta.aggraj at gmail.com Mon Mar 30 07:08:06 2020 From: gupta.aggraj at gmail.com (Aggraj Gupta) Date: Mon, 30 Mar 2020 10:38:06 +0530 Subject: [Gmsh] 3D meshing gmsh In-Reply-To: <94D8E485-183B-43C6-B585-2A9E0EA07A6A@uliege.be> References: <94D8E485-183B-43C6-B585-2A9E0EA07A6A@uliege.be> Message-ID: Thank you for the clarification. Regards, Aggraj Gupta*,* Research Scholar | Electrical Engineering, Indian Institute of Technology Madras (M) +91 8427789957 <+91%2094440%2005772> | (P) +91 7376265173 <+91%2094447%2011865> On Mon, Mar 30, 2020 at 2:06 AM Christophe Geuzaine wrote: > > > > On 29 Mar 2020, at 16:17, Aggraj Gupta wrote: > > > > Hi , > > I am new to gmsh software. I am using the software for meshing the > sphere within the cube. I have attached the file below. As will be > understood from the geo file that I have first created a cube and then made > a sphere inside it. I did not delete volume as size of the sphere within > the cube. I am giving two different material property to the cube as well > as the sphere. Will it create a problem in this case? (as I am not getting > my FEM results correctly!). If yes, can you please help me how to create > the desired geometry so that it can get meshed in properly. I will be > thankful to you if you could please pull me out of this. Looking forward > for your reply. > > > > Your second volume has a hole, and should thus be defined using two > surface loops. > > I recommend reading the tutorials before sending questions to the list. > > Christophe > > > > > Thanks > > > > > > Regards, > > Aggraj Gupta, > > Research Scholar | Electrical Engineering, > > Indian Institute of Technology Madras > > (M) +91 8427789957 | (P) +91 7376265173 > > > > _______________________________________________ > > 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 > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From julian.henneberg at googlemail.com Mon Mar 30 12:57:06 2020 From: julian.henneberg at googlemail.com (Julian) Date: Mon, 30 Mar 2020 12:57:06 +0200 Subject: [Gmsh] Variable thickness surface Message-ID: Hello, I am using gmsh for modelling 2D components and I am trying to find out how I can set a thickness to the plate/shell elements. First I was thinking about assigning regions of different thicknesses to different physical groups but by this approach I can specify only a constant value which is not what I need. According to this conversation from the mailing list it should be possible. > > Hi Mathieu, > Have a look at the Gmsh Tutorial 7: > http://geuz.org/gmsh/doc/texinfo/gmsh.html#t7_002egeo > HTH > Ruth > Dr. Ir. Ruth V. Sabariego > University of Liege, Electrical Engineering & Computer Science, > Applied & Computational Electromagnetics (ACE), > phone: +32-4-3663737 - fax: +32-4-3662910 - > http://ace.montefiore.ulg.ac.be/ On 13 Oct 2011, at 12:27, Mathieu ARQUIER wrote: > > Hello, > > First of all, thank you very much for developing GMSH !!! I used it for > several years now as pre-processor to create meshes for my structural > calculation software and it works very well :). > Now, I want to go further and would like to create variable thickness > shell elements. So, I was wondering if there is a way to interpolate a > scalar field inside a 2D meshed surfaced (i.e. the thickness) ? Basically, > I want to define a surface with a variable thickness (let's say I know the > value at some nodes of its border), and, once the meshing has been done, I > want to retrieve the value of the interpolated thickness at each new > created nodes inside the surface in order to define variable thickness > shell elements. > Do you see any way to do so ? > Thank you in advance ! > > Best regards, > > Mathieu ARQUIER > Structural Engineer > mathieu.arquier at gmail.com > I checked the tutorial 7 he referred to. In my opionion this examples controls the size of the elements by using a *.pos file and not controlling the thickness. So my question is how I can assign a thickness for example to a rectangle area as a linear function from 1 to 10 in x-direction and constant in y-direction? Best regards Julian -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul18fr at gmail.com Mon Mar 30 16:51:27 2020 From: paul18fr at gmail.com (paul francedixhuit) Date: Mon, 30 Mar 2020 16:51:27 +0200 Subject: [Gmsh] Questions on 4.1 format Message-ID: Hi All I'm currently having a look to the new 4.1 gmsh format. Compared to the previous 2.2 legacy one: - I guess *$Nodes* and *$Elements* for example use now blocs (or it has been splitted in blocs) in order to take advantages of parallelization, hasn't it? - *$Entities* and *$PhysicalNames* are used to define specific groups of elements to apply on specific features (typically sub-parts) Nonetheless concerning *$NodeData* (and *$ElementNodeData*), I've not tested it so far but I feel the structure remains identical to the 2.2 one: am I right? if so I can imagine improvements will be provided in a next future, won't be? The next steps will be to use it through the Python API ? Bye Paul -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Mon Mar 30 19:07:13 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 30 Mar 2020 19:07:13 +0200 Subject: [Gmsh] Questions on 4.1 format In-Reply-To: References: Message-ID: <7E12B6B8-1180-4EEB-AB01-25BA2FD5D7F8@uliege.be> > On 30 Mar 2020, at 16:51, paul francedixhuit wrote: > > Hi All > I'm currently having a look to the new 4.1 gmsh format. > > Compared to the previous 2.2 legacy one: > ? I guess $Nodes and $Elements for example use now blocs (or it has been splitted in blocs) in order to take advantages of parallelization, hasn't it? It allows that, yes. It also allows for much more efficient reading from/writing to disk. But more fundamentally, the new format reflects the underlying Gmsh data model (http://gmsh.info/doc/texinfo/gmsh.html#Gmsh-API), and it contains all the information needed by Gmsh to save/reload a model without information loss. > ? $Entities and $PhysicalNames are used to define specific groups of elements to apply on specific features (typically sub-parts) Entities contain the underlying (topological) boundary representation of the Gmsh model. Physical groups are just groups of entities. They are defined even without a mesh. Mesh nodes/elements are stored in the model entities. Note that the only two fields that are necessary in a simple MSH file are $Nodes and $Elements. All the rest is useful for Gmsh - but can be omitted by other codes if they don't need the additional topological model information. > Nonetheless concerning $NodeData (and $ElementNodeData), I've not tested it so far but I feel the structure remains identical to the 2.2 one: am I right? if so I can imagine improvements will be provided in a next future, won't be? > Yes indeed. See the end of the http://gmsh.info/doc/texinfo/gmsh.html#MSH-file-format section. > The next steps will be to use it through the Python API ? The Python tutorial is now on par with the GEO and C++ ones: https://gitlab.onelab.info/gmsh/gmsh/-/tree/master/tutorial New extended ("x") tutorials will be added in the near future to help new users with features that are only available through the API (and not in GEO files). Don't hesitate to contribute your feedback on https://gitlab.onelab.info/gmsh/gmsh/-/issues/795 : we will use it to track suggestions or corrections. Cheers, Christophe > > Bye > > Paul > _______________________________________________ > 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 From morok at mevex.com Mon Mar 30 18:24:37 2020 From: morok at mevex.com (Max Orok) Date: Mon, 30 Mar 2020 12:24:37 -0400 Subject: [Gmsh] Questions on 4.1 format In-Reply-To: References: Message-ID: Hi Paul, There's a discussion on the new format here that might be helpful: https://gitlab.onelab.info/gmsh/gmsh/-/issues/444 On Mon, Mar 30, 2020 at 11:02 AM paul francedixhuit wrote: > Hi All > I'm currently having a look to the new 4.1 gmsh format. > > Compared to the previous 2.2 legacy one: > > - I guess *$Nodes* and *$Elements* for example use now blocs (or it > has been splitted in blocs) in order to take advantages of parallelization, > hasn't it? > - *$Entities* and *$PhysicalNames* are used to define specific groups > of elements to apply on specific features (typically sub-parts) > > Nonetheless concerning *$NodeData* (and *$ElementNodeData*), I've not > tested it so far but I feel the structure remains identical to the 2.2 one: > am I right? if so I can imagine improvements will be provided in a next > future, won't be? > > The next steps will be to use it through the Python API ? > > Bye > > Paul > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul18fr at gmail.com Mon Mar 30 22:43:52 2020 From: paul18fr at gmail.com (paul francedixhuit) Date: Mon, 30 Mar 2020 22:43:52 +0200 Subject: [Gmsh] Questions on 4.1 format In-Reply-To: References: Message-ID: Thanks Max and Christophe for the answers; "Don't hesitate to contribute your feedback on https://gitlab.onelab.info/gmsh/gmsh/-/issues/795 : we will use it to track suggestions or corrections." -> I'll do Le lun. 30 mars 2020 ? 16:51, paul francedixhuit a ?crit : > Hi All > I'm currently having a look to the new 4.1 gmsh format. > > Compared to the previous 2.2 legacy one: > > - I guess *$Nodes* and *$Elements* for example use now blocs (or it > has been splitted in blocs) in order to take advantages of parallelization, > hasn't it? > - *$Entities* and *$PhysicalNames* are used to define specific groups > of elements to apply on specific features (typically sub-parts) > > Nonetheless concerning *$NodeData* (and *$ElementNodeData*), I've not > tested it so far but I feel the structure remains identical to the 2.2 one: > am I right? if so I can imagine improvements will be provided in a next > future, won't be? > > The next steps will be to use it through the Python API ? > > Bye > > Paul > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Jesse.Bucksot at utdallas.edu Tue Mar 31 00:15:57 2020 From: Jesse.Bucksot at utdallas.edu (Bucksot, Jesse Edward) Date: Mon, 30 Mar 2020 22:15:57 +0000 Subject: [Gmsh] Extrusion of one element that is split into multiple regions Message-ID: Hi all, I'm pretty new here. I've had good success with gmsh so far, but I just ran into an issue when extruding surfaces that have been split into multiple separate regions due to boolean operations. When I just do one extrude, it seems to come out right, but then if I try to label the extrusion (e.g. "Physical Volume("part") = {ex1[]};") or try to extrude again by extruding ex1[0], it only does one single part of the surface. Basically, if I take a rectangle and cut it into two smaller rectangles using BooleanDifference and then extrude it, the created extrusion (ex1[0],ex1[1]) only contains one of the smaller rectangles and not both of them. Does anyone have any solutions or workarounds to this? Also, my real geometry is pretty complicated, so I'm not sure how feasible it is for me to manually check for any instances of surfaces being split apart before extruding. Thanks in advance! Jesse -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: mesh.geo Type: application/octet-stream Size: 528 bytes Desc: mesh.geo URL: From cgeuzaine at uliege.be Tue Mar 31 12:08:05 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 31 Mar 2020 12:08:05 +0200 Subject: [Gmsh] Extrusion of one element that is split into multiple regions In-Reply-To: References: Message-ID: <4A4AF61D-F001-4697-8D28-19C5C3760D65@uliege.be> > On 31 Mar 2020, at 00:15, Bucksot, Jesse Edward wrote: > > Hi all, > > I?m pretty new here. I?ve had good success with gmsh so far, but I just ran into an issue when extruding surfaces that have been split into multiple separate regions due to boolean operations. When I just do one extrude, it seems to come out right, but then if I try to label the extrusion (e.g. ?Physical Volume("part") = {ex1[]};?) or try to extrude again by extruding ex1[0], it only does one single part of the surface. > Basically, if I take a rectangle and cut it into two smaller rectangles using BooleanDifference and then extrude it, the created extrusion (ex1[0],ex1[1]) only contains one of the smaller rectangles and not both of them. > > Does anyone have any solutions or workarounds to this? > Also, my real geometry is pretty complicated, so I?m not sure how feasible it is for me to manually check for any instances of surfaces being split apart before extruding. > To get something conformal you indeed need to extrude the different parts at the same time. Here's how I would do it: SetFactory("OpenCASCADE"); s2858 = news; Rectangle(s2858) = {-1, -1, 0, 2, 2}; s2859 = news; Rectangle(s2859) = {-0.1, -1, 0, 0.2, 2}; bo1[] = BooleanDifference{ Surface{s2858}; Delete; } { Surface{s2859}; }; If(0) // your code ex1[] = Extrude {0,0,1} {Surface{s2859}; Layers{1}; }; ex2[] = Extrude {0,0,1} {Surface{bo1[]}; Layers{1}; }; ex3[] = Extrude {0,0,1} {Surface{ex1[0]}; Layers{1}; }; ex4[] = Extrude {0,0,1} {Surface{ex2[0]}; Layers{1}; }; Physical Volume("tool") = {ex1[1], ex3[1]}; Physical Volume("cut") = {ex2[1], ex4[1]}; Else // new way ex1[] = Extrude {0,0,1} {Surface{s2859,bo1[]}; Layers{10}; }; ex2[] = Extrude {0,0,1} {Surface{ex1[0],ex1[6]}; Layers{10}; }; Physical Volume("tool") = {ex1[1], ex2[1]}; Physical Volume("cut") = {ex1[7], ex2[7]}; EndIf Christophe > > Thanks in advance! > Jesse > _______________________________________________ > 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 From paul18fr at gmail.com Tue Mar 31 11:59:17 2020 From: paul18fr at gmail.com (paul francedixhuit) Date: Tue, 31 Mar 2020 11:59:17 +0200 Subject: [Gmsh] Python API and Spyder Message-ID: Hi One would say this is not the "normal" use of the Gmsh API, but for my developments under Python, I'm always coding under Spyder IDE (and I would like to continue if possible). I've been noticing that when Gmsh GUI needs to be opened (t8.py case for example), then it becomes not possible to close it and it's necessary to close Spyder as well (of course it works fine in commande line). Can we imagine something like *gmsh.close*()? In addition as I've ever said in a previous post, Gmsh API can be used: 1. either by defining the PYTHONPATH as described in the doc (I've defined it in the .bashrc file) 2. either by explicitly implementing it at the beginning of the Python file (see sys.path.append) Find some screenshots in attachment Stay at home Paul -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: screenshot2.png Type: image/png Size: 172715 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: screenshot1.png Type: image/png Size: 207926 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: screenshot3.png Type: image/png Size: 215051 bytes Desc: not available URL: From carlosmcgfernandes at gmail.com Tue Mar 31 19:30:14 2020 From: carlosmcgfernandes at gmail.com (Carlos Fernandes) Date: Tue, 31 Mar 2020 18:30:14 +0100 Subject: [Gmsh] Problem meshing a spur gear Message-ID: Dear Gmsh community, I am Carlos from Portugal. I am working with Gmsh API in order to generate the geometry and automatically mesh spur and helical gears (with a structured mesh). To do so, I make use of setTransfiniteCurve which works perfectly for a 2D situation (see attachement 2D). However, when I extrude the geometry using extrude, one particular area on the tooth doesn't mesh properly (3D_wrong in attachment). The weird thing is, if I use any other gear geometry or even helical gears, the mesh works perfectly both on 2D and 3D. If someone could provide me some hint... Another tricky thing that I am facing is making a rotating pattern of the mesh already done. My ideia is to be able to generate the amount of gear teeth according with the type of simulation needs. In certain simulations I use 1 tooth, in others a variable number of tooth up to all the gear (360?). Is there a particular tool in Gmsh API that is efficient in perform this kind of pattern? Thank you all. Best regards, Carlos Fernandes -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 2D.png Type: image/png Size: 50557 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 3D_wrong.png Type: image/png Size: 125699 bytes Desc: not available URL: From cgeuzaine at uliege.be Wed Apr 1 11:30:59 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 1 Apr 2020 11:30:59 +0200 Subject: [Gmsh] Variable thickness surface In-Reply-To: References: Message-ID: > On 30 Mar 2020, at 12:57, Julian wrote: > > Hello, > > I am using gmsh for modelling 2D components and I am trying to find out how I can set a thickness to the plate/shell elements. First I was thinking about assigning regions of different thicknesses to different physical groups but by this approach I can specify only a constant value which is not what I need. > > According to this conversation from the mailing list it should be possible. > You can indeed interpolate a function on the 2D mesh; the API allows you to create a "post-processing view" for this quite easily (see e.g. demos/api/view.py). Christophe > Hi Mathieu, > Have a look at the Gmsh Tutorial 7: > http://geuz.org/gmsh/doc/texinfo/gmsh.html#t7_002egeo > HTH > Ruth > Dr. Ir. Ruth V. Sabariego > University of Liege, Electrical Engineering & Computer Science, > Applied & Computational Electromagnetics (ACE), > phone: +32-4-3663737 - fax: +32-4-3662910 - http://ace.montefiore.ulg.ac.be/ > > On 13 Oct 2011, at 12:27, Mathieu ARQUIER wrote: > > Hello, > > First of all, thank you very much for developing GMSH !!! I used it for several years now as pre-processor to create meshes for my structural calculation software and it works very well :). > Now, I want to go further and would like to create variable thickness shell elements. So, I was wondering if there is a way to interpolate a scalar field inside a 2D meshed surfaced (i.e. the thickness) ? Basically, I want to define a surface with a variable thickness (let's say I know the value at some nodes of its border), and, once the meshing has been done, I want to retrieve the value of the interpolated thickness at each new created nodes inside the surface in order to define variable thickness shell elements. > Do you see any way to do so ? > Thank you in advance ! > > Best regards, > > Mathieu ARQUIER > Structural Engineer > mathieu.arquier at gmail.com > > I checked the tutorial 7 he referred to. In my opionion this examples controls the size of the elements by using a *.pos file and not controlling the thickness. So my question is how I can assign a thickness for example to a rectangle area as a linear function from 1 to 10 in x-direction and constant in y-direction? > > Best regards > Julian > _______________________________________________ > 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 From cgeuzaine at uliege.be Wed Apr 1 11:32:52 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 1 Apr 2020 11:32:52 +0200 Subject: [Gmsh] Python API and Spyder In-Reply-To: References: Message-ID: <37F58805-5FC0-4709-B81A-1CC99659D3C1@uliege.be> > On 31 Mar 2020, at 11:59, paul francedixhuit wrote: > > Hi > > One would say this is not the "normal" use of the Gmsh API, but for my developments under Python, I'm always coding under Spyder IDE (and I would like to continue if possible). > > I've been noticing that when Gmsh GUI needs to be opened (t8.py case for example), then it becomes not possible to close it and it's necessary to close Spyder as well (of course it works fine in commande line). > > Can we imagine something like gmsh.close()? > > In addition as I've ever said in a previous post, Gmsh API can be used: > ? either by defining the PYTHONPATH as described in the doc (I've defined it in the .bashrc file) > ? either by explicitly implementing it at the beginning of the Python file (see sys.path.append) > Find some screenshots in attachment > When you call gmsh.fltk.run(), FLTK basically runs a while(1) loop waiting for graphical interface events. To break the loop simply close the Gmsh window. You can also run the event loop yourself in Python: don't call gmsh.fltk.run(), but gmsh.fltk.wait() each time to want to wait for an event. See demos/curstom_gui.py for a complete example. Christophe > Stay at home > > Paul > > _______________________________________________ > 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 From cgeuzaine at uliege.be Wed Apr 1 11:35:44 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 1 Apr 2020 11:35:44 +0200 Subject: [Gmsh] Problem meshing a spur gear In-Reply-To: References: Message-ID: > On 31 Mar 2020, at 19:30, Carlos Fernandes wrote: > > Dear Gmsh community, > > I am Carlos from Portugal. > > I am working with Gmsh API in order to generate the geometry and automatically mesh spur and helical gears (with a structured mesh). To do so, I make use of setTransfiniteCurve which works perfectly for a 2D situation (see attachement 2D). However, when I extrude the geometry using extrude, one particular area on the tooth doesn't mesh properly (3D_wrong in attachment). The weird thing is, if I use any other gear geometry or even helical gears, the mesh works perfectly both on 2D and 3D. If someone could provide me some hint... > > Another tricky thing that I am facing is making a rotating pattern of the mesh already done. My ideia is to be able to generate the amount of gear teeth according with the type of simulation needs. In certain simulations I use 1 tooth, in others a variable number of tooth up to all the gear (360?). Is there a particular tool in Gmsh API that is efficient in perform this kind of pattern? > In your second picture one can see that the middle-right surface has been split in 2 pieces: you will thus need to adapt the number of nodes on the two-part boundary of the middle surface to make sure that the number of nodes match on the left and right sides. And you will need to specify the corners of the transfinite interpolation manually, as the middle surface has more than 4 points on its boundary. See tutorial/python/t6.py for an example. Christophe > Thank you all. > > Best regards, > Carlos Fernandes > <2D.png><3D_wrong.png>_______________________________________________ > 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 From cgeuzaine at uliege.be Wed Apr 1 11:37:27 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 1 Apr 2020 11:37:27 +0200 Subject: [Gmsh] Structured grid for triangular domains In-Reply-To: References: Message-ID: <3F82777A-0DA3-4CCF-8322-A705C0E0CB16@uliege.be> > On 25 Mar 2020, at 20:46, Murilo Henrique Campana Bento wrote: > > Hi everyone, > > I am trying to create a structured mesh for a simple triangular domain. > However, the generated mesh is not the one I expected. > > The input script (geo) I am using is the following. > > " > Point(1) = {0.0, 0.0, 0.0, 1.0}; > Point(2) = {1.0, 0.0, 0.0, 1.0}; > Point(3) = {1.0, 1.0, 0.0, 1.0}; > > Line(1) = {1, 2}; > Line(2) = {2, 3}; > Line(3) = {3, 1}; > > Line Loop(1) = {1, 2, 3}; > Plane Surface(1) = {1}; > > Transfinite Line {1, 2, 3} = 5; > Transfinite Surface {1} Right; > " > > The mesh I am obtaining is illustrated in Fig01. > The mesh I would expect to obtain is one similar to that presented in Fig02 (with little right triangles). > Indeed, the transfinite algo does not have this decomposition coded. It should be quite easy to add though: look at Mesh/meshGFaceTransfinite.cpp. Don't hesitate to send a patch or a merge request with the code on our gitlab. Christophe > Thank you all for your help! > Best regards, > > Murilo Bento > _______________________________________________ > 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 From paul18fr at gmail.com Wed Apr 1 11:57:51 2020 From: paul18fr at gmail.com (paul francedixhuit) Date: Wed, 1 Apr 2020 11:57:51 +0200 Subject: [Gmsh] Python API and Spyder In-Reply-To: <37F58805-5FC0-4709-B81A-1CC99659D3C1@uliege.be> References: <37F58805-5FC0-4709-B81A-1CC99659D3C1@uliege.be> Message-ID: thanks for the answer, "To break the loop simply close the Gmsh window" as I said, I cannot close gmsh (cross or ctrl+q) and I need to close spyder so that gmsh finally closes itself; still trying to figure out why Paul Le mer. 1 avr. 2020 ? 11:32, Christophe Geuzaine a ?crit : > > > > On 31 Mar 2020, at 11:59, paul francedixhuit wrote: > > > > Hi > > > > One would say this is not the "normal" use of the Gmsh API, but for my > developments under Python, I'm always coding under Spyder IDE (and I would > like to continue if possible). > > > > I've been noticing that when Gmsh GUI needs to be opened (t8.py case for > example), then it becomes not possible to close it and it's necessary to > close Spyder as well (of course it works fine in commande line). > > > > Can we imagine something like gmsh.close()? > > > > In addition as I've ever said in a previous post, Gmsh API can be used: > > ? either by defining the PYTHONPATH as described in the doc (I've > defined it in the .bashrc file) > > ? either by explicitly implementing it at the beginning of the > Python file (see sys.path.append) > > Find some screenshots in attachment > > > > When you call gmsh.fltk.run(), FLTK basically runs a while(1) loop waiting > for graphical interface events. To break the loop simply close the Gmsh > window. > > You can also run the event loop yourself in Python: don't call > gmsh.fltk.run(), but gmsh.fltk.wait() each time to want to wait for an > event. See demos/curstom_gui.py for a complete example. > > Christophe > > > Stay at home > > > > Paul > > > > > _______________________________________________ > > 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 > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From razonkumarku at gmail.com Wed Apr 1 12:56:39 2020 From: razonkumarku at gmail.com (Razon kumar) Date: Wed, 1 Apr 2020 21:56:39 +1100 Subject: [Gmsh] Rotation of Surface in Gmsh Message-ID: Hi Gmsh Community, Hope you are doing well. I am quite new in Gmsh. I was trying to make a geometry as same in the attached picture. I am able to create both surfaces but was not able make an inclination of the upper surfaces. It can be a silly trick for someone who is well familiar with Gmsh environment. For more information please see the attached picture and geo file. I am kind of stacked here. I would be very grateful to you if I get the solution of that. Please suggest me what can be done to do that. I tried rotate option in the Gmsh but couldn't find any solution so far. Cheers,* Razon* -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Rotation.png Type: image/png Size: 6829 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Rotate.geo Type: application/octet-stream Size: 644 bytes Desc: not available URL: From cgeuzaine at uliege.be Wed Apr 1 15:27:41 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 1 Apr 2020 15:27:41 +0200 Subject: [Gmsh] Rotation of Surface in Gmsh In-Reply-To: References: Message-ID: <5AEEB12F-A110-4736-9889-D8C7C28CCF00@uliege.be> > On 1 Apr 2020, at 12:56, Razon kumar wrote: > > Hi Gmsh Community, > > Hope you are doing well. I am quite new in Gmsh. I was trying to make a geometry as same in the attached picture. I am able to create both surfaces but was not able make an inclination of the upper surfaces. It can be a silly trick for someone who is well familiar with Gmsh environment. > For more information please see the attached picture and geo file. I am kind of stacked here. I would be very grateful to you if I get the solution of that. Please suggest me what can be done to do that. I tried rotate option in the Gmsh but couldn't find any solution so far. Add Rotate{{0,0,1}, {0,2,5}, -Pi/3}{ Surface{2}; } Before the extrude command. I would advise to read the tutorials before sending questions to the list... Christophe > Cheers, > > Razon > > > _______________________________________________ > 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 From bruno.agostini at gmail.com Thu Apr 2 14:49:21 2020 From: bruno.agostini at gmail.com (Bruno) Date: Thu, 2 Apr 2020 14:49:21 +0200 Subject: [Gmsh] Could not recover boundary mesh: error 2 Message-ID: Dear Gmsh users, When importing and trying to 3D mesh a STL file I get the following error message: "Could not recover boundary mesh: error 2" But in gmsh output nothing seems to be wrong apart from this message (see attached log) . Therefore I can't figure out what the problem is. Any idea? Best regards Bruno Agostini -------------- next part -------------- A non-text attachment was scrubbed... Name: gmsh_error.log Type: text/x-log Size: 2023 bytes Desc: not available URL: From jean-francois.remacle at uclouvain.be Thu Apr 2 16:22:28 2020 From: jean-francois.remacle at uclouvain.be (=?utf-8?B?SmVhbi1GcmFuw6dvaXMgUmVtYWNsZQ==?=) Date: Thu, 2 Apr 2020 14:22:28 +0000 Subject: [Gmsh] Could not recover boundary mesh: error 2 In-Reply-To: References: Message-ID: <186B1135-7DBA-4E94-95A6-F37E1C28790D@uclouvain.be> It seems your model is so complicated we cannot recover the surface mesh in 3D JF > Le 2 avr. 2020 ? 14:49, Bruno a ?crit : > > Dear Gmsh users, > > When importing and trying to 3D mesh a STL file I get the following error message: > > "Could not recover boundary mesh: error 2" > > But in gmsh output nothing seems to be wrong apart from this message (see attached log) . > > Therefore I can't figure out what the problem is. Any idea? > > Best regards > > Bruno Agostini > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fonelab.info%2Fmailman%2Flistinfo%2Fgmsh&data=02%7C01%7Cjean-francois.remacle%40uclouvain.be%7C66a3759b9f7844bc6bbd08d7d70879a8%7C7ab090d4fa2e4ecfbc7c4127b4d582ec%7C0%7C0%7C637214303753872574&sdata=DQCLukFKCE5X4gywFraK7oIhtp8bHmjJqQ2JV84rzFU%3D&reserved=0 ------------------------------------------------------------------ Prof. Jean-Francois Remacle Universite catholique de Louvain (UCL) Ecole Polytechnique de Louvain (EPL) - Louvain School of Engineering Institute of Mechanics, Materials and Civil Engineering (iMMC) Center for Systems Engineering and Applied Mechanics (CESAME) Tel : +32-10-472352 -- Mobile : +32-473-909930 From ocastilloreyes at gmail.com Thu Apr 2 17:46:40 2020 From: ocastilloreyes at gmail.com (Octavio Castillo Reyes) Date: Thu, 2 Apr 2020 17:46:40 +0200 Subject: [Gmsh] geo from msh Message-ID: Dear gmsh users, I hope this question is not too obvious, in which case I apologize. I have received a .msh file that I must share as part of some experiments (especially to reproduce them), however, I do not want to share such a large file (200mb). the question is: is it possible to generate a .geo file (which I don't have access to) from a .msh file? thanks for your support O. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ocastilloreyes at gmail.com Sat Apr 4 12:32:08 2020 From: ocastilloreyes at gmail.com (Octavio Castillo Reyes) Date: Sat, 4 Apr 2020 12:32:08 +0200 Subject: [Gmsh] Help/advice with definition of mesh size Message-ID: Dear gmsh team and users, I would greatly appreciate your help in understanding / solving the construction of a mesh with gmsh. In the attached file you will find the definition of the geometry, which is made up of 8 volumes. What I want is to build a mesh with the following characteristics (if possible): For each volume get the element size: Mat1, Mat2, Mat3 = 50 Mat5, Mat6 = 500 Mat7, Mat8 = 2500 Note that Mat1, Mat2 and Mat3 are contained in Mat5 and Mat6., And these, in turn, are contained in Mat7. I have tried different configurations but have not been able to obtain an adequate morning size, which in some cases is over-refined or under-refined. Could someone from the community give me a tip or help? I would very much appreciate your comments Thanks in advance Best regards -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: mesh.geo Type: application/octet-stream Size: 22117 bytes Desc: not available URL: From cgeuzaine at uliege.be Sat Apr 4 14:10:23 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sat, 4 Apr 2020 14:10:23 +0200 Subject: [Gmsh] geo from msh In-Reply-To: References: Message-ID: <2734C54E-EC02-4FE3-8139-CF0F50AE41A0@uliege.be> > On 2 Apr 2020, at 17:46, Octavio Castillo Reyes wrote: > > Dear gmsh users, > > I hope this question is not too obvious, in which case I apologize. > > I have received a .msh file that I must share as part of some experiments (especially to reproduce them), however, I do not want to share such a large file (200mb). the question is: is it possible to generate a .geo file (which I don't have access to) from a .msh file? > You can't generate a .geo file. If your goal is to remesh the model, you could reparametrize the surface/curve mesh though - see tutorial/t13.geo. Christophe > thanks for your support > > O. > _______________________________________________ > 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 From cgeuzaine at uliege.be Sat Apr 4 14:04:21 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sat, 4 Apr 2020 14:04:21 +0200 Subject: [Gmsh] Help/advice with definition of mesh size In-Reply-To: References: Message-ID: <954512A3-C0A9-4DE4-AFCD-1F30941D11BB@uliege.be> > On 4 Apr 2020, at 12:32, Octavio Castillo Reyes wrote: > > Dear gmsh team and users, > > I would greatly appreciate your help in understanding / solving the construction of a mesh with gmsh. In the attached file you will find the definition of the geometry, which is made up of 8 volumes. What I want is to build a mesh with the following characteristics (if possible): > > For each volume get the element size: > Mat1, Mat2, Mat3 = 50 > Mat5, Mat6 = 500 > Mat7, Mat8 = 2500 > > Note that Mat1, Mat2 and Mat3 are contained in Mat5 and Mat6., And these, in turn, are contained in Mat7. I have tried different configurations but have not been able to obtain an adequate morning size, which in some cases is over-refined or under-refined. > > Could someone from the community give me a tip or help? I would very much appreciate your comments > I've played a bit with the constraints (see comments in the file) and the results seem OK: -------------- next part -------------- A non-text attachment was scrubbed... Name: mesh.geo Type: application/octet-stream Size: 22450 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ok.png Type: image/png Size: 335244 bytes Desc: not available URL: -------------- next part -------------- Christophe > Thanks in advance > > Best regards > _______________________________________________ > 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 From ocastilloreyes at gmail.com Sat Apr 4 18:02:05 2020 From: ocastilloreyes at gmail.com (Octavio Castillo Reyes) Date: Sat, 4 Apr 2020 18:02:05 +0200 Subject: [Gmsh] Help/advice with definition of mesh size In-Reply-To: <954512A3-C0A9-4DE4-AFCD-1F30941D11BB@uliege.be> References: <954512A3-C0A9-4DE4-AFCD-1F30941D11BB@uliege.be> Message-ID: Dear profesor, thanks a lot! It is working. I really apreciate your time and support Best regards O. On Sat, Apr 4, 2020 at 2:04 PM Christophe Geuzaine wrote: > > > > On 4 Apr 2020, at 12:32, Octavio Castillo Reyes < > ocastilloreyes at gmail.com> wrote: > > > > Dear gmsh team and users, > > > > I would greatly appreciate your help in understanding / solving the > construction of a mesh with gmsh. In the attached file you will find the > definition of the geometry, which is made up of 8 volumes. What I want is > to build a mesh with the following characteristics (if possible): > > > > For each volume get the element size: > > Mat1, Mat2, Mat3 = 50 > > Mat5, Mat6 = 500 > > Mat7, Mat8 = 2500 > > > > Note that Mat1, Mat2 and Mat3 are contained in Mat5 and Mat6., And > these, in turn, are contained in Mat7. I have tried different > configurations but have not been able to obtain an adequate morning size, > which in some cases is over-refined or under-refined. > > > > Could someone from the community give me a tip or help? I would very > much appreciate your comments > > > > I've played a bit with the constraints (see comments in the file) and the > results seem OK: > > > > Christophe > > > > Thanks in advance > > > > Best regards > > _______________________________________________ > > 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 > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From michelcassagnes11 at gmail.com Sun Apr 5 00:32:12 2020 From: michelcassagnes11 at gmail.com (Michel Cassagnes) Date: Sun, 5 Apr 2020 00:32:12 +0200 Subject: [Gmsh] Saving msh in several parts defined by lists of physical Message-ID: Dear all, It seems that the option does not exist yet but maybe it has something to do with partitioning. Here is my question : I would like to save mesh (in med format) in several parts that are defined by lists of physicals. Some physicals may belong to more than one part. What I do for now : 1 - I prepare a text file that describes a geometry from a cad software (list of entities, each entity being described by a list of point coordinates, its type and its cad layer) 2 - another text file describes the different parts of the geometry, by sets of layer names. Some physicals may belong to several parts. 3 - then I make geo files from 1 and 2, each geo file contains all geometry but only physicals which are to be saved as mesh. 4 - Gmsh mesh each geo.files (so I repeat exactly the same meshing for each geo file) then I save only mesh entities with physical tag in med format What I would like to do: Instead of meshing all geo files as in point 3 above:- mesh in only one time the geo file, containing all geometry - then save the mesh in several steps, giving at each step a list of physicals that are to be saved. Exemple : *geo file :* surfaces : "s1", "s2", "s3" points : "p1", "p2" *meshes to save :* first med file : - meshed surfaces : "s1", "s2" - points : "p1" second med file : - meshed surfaces : "s2", "s3" - points : "p2" I hope it is clear ! Best regards, Michel Cassagnes -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Sun Apr 5 08:42:36 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 5 Apr 2020 08:42:36 +0200 Subject: [Gmsh] Saving msh in several parts defined by lists of physical In-Reply-To: References: Message-ID: > On 5 Apr 2020, at 00:32, Michel Cassagnes wrote: > > Dear all, > > It seems that the option does not exist yet but maybe it has something to do with partitioning. Here is my question : > > I would like to save mesh (in med format) in several parts that are defined by lists of physicals. Some physicals may belong to more than one part. > > What I do for now : > 1 - I prepare a text file that describes a geometry from a cad software (list of entities, each entity being described by a list of point coordinates, its type and its cad layer) > 2 - another text file describes the different parts of the geometry, by sets of layer names. Some physicals may belong to several parts. > 3 - then I make geo files from 1 and 2, each geo file contains all geometry but only physicals which are to be saved as mesh. > 4 - Gmsh mesh each geo.files (so I repeat exactly the same meshing for each geo file) then I save only mesh entities with physical tag in med format > > What I would like to do: Instead of meshing all geo files as in point 3 above:- mesh in only one time the geo file, containing all geometry > - then save the mesh in several steps, giving at each step a list of physicals that are to be saved. > Hello Michel, You can exploit the fact that by default, when physical groups are defined, Gmsh only saves the entities that belong to physical groups. So you can just mesh once, define your physical groups in turn, and save each time. Here's an example: --- SetFactory("OpenCASCADE"); Box(1) = {0,0,0, 0.1,1,1}; Box(2) = {0.1,0,0, 0.3,1,1}; Box(3) = {0.4,0,0, 0.6,1,1}; BooleanFragments{ Volume{1,2,3}; Delete; }{} Mesh 3; Physical Volume("Left", 1) = {1}; Save "m1.med"; Delete Physicals; Physical Volume("Middle", 2) = {2}; Save "m2.med"; Delete Physicals; Physical Volume("Right", 3) = {3}; Save "m3.med"; --- Cheers, Christophe > Exemple : > geo file : > surfaces : "s1", "s2", "s3" > points : "p1", "p2" > > meshes to save : > first med file : > - meshed surfaces : "s1", "s2" > - points : "p1" > second med file : > - meshed surfaces : "s2", "s3" > - points : "p2" > > I hope it is clear ! > > Best regards, > > Michel Cassagnes > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Sun Apr 5 12:04:15 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 5 Apr 2020 12:04:15 +0200 Subject: [Gmsh] Mesh error In-Reply-To: <632AFC21-85EE-4B80-B316-A5D196CF62C5@ikp.tu-darmstadt.de> References: <55D82849-D002-41B4-9905-F2AC8712BC63@ikp.tu-darmstadt.de> <632AFC21-85EE-4B80-B316-A5D196CF62C5@ikp.tu-darmstadt.de> Message-ID: <3A4C5280-7BF7-4DD5-9739-68C52F9722A5@uliege.be> > On 5 Apr 2020, at 11:25, Sabrina Zacarias wrote: > > You?re absolutely right, thank you. I?d like to make a follow up question, if I may (hopefully not as stupid as the previous one): > > In my model I merge several volumes using BooleanUnion. The difficulty is that after this command, the tags of the surfaces are lost. (And I need them to define physical surfaces). Is there a workaround or a way of forcing the tags to not change? Unfortunately no. The best solution for now is to use a combination of 'Boundary', 'CombinedBoundary' and the 'In BoundingBox' command to retrieve the surfaces. Christophe > > What I would like in the end is to have a physical surface which is the group of all surfaces in the same plane. Is there maybe a smarter way or a built-in command in which I can achieve this without needing to make a list the list of all the surfaces by hand? > > Thank you so much for your support, > > Sabrina > -- > Sabrina Zacarias > Institut f?r Kernphysik > Technische Universit?t Darmstadt > S2|14 / office 319 > Schlossgartenstr. 9 > > 64289 Darmstadt > > Office: +49 6151 16 23589 > >> On 29. Mar 2020, at 22:28, Christophe Geuzaine wrote: >> >> >> >>> On 29 Mar 2020, at 12:24, Sabrina Zacarias wrote: >>> >>> Dear all, >>> >>> I am a bit confused with the output of the meshing of my model and would really appreciate a piece of advise: >>> >>> My geometry consists of an axial section of a cylinder (which plays the role of the air surrounding my model ) containing several (sections of) rings, which are electrodes, plus two (sections of ) disks, which are the cathode and anode. The fact that these are sections and not complete cylindrical pieces is to make the meshing faster. And the post processing software can handle it. >>> >>> Anyway, In the real model I need to use ~200 electrodes. So far I have not been able to achieve a mesh without errors. I get ?Unable to recover the edge XX on curve XX (on surface XX )?, and also ?No elements in volume XX?. >>> >> >> With Nel = 200 your geometry is invalid (it auto-intersects), whereas with Nel = 20 it is correct. >> >> Christophe >> >> >>> What I find confusing is that when I reduce the number of electrodes x10 lower, without changing anything else, the meshing is correct. >>> >>> I am obviously missing something or not approaching the problem the right way. I attach the .geo files if someone could please take a look. >>> >>> Best regards, >>> >>> Sabrina >>> >>> <3d_main.geo> >>> >>> >>> >>> >>> ? >>> Sabrina Zacarias >>> Institut f?r Kernphysik >>> Technische Universit?t Darmstadt >>> S2|14 / office 319 >>> Schlossgartenstr. 9 >>> >>> 64289 Darmstadt >>> >>> Office: +49 6151 16 23589 >>> >>> _______________________________________________ >>> 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 > ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine From michelcassagnes11 at gmail.com Sun Apr 5 14:53:38 2020 From: michelcassagnes11 at gmail.com (Michel Cassagnes) Date: Sun, 5 Apr 2020 14:53:38 +0200 Subject: [Gmsh] Saving msh in several parts defined by lists of physical In-Reply-To: References: Message-ID: Hello Christophe, Thank you for your quick answer! It works fine. In the meantime I made the same as your proposition with the API : 1. when all the geometry is described, I mesh it 2. For each list of physicals that I want to save, *I impose always the same tag* and I give names to the physical groups that I want to save according to some rules : ps = gmsh.model.addPhysicalGroup(2, n, physTag) gmsh.model.setPhysicalName(2, ps, c) 3. I save the mesh 4. I remove all physical groups (gmsh.model.removePhysicalGroups()) 5. Return to 2. as often as needed. Best regards, Michel Cassagnes Le dim. 5 avr. 2020 ? 08:42, Christophe Geuzaine a ?crit : > > > On 5 Apr 2020, at 00:32, Michel Cassagnes > wrote: > > > > Dear all, > > > > It seems that the option does not exist yet but maybe it has something > to do with partitioning. Here is my question : > > > > I would like to save mesh (in med format) in several parts that are > defined by lists of physicals. Some physicals may belong to more than one > part. > > > > What I do for now : > > 1 - I prepare a text file that describes a geometry from a cad software > (list of entities, each entity being described by a list of point > coordinates, its type and its cad layer) > > 2 - another text file describes the different parts of the geometry, by > sets of layer names. Some physicals may belong to several parts. > > 3 - then I make geo files from 1 and 2, each geo file contains all > geometry but only physicals which are to be saved as mesh. > > 4 - Gmsh mesh each geo.files (so I repeat exactly the same meshing for > each geo file) then I save only mesh entities with physical tag in med > format > > > > What I would like to do: Instead of meshing all geo files as in point 3 > above:- mesh in only one time the geo file, containing all geometry > > - then save the mesh in several steps, giving at each step a list of > physicals that are to be saved. > > > > Hello Michel, > > You can exploit the fact that by default, when physical groups are > defined, Gmsh only saves the entities that belong to physical groups. So > you can just mesh once, define your physical groups in turn, and save each > time. Here's an example: > > --- > SetFactory("OpenCASCADE"); > Box(1) = {0,0,0, 0.1,1,1}; > Box(2) = {0.1,0,0, 0.3,1,1}; > Box(3) = {0.4,0,0, 0.6,1,1}; > BooleanFragments{ Volume{1,2,3}; Delete; }{} > > Mesh 3; > > Physical Volume("Left", 1) = {1}; > Save "m1.med"; > Delete Physicals; > > Physical Volume("Middle", 2) = {2}; > Save "m2.med"; > Delete Physicals; > > Physical Volume("Right", 3) = {3}; > Save "m3.med"; > --- > > Cheers, > > Christophe > > > > > > > Exemple : > > geo file : > > surfaces : "s1", "s2", "s3" > > points : "p1", "p2" > > > > meshes to save : > > first med file : > > - meshed surfaces : "s1", "s2" > > - points : "p1" > > second med file : > > - meshed surfaces : "s2", "s3" > > - points : "p2" > > > > I hope it is clear ! > > > > Best regards, > > > > Michel Cassagnes > > > > > > _______________________________________________ > > 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 > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From szacarias at ikp.tu-darmstadt.de Sun Apr 5 11:25:39 2020 From: szacarias at ikp.tu-darmstadt.de (Sabrina Zacarias) Date: Sun, 5 Apr 2020 11:25:39 +0200 Subject: [Gmsh] Mesh error In-Reply-To: References: <55D82849-D002-41B4-9905-F2AC8712BC63@ikp.tu-darmstadt.de> Message-ID: <632AFC21-85EE-4B80-B316-A5D196CF62C5@ikp.tu-darmstadt.de> You?re absolutely right, thank you. I?d like to make a follow up question, if I may (hopefully not as stupid as the previous one): In my model I merge several volumes using BooleanUnion. The difficulty is that after this command, the tags of the surfaces are lost. (And I need them to define physical surfaces). Is there a workaround or a way of forcing the tags to not change? What I would like in the end is to have a physical surface which is the group of all surfaces in the same plane. Is there maybe a smarter way or a built-in command in which I can achieve this without needing to make a list the list of all the surfaces by hand? Thank you so much for your support, Sabrina -- Sabrina Zacarias Institut f?r Kernphysik Technische Universit?t Darmstadt S2|14 / office 319 Schlossgartenstr. 9 64289 Darmstadt Office: +49 6151 16 23589 > On 29. Mar 2020, at 22:28, Christophe Geuzaine wrote: > > > >> On 29 Mar 2020, at 12:24, Sabrina Zacarias > wrote: >> >> Dear all, >> >> I am a bit confused with the output of the meshing of my model and would really appreciate a piece of advise: >> >> My geometry consists of an axial section of a cylinder (which plays the role of the air surrounding my model ) containing several (sections of) rings, which are electrodes, plus two (sections of ) disks, which are the cathode and anode. The fact that these are sections and not complete cylindrical pieces is to make the meshing faster. And the post processing software can handle it. >> >> Anyway, In the real model I need to use ~200 electrodes. So far I have not been able to achieve a mesh without errors. I get ?Unable to recover the edge XX on curve XX (on surface XX )?, and also ?No elements in volume XX?. >> > > With Nel = 200 your geometry is invalid (it auto-intersects), whereas with Nel = 20 it is correct. > > Christophe > > >> What I find confusing is that when I reduce the number of electrodes x10 lower, without changing anything else, the meshing is correct. >> >> I am obviously missing something or not approaching the problem the right way. I attach the .geo files if someone could please take a look. >> >> Best regards, >> >> Sabrina >> >> <3d_main.geo> >> >> >> >> >> ? >> Sabrina Zacarias >> Institut f?r Kernphysik >> Technische Universit?t Darmstadt >> S2|14 / office 319 >> Schlossgartenstr. 9 >> >> 64289 Darmstadt >> >> Office: +49 6151 16 23589 >> >> _______________________________________________ >> 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: From szacarias at ikp.tu-darmstadt.de Mon Apr 6 11:43:25 2020 From: szacarias at ikp.tu-darmstadt.de (Sabrina Zacarias) Date: Mon, 6 Apr 2020 11:43:25 +0200 Subject: [Gmsh] Mesh error In-Reply-To: <3A4C5280-7BF7-4DD5-9739-68C52F9722A5@uliege.be> References: <55D82849-D002-41B4-9905-F2AC8712BC63@ikp.tu-darmstadt.de> <632AFC21-85EE-4B80-B316-A5D196CF62C5@ikp.tu-darmstadt.de> <3A4C5280-7BF7-4DD5-9739-68C52F9722A5@uliege.be> Message-ID: I see, I think I can manage with that. Thank you very much! -- Sabrina Zacarias Institut f?r Kernphysik Technische Universit?t Darmstadt S2|14 / office 319 Schlossgartenstr. 9 64289 Darmstadt Office: +49 6151 16 23589 > On 5. Apr 2020, at 12:04, Christophe Geuzaine wrote: > > > >> On 5 Apr 2020, at 11:25, Sabrina Zacarias > wrote: >> >> You?re absolutely right, thank you. I?d like to make a follow up question, if I may (hopefully not as stupid as the previous one): >> >> In my model I merge several volumes using BooleanUnion. The difficulty is that after this command, the tags of the surfaces are lost. (And I need them to define physical surfaces). Is there a workaround or a way of forcing the tags to not change? > > Unfortunately no. The best solution for now is to use a combination of 'Boundary', 'CombinedBoundary' and the 'In BoundingBox' command to retrieve the surfaces. > > Christophe > > >> >> What I would like in the end is to have a physical surface which is the group of all surfaces in the same plane. Is there maybe a smarter way or a built-in command in which I can achieve this without needing to make a list the list of all the surfaces by hand? >> >> Thank you so much for your support, >> >> Sabrina >> -- >> Sabrina Zacarias >> Institut f?r Kernphysik >> Technische Universit?t Darmstadt >> S2|14 / office 319 >> Schlossgartenstr. 9 >> >> 64289 Darmstadt >> >> Office: +49 6151 16 23589 >> >>> On 29. Mar 2020, at 22:28, Christophe Geuzaine wrote: >>> >>> >>> >>>> On 29 Mar 2020, at 12:24, Sabrina Zacarias wrote: >>>> >>>> Dear all, >>>> >>>> I am a bit confused with the output of the meshing of my model and would really appreciate a piece of advise: >>>> >>>> My geometry consists of an axial section of a cylinder (which plays the role of the air surrounding my model ) containing several (sections of) rings, which are electrodes, plus two (sections of ) disks, which are the cathode and anode. The fact that these are sections and not complete cylindrical pieces is to make the meshing faster. And the post processing software can handle it. >>>> >>>> Anyway, In the real model I need to use ~200 electrodes. So far I have not been able to achieve a mesh without errors. I get ?Unable to recover the edge XX on curve XX (on surface XX )?, and also ?No elements in volume XX?. >>>> >>> >>> With Nel = 200 your geometry is invalid (it auto-intersects), whereas with Nel = 20 it is correct. >>> >>> Christophe >>> >>> >>>> What I find confusing is that when I reduce the number of electrodes x10 lower, without changing anything else, the meshing is correct. >>>> >>>> I am obviously missing something or not approaching the problem the right way. I attach the .geo files if someone could please take a look. >>>> >>>> Best regards, >>>> >>>> Sabrina >>>> >>>> <3d_main.geo> >>>> >>>> >>>> >>>> >>>> ? >>>> Sabrina Zacarias >>>> Institut f?r Kernphysik >>>> Technische Universit?t Darmstadt >>>> S2|14 / office 319 >>>> Schlossgartenstr. 9 >>>> >>>> 64289 Darmstadt >>>> >>>> Office: +49 6151 16 23589 >>>> >>>> _______________________________________________ >>>> 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 >> > > ? > Prof. Christophe Geuzaine > University of Liege, Electrical Engineering and Computer Science > http://www.montefiore.ulg.ac.be/~geuzaine -------------- next part -------------- An HTML attachment was scrubbed... URL: From robert.atanasiu29 at gmail.com Mon Apr 6 19:07:47 2020 From: robert.atanasiu29 at gmail.com (Robert Atanasiu) Date: Mon, 6 Apr 2020 18:07:47 +0100 Subject: [Gmsh] Parallelepiped with hole in the middle Message-ID: Hello, I hope you are all doing well. I am trying to make an structured mesh having the representation of a parallelepiped with a hole in the middle of the structure. This "hole" has the sole purpose of signaling the presence of an obstacle. For some reason, I get errors regarding the transfinite algo of 2 particular surfaces, while the other 8 work. Also, how can I ensure the normals are all pointing in the right convention? Here is my algorithm: // l_ref = 1; Point(1) = {-0.5, -0.5, 0, l_ref}; Point(2) = {0.5, -0.5, 0, l_ref}; Point(3) = {0.5, -0.5, 4.0, l_ref}; Point(4) = {0.5, 0, 4.0, l_ref}; Point(5) = {0.5, 0, 6.0, l_ref}; Point(6) = {0.5, -0.5, 6.0, l_ref}; Point(7) = {0.5, -0.5, 10.0, l_ref}; Point(8) = {0.5, 0.5, 10.0, l_ref}; Point(9) = {0.5, 0.5, 0, l_ref}; Point(10) = {-0.5, 0.5, 0, l_ref}; Point(11) = {-0.5, -0.5, 4.0, l_ref}; Point(12) = {-0.5, 0, 4.0, l_ref}; Point(13) = {-0.5, 0, 6.0, l_ref}; Point(14) = {-0.5, -0.5, 6.0, l_ref}; Point(15) = {-0.5, -0.5, 10.0, l_ref}; Point(16) = {-0.5, 0.5, 10.0, l_ref}; Line(1) = {1, 2}; Line(2) = {2, 3}; Line(3) = {3, 4}; Line(4) = {4, 5}; Line(5) = {5, 6}; Line(6) = {6, 7}; Line(7) = {7, 8}; Line(8) = {8, 9}; Line(9) = {9, 10}; Line(10) = {10, 16}; Line(11) = {16, 8}; Line(12) = {2, 9}; Line(13) = {10, 1}; Line(14) = {1, 11}; Line(15) = {11, 12}; Line(16) = {12, 13}; Line(17) = {13, 14}; Line(18) = {14, 15}; Line(19) = {15, 16}; Line(20) = {7, 15}; Line(21) = {3, 11}; Line(22) = {14, 6}; Line(23) = {4, 12}; Line(24) = {5, 13}; Line Loop(21) = {1, 12, 9, 13}; Plane Surface(22) = {21}; Line Loop(23) = {2, 3, 4, 5, 6, 7, 8, -12}; Plane Surface(24) = {23}; Line Loop(25) = {7, -11, -19, -20}; Plane Surface(26) = {25}; Line Loop(27) = {-10, 13, 14, 15, 16, 17, 18, 19}; Plane Surface(28) = {27}; Line Loop(29) = {8, 9, 10, 11}; Plane Surface(30) = {29}; Line Loop(31) = {1, 2, 21, -14}; Plane Surface(32) = {31}; Line Loop(33) = {3, 23, -15, -21}; Plane Surface(34) = {33}; Line Loop(35) = {4, 24, -16, -23}; Plane Surface(36) = {35}; Line Loop(37) = {-5, 24, 17, 22}; Plane Surface(38) = {37}; Line Loop(39) = {6, 20, -18, 22}; Plane Surface(40) = {39}; Surface Loop(40) = {22, 24, 26, 28, 30, 32, 34, 36, 38, 40}; Volume(41) = {40}; Transfinite Line {1, 9, 20, 11} = 10; Transfinite Line {12, 13, 7, 19} = 20; Transfinite Line {2, 14} = 20; Transfinite Line {4, 16} = 60; Transfinite Line {6, 18} = 40; Transfinite Line {8, 10} = 120; Transfinite Surface{22} = {1, 2, 9, 10}; Transfinite Surface{24} = {2, 7, 8, 9}; Transfinite Surface{26} = {7, 8, 16, 15}; Transfinite Surface{28} = {16, 15, 10, 1}; Transfinite Surface{30} = {8, 9, 10, 16}; Transfinite Surface{32} = {1, 2, 3, 11}; Transfinite Surface{34} = {3, 4, 12, 11}; Transfinite Surface{36} = {4, 5, 13, 12}; Transfinite Surface{38} = {5, 6, 13, 14}; Transfinite Surface{40} = {6, 7, 15, 14}; Recombine Surface {22, 24, 26, 28, 30, 32, 34, 36, 38, 40}; Transfinite Volume {41} = {2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 11, 12, 13, 14, 15, 16}; // Physical Surface(200) = {22, 24, 26, 28, 30, 32, 34, 36, 38, 40}; Physical Surface('inlet') = {22}; Physical Surface('periodic_0_r') = {24}; Physical Surface('outlet') = {26}; Physical Surface('periodic_0_l') = {28}; Physical Surface('top') = {30}; Physical Surface('bottom1') = {32}; Physical Surface('bottominclined1') = {34}; Physical Surface('bottom2') = {36}; Physical Surface('bottominclined2') = {38}; Physical Surface('bottom3') = {40}; Physical Volume('fluid') = {41}; // I would be very grateful if you can answer my question! Kind regards, Robert Atanasiu Imperial College London, Aeronautics Undergraduate Student -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Mon Apr 6 22:41:41 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 6 Apr 2020 22:41:41 +0200 Subject: [Gmsh] Parallelepiped with hole in the middle In-Reply-To: References: Message-ID: > On 6 Apr 2020, at 19:07, Robert Atanasiu wrote: > > Hello, > > I hope you are all doing well. > > I am trying to make an structured mesh having the representation of a parallelepiped with a hole in the middle of the structure. This "hole" has the sole purpose of signaling the presence of an obstacle. For some reason, I get errors regarding the transfinite algo of 2 particular surfaces, while the other 8 work. The transfinite algorithm requires the same number of nodes on each pair of opposing curves (between the corner points). Why don't you simply use extrusion? Point(1) = {-0.5, -0.5, 0}; Point(10) = {-0.5, 0.5, 0}; Point(11) = {-0.5, -0.5, 4.0}; Point(12) = {-0.5, 0, 4.0}; Point(13) = {-0.5, 0, 6.0}; Point(14) = {-0.5, -0.5, 6.0}; Point(15) = {-0.5, -0.5, 10.0}; Point(16) = {-0.5, 0.5, 10.0}; Line(10) = {10, 16}; Line(13) = {10, 1}; Line(14) = {1, 11}; Line(15) = {11, 12}; Line(16) = {12, 13}; Line(17) = {13, 14}; Line(18) = {14, 15}; Line(19) = {15, 16}; Line Loop(27) = {-10, 13, 14, 15, 16, 17, 18, 19}; Plane Surface(28) = {27}; Transfinite Line{10} = 100; Transfinite Line{14,18} = 25; Transfinite Line{15,17} = 8; Transfinite Line{16} = 100-2*25-2*8+4; Transfinite Line{13, 19} = 15; Transfinite Surface{28} = {1,15,16,10}; Recombine Surface{28}; Mesh.Smoothing = 1; Extrude{1,0,0}{ Surface{28}; Recombine; Layers{10}; } (The mesh would also be nicer if you split surface 28 into multiple parts...) > Also, how can I ensure the normals are all pointing in the right convention? > The orientation of the mesh follows the orientation of the geometrical surface. Christophe > Here is my algorithm: > // > l_ref = 1; > > Point(1) = {-0.5, -0.5, 0, l_ref}; Point(2) = {0.5, -0.5, 0, l_ref}; > Point(3) = {0.5, -0.5, 4.0, l_ref}; Point(4) = {0.5, 0, 4.0, l_ref}; > Point(5) = {0.5, 0, 6.0, l_ref}; Point(6) = {0.5, -0.5, 6.0, l_ref}; > Point(7) = {0.5, -0.5, 10.0, l_ref}; Point(8) = {0.5, 0.5, 10.0, l_ref}; > Point(9) = {0.5, 0.5, 0, l_ref}; Point(10) = {-0.5, 0.5, 0, l_ref}; > Point(11) = {-0.5, -0.5, 4.0, l_ref}; Point(12) = {-0.5, 0, 4.0, l_ref}; > Point(13) = {-0.5, 0, 6.0, l_ref}; Point(14) = {-0.5, -0.5, 6.0, l_ref}; > Point(15) = {-0.5, -0.5, 10.0, l_ref}; Point(16) = {-0.5, 0.5, 10.0, l_ref}; > > Line(1) = {1, 2}; > Line(2) = {2, 3}; > Line(3) = {3, 4}; > Line(4) = {4, 5}; > Line(5) = {5, 6}; > Line(6) = {6, 7}; > Line(7) = {7, 8}; > Line(8) = {8, 9}; > Line(9) = {9, 10}; > Line(10) = {10, 16}; > Line(11) = {16, 8}; > Line(12) = {2, 9}; > Line(13) = {10, 1}; > Line(14) = {1, 11}; > Line(15) = {11, 12}; > Line(16) = {12, 13}; > Line(17) = {13, 14}; > Line(18) = {14, 15}; > Line(19) = {15, 16}; > Line(20) = {7, 15}; > Line(21) = {3, 11}; > Line(22) = {14, 6}; > Line(23) = {4, 12}; > Line(24) = {5, 13}; > > Line Loop(21) = {1, 12, 9, 13}; Plane Surface(22) = {21}; > Line Loop(23) = {2, 3, 4, 5, 6, 7, 8, -12}; Plane Surface(24) = {23}; > Line Loop(25) = {7, -11, -19, -20}; Plane Surface(26) = {25}; > Line Loop(27) = {-10, 13, 14, 15, 16, 17, 18, 19}; Plane Surface(28) = {27}; > Line Loop(29) = {8, 9, 10, 11}; Plane Surface(30) = {29}; > Line Loop(31) = {1, 2, 21, -14}; Plane Surface(32) = {31}; > Line Loop(33) = {3, 23, -15, -21}; Plane Surface(34) = {33}; > Line Loop(35) = {4, 24, -16, -23}; Plane Surface(36) = {35}; > Line Loop(37) = {-5, 24, 17, 22}; Plane Surface(38) = {37}; > Line Loop(39) = {6, 20, -18, 22}; Plane Surface(40) = {39}; > > Surface Loop(40) = {22, 24, 26, 28, 30, 32, 34, 36, 38, 40}; > Volume(41) = {40}; > > Transfinite Line {1, 9, 20, 11} = 10; > Transfinite Line {12, 13, 7, 19} = 20; > Transfinite Line {2, 14} = 20; > Transfinite Line {4, 16} = 60; > Transfinite Line {6, 18} = 40; > Transfinite Line {8, 10} = 120; > > Transfinite Surface{22} = {1, 2, 9, 10}; > Transfinite Surface{24} = {2, 7, 8, 9}; > Transfinite Surface{26} = {7, 8, 16, 15}; > Transfinite Surface{28} = {16, 15, 10, 1}; > Transfinite Surface{30} = {8, 9, 10, 16}; > Transfinite Surface{32} = {1, 2, 3, 11}; > Transfinite Surface{34} = {3, 4, 12, 11}; > Transfinite Surface{36} = {4, 5, 13, 12}; > Transfinite Surface{38} = {5, 6, 13, 14}; > Transfinite Surface{40} = {6, 7, 15, 14}; > > Recombine Surface {22, 24, 26, 28, 30, 32, 34, 36, 38, 40}; > Transfinite Volume {41} = {2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 11, 12, 13, 14, 15, 16}; > > // Physical Surface(200) = {22, 24, 26, 28, 30, 32, 34, 36, 38, 40}; > Physical Surface('inlet') = {22}; > Physical Surface('periodic_0_r') = {24}; > Physical Surface('outlet') = {26}; > Physical Surface('periodic_0_l') = {28}; > Physical Surface('top') = {30}; > Physical Surface('bottom1') = {32}; > Physical Surface('bottominclined1') = {34}; > Physical Surface('bottom2') = {36}; > Physical Surface('bottominclined2') = {38}; > Physical Surface('bottom3') = {40}; > > Physical Volume('fluid') = {41}; > > // > > I would be very grateful if you can answer my question! > > Kind regards, > Robert Atanasiu > Imperial College London, Aeronautics Undergraduate Student > _______________________________________________ > 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 From Aaron.J.Jensen at leidos.com Fri Apr 10 00:12:32 2020 From: Aaron.J.Jensen at leidos.com (Jensen, Aaron J.) Date: Thu, 9 Apr 2020 22:12:32 +0000 Subject: [Gmsh] Bug? Message-ID: Hi, I believe that there is a bug in the coloring algorithm. When I import and mesh a step file containing colored faces the resulting mesh cannot be colored by Physical Group. The mesh is instead colored based on the geometry surface color. Also, I read that 3D boundary layer meshing may be available in GMSH v5.0. Is that still the plan and if so when do you expect GMSH v5.0 might be released? Thanks for all your hard work on GMSH. It's a fantastic tool. Best, Aaron -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Fri Apr 10 13:53:10 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 10 Apr 2020 13:53:10 +0200 Subject: [Gmsh] Bug? In-Reply-To: References: Message-ID: <724B72CB-D9AC-41E7-99D9-53FA9482C56E@uliege.be> > On 10 Apr 2020, at 00:12, Jensen, Aaron J. wrote: > > Hi, > > I believe that there is a bug in the coloring algorithm. When I import and mesh a step file containing colored faces the resulting mesh cannot be colored by Physical Group. The mesh is instead colored based on the geometry surface color. > Actually that's the expected behavior in Gmsh - explicit coloring supersedes the other coloring schemes. As a workaround you can set "Mesh.OCCImportLabels" to 0 before loading the STEP file, which will skip the import of labels and colors. > Also, I read that 3D boundary layer meshing may be available in GMSH v5.0. Is that still the plan and if so when do you expect GMSH v5.0 might be released? > Hopefully by the end of 2020. Christophe > Thanks for all your hard work on GMSH. It's a fantastic tool. > > Best, > Aaron > _______________________________________________ > 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 From mau.rohracker at fau.de Mon Apr 13 18:34:09 2020 From: mau.rohracker at fau.de (Maurice Rohracker) Date: Mon, 13 Apr 2020 18:34:09 +0200 Subject: [Gmsh] 3D Mesh for Box with Inclusions Message-ID: Dear GMSH developer, I prepared some .geo-file where I want to mesh a box with spherical inclusions, which we need for some RVE and homogenization modelling. The mesh should be fully hexahedral. Right now, the shape of the hexahedrons is not very in that way in which we would like to have them (see in the attached picture). Our goal would be, having more cubed like hexahedrons. The .geo-file adds spherical inclusions into the box by adding the centre and the radius of the inclusions to the list of bubbles in the beginning. Later on, we would not just have only one or two inclusions, but for a small test example, this should be enough. Is there a good way to set the mesh configuration parameters such that the mesh has more general shaped hexahedrons, like cubs. How about the parameter "Mesh.Recombine3D = 1", because in the documentation it's mentioned as experimental; should one use it, if one would like to have a fully hexahedral mesh, as we prefer to. Thank you very much for your reply in advance. Kind regards, Maurice Rohracker Master Student Computational Engineering FAU Erlangen-Nuremberg -------------- next part -------------- A non-text attachment was scrubbed... Name: mesh_result.png Type: image/png Size: 402360 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: RVE_with_spherical_inclusions.geo Type: application/octet-stream Size: 4861 bytes Desc: not available URL: From h.dierckx at kuleuven.be Mon Apr 13 21:50:45 2020 From: h.dierckx at kuleuven.be (Hans Dierckx) Date: Mon, 13 Apr 2020 19:50:45 +0000 Subject: [Gmsh] surface mesh coarsening In-Reply-To: <3FA7145C-E1DC-40B0-AEB9-2A01A8262E19@kuleuven.be> References: <3FA7145C-E1DC-40B0-AEB9-2A01A8262E19@kuleuven.be> Message-ID: <9FD45BA1-6D78-44D8-9DA0-83011000628A@kuleuven.be> Dear all, With the help of Christophe Geuzaine and the gmsh FAQ, I was able to create a tetrahedral mesh from a mask file (3D boolean matrix with 0=outside, 1=inside) by combining matlab and gmesh. For future reference, I summarize my workflow. Perhaps it can be useful to others. Most likely, it can be further optimized. Best regards, Hans Step-by-step guide to convert a mask in matlab to a tetrahedral mesh in matlab, using gmesh: 1) Create a surface mesh in matlab and save it as a stl file -- mask = smooth3(mask, 'gaussian'); [f,v] = isosurface(mask, 0.2); stlwrite2('heart_sm2.stl', f,v); -- stlwrite2 can be found on matlab central. Smoothing and putting a lower threshold helps to avoid some mesh errors in highly curved regions later on. 2) Remesh the surface mesh using gmsh: (After support from gmsh developer Christophe Geuzaine, thank you!) On the command line / in terminal do: $ gmsh heart_sm2.stl -reparam 180 This means reparameterising the mesh, dividing it in regions when the angle between adjacent faces is smaller/larger than 180 degrees(?). This seems to be mostly useful for cubes etc. since the faces are then stored separately. It makes filename.msh. If you want to see it, open the GUI and in the top bar: file > open > ... select this .msh file Then in command window: $ gmsh heart_sm2.msh -clcurv 2 -2 -o heart_sm2_2.msh This remeshes the surface according to curvature (-clcurv). The higher the number that follows, the more elements are created. I put it as low as possible without getting errors. (-clcurv 1 did not work). -2 argument means meshing in 2D, so it creates edges and faces. We cannot do a 3D mesh here, another step is needed. -o heart_sm2_2.msh : output, otherwise the previous msh file is overwritten. 3) Make gmsh recognize the interior region as the part to be meshed with tetrahedra (see gmsh FAQs) open the lastly created heart_sm2_2.msh in the GUI and do file > export as .stl file. then, create a gmsh script to add the volume. E.g. make a file "heart_sm2_2.geo" containing: Merge "heart_sm2_2.stl"; Surface Loop(1) = {1}; Volume(1) = {1}; Then open this script in gmesh GUI: file > open > heart_sm2.2.geo. Now gmsh recognizes that there is an interior. 4) Create and export the tetrahedral mesh In the GUI, with the geo-file opened (and the 2D mesh visible): in the left navigation bar, click Modules > Mesh > 3D and the 3D mesh generation starts. Thereafter you may want to click 'optimize 3D' just beneath. Finally, in order to work with it in matlab: file > export > as matlab file (or use extension .m), e.g. heart_sm2_2.m In matlab, run the file as a script heart_sm2_2; which creates a structure called 'msh' listing the vertices, edges, faces and tetrahedra. From: Hans Dierckx Date: Wednesday, 18 March 2020 at 08:56 To: "gmsh at onelab.info" Subject: surface mesh coarsening Dear all, Can someone explain me how to use gmesh to coarsen a closed surface mesh? I attach a simple geometry as test data. I tried in vain in the GUI to put ?options > mesh > element size? to a value bigger than one. The data I want to apply it to is a heart geometry which has originally 10^6 vertices and 5 10^5 faces, which should be reduced to approx. 500 faces. Thank you very much for your assistance. Hans Dierckx Leuven University -------------- next part -------------- An HTML attachment was scrubbed... URL: From miguelrsegade at gmail.com Wed Apr 15 12:05:33 2020 From: miguelrsegade at gmail.com (Miguel Segade) Date: Wed, 15 Apr 2020 12:05:33 +0200 Subject: [Gmsh] Mesh renumbering to MED format Message-ID: Hi I need to do some operations involving meshes in .bdf and .med format. One problem that I faced was that after exporting a .med file to .bdf a renumbering was done, but this was solved in this gitlab issue: https://gitlab.onelab.info/gmsh/gmsh/-/issues/601. Now I'm facing the opossite problem, I need to export a .bdf file to .med while mantaining the element numbering scheme. But apparentely, .med does not allow arbitrary node numbering. Is this correct? If yes, is there any way to generate a relation table between the two mesh numbering? For example, elements 80044, 80054 and 80064 in the .bdf correspond to 1, 2 and 3 in the MED file. Thanks From cgeuzaine at uliege.be Wed Apr 15 18:34:56 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 15 Apr 2020 18:34:56 +0200 Subject: [Gmsh] 3D Mesh for Box with Inclusions In-Reply-To: References: Message-ID: <09C8A246-0F31-4A51-86B1-1167AC8E53FD@uliege.be> > On 13 Apr 2020, at 18:34, Maurice Rohracker wrote: > > Dear GMSH developer, > > I prepared some .geo-file where I want to mesh a box with spherical inclusions, which we need for some RVE and homogenization modelling. The mesh should be fully hexahedral. Right now, the shape of the hexahedrons is not very in that way in which we would like to have them (see in the attached picture). Our goal would be, having more cubed like hexahedrons. > > The .geo-file adds spherical inclusions into the box by adding the centre and the radius of the inclusions to the list of bubbles in the beginning. Later on, we would not just have only one or two inclusions, but for a small test example, this should be enough. > > Is there a good way to set the mesh configuration parameters such that the mesh has more general shaped hexahedrons, like cubs. > > How about the parameter "Mesh.Recombine3D = 1", because in the documentation it's mentioned as experimental; should one use it, if one would like to have a fully hexahedral mesh, as we prefer to. > Automatic high-quality full-hex mesh generation is an open problem: see https://www.hextreme.eu/publications/ for some advances by people contributing to Gmsh. (Mesh.Recombine3D is currently not functional anymore - you can it a try with Gmsh 3. A new version based on new developments will eventually be merged in Gmsh. Hopefully we'll see something by the end of the year.) Christophe > Thank you very much for your reply in advance. > > Kind regards, > Maurice Rohracker > Master Student Computational Engineering > FAU Erlangen-Nuremberg_______________________________________________ > 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 From cgeuzaine at uliege.be Wed Apr 15 18:47:31 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 15 Apr 2020 18:47:31 +0200 Subject: [Gmsh] Mesh renumbering to MED format In-Reply-To: References: Message-ID: <3931A58C-1078-4224-A939-B60ABC2329B7@uliege.be> > On 15 Apr 2020, at 12:05, Miguel Segade wrote: > > Hi > > I need to do some operations involving meshes in .bdf and .med format. One problem that I faced was that after exporting a .med file to .bdf a renumbering was done, but this was solved in this gitlab issue: https://gitlab.onelab.info/gmsh/gmsh/-/issues/601. > > Now I'm facing the opossite problem, I need to export a .bdf file to .med while mantaining the element numbering scheme. But apparentely, .med does not allow arbitrary node numbering. Is this correct? If yes, is there any way to generate a relation table between the two mesh numbering? > > For example, elements 80044, 80054 and 80064 in the .bdf correspond to 1, 2 and 3 in the MED file. > Indeed currently Gmsh does not try to write node/element tags in MED files. It is probably possible though, as we make sure to assign tags when reading MED files. I suggest that you open an issue with this, so we can keep track. Christophe > Thanks > > > _______________________________________________ > 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 From auguieba at gmail.com Mon Apr 20 10:16:35 2020 From: auguieba at gmail.com (baptiste auguie) Date: Mon, 20 Apr 2020 20:16:35 +1200 Subject: [Gmsh] fillet producing irregular mesh Message-ID: Hi, I'm very new to the program so I may well have overlooked something basic. I adapted one of the examples for constructive geometry with boolean union between a central sphere and a number of conical spikes. I end the shape by rounding off sharp edges with a fillet, but when inspecting the mesh visually I find some strange irregularities where fillet was applied (and applying Smooth 2D doesn't seem to be enough to smoothen them out). Thankfully the model doesn't seem too bothered by this and produces reasonable results; I'd still be keen to know if the mesh could be improved. I attach the geo file as well as a rendering of the structure for clarity. Best regards, baptiste ---- geo file //+ SetFactory("OpenCASCADE"); Mesh.CharacteristicLengthMin = 0.001; Mesh.CharacteristicLengthMax = 0.005; Sphere(1) = {0, 0, 0, 0.030, -Pi/2, Pi/2, 2*Pi}; Cone(2) = {0, 0, 0, -0.043, 0.01, -0.01, 0.015, 0.003, 2*Pi}; Cone(3) = {0, 0, 0, -0.038, -0.024, 0, 0.015, 0.003, 2*Pi}; Cone(4) = {0, 0, 0, -0.034, 0.022, 0.02, 0.015, 0.003, 2*Pi}; Cone(5) = {0, 0, 0, -0.029, -0.004, -0.034, 0.015, 0.003, 2*Pi}; Cone(6) = {0, 0, 0, -0.025, -0.022, 0.03, 0.015, 0.003, 2*Pi}; Cone(7) = {0, 0, 0, -0.02, 0.039, -0.008, 0.015, 0.003, 2*Pi}; Cone(8) = {0, 0, 0, -0.016, -0.036, -0.022, 0.015, 0.003, 2*Pi}; Cone(9) = {0, 0, 0, -0.011, 0.012, 0.042, 0.015, 0.003, 2*Pi}; Cone(10) = {0, 0, 0, -0.007, 0.02, -0.04, 0.015, 0.003, 2*Pi}; Cone(11) = {0, 0, 0, -0.002, -0.042, 0.016, 0.015, 0.003, 2*Pi}; Cone(12) = {0, 0, 0, 0.002, 0.042, 0.016, 0.015, 0.003, 2*Pi}; Cone(13) = {0, 0, 0, 0.007, -0.02, -0.04, 0.015, 0.003, 2*Pi}; Cone(14) = {0, 0, 0, 0.011, -0.012, 0.042, 0.015, 0.003, 2*Pi}; Cone(15) = {0, 0, 0, 0.016, 0.036, -0.022, 0.015, 0.003, 2*Pi}; Cone(16) = {0, 0, 0, 0.02, -0.039, -0.008, 0.015, 0.003, 2*Pi}; Cone(17) = {0, 0, 0, 0.025, 0.022, 0.03, 0.015, 0.003, 2*Pi}; Cone(18) = {0, 0, 0, 0.029, 0.004, -0.034, 0.015, 0.003, 2*Pi}; Cone(19) = {0, 0, 0, 0.034, -0.022, 0.02, 0.015, 0.003, 2*Pi}; Cone(20) = {0, 0, 0, 0.038, 0.024, 0, 0.015, 0.003, 2*Pi}; Cone(21) = {0, 0, 0, 0.043, -0.01, -0.01, 0.015, 0.003, 2*Pi}; BooleanUnion(22) = {Volume{1}; Delete; }{ Volume{2}; Delete; }; BooleanUnion(23) = {Volume{3}; Delete; }{ Volume{22}; Delete; }; BooleanUnion(24) = {Volume{4}; Delete; }{ Volume{23}; Delete; }; BooleanUnion(25) = {Volume{5}; Delete; }{ Volume{24}; Delete; }; BooleanUnion(26) = {Volume{6}; Delete; }{ Volume{25}; Delete; }; BooleanUnion(27) = {Volume{7}; Delete; }{ Volume{26}; Delete; }; BooleanUnion(28) = {Volume{8}; Delete; }{ Volume{27}; Delete; }; BooleanUnion(29) = {Volume{9}; Delete; }{ Volume{28}; Delete; }; BooleanUnion(30) = {Volume{10}; Delete; }{ Volume{29}; Delete; }; BooleanUnion(31) = {Volume{11}; Delete; }{ Volume{30}; Delete; }; BooleanUnion(32) = {Volume{12}; Delete; }{ Volume{31}; Delete; }; BooleanUnion(33) = {Volume{13}; Delete; }{ Volume{32}; Delete; }; BooleanUnion(34) = {Volume{14}; Delete; }{ Volume{33}; Delete; }; BooleanUnion(35) = {Volume{15}; Delete; }{ Volume{34}; Delete; }; BooleanUnion(36) = {Volume{16}; Delete; }{ Volume{35}; Delete; }; BooleanUnion(37) = {Volume{17}; Delete; }{ Volume{36}; Delete; }; BooleanUnion(38) = {Volume{18}; Delete; }{ Volume{37}; Delete; }; BooleanUnion(39) = {Volume{19}; Delete; }{ Volume{38}; Delete; }; BooleanUnion(40) = {Volume{20}; Delete; }{ Volume{39}; Delete; }; BooleanUnion(41) = {Volume{21}; Delete; }{ Volume{40}; Delete; }; f() = Abs(Boundary{ Volume{41}; }); e() = Unique(Abs(Boundary{ Surface{f()}; })); Fillet{41}{e()}{0.003} -------------- next part -------------- A non-text attachment was scrubbed... Name: starn.png Type: image/png Size: 157555 bytes Desc: not available URL: -------------- next part -------------- //+ SetFactory("OpenCASCADE"); Mesh.CharacteristicLengthMin = 0.001; Mesh.CharacteristicLengthMax = 0.005; Sphere(1) = {0, 0, 0, 0.030, -Pi/2, Pi/2, 2*Pi}; Cone(2) = {0, 0, 0, -0.043, 0.01, -0.01, 0.015, 0.003, 2*Pi}; Cone(3) = {0, 0, 0, -0.038, -0.024, 0, 0.015, 0.003, 2*Pi}; Cone(4) = {0, 0, 0, -0.034, 0.022, 0.02, 0.015, 0.003, 2*Pi}; Cone(5) = {0, 0, 0, -0.029, -0.004, -0.034, 0.015, 0.003, 2*Pi}; Cone(6) = {0, 0, 0, -0.025, -0.022, 0.03, 0.015, 0.003, 2*Pi}; Cone(7) = {0, 0, 0, -0.02, 0.039, -0.008, 0.015, 0.003, 2*Pi}; Cone(8) = {0, 0, 0, -0.016, -0.036, -0.022, 0.015, 0.003, 2*Pi}; Cone(9) = {0, 0, 0, -0.011, 0.012, 0.042, 0.015, 0.003, 2*Pi}; Cone(10) = {0, 0, 0, -0.007, 0.02, -0.04, 0.015, 0.003, 2*Pi}; Cone(11) = {0, 0, 0, -0.002, -0.042, 0.016, 0.015, 0.003, 2*Pi}; Cone(12) = {0, 0, 0, 0.002, 0.042, 0.016, 0.015, 0.003, 2*Pi}; Cone(13) = {0, 0, 0, 0.007, -0.02, -0.04, 0.015, 0.003, 2*Pi}; Cone(14) = {0, 0, 0, 0.011, -0.012, 0.042, 0.015, 0.003, 2*Pi}; Cone(15) = {0, 0, 0, 0.016, 0.036, -0.022, 0.015, 0.003, 2*Pi}; Cone(16) = {0, 0, 0, 0.02, -0.039, -0.008, 0.015, 0.003, 2*Pi}; Cone(17) = {0, 0, 0, 0.025, 0.022, 0.03, 0.015, 0.003, 2*Pi}; Cone(18) = {0, 0, 0, 0.029, 0.004, -0.034, 0.015, 0.003, 2*Pi}; Cone(19) = {0, 0, 0, 0.034, -0.022, 0.02, 0.015, 0.003, 2*Pi}; Cone(20) = {0, 0, 0, 0.038, 0.024, 0, 0.015, 0.003, 2*Pi}; Cone(21) = {0, 0, 0, 0.043, -0.01, -0.01, 0.015, 0.003, 2*Pi}; BooleanUnion(22) = {Volume{1}; Delete; }{ Volume{2}; Delete; }; BooleanUnion(23) = {Volume{3}; Delete; }{ Volume{22}; Delete; }; BooleanUnion(24) = {Volume{4}; Delete; }{ Volume{23}; Delete; }; BooleanUnion(25) = {Volume{5}; Delete; }{ Volume{24}; Delete; }; BooleanUnion(26) = {Volume{6}; Delete; }{ Volume{25}; Delete; }; BooleanUnion(27) = {Volume{7}; Delete; }{ Volume{26}; Delete; }; BooleanUnion(28) = {Volume{8}; Delete; }{ Volume{27}; Delete; }; BooleanUnion(29) = {Volume{9}; Delete; }{ Volume{28}; Delete; }; BooleanUnion(30) = {Volume{10}; Delete; }{ Volume{29}; Delete; }; BooleanUnion(31) = {Volume{11}; Delete; }{ Volume{30}; Delete; }; BooleanUnion(32) = {Volume{12}; Delete; }{ Volume{31}; Delete; }; BooleanUnion(33) = {Volume{13}; Delete; }{ Volume{32}; Delete; }; BooleanUnion(34) = {Volume{14}; Delete; }{ Volume{33}; Delete; }; BooleanUnion(35) = {Volume{15}; Delete; }{ Volume{34}; Delete; }; BooleanUnion(36) = {Volume{16}; Delete; }{ Volume{35}; Delete; }; BooleanUnion(37) = {Volume{17}; Delete; }{ Volume{36}; Delete; }; BooleanUnion(38) = {Volume{18}; Delete; }{ Volume{37}; Delete; }; BooleanUnion(39) = {Volume{19}; Delete; }{ Volume{38}; Delete; }; BooleanUnion(40) = {Volume{20}; Delete; }{ Volume{39}; Delete; }; BooleanUnion(41) = {Volume{21}; Delete; }{ Volume{40}; Delete; }; f() = Abs(Boundary{ Volume{41}; }); e() = Unique(Abs(Boundary{ Surface{f()}; })); Fillet{41}{e()}{0.003} -------------- next part -------------- A non-text attachment was scrubbed... Name: Screen Shot 2020-04-20 at 8.14.36 PM.png Type: image/png Size: 999897 bytes Desc: not available URL: From cgeuzaine at uliege.be Mon Apr 20 11:22:57 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 20 Apr 2020 11:22:57 +0200 Subject: [Gmsh] fillet producing irregular mesh In-Reply-To: References: Message-ID: Hi Baptiste, The issue is with the geometry: OpenCASCADE seems to generate invalid surfaces, that extend outside of the bounding curves. You can check by showing the STL mesh generated by OpenCASCADE itself, e.g. for surface 129. You could send the attached bug.brep to the OpenCASCADE developers so they can have a look. Christophe -------------- next part -------------- A non-text attachment was scrubbed... Name: bug.png Type: image/png Size: 58107 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: bug.brep Type: application/octet-stream Size: 502934 bytes Desc: not available URL: -------------- next part -------------- > On 20 Apr 2020, at 10:16, baptiste auguie wrote: > > Hi, > > I'm very new to the program so I may well have overlooked something basic. I adapted one of the examples for constructive geometry with boolean union between a central sphere and a number of conical spikes. I end the shape by rounding off sharp edges with a fillet, but when inspecting the mesh visually I find some strange irregularities where fillet was applied (and applying Smooth 2D doesn't seem to be enough to smoothen them out). > > Thankfully the model doesn't seem too bothered by this and produces reasonable results; I'd still be keen to know if the mesh could be improved. I attach the geo file as well as a rendering of the structure for clarity. > > Best regards, > > baptiste > > > > ---- > > geo file > > //+ > SetFactory("OpenCASCADE"); > > Mesh.CharacteristicLengthMin = 0.001; > Mesh.CharacteristicLengthMax = 0.005; > Sphere(1) = {0, 0, 0, 0.030, -Pi/2, Pi/2, 2*Pi}; > > Cone(2) = {0, 0, 0, -0.043, 0.01, -0.01, 0.015, 0.003, 2*Pi}; > Cone(3) = {0, 0, 0, -0.038, -0.024, 0, 0.015, 0.003, 2*Pi}; > Cone(4) = {0, 0, 0, -0.034, 0.022, 0.02, 0.015, 0.003, 2*Pi}; > Cone(5) = {0, 0, 0, -0.029, -0.004, -0.034, 0.015, 0.003, 2*Pi}; > Cone(6) = {0, 0, 0, -0.025, -0.022, 0.03, 0.015, 0.003, 2*Pi}; > Cone(7) = {0, 0, 0, -0.02, 0.039, -0.008, 0.015, 0.003, 2*Pi}; > Cone(8) = {0, 0, 0, -0.016, -0.036, -0.022, 0.015, 0.003, 2*Pi}; > Cone(9) = {0, 0, 0, -0.011, 0.012, 0.042, 0.015, 0.003, 2*Pi}; > Cone(10) = {0, 0, 0, -0.007, 0.02, -0.04, 0.015, 0.003, 2*Pi}; > Cone(11) = {0, 0, 0, -0.002, -0.042, 0.016, 0.015, 0.003, 2*Pi}; > Cone(12) = {0, 0, 0, 0.002, 0.042, 0.016, 0.015, 0.003, 2*Pi}; > Cone(13) = {0, 0, 0, 0.007, -0.02, -0.04, 0.015, 0.003, 2*Pi}; > Cone(14) = {0, 0, 0, 0.011, -0.012, 0.042, 0.015, 0.003, 2*Pi}; > Cone(15) = {0, 0, 0, 0.016, 0.036, -0.022, 0.015, 0.003, 2*Pi}; > Cone(16) = {0, 0, 0, 0.02, -0.039, -0.008, 0.015, 0.003, 2*Pi}; > Cone(17) = {0, 0, 0, 0.025, 0.022, 0.03, 0.015, 0.003, 2*Pi}; > Cone(18) = {0, 0, 0, 0.029, 0.004, -0.034, 0.015, 0.003, 2*Pi}; > Cone(19) = {0, 0, 0, 0.034, -0.022, 0.02, 0.015, 0.003, 2*Pi}; > Cone(20) = {0, 0, 0, 0.038, 0.024, 0, 0.015, 0.003, 2*Pi}; > Cone(21) = {0, 0, 0, 0.043, -0.01, -0.01, 0.015, 0.003, 2*Pi}; > BooleanUnion(22) = {Volume{1}; Delete; }{ Volume{2}; Delete; }; > BooleanUnion(23) = {Volume{3}; Delete; }{ Volume{22}; Delete; }; > BooleanUnion(24) = {Volume{4}; Delete; }{ Volume{23}; Delete; }; > BooleanUnion(25) = {Volume{5}; Delete; }{ Volume{24}; Delete; }; > BooleanUnion(26) = {Volume{6}; Delete; }{ Volume{25}; Delete; }; > BooleanUnion(27) = {Volume{7}; Delete; }{ Volume{26}; Delete; }; > BooleanUnion(28) = {Volume{8}; Delete; }{ Volume{27}; Delete; }; > BooleanUnion(29) = {Volume{9}; Delete; }{ Volume{28}; Delete; }; > BooleanUnion(30) = {Volume{10}; Delete; }{ Volume{29}; Delete; }; > BooleanUnion(31) = {Volume{11}; Delete; }{ Volume{30}; Delete; }; > BooleanUnion(32) = {Volume{12}; Delete; }{ Volume{31}; Delete; }; > BooleanUnion(33) = {Volume{13}; Delete; }{ Volume{32}; Delete; }; > BooleanUnion(34) = {Volume{14}; Delete; }{ Volume{33}; Delete; }; > BooleanUnion(35) = {Volume{15}; Delete; }{ Volume{34}; Delete; }; > BooleanUnion(36) = {Volume{16}; Delete; }{ Volume{35}; Delete; }; > BooleanUnion(37) = {Volume{17}; Delete; }{ Volume{36}; Delete; }; > BooleanUnion(38) = {Volume{18}; Delete; }{ Volume{37}; Delete; }; > BooleanUnion(39) = {Volume{19}; Delete; }{ Volume{38}; Delete; }; > BooleanUnion(40) = {Volume{20}; Delete; }{ Volume{39}; Delete; }; > BooleanUnion(41) = {Volume{21}; Delete; }{ Volume{40}; Delete; }; > f() = Abs(Boundary{ Volume{41}; }); > e() = Unique(Abs(Boundary{ Surface{f()}; })); > > Fillet{41}{e()}{0.003} > > > _______________________________________________ > 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 From fahadsarfrazbutt at gmail.com Mon Apr 20 14:42:51 2020 From: fahadsarfrazbutt at gmail.com (Fahad Sarfraz Butt) Date: Mon, 20 Apr 2020 17:42:51 +0500 Subject: [Gmsh] Geo edges missing after rotation operation In-Reply-To: References: Message-ID: <20200420124251.6176853.5805.1777@gmail.com> An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Mon Apr 20 22:13:05 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 20 Apr 2020 22:13:05 +0200 Subject: [Gmsh] Geo edges missing after rotation operation In-Reply-To: <20200420124251.6176853.5805.1777@gmail.com> References: <20200420124251.6176853.5805.1777@gmail.com> Message-ID: > On 20 Apr 2020, at 14:42, Fahad Sarfraz Butt wrote: > > Hello GMSH Team: Fahad here > > > > I have built a wind-turbine blade in GMSH using following steps: > > 1. Point coordinates of airfoils distributed along span > > 2. Connecting points using splines to first make airfoils > > 3. Then connecting airfoils through splines running through points along airfoil surfaces > > I have two questions: > > Question 1) how can I make this blade a solid? I only want the surface of the blade as a plane or ruled surface and not the individual airfoils. Please suggest how can I create a solid and a volume in my case? > > Question 2) ?I rotate and duplicate this blade to generate a rotor of two blades. Original blade has 259 lines and now after rotation with duplication, I should have 518 lines but I get 480 lines only as shown by statistics and also by hovering over the splines I see that tags are missing. Kindly help. > Maybe send an example so we can have a look? Christophe > Thanks > > > > Thanks. > > > > > > > > > _______________________________________________ > 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 From auguieba at gmail.com Tue Apr 21 05:48:08 2020 From: auguieba at gmail.com (=?UTF-8?Q?baptiste_augui=c3=a9?=) Date: Tue, 21 Apr 2020 15:48:08 +1200 Subject: [Gmsh] fillet producing irregular mesh In-Reply-To: References: Message-ID: <102322f2-b9e7-6fe2-e11b-cfbab3e888cd@gmail.com> Hi Christophe, Thank you for the quick response. I wouldn't feel very comfortable emailing OpenCascade developers since I didn't know their project's existence until a google search 5 minutes ago ? I wouldn't know how to describe the problem properly to them, seeing that the gmsh?OpenCascade connection is but a black box to me, as a naive new user of the program. I would assume they'll have heard of the underlying problem though, if this is a common operation? I'd appreciate if there's a possible workaround to circumvent this issue from the gmsh side, but otherwise I'll have to hope the little glitches don't have a serious effect on the results (the results do seem fine). Best regards, baptiste On 20/04/20 9:22 pm, Christophe Geuzaine wrote: > Hi Baptiste, > > The issue is with the geometry: OpenCASCADE seems to generate invalid surfaces, that extend outside of the bounding curves. You can check by showing the STL mesh generated by OpenCASCADE itself, e.g. for surface 129. > > You could send the attached bug.brep to the OpenCASCADE developers so they can have a look. > > Christophe > > > >> On 20 Apr 2020, at 10:16, baptiste auguie wrote: >> >> Hi, >> >> I'm very new to the program so I may well have overlooked something basic. I adapted one of the examples for constructive geometry with boolean union between a central sphere and a number of conical spikes. I end the shape by rounding off sharp edges with a fillet, but when inspecting the mesh visually I find some strange irregularities where fillet was applied (and applying Smooth 2D doesn't seem to be enough to smoothen them out). >> >> Thankfully the model doesn't seem too bothered by this and produces reasonable results; I'd still be keen to know if the mesh could be improved. I attach the geo file as well as a rendering of the structure for clarity. >> >> Best regards, >> >> baptiste >> >> >> >> ---- >> >> geo file >> >> //+ >> SetFactory("OpenCASCADE"); >> >> Mesh.CharacteristicLengthMin = 0.001; >> Mesh.CharacteristicLengthMax = 0.005; >> Sphere(1) = {0, 0, 0, 0.030, -Pi/2, Pi/2, 2*Pi}; >> >> Cone(2) = {0, 0, 0, -0.043, 0.01, -0.01, 0.015, 0.003, 2*Pi}; >> Cone(3) = {0, 0, 0, -0.038, -0.024, 0, 0.015, 0.003, 2*Pi}; >> Cone(4) = {0, 0, 0, -0.034, 0.022, 0.02, 0.015, 0.003, 2*Pi}; >> Cone(5) = {0, 0, 0, -0.029, -0.004, -0.034, 0.015, 0.003, 2*Pi}; >> Cone(6) = {0, 0, 0, -0.025, -0.022, 0.03, 0.015, 0.003, 2*Pi}; >> Cone(7) = {0, 0, 0, -0.02, 0.039, -0.008, 0.015, 0.003, 2*Pi}; >> Cone(8) = {0, 0, 0, -0.016, -0.036, -0.022, 0.015, 0.003, 2*Pi}; >> Cone(9) = {0, 0, 0, -0.011, 0.012, 0.042, 0.015, 0.003, 2*Pi}; >> Cone(10) = {0, 0, 0, -0.007, 0.02, -0.04, 0.015, 0.003, 2*Pi}; >> Cone(11) = {0, 0, 0, -0.002, -0.042, 0.016, 0.015, 0.003, 2*Pi}; >> Cone(12) = {0, 0, 0, 0.002, 0.042, 0.016, 0.015, 0.003, 2*Pi}; >> Cone(13) = {0, 0, 0, 0.007, -0.02, -0.04, 0.015, 0.003, 2*Pi}; >> Cone(14) = {0, 0, 0, 0.011, -0.012, 0.042, 0.015, 0.003, 2*Pi}; >> Cone(15) = {0, 0, 0, 0.016, 0.036, -0.022, 0.015, 0.003, 2*Pi}; >> Cone(16) = {0, 0, 0, 0.02, -0.039, -0.008, 0.015, 0.003, 2*Pi}; >> Cone(17) = {0, 0, 0, 0.025, 0.022, 0.03, 0.015, 0.003, 2*Pi}; >> Cone(18) = {0, 0, 0, 0.029, 0.004, -0.034, 0.015, 0.003, 2*Pi}; >> Cone(19) = {0, 0, 0, 0.034, -0.022, 0.02, 0.015, 0.003, 2*Pi}; >> Cone(20) = {0, 0, 0, 0.038, 0.024, 0, 0.015, 0.003, 2*Pi}; >> Cone(21) = {0, 0, 0, 0.043, -0.01, -0.01, 0.015, 0.003, 2*Pi}; >> BooleanUnion(22) = {Volume{1}; Delete; }{ Volume{2}; Delete; }; >> BooleanUnion(23) = {Volume{3}; Delete; }{ Volume{22}; Delete; }; >> BooleanUnion(24) = {Volume{4}; Delete; }{ Volume{23}; Delete; }; >> BooleanUnion(25) = {Volume{5}; Delete; }{ Volume{24}; Delete; }; >> BooleanUnion(26) = {Volume{6}; Delete; }{ Volume{25}; Delete; }; >> BooleanUnion(27) = {Volume{7}; Delete; }{ Volume{26}; Delete; }; >> BooleanUnion(28) = {Volume{8}; Delete; }{ Volume{27}; Delete; }; >> BooleanUnion(29) = {Volume{9}; Delete; }{ Volume{28}; Delete; }; >> BooleanUnion(30) = {Volume{10}; Delete; }{ Volume{29}; Delete; }; >> BooleanUnion(31) = {Volume{11}; Delete; }{ Volume{30}; Delete; }; >> BooleanUnion(32) = {Volume{12}; Delete; }{ Volume{31}; Delete; }; >> BooleanUnion(33) = {Volume{13}; Delete; }{ Volume{32}; Delete; }; >> BooleanUnion(34) = {Volume{14}; Delete; }{ Volume{33}; Delete; }; >> BooleanUnion(35) = {Volume{15}; Delete; }{ Volume{34}; Delete; }; >> BooleanUnion(36) = {Volume{16}; Delete; }{ Volume{35}; Delete; }; >> BooleanUnion(37) = {Volume{17}; Delete; }{ Volume{36}; Delete; }; >> BooleanUnion(38) = {Volume{18}; Delete; }{ Volume{37}; Delete; }; >> BooleanUnion(39) = {Volume{19}; Delete; }{ Volume{38}; Delete; }; >> BooleanUnion(40) = {Volume{20}; Delete; }{ Volume{39}; Delete; }; >> BooleanUnion(41) = {Volume{21}; Delete; }{ Volume{40}; Delete; }; >> f() = Abs(Boundary{ Volume{41}; }); >> e() = Unique(Abs(Boundary{ Surface{f()}; })); >> >> Fillet{41}{e()}{0.003} >> >> >> _______________________________________________ >> 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 > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hubatsch at pks.mpg.de Thu Apr 23 17:54:40 2020 From: hubatsch at pks.mpg.de (Lars Hubatsch) Date: Thu, 23 Apr 2020 17:54:40 +0200 Subject: [Gmsh] Refine mesh via Gaussian rim inside disk Message-ID: <09C92A9A-5FBB-41AB-821F-478CCD5C89F4@pks.mpg.de> Hi all, I?m trying to create a disk mesh with a given background and, within a rim around the center, a local decrease of the characteristic length that follows a Gaussian (see attached image 1). Code: SetFactory("OpenCASCADE"); Disk(1) = {0, 0, 0, 4}; Physical Surface("surfacedomain") = {1}; Field[3] = MathEval; Field[3].F = ".5 - (.5-0.01)*exp(-(1./0.1) *((sqrt(x*x+y*y)-1))*((sqrt(x*x+y*y)-1)))"; Background Field = 3; However, for the parameters above the rim is not closed, what am I getting wrong? If I change parameters slightly, e.g. 0.1 to 0.2 or 0.01 to 0.005 I get the correct representation. My problem is, that I eventually would like to do this in 3D within a sphere instead of a disk. However, this is visually harder to inspect (or is there a good way to do this?), so I would like to make sure that things work in principle in 2D. Thanks, Lars -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Screenshot 2020-04-23 at 17.54.29.png Type: image/png Size: 178800 bytes Desc: not available URL: From randalandress1507 at comcast.net Fri Apr 24 06:49:45 2020 From: randalandress1507 at comcast.net (Andress) Date: Thu, 23 Apr 2020 23:49:45 -0500 Subject: [Gmsh] Bisecting Subdomains of Imported Geometry/Mesh Message-ID: Background I am doing Finite Element Analysis to study the flow of electric current in persons and animals due to stray electric current in bodies of water. I am using FEAtool(a MATLAB plugin) which employs gmsh to generate grids from geometries. Part of my analysis involves the calculation of the total current through (perpendicular to) the cross section of a sub-domain which is bordered by the intersection of a cut plane and the subdomain surface. This current is the integral of current density over the area of the cross section. FEAtool does this integration but only over a surface that is a boundary of the subdomain. Here is an example (See attached illustrations.): Geometry: a 1m cube (subdomain 2) containing a component (subdomain 1) made of 4 joined cylindrical sections. Boundaries: 5V/0V on the opposite faces of the cube that are perpendicular to the axes of the cylinders and zero current on the other cube faces. Solution: current density is plotted and a YZ plane is cut through it in the center (at x = 0.5). I want to calculate the current flowing through each of the small connecting cylinders by integrating the current density over the two circular, planar intersections of the cut plane and the two small cylinders. In order to do this wholly within FEAtool, I must create (geometry) the small cylinders so that they are in two pieces and simply share a face/boundary. That way there is a pre-defined boundary over which FEAtool can do the integration. Sometimes this is not possible/convenient because the model geometry has been imported and/or is quite complex (such as that of a human body) or because the decision to make such a measurement/cut-plane is made only after the model and mesh is completed and the solution is being examined. Question If I export the model geometry and/or the mesh from FEAtool to gmsh can the model/mesh be split by a designated plane within gmsh so that, when exported and imported back into FEAtool, the sub-domains intersected by the plane would have true faces/boundaries so they could be designated in an integration? If possible, but not required, I would like to be able to designate the sub-domains to be split by the cut plane in gmsh so as to not split a sub-domain over which integration is not needed. >From the FEAtool perspective, see: http://forum.featool.com/Integration-of-Current-Density-over-Slice-Intersection-td180.html Kind regards, Randal -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: cylinders-in-box-geometry.jpg Type: image/jpeg Size: 161221 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: cylinders-cut-plane-to-integrate.jpg Type: image/jpeg Size: 173228 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: cylinders-cut-plane-to-integrate-YZplane at 50cm.jpg Type: image/jpeg Size: 150759 bytes Desc: not available URL: From cgeuzaine at uliege.be Fri Apr 24 09:21:19 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 24 Apr 2020 09:21:19 +0200 Subject: [Gmsh] Refine mesh via Gaussian rim inside disk In-Reply-To: <09C92A9A-5FBB-41AB-821F-478CCD5C89F4@pks.mpg.de> References: <09C92A9A-5FBB-41AB-821F-478CCD5C89F4@pks.mpg.de> Message-ID: Hi Lars, The default algorithm (Frontal-Delaunay) sometimes still has trouble with size fields with small features. You might want to use the Delaunay algorithm in such cases: Mesh.Algorithm = 5; (I will add a note in the documentation about this.) For 3D meshes, the latest development snapshot includes mesh size field support in the new 3D algorithm HXT (Mesh.Algorithm3D = 10). Your feedback on this experimental support will be very welcome! Cheers, Christophe > On 23 Apr 2020, at 17:54, Lars Hubatsch wrote: > > Hi all, > > I?m trying to create a disk mesh with a given background and, within a rim around the center, a local decrease of the characteristic length that follows a Gaussian (see attached image 1). > > Code: > > SetFactory("OpenCASCADE"); > Disk(1) = {0, 0, 0, 4}; > Physical Surface("surfacedomain") = {1}; > > Field[3] = MathEval; > Field[3].F = ".5 - (.5-0.01)*exp(-(1./0.1) *((sqrt(x*x+y*y)-1))*((sqrt(x*x+y*y)-1)))"; > > Background Field = 3; > > However, for the parameters above the rim is not closed, what am I getting wrong? > If I change parameters slightly, e.g. 0.1 to 0.2 or 0.01 to 0.005 I get the correct representation. My problem is, that I eventually would like to do this in 3D within a sphere instead of a disk. However, this is visually harder to inspect (or is there a good way to do this?), so I would like to make sure that things work in principle in 2D. > > Thanks, > Lars > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Fri Apr 24 09:24:09 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 24 Apr 2020 09:24:09 +0200 Subject: [Gmsh] Bisecting Subdomains of Imported Geometry/Mesh In-Reply-To: References: Message-ID: Dear Randal, If you can import the geometry as e.g. a STEP file in Gmsh, you can indeed split it with cutting planes. See t20 : http://gmsh.info/dev/doc/texinfo/gmsh.html#t20 If you cut the tetrahedral mesh in a brute-force way you will end up with polyhedra, and generally very poorly shaped elements. Christophe > On 24 Apr 2020, at 06:49, Andress wrote: > > Background > > I am doing Finite Element Analysis to study the flow of electric current in persons and animals due to stray electric current in bodies of water. I am using FEAtool(a MATLAB plugin) which employs gmsh to generate grids from geometries. > > Part of my analysis involves the calculation of the total current through (perpendicular to) the cross section of a sub-domain which is bordered by the intersection of a cut plane and the subdomain surface. This current is the integral of current density over the area of the cross section. > > FEAtool does this integration but only over a surface that is a boundary of the subdomain. > > Here is an example (See attached illustrations.): > > Geometry: a 1m cube (subdomain 2) containing a component (subdomain 1) made of 4 joined cylindrical sections. > > Boundaries: 5V/0V on the opposite faces of the cube that are perpendicular to the axes of the cylinders and zero current on the other cube faces. > > Solution: current density is plotted and a YZ plane is cut through it in the center (at x = 0.5). > > I want to calculate the current flowing through each of the small connecting cylinders by integrating the current density over the two circular, planar intersections of the cut plane and the two small cylinders. > > In order to do this wholly within FEAtool, I must create (geometry) the small cylinders so that they are in two pieces and simply share a face/boundary. That way there is a pre-defined boundary over which FEAtool can do the integration. > > Sometimes this is not possible/convenient because the model geometry has been imported and/or is quite complex (such as that of a human body) or because the decision to make such a measurement/cut-plane is made only after the model and mesh is completed and the solution is being examined. > > Question > > If I export the model geometry and/or the mesh from FEAtool to gmsh can the model/mesh be split by a designated plane within gmsh so that, when exported and imported back into FEAtool, the sub-domains intersected by the plane would have true faces/boundaries so they could be designated in an integration? > > If possible, but not required, I would like to be able to designate the sub-domains to be split by the cut plane in gmsh so as to not split a sub-domain over which integration is not needed. > > From the FEAtool perspective, see: http://forum.featool.com/Integration-of-Current-Density-over-Slice-Intersection-td180.html > > Kind regards, > Randal > > > > > > > > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Fri Apr 24 09:39:41 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 24 Apr 2020 09:39:41 +0200 Subject: [Gmsh] Refine mesh via Gaussian rim inside disk In-Reply-To: References: <09C92A9A-5FBB-41AB-821F-478CCD5C89F4@pks.mpg.de> Message-ID: <2B2226A6-7DFF-446D-9BDF-2BD7DB37105C@uliege.be> > On 24 Apr 2020, at 09:21, Christophe Geuzaine wrote: > > > Hi Lars, > > The default algorithm (Frontal-Delaunay) sometimes still has trouble with size fields with small features. You might want to use the Delaunay algorithm in such cases: > > Mesh.Algorithm = 5; > > (I will add a note in the documentation about this.) > > For 3D meshes, the latest development snapshot includes mesh size field support in the new 3D algorithm HXT (Mesh.Algorithm3D = 10). Your feedback on this experimental support will be very welcome! > At first sight it seems ok: > Cheers, > > Christophe > > >> On 23 Apr 2020, at 17:54, Lars Hubatsch wrote: >> >> Hi all, >> >> I?m trying to create a disk mesh with a given background and, within a rim around the center, a local decrease of the characteristic length that follows a Gaussian (see attached image 1). >> >> Code: >> >> SetFactory("OpenCASCADE"); >> Disk(1) = {0, 0, 0, 4}; >> Physical Surface("surfacedomain") = {1}; >> >> Field[3] = MathEval; >> Field[3].F = ".5 - (.5-0.01)*exp(-(1./0.1) *((sqrt(x*x+y*y)-1))*((sqrt(x*x+y*y)-1)))"; >> >> Background Field = 3; >> >> However, for the parameters above the rim is not closed, what am I getting wrong? >> If I change parameters slightly, e.g. 0.1 to 0.2 or 0.01 to 0.005 I get the correct representation. My problem is, that I eventually would like to do this in 3D within a sphere instead of a disk. However, this is visually harder to inspect (or is there a good way to do this?), so I would like to make sure that things work in principle in 2D. >> >> Thanks, >> Lars >> >> >> _______________________________________________ >> 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 > > > ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: mesh.png Type: image/png Size: 1366964 bytes Desc: not available URL: From ms79vary at mailserver.tu-freiberg.de Fri Apr 24 11:49:18 2020 From: ms79vary at mailserver.tu-freiberg.de (Mathias Scheunert) Date: Fri, 24 Apr 2020 11:49:18 +0200 Subject: [Gmsh] Point In Edge - a workaround with issues Message-ID: Dear developers and users, **** The goal* We want to create a checkerboard model to run some resolution studies with our FE software. For that, we construct a geometry consisting of a large box which includes an arbitrary amount of small boxes at an arbitrary position using the OpenCascade kernel features. Subsequently, we add some arbitrary points to that geometry which we need to be part of the 3D mesh, i.e. which should be contained in mesh as mesh vertices. In case of these points are located within any face or volume of the geometry, `|Point | Curve { expression-list } In Surface { expression };`| or `|Point | Curve { expression-list } In Volume { expression };` |does it's job very well! However, if points are accidentally located on edges, making them part of the mesh vertex list is not possible as unfortunately there is no `|Point | Curve { expression-list } In Line { expression };` | so far. **** The workaround* We tried to force Gmsh adding that points to the edges by defining small lines which we add to the surface that belongs to the respective edges. -> Please have a look on the attached MWE, that illustrates our approach. **** The problem * We are controlling the cell sizes by using a combination of filter. When changing the scales of our geometry or changing the parameter set of our filters, meshing sometimes fails without any - at least for us - understandable reason. -> Please try using line 6 instead of line 5 in the MWE. Does somebody have a hint how to fix that? Or, does somebody have an even better workaround for subsequently adding points to edges? ** Best regards, Mathias ps: We are using Gmsh 4.5.6. -- Dr. Mathias Scheunert Institute of Geophysics and Geoinformatics, TU Bergakademie Freiberg Gustav-Zeuner-Str. 12, D-09596 Freiberg Tel.: +493731393630 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- // Gmsh project, tested with Gmsh 4.5.6 SetFactory("OpenCASCADE"); // Problem parameter size_at_point = 1; // fails! //size_at_point = 10; // works! domain_w = 1e6; box_w = 1e2; // Set Volumes Box(1) = {-box_w, -box_w, -box_w, box_w, box_w, box_w}; Box(2) = {0, -box_w, -box_w, box_w, box_w, box_w}; boxes() = {1, 2}; Box(3) = {-domain_w, -domain_w, -domain_w, 2*domain_w, 2*domain_w, domain_w}; BooleanFragments{Volume{3}; Delete;} {Volume{boxes()}; Delete;} // Add point on edge that should be vertex of mesh crit_pt_id = newp; Point(crit_pt_id) = {0, -0.5*box_w, 0}; tmp_coo() = Point{crit_pt_id}; tmp_pt_id = newp; tmp_pts() = {tmp_pt_id, crit_pt_id}; Point(tmp_pt_id) = {tmp_coo(0), tmp_coo(1), tmp_coo(2)-size_at_point}; // add dummy point tmp_ln_id = newl; Line(tmp_ln_id) = {crit_pt_id, tmp_pt_id}; // add dummy line For v In {0:#boxes()-1} tmp_surfs() = Abs(Boundary{Volume{boxes(v)};}); // Search those box faces, which include the point AND the dummy point For s In {0:#tmp_surfs()-1} tmp_bb() = BoundingBox Surface{tmp_surfs(s)}; pt_in_bb() = Point In BoundingBox{tmp_bb(0), tmp_bb(1), tmp_bb(2), tmp_bb(3), tmp_bb(4), tmp_bb(5)}; If (#pt_in_bb() > 5) Line{tmp_ln_id} In Surface{tmp_surfs(s)}; // add dummy line to resp. face EndIf EndFor EndFor // Cell sizes at point pad = 0.5; Field[1] = Distance; Field[1].NodesList = {crit_pt_id}; Field[10] = Threshold; Field[10].IField = 1; Field[10].LcMin = size_at_point; Field[10].DistMin = 2*size_at_point; Field[10].LcMax = pad*domain_w; Field[10].DistMax = pad*domain_w; // Set background field Field[100] = Min; Field[100].FieldsList = {10}; Background Field = {100}; Mesh.CharacteristicLengthFromPoints = 0; Mesh.CharacteristicLengthFromCurvature = 0; Mesh.CharacteristicLengthExtendFromBoundary = 0; Mesh 3; From cgeuzaine at uliege.be Fri Apr 24 13:51:54 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 24 Apr 2020 13:51:54 +0200 Subject: [Gmsh] Point In Edge - a workaround with issues In-Reply-To: References: Message-ID: <6544AB81-0DA4-4319-8C93-D42A40B34124@uliege.be> Dear Mathias, Just add the point in the fragment as well: // Gmsh project, tested with Gmsh 4.5.6 SetFactory("OpenCASCADE"); // Problem parameter size_at_point = 1; // fails! //size_at_point = 10; // works! domain_w = 1e6; box_w = 1e2; // Set Volumes Box(1) = {-box_w, -box_w, -box_w, box_w, box_w, box_w}; Box(2) = {0, -box_w, -box_w, box_w, box_w, box_w}; boxes() = {1, 2}; Box(3) = {-domain_w, -domain_w, -domain_w, 2*domain_w, 2*domain_w, domain_w}; // Add point on edge that should be vertex of mesh crit_pt_id = newp; Point(crit_pt_id) = {0, -0.5*box_w, 0}; BooleanFragments{Volume{3}; Delete;} {Volume{boxes()}; Point{crit_pt_id}; Delete;} // Cell sizes at point pad = 0.5; Field[1] = Distance; Field[1].NodesList = {crit_pt_id}; Field[10] = Threshold; Field[10].IField = 1; Field[10].LcMin = size_at_point; Field[10].DistMin = 2*size_at_point; Field[10].LcMax = pad*domain_w; Field[10].DistMax = pad*domain_w; // Set background field Field[100] = Min; Field[100].FieldsList = {10}; Background Field = {100}; Mesh.CharacteristicLengthFromPoints = 0; Mesh.CharacteristicLengthFromCurvature = 0; Mesh.CharacteristicLengthExtendFromBoundary = 0; Christophe > On 24 Apr 2020, at 11:49, Mathias Scheunert wrote: > > Dear developers and users, > > > > *** The goal > > We want to create a checkerboard model to run some resolution studies with our FE software. > > For that, we construct a geometry consisting of a large box which includes an arbitrary amount of small boxes at an arbitrary position using the OpenCascade kernel features. > > Subsequently, we add some arbitrary points to that geometry which we need to be part of the 3D mesh, i.e. which should be contained in mesh as mesh vertices. > > In case of these points are located within any face or volume of the geometry, `Point | Curve { expression-list } In Surface { expression };` or `Point | Curve { expression-list } In Volume { expression };` does it's job very well! > > However, if points are accidentally located on edges, making them part of the mesh vertex list is not possible as unfortunately there is no `Point | Curve { expression-list } In Line { expression };` so far. > > > > *** The workaround > > We tried to force Gmsh adding that points to the edges by defining small lines which we add to the surface that belongs to the respective edges. > > -> Please have a look on the attached MWE, that illustrates our approach. > > > > *** The problem > > We are controlling the cell sizes by using a combination of filter. > > When changing the scales of our geometry or changing the parameter set of our filters, meshing sometimes fails without any - at least for us - understandable reason. > > -> Please try using line 6 instead of line 5 in the MWE. > > > > Does somebody have a hint how to fix that? > > Or, does somebody have an even better workaround for subsequently adding points to edges? > > > Best regards, > Mathias > > ps: We are using Gmsh 4.5.6. > > -- > Dr. Mathias Scheunert > Institute of Geophysics and Geoinformatics, TU Bergakademie Freiberg > Gustav-Zeuner-Str. 12, D-09596 Freiberg > Tel.: +493731393630 > > _______________________________________________ > 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 From niko.karin at gmail.com Mon Apr 27 12:47:47 2020 From: niko.karin at gmail.com (Karin&NiKo) Date: Mon, 27 Apr 2020 12:47:47 +0200 Subject: [Gmsh] Restrict Field Message-ID: Dear Gmsh gurus, I would like to assign some size fields depending on some mathematical expressions *and* depending also on regions. To this end, I used the Restrict field but my use seems to be inappropriate. Unfortunately, there are no test or example. Could you please provide me with some help? My example is attached to this email. Best regards, NiKo -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: field.tgz Type: application/x-compressed-tar Size: 21851 bytes Desc: not available URL: From cgeuzaine at uliege.be Mon Apr 27 16:55:01 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 27 Apr 2020 16:55:01 +0200 Subject: [Gmsh] Restrict Field In-Reply-To: References: Message-ID: <4232A557-3D68-492C-966F-0B2B1AA66268@uliege.be> Hello Nicolas, > On 27 Apr 2020, at 12:47, Karin&NiKo wrote: > > Dear Gmsh gurus, > > I would like to assign some size fields depending on some mathematical expressions *and* depending also on regions. > To this end, I used the Restrict field but my use seems to be inappropriate. Unfortunately, there are no test or example. > cf. https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/benchmarks/2d/field_restrict.geo > Could you please provide me with some help? > Since you restrict all the fields to the volumes only, the 1D and 2D meshes have no mesh size constraint - hence the very coarse mesh boundary mesh. Here's your example with sizes on the boundaries as well: -------------- next part -------------- A non-text attachment was scrubbed... Name: script_Domaine.geo Type: application/octet-stream Size: 2192 bytes Desc: not available URL: -------------- next part -------------- Cheers, Christophe > My example is attached to this email. > > Best regards, > NiKo > _______________________________________________ > 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 From alsalihi at vki.ac.be Mon Apr 27 16:52:43 2020 From: alsalihi at vki.ac.be (Zuheyr Alsalihi) Date: Mon, 27 Apr 2020 16:52:43 +0200 Subject: [Gmsh] Surface mesh quality control Message-ID: <4bc-5ea6f180-13-2e8742c0@253418682> Dear colleagues,? Can I control the quality of a complex 3D surface STL mesh, surface areas, minimum angles, etc?? The plugin quality control seems to be checking 3D volumes? Thank you for reading!? -------------- next part -------------- An HTML attachment was scrubbed... URL: From niko.karin at gmail.com Mon Apr 27 17:59:59 2020 From: niko.karin at gmail.com (Karin&NiKo) Date: Mon, 27 Apr 2020 17:59:59 +0200 Subject: [Gmsh] Restrict Field In-Reply-To: <4232A557-3D68-492C-966F-0B2B1AA66268@uliege.be> References: <4232A557-3D68-492C-966F-0B2B1AA66268@uliege.be> Message-ID: Thanks a lot for your quick answer Christophe. I hope your relatives and yourself are doing good! Nicolas Le lun. 27 avr. 2020 ? 16:55, Christophe Geuzaine a ?crit : > > Hello Nicolas, > > > On 27 Apr 2020, at 12:47, Karin&NiKo wrote: > > > > Dear Gmsh gurus, > > > > I would like to assign some size fields depending on some mathematical > expressions *and* depending also on regions. > > To this end, I used the Restrict field but my use seems to be > inappropriate. Unfortunately, there are no test or example. > > > > cf. > https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/benchmarks/2d/field_restrict.geo > > > Could you please provide me with some help? > > > > Since you restrict all the fields to the volumes only, the 1D and 2D > meshes have no mesh size constraint - hence the very coarse mesh boundary > mesh. > > Here's your example with sizes on the boundaries as well: > > > > Cheers, > > Christophe > > > > > My example is attached to this email. > > > > Best regards, > > NiKo > > _______________________________________________ > > 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 > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Michael.Enders at icfo.eu Tue Apr 28 12:20:22 2020 From: Michael.Enders at icfo.eu (Michael Enders) Date: Tue, 28 Apr 2020 10:20:22 +0000 Subject: [Gmsh] Problem meshing imported STEP file Message-ID: Hello everyone, I would like to mesh a .STEP file (a picture is attached). But just running Merge "part.STEP"; Mesh 3; gives me the following errors: Error : No tetrahedra in region 1 Info : 3D refinement terminated (274 nodes total): Info : - 0 Delaunay cavities modified for star shapeness Info : - 0 nodes could not be inserted Info : - 0 tetrahedra created in 0.000178 sec. (0 tets/s) Error : No elements in volume 1 I tried to define new volumes and I managed to mesh some parts of the object, but I was never able to mesh everything. Do you have some ideas what I could do? Thanks, Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: imported_step_file.png Type: image/png Size: 22191 bytes Desc: imported_step_file.png URL: From mrkelalraschket at mail.com Tue Apr 28 12:30:47 2020 From: mrkelalraschket at mail.com (Kelal Raschket) Date: Tue, 28 Apr 2020 12:30:47 +0200 Subject: [Gmsh] export .step file without duplicated geometry Message-ID: An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: comparison.png Type: image/png Size: 131075 bytes Desc: not available URL: From cgeuzaine at uliege.be Tue Apr 28 13:34:41 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 28 Apr 2020 13:34:41 +0200 Subject: [Gmsh] Problem meshing imported STEP file In-Reply-To: References: Message-ID: <9E546D2E-CA60-48D2-8BBD-CB9292627765@uliege.be> > On 28 Apr 2020, at 12:20, Michael Enders wrote: > > Hello everyone, > > I would like to mesh a .STEP file (a picture is attached). But just running > > Merge "part.STEP"; > Mesh 3; > > gives me the following errors: > > Error : No tetrahedra in region 1 > Info : 3D refinement terminated (274 nodes total): > Info : - 0 Delaunay cavities modified for star shapeness > Info : - 0 nodes could not be inserted > Info : - 0 tetrahedra created in 0.000178 sec. (0 tets/s) > Error : No elements in volume 1 > > I tried to define new volumes and I managed to mesh some parts of the object, but I was never able to mesh everything. Do you have some ideas what I could do? > Can you send the .step file ? Christophe > Thanks, > Michael > _______________________________________________ > 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 From cgeuzaine at uliege.be Tue Apr 28 13:45:08 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 28 Apr 2020 13:45:08 +0200 Subject: [Gmsh] Problem meshing imported STEP file In-Reply-To: References: <9E546D2E-CA60-48D2-8BBD-CB9292627765@uliege.be> Message-ID: > On 28 Apr 2020, at 13:36, Michael Enders wrote: > > Yes, of course. Your mesh size specification (or lack thereof) leads to a very coarse surface mesh, which has overlapping edges. Simply adjust the mesh sizes to have something reasonable, e.g. by adapting the mesh size to the curvature: Cheers, Christophe > From: Christophe Geuzaine > Sent: 28 April 2020 13:34 > To: Michael Enders > Cc: gmsh at onelab.info > Subject: Re: [Gmsh] Problem meshing imported STEP file > > > > > On 28 Apr 2020, at 12:20, Michael Enders wrote: > > > > Hello everyone, > > > > I would like to mesh a .STEP file (a picture is attached). But just running > > > > Merge "part.STEP"; > > Mesh 3; > > > > gives me the following errors: > > > > Error : No tetrahedra in region 1 > > Info : 3D refinement terminated (274 nodes total): > > Info : - 0 Delaunay cavities modified for star shapeness > > Info : - 0 nodes could not be inserted > > Info : - 0 tetrahedra created in 0.000178 sec. (0 tets/s) > > Error : No elements in volume 1 > > > > I tried to define new volumes and I managed to mesh some parts of the object, but I was never able to mesh everything. Do you have some ideas what I could do? > > > > Can you send the .step file ? > > Christophe > > > Thanks, > > Michael > > _______________________________________________ > > 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 > > > > ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Screenshot.png Type: image/png Size: 634183 bytes Desc: not available URL: From Michael.Enders at icfo.eu Tue Apr 28 13:36:04 2020 From: Michael.Enders at icfo.eu (Michael Enders) Date: Tue, 28 Apr 2020 11:36:04 +0000 Subject: [Gmsh] Problem meshing imported STEP file In-Reply-To: <9E546D2E-CA60-48D2-8BBD-CB9292627765@uliege.be> References: , <9E546D2E-CA60-48D2-8BBD-CB9292627765@uliege.be> Message-ID: Yes, of course. ________________________________ From: Christophe Geuzaine Sent: 28 April 2020 13:34 To: Michael Enders Cc: gmsh at onelab.info Subject: Re: [Gmsh] Problem meshing imported STEP file > On 28 Apr 2020, at 12:20, Michael Enders wrote: > > Hello everyone, > > I would like to mesh a .STEP file (a picture is attached). But just running > > Merge "part.STEP"; > Mesh 3; > > gives me the following errors: > > Error : No tetrahedra in region 1 > Info : 3D refinement terminated (274 nodes total): > Info : - 0 Delaunay cavities modified for star shapeness > Info : - 0 nodes could not be inserted > Info : - 0 tetrahedra created in 0.000178 sec. (0 tets/s) > Error : No elements in volume 1 > > I tried to define new volumes and I managed to mesh some parts of the object, but I was never able to mesh everything. Do you have some ideas what I could do? > Can you send the .step file ? Christophe > Thanks, > Michael > _______________________________________________ > 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: part.STEP Type: application/octet-stream Size: 56975 bytes Desc: part.STEP URL: From cgeuzaine at uliege.be Tue Apr 28 14:18:33 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 28 Apr 2020 14:18:33 +0200 Subject: [Gmsh] export .step file without duplicated geometry In-Reply-To: References: Message-ID: <2D890B88-2139-426A-AF3E-67E4E466A688@uliege.be> Hi Kelal, Indeed it's a known issue with the STEP exporter. Let's continue the discussion here: https://gitlab.onelab.info/gmsh/gmsh/-/issues/624 We currently create a single compound for the model, and use the "STEPControl_AsIs" OpenCASCADE option to export STEP files. It's maybe not what we should do... Christophe > On 28 Apr 2020, at 12:30, Kelal Raschket wrote: > > Hello gmsh community, > > I found the following discussion in the gmsh mailing archive: http://onelab.info/pipermail/gmsh/2018/012233.html. > There they discussed how to export a geometry in gmsh using the OpenCASCADE kernel. I used the .geo file attatched there and exported it as .step file as well. When I then loaded the resulting .step file into gmsh again to see if everything worked like expected I recognized that points, curves and surfaces are loaded multiple times. What can I do to only save all my geometry once? > And a second, related question: Is there a similar function in gmsh for deciding to either save all the created geometry or only the ones also in a physical group? Something identical like the "Mesh.SaveAll" function just for geometry. > > Thank you, > Kelal Raschket > _______________________________________________ > 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 From ms79vary at mailserver.tu-freiberg.de Tue Apr 28 17:49:38 2020 From: ms79vary at mailserver.tu-freiberg.de (Mathias Scheunert) Date: Tue, 28 Apr 2020 17:49:38 +0200 Subject: [Gmsh] BooleanFragments on tiny scale Message-ID: <2aa3f11e-d822-67a5-beae-2ca013e3331a@mailserver.tu-freiberg.de> Dear developers and users, is there a way, to apply BooleanFragments (and others?) also on a very tiny scale? -> Please find attached a MWE, illustrating that this operation fails on a small scale even with reducing BooleanTolerance (ln 17/18). Best regards, Mathias -- Dr. Mathias Scheunert Institute of Geophysics and Geoinformatics, TU Bergakademie Freiberg Gustav-Zeuner-Str. 12, D-09596 Freiberg Tel.: +493731393630 -------------- next part -------------- SetFactory("OpenCASCADE"); // Create line from points. pt_id = newp; Point(pt_id+0) = {-1e-05, 0, 0}; Point(pt_id+1) = {1e-05, 0, 0}; ln_id = newl; Line(ln_id) = {pt_id+0, pt_id+1}; // Create surfaces. fc_id = news; domain_r = 3e-07; Disk(fc_id+0) = {-5e-06, 0, 0, domain_r}; Disk(fc_id+1) = { 5e-06, 0, 0, 10*domain_r}; // Intersect surfaces with line. tol = 1e-6; // no cuts at all //tol = 1e-13; // only large disc is halfed Geometry.ToleranceBoolean = tol; frag_ents() = BooleanFragments{Curve{ln_id}; Delete;}{Surface{fc_id+0, fc_id+1}; Delete;}; From cgeuzaine at uliege.be Tue Apr 28 18:26:21 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 28 Apr 2020 18:26:21 +0200 Subject: [Gmsh] BooleanFragments on tiny scale In-Reply-To: <2aa3f11e-d822-67a5-beae-2ca013e3331a@mailserver.tu-freiberg.de> References: <2aa3f11e-d822-67a5-beae-2ca013e3331a@mailserver.tu-freiberg.de> Message-ID: <9B868324-E744-4801-8690-F1AF9169C154@uliege.be> > On 28 Apr 2020, at 17:49, Mathias Scheunert wrote: > > Dear developers and users, > > is there a way, to apply BooleanFragments (and others?) also on a very tiny scale? > > -> Please find attached a MWE, illustrating that this operation fails on a small scale even with reducing BooleanTolerance (ln 17/18). > No, unfortunately OpenCASCADE has a fixed tolerance and does not work for very small values of coordinates. The solution is e.g. to work close to 1, then rescale the coordinates when saving the mesh with Mesh.ScalingFactor. Christophe > Best regards, > Mathias > > -- > Dr. Mathias Scheunert > Institute of Geophysics and Geoinformatics, TU Bergakademie Freiberg > Gustav-Zeuner-Str. 12, D-09596 Freiberg > Tel.: +493731393630 > > _______________________________________________ > 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 From michelcassagnes11 at gmail.com Sun May 3 01:55:15 2020 From: michelcassagnes11 at gmail.com (Michel Cassagnes) Date: Sun, 3 May 2020 01:55:15 +0200 Subject: [Gmsh] Transfinite Line & SetSize with API on Python Message-ID: Dear all, I need some help to make a transfinite line and set size at points work with the API on Python. I made many tests and many looks in examples and doc but I don't find how to handle all this. Please find enclosed an example that doesn't give anything for the line entered as transfinite with 10 points (take care to change the working folder at the begining of the script). Maybe there is a conflict with other definitions of mesh size (filelds, characteristic length at points, etc). Thank you. Best regards, Michel Cassagnes -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- # -------- # API gmsh # -------- import gmsh import sys systeme = sys.platform import os if systeme[0:3] == 'lin': profil = os.environ['PWD'] else: profil = os.environ['USERPROFILE'] rep = 'Documents\\Mulhouse\\Aster\\Test' fichierModel = 'test' fichierMed = os.path.join(profil,rep,fichierModel + '.med') gmsh.initialize() gmsh.model.add(fichierModel) options = dict() options['Mesh.CharacteristicLengthFromPoints'] = 0 options['Mesh.Algorithm'] = 8 options['Mesh.CharacteristicLengthExtendFromBoundary'] = 1 options['Mesh.Smoothing'] = 5 options['Mesh.RecombinationAlgorithm'] = 0 options['Mesh.RecombineAll'] = 0 options['Geometry.Tolerance'] = 0.01 for mo, val in iter(options.items()): gmsh.option.setNumber(mo, val) point = [(0,0,0),(10,0,0),(10,10,0),(0,10,0),(5,5,0),(7.5,7.5,0)] lines = [(0,1),(1,2),(2,3),(3,0),(4,5)] line_loops = [(1,2,3,4)] listOfPlaneSurface = {1:[1]} Lc = 1.0 for n, p in enumerate(point): gmsh.model.geo.addPoint(p[0], p[1], p[2], Lc, n+1) for n, l in enumerate(lines): gmsh.model.geo.addLine(l[0]+1, l[1]+1, n+1) for m, b in enumerate(line_loops): gmsh.model.geo.addCurveLoop(b, m+1) for m, b in iter(listOfPlaneSurface.items()): gmsh.model.geo.addPlaneSurface(b, m) gmsh.model.geo.synchronize() # Points in surfaces gmsh.model.mesh.embed(0, [5], 2, 1) # Lines in surfaces gmsh.model.mesh.embed(1, [5], 2, 1) # Transfinite Lines gmsh.model.mesh.setTransfiniteCurve(5, 10,'Progression', 1.5) gmsh.model.mesh.setSize([6] , 0.25) gmsh.model.geo.synchronize() gmsh.model.mesh.generate(2) gmsh.write(fichierMed) gmsh.finalize() From cgeuzaine at uliege.be Sun May 3 08:45:49 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 3 May 2020 08:45:49 +0200 Subject: [Gmsh] Transfinite Line & SetSize with API on Python In-Reply-To: References: Message-ID: > On 3 May 2020, at 01:55, Michel Cassagnes wrote: > > Dear all, > > I need some help to make a transfinite line and set size at points work with the API on Python. > > I made many tests and many looks in examples and doc but I don't find how to handle all this. > > Please find enclosed an example that doesn't give anything for the line entered as transfinite with 10 points (take care to change the working folder at the begining of the script). > > Maybe there is a conflict with other definitions of mesh size (filelds, characteristic length at points, etc). > Your last call to gmsh.model.geo.synchronize() resets the meshing attributes of the curve. Either remove it (it's useless anyway), or set your meshing contraints within the "geo" kernel, with "gmsh.model.geo.mesh.setTransfiniteCurve()" instead of "gmsh.model.mesh.setTransfiniteCurve()". Christophe > Thank you. > > Best regards, > > Michel Cassagnes > _______________________________________________ > 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 From michelcassagnes11 at gmail.com Sun May 3 11:04:14 2020 From: michelcassagnes11 at gmail.com (Michel Cassagnes) Date: Sun, 3 May 2020 11:04:14 +0200 Subject: [Gmsh] Transfinite Line & SetSize with API on Python In-Reply-To: References: Message-ID: Ok! Thank you very much Christophe. Best regards, Michel Cassagnes Le dim. 3 mai 2020 ? 08:45, Christophe Geuzaine a ?crit : > > > > On 3 May 2020, at 01:55, Michel Cassagnes > wrote: > > > > Dear all, > > > > I need some help to make a transfinite line and set size at points work > with the API on Python. > > > > I made many tests and many looks in examples and doc but I don't find > how to handle all this. > > > > Please find enclosed an example that doesn't give anything for the line > entered as transfinite with 10 points (take care to change the working > folder at the begining of the script). > > > > Maybe there is a conflict with other definitions of mesh size (filelds, > characteristic length at points, etc). > > > > Your last call to gmsh.model.geo.synchronize() resets the meshing > attributes of the curve. Either remove it (it's useless anyway), or set > your meshing contraints within the "geo" kernel, with > "gmsh.model.geo.mesh.setTransfiniteCurve()" instead of > "gmsh.model.mesh.setTransfiniteCurve()". > > Christophe > > > > > Thank you. > > > > Best regards, > > > > Michel Cassagnes > > _______________________________________________ > > 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 > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Sun May 3 12:38:39 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 3 May 2020 12:38:39 +0200 Subject: [Gmsh] Transfinite Line & SetSize with API on Python In-Reply-To: References: Message-ID: <4D698584-5106-4D19-931C-91B6BC2014AC@uliege.be> > On 3 May 2020, at 12:09, Michel Cassagnes wrote: > > Hi Christophe, > > I have modified the script, see attached. > > What works for TransfiniteCurve is : > - remove geo.synchronize > - keep gmsh.model.mesh.setTransfiniteCurve() > > But setSize is not affected by removing geo.synchronize. Is this command ignored if Mesh.CharacteristicLengthFromPoints is set to 0 ? Yes. This is exactly the same behavior as in .geo files. Christophe > > What is wrong in my script ? > > Thank you! > > Michel > > > > > > Le dim. 3 mai 2020 ? 11:04, Michel Cassagnes a ?crit : > > Ok! Thank you very much Christophe. > > Best regards, > > Michel Cassagnes > > Le dim. 3 mai 2020 ? 08:45, Christophe Geuzaine a ?crit : > > > > On 3 May 2020, at 01:55, Michel Cassagnes wrote: > > > > Dear all, > > > > I need some help to make a transfinite line and set size at points work with the API on Python. > > > > I made many tests and many looks in examples and doc but I don't find how to handle all this. > > > > Please find enclosed an example that doesn't give anything for the line entered as transfinite with 10 points (take care to change the working folder at the begining of the script). > > > > Maybe there is a conflict with other definitions of mesh size (filelds, characteristic length at points, etc). > > > > Your last call to gmsh.model.geo.synchronize() resets the meshing attributes of the curve. Either remove it (it's useless anyway), or set your meshing contraints within the "geo" kernel, with "gmsh.model.geo.mesh.setTransfiniteCurve()" instead of "gmsh.model.mesh.setTransfiniteCurve()". > > Christophe > > > > > Thank you. > > > > Best regards, > > > > Michel Cassagnes > > _______________________________________________ > > 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 > > > > ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine From michelcassagnes11 at gmail.com Sun May 3 12:09:57 2020 From: michelcassagnes11 at gmail.com (Michel Cassagnes) Date: Sun, 3 May 2020 12:09:57 +0200 Subject: [Gmsh] Transfinite Line & SetSize with API on Python In-Reply-To: References: Message-ID: Hi Christophe, I have modified the script, see attached. What works for TransfiniteCurve is : - remove geo.synchronize - *keep* gmsh.model.mesh.setTransfiniteCurve() But setSize is not affected by removing geo.synchronize. Is this command ignored if Mesh.CharacteristicLengthFromPoints is set to 0 ? What is wrong in my script ? Thank you! Michel Le dim. 3 mai 2020 ? 11:04, Michel Cassagnes a ?crit : > > Ok! Thank you very much Christophe. > > Best regards, > > Michel Cassagnes > > Le dim. 3 mai 2020 ? 08:45, Christophe Geuzaine a > ?crit : > >> >> >> > On 3 May 2020, at 01:55, Michel Cassagnes >> wrote: >> > >> > Dear all, >> > >> > I need some help to make a transfinite line and set size at points work >> with the API on Python. >> > >> > I made many tests and many looks in examples and doc but I don't find >> how to handle all this. >> > >> > Please find enclosed an example that doesn't give anything for the line >> entered as transfinite with 10 points (take care to change the working >> folder at the begining of the script). >> > >> > Maybe there is a conflict with other definitions of mesh size (filelds, >> characteristic length at points, etc). >> > >> >> Your last call to gmsh.model.geo.synchronize() resets the meshing >> attributes of the curve. Either remove it (it's useless anyway), or set >> your meshing contraints within the "geo" kernel, with >> "gmsh.model.geo.mesh.setTransfiniteCurve()" instead of >> "gmsh.model.mesh.setTransfiniteCurve()". >> >> Christophe >> >> >> >> > Thank you. >> > >> > Best regards, >> > >> > Michel Cassagnes >> > _______________________________________________ >> > 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 >> >> >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- # -------- # API gmsh # -------- import gmsh import sys systeme = sys.platform import os if systeme[0:3] == 'lin': profil = os.environ['PWD'] else: profil = os.environ['USERPROFILE'] rep = 'Documents\\Mulhouse\\Aster\\Test' fichierModel = 'test' fichierMaillage = os.path.join(profil,rep,fichierModel + '.med') gmsh.initialize() gmsh.model.add(fichierModel) options = dict() options['Mesh.CharacteristicLengthFromPoints'] = 0 options['Mesh.Algorithm'] = 8 options['Mesh.CharacteristicLengthExtendFromBoundary'] = 1 options['Mesh.Smoothing'] = 5 options['Mesh.RecombinationAlgorithm'] = 0 options['Mesh.RecombineAll'] = 0 options['Geometry.Tolerance'] = 0.01 for mo, val in iter(options.items()): gmsh.option.setNumber(mo, val) point = [(0,0,0),(10,0,0),(10,10,0),(0,10,0),(5,5,0),(7.5,7.5,0)] lines = [(0,1),(1,2),(2,3),(3,0),(4,5)] line_loops = [(1,2,3,4)] listOfPlaneSurface = {1:[1]} Lc = 2.0 for n, p in enumerate(point): gmsh.model.geo.addPoint(p[0], p[1], p[2], Lc, n+1) for n, l in enumerate(lines): gmsh.model.geo.addLine(l[0]+1, l[1]+1, n+1) for m, b in enumerate(line_loops): gmsh.model.geo.addCurveLoop(b, m+1) for m, b in iter(listOfPlaneSurface.items()): gmsh.model.geo.addPlaneSurface(b, m) gmsh.model.geo.synchronize() # Points in surfaces gmsh.model.mesh.embed(0, [5], 2, 1) # Lines in surfaces gmsh.model.mesh.embed(1, [5], 2, 1) # Transfinite Lines gmsh.model.mesh.setTransfiniteCurve(5, 3,'Progression', 1.0) # setSize gmsh.model.geo.mesh.setSize([1] , 0.25) ##gmsh.model.geo.synchronize() gmsh.model.mesh.generate(2) gmsh.write(fichierMaillage) gmsh.finalize() From st152939 at stud.uni-stuttgart.de Sun May 3 12:51:48 2020 From: st152939 at stud.uni-stuttgart.de (Parekh, Vivek Mukeshbhai) Date: Sun, 3 May 2020 10:51:48 +0000 Subject: [Gmsh] Check Negative Jacobian Message-ID: <2ec0f2e494154144ba33265b873d1ae5@stud.uni-stuttgart.de> Hello, I am a Master Student studying in uni Stuttgart. I would like inspect negative jacobian at each element in existing mesh. Can you please guide me as I am a new user. Vivek Parekh -------------- next part -------------- An HTML attachment was scrubbed... URL: From marsic at temf.tu-darmstadt.de Sun May 3 14:14:41 2020 From: marsic at temf.tu-darmstadt.de (Nicolas Marsic) Date: Sun, 3 May 2020 14:14:41 +0200 Subject: [Gmsh] Check Negative Jacobian In-Reply-To: <2ec0f2e494154144ba33265b873d1ae5@stud.uni-stuttgart.de> References: <2ec0f2e494154144ba33265b873d1ae5@stud.uni-stuttgart.de> Message-ID: <6a8ee26d-f45a-3d02-2f34-eb45e773a859@temf.tu-darmstadt.de> Hi Vivek, Perhaps that the Plugin AnalyseMeshQuality can do the trick? I hope this helps, Nicolas. On 03/05/2020 12:51, Parekh, Vivek Mukeshbhai wrote: > Hello, > > I am a Master Student studying in uni Stuttgart. I would like inspect > negative jacobian at each element in existing mesh. Can you please guide > me as I am a new user. > > > > Vivek Parekh > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > From rosicley at usp.br Mon May 4 23:04:13 2020 From: rosicley at usp.br (=?UTF-8?Q?Rosicley_J=C3=BAnio_Rodrigues_Rosa?=) Date: Mon, 4 May 2020 18:04:13 -0300 Subject: [Gmsh] How to use the plugin crack from the command line Message-ID: Hello, I'm a Master student and I use Gmsh to solve fracture mechanic problems. >From the interactive mode, I have used the plugin crack to generate a crack in a surface, but I need to use this plugin from the command line. Is it possible? I usually use the script bellow: gmsh -2 -clscale 1.0 temp.geo -o temp.msh -algo auto -order 3 I tried to add the following lines to the temp.geo file, but it didn't work. Plugin(Crack).Dimension = 1; Plugin(Crack).PhysicalGroup = 11; Plugin(Crack).Run; What can I do to solve this problem? Thank you for your help. Best regards, Rosicley -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: temp.geo Type: application/octet-stream Size: 1124 bytes Desc: not available URL: From tianxia.ui at gmail.com Tue May 5 06:15:05 2020 From: tianxia.ui at gmail.com (Tian Xia) Date: Mon, 4 May 2020 21:15:05 -0700 Subject: [Gmsh] GMsh python API: all all point tags of volume Message-ID: Hi, First of all, I'd like to thank you for the great software. It saved me a lot of time. I am trying to define a mesh size field based on the distance to the volume. I knew that there is a command "PointsOf(volume #)" for geo file. Is there a similar function in the python API? Thanks! -- Tian -------------- next part -------------- An HTML attachment was scrubbed... URL: From miguel.ariza at artorg.unibe.ch Tue May 5 12:34:22 2020 From: miguel.ariza at artorg.unibe.ch (miguel.ariza at artorg.unibe.ch) Date: Tue, 5 May 2020 10:34:22 +0000 Subject: [Gmsh] BUG (??) in version 4.5.6 Message-ID: <7eb4285cd60647a6b56a999802acd707@artorg.unibe.ch> Dear all, I was using a code I developed in version 4.4 for meshing spheres with tetrahedron. I could modify the characteristic length (max. and min.) and it worked perfectly. Moreover, I?ve been using this code in different incremental updates and it worked perfectly until version 4.5.3. Yesterday, I updated to version 4.5.6 and the code continues working but with a strange behavior. Let?s say that I was using a characteristic length of 0.2 for meshing a sphere, in version 4.5.3 this resulted in ~70k elements. Now, with the same characteristics, this results in 1.000.000 elements! No matter what I tried, it seems that GMSH?s response was invariant: * Activate/deactivate the optimization of the mesh (it did not change anything) * Modify the characteristic length up to 2 or 4 (it did not change anything). Also, I debugged to be sure that these were the actual values that GMSH received * Try to use a bias in the mesh. Nothing Perhaps, I missed a major modification in the code from 4.5.3 to 4.5.6 and I need to re-code my libraries? but? Could it be a bug in the code? If so, where? In the meantime, I downgraded to version 4.5.3. Tested in: * W10 * Ubuntu 18.04 in WSL (W10) * Ubuntu 18.04 Best, MA -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Tue May 5 14:03:07 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 5 May 2020 14:03:07 +0200 Subject: [Gmsh] BUG (??) in version 4.5.6 In-Reply-To: <7eb4285cd60647a6b56a999802acd707@artorg.unibe.ch> References: <7eb4285cd60647a6b56a999802acd707@artorg.unibe.ch> Message-ID: <79760D90-5FBB-4390-A3FC-6EFC650ED6B9@uliege.be> > On 5 May 2020, at 12:34, miguel.ariza at artorg.unibe.ch wrote: > > Dear all, > > I was using a code I developed in version 4.4 for meshing spheres with tetrahedron. I could modify the characteristic length (max. and min.) and it worked perfectly. > > Moreover, I?ve been using this code in different incremental updates and it worked perfectly until version 4.5.3. Yesterday, I updated to version 4.5.6 and the code continues working but with a strange behavior. > > Let?s say that I was using a characteristic length of 0.2 for meshing a sphere, in version 4.5.3 this resulted in ~70k elements. Now, with the same characteristics, this results in 1.000.000 elements! > > No matter what I tried, it seems that GMSH?s response was invariant: > ? Activate/deactivate the optimization of the mesh (it did not change anything) > ? Modify the characteristic length up to 2 or 4 (it did not change anything). Also, I debugged to be sure that these were the actual values that GMSH received > ? Try to use a bias in the mesh. Nothing > > Perhaps, I missed a major modification in the code from 4.5.3 to 4.5.6 and I need to re-code my libraries? but? Could it be a bug in the code? If so, where? In the meantime, I downgraded to version 4.5.3. > Could you send a simple example so that we can test? Christophe > Tested in: > ? W10 > ? Ubuntu 18.04 in WSL (W10) > ? Ubuntu 18.04 > > Best, > > MA > _______________________________________________ > 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 From cgeuzaine at uliege.be Tue May 5 14:05:02 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 5 May 2020 14:05:02 +0200 Subject: [Gmsh] GMsh python API: all all point tags of volume In-Reply-To: References: Message-ID: > On 5 May 2020, at 06:15, Tian Xia wrote: > > Hi, > > First of all, I'd like to thank you for the great software. It saved me a lot of time. > > I am trying to define a mesh size field based on the distance to the volume. I knew that there is a command "PointsOf(volume #)" for geo file. Is there a similar function in the python API? Thanks! You can use gmsh.model.getBoundary(volume, recursive=True) Christophe > > -- > Tian > _______________________________________________ > 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 From cgeuzaine at uliege.be Tue May 5 15:57:11 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 5 May 2020 15:57:11 +0200 Subject: [Gmsh] How to use the plugin crack from the command line In-Reply-To: References: Message-ID: <6E2AC70A-F490-49CC-AD2A-569D9107AF60@uliege.be> > On 4 May 2020, at 23:04, Rosicley J?nio Rodrigues Rosa wrote: > > Hello, > > I'm a Master student and I use Gmsh to solve fracture mechanic problems. From the interactive mode, I have used the plugin crack to generate a crack in a surface, but I need to use this plugin from the command line. Is it possible? > > I usually use the script bellow: > gmsh -2 -clscale 1.0 temp.geo -o temp.msh -algo auto -order 3 > > I tried to add the following lines to the temp.geo file, but it didn't work. > Plugin(Crack).Dimension = 1; > Plugin(Crack).PhysicalGroup = 11; > Plugin(Crack).Run; > > What can I do to solve this problem? > Here's an example: -------------- next part -------------- A non-text attachment was scrubbed... Name: ok.geo Type: application/octet-stream Size: 1257 bytes Desc: not available URL: -------------- next part -------------- Christophe > Thank you for your help. > > Best regards, > Rosicley > _______________________________________________ > 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 From jeremy at seamplex.com Tue May 5 16:09:40 2020 From: jeremy at seamplex.com (Jeremy Theler) Date: Tue, 05 May 2020 11:09:40 -0300 Subject: [Gmsh] Making an animation from non-uniform time steps Message-ID: Hi all Say I have a set of $NodeData$s with a temperature distribution from a transient heat conduction problem but due to adaptivity the times are not equally spaced. Each set has the real tag as a the real time and the first integer tag as the time index. Any (scalable) idea of how can I get an animation that shows the real time advancement? Python and linear interpolation between the two closest sets of data are fine. I would like to get the general idea, I can work out the details. Regards -- jeremy theler www.seamplex.com From cgeuzaine at uliege.be Tue May 5 17:38:25 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 5 May 2020 17:38:25 +0200 Subject: [Gmsh] BUG (??) in version 4.5.6 In-Reply-To: <22cac26aa81b40e3bcdb9033206d0418@artorg.unibe.ch> References: <7eb4285cd60647a6b56a999802acd707@artorg.unibe.ch> <79760D90-5FBB-4390-A3FC-6EFC650ED6B9@uliege.be> <22cac26aa81b40e3bcdb9033206d0418@artorg.unibe.ch> Message-ID: <81E4C113-D876-4A29-8BC0-D12AA1D64878@uliege.be> Dear Miguel, The over-refinement was due to an overly strong hypothesis on the 1D mesh that was made when refactoring the code in Gmsh 4.5.4. The next development snapshot will fix this little regression. Thanks for the report, Christophe > On 5 May 2020, at 15:36, miguel.ariza at artorg.unibe.ch wrote: > > Dear Dr Geuzaine, > > Please, find enclosed the test files. > > Just as a summary of what I did: a tested the same surface and meshing conditions in two Python environments (one with GMSH 4.5.6 and another one with GMSH 4.5.3). In the case of 4.5.3, we have ~70k elements (see log-453.txt) and in the case of 4.5.6, we have ~ 1m elements (see log-456.txt). BESIDES, there is an error regarding the discretization of the curves (see lines 20-24 in log-456.txt). This error is not present in the previous version. > > Hopefully, this will help you to isolate the origin of this behavior ;-D > > > Best, > > MA > > -----Original Message----- > From: Christophe Geuzaine > Sent: Tuesday, 5 May 2020 14:03 > To: Ariza Gracia, Miguel Angel (ARTORG) > Cc: gmsh at onelab.info > Subject: Re: [Gmsh] BUG (??) in version 4.5.6 > > > >> On 5 May 2020, at 12:34, miguel.ariza at artorg.unibe.ch wrote: >> >> Dear all, >> >> I was using a code I developed in version 4.4 for meshing spheres with tetrahedron. I could modify the characteristic length (max. and min.) and it worked perfectly. >> >> Moreover, I?ve been using this code in different incremental updates and it worked perfectly until version 4.5.3. Yesterday, I updated to version 4.5.6 and the code continues working but with a strange behavior. >> >> Let?s say that I was using a characteristic length of 0.2 for meshing a sphere, in version 4.5.3 this resulted in ~70k elements. Now, with the same characteristics, this results in 1.000.000 elements! >> >> No matter what I tried, it seems that GMSH?s response was invariant: >> ? Activate/deactivate the optimization of the mesh (it did not change anything) >> ? Modify the characteristic length up to 2 or 4 (it did not change anything). Also, I debugged to be sure that these were the actual values that GMSH received >> ? Try to use a bias in the mesh. Nothing >> >> Perhaps, I missed a major modification in the code from 4.5.3 to 4.5.6 and I need to re-code my libraries? but? Could it be a bug in the code? If so, where? In the meantime, I downgraded to version 4.5.3. >> > > Could you send a simple example so that we can test? > > Christophe > >> Tested in: >> ? W10 >> ? Ubuntu 18.04 in WSL (W10) >> ? Ubuntu 18.04 >> >> Best, >> >> MA >> _______________________________________________ >> 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 > > > > ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine From kennethassogba at gmail.com Thu May 7 01:01:01 2020 From: kennethassogba at gmail.com (Kenneth Assogba) Date: Thu, 7 May 2020 01:01:01 +0200 Subject: [Gmsh] How to create Surface from Discrete surface ? Message-ID: Dear GMSH developer, I'm using Gmsh Python API in version 4.5.6. I have some .msh file (with just points and line who define a surface) and I a want to create a 2D mesh on it. As it is not directly possible, i'm triying the *gmsh.model.mesh.createGeometry()* method and after that, doing *gmsh.model.geo.synchronize()* *gmsh.model.mesh.generate(2)* The result in the console is : Info : Creating geometry of discrete curves... Info : Done creating geometry of discrete curves (8e-06 s) Info : Creating geometry of discrete surfaces... Info : Done creating geometry of discrete surfaces (1e-06 s) But the 2D mesh isn't create. Do you have any idea of how I can do ? I see here (t13) that you recreate surface loop and volume before mesh, but in my case it is not possible since Gmsh return the error : Error : GEO surface with tag 1 already exists. By reading information about the file (explore) , I can see: Entity (2, 1) of type Discrete surface - Mesh has 0 nodes and 0 elements - Boundary entities: [(1, 1), (1, 2), (1, 3), (1, 4)] Please see attached the original .geo and the exported .msh. Thank you in advance, Best regards, Kenneth Assogba Master 2 Ing?nierie Math?matique Pour l'Entreprise Sorbonne Universit? - Facult? de Sciences et Ing?nierie -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: model1.geo Type: application/octet-stream Size: 702 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: model1.msh Type: application/octet-stream Size: 2613 bytes Desc: not available URL: From cgeuzaine at uliege.be Thu May 7 07:51:25 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Thu, 7 May 2020 07:51:25 +0200 Subject: [Gmsh] Making an animation from non-uniform time steps In-Reply-To: References: Message-ID: <0BC8D016-1A55-4D9C-BD85-CEEC626754A7@uliege.be> > On 5 May 2020, at 16:09, Jeremy Theler wrote: > > Hi all > > Say I have a set of $NodeData$s with a temperature distribution from a > transient heat conduction problem but due to adaptivity the times are > not equally spaced. Each set has the real tag as a the real time and > the first integer tag as the time index. > > Any (scalable) idea of how can I get an animation that shows the real > time advancement? > You can simply set "View.Time" at the desired value at regular intervals, as setting "View.Time" will automatically select the appropriate time step. Say time in your view goes from 0 to tmax; you could do For time in {0:tmax:0.01} View[0].Time = time; Sleep 0.1; Draw; EndFor in a .geo file. You can use the same idea with the Python API. Christophe > Python and linear interpolation between the two closest sets of data > are fine. I would like to get the general idea, I can work out the > details. > > > Regards > -- > jeremy theler > www.seamplex.com > > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Thu May 7 07:54:35 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Thu, 7 May 2020 07:54:35 +0200 Subject: [Gmsh] How to create Surface from Discrete surface ? In-Reply-To: References: Message-ID: > On 7 May 2020, at 01:01, Kenneth Assogba wrote: > > Dear GMSH developer, > > I'm using Gmsh Python API in version 4.5.6. I have some .msh file (with just points and line who define a surface) and I a want to create a 2D mesh on it. As it is not directly possible, i'm triying the gmsh.model.mesh.createGeometry() method and after that, doing > gmsh.model.geo.synchronize() > gmsh.model.mesh.generate(2) createGeometry() creates a geometry for discrete curves and surfaces. If your mesh only contains points and line elements you don't have any surface, so createGeometry() will only create a geometry (a parametrization) for curves. If you know that your surface is plane, just create a standard plane surface with the built-in kernel, that takes the discrete curves as boundaries. See this tutorial for an example: http://gmsh.info/dev/doc/texinfo/gmsh.html#x2 Christophe > > The result in the console is : > Info : Creating geometry of discrete curves... > Info : Done creating geometry of discrete curves (8e-06 s) > Info : Creating geometry of discrete surfaces... > Info : Done creating geometry of discrete surfaces (1e-06 s) > > But the 2D mesh isn't create. Do you have any idea of how I can do ? > I see here (t13) that you recreate surface loop and volume before mesh, but in my case it is not possible since Gmsh return the error : Error : GEO surface with tag 1 already exists. > > By reading information about the file (explore), I can see: > Entity (2, 1) of type Discrete surface > - Mesh has 0 nodes and 0 elements > - Boundary entities: [(1, 1), (1, 2), (1, 3), (1, 4)] > > Please see attached the original .geo and the exported .msh. > > Thank you in advance, > Best regards, > > Kenneth Assogba > Master 2 Ing?nierie Math?matique Pour l'Entreprise > Sorbonne Universit? - Facult? de Sciences et Ing?nierie > > > > _______________________________________________ > 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 From rosicley at usp.br Fri May 8 17:02:28 2020 From: rosicley at usp.br (=?UTF-8?Q?Rosicley_J=C3=BAnio_Rodrigues_Rosa?=) Date: Fri, 8 May 2020 12:02:28 -0300 Subject: [Gmsh] Is it possible to build a surface from a deformed mesh? Message-ID: Dear Gmsh developer, I'm working with crack propagation and I would like to know if it is possible to build a surface from a deformed mesh. My initial idea is to write a .msh file with the deformed mesh (basically with the new coordinates of the nodes). Then I open this .msh in Gmsh to insert a new crack line. For this, I need to create a surface according to the deformed mesh. However, I really don't know if it is possible to create a surface from the elements 1D or 2D. It would be better if I wrote the .msh with only the boundary elements (elements 1D) due to the computational cost. Thank you in advance, Best regards, Rosicley J?nio Rodrigues Rosa -------------- next part -------------- An HTML attachment was scrubbed... URL: From jean-francois.remacle at uclouvain.be Sat May 9 11:39:15 2020 From: jean-francois.remacle at uclouvain.be (=?utf-8?B?SmVhbi1GcmFuw6dvaXMgUmVtYWNsZQ==?=) Date: Sat, 9 May 2020 09:39:15 +0000 Subject: [Gmsh] Is it possible to build a surface from a deformed mesh? In-Reply-To: References: Message-ID: <8440A0D3-F0F6-432D-98C5-16C2D59E3530@uclouvain.be> > Le 8 mai 2020 ? 17:02, Rosicley J?nio Rodrigues Rosa a ?crit : > > Dear Gmsh developer, > > I'm working with crack propagation and I would like to know if it is possible to build a surface from a deformed mesh. My initial idea is to write a .msh file with the deformed mesh (basically with the new coordinates of the nodes). Then I open this .msh in Gmsh to insert a new crack line. For this, I need to create a surface according to the deformed mesh. However, I really don't know if it is possible to create a surface from the elements 1D or 2D. It would be better if I wrote the .msh with only the boundary elements (elements 1D) due to the computational cost. > We can indeed remiss triangulated surfaces : see tuturial gmsh/tutorial/t12.geo > Thank you in advance, > Best regards, > > Rosicley J?nio Rodrigues Rosa > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fonelab.info%2Fmailman%2Flistinfo%2Fgmsh&data=02%7C01%7Cjean-francois.remacle%40uclouvain.be%7C0b121262411840f56e6d08d7f3614db0%7C7ab090d4fa2e4ecfbc7c4127b4d582ec%7C0%7C0%7C637245471831941603&sdata=zlQkjiittAe3%2FpISDFuytXPf%2FcM7rj5HzLVBhUgrKQs%3D&reserved=0 ------------------------------------------------------------------ Prof. Jean-Francois Remacle Universite catholique de Louvain (UCL) Ecole Polytechnique de Louvain (EPL) - Louvain School of Engineering Institute of Mechanics, Materials and Civil Engineering (iMMC) Center for Systems Engineering and Applied Mechanics (CESAME) Tel : +32-10-472352 -- Mobile : +32-473-909930 From hansjoerg at fisica.ufc.br Sat May 9 18:09:37 2020 From: hansjoerg at fisica.ufc.br (Hansjoerg Seybold) Date: Sat, 9 May 2020 18:09:37 +0200 Subject: [Gmsh] meshing partitions Message-ID: Hello, I am trying to mesh a model consisting of several physical groups each group at a time and then merge the meshes for the different physical groups afterwards. The reason why I am trying to perform this "domain decomposition" is that the meshing of the full model takes over 5 days and exceeds the runtime limit of the queuing system. However I could not find a simple way to apply the "Mesh 2" to a specific physical group. Gmsh always tries to mesh the whole model. My question would be if anybody has a hint how to perform this meshing in parts and how to combine the resulting meshes into a single final model. Thank you very much. Best, hansjoerg From cgeuzaine at uliege.be Sun May 10 09:04:59 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sun, 10 May 2020 09:04:59 +0200 Subject: [Gmsh] meshing partitions In-Reply-To: References: Message-ID: <2962206F-B980-4B9A-AE85-B58911B4ABB4@uliege.be> > On 9 May 2020, at 18:09, Hansjoerg Seybold wrote: > > Hello, > I am trying to mesh a model consisting of several physical groups each > group at a time and then merge the meshes for the different physical > groups afterwards. The reason why I am trying to perform this "domain > decomposition" is that the meshing of the full model takes over 5 days > and exceeds the runtime limit of the queuing system. > > However I could not find a simple way to apply the "Mesh 2" to a > specific physical group. Gmsh always tries to mesh the whole model. > You could either delete the parts you don't want to mesh; or hide the parts you don't want to mesh (cf. the `Show` and `Hide` commands in .geo script, or `setVisibility()` in the api) and use the `Mesh.MeshOnlyVisible` option. > My question would be if anybody has a hint how to perform this meshing > in parts and how to combine the resulting meshes into a single final > model. > That's trickier as each mesh will be independent. The development snapshot allows you to set the starting node/element tag (Mesh.FirstNodeTag, Mesh.FirstElementTag), which will help. Removing duplicate nodes when you merge things together can be done with Coherence Mesh (in .geo files) or removeDuplicateNodes() in the api. PS: 5 days to perform a 2D mesh ? Anything special in the geometry/size field? If you don't do this already at least recompile Gmsh with OpenMP enabled, and mesh in parallel? Christophe > Thank you very much. > > Best, > hansjoerg > > _______________________________________________ > 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 From hansjoerg at fisica.ufc.br Mon May 11 16:32:48 2020 From: hansjoerg at fisica.ufc.br (Hansjoerg Seybold) Date: Mon, 11 May 2020 16:32:48 +0200 Subject: [Gmsh] meshing partitions In-Reply-To: <2962206F-B980-4B9A-AE85-B58911B4ABB4@uliege.be> References: <2962206F-B980-4B9A-AE85-B58911B4ABB4@uliege.be> Message-ID: Hello, Thanks a lot for the reply. Using the visibility filter worked. I created a simple test case (attached) which creates the two mesh pieces. So now I have two meshes multizone_1.msh and multizone_2.msh which I can load in a geo file -------------------------------------- Merge "multizone_1.msh"; Merge "multizone_2.msh"; Coherence Mesh; Save "multizone_merged.msh"; Save "multizone_merged.bdf"; Exit; -------------------------------------- I understood that the coherence mesh removes the duplicate nodes on the common edge and the above script displays the mesh in the gui correctly. However the export is distorted as the node ordering is not updated. I would get the development snapshot to try to use the mesh tag suggestion, but how would I do the reordering starting from the script above? regarding openmp: We (the IT cluster staff at ETH Zurich and myself) tried to get the openmp version of gmsh running on the cluster (CentOS 6), but without success. I managed to compile and run it on my ubuntu PC, but with very little speedup for the selected meshing algorithm. I tested openmp with two physical groups active and -nt 2, on a finer LC as in the attached geo for speed measurements and Mesh.Algorithm = 9; gmsh-4.4.1, a significant speedup could only be observed for del2d, but quality tests showed that the 'pack' algorithm gave the best meshing result BTW, is it possible to apply different meshing algorithms to different physical groups? Regarding the 5 days meshing: I am using quad meshing (algo 9) with a not too sophisticated sizing function but with a very large domain, del2d is orders of magnitudes faster. Thanks a lot for the help. Hansjoerg On Sun, May 10, 2020 at 9:05 AM Christophe Geuzaine wrote: > > > > > On 9 May 2020, at 18:09, Hansjoerg Seybold wrote: > > > > Hello, > > I am trying to mesh a model consisting of several physical groups each > > group at a time and then merge the meshes for the different physical > > groups afterwards. The reason why I am trying to perform this "domain > > decomposition" is that the meshing of the full model takes over 5 days > > and exceeds the runtime limit of the queuing system. > > > > However I could not find a simple way to apply the "Mesh 2" to a > > specific physical group. Gmsh always tries to mesh the whole model. > > > > You could either delete the parts you don't want to mesh; or hide the parts you don't want to mesh (cf. the `Show` and `Hide` commands in .geo script, or `setVisibility()` in the api) and use the `Mesh.MeshOnlyVisible` option. > > > My question would be if anybody has a hint how to perform this meshing > > in parts and how to combine the resulting meshes into a single final > > model. > > > > That's trickier as each mesh will be independent. The development snapshot allows you to set the starting node/element tag (Mesh.FirstNodeTag, Mesh.FirstElementTag), which will help. Removing duplicate nodes when you merge things together can be done with Coherence Mesh (in .geo files) or removeDuplicateNodes() in the api. > > PS: 5 days to perform a 2D mesh ? Anything special in the geometry/size field? If you don't do this already at least recompile Gmsh with OpenMP enabled, and mesh in parallel? > > Christophe > > > Thank you very much. > > > > Best, > > hansjoerg > > > > _______________________________________________ > > 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 > > > -------------- next part -------------- A non-text attachment was scrubbed... Name: multizone_1.geo Type: application/octet-stream Size: 1092 bytes Desc: not available URL: From josejuan.alonso at gm.uca.es Mon May 11 17:00:19 2020 From: josejuan.alonso at gm.uca.es (Jose Juan Alonso del Rosario) Date: Mon, 11 May 2020 17:00:19 +0200 Subject: [Gmsh] asking for help Message-ID: Dear colleages, I am meshing a simple volumen consisting in a sheet of certain thickness. I have forced built-in option to avoid the problem with opencascade and the message of volumen consists of no elements happens whatever I do. The version is 3.0.6 on linux. Does anyone have any suggestion please? Thanks in advance Jose -- Prof. Dr. Jose Juan Alonso del Rosario Applied Physics Dept., Naval and Oceanic Engineering. University of Cadiz. Avda Rep Saharaui s/n. Puerto Real, 11510, Cadiz, Spain Tlf: +34 956 016054 Fax: +34 956016079 Secretary: +34 956016078 "All I wanna say is that they don't really care about us", Michael Jackson -------------- next part -------------- An HTML attachment was scrubbed... URL: From morok at mevex.com Mon May 11 17:11:28 2020 From: morok at mevex.com (Max Orok) Date: Mon, 11 May 2020 11:11:28 -0400 Subject: [Gmsh] asking for help In-Reply-To: References: Message-ID: Hi Jose, It would help if you could provide the problematic file. You could also try using a more recent version of Gmsh: http://gmsh.info/#Download Sincerely, Max On Mon, May 11, 2020 at 11:01 AM Jose Juan Alonso del Rosario < josejuan.alonso at gm.uca.es> wrote: > Dear colleages, > > I am meshing a simple volumen consisting in a sheet of certain thickness. > I have forced built-in option to avoid the problem with opencascade and the > message of volumen consists of no elements happens whatever I do. The > version is 3.0.6 on linux. > > Does anyone have any suggestion please? > > Thanks in advance > > Jose > > > -- > Prof. Dr. Jose Juan Alonso del Rosario > Applied Physics Dept., > Naval and Oceanic Engineering. > University of Cadiz. > Avda Rep Saharaui s/n. Puerto Real, 11510, Cadiz, Spain > Tlf: +34 956 016054 > Fax: +34 956016079 > Secretary: +34 956016078 > > "All I wanna say is that they don't really care about us", Michael Jackson > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Mon May 11 17:30:02 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 11 May 2020 17:30:02 +0200 Subject: [Gmsh] meshing partitions In-Reply-To: References: <2962206F-B980-4B9A-AE85-B58911B4ABB4@uliege.be> Message-ID: > On 11 May 2020, at 16:32, Hansjoerg Seybold wrote: > > Hello, > Thanks a lot for the reply. Using the visibility filter worked. I > created a simple test case (attached) > which creates the two mesh pieces. So now I have two meshes > multizone_1.msh and multizone_2.msh > which I can load in a geo file > -------------------------------------- > Merge "multizone_1.msh"; > Merge "multizone_2.msh"; > Coherence Mesh; > Save "multizone_merged.msh"; > Save "multizone_merged.bdf"; > Exit; > -------------------------------------- > I understood that the coherence mesh removes the duplicate nodes on > the common edge and the above > script displays the mesh in the gui correctly. > However the export is distorted as the node ordering is not updated. > I would get the development snapshot to try to use the mesh tag > suggestion, but how would I do the reordering > starting from the script above? > You would do: Mesh.FirstNodeTag=1; Mesh 2; Save "multizone_1.msh"; ... Mesh.FirstNodeTag=Mesh.NbNodes + 1; Mesh 2; Save "multizone_2.msh"; > regarding openmp: > > We (the IT cluster staff at ETH Zurich and myself) tried to get the > openmp version of gmsh running on the cluster (CentOS 6), but without > success. > I managed to compile and run it on my ubuntu PC, but with very little > speedup for the selected meshing algorithm. > I tested openmp with two physical groups active and -nt 2, on a finer > LC as in the attached geo for speed measurements and Mesh.Algorithm = > 9; gmsh-4.4.1, > a significant speedup could only be observed for del2d, but quality > tests showed that the 'pack' algorithm gave the best meshing result Ok I see. The "pack" algorithm has not been worked on for a while and is indeed currently sequential. We are working on updating this algorithm, so hopefully it will get much faster (and parallel) soon. > BTW, is it possible to apply different meshing algorithms to different > physical groups? > Yes. In .geo files: MeshAlgorithm Surface {...} = ...; Christophe > Regarding the 5 days meshing: I am using quad meshing (algo 9) with a > not too sophisticated sizing function but with a very large domain, > del2d is orders > of magnitudes faster. > > Thanks a lot for the help. > > Hansjoerg > > > > > > > > On Sun, May 10, 2020 at 9:05 AM Christophe Geuzaine wrote: >> >> >> >>> On 9 May 2020, at 18:09, Hansjoerg Seybold wrote: >>> >>> Hello, >>> I am trying to mesh a model consisting of several physical groups each >>> group at a time and then merge the meshes for the different physical >>> groups afterwards. The reason why I am trying to perform this "domain >>> decomposition" is that the meshing of the full model takes over 5 days >>> and exceeds the runtime limit of the queuing system. >>> >>> However I could not find a simple way to apply the "Mesh 2" to a >>> specific physical group. Gmsh always tries to mesh the whole model. >>> >> >> You could either delete the parts you don't want to mesh; or hide the parts you don't want to mesh (cf. the `Show` and `Hide` commands in .geo script, or `setVisibility()` in the api) and use the `Mesh.MeshOnlyVisible` option. >> >>> My question would be if anybody has a hint how to perform this meshing >>> in parts and how to combine the resulting meshes into a single final >>> model. >>> >> >> That's trickier as each mesh will be independent. The development snapshot allows you to set the starting node/element tag (Mesh.FirstNodeTag, Mesh.FirstElementTag), which will help. Removing duplicate nodes when you merge things together can be done with Coherence Mesh (in .geo files) or removeDuplicateNodes() in the api. >> >> PS: 5 days to perform a 2D mesh ? Anything special in the geometry/size field? If you don't do this already at least recompile Gmsh with OpenMP enabled, and mesh in parallel? >> >> Christophe >> >>> Thank you very much. >>> >>> Best, >>> hansjoerg >>> >>> _______________________________________________ >>> 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 >> >> >> > _______________________________________________ > 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 From niko.karin at gmail.com Tue May 12 11:49:15 2020 From: niko.karin at gmail.com (Karin&NiKo) Date: Tue, 12 May 2020 11:49:15 +0200 Subject: [Gmsh] Zero volume tets Message-ID: Dear Gmsh Gurus, I am facing some troubles with a brep CAD I am trying to mesh with Gmsh. If I try the meshing default settings, the mesh is being built and Gmsh is proud to announce that no illegal tet stand in the mesh. *But* if I simply run "gmsh -check", Gmsh admits that zero volume tets stay in the mesh. So it is unusable for computation. I have succeeded in producing a correct mesh by using the Frontal 3D algorithm (Mesh.Algorithm3D = 4;). Perhaps a check of the presence of zero volume elements could be an interesting enhancement. You'll find all necessary files in the attached archive. Regards, Nicolas -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: foo.tar.gz Type: application/gzip Size: 22538 bytes Desc: not available URL: From cgeuzaine at uliege.be Tue May 12 13:28:43 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 12 May 2020 13:28:43 +0200 Subject: [Gmsh] Zero volume tets In-Reply-To: References: Message-ID: <7F61C64E-6C5A-465D-80AE-3DF3E3B47D34@uliege.be> > On 12 May 2020, at 11:49, Karin&NiKo wrote: > > Dear Gmsh Gurus, > > I am facing some troubles with a brep CAD I am trying to mesh with Gmsh. > If I try the meshing default settings, the mesh is being built and Gmsh is proud to announce that no illegal tet stand in the mesh. *But* if I simply run "gmsh -check", Gmsh admits that zero volume tets stay in the mesh. So it is unusable for computation. There maybe too many messages, but the optimizer indeed reports that there are 6 tets below the quality threshold in volume 2 with the default algo (we should issue a warning if the quality is indeed approaching zero): Info : Optimizing volume 2 Info : Optimization starts (volume = 3.52969e+07) with worst = 0 / average = 0.757222: Info : 0.00 < quality < 0.10 : 212 elements Info : 0.10 < quality < 0.20 : 362 elements Info : 0.20 < quality < 0.30 : 166 elements Info : 0.30 < quality < 0.40 : 222 elements Info : 0.40 < quality < 0.50 : 287 elements Info : 0.50 < quality < 0.60 : 765 elements Info : 0.60 < quality < 0.70 : 3802 elements Info : 0.70 < quality < 0.80 : 7720 elements Info : 0.80 < quality < 0.90 : 4721 elements Info : 0.90 < quality < 1.00 : 4214 elements Info : 321 edge swaps, 0 node relocations (volume = 3.52969e+07): worst = 0 / average = 0.765757 (Wall 0.022079s, CPU 0.022s) Info : 338 edge swaps, 0 node relocations (volume = 3.52969e+07): worst = 0 / average = 0.765884 (Wall 0.0357411s, CPU 0.035583s) Info : 339 edge swaps, 0 node relocations (volume = 3.52969e+07): worst = 0 / average = 0.765909 (Wall 0.0503662s, CPU 0.050068s) Info : 6 ill-shaped tets are still in the mesh > I have succeeded in producing a correct mesh by using the Frontal 3D algorithm (Mesh.Algorithm3D = 4;). > Perhaps a check of the presence of zero volume elements could be an interesting enhancement. You can also try Mesh.Algorithm3D = 10; which is (here a bit) faster. Christophe > You'll find all necessary files in the attached archive. > > Regards, > Nicolas > _______________________________________________ > 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 From niko.karin at gmail.com Tue May 12 14:06:28 2020 From: niko.karin at gmail.com (Karin&NiKo) Date: Tue, 12 May 2020 14:06:28 +0200 Subject: [Gmsh] Zero volume tets In-Reply-To: <7F61C64E-6C5A-465D-80AE-3DF3E3B47D34@uliege.be> References: <7F61C64E-6C5A-465D-80AE-3DF3E3B47D34@uliege.be> Message-ID: Thanks for the tip Christophe! "Mesh.Algorithm3D = 10;" is indeed faster and produces less elements. Nicolas Le mar. 12 mai 2020 ? 13:28, Christophe Geuzaine a ?crit : > > > > On 12 May 2020, at 11:49, Karin&NiKo wrote: > > > > Dear Gmsh Gurus, > > > > I am facing some troubles with a brep CAD I am trying to mesh with Gmsh. > > If I try the meshing default settings, the mesh is being built and Gmsh > is proud to announce that no illegal tet stand in the mesh. *But* if I > simply run "gmsh -check", Gmsh admits that zero volume tets stay in the > mesh. So it is unusable for computation. > > There maybe too many messages, but the optimizer indeed reports that there > are 6 tets below the quality threshold in volume 2 with the default algo > (we should issue a warning if the quality is indeed approaching zero): > > Info : Optimizing volume 2 > Info : Optimization starts (volume = 3.52969e+07) with worst = 0 / > average = 0.757222: > Info : 0.00 < quality < 0.10 : 212 elements > Info : 0.10 < quality < 0.20 : 362 elements > Info : 0.20 < quality < 0.30 : 166 elements > Info : 0.30 < quality < 0.40 : 222 elements > Info : 0.40 < quality < 0.50 : 287 elements > Info : 0.50 < quality < 0.60 : 765 elements > Info : 0.60 < quality < 0.70 : 3802 elements > Info : 0.70 < quality < 0.80 : 7720 elements > Info : 0.80 < quality < 0.90 : 4721 elements > Info : 0.90 < quality < 1.00 : 4214 elements > Info : 321 edge swaps, 0 node relocations (volume = 3.52969e+07): worst > = 0 / average = 0.765757 (Wall 0.022079s, CPU 0.022s) > Info : 338 edge swaps, 0 node relocations (volume = 3.52969e+07): worst > = 0 / average = 0.765884 (Wall 0.0357411s, CPU 0.035583s) > Info : 339 edge swaps, 0 node relocations (volume = 3.52969e+07): worst > = 0 / average = 0.765909 (Wall 0.0503662s, CPU 0.050068s) > Info : 6 ill-shaped tets are still in the mesh > > > > I have succeeded in producing a correct mesh by using the Frontal 3D > algorithm (Mesh.Algorithm3D = 4;). > > Perhaps a check of the presence of zero volume elements could be an > interesting enhancement. > > You can also try > > Mesh.Algorithm3D = 10; > > which is (here a bit) faster. > > Christophe > > > > You'll find all necessary files in the attached archive. > > > > Regards, > > Nicolas > > _______________________________________________ > > 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 > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From alsalihi at vki.ac.be Tue May 12 17:50:18 2020 From: alsalihi at vki.ac.be (Zuheyr Alsalihi) Date: Tue, 12 May 2020 17:50:18 +0200 Subject: [Gmsh] =?utf-8?q?STL_Mesh_generation_surfaces_with_inward_normal?= =?utf-8?q?not_meshed=3F!?= Message-ID: <1721-5ebac580-7-706c0c80@8587542> Dear colleagues, I could not easily describe the problem. A rectangular slab step file that I have generated, attached CG1.step, shows the top and bottom surfaces inward normal. I am not able to reverse this. But the surface is there, see Pic1.png. When I create an STL mesh with GMSH gmsh-4.5.6-Linux64/bin/gmsh these 2 surfaces are not meshed. Can you please help me understand and solve this problem? Many thanks for reading. Kind regards, Zuheyr -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: CG1.step Type: application/octet-stream Size: 13633 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: pic2.png Type: image/png Size: 62479 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: pic1.png Type: image/png Size: 13239 bytes Desc: not available URL: From niko.karin at gmail.com Wed May 13 08:44:56 2020 From: niko.karin at gmail.com (Karin&NiKo) Date: Wed, 13 May 2020 08:44:56 +0200 Subject: [Gmsh] Fwd: Zero volume tets In-Reply-To: References: <7F61C64E-6C5A-465D-80AE-3DF3E3B47D34@uliege.be> Message-ID: Christophe, I see that the mesh contains duplicate nodes : Info : Checking for duplicate nodes... Warning : Vertex 79 (0, 0, 999.9999999999999) already exists in the mesh with tolerance 4.66905e-05: Vertex 17 (0, 0, 1000) Error : 1 duplicate node: see `duplicate_node.pos' I am quite sure that it comes from the point I define and ask the mesh to embed (lines 21-26 of the script - if I remove it, the script doesn't complain anymore) : c0[] = Point{4}; // c0 contains the coords in indexes 0,1,2 c1[] = Point{3}; p=newp; // newp is command to generate a new point number - we store it in p Point(p)={0,0, (c1[2]-c0[2])/2}; Point{p} In Volume{1}; Physical Point("PGHM") = {p}; Is there a way to set a sharper value to some parameter to avoid this? I tried to Coherence Mesh but it causes me trouble in the computation based on this mesh (it seems to become invalide in some sense). Nicolas Le mar. 12 mai 2020 ? 14:06, Karin&NiKo a ?crit : > Thanks for the tip Christophe! > "Mesh.Algorithm3D = 10;" is indeed faster and produces less elements. > > Nicolas > > Le mar. 12 mai 2020 ? 13:28, Christophe Geuzaine a > ?crit : > >> >> >> > On 12 May 2020, at 11:49, Karin&NiKo wrote: >> > >> > Dear Gmsh Gurus, >> > >> > I am facing some troubles with a brep CAD I am trying to mesh with >> Gmsh. >> > If I try the meshing default settings, the mesh is being built and Gmsh >> is proud to announce that no illegal tet stand in the mesh. *But* if I >> simply run "gmsh -check", Gmsh admits that zero volume tets stay in the >> mesh. So it is unusable for computation. >> >> There maybe too many messages, but the optimizer indeed reports that >> there are 6 tets below the quality threshold in volume 2 with the default >> algo (we should issue a warning if the quality is indeed approaching zero): >> >> Info : Optimizing volume 2 >> Info : Optimization starts (volume = 3.52969e+07) with worst = 0 / >> average = 0.757222: >> Info : 0.00 < quality < 0.10 : 212 elements >> Info : 0.10 < quality < 0.20 : 362 elements >> Info : 0.20 < quality < 0.30 : 166 elements >> Info : 0.30 < quality < 0.40 : 222 elements >> Info : 0.40 < quality < 0.50 : 287 elements >> Info : 0.50 < quality < 0.60 : 765 elements >> Info : 0.60 < quality < 0.70 : 3802 elements >> Info : 0.70 < quality < 0.80 : 7720 elements >> Info : 0.80 < quality < 0.90 : 4721 elements >> Info : 0.90 < quality < 1.00 : 4214 elements >> Info : 321 edge swaps, 0 node relocations (volume = 3.52969e+07): >> worst = 0 / average = 0.765757 (Wall 0.022079s, CPU 0.022s) >> Info : 338 edge swaps, 0 node relocations (volume = 3.52969e+07): >> worst = 0 / average = 0.765884 (Wall 0.0357411s, CPU 0.035583s) >> Info : 339 edge swaps, 0 node relocations (volume = 3.52969e+07): >> worst = 0 / average = 0.765909 (Wall 0.0503662s, CPU 0.050068s) >> Info : 6 ill-shaped tets are still in the mesh >> >> >> > I have succeeded in producing a correct mesh by using the Frontal 3D >> algorithm (Mesh.Algorithm3D = 4;). >> > Perhaps a check of the presence of zero volume elements could be an >> interesting enhancement. >> >> You can also try >> >> Mesh.Algorithm3D = 10; >> >> which is (here a bit) faster. >> >> Christophe >> >> >> > You'll find all necessary files in the attached archive. >> > >> > Regards, >> > Nicolas >> > _______________________________________________ >> > 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 >> >> >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From josejuan.alonso at gm.uca.es Thu May 14 12:03:21 2020 From: josejuan.alonso at gm.uca.es (Jose Juan Alonso del Rosario) Date: Thu, 14 May 2020 12:03:21 +0200 Subject: [Gmsh] bad orientation Message-ID: Dear colleages I am trying to build the mesh for a slice with a pentagonal hole. GMSH runs properly with good quality tets but when trying to read it from freefem++ the error is: " Bad orientation: The adj border element defined by [ 16 246 ] is oriented in the same direction in element 3922 and in the element 446 ****** bug in mesh construction? orientation parameter? current line = 12 mpirank 1 / 2 " Can you give any advice on this? Thanks in advance Jose -- Prof. Dr. Jose Juan Alonso del Rosario Applied Physics Dept., Naval and Oceanic Engineering. University of Cadiz. Avda Rep Saharaui s/n. Puerto Real, 11510, Cadiz, Spain Tlf: +34 956 016054 Fax: +34 956016079 Secretary: +34 956016078 "All I wanna say is that they don't really care about us", Michael Jackson -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: pentagono.geo Type: application/octet-stream Size: 1871 bytes Desc: not available URL: From p.johnston at griffith.edu.au Thu May 14 12:54:59 2020 From: p.johnston at griffith.edu.au (Peter Johnston) Date: Thu, 14 May 2020 10:54:59 +0000 Subject: [Gmsh] gmsh-sdk installation question Message-ID: Hello, I have a question about gmsh/gmsh-sdk installation under python - I realise this is not a gmsh question exactly, so hope it is OK. I was trying to install gmsh and gmsh-sdk on a computer running ubuntu 18.04 using 'pip3 install gmsh' (I also tried 'pip3 install gmsh-sdk'). On my mac laptop (OSX 10.15.4) this works fine. It puts the appropriate python gmsh files under /usr/local/ and everything works fine. However under ubuntu it installed to files under $HOME/.local/ and python3 says it cannot find the gmsh module. I have modified the PYTHONPATH variable to take into account $HOME/.local/, but this doesn't help. I really don't know what is going on on two fronts: 1. I don't know why pip is installing things in different places between my two machines. 2. When I type print(sys.path) in python it points to the places where I think gmsh should be. Which files am I looking for exactly? After a long time trawling the internet, I couldn't find anything that would help me with these issues. Any insights would be much appreciated. Thank you, Peter. Associate Professor Peter Johnston (FAustMS, FIMA) School of Environment and Science Griffith University | Nathan | QLD 4111 | Technology (N44) Room 3.19 T +61 7 373 57748| F +61 7 373 57656 Email p.johnston at griffith.edu.au -------------- next part -------------- An HTML attachment was scrubbed... URL: From ugis.lacis at gmail.com Thu May 14 13:54:55 2020 From: ugis.lacis at gmail.com (Ugis Lacis) Date: Thu, 14 May 2020 13:54:55 +0200 Subject: [Gmsh] bad orientation In-Reply-To: References: Message-ID: Dear Jose, I think I have had similar error, when importing GMSH mesh into FreeFEM++, few years ago (although it seems that the error message might have changed). It turned out that the direction of loop definition in GMSH was the issue for me. See below my exchange with FreeFEM++ mailing list. Maybe it can be helpful for you. Best regards, Ugis Lacis Researcher KTH Mechanics ------------------------------------------------------------------------------------------------------------------------------------------------------------------ -------- Forwarded Message -------- Subject: Re: [Freefempp] Issue with loading mesh from GMSH. Date: Fri, 3 Aug 2018 09:41:29 +0200 From: U?is L?cis To: FreeFem mailing list Hi everyone, I managed to solve the issue myself. It turned out that the direction of GMSH loop was surviving till FreeFEM++ and while GMSH did not complain about anything, FreeFEM++ couldn't use the mesh. mesh2 could be fixed by changing signs in all lines within the line loop, i.e., change Line Loop(5) = {18, 19, 20, 12, 7, 8}; to Line Loop(5) = {-18, -19, -20, -12, -7, -8}; Maybe this helps to someone at some point. Best, Ugis On 02/08/18 15:30, U?is L?cis wrote: Dear FreeFEM++ users and developers, I have run into an issue which I am unable to solve by myself. I have been using FreeFEM++ together with GMSH without any problems for quite some time. Now, however, trying to load a 2D mesh generated by GMSH, gives me following error: Assertion fail : (area>0) ??? line :281, in file ./include/fem.hpp I attach the corresponding geo and msh files of two meshes (mesh1 - working fine, mesh2 - does not load), as well as edp file for reading and plotting the mesh. I have carefully checked that physical tags are applied correctly, I have tried exporting both in MSH and MESH (medit) formats, using GMSH versions 3.06 and 2.16.0, as well as using FreeFEM++ versions 3.560000 and 3.610002, all try has led me to the same behaviour. I have identified that the issue comes from the surface mesh, if I export only line mesh (comment out "Physical Surface(11) = {3,4};" from mesh2.geo and run "gmsh -2 mesh2.geo"), then it loads fine. But checking the mesh within GMSH, everything seems to be perfectly fine... Do you have any suggestions on how to solve this issue? Best regards, Ugis Lacis Researcher KTH Mechanics ------------------------------------------------------------------------------------------------------------------------------------------------------------------ On 14/05/2020 12:03, Jose Juan Alonso del Rosario wrote: > Dear colleages > > I am trying to build the mesh for a slice with a pentagonal hole. > GMSH runs properly with good quality tets but when trying to read it > from freefem++ the error is: > > " Bad orientation: The adj border element ?defined by [ ?16 246 ] ?is > oriented in the same direction in element 3922 and in the element 446 > ****** bug in mesh construction? orientation parameter? > ? current line = 12 mpirank 1 / 2 > " > Can you give any advice on this? > > Thanks in advance > > Jose > > -- > Prof. Dr. Jose Juan Alonso del Rosario > Applied Physics Dept., > Naval and Oceanic Engineering. > University of Cadiz. > Avda Rep Saharaui s/n. Puerto Real, 11510, Cadiz, Spain > Tlf: +34 956 016054 > Fax: +34 956016079 > Secretary: +34 956016078 > > "All I wanna say is that they don't really care about us", Michael Jackson > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh -------------- next part -------------- An HTML attachment was scrubbed... URL: From kennethassogba at gmail.com Thu May 14 14:21:34 2020 From: kennethassogba at gmail.com (Kenneth Assogba) Date: Thu, 14 May 2020 14:21:34 +0200 Subject: [Gmsh] gmsh-sdk installation question In-Reply-To: References: Message-ID: Good morning, I had the same problem a few weeks ago. You can try to: install gmsh in a virtual env or put it manually in python path : - Enter in the home directory : cd ~ - [Download the SDK](http://gmsh.info/bin/) depending on your system wget http://gmsh.info/bin/Linux/gmsh-4.5.6-Linux64-sdk.tgz -O /tmp/gmsh-sdk.tar.gz - Uncompress it tar -xvf /tmp/gmsh-sdk.tar.gz - Open the *~/.bashrc* file and add to the last line export *PYTHONPATH="${PYTHONPATH}":~/gmsh-4.5.6-Linux64-sdk/lib/ - source the *.bashrc* file source ~/.bashrc - test if all is ok python3 gmsh-4.5.6-Linux64-sdk/share/doc/gmsh/demos/api/t1.py Best regards, Kenneth, On Thu, May 14, 2020 at 1:22 PM Peter Johnston wrote: > Hello, > > I have a question about gmsh/gmsh-sdk installation under python - I > realise this is not a gmsh question exactly, so hope it is OK. > > I was trying to install gmsh and gmsh-sdk on a computer running ubuntu > 18.04 using 'pip3 install gmsh' (I also tried 'pip3 install gmsh-sdk'). On > my mac laptop (OSX 10.15.4) this works fine. It puts the appropriate python > gmsh files under /usr/local/ and everything works fine. However under > ubuntu it installed to files under $HOME/.local/ and python3 says it cannot > find the gmsh module. I have modified the PYTHONPATH variable to take into > account $HOME/.local/, but this doesn't help. > > I really don't know what is going on on two fronts: > > 1. I don't know why pip is installing things in different places > between my two machines. > 2. When I type print(sys.path) in python it points to the places where > I think gmsh should be. Which files am I looking for exactly? > > After a long time trawling the internet, I couldn't find anything that > would help me with these issues. > > Any insights would be much appreciated. > > Thank you, > > Peter. > > Associate Professor Peter Johnston (FAustMS, FIMA) > School of Environment and Science > *Griffith University *| Nathan | QLD 4111 | Technology (N44) Room 3.19 > T +61 7 373 57748| F +61 7 373 57656 Email p.johnston at griffith.edu.au > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tianxia.ui at gmail.com Thu May 14 23:12:57 2020 From: tianxia.ui at gmail.com (Tian Xia) Date: Thu, 14 May 2020 14:12:57 -0700 Subject: [Gmsh] Gmsh binary with OpenMP enabled Message-ID: Hi, I am using the Python API of Gmsh, which depends on the dynamic link library. If I'd like to enable OpenMP, I will need to rebuild from the source after installing a few dependencies. Would it be possible to release the library with OpenMP under http://gmsh.info/bin/? Thanks! -- Tian -------------- next part -------------- An HTML attachment was scrubbed... URL: From p.johnston at griffith.edu.au Fri May 15 02:22:16 2020 From: p.johnston at griffith.edu.au (Peter Johnston) Date: Fri, 15 May 2020 00:22:16 +0000 Subject: [Gmsh] gmsh-sdk installation question In-Reply-To: References: , Message-ID: Thanks Kenneth, That all worked fine. I still don't know what was wrong with the other approach. Thanks again, Peter. Associate Professor Peter Johnston (FAustMS, FIMA) School of Environment and Science Griffith University | Nathan | QLD 4111 | Technology (N44) Room 3.19 T +61 7 373 57748| F +61 7 373 57656 Email p.johnston at griffith.edu.au ________________________________ From: Kenneth Assogba Sent: Thursday, 14 May 2020 10:21 PM To: Peter Johnston Cc: gmsh at geuz.org Subject: Re: [Gmsh] gmsh-sdk installation question Good morning, I had the same problem a few weeks ago. You can try to: install gmsh in a virtual env or put it manually in python path : - Enter in the home directory : cd ~ - [Download the SDK](http://gmsh.info/bin/) depending on your system wget http://gmsh.info/bin/Linux/gmsh-4.5.6-Linux64-sdk.tgz -O /tmp/gmsh-sdk.tar.gz - Uncompress it tar -xvf /tmp/gmsh-sdk.tar.gz - Open the *~/.bashrc* file and add to the last line export *PYTHONPATH="${PYTHONPATH}":~/gmsh-4.5.6-Linux64-sdk/lib/ - source the *.bashrc* file source ~/.bashrc - test if all is ok python3 gmsh-4.5.6-Linux64-sdk/share/doc/gmsh/demos/api/t1.py Best regards, Kenneth, On Thu, May 14, 2020 at 1:22 PM Peter Johnston > wrote: Hello, I have a question about gmsh/gmsh-sdk installation under python - I realise this is not a gmsh question exactly, so hope it is OK. I was trying to install gmsh and gmsh-sdk on a computer running ubuntu 18.04 using 'pip3 install gmsh' (I also tried 'pip3 install gmsh-sdk'). On my mac laptop (OSX 10.15.4) this works fine. It puts the appropriate python gmsh files under /usr/local/ and everything works fine. However under ubuntu it installed to files under $HOME/.local/ and python3 says it cannot find the gmsh module. I have modified the PYTHONPATH variable to take into account $HOME/.local/, but this doesn't help. I really don't know what is going on on two fronts: 1. I don't know why pip is installing things in different places between my two machines. 2. When I type print(sys.path) in python it points to the places where I think gmsh should be. Which files am I looking for exactly? After a long time trawling the internet, I couldn't find anything that would help me with these issues. Any insights would be much appreciated. Thank you, Peter. Associate Professor Peter Johnston (FAustMS, FIMA) School of Environment and Science Griffith University | Nathan | QLD 4111 | Technology (N44) Room 3.19 T +61 7 373 57748| F +61 7 373 57656 Email p.johnston at griffith.edu.au _______________________________________________ gmsh mailing list gmsh at onelab.info http://onelab.info/mailman/listinfo/gmsh -------------- next part -------------- An HTML attachment was scrubbed... URL: From josejuan.alonso at gm.uca.es Fri May 15 08:55:49 2020 From: josejuan.alonso at gm.uca.es (Jose Juan Alonso del Rosario) Date: Fri, 15 May 2020 08:55:49 +0200 Subject: [Gmsh] bad orientation In-Reply-To: References: Message-ID: Dear Ugis and colleages of GMSH, Thank you for your suggestions. I have changed the loop orientation of the upper and lower faces of the pentagon and the whole volumen was meshed (no hole at the end). In addition the same error still happens. "read mesh ok 0Mesh3, num Tetra:= 24011, num Vertice:= 5665 num boundary Triangles:= 6078 Mesh3::meshS, num Triangles:= 6078, num Vertice:= 3039 num boundary Edges:= 354 read mesh ok 0Mesh3, num Tetra:= 24011, num Vertice:= 5665 num boundary Triangles:= 6078 Mesh3::meshS, num Triangles:= 6078, num Vertice:= 3039 num boundary Edges:= 354 Bad orientation: The adj border element defined by [ 3 210 ] is oriented in the same direction in element 3519 and in the element 367 ****** bug in mesh construction? orientation parameter? S, num Triangles:= 6078, num Vertice:= 3039 num boundary Edges:= 354 Bad orientation: The adj border element defined by [ 3 210 ] is oriented in the same direction in element 3519 and in the element 367 ****** bug in mesh construction? orientation parameter? " This is after several Optimize3D and Optimize 3d with NetGen and reading it with freefem++ I include the .geo code. It is a thick slice with a pentagonal hole. The gmsh is now 4.5.6 and the meshing options are MeshAdapt and Frontal. I have played with the signs of plane surfaces 14 and 15. Thanks in advance!!! Jose El jue., 14 may. 2020 a las 13:54, Ugis Lacis () escribi?: > Dear Jose, > > I think I have had similar error, when importing GMSH mesh into FreeFEM++, > few years ago (although it seems that the error message might have > changed). It turned out that the direction of loop definition in GMSH was > the issue for me. See below my exchange with FreeFEM++ mailing list. > > Maybe it can be helpful for you. > > Best regards, > Ugis Lacis > Researcher > KTH Mechanics > > > ------------------------------------------------------------------------------------------------------------------------------------------------------------------ > -------- Forwarded Message -------- > Subject: Re: [Freefempp] Issue with loading mesh from GMSH. > Date: Fri, 3 Aug 2018 09:41:29 +0200 > From: U?is L?cis > To: FreeFem mailing list > > > Hi everyone, > > I managed to solve the issue myself. It turned out that the direction of > GMSH loop was surviving till FreeFEM++ and while GMSH did not complain > about anything, FreeFEM++ couldn't use the mesh. mesh2 could be fixed by > changing signs in all lines within the line loop, i.e., > change > Line Loop(5) = {18, 19, 20, 12, 7, 8}; > to > Line Loop(5) = {-18, -19, -20, -12, -7, -8}; > > Maybe this helps to someone at some point. > > Best, > Ugis > > On 02/08/18 15:30, U?is L?cis wrote: > Dear FreeFEM++ users and developers, > > I have run into an issue which I am unable to solve by myself. I have been > using FreeFEM++ together with GMSH without any problems for quite some > time. Now, however, trying to load a 2D mesh generated by GMSH, gives me > following error: > > Assertion fail : (area>0) > line :281, in file ./include/fem.hpp > > I attach the corresponding geo and msh files of two meshes (mesh1 - > working fine, mesh2 - does not load), as well as edp file for reading and > plotting the mesh. > > I have carefully checked that physical tags are applied correctly, I have > tried exporting both in MSH and MESH (medit) formats, using GMSH versions > 3.06 and 2.16.0, as well as using FreeFEM++ versions 3.560000 and 3.610002, > all try has led me to the same behaviour. I have identified that the issue > comes from the surface mesh, if I export only line mesh (comment out > "Physical Surface(11) = {3,4};" from mesh2.geo and run "gmsh -2 > mesh2.geo"), then it loads fine. But checking the mesh within GMSH, > everything seems to be perfectly fine... > > Do you have any suggestions on how to solve this issue? > > Best regards, > Ugis Lacis > Researcher > KTH Mechanics > > ------------------------------------------------------------------------------------------------------------------------------------------------------------------ > > > On 14/05/2020 12:03, Jose Juan Alonso del Rosario wrote: > > Dear colleages > > I am trying to build the mesh for a slice with a pentagonal hole. > GMSH runs properly with good quality tets but when trying to read it from > freefem++ the error is: > > " Bad orientation: The adj border element defined by [ 16 246 ] is > oriented in the same direction in element 3922 and in the element 446 > ****** bug in mesh construction? orientation parameter? > current line = 12 mpirank 1 / 2 > " > Can you give any advice on this? > > Thanks in advance > > Jose > > -- > Prof. Dr. Jose Juan Alonso del Rosario > Applied Physics Dept., > Naval and Oceanic Engineering. > University of Cadiz. > Avda Rep Saharaui s/n. Puerto Real, 11510, Cadiz, Spain > Tlf: +34 956 016054 > Fax: +34 956016079 > Secretary: +34 956016078 > > "All I wanna say is that they don't really care about us", Michael Jackson > > _______________________________________________ > gmsh mailing listgmsh at onelab.infohttp://onelab.info/mailman/listinfo/gmsh > > > -- Prof. Dr. Jose Juan Alonso del Rosario Applied Physics Dept., Naval and Oceanic Engineering. University of Cadiz. Avda Rep Saharaui s/n. Puerto Real, 11510, Cadiz, Spain Tlf: +34 956 016054 Fax: +34 956016079 Secretary: +34 956016078 "All I wanna say is that they don't really care about us", Michael Jackson -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: pentagono.geo Type: application/octet-stream Size: 1809 bytes Desc: not available URL: From niko.karin at gmail.com Fri May 15 09:33:57 2020 From: niko.karin at gmail.com (Karin&NiKo) Date: Fri, 15 May 2020 09:33:57 +0200 Subject: [Gmsh] Embed a point lying on the edge Message-ID: Dear Gmsh Gurus, I am trying to embed a point lying on an edge of a volume, so that a node be generated there in the mesh. I am providing with a simple example, using the OCC Factory. I have tried several solutions (see test.geo) given that the Split command is unvailable with OCC Factory but they all fail. I must be missing something... Thanks for your help. Nicolas -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: test.geo Type: application/octet-stream Size: 463 bytes Desc: not available URL: From ruth.sabariego at kuleuven.be Fri May 15 10:17:35 2020 From: ruth.sabariego at kuleuven.be (Ruth Vazquez Sabariego) Date: Fri, 15 May 2020 08:17:35 +0000 Subject: [Gmsh] bad orientation In-Reply-To: References: Message-ID: Dear all, I am not familiar with FreeFEM++... The mesh generation happens without any issue. If the problem is the normal orientation, maybe you could invert the normal at the end of the geo file, for whatever surface you want. e.g. with the file you sent, for having outward normals in the mesh you should add Reverse Surface{1,13,15,14}; Alternative to changing the loops. Best regards, Ruth ? Prof. Ruth V. Sabariego KU Leuven, Dept. Electrical Engineering ESAT/Electa, EnergyVille http://www.esat.kuleuven.be/electa http://www.energyville.be On 15 May 2020, at 08:55, Jose Juan Alonso del Rosario > wrote: Dear Ugis and colleages of GMSH, Thank you for your suggestions. I have changed the loop orientation of the upper and lower faces of the pentagon and the whole volumen was meshed (no hole at the end). In addition the same error still happens. "read mesh ok 0Mesh3, num Tetra:= 24011, num Vertice:= 5665 num boundary Triangles:= 6078 Mesh3::meshS, num Triangles:= 6078, num Vertice:= 3039 num boundary Edges:= 354 read mesh ok 0Mesh3, num Tetra:= 24011, num Vertice:= 5665 num boundary Triangles:= 6078 Mesh3::meshS, num Triangles:= 6078, num Vertice:= 3039 num boundary Edges:= 354 Bad orientation: The adj border element defined by [ 3 210 ] is oriented in the same direction in element 3519 and in the element 367 ****** bug in mesh construction? orientation parameter? S, num Triangles:= 6078, num Vertice:= 3039 num boundary Edges:= 354 Bad orientation: The adj border element defined by [ 3 210 ] is oriented in the same direction in element 3519 and in the element 367 ****** bug in mesh construction? orientation parameter? " This is after several Optimize3D and Optimize 3d with NetGen and reading it with freefem++ I include the .geo code. It is a thick slice with a pentagonal hole. The gmsh is now 4.5.6 and the meshing options are MeshAdapt and Frontal. I have played with the signs of plane surfaces 14 and 15. Thanks in advance!!! Jose El jue., 14 may. 2020 a las 13:54, Ugis Lacis (>) escribi?: Dear Jose, I think I have had similar error, when importing GMSH mesh into FreeFEM++, few years ago (although it seems that the error message might have changed). It turned out that the direction of loop definition in GMSH was the issue for me. See below my exchange with FreeFEM++ mailing list. Maybe it can be helpful for you. Best regards, Ugis Lacis Researcher KTH Mechanics ------------------------------------------------------------------------------------------------------------------------------------------------------------------ -------- Forwarded Message -------- Subject: Re: [Freefempp] Issue with loading mesh from GMSH. Date: Fri, 3 Aug 2018 09:41:29 +0200 From: U?is L?cis To: FreeFem mailing list Hi everyone, I managed to solve the issue myself. It turned out that the direction of GMSH loop was surviving till FreeFEM++ and while GMSH did not complain about anything, FreeFEM++ couldn't use the mesh. mesh2 could be fixed by changing signs in all lines within the line loop, i.e., change Line Loop(5) = {18, 19, 20, 12, 7, 8}; to Line Loop(5) = {-18, -19, -20, -12, -7, -8}; Maybe this helps to someone at some point. Best, Ugis On 02/08/18 15:30, U?is L?cis wrote: Dear FreeFEM++ users and developers, I have run into an issue which I am unable to solve by myself. I have been using FreeFEM++ together with GMSH without any problems for quite some time. Now, however, trying to load a 2D mesh generated by GMSH, gives me following error: Assertion fail : (area>0) line :281, in file ./include/fem.hpp I attach the corresponding geo and msh files of two meshes (mesh1 - working fine, mesh2 - does not load), as well as edp file for reading and plotting the mesh. I have carefully checked that physical tags are applied correctly, I have tried exporting both in MSH and MESH (medit) formats, using GMSH versions 3.06 and 2.16.0, as well as using FreeFEM++ versions 3.560000 and 3.610002, all try has led me to the same behaviour. I have identified that the issue comes from the surface mesh, if I export only line mesh (comment out "Physical Surface(11) = {3,4};" from mesh2.geo and run "gmsh -2 mesh2.geo"), then it loads fine. But checking the mesh within GMSH, everything seems to be perfectly fine... Do you have any suggestions on how to solve this issue? Best regards, Ugis Lacis Researcher KTH Mechanics ------------------------------------------------------------------------------------------------------------------------------------------------------------------ On 14/05/2020 12:03, Jose Juan Alonso del Rosario wrote: Dear colleages I am trying to build the mesh for a slice with a pentagonal hole. GMSH runs properly with good quality tets but when trying to read it from freefem++ the error is: " Bad orientation: The adj border element defined by [ 16 246 ] is oriented in the same direction in element 3922 and in the element 446 ****** bug in mesh construction? orientation parameter? current line = 12 mpirank 1 / 2 " Can you give any advice on this? Thanks in advance Jose -- Prof. Dr. Jose Juan Alonso del Rosario Applied Physics Dept., Naval and Oceanic Engineering. University of Cadiz. Avda Rep Saharaui s/n. Puerto Real, 11510, Cadiz, Spain Tlf: +34 956 016054 Fax: +34 956016079 Secretary: +34 956016078 "All I wanna say is that they don't really care about us", Michael Jackson _______________________________________________ gmsh mailing list gmsh at onelab.info http://onelab.info/mailman/listinfo/gmsh -- Prof. Dr. Jose Juan Alonso del Rosario Applied Physics Dept., Naval and Oceanic Engineering. University of Cadiz. Avda Rep Saharaui s/n. Puerto Real, 11510, Cadiz, Spain Tlf: +34 956 016054 Fax: +34 956016079 Secretary: +34 956016078 "All I wanna say is that they don't really care about us", Michael Jackson _______________________________________________ gmsh mailing list gmsh at onelab.info http://onelab.info/mailman/listinfo/gmsh -------------- next part -------------- An HTML attachment was scrubbed... URL: From ugis.lacis at gmail.com Fri May 15 09:44:28 2020 From: ugis.lacis at gmail.com (Ugis Lacis) Date: Fri, 15 May 2020 09:44:28 +0200 Subject: [Gmsh] bad orientation In-Reply-To: References: Message-ID: <5c391d3c-c550-3fe9-00c6-d49931ef74bd@gmail.com> Hi Jose, In general, You should be careful with mesh formats and element types when using GMSH and FreeFEM++. I checked your geo file and modified the mesh format and version definition (see attached files). I tested the geo file by producing the mesh using "gmsh pentagono.geo -3" And then loaded and displayed the mesh with FreeFEM++ "FreeFem++ test_load.edp" Seemed to work fine for me. I use FreeFEM 4.1, and GMSH v4.3.0. Overall, these questions might be more suitable for FreeFEM mailing list / forum. /Ugis On 15/05/2020 08:55, Jose Juan Alonso del Rosario wrote: > Dear Ugis and colleages of GMSH, > > Thank you for your suggestions. I have changed the loop orientation of > the upper and lower faces of the pentagon and the whole volumen was > meshed (no hole at the end). In addition the same error still happens. > > "read mesh ok 0Mesh3, num Tetra:= 24011, num Vertice:= 5665 num > boundary Triangles:= 6078 > Mesh3::meshS, num Triangles:= 6078, num Vertice:= 3039 num boundary > Edges:= 354 > read mesh ok 0Mesh3, num Tetra:= 24011, num Vertice:= 5665 num > boundary Triangles:= 6078 > Mesh3::meshS, num Triangles:= 6078, num Vertice:= 3039 num boundary > Edges:= 354 > ?Bad orientation: The adj border element ?defined by [ ?3 210 ] ?is > oriented in the same direction in element 3519 and in the element 367 > ****** bug in mesh construction? orientation parameter? > S, num Triangles:= 6078, num Vertice:= 3039 num boundary Edges:= 354 > ?Bad orientation: The adj border element ?defined by [ ?3 210 ] ?is > oriented in the same direction in element 3519 and in the element 367 > ****** bug in mesh construction? orientation parameter? " > > This is after several Optimize3D and Optimize 3d with NetGen and > reading it with freefem++ > > I include the .geo code. It is a thick slice with a pentagonal hole. > The gmsh is now 4.5.6 and the meshing options are MeshAdapt and > Frontal. I have played with the signs of plane surfaces 14 and 15. > > Thanks in advance!!! > > Jose > > > > > > El jue., 14 may. 2020 a las 13:54, Ugis Lacis ( >) escribi?: > > Dear Jose, > > I think I have had similar error, when importing GMSH mesh into > FreeFEM++, few years ago (although it seems that the error message > might have changed). It turned out that the direction of loop > definition in GMSH was the issue for me. See below my exchange > with FreeFEM++ mailing list. > > Maybe it can be helpful for you. > > Best regards, > Ugis Lacis > Researcher > KTH Mechanics > > ------------------------------------------------------------------------------------------------------------------------------------------------------------------ > -------- Forwarded Message -------- > Subject: Re: [Freefempp] Issue with loading mesh from GMSH. > Date: Fri, 3 Aug 2018 09:41:29 +0200 > From: U?is L?cis > > To: FreeFem mailing list > > > > > Hi everyone, > > I managed to solve the issue myself. It turned out that the > direction of GMSH loop was surviving till FreeFEM++ and while GMSH > did not complain about anything, FreeFEM++ couldn't use the mesh. > mesh2 could be fixed by changing signs in all lines within the > line loop, i.e., > change > Line Loop(5) = {18, 19, 20, 12, 7, 8}; > to > Line Loop(5) = {-18, -19, -20, -12, -7, -8}; > > Maybe this helps to someone at some point. > > Best, > Ugis > > On 02/08/18 15:30, U?is L?cis wrote: > Dear FreeFEM++ users and developers, > > I have run into an issue which I am unable to solve by myself. I > have been using FreeFEM++ together with GMSH without any problems > for quite some time. Now, however, trying to load a 2D mesh > generated by GMSH, gives me following error: > > Assertion fail : (area>0) > ??? line :281, in file ./include/fem.hpp > > I attach the corresponding geo and msh files of two meshes (mesh1 > - working fine, mesh2 - does not load), as well as edp file for > reading and plotting the mesh. > > I have carefully checked that physical tags are applied correctly, > I have tried exporting both in MSH and MESH (medit) formats, using > GMSH versions 3.06 and 2.16.0, as well as using FreeFEM++ versions > 3.560000 and 3.610002, all try has led me to the same behaviour. I > have identified that the issue comes from the surface mesh, if I > export only line mesh (comment out "Physical Surface(11) = {3,4};" > from mesh2.geo and run "gmsh -2 mesh2.geo"), then it loads fine. > But checking the mesh within GMSH, everything seems to be > perfectly fine... > > Do you have any suggestions on how to solve this issue? > > Best regards, > Ugis Lacis > Researcher > KTH Mechanics > ------------------------------------------------------------------------------------------------------------------------------------------------------------------ > > > On 14/05/2020 12:03, Jose Juan Alonso del Rosario wrote: >> Dear colleages >> >> I am trying to build the mesh for a slice with a pentagonal hole. >> GMSH runs properly with good quality tets but when trying to read >> it from freefem++ the error is: >> >> " Bad orientation: The adj border element ?defined by [ ?16 246 ] >> ?is oriented in the same direction in element 3922 and in the >> element 446 ****** bug in mesh construction? orientation parameter? >> ? current line = 12 mpirank 1 / 2 >> " >> Can you give any advice on this? >> >> Thanks in advance >> >> Jose >> >> -- >> Prof. Dr. Jose Juan Alonso del Rosario >> Applied Physics Dept., >> Naval and Oceanic Engineering. >> University of Cadiz. >> Avda Rep Saharaui s/n. Puerto Real, 11510, Cadiz, Spain >> Tlf: +34 956 016054 >> Fax: +34 956016079 >> Secretary: +34 956016078 >> >> "All I wanna say is that they don't really care about us", >> Michael Jackson >> >> _______________________________________________ >> gmsh mailing list >> gmsh at onelab.info >> http://onelab.info/mailman/listinfo/gmsh > > > > -- > Prof. Dr. Jose Juan Alonso del Rosario > Applied Physics Dept., > Naval and Oceanic Engineering. > University of Cadiz. > Avda Rep Saharaui s/n. Puerto Real, 11510, Cadiz, Spain > Tlf: +34 956 016054 > Fax: +34 956016079 > Secretary: +34 956016078 > > "All I wanna say is that they don't really care about us", Michael Jackson -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: pentagono.geo Type: application/vnd.dynageo Size: 1892 bytes Desc: not available URL: -------------- next part -------------- // Level of output verbosity = 0; load "msh3" load "gmsh"; load "medit"; mesh3 Th3I=gmshload3("pentagono.msh"); fespace Uh (Th3I,P1); medit("test",Th3I); From jeremy at seamplex.com Fri May 15 11:25:27 2020 From: jeremy at seamplex.com (Jeremy Theler) Date: Fri, 15 May 2020 06:25:27 -0300 Subject: [Gmsh] Embed a point lying on the edge In-Reply-To: References: Message-ID: <9882f891e531f4c90cf2c7c0fa9c05664fa2c631.camel@seamplex.com> Dear Nicolas I asked the very same thing here: https://gitlab.onelab.info/gmsh/gmsh/-/issues/450The answer is here: https://gitlab.onelab.info/gmsh/gmsh/-/issues/644 TLDR; perform a boolean fragments operation between the line and the point: SetFactory("OpenCASCADE"); Point(1) = {0,0,0, 0.1}; Point(2) = {5,0,0, 0.1}; Line(1) = {1,2}; Point(3) = {1,0,0, 0.2}; BooleanFragments{ Point{3}; Delete; }{ Curve{1}; Delete; } On Fri, 2020-05-15 at 09:33 +0200, Karin&NiKo wrote: > Dear Gmsh Gurus, > I am trying to embed a point lying on an edge of a volume, so that a > node be generated there in the mesh. > > I am providing with a simple example, using the OCC Factory. > I have tried several solutions (see test.geo) given that the Split > command is unvailable with OCC Factory but they all fail. > > I must be missing something... > > Thanks for your help. > Nicolas > > _______________________________________________gmsh mailing > listgmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh -------------- next part -------------- An HTML attachment was scrubbed... URL: From hansjoerg at fisica.ufc.br Fri May 15 15:04:05 2020 From: hansjoerg at fisica.ufc.br (Hansjoerg Seybold) Date: Fri, 15 May 2020 15:04:05 +0200 Subject: [Gmsh] meshing partitions In-Reply-To: References: <2962206F-B980-4B9A-AE85-B58911B4ABB4@uliege.be> Message-ID: Hello, Thanks a lot for the support. Meshing in two steps and noting the NbNodes and elements (NbTriangles, Nbquads) worked. I get a correct mesh in gmsh and also saving the result is correct. I still have some problems importing the final BDF mesh into ansys fluent (gmsh reads and displays the BDF correctly) The BDF contains the diagonal edges twice although I use Coherence Mesh. after deleting CBAR 1 ... ... CBAR 16 ... by hand I can read the combined BDF mesh into ansys. I attached all three sample geo files for all three steps (mesh_1.geo, mesh_2.geo and mesh_combined.geo) for reference Thanks a lot again. Cheers, hj On Mon, May 11, 2020 at 5:30 PM Christophe Geuzaine wrote: > > > > > On 11 May 2020, at 16:32, Hansjoerg Seybold wrote: > > > > Hello, > > Thanks a lot for the reply. Using the visibility filter worked. I > > created a simple test case (attached) > > which creates the two mesh pieces. So now I have two meshes > > multizone_1.msh and multizone_2.msh > > which I can load in a geo file > > -------------------------------------- > > Merge "multizone_1.msh"; > > Merge "multizone_2.msh"; > > Coherence Mesh; > > Save "multizone_merged.msh"; > > Save "multizone_merged.bdf"; > > Exit; > > -------------------------------------- > > I understood that the coherence mesh removes the duplicate nodes on > > the common edge and the above > > script displays the mesh in the gui correctly. > > However the export is distorted as the node ordering is not updated. > > I would get the development snapshot to try to use the mesh tag > > suggestion, but how would I do the reordering > > starting from the script above? > > > > You would do: > > Mesh.FirstNodeTag=1; > Mesh 2; > Save "multizone_1.msh"; > > ... > > Mesh.FirstNodeTag=Mesh.NbNodes + 1; > Mesh 2; > Save "multizone_2.msh"; > > > > regarding openmp: > > > > We (the IT cluster staff at ETH Zurich and myself) tried to get the > > openmp version of gmsh running on the cluster (CentOS 6), but without > > success. > > I managed to compile and run it on my ubuntu PC, but with very little > > speedup for the selected meshing algorithm. > > I tested openmp with two physical groups active and -nt 2, on a finer > > LC as in the attached geo for speed measurements and Mesh.Algorithm = > > 9; gmsh-4.4.1, > > a significant speedup could only be observed for del2d, but quality > > tests showed that the 'pack' algorithm gave the best meshing result > > Ok I see. The "pack" algorithm has not been worked on for a while and is indeed currently sequential. We are working on updating this algorithm, so hopefully it will get much faster (and parallel) soon. > > > BTW, is it possible to apply different meshing algorithms to different > > physical groups? > > > > Yes. In .geo files: MeshAlgorithm Surface {...} = ...; > > Christophe > > > > Regarding the 5 days meshing: I am using quad meshing (algo 9) with a > > not too sophisticated sizing function but with a very large domain, > > del2d is orders > > of magnitudes faster. > > > > Thanks a lot for the help. > > > > Hansjoerg > > > > > > > > > > > > > > > > On Sun, May 10, 2020 at 9:05 AM Christophe Geuzaine wrote: > >> > >> > >> > >>> On 9 May 2020, at 18:09, Hansjoerg Seybold wrote: > >>> > >>> Hello, > >>> I am trying to mesh a model consisting of several physical groups each > >>> group at a time and then merge the meshes for the different physical > >>> groups afterwards. The reason why I am trying to perform this "domain > >>> decomposition" is that the meshing of the full model takes over 5 days > >>> and exceeds the runtime limit of the queuing system. > >>> > >>> However I could not find a simple way to apply the "Mesh 2" to a > >>> specific physical group. Gmsh always tries to mesh the whole model. > >>> > >> > >> You could either delete the parts you don't want to mesh; or hide the parts you don't want to mesh (cf. the `Show` and `Hide` commands in .geo script, or `setVisibility()` in the api) and use the `Mesh.MeshOnlyVisible` option. > >> > >>> My question would be if anybody has a hint how to perform this meshing > >>> in parts and how to combine the resulting meshes into a single final > >>> model. > >>> > >> > >> That's trickier as each mesh will be independent. The development snapshot allows you to set the starting node/element tag (Mesh.FirstNodeTag, Mesh.FirstElementTag), which will help. Removing duplicate nodes when you merge things together can be done with Coherence Mesh (in .geo files) or removeDuplicateNodes() in the api. > >> > >> PS: 5 days to perform a 2D mesh ? Anything special in the geometry/size field? If you don't do this already at least recompile Gmsh with OpenMP enabled, and mesh in parallel? > >> > >> Christophe > >> > >>> Thank you very much. > >>> > >>> Best, > >>> hansjoerg > >>> > >>> _______________________________________________ > >>> 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 > >> > >> > >> > > _______________________________________________ > > 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 > > > -------------- next part -------------- A non-text attachment was scrubbed... Name: mesh_1.geo Type: application/octet-stream Size: 1150 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: mesh_2.geo Type: application/octet-stream Size: 1184 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: mesh_combined.geo Type: application/octet-stream Size: 113 bytes Desc: not available URL: From josejuan.alonso at gm.uca.es Sun May 17 08:29:14 2020 From: josejuan.alonso at gm.uca.es (Jose Juan Alonso del Rosario) Date: Sun, 17 May 2020 08:29:14 +0200 Subject: [Gmsh] bad orientation In-Reply-To: <5c391d3c-c550-3fe9-00c6-d49931ef74bd@gmail.com> References: <5c391d3c-c550-3fe9-00c6-d49931ef74bd@gmail.com> Message-ID: Dear colleages, dear Ugis Thank you for your suggestions to solve the problem about bad orientated elements. I have tried all what you suggested. The mesh generation with GMSH gave no issues but when reading the mesh file with FreeFem++ the message is (changing the verbosity level) 5665 vertices closing file 24009 6078 24009 tetrahedrons 6078 triangles 30459 numElements -- GMesh3 , n V: 5665 , n Elm: 24009 , n B Elm: 6078mes 877 674.198 , bb: (-5 -15 -5) , (5 3 0) -- BuildAdj:nva= 3 4 6078 -- warning true boundary element 102 is no in correct orientation -- warning true boundary element 103 is no in correct orientation -- warning true boundary element 104 is no in correct orientation -- warning true boundary element 105 is no in correct orientation -- warning true boundary element 106 is no in correct orientation -- warning true boundary element 107 is no in correct orientation -- warning true boundary element 108 is no in correct orientation -- warning true boundary element 109 is no in correct orientation -- warning true boundary element 110 is no in correct orientation Warning change orientation of 1938 faces Warning error in boundary oriention 1938 faces I have written to the FreeFem++ community also. If you have any other idea, it will be welcomed! Thank you very much in advance, Jose El vie., 15 may. 2020 a las 9:44, Ugis Lacis () escribi?: > Hi Jose, > > In general, You should be careful with mesh formats and element types when > using GMSH and FreeFEM++. I checked your geo file and modified the mesh > format and version definition (see attached files). I tested the geo file > by producing the mesh using > "gmsh pentagono.geo -3" > And then loaded and displayed the mesh with FreeFEM++ > "FreeFem++ test_load.edp" > > Seemed to work fine for me. I use FreeFEM 4.1, and GMSH v4.3.0. > > Overall, these questions might be more suitable for FreeFEM mailing list / > forum. > > /Ugis > > On 15/05/2020 08:55, Jose Juan Alonso del Rosario wrote: > > Dear Ugis and colleages of GMSH, > > Thank you for your suggestions. I have changed the loop orientation of the > upper and lower faces of the pentagon and the whole volumen was meshed (no > hole at the end). In addition the same error still happens. > > "read mesh ok 0Mesh3, num Tetra:= 24011, num Vertice:= 5665 num boundary > Triangles:= 6078 > Mesh3::meshS, num Triangles:= 6078, num Vertice:= 3039 num boundary > Edges:= 354 > read mesh ok 0Mesh3, num Tetra:= 24011, num Vertice:= 5665 num boundary > Triangles:= 6078 > Mesh3::meshS, num Triangles:= 6078, num Vertice:= 3039 num boundary > Edges:= 354 > Bad orientation: The adj border element defined by [ 3 210 ] is > oriented in the same direction in element 3519 and in the element 367 > ****** bug in mesh construction? orientation parameter? > S, num Triangles:= 6078, num Vertice:= 3039 num boundary Edges:= 354 > Bad orientation: The adj border element defined by [ 3 210 ] is > oriented in the same direction in element 3519 and in the element 367 > ****** bug in mesh construction? orientation parameter? " > > This is after several Optimize3D and Optimize 3d with NetGen and reading > it with freefem++ > > I include the .geo code. It is a thick slice with a pentagonal hole. The > gmsh is now 4.5.6 and the meshing options are MeshAdapt and Frontal. I have > played with the signs of plane surfaces 14 and 15. > > Thanks in advance!!! > > Jose > > > > > > El jue., 14 may. 2020 a las 13:54, Ugis Lacis () > escribi?: > >> Dear Jose, >> >> I think I have had similar error, when importing GMSH mesh into >> FreeFEM++, few years ago (although it seems that the error message might >> have changed). It turned out that the direction of loop definition in GMSH >> was the issue for me. See below my exchange with FreeFEM++ mailing list. >> >> Maybe it can be helpful for you. >> >> Best regards, >> Ugis Lacis >> Researcher >> KTH Mechanics >> >> >> ------------------------------------------------------------------------------------------------------------------------------------------------------------------ >> -------- Forwarded Message -------- >> Subject: Re: [Freefempp] Issue with loading mesh from GMSH. >> Date: Fri, 3 Aug 2018 09:41:29 +0200 >> From: U?is L?cis >> To: FreeFem mailing list >> >> >> Hi everyone, >> >> I managed to solve the issue myself. It turned out that the direction of >> GMSH loop was surviving till FreeFEM++ and while GMSH did not complain >> about anything, FreeFEM++ couldn't use the mesh. mesh2 could be fixed by >> changing signs in all lines within the line loop, i.e., >> change >> Line Loop(5) = {18, 19, 20, 12, 7, 8}; >> to >> Line Loop(5) = {-18, -19, -20, -12, -7, -8}; >> >> Maybe this helps to someone at some point. >> >> Best, >> Ugis >> >> On 02/08/18 15:30, U?is L?cis wrote: >> Dear FreeFEM++ users and developers, >> >> I have run into an issue which I am unable to solve by myself. I have >> been using FreeFEM++ together with GMSH without any problems for quite some >> time. Now, however, trying to load a 2D mesh generated by GMSH, gives me >> following error: >> >> Assertion fail : (area>0) >> line :281, in file ./include/fem.hpp >> >> I attach the corresponding geo and msh files of two meshes (mesh1 - >> working fine, mesh2 - does not load), as well as edp file for reading and >> plotting the mesh. >> >> I have carefully checked that physical tags are applied correctly, I have >> tried exporting both in MSH and MESH (medit) formats, using GMSH versions >> 3.06 and 2.16.0, as well as using FreeFEM++ versions 3.560000 and 3.610002, >> all try has led me to the same behaviour. I have identified that the issue >> comes from the surface mesh, if I export only line mesh (comment out >> "Physical Surface(11) = {3,4};" from mesh2.geo and run "gmsh -2 >> mesh2.geo"), then it loads fine. But checking the mesh within GMSH, >> everything seems to be perfectly fine... >> >> Do you have any suggestions on how to solve this issue? >> >> Best regards, >> Ugis Lacis >> Researcher >> KTH Mechanics >> >> ------------------------------------------------------------------------------------------------------------------------------------------------------------------ >> >> >> On 14/05/2020 12:03, Jose Juan Alonso del Rosario wrote: >> >> Dear colleages >> >> I am trying to build the mesh for a slice with a pentagonal hole. >> GMSH runs properly with good quality tets but when trying to read it from >> freefem++ the error is: >> >> " Bad orientation: The adj border element defined by [ 16 246 ] is >> oriented in the same direction in element 3922 and in the element 446 >> ****** bug in mesh construction? orientation parameter? >> current line = 12 mpirank 1 / 2 >> " >> Can you give any advice on this? >> >> Thanks in advance >> >> Jose >> >> -- >> Prof. Dr. Jose Juan Alonso del Rosario >> Applied Physics Dept., >> Naval and Oceanic Engineering. >> University of Cadiz. >> Avda Rep Saharaui s/n. Puerto Real, 11510, Cadiz, Spain >> Tlf: +34 956 016054 >> Fax: +34 956016079 >> Secretary: +34 956016078 >> >> "All I wanna say is that they don't really care about us", Michael Jackson >> >> _______________________________________________ >> gmsh mailing listgmsh at onelab.infohttp://onelab.info/mailman/listinfo/gmsh >> >> >> > > -- > Prof. Dr. Jose Juan Alonso del Rosario > Applied Physics Dept., > Naval and Oceanic Engineering. > University of Cadiz. > Avda Rep Saharaui s/n. Puerto Real, 11510, Cadiz, Spain > Tlf: +34 956 016054 > Fax: +34 956016079 > Secretary: +34 956016078 > > "All I wanna say is that they don't really care about us", Michael Jackson > > > -- Prof. Dr. Jose Juan Alonso del Rosario Applied Physics Dept., Naval and Oceanic Engineering. University of Cadiz. Avda Rep Saharaui s/n. Puerto Real, 11510, Cadiz, Spain Tlf: +34 956 016054 Fax: +34 956016079 Secretary: +34 956016078 "All I wanna say is that they don't really care about us", Michael Jackson -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: pentagonV2.geo Type: application/octet-stream Size: 1892 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: test_loadv2.edp Type: application/octet-stream Size: 379 bytes Desc: not available URL: From dstoupis at auth.gr Sun May 17 15:00:56 2020 From: dstoupis at auth.gr (Dimitrios Stoupis) Date: Sun, 17 May 2020 13:00:56 +0000 Subject: [Gmsh] Adding a boundary surface on a STL model Message-ID: Hi, I want to run brain simulations with models from the PHM repository (not relevant to the problem but suits the narrative) which are shipped in STL format. The meshes of the STL have been fixed using MeshFix and the attached .geo file has been used to generate the 3D mesh. [file: brain_mesh.geo] The script successfully meshes the model and the generated mesh is correct. The problem is how can I add electrodes on the head (cylindrical volumes) so that later I use those as the boundary surfaces to add the boundary conditions in the FEM solver. Illustration I have tried creating a cylinder and applying boolean operation with the STL, but obviously this did not work. How can I create such a thing on the STL surface? There is no CAD available just the STL files. For copyright reasons I am not able to share the STL, but I will try to illustrate below the problem using a sphere in paint. [image: electrode.png] I want the electrode (red volume) to be tangent with the surface of the skin (black sphere). The black sphere is only in STL format. Triangle position problem Finally the next problem that will arise is how can I get the individual triangle positions on the STL surface through the file in order to be able and add the electrode perpendicular to the surface and to the right spot, without doing trial and error work to find the location. Thank you! -------------- next part -------------- A non-text attachment was scrubbed... Name: brain_mesh.geo Type: application/octet-stream Size: 1096 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: electrode.png Type: image/png Size: 7348 bytes Desc: not available URL: From cgeuzaine at uliege.be Mon May 18 15:23:40 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 18 May 2020 15:23:40 +0200 Subject: [Gmsh] Zero volume tets In-Reply-To: References: <7F61C64E-6C5A-465D-80AE-3DF3E3B47D34@uliege.be> Message-ID: <198830DA-AE54-4989-8C73-C979E48F5A0A@uliege.be> Hello Nicolas, The issue is that you do "Point ... In Volume" for a point that is actually on the boundary of the volume - actually on a curve. Quick solution: add a global fragment operation on the volumes and the points - it will automatically embed the point in all the required entities. (Here it will need to split a curve + redefine all the surfaces/volumes touched...) Cheers, Christophe -------------- next part -------------- A non-text attachment was scrubbed... Name: script_Domaine_frag.geo Type: application/octet-stream Size: 3805 bytes Desc: not available URL: -------------- next part -------------- > On 13 May 2020, at 08:44, Karin&NiKo wrote: > > Christophe, > > I see that the mesh contains duplicate nodes : > Info : Checking for duplicate nodes... > Warning : Vertex 79 (0, 0, 999.9999999999999) already exists in the mesh with tolerance 4.66905e-05: Vertex 17 (0, 0, 1000) > Error : 1 duplicate node: see `duplicate_node.pos' > > I am quite sure that it comes from the point I define and ask the mesh to embed (lines 21-26 of the script - if I remove it, the script doesn't complain anymore) : > c0[] = Point{4}; // c0 contains the coords in indexes 0,1,2 > c1[] = Point{3}; > p=newp; // newp is command to generate a new point number - we store it in p > Point(p)={0,0, (c1[2]-c0[2])/2}; > Point{p} In Volume{1}; > Physical Point("PGHM") = {p}; > > Is there a way to set a sharper value to some parameter to avoid this? I tried to Coherence Mesh but it causes me trouble in the computation based on this mesh (it seems to become invalide in some sense). > > Nicolas > > > Le mar. 12 mai 2020 ? 14:06, Karin&NiKo a ?crit : > Thanks for the tip Christophe! > "Mesh.Algorithm3D = 10;" is indeed faster and produces less elements. > > Nicolas > > Le mar. 12 mai 2020 ? 13:28, Christophe Geuzaine a ?crit : > > > > On 12 May 2020, at 11:49, Karin&NiKo wrote: > > > > Dear Gmsh Gurus, > > > > I am facing some troubles with a brep CAD I am trying to mesh with Gmsh. > > If I try the meshing default settings, the mesh is being built and Gmsh is proud to announce that no illegal tet stand in the mesh. *But* if I simply run "gmsh -check", Gmsh admits that zero volume tets stay in the mesh. So it is unusable for computation. > > There maybe too many messages, but the optimizer indeed reports that there are 6 tets below the quality threshold in volume 2 with the default algo (we should issue a warning if the quality is indeed approaching zero): > > Info : Optimizing volume 2 > Info : Optimization starts (volume = 3.52969e+07) with worst = 0 / average = 0.757222: > Info : 0.00 < quality < 0.10 : 212 elements > Info : 0.10 < quality < 0.20 : 362 elements > Info : 0.20 < quality < 0.30 : 166 elements > Info : 0.30 < quality < 0.40 : 222 elements > Info : 0.40 < quality < 0.50 : 287 elements > Info : 0.50 < quality < 0.60 : 765 elements > Info : 0.60 < quality < 0.70 : 3802 elements > Info : 0.70 < quality < 0.80 : 7720 elements > Info : 0.80 < quality < 0.90 : 4721 elements > Info : 0.90 < quality < 1.00 : 4214 elements > Info : 321 edge swaps, 0 node relocations (volume = 3.52969e+07): worst = 0 / average = 0.765757 (Wall 0.022079s, CPU 0.022s) > Info : 338 edge swaps, 0 node relocations (volume = 3.52969e+07): worst = 0 / average = 0.765884 (Wall 0.0357411s, CPU 0.035583s) > Info : 339 edge swaps, 0 node relocations (volume = 3.52969e+07): worst = 0 / average = 0.765909 (Wall 0.0503662s, CPU 0.050068s) > Info : 6 ill-shaped tets are still in the mesh > > > > I have succeeded in producing a correct mesh by using the Frontal 3D algorithm (Mesh.Algorithm3D = 4;). > > Perhaps a check of the presence of zero volume elements could be an interesting enhancement. > > You can also try > > Mesh.Algorithm3D = 10; > > which is (here a bit) faster. > > Christophe > > > > You'll find all necessary files in the attached archive. > > > > Regards, > > Nicolas > > _______________________________________________ > > 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 > > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Mon May 18 15:24:57 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 18 May 2020 15:24:57 +0200 Subject: [Gmsh] Gmsh binary with OpenMP enabled In-Reply-To: References: Message-ID: <78DBEC7B-C8A0-4295-94E3-2D0B17D3A0FD@uliege.be> > On 14 May 2020, at 23:12, Tian Xia wrote: > > Hi, > > I am using the Python API of Gmsh, which depends on the dynamic link library. If I'd like to enable OpenMP, I will need to rebuild from the source after installing a few dependencies. Would it be possible to release the library with OpenMP under http://gmsh.info/bin/? Thanks! We don't know yet how to do that and still ship the Gmsh binary and/or the Gmsh library without shipping the actual openmp dynamic library as well... Any help with this is clearly welcome! Christophe > > -- > Tian > _______________________________________________ > 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 From cgeuzaine at uliege.be Mon May 18 15:26:02 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 18 May 2020 15:26:02 +0200 Subject: [Gmsh] meshing partitions In-Reply-To: References: <2962206F-B980-4B9A-AE85-B58911B4ABB4@uliege.be> Message-ID: > On 15 May 2020, at 15:04, Hansjoerg Seybold wrote: > > Hello, > Thanks a lot for the support. Meshing in two steps and noting the > NbNodes and elements (NbTriangles, Nbquads) worked. I get a correct > mesh in gmsh and also saving the result is correct. > I still have some problems importing the final BDF mesh into ansys > fluent (gmsh reads and displays the BDF correctly) > > The BDF contains the diagonal edges twice although I use Coherence Mesh. Ok that's normal: currently we only remove duplicate nodes, not elements (cf. https://gitlab.onelab.info/gmsh/gmsh/-/issues/19 for tracking this.) Christophe > > after deleting > CBAR 1 ... > ... > CBAR 16 ... > > by hand I can read the combined BDF mesh into ansys. > > I attached all three sample geo files for all three steps (mesh_1.geo, > mesh_2.geo and mesh_combined.geo) for reference > > > Thanks a lot again. > > Cheers, > hj > > > > > > > On Mon, May 11, 2020 at 5:30 PM Christophe Geuzaine wrote: >> >> >> >>> On 11 May 2020, at 16:32, Hansjoerg Seybold wrote: >>> >>> Hello, >>> Thanks a lot for the reply. Using the visibility filter worked. I >>> created a simple test case (attached) >>> which creates the two mesh pieces. So now I have two meshes >>> multizone_1.msh and multizone_2.msh >>> which I can load in a geo file >>> -------------------------------------- >>> Merge "multizone_1.msh"; >>> Merge "multizone_2.msh"; >>> Coherence Mesh; >>> Save "multizone_merged.msh"; >>> Save "multizone_merged.bdf"; >>> Exit; >>> -------------------------------------- >>> I understood that the coherence mesh removes the duplicate nodes on >>> the common edge and the above >>> script displays the mesh in the gui correctly. >>> However the export is distorted as the node ordering is not updated. >>> I would get the development snapshot to try to use the mesh tag >>> suggestion, but how would I do the reordering >>> starting from the script above? >>> >> >> You would do: >> >> Mesh.FirstNodeTag=1; >> Mesh 2; >> Save "multizone_1.msh"; >> >> ... >> >> Mesh.FirstNodeTag=Mesh.NbNodes + 1; >> Mesh 2; >> Save "multizone_2.msh"; >> >> >>> regarding openmp: >>> >>> We (the IT cluster staff at ETH Zurich and myself) tried to get the >>> openmp version of gmsh running on the cluster (CentOS 6), but without >>> success. >>> I managed to compile and run it on my ubuntu PC, but with very little >>> speedup for the selected meshing algorithm. >>> I tested openmp with two physical groups active and -nt 2, on a finer >>> LC as in the attached geo for speed measurements and Mesh.Algorithm = >>> 9; gmsh-4.4.1, >>> a significant speedup could only be observed for del2d, but quality >>> tests showed that the 'pack' algorithm gave the best meshing result >> >> Ok I see. The "pack" algorithm has not been worked on for a while and is indeed currently sequential. We are working on updating this algorithm, so hopefully it will get much faster (and parallel) soon. >> >>> BTW, is it possible to apply different meshing algorithms to different >>> physical groups? >>> >> >> Yes. In .geo files: MeshAlgorithm Surface {...} = ...; >> >> Christophe >> >> >>> Regarding the 5 days meshing: I am using quad meshing (algo 9) with a >>> not too sophisticated sizing function but with a very large domain, >>> del2d is orders >>> of magnitudes faster. >>> >>> Thanks a lot for the help. >>> >>> Hansjoerg >>> >>> >>> >>> >>> >>> >>> >>> On Sun, May 10, 2020 at 9:05 AM Christophe Geuzaine wrote: >>>> >>>> >>>> >>>>> On 9 May 2020, at 18:09, Hansjoerg Seybold wrote: >>>>> >>>>> Hello, >>>>> I am trying to mesh a model consisting of several physical groups each >>>>> group at a time and then merge the meshes for the different physical >>>>> groups afterwards. The reason why I am trying to perform this "domain >>>>> decomposition" is that the meshing of the full model takes over 5 days >>>>> and exceeds the runtime limit of the queuing system. >>>>> >>>>> However I could not find a simple way to apply the "Mesh 2" to a >>>>> specific physical group. Gmsh always tries to mesh the whole model. >>>>> >>>> >>>> You could either delete the parts you don't want to mesh; or hide the parts you don't want to mesh (cf. the `Show` and `Hide` commands in .geo script, or `setVisibility()` in the api) and use the `Mesh.MeshOnlyVisible` option. >>>> >>>>> My question would be if anybody has a hint how to perform this meshing >>>>> in parts and how to combine the resulting meshes into a single final >>>>> model. >>>>> >>>> >>>> That's trickier as each mesh will be independent. The development snapshot allows you to set the starting node/element tag (Mesh.FirstNodeTag, Mesh.FirstElementTag), which will help. Removing duplicate nodes when you merge things together can be done with Coherence Mesh (in .geo files) or removeDuplicateNodes() in the api. >>>> >>>> PS: 5 days to perform a 2D mesh ? Anything special in the geometry/size field? If you don't do this already at least recompile Gmsh with OpenMP enabled, and mesh in parallel? >>>> >>>> Christophe >>>> >>>>> Thank you very much. >>>>> >>>>> Best, >>>>> hansjoerg >>>>> >>>>> _______________________________________________ >>>>> 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 >>>> >>>> >>>> >>> _______________________________________________ >>> 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 >> >> >> > ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine From cgeuzaine at uliege.be Mon May 18 15:27:13 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 18 May 2020 15:27:13 +0200 Subject: [Gmsh] Adding a boundary surface on a STL model In-Reply-To: References: Message-ID: > On 17 May 2020, at 15:00, Dimitrios Stoupis wrote: > > Hi, > > I want to run brain simulations with models from the PHM repository > (not relevant to the problem but suits the narrative) which are > shipped in STL format. The meshes of the STL have been fixed using > MeshFix and the attached .geo file has been used to generate the 3D > mesh. > > [file: brain_mesh.geo] > > The script successfully meshes the model and the generated mesh is > correct. The problem is how can I add electrodes on the head > (cylindrical volumes) so that later I use those as the boundary > surfaces to add the boundary conditions in the FEM solver. > Illustration > > I have tried creating a cylinder and applying boolean operation with > the STL, but obviously this did not work. How can I create such a > thing on the STL surface? There is no CAD available just the STL > files. For copyright reasons I am not able to share the STL, but I > will try to illustrate below the problem using a sphere in paint. You'll need to preprocess the STL with an external tool first: currently there is nothing in Gmsh to modify STLs - only remesh them. Christophe > > [image: electrode.png] > > I want the electrode (red volume) to be tangent with the surface of > the skin (black sphere). The black sphere is only in STL format. > Triangle position problem > > Finally the next problem that will arise is how can I get the > individual triangle positions on the STL surface through the file in > order to be able and add the electrode perpendicular to the surface > and to the right spot, without doing trial and error work to find the > location. > > Thank you! > _______________________________________________ > 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 From niko.karin at gmail.com Mon May 18 16:12:55 2020 From: niko.karin at gmail.com (Karin&NiKo) Date: Mon, 18 May 2020 16:12:55 +0200 Subject: [Gmsh] Zero volume tets In-Reply-To: <198830DA-AE54-4989-8C73-C979E48F5A0A@uliege.be> References: <7F61C64E-6C5A-465D-80AE-3DF3E3B47D34@uliege.be> <198830DA-AE54-4989-8C73-C979E48F5A0A@uliege.be> Message-ID: Dear Christophe, I thank you so warmly for your help. I was quite lost with this problem and your fix is really easy! It would perhaps be useful to add this precise feature to the demo scripts. I saw that several users when wondering about it. And once again, congratulations to JF and you : Gmsh rocks!!! Nicolas Le lun. 18 mai 2020 ? 15:23, Christophe Geuzaine a ?crit : > > Hello Nicolas, > > The issue is that you do "Point ... In Volume" for a point that is > actually on the boundary of the volume - actually on a curve. > > Quick solution: add a global fragment operation on the volumes and the > points - it will automatically embed the point in all the required > entities. (Here it will need to split a curve + redefine all the > surfaces/volumes touched...) > > Cheers, > > Christophe > > > > > > On 13 May 2020, at 08:44, Karin&NiKo wrote: > > > > Christophe, > > > > I see that the mesh contains duplicate nodes : > > Info : Checking for duplicate nodes... > > Warning : Vertex 79 (0, 0, 999.9999999999999) already exists in > the mesh with tolerance 4.66905e-05: Vertex 17 (0, 0, 1000) > > Error : 1 duplicate node: see `duplicate_node.pos' > > > > I am quite sure that it comes from the point I define and ask the mesh > to embed (lines 21-26 of the script - if I remove it, the script doesn't > complain anymore) : > > c0[] = Point{4}; // c0 contains the coords in indexes 0,1,2 > > c1[] = Point{3}; > > p=newp; // newp is command to generate a new point number - we store it > in p > > Point(p)={0,0, (c1[2]-c0[2])/2}; > > Point{p} In Volume{1}; > > Physical Point("PGHM") = {p}; > > > > Is there a way to set a sharper value to some parameter to avoid this? I > tried to Coherence Mesh but it causes me trouble in the computation based > on this mesh (it seems to become invalide in some sense). > > > > Nicolas > > > > > > Le mar. 12 mai 2020 ? 14:06, Karin&NiKo a ?crit : > > Thanks for the tip Christophe! > > "Mesh.Algorithm3D = 10;" is indeed faster and produces less elements. > > > > Nicolas > > > > Le mar. 12 mai 2020 ? 13:28, Christophe Geuzaine > a ?crit : > > > > > > > On 12 May 2020, at 11:49, Karin&NiKo wrote: > > > > > > Dear Gmsh Gurus, > > > > > > I am facing some troubles with a brep CAD I am trying to mesh with > Gmsh. > > > If I try the meshing default settings, the mesh is being built and > Gmsh is proud to announce that no illegal tet stand in the mesh. *But* if I > simply run "gmsh -check", Gmsh admits that zero volume tets stay in the > mesh. So it is unusable for computation. > > > > There maybe too many messages, but the optimizer indeed reports that > there are 6 tets below the quality threshold in volume 2 with the default > algo (we should issue a warning if the quality is indeed approaching zero): > > > > Info : Optimizing volume 2 > > Info : Optimization starts (volume = 3.52969e+07) with worst = 0 / > average = 0.757222: > > Info : 0.00 < quality < 0.10 : 212 elements > > Info : 0.10 < quality < 0.20 : 362 elements > > Info : 0.20 < quality < 0.30 : 166 elements > > Info : 0.30 < quality < 0.40 : 222 elements > > Info : 0.40 < quality < 0.50 : 287 elements > > Info : 0.50 < quality < 0.60 : 765 elements > > Info : 0.60 < quality < 0.70 : 3802 elements > > Info : 0.70 < quality < 0.80 : 7720 elements > > Info : 0.80 < quality < 0.90 : 4721 elements > > Info : 0.90 < quality < 1.00 : 4214 elements > > Info : 321 edge swaps, 0 node relocations (volume = 3.52969e+07): > worst = 0 / average = 0.765757 (Wall 0.022079s, CPU 0.022s) > > Info : 338 edge swaps, 0 node relocations (volume = 3.52969e+07): > worst = 0 / average = 0.765884 (Wall 0.0357411s, CPU 0.035583s) > > Info : 339 edge swaps, 0 node relocations (volume = 3.52969e+07): > worst = 0 / average = 0.765909 (Wall 0.0503662s, CPU 0.050068s) > > Info : 6 ill-shaped tets are still in the mesh > > > > > > > I have succeeded in producing a correct mesh by using the Frontal 3D > algorithm (Mesh.Algorithm3D = 4;). > > > Perhaps a check of the presence of zero volume elements could be an > interesting enhancement. > > > > You can also try > > > > Mesh.Algorithm3D = 10; > > > > which is (here a bit) faster. > > > > Christophe > > > > > > > You'll find all necessary files in the attached archive. > > > > > > Regards, > > > Nicolas > > > _______________________________________________ > > > 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 > > > > > > > > _______________________________________________ > > 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 > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From alsalihi at vki.ac.be Sat May 23 09:26:24 2020 From: alsalihi at vki.ac.be (Zuheyr Alsalihi) Date: Sat, 23 May 2020 09:26:24 +0200 Subject: [Gmsh] Scaling all the entities of a step file In-Reply-To: Message-ID: <7ab4-5ec8d000-1df-60a61e00@65486080> Dear Christophe, Dear GMSH users, I need to create a script, or commandline option to read a step file, and scale the complete model with the purpose of converting the model from mm to m. I tried to do transform all the geometrical entities with dilate command, save it to a .geo file but run into error message, such as: Error?? : Unknown GEO point with tag 5 Error?? : Unknown GEO point with tag 3 ... practically all points. I attach the step file, the written out incomplete geo file (I used duplicate option), and the errors generated. I can mesh the step file and generate an STL grid perfectly well. Many thanks for reading! Best regards, Zuheyr ? -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: SourceDisk.step Type: application/octet-stream Size: 44361 bytes Desc: not available URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: error.txt URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: SourceDisk.geo Type: application/vnd.dynageo Size: 289 bytes Desc: not available URL: From cgeuzaine at uliege.be Sat May 23 09:50:04 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sat, 23 May 2020 09:50:04 +0200 Subject: [Gmsh] Scaling all the entities of a step file In-Reply-To: <7ab4-5ec8d000-1df-60a61e00@65486080> References: <7ab4-5ec8d000-1df-60a61e00@65486080> Message-ID: > On 23 May 2020, at 09:26, Zuheyr Alsalihi wrote: > > Dear Christophe, Dear GMSH users, > > I need to create a script, or commandline option to read a step file, and scale the complete model with the purpose of converting the model from mm to m. > Set Geometry.OCCTargetUnit = "M"; before merging the step file. Christophe > I tried to do transform all the geometrical entities with dilate command, save it to a .geo file but run into error message, such as: > Error : Unknown GEO point with tag 5 > Error : Unknown GEO point with tag 3 ... > > practically all points. I attach the step file, the written out incomplete geo file (I used duplicate option), and the errors generated. > > I can mesh the step file and generate an STL grid perfectly well. > > Many thanks for reading! > > Best regards, > Zuheyr > > _______________________________________________ > 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 From cgeuzaine at uliege.be Sat May 23 09:53:29 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sat, 23 May 2020 09:53:29 +0200 Subject: [Gmsh] STL Mesh generation surfaces with inward normalnot meshed?! In-Reply-To: <1721-5ebac580-7-706c0c80@8587542> References: <1721-5ebac580-7-706c0c80@8587542> Message-ID: <8AA28D58-C4DE-4469-B9B3-12FD5C247DF3@uliege.be> > On 12 May 2020, at 17:50, Zuheyr Alsalihi wrote: > > Dear colleagues, > > I could not easily describe the problem. > > A rectangular slab step file that I have generated, attached CG1.step, shows the top and bottom surfaces inward normal. > I am not able to reverse this. > But the surface is there, see Pic1.png. When I create an STL mesh with GMSH gmsh-4.5.6-Linux64/bin/gmsh > these 2 surfaces are not meshed. Can you please help me understand and solve this problem? Somehow OpenCASCADE badly translates surface 5 in the STEP file. See attached .brep of the offending surface: all point evaluations within the surface are (wrongly) evaluated on a plane parallel to the surface, but translated. You should report this bug to the OpenCASCADE developers and attach the STEP file. Christophe -------------- next part -------------- A non-text attachment was scrubbed... Name: debugSurface.brep Type: application/octet-stream Size: 1685 bytes Desc: not available URL: -------------- next part -------------- > Many thanks for reading. > Kind regards, > Zuheyr _______________________________________________ > 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 From alsalihi at vki.ac.be Sun May 24 19:06:20 2020 From: alsalihi at vki.ac.be (Zuheyr Alsalihi) Date: Sun, 24 May 2020 19:06:20 +0200 Subject: [Gmsh] =?utf-8?q?Merging_multiple_step_files_in_=2Egeo_script?= In-Reply-To: Message-ID: <43a2-5ecaa980-7-5b960b00@195901905> Dear Christophe, Dear colleagues, How can I merge large number of step files (132 in my case) in a .geo script? I tried * but it is not parsed. Many thanks for reading. Best regards, Zuheyr ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From gdmcbain at protonmail.com Sun May 24 21:36:12 2020 From: gdmcbain at protonmail.com (G. D. McBain) Date: Sun, 24 May 2020 19:36:12 +0000 Subject: [Gmsh] Merging multiple step files in .geo script In-Reply-To: <43a2-5ecaa980-7-5b960b00@195901905> References: <43a2-5ecaa980-7-5b960b00@195901905> Message-ID: > How can I merge large number of step files (132 in my case) in a .geo script? I tried * but it is not parsed. Two general approaches: 1. Generate the GEO code; e.g. with Bash, Python, &c. 2. Instead of GEO code, try the Gmsh API. -------------- next part -------------- An HTML attachment was scrubbed... URL: From alsalihi at vki.ac.be Tue May 26 09:47:22 2020 From: alsalihi at vki.ac.be (Zuheyr Alsalihi) Date: Tue, 26 May 2020 09:47:22 +0200 Subject: [Gmsh] =?utf-8?q?=3F=3D=3D=3Futf-8=3Fq=3F__STL_Mesh_generation_s?= =?utf-8?q?urfaces_with_inward_normalnot_meshed=3F!?= In-Reply-To: <8AA28D58-C4DE-4469-B9B3-12FD5C247DF3@uliege.be> Message-ID: <4e76-5eccc980-35-25228a40@242590406> Dear Christophe, Thank you for your invaluable help. I have done that. Best regards, Zuheyr On Saturday, May 23, 2020 09:53 CEST, Christophe Geuzaine wrote: ? > On 12 May 2020, at 17:50, Zuheyr Alsalihi wrote: > > Dear colleagues, > > I could not easily describe the problem. > > A rectangular slab step file that I have generated, attached CG1.step, shows the top and bottom surfaces inward normal. > I am not able to reverse this. > But the surface is there, see Pic1.png. When I create an STL mesh with GMSH gmsh-4.5.6-Linux64/bin/gmsh > these 2 surfaces are not meshed. Can you please help me understand and solve this problem? Somehow OpenCASCADE badly translates surface 5 in the STEP file. See attached .brep of the offending surface: all point evaluations within the surface are (wrongly) evaluated on a plane parallel to the surface, but translated. You should report this bug to the OpenCASCADE developers and attach the STEP file. Christophe ? ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From alsalihi at vki.ac.be Tue May 26 09:52:20 2020 From: alsalihi at vki.ac.be (Zuheyr Alsalihi) Date: Tue, 26 May 2020 09:52:20 +0200 Subject: [Gmsh] =?utf-8?q?=3F=3D=3D=3Futf-8=3Fq=3F__Merging_multiple_step?= =?utf-8?q?_files_in_=2Egeo_script?= In-Reply-To: Message-ID: <615-5eccca80-1f-741ddc00@102583169> Thank you!? I have chosen the first way, I script the script with Python, just write a Merge command for each file and iclude this sub geo file wherever I need in a geo file. Many thanks, kind greetings, Zuheyr On Sunday, May 24, 2020 21:36 CEST, "G. D. McBain" wrote: ? > How can I merge large number of step files (132 in my case) in a .geo script? I tried * but it is not parsed. Two general approaches: 1. Generate the GEO code; e.g. with Bash, Python, &c. 2. Instead of GEO code, try the Gmsh API. ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From silvia.ceccacci at hdr.mq.edu.au Wed May 27 03:36:24 2020 From: silvia.ceccacci at hdr.mq.edu.au (Silvia Ceccacci (HDR)) Date: Wed, 27 May 2020 01:36:24 +0000 Subject: [Gmsh] Help refining a 3D mesh around a plane Message-ID: Dear all, I need help refining my 3D mesh around a plane. I have set a few points on the x-axis and refined around them (see s1.png and s2.png), in this way: lc = 0.015 Point(1) = {-0.003,0,0,lc} ... Point(14) = {0.009,0,0,lc} Field[3] = Distance; Field[3].NodesList = {1,2,3,4,5,6,7,8,9,10,11,12,13,14}; Field[4] = Threshold; Field[4].IField = 3; Field[4].LcMin = lc/100; Field[4].LcMax = lc*20; Field[4].DistMin = 0.001; Field[4].DistMax = 0.0015; Now, I want to refine all around the XY plane. The way I would go about it is to set a few more points on the XY plane (symmetrically) and refine around them in the same way as above. However, this approach does not ensure homogeneity in the refinement and I believe there is a smarter way to do it. Could anybody help me with this? Thank you very much. Kind regards, Silvia -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: s1.png Type: image/png Size: 58715 bytes Desc: s1.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: s2.png Type: image/png Size: 100809 bytes Desc: s2.png URL: From ugis.lacis at gmail.com Thu May 28 16:41:14 2020 From: ugis.lacis at gmail.com (Ugis Lacis) Date: Thu, 28 May 2020 16:41:14 +0200 Subject: [Gmsh] Line In BoundingBox Message-ID: <0a02b39c-dcd8-130d-d668-31f781e8c8e8@gmail.com> Dear Gmsh users and developers, I am now trying to use the Gmsh OpenCascade factory and after some operations assign the needed physical tags to lines (I am working with a 2D set-up). I have gone through tutorials and found the commands "Point In BoundingBox{}", and "Surface In BoundingBox{}" and "Volume In BoundingBox{}". However, I do not see anything similar to "Line In BoundingBox{}". I have tried to use the following in my geo script: ts() = Line In BoundingBox{xmin-eps, ymax-eps, 0.0, ????????????????????????? ? ? ? ? ? ? ? ? xmax+eps, ymax+eps, 0.0}; Physical Line(3) = {ts()}; No error is given, but the line within the box are not tagged with physical tag "3". Am I missing something about how "Line in BoundingBox{}" works, or is there some other function useful for this task? I am using Gmsh 4.3.0. Best wishes, Ugis Lacis From ugis.lacis at gmail.com Fri May 29 07:06:19 2020 From: ugis.lacis at gmail.com (Ugis Lacis) Date: Fri, 29 May 2020 07:06:19 +0200 Subject: [Gmsh] Line In BoundingBox In-Reply-To: <1581530132.468326.1590679478735.JavaMail.zimbra@toulouse-inp.fr> References: <0a02b39c-dcd8-130d-d668-31f781e8c8e8@gmail.com> <1581530132.468326.1590679478735.JavaMail.zimbra@toulouse-inp.fr> Message-ID: Great, thanks a lot. Now it works! The funny thing was that "Point In BoundingBox{}" worked with zero thickness in z direction. That gave me impression, that curves should work too. Anyway, thanks again! /Ugis On 28/05/2020 17:24, Adel MORENO wrote: > Hi Ugis Lacis, > > I think that your bounding box need to have "non zero" compents in z too (it's a box and not a rectangle even if you work in 2D): > > G() = Curve In BoundingBox{-1.000000e-01, -1.000000e-01, -1.000000e-01, 1.000000e-01, 8.081000e+02, 1.000000e-01}; > > Here, I give a thickness in z of order 0.2 (see the positive and negative sign in z with a value of 0.1) > > I hope it helps you > > Adel > > ----- Mail original ----- > De: "Ugis Lacis" > ?: "gmsh" > Envoy?: Jeudi 28 Mai 2020 16:41:14 > Objet: [Gmsh] Line In BoundingBox > > Dear Gmsh users and developers, > > I am now trying to use the Gmsh OpenCascade factory and after some > operations assign the needed physical tags to lines (I am working with a > 2D set-up). I have gone through tutorials and found the commands "Point > In BoundingBox{}", and "Surface In BoundingBox{}" and "Volume In > BoundingBox{}". However, I do not see anything similar to "Line In > BoundingBox{}". > > I have tried to use the following in my geo script: > ts() = Line In BoundingBox{xmin-eps, ymax-eps, 0.0, > ????????????????????????? ? ? ? ? ? ? ? ? xmax+eps, ymax+eps, 0.0}; > Physical Line(3) = {ts()}; > > No error is given, but the line within the box are not tagged with > physical tag "3". Am I missing something about how "Line in > BoundingBox{}" works, or is there some other function useful for this task? > > I am using Gmsh 4.3.0. > > Best wishes, > Ugis Lacis > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh From tim.furlan at tu-dortmund.de Fri May 29 17:30:19 2020 From: tim.furlan at tu-dortmund.de (Tim Furlan) Date: Fri, 29 May 2020 17:30:19 +0200 Subject: [Gmsh] Remeshing of deformed meshes and tracking of subdomains Message-ID: <404992fc-49e4-dfce-1093-77168480f6a5@tu-dortmund.de> Dear gmsh users and developers, i am dealing with high-deformation FEM simulations involving contact. I would like to replace the deformed mesh with a new one after a certain number of steps (potentially many times during one simulation). I use Abaqus as the FEM solver if it matters, and use the python api of gmsh. For the remeshing, i create geometrical surfaces for all faces of my elements on the boundary of the domain. This means also creating lines for all element edges and keeping track of them, since they might occur more than once and with different directions. I need to track certain subdomains (e.g. parts of the surface) to impose the boundary conditions, and the solution i came up with is to compound the corresponding surface faces and their respective boundaries (to allow both refinement and coarsening). To do this, i need to split the boundaries of the subdomains in a lot of segments (so that they end when a domain ends). Tracking the subdomains only through physical tags seems unfeasible since the subdomain boundaries are then only preserved inaccurately. I feel that i might be missing an easier way to do what i want. I looked into the tutorials and found the following options: - The createGeometry() command is able to create geometry from a mesh (basically doing what i do by hand i guess?). However, i did not find an easy way to track boundary conditions using this, as i can not rely on identifying them by feature angles. Is there any way to obtain the elements the resulting entities are derived from? - The tutorial on meshing of discrete curves looks like it follows a similar approach. However, i was unable to extend this approach to 3d surfaces. Is it possible to define discrete entities for the different parts of the body surface i want to remesh instead of using compounds? I was especially confused with how to handle e.g. element edges that belong to multiple surface parts. I would appreciate any input on a more elegant/efficient way to solve the problem. Kind regard and thanks in advance Tim From tim.furlan at udo.edu Fri May 29 17:33:34 2020 From: tim.furlan at udo.edu (Tim Furlan) Date: Fri, 29 May 2020 17:33:34 +0200 Subject: [Gmsh] Remeshing of deformed meshes and tracking of subdomains Message-ID: Dear gmsh users and developers, i am dealing with high-deformation FEM simulations involving contact. I would like to replace the deformed mesh with a new one after a certain number of steps (potentially many times during one simulation). I use Abaqus as the FEM solver if it matters, and use the python api of gmsh. For the remeshing, i create geometrical surfaces for all faces of my elements on the boundary of the domain. This means also creating lines for all element edges and keeping track of them, since they might occur more than once and with different directions. I need to track certain subdomains (e.g. parts of the surface) to impose the boundary conditions, and the solution i came up with is to compound the corresponding surface faces and their respective boundaries (to allow both refinement and coarsening). To do this, i need to split the boundaries of the subdomains in a lot of segments (so that they end when a domain ends). Tracking the subdomains only through physical tags seems unfeasible since the subdomain boundaries are then only preserved inaccurately. I feel that i might be missing an easier way to do what i want. I looked into the tutorials and found the following options: - The createGeometry() command is able to create geometry from a mesh (basically doing what i do by hand i guess?). However, i did not find an easy way to track boundary conditions using this, as i can not rely on identifying them by feature angles. Is there any way to obtain the elements the resulting entities are derived from? - The tutorial on meshing of discrete curves looks like it follows a similar approach. However, i was unable to extend this approach to 3d surfaces. Is it possible to define discrete entities for the different parts of the body surface i want to remesh instead of using compounds? I was especially confused with how to handle e.g. element edges that belong to multiple surface parts. I would appreciate any input on a more elegant/efficient way to solve the problem. Kind regard and thanks in advance Tim From carole-anne.daunais at polymtl.ca Fri May 29 20:48:15 2020 From: carole-anne.daunais at polymtl.ca (Carole-Anne Daunais) Date: Fri, 29 May 2020 18:48:15 +0000 Subject: [Gmsh] Forcing all jacobians to be positive Message-ID: <20200529184815.Horde.6vgrCD88p9HwNvkP26IdSrp@www.imp.polymtl.ca> Hi, I am using GMSH 4.5.6 to generate a 3d mesh. I used the following 2 lines in the .geo file to ensure that no element would have a jac.<0. Mesh.ElementOrder = 2; Mesh.HighOrderOptimize = 1; It unfortunately didn't work for me. The mesh is generated, but the software failed (froze). Is there another way I can force all jacobians to be positive when creating my mesh? Thank you, Carole-Anne -------------- next part -------------- A non-text attachment was scrubbed... Name: test2.geo Type: application/vnd.dynageo Size: 2245 bytes Desc: not available URL: From tianxia.ui at gmail.com Sat May 30 09:21:08 2020 From: tianxia.ui at gmail.com (Tian Xia) Date: Sat, 30 May 2020 00:21:08 -0700 Subject: [Gmsh] 3D non-uniform meshing Message-ID: Hi Gmsh developers, Thank you for developing this extremely useful tool. Recently I have encountered a couple of problems about generating 3D non-uniform mesh: 1. If I define a background (for example threshold) field and define the lc for an object using "Characteristic Length{ PointsOf{Volume{1};} } = lc;", the mesh size in the volume 1 will have two mesh size definitions. How will Gmsh treat this this? Will it just use the smaller lc or overwrite one of these? 2. If I'd like to mesh a box in this way: the surface closed to the eight corners (for example, distance=1) need to be densely meshed (lc0), other part of the surface needs to be meshed with lc1. Inside the volume, it can be meshed as coarse as possible. Is there a way to do that in Gmsh? Thank you for your help! Bet regards. Tian -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeremy at seamplex.com Sat May 30 12:34:16 2020 From: jeremy at seamplex.com (Jeremy Theler) Date: Sat, 30 May 2020 07:34:16 -0300 Subject: [Gmsh] 3D non-uniform meshing In-Reply-To: References: Message-ID: <1d2e0deaf80fc39f066639af3f10e5899c405500.camel@seamplex.com> http://gmsh.info/doc/texinfo/gmsh.html#Specifying-mesh-element-sizes On Sat, 2020-05-30 at 00:21 -0700, Tian Xia wrote: > Hi Gmsh developers, > Thank you for developing this extremely useful tool. Recently I have > encountered a couple of problems about generating 3D non-uniform > mesh: > > 1. If I define a background (for example threshold) field and > define the lc for an object using "Characteristic Length{ > PointsOf{Volume{1};} } = lc;", the mesh size in the volume 1 will > have two mesh size definitions. How will Gmsh treat this this? Will > it just use the smaller lc or overwrite one of these? > > 2. If I'd like to mesh a box in this way: the surface closed to the > eight corners (for example, distance=1) need to be densely meshed > (lc0), other part of the surface needs to be meshed with lc1. Inside > the volume, it can be meshed as coarse as possible. Is there a way to > do that in Gmsh? > > Thank you for your help! > > Bet regards. > Tian > > _______________________________________________gmsh mailing > listgmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim.furlan at udo.edu Sat May 30 11:45:26 2020 From: tim.furlan at udo.edu (Tim Furlan) Date: Sat, 30 May 2020 11:45:26 +0200 Subject: [Gmsh] Python API and Spyder Message-ID: <8b4ce2bd880d4d78b061de4eae07455b.squirrel@webmail.tu-dortmund.de> Hi Paul, i just subscribed to the mailing list and stumbled upon your post. I get the same behavior in spyder that you described. While i do not have a solution, here is a small workaround at least: I can close gmsh by closing the IPython terminal that it runs in, which avoids having to restart spyder. Maybe this can save you some time as well. Kind regards Tim From cgeuzaine at uliege.be Sat May 30 14:45:47 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sat, 30 May 2020 14:45:47 +0200 Subject: [Gmsh] Remeshing of deformed meshes and tracking of subdomains In-Reply-To: <404992fc-49e4-dfce-1093-77168480f6a5@tu-dortmund.de> References: <404992fc-49e4-dfce-1093-77168480f6a5@tu-dortmund.de> Message-ID: <4CDCC330-7BB4-4B1D-899B-F45F53B4C5D9@uliege.be> Hi Tim, > On 29 May 2020, at 17:30, Tim Furlan wrote: > > Dear gmsh users and developers, > > i am dealing with high-deformation FEM simulations involving contact. I would like to replace the deformed mesh with a new one after a certain number of steps (potentially many times during one simulation). I use Abaqus as the FEM solver if it matters, and use the python api of gmsh. > > For the remeshing, i create geometrical surfaces for all faces of my elements on the boundary of the domain. This means also creating lines for all element edges and keeping track of them, since they might occur more than once and with different directions. > > I need to track certain subdomains (e.g. parts of the surface) to impose the boundary conditions, and the solution i came up with is to compound the corresponding surface faces and their respective boundaries (to allow both refinement and coarsening). To do this, i need to split the boundaries of the subdomains in a lot of segments (so that they end when a domain ends). > > Tracking the subdomains only through physical tags seems unfeasible since the subdomain boundaries are then only preserved inaccurately. > It's indeed a "classical" problem. I don't think there's a definitive answer about whether it's better to change/reconstruct the CAD and/or deform/untangle/adapt the mesh. > I feel that i might be missing an easier way to do what i want. I looked into the tutorials and found the following options: > > - The createGeometry() command is able to create geometry from a mesh (basically doing what i do by hand i guess?). However, i did not find an easy way to track boundary conditions using this, as i can not rely on identifying them by feature angles. Is there any way to obtain the elements the resulting entities are derived from? > > - The tutorial on meshing of discrete curves looks like it follows a similar approach. However, i was unable to extend this approach to 3d surfaces. Is it possible to define discrete entities for the different parts of the body surface i want to remesh instead of using compounds? I was especially confused with how to handle e.g. element edges that belong to multiple surface parts. > You should be able to do this indeed, i.e. define discrete surfaces after deformation and remesh those. Maybe send a small example? It might be better to open an issue on the gitlab for this, so that we can track progress. Christophe > I would appreciate any input on a more elegant/efficient way to solve the problem. > > > Kind regard and thanks in advance > > Tim > > > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Sat May 30 14:48:11 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sat, 30 May 2020 14:48:11 +0200 Subject: [Gmsh] Forcing all jacobians to be positive In-Reply-To: <20200529184815.Horde.6vgrCD88p9HwNvkP26IdSrp@www.imp.polymtl.ca> References: <20200529184815.Horde.6vgrCD88p9HwNvkP26IdSrp@www.imp.polymtl.ca> Message-ID: <2D9965CF-3279-4B9F-844F-DE50207E77E9@uliege.be> > On 29 May 2020, at 20:48, Carole-Anne Daunais wrote: > > Hi, > I am using GMSH 4.5.6 to generate a 3d mesh. I used the following 2 lines in the .geo file to ensure that no element would have a jac.<0. > > Mesh.ElementOrder = 2; > Mesh.HighOrderOptimize = 1; > > It unfortunately didn't work for me. The mesh is generated, but the software failed (froze). Is there another way I can force all jacobians to be positive when creating my mesh? > It works fine here. However you should remove "Mesh.SubdivisionAlgorithm = 2;" (and set the sizes you want directly), as this makes it harder for the optimizer. You can also use "Mesh.HighOrderOptimize = 2;", which will apply a global elastic smoothing step before the brute-force optimization. Christophe > Thank you, > > Carole-Anne > > > > > _______________________________________________ > 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 From tianxia.ui at gmail.com Sun May 31 08:56:07 2020 From: tianxia.ui at gmail.com (Tian Xia) Date: Sat, 30 May 2020 23:56:07 -0700 Subject: [Gmsh] 3D non-uniform meshing In-Reply-To: <1d2e0deaf80fc39f066639af3f10e5899c405500.camel@seamplex.com> References: <1d2e0deaf80fc39f066639af3f10e5899c405500.camel@seamplex.com> Message-ID: Hi Jeremy, Thanks for directing me to the documentation. I can see my first question answered there. But I still can't see a clear way to create a mesh like this: If I'd like to mesh a box in this way: the surface closed to the eight corners (for example, distance=1) need to be densely meshed (lc0), other part of the surface needs to be meshed with lc1. Inside the volume, it can be meshed as coarse as possible. Is there a way to do that in Gmsh? ( More generally, Can I define the surface mesh density and volume mesh density separately? Thank you, Tian On Sat, May 30, 2020 at 3:35 AM Jeremy Theler wrote: > http://gmsh.info/doc/texinfo/gmsh.html#Specifying-mesh-element-sizes > > On Sat, 2020-05-30 at 00:21 -0700, Tian Xia wrote: > > Hi Gmsh developers, > > Thank you for developing this extremely useful tool. Recently I have > encountered a couple of problems about generating 3D non-uniform mesh: > > 1. If I define a background (for example threshold) field and define the > lc for an object using "Characteristic Length{ PointsOf{Volume{1};} } = > lc;", the mesh size in the volume 1 will have two mesh size definitions. > How will Gmsh treat this this? Will it just use the smaller lc or overwrite > one of these? > > 2. If I'd like to mesh a box in this way: the surface closed to the eight > corners (for example, distance=1) need to be densely meshed (lc0), other > part of the surface needs to be meshed with lc1. Inside the volume, it can > be meshed as coarse as possible. Is there a way to do that in Gmsh? > > Thank you for your help! > > Bet regards. > Tian > > _______________________________________________ > > gmsh mailing list > > gmsh at onelab.info > > > http://onelab.info/mailman/listinfo/gmsh > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -- Tian -------------- next part -------------- An HTML attachment was scrubbed... URL: From tianxia.ui at gmail.com Sun May 31 11:05:13 2020 From: tianxia.ui at gmail.com (Tian Xia) Date: Sun, 31 May 2020 02:05:13 -0700 Subject: [Gmsh] Background field Threshold unexpected behavior Message-ID: Hi Gmsh developers, I would like to create nonuniform mesh on some geometry. I tested a simple case with the script below and found threshold field work unexpectedly. Basically, I created a rectangle and wish to have a mesh with high density near the edges. I expect to see the mesh as shown by the color. But instead I got uniform mesh. Is it expected? Thanks you! [image: image.png] SetFactory("OpenCASCADE"); Rectangle(1) = {-0.9, -0, 0, 1, 0.5, 0}; Field[1] = Distance; Field[1].EdgesList = {1, 2, 3, 4}; Field[2] = Threshold; Field[2].DistMax = 0.2; Field[2].DistMin = 0.1; Field[2].IField = 1; Field[2].LcMax = 0.5; Field[2].LcMin = 0.01; Background Field = 2; -- Tian -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 468554 bytes Desc: not available URL: From alsalihi at vki.ac.be Sun May 31 15:10:35 2020 From: alsalihi at vki.ac.be (Zuheyr Alsalihi) Date: Sun, 31 May 2020 15:10:35 +0200 Subject: [Gmsh] =?utf-8?q?=3F=3D=3D=3Futf-8=3Fq=3F__Forcing_all_jacobians?= =?utf-8?q?_to_be_positive?= In-Reply-To: <2D9965CF-3279-4B9F-844F-DE50207E77E9@uliege.be> Message-ID: <7c6a-5ed3ad00-b-16e94620@260507821> Dear Christophe,? colleagues, Recently there was a question about identifying different patches of am STL 3D surface mesh, and get the list of elements on that particular surface. I face the same problem. I created the bounding boxes or cylinders, GMSH objects, of the surfaces of interest to me, (see the figure attached for my geometry and the bounding cylinder object Cylinder(8) = {3.05, 3.05, 5.02, 0.1, 0.1, 0, 0.060, 2*Pi};). Can I use boolean operations somehow to find the intersection of these 2 surfaces? Or any other clever solution? I think general computational geometry methods would be overkill. Many thanks for reading! Best wishes, Zuheyr ? -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Probe_Intersec.png Type: image/png Size: 53948 bytes Desc: not available URL: From carole-anne.daunais at polymtl.ca Sun May 31 17:12:57 2020 From: carole-anne.daunais at polymtl.ca (Carole-Anne Daunais) Date: Sun, 31 May 2020 15:12:57 +0000 Subject: [Gmsh] Forcing all jacobians to be positive In-Reply-To: <2D9965CF-3279-4B9F-844F-DE50207E77E9@uliege.be> References: <20200529184815.Horde.6vgrCD88p9HwNvkP26IdSrp@www.imp.polymtl.ca> <2D9965CF-3279-4B9F-844F-DE50207E77E9@uliege.be> Message-ID: <20200531151257.Horde.mYmvmj2sDyXClL06oNXbZgF@www.imp.polymtl.ca> Thank you Christophe for this quick answer! What do you mean by setting the size directly? Is there another way I can set all shapes to be hexs instead of tets? I looked it up in the Archives but couldn't find. Thank you Christophe Geuzaine a ?crit?: >> On 29 May 2020, at 20:48, Carole-Anne Daunais >> wrote: >> >> Hi, >> I am using GMSH 4.5.6 to generate a 3d mesh. I used the following 2 >> lines in the .geo file to ensure that no element would have a jac.<0. >> >> Mesh.ElementOrder = 2; >> Mesh.HighOrderOptimize = 1; >> >> It unfortunately didn't work for me. The mesh is generated, but the >> software failed (froze). Is there another way I can force all >> jacobians to be positive when creating my mesh? >> > > It works fine here. However you should remove > "Mesh.SubdivisionAlgorithm = 2;" (and set the sizes you want > directly), as this makes it harder for the optimizer. > > You can also use "Mesh.HighOrderOptimize = 2;", which will apply a > global elastic smoothing step before the brute-force optimization. > > Christophe > > > > >> Thank you, >> >> Carole-Anne >> >> >> >> >> _______________________________________________ >> 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 From jeremy at seamplex.com Sun May 31 17:22:04 2020 From: jeremy at seamplex.com (jeremy theler) Date: Sun, 31 May 2020 12:22:04 -0300 Subject: [Gmsh] 3D non-uniform meshing In-Reply-To: References: <1d2e0deaf80fc39f066639af3f10e5899c405500.camel@seamplex.com> Message-ID: http://gmsh.info/doc/texinfo/gmsh.html#t10_002egeo -- jeremy theler www.seamplex.com On Sun, May 31, 2020, 03:56 Tian Xia wrote: > Hi Jeremy, > > Thanks for directing me to the documentation. I can see my first > question answered there. But I still can't see a clear way to create a mesh > like this: > > If I'd like to mesh a box in this way: the surface closed to the eight > corners (for example, distance=1) need to be densely meshed (lc0), other > part of the surface needs to be meshed with lc1. Inside the volume, it can > be meshed as coarse as possible. Is there a way to do that in Gmsh? ( > > More generally, Can I define the surface mesh density and volume mesh > density separately? > > Thank you, > Tian > > > On Sat, May 30, 2020 at 3:35 AM Jeremy Theler wrote: > >> http://gmsh.info/doc/texinfo/gmsh.html#Specifying-mesh-element-sizes >> >> On Sat, 2020-05-30 at 00:21 -0700, Tian Xia wrote: >> >> Hi Gmsh developers, >> >> Thank you for developing this extremely useful tool. Recently I have >> encountered a couple of problems about generating 3D non-uniform mesh: >> >> 1. If I define a background (for example threshold) field and define the >> lc for an object using "Characteristic Length{ PointsOf{Volume{1};} } = >> lc;", the mesh size in the volume 1 will have two mesh size definitions. >> How will Gmsh treat this this? Will it just use the smaller lc or overwrite >> one of these? >> >> 2. If I'd like to mesh a box in this way: the surface closed to the eight >> corners (for example, distance=1) need to be densely meshed (lc0), other >> part of the surface needs to be meshed with lc1. Inside the volume, it can >> be meshed as coarse as possible. Is there a way to do that in Gmsh? >> >> Thank you for your help! >> >> Bet regards. >> Tian >> >> _______________________________________________ >> >> gmsh mailing list >> >> gmsh at onelab.info >> >> >> http://onelab.info/mailman/listinfo/gmsh >> >> >> _______________________________________________ >> gmsh mailing list >> gmsh at onelab.info >> http://onelab.info/mailman/listinfo/gmsh >> > > > -- > Tian > -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul18fr at gmail.com Thu Jun 4 14:54:40 2020 From: paul18fr at gmail.com (paul francedixhuit) Date: Thu, 4 Jun 2020 14:54:40 +0200 Subject: [Gmsh] Python API and Spyder In-Reply-To: <8b4ce2bd880d4d78b061de4eae07455b.squirrel@webmail.tu-dortmund.de> References: <8b4ce2bd880d4d78b061de4eae07455b.squirrel@webmail.tu-dortmund.de> Message-ID: Hi Tim Thanks for the answers; currently the project has been postponed and I'll restart to work on in some weeks; then I'll share some feedbacks Paul Le sam. 30 mai 2020 ? 13:39, Tim Furlan a ?crit : > Hi Paul, > > i just subscribed to the mailing list and stumbled upon your post. I get > the same behavior in spyder that you described. While i do not have a > solution, here is a small workaround at least: I can close gmsh by closing > the IPython terminal that it runs in, which avoids having to restart > spyder. Maybe this can save you some time as well. > > > Kind regards > > Tim > > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bruno.blais at polymtl.ca Fri Jun 5 07:33:42 2020 From: bruno.blais at polymtl.ca (Bruno Blais) Date: Fri, 5 Jun 2020 01:33:42 -0400 Subject: [Gmsh] Subdividing high-order tetrahedral mesh into hexahedron robustly Message-ID: Dear all, I hope you are well. I am trying to generate a pure hexahedral mesh to be used with deal.II (where tets are not supported). However, I regularly encounter negative jacobians in a very limited number of elements (<5), which prevents me from simulating my geometry. I have tried to force the jacobian from being positive by adding the following parameters: Mesh.ElementOrder = 2; Mesh.HighOrderOptimize = 1; This works very well for tet mesh and I can generate my mesh in a few seconds. However, as soon as I add the decomposition into hexes: Mesh.SubdivisionAlgorithm = 2 GMSH slows down to a crawl and the mesh is unable to be generated even after 24h of meshing I was wondering if there was a solution to my problem, since deal.II only support hex meshes. Is it possible to first fully generate the tet mesh and then subdivide it into hexahedron within GMSH? I would like to keep the mapping in order to ensure that the added points are correctly mapped to the geometry. I know there are tools outside (such as tethex) that can achieve this, but I would prefer not to go down this route. Thanks! Bruno -- *Bruno Blais* Ing., Ph.D. Professeur Adjoint / Assistant Professor G?nie chimique / Chemical engineering Bureau/Room: A-684.2.3 T: +1-514-340-4711, 4533 C.P. 6079, succ. Centre-ville Montr?al, QC CANADA H3C 3A7 E-mail: bruno.blais at polymtl.ca -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Fri Jun 5 10:19:48 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 5 Jun 2020 10:19:48 +0200 Subject: [Gmsh] Subdividing high-order tetrahedral mesh into hexahedron robustly In-Reply-To: References: Message-ID: <7C03A917-850B-4705-9381-CC310DC1EECB@uliege.be> Dear Bruno, I didn't know people used this subdivision scheme to do actual calculations ;-) I've modified the meshing pipeline so that we now apply high-order optimization before the subdivision (since the subdivision itself is based on first generating a second order mesh). Can you give the latest development snapshot a try and let us know if it improves things? I would first try with "Mesh.ElementOrder = 1", as the optimizer is still very slow for optimizing high-order elements other than simplices. If this still doesn't work, you could set "Mesh.SecondOrderLinear = 1". This way the hexes will always be valid if the initial simplices are valid - but the boundary points might now be on the geometry if the boundaries are curved. Christophe > On 5 Jun 2020, at 07:33, Bruno Blais wrote: > > Dear all, > I hope you are well. > I am trying to generate a pure hexahedral mesh to be used with deal.II (where tets are not supported). > > However, I regularly encounter negative jacobians in a very limited number of elements (<5), which prevents me from simulating my geometry. > > I have tried to force the jacobian from being positive by adding the following parameters: > Mesh.ElementOrder = 2; > Mesh.HighOrderOptimize = 1; > This works very well for tet mesh and I can generate my mesh in a few seconds. However, as soon as I add the decomposition into hexes: > Mesh.SubdivisionAlgorithm = 2 > GMSH slows down to a crawl and the mesh is unable to be generated even after 24h of meshing > > I was wondering if there was a solution to my problem, since deal.II only support hex meshes. Is it possible to first fully generate the tet mesh and then subdivide it into hexahedron within GMSH? I would like to keep the mapping in order to ensure that the added points are correctly mapped to the geometry. I know there are tools outside (such as tethex) that can achieve this, but I would prefer not to go down this route. > > Thanks! > Bruno > > > -- > Bruno Blais > Ing., Ph.D. > Professeur Adjoint / Assistant Professor > G?nie chimique / Chemical engineering > Bureau/Room: A-684.2.3 > T: +1-514-340-4711, 4533 > > C.P. 6079, succ. Centre-ville > Montr?al, QC > CANADA H3C 3A7 > E-mail: bruno.blais at polymtl.ca > _______________________________________________ > 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 From cgeuzaine at uliege.be Fri Jun 5 10:23:32 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 5 Jun 2020 10:23:32 +0200 Subject: [Gmsh] Forcing all jacobians to be positive In-Reply-To: <20200531151257.Horde.mYmvmj2sDyXClL06oNXbZgF@www.imp.polymtl.ca> References: <20200529184815.Horde.6vgrCD88p9HwNvkP26IdSrp@www.imp.polymtl.ca> <2D9965CF-3279-4B9F-844F-DE50207E77E9@uliege.be> <20200531151257.Horde.mYmvmj2sDyXClL06oNXbZgF@www.imp.polymtl.ca> Message-ID: <168FA869-C265-4D30-A403-A8E3998EABD6@uliege.be> > On 31 May 2020, at 17:12, Carole-Anne Daunais wrote: > > Thank you Christophe for this quick answer! > What do you mean by setting the size directly? Is there another way I can set all shapes to be hexs instead of tets? I looked it up in the Archives but couldn't find. > I didn't understand that you want all-hexes. Can you try the latest dev snapshot with Mesh.HighOrderOptimize = 1 or 2, and Mesh.ElementOrder = 1 ? The optimization will be applied before the subdivision, which should improve things. > Thank you > > Christophe Geuzaine a ?crit : > >>> On 29 May 2020, at 20:48, Carole-Anne Daunais wrote: >>> >>> Hi, >>> I am using GMSH 4.5.6 to generate a 3d mesh. I used the following 2 lines in the .geo file to ensure that no element would have a jac.<0. >>> >>> Mesh.ElementOrder = 2; >>> Mesh.HighOrderOptimize = 1; >>> >>> It unfortunately didn't work for me. The mesh is generated, but the software failed (froze). Is there another way I can force all jacobians to be positive when creating my mesh? >>> >> >> It works fine here. However you should remove "Mesh.SubdivisionAlgorithm = 2;" (and set the sizes you want directly), as this makes it harder for the optimizer. >> >> You can also use "Mesh.HighOrderOptimize = 2;", which will apply a global elastic smoothing step before the brute-force optimization. >> >> Christophe >> >> >> >> >>> Thank you, >>> >>> Carole-Anne >>> >>> >>> >>> >>> _______________________________________________ >>> 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 > > > > > _______________________________________________ > 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 From carole-anne.daunais at polymtl.ca Fri Jun 5 15:00:13 2020 From: carole-anne.daunais at polymtl.ca (Carole-Anne Daunais) Date: Fri, 05 Jun 2020 13:00:13 +0000 Subject: [Gmsh] Forcing all jacobians to be positive In-Reply-To: <168FA869-C265-4D30-A403-A8E3998EABD6@uliege.be> References: <20200529184815.Horde.6vgrCD88p9HwNvkP26IdSrp@www.imp.polymtl.ca> <2D9965CF-3279-4B9F-844F-DE50207E77E9@uliege.be> <20200531151257.Horde.mYmvmj2sDyXClL06oNXbZgF@www.imp.polymtl.ca> <168FA869-C265-4D30-A403-A8E3998EABD6@uliege.be> Message-ID: <20200605130013.Horde.4nFO-LKcGlXO8DxccOHrzE5@www.imp.polymtl.ca> It works well, thank you! Christophe Geuzaine a ?crit?: >> On 31 May 2020, at 17:12, Carole-Anne Daunais >> wrote: >> >> Thank you Christophe for this quick answer! >> What do you mean by setting the size directly? Is there another way >> I can set all shapes to be hexs instead of tets? I looked it up in >> the Archives but couldn't find. >> > > I didn't understand that you want all-hexes. Can you try the latest > dev snapshot with Mesh.HighOrderOptimize = 1 or 2, and > Mesh.ElementOrder = 1 ? The optimization will be applied before the > subdivision, which should improve things. > > >> Thank you >> >> Christophe Geuzaine a ?crit : >> >>>> On 29 May 2020, at 20:48, Carole-Anne Daunais >>>> wrote: >>>> >>>> Hi, >>>> I am using GMSH 4.5.6 to generate a 3d mesh. I used the following >>>> 2 lines in the .geo file to ensure that no element would have a >>>> jac.<0. >>>> >>>> Mesh.ElementOrder = 2; >>>> Mesh.HighOrderOptimize = 1; >>>> >>>> It unfortunately didn't work for me. The mesh is generated, but >>>> the software failed (froze). Is there another way I can force all >>>> jacobians to be positive when creating my mesh? >>>> >>> >>> It works fine here. However you should remove >>> "Mesh.SubdivisionAlgorithm = 2;" (and set the sizes you want >>> directly), as this makes it harder for the optimizer. >>> >>> You can also use "Mesh.HighOrderOptimize = 2;", which will apply a >>> global elastic smoothing step before the brute-force optimization. >>> >>> Christophe >>> >>> >>> >>> >>>> Thank you, >>>> >>>> Carole-Anne >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> 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 >> >> >> >> >> _______________________________________________ >> 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 From cgeuzaine at uliege.be Fri Jun 5 22:20:30 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 5 Jun 2020 22:20:30 +0200 Subject: [Gmsh] Installation of jointforces, with GMSH In-Reply-To: <36EB7F04-5679-4EB0-BF47-2CAF078579CF@myuct.ac.za> References: <36EB7F04-5679-4EB0-BF47-2CAF078579CF@myuct.ac.za> Message-ID: > On 4 Jun 2020, at 11:10, Emma Stubbs wrote: > > Hi, > > I am installing joint forces, which utilizes GMSH, and the installation seems to just be paused here: > > Building wheels for collected packages: gmsh-sdk, dill, roipoly > Building wheel for gmsh-sdk (setup.py) ? | > > Do you have any idea as to why it is pausing at this stage and what can be done to rectify? > We have anecdotal evidence that it might be related to a firewall issue preventing in some cases the download to finish. Can you try the pypi package "gmsh" instead of "gmsh-sdk"? The "gmsh" package will eventually replace "gmsh-sdk", and uses https instead of http for the download. Christophe > Kindest, > Emma > Disclaimer - University of Cape Town This email is subject to UCT policies and email disclaimer published on our website at http://www.uct.ac.za/main/email-disclaimer or obtainable from +27 21 650 9111. If this email is not related to the business of UCT, it is sent by the sender in an individual capacity. Please report security incidents or abuse via https://csirt.uct.ac.za/page/report-an-incident.php. ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine From keith at sloan-home.co.uk Mon Jun 8 08:58:38 2020 From: keith at sloan-home.co.uk (Keith Sloan) Date: Mon, 8 Jun 2020 07:58:38 +0100 Subject: [Gmsh] 3D volume as tetrahedra only Message-ID: <84c2e789-8c12-f54c-3b66-24a9b944e3fe@sloan-home.co.uk> I am new to Gmsh and trying to reproduce the following but still seeing triangles on the surface. Can I check that when it mentions sphere demo it is talking about sphere-discrete.geo // merge a surface mesh (any format will work: .msh, .unv, etc.) Merge "sphere-surf.stl"; // add a geometrical volume Surface Loop(1) = {1}; Volume(1) = {1}; Physical Volume('tets') = {2}; // use this to force a coarse mesh inside //Mesh.CharacteristicLengthExtendFromBoundary = 0; //Mesh.CharacteristicLengthMax = 0.5; I have also tried Physical Volume('tets') = {1}; Previous discussion Mark Starnes mark.starnes at fttech.co.uk Tue May 1 10:42:09 CEST 2012 Previous message: [Gmsh] 3D volume as tetrahedra only Next message: [Gmsh] 3D electrostatic BEM solver Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] Hi Bartek, Yes:? use a Physical Group definition in your .geo file, like this: Physical Volume('tets') = {2}; where `2' in this case would be the volume number assigned to your tetrahedra and 'tets' is a name I made up. Adding a `Physical Group' definition results in only the groups specified as being physical being exported. Search for, `Physical' in the manual: http://www.geuz.org/gmsh/doc/texinfo/gmsh.html Best regards, Mark. On Tue, May 01, 2012 at 09:15:31AM +0200, Bartek Grychtol wrote: > Hi, > > I'm new to gmsh, just seeing if it can do what I need. > I have a surface mesh in an stl file. I need to create a nice > tetrahedral volume mesh, > but without changing anything on the surface. > The sphere demo does exactly that. > However, the generated .msh file contains both triangles (for the > surface) and > tetrahedra (for the volume inside). > Is there a way (a command or file format) to have the complete mesh > represented as tetrahedra only? > > Best wishes, > > Bartek > > _______________________________________________ > gmsh mailing list > gmsh at geuz.org > http://www.geuz.org/mailman/listinfo/gmsh -- Dr. Mark Starnes Principal Physicist FT Technologies Church Lane Teddington TW11 8PA web:? www.fttech.co.uk DDI:? 0208 614 2730 -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeremy at seamplex.com Mon Jun 8 17:05:20 2020 From: jeremy at seamplex.com (jeremy theler) Date: Mon, 8 Jun 2020 12:05:20 -0300 Subject: [Gmsh] 3D volume as tetrahedra only In-Reply-To: <84c2e789-8c12-f54c-3b66-24a9b944e3fe@sloan-home.co.uk> References: <84c2e789-8c12-f54c-3b66-24a9b944e3fe@sloan-home.co.uk> Message-ID: Defining physical groups or not control what is saved in the .msh file not what is shown in the GUI. -- jeremy theler www.seamplex.com On Mon, Jun 8, 2020, 04:40 Keith Sloan wrote: > I am new to Gmsh and trying to reproduce the following but still seeing > triangles on the surface. > > Can I check that when it mentions sphere demo it is talking about > sphere-discrete.geo > > // merge a surface mesh (any format will work: .msh, .unv, etc.) > > Merge "sphere-surf.stl"; > > // add a geometrical volume > > Surface Loop(1) = {1}; > Volume(1) = {1}; > Physical Volume('tets') = {2}; > > // use this to force a coarse mesh inside > //Mesh.CharacteristicLengthExtendFromBoundary = 0; > //Mesh.CharacteristicLengthMax = 0.5; > > I have also tried > Physical Volume('tets') = {1}; > > Previous discussion > > Mark Starnes mark.starnes at fttech.co.uk > Tue May 1 10:42:09 CEST 2012 > Previous message: [Gmsh] 3D volume as tetrahedra only > Next message: [Gmsh] 3D electrostatic BEM solver > Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] > > Hi Bartek, > > Yes: use a Physical Group definition in your .geo > file, like this: > > Physical Volume('tets') = {2}; > > where `2' in this case would be the volume number > assigned to your tetrahedra and 'tets' is a name I > made up. > > Adding a `Physical Group' definition results in > only the groups specified as being physical being > exported. > > Search for, `Physical' in the manual: > > http://www.geuz.org/gmsh/doc/texinfo/gmsh.html > > Best regards, > > Mark. > > > On Tue, May 01, 2012 at 09:15:31AM +0200, Bartek Grychtol wrote: > > Hi, > > > > I'm new to gmsh, just seeing if it can do what I need. > > I have a surface mesh in an stl file. I need to create a nice > > tetrahedral volume mesh, > > but without changing anything on the surface. > > The sphere demo does exactly that. > > However, the generated .msh file contains both triangles (for the > > surface) and > > tetrahedra (for the volume inside). > > Is there a way (a command or file format) to have the complete mesh > > represented as tetrahedra only? > > > > Best wishes, > > > > Bartek > > > > _______________________________________________ > > gmsh mailing list > > gmsh at geuz.org > > http://www.geuz.org/mailman/listinfo/gmsh > > -- > Dr. Mark Starnes > Principal Physicist > FT Technologies > Church Lane > Teddington > TW11 8PA > > web: www.fttech.co.uk > DDI: 0208 614 2730 > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From keith at sloan-home.co.uk Mon Jun 8 20:05:44 2020 From: keith at sloan-home.co.uk (Keith Sloan) Date: Mon, 8 Jun 2020 19:05:44 +0100 Subject: [Gmsh] Mesh & Topshape, Brep Message-ID: <0580b8e2-072e-922d-efe4-8a3823f9173e@sloan-home.co.uk> I am looking at using Gmsh in a FreeCAD Workbench. I see "Actually gmsh::model::occ::importShapeNativePointer() was originally only designed to work with the C++ and C APIs, and has been removed from the Python and Julia APIs in Gmsh 4.4. If a Python specialist can help in making a new version of the function that actually works in Python, we would be happy to re-add it (even if of course such a function is intrinsically "unsafe"). Christophe" So it looks like I would have to export the Shape I wish to work on as a Brep file and import that into Gmsh. After meshing is there any easy option to create a Brep file or TopShape version of the mesh? Thanks Keith -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Mon Jun 8 22:58:17 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 8 Jun 2020 22:58:17 +0200 Subject: [Gmsh] Mesh & Topshape, Brep In-Reply-To: <0580b8e2-072e-922d-efe4-8a3823f9173e@sloan-home.co.uk> References: <0580b8e2-072e-922d-efe4-8a3823f9173e@sloan-home.co.uk> Message-ID: > On 8 Jun 2020, at 20:05, Keith Sloan wrote: > > I am looking at using Gmsh in a FreeCAD Workbench. > > I see > > "Actually gmsh::model::occ::importShapeNativePointer() was originally only designed to work with the C++ and C APIs, and has been removed from the Python and Julia APIs in Gmsh 4.4. > > If a Python specialist can help in making a new version of the function that actually works in Python, we would be happy to re-add it (even if of course such a function is intrinsically "unsafe"). > > Christophe" > > So it looks like I would have to export the Shape I wish to work on as a Brep file and > import that into Gmsh. Exact. > After meshing is there any easy option to create a Brep file or TopShape version of the mesh? A Brep file is not designed to hold a finite element mesh. The Gmsh API gives you full access to the mesh, so you can transfer it in any form you wish. Christophe > > Thanks Keith > > _______________________________________________ > 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 From szacarias at ikp.tu-darmstadt.de Wed Jun 10 11:14:55 2020 From: szacarias at ikp.tu-darmstadt.de (Sabrina Zacarias) Date: Wed, 10 Jun 2020 11:14:55 +0200 Subject: [Gmsh] Surface orientation Message-ID: <1D29A7C3-02A6-48A9-8507-B2E9E096C5D5@ikp.tu-darmstadt.de> Dear all, I am working on a 2D simulation, and for post-processing my model I need all the surfaces to have the same orientation (does not matter if positive or negative), and in my current status it is not the case. Is there a way to a) A global way of asking all surfaces to have the same orientation (without checking one by one)? And if it is not possible, then b) Check which surface has which orientation and change them individually? Thank you in advance for your suggestions, Sabrina -- Sabrina Zacarias Institut f?r Kernphysik Technische Universit?t Darmstadt S2|14 / office 319 Schlossgartenstr. 9 64289 Darmstadt Office: +49 6151 16 23589 -------------- next part -------------- An HTML attachment was scrubbed... URL: From francoisbrest at hotmail.fr Wed Jun 10 11:48:46 2020 From: francoisbrest at hotmail.fr (Francois) Date: Wed, 10 Jun 2020 11:48:46 +0200 Subject: [Gmsh] Zoom in/out in Interface Message-ID: Hello, I am new to Gmsh. (Thanks for your work, it looks amazing). I have a stupid question. When I zoom in with "Ctrl Shift +" (Windows/AZERTY keyboard), I am not able to zoom out (with "Ctrl -"). I need to restart Gmsh.exe to come back to normal character size. (N.B. Help/Restore Settings does not help). Bug or feature ? Best regards, F. From cgeuzaine at uliege.be Sat Jun 13 20:38:03 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sat, 13 Jun 2020 20:38:03 +0200 Subject: [Gmsh] Zoom in/out in Interface In-Reply-To: References: Message-ID: <2C669B4A-24B7-47BF-8996-38B0056D9760@uliege.be> > On 10 Jun 2020, at 11:48, Francois wrote: > > Hello, > > I am new to Gmsh. (Thanks for your work, it looks amazing). > > I have a stupid question. > > When I zoom in with "Ctrl Shift +" (Windows/AZERTY keyboard), I am not able to zoom out (with "Ctrl -"). > > I need to restart Gmsh.exe to come back to normal character size. (N.B. Help/Restore Settings does not help). > > Bug or feature ? > I didn't know that Ctrl +/- could be used to "zoom in/out" the interface ! It seems to be a recent feature added to FLTK, so maybe it's not fully stable yet. If you want larger fonts in the interface, I would advise to simply set the Gmsh options "General.FontSize" and/or "General.GraphicsFontSize". Christophe > Best regards, > > F. > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Sat Jun 13 20:41:25 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Sat, 13 Jun 2020 20:41:25 +0200 Subject: [Gmsh] Surface orientation In-Reply-To: <1D29A7C3-02A6-48A9-8507-B2E9E096C5D5@ikp.tu-darmstadt.de> References: <1D29A7C3-02A6-48A9-8507-B2E9E096C5D5@ikp.tu-darmstadt.de> Message-ID: <6D1E0150-C2E1-43F8-9725-0AAA5CF78252@uliege.be> > On 10 Jun 2020, at 11:14, Sabrina Zacarias wrote: > > Dear all, > > I am working on a 2D simulation, and for post-processing my model I need all the surfaces to have the same orientation (does not matter if positive or negative), and in my current status it is not the case. Is there a way to a) A global way of asking all surfaces to have the same orientation (without checking one by one)? And if it is not possible, then b) Check which surface has which orientation and change them individually? > Surfaces are oriented w.r.t. the external curve loop. You can visualize the orientations with Tools->Geometry->Normals. If you cannot change the geometrical orientation but you want to reverse the mesh orientation, you can use the "ReverseMesh" command. Christophe > Thank you in advance for your suggestions, > > Sabrina > -- > Sabrina Zacarias > Institut f?r Kernphysik > Technische Universit?t Darmstadt > S2|14 / office 319 > Schlossgartenstr. 9 > > 64289 Darmstadt > > Office: +49 6151 16 23589 > > _______________________________________________ > 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 From juan.e.sanchez at gmail.com Sun Jun 14 20:17:15 2020 From: juan.e.sanchez at gmail.com (Juan Sanchez) Date: Sun, 14 Jun 2020 13:17:15 -0500 Subject: [Gmsh] 3d Delaunay Mesh Message-ID: Hello, I am having a hard time getting a 3d delaunay mesh, so that the circumcenters of the tetrahedra are inside the element. In my simulator, I am seeing that about 50% of the elements are not delaunay if: Mesh.CharacteristicLengthExtendFromBoundary = 1; and about 90% are not Delaunay if: Mesh.CharacteristicLengthExtendFromBoundary = 0; Is there a way to improve this when running the tool from the command line or with an option in the geo file? I am using: /Applications/Gmsh.app/Contents/MacOS/gmsh -format msh2 -3 3dblock.geo with version 4.5.6 on macOS 10.14.6 (Mojave). Regards, Juan -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 3dblock.geo Type: application/octet-stream Size: 1761 bytes Desc: not available URL: From Panagiotis.Kotronis at ec-nantes.fr Mon Jun 15 21:02:01 2020 From: Panagiotis.Kotronis at ec-nantes.fr (Panagiotis Kotronis) Date: Mon, 15 Jun 2020 21:02:01 +0200 Subject: [Gmsh] 7-node second order triangle Message-ID: Hi Is it possible to mesh using a 7-node second order triangle (3 nodes associated with the vertices and 3 with the edges + 1)? Panagiotis -------------- next part -------------- An HTML attachment was scrubbed... URL: From Panagiotis.Kotronis at ec-nantes.fr Tue Jun 16 19:48:53 2020 From: Panagiotis.Kotronis at ec-nantes.fr (Panagiotis Kotronis) Date: Tue, 16 Jun 2020 19:48:53 +0200 Subject: [Gmsh] number of gauss point per element Message-ID: <32EA33ED-0D17-4697-A50A-F1A0388E0423@ec-nantes.fr> Is it possible to choose the number of Gauss points in an element when creating a mesh, and then to print this information for each element in the generated msh file? From keith at sloan-home.co.uk Wed Jun 17 13:00:26 2020 From: keith at sloan-home.co.uk (Keith Sloan) Date: Wed, 17 Jun 2020 12:00:26 +0100 Subject: [Gmsh] Meshing Looping how to debug. Message-ID: <48f417f5-19ad-b078-cad6-9633a380117d@sloan-home.co.uk> I have code as below def initialize() : ??? gmsh.initialize() ??? gmsh.option.setNumber('Mesh.Algorithm3D',1) ??? gmsh.option.setNumber("Geometry.OCCFixDegenerated", 1) ??? gmsh.option.setNumber("Mesh.SaveGroupsOfNodes", 1) ??? gmsh.option.setNumber("Mesh.CharacteristicLengthMax", 2) gmsh.option.setNumber("Mesh.CharacteristicLengthFromCurvature", 0) ??? gmsh.option.setNumber("Mesh.CharacteristicLengthFromPoints", 1) ??? gmsh.option.setNumber("Mesh.SaveAll", 0) ??? gmsh.option.setNumber("Mesh.OptimizeNetgen", 1) ??? gmsh.option.setNumber("Mesh.MaxNumThreads3D", 4) ??? gmsh.option.setString("Geometry.OCCTargetUnit", 'mm'); ??? gmsh.option.setString("General.ErrorFileName", '/tmp/error.log'); def meshObj(obj, dim) : ??? obj.Shape.exportBrep("/tmp/Shape2Mesh.brep") ??? ab = gmsh.open('/tmp/Shape2Mesh.brep') ??? gmsh.model.occ.synchronize() ??? print(dir(ab)) ??? gmsh.model.mesh.generate(dim) ??? print('Mesh Generated') ??? gmsh.model.mesh.renumberNodes() I am passing 3 as the value of dim. One object a Cube works just fine, but another Cube which seems the same just loops. Suggestions on how to debug please? -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Wed Jun 17 13:24:21 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 17 Jun 2020 13:24:21 +0200 Subject: [Gmsh] Meshing Looping how to debug. In-Reply-To: <48f417f5-19ad-b078-cad6-9633a380117d@sloan-home.co.uk> References: <48f417f5-19ad-b078-cad6-9633a380117d@sloan-home.co.uk> Message-ID: <283A7E9E-326F-43B0-9C96-2503B6949A0D@uliege.be> > On 17 Jun 2020, at 13:00, Keith Sloan wrote: > > I have code as below > > def initialize() : > gmsh.initialize() > gmsh.option.setNumber('Mesh.Algorithm3D',1) > gmsh.option.setNumber("Geometry.OCCFixDegenerated", 1) > gmsh.option.setNumber("Mesh.SaveGroupsOfNodes", 1) > gmsh.option.setNumber("Mesh.CharacteristicLengthMax", 2) > gmsh.option.setNumber("Mesh.CharacteristicLengthFromCurvature", 0) > gmsh.option.setNumber("Mesh.CharacteristicLengthFromPoints", 1) > gmsh.option.setNumber("Mesh.SaveAll", 0) > gmsh.option.setNumber("Mesh.OptimizeNetgen", 1) > gmsh.option.setNumber("Mesh.MaxNumThreads3D", 4) > gmsh.option.setString("Geometry.OCCTargetUnit", 'mm'); > gmsh.option.setString("General.ErrorFileName", '/tmp/error.log'); > > > > def meshObj(obj, dim) : > obj.Shape.exportBrep("/tmp/Shape2Mesh.brep") > ab = gmsh.open('/tmp/Shape2Mesh.brep') > gmsh.model.occ.synchronize() > print(dir(ab)) > gmsh.model.mesh.generate(dim) > print('Mesh Generated') > gmsh.model.mesh.renumberNodes() > > > > I am passing 3 as the value of dim. > > > One object a Cube works just fine, but another Cube > which seems the same just loops. > > Suggestions on how to debug please? > Set gmsh.option.setNumber('General.Terminal',1) to see the messages. > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Wed Jun 17 13:26:09 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 17 Jun 2020 13:26:09 +0200 Subject: [Gmsh] number of gauss point per element In-Reply-To: <32EA33ED-0D17-4697-A50A-F1A0388E0423@ec-nantes.fr> References: <32EA33ED-0D17-4697-A50A-F1A0388E0423@ec-nantes.fr> Message-ID: > On 16 Jun 2020, at 19:48, Panagiotis Kotronis wrote: > > Is it possible to choose the number of Gauss points in an element when creating a mesh, and then to print this information for each element in the generated msh file? Gauss point choice is independent from mesh generation. You can use the API (cf. getIntegrationPoints) to get quadrature points and perform integration (cf. getJacobians) on a mesh. Christophe > _______________________________________________ > 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 From cgeuzaine at uliege.be Wed Jun 17 13:26:23 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 17 Jun 2020 13:26:23 +0200 Subject: [Gmsh] 7-node second order triangle In-Reply-To: References: Message-ID: <904D2E9E-BF5D-4281-9813-BC5EDA9D8F59@uliege.be> > On 15 Jun 2020, at 21:02, Panagiotis Kotronis wrote: > > Hi > Is it possible to mesh using a 7-node second order triangle (3 nodes associated with the vertices and 3 with the edges + 1)? No, that's not supported. Christophe > Panagiotis > > _______________________________________________ > 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 From cgeuzaine at uliege.be Wed Jun 17 17:54:18 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 17 Jun 2020 17:54:18 +0200 Subject: [Gmsh] 3d Delaunay Mesh In-Reply-To: References: Message-ID: <936412FC-CC41-42DB-AE18-8049FB64AC44@uliege.be> Hi Juan, This is expected: to get a 3D mesh that satisfies the Delaunay criterion we would need to modify the surface mesh - this is something we try hard to avoid. Christophe > On 14 Jun 2020, at 20:17, Juan Sanchez wrote: > > Hello, > > I am having a hard time getting a 3d delaunay mesh, so that the circumcenters of the tetrahedra are inside the element. > > In my simulator, I am seeing that about 50% of the elements are not delaunay if: > Mesh.CharacteristicLengthExtendFromBoundary = 1; > > and about 90% are not Delaunay if: > Mesh.CharacteristicLengthExtendFromBoundary = 0; > > Is there a way to improve this when running the tool from the command line or with an option in the geo file? > > I am using: > /Applications/Gmsh.app/Contents/MacOS/gmsh -format msh2 -3 3dblock.geo > > with version 4.5.6 on macOS 10.14.6 (Mojave). > > Regards, > > Juan > <3dblock.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 From juan.e.sanchez at gmail.com Thu Jun 18 18:51:19 2020 From: juan.e.sanchez at gmail.com (Juan Sanchez) Date: Thu, 18 Jun 2020 11:51:19 -0500 Subject: [Gmsh] 3d Delaunay Mesh In-Reply-To: <936412FC-CC41-42DB-AE18-8049FB64AC44@uliege.be> References: <936412FC-CC41-42DB-AE18-8049FB64AC44@uliege.be> Message-ID: Hi, On Wed, Jun 17, 2020 at 10:54 AM Christophe Geuzaine wrote: > > Hi Juan, > > This is expected: to get a 3D mesh that satisfies the Delaunay criterion > we would need to modify the surface mesh - this is something we try hard to > avoid. > In TetGen, I started experimenting with using a background mesh from the initial mesh generated from the PLC. Specifying smaller edge lengths on the nodes of the bad elements results in a greatly improved mesh. For a simple cube experiment: If I subdivided a tetrahedron into 4, using the the center of the circumsphere as the common vertex: The sum of the volumes of the subdivided elements was 50% higher than the actual volume of the cube. Using the background mesh, where I specified smaller edge lengths at the vertices of the bad elements, The sum of the volumes of the subdivided elements matched the volume of the cube. I will port this refinement strategy back to Gmsh when I have the opportunity. Regards, Juan > > Christophe > > > > On 14 Jun 2020, at 20:17, Juan Sanchez wrote: > > > > Hello, > > > > I am having a hard time getting a 3d delaunay mesh, so that the > circumcenters of the tetrahedra are inside the element. > > > > In my simulator, I am seeing that about 50% of the elements are not > delaunay if: > > Mesh.CharacteristicLengthExtendFromBoundary = 1; > > > > and about 90% are not Delaunay if: > > Mesh.CharacteristicLengthExtendFromBoundary = 0; > > > > Is there a way to improve this when running the tool from the command > line or with an option in the geo file? > > > > I am using: > > /Applications/Gmsh.app/Contents/MacOS/gmsh -format msh2 -3 3dblock.geo > > > > with version 4.5.6 on macOS 10.14.6 (Mojave). > > > > Regards, > > > > Juan > > <3dblock.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 > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brahmachary.shuvayan.140 at m.kyushu-u.ac.jp Fri Jun 19 07:10:23 2020 From: brahmachary.shuvayan.140 at m.kyushu-u.ac.jp (BRAHMACHARY SHUVAYAN) Date: Fri, 19 Jun 2020 05:10:23 +0000 Subject: [Gmsh] transfinite algorithm limitation for structured meshes Message-ID: <7616D2C9-1893-4E38-9285-9F9E0104C3C4@m.kyushu-u.ac.jp> Dear prof. Geuzaine, Good morning! First of all thank you for the wonderful meshing tool you and your team has developed: Gmsh. It is very useful indeed. I was wondering if you could help me answer a query related to Gmsh. I am trying to create a structured mesh using the Transfinite command in Gmsh (image attached). As you may notice, due to the curvature of the upper curve, the vertical lines are not quite vertical (I want them to be perfectly vertical). This is possible if I were able to alter the position of the nodes suitably, which is possible in Gmsh using Points in Surface command. However, this Points in Surface command fails when Transfinite command is used and only works for unstructured meshes in Gmsh. So my question is : 1. How to constraint the lines to be vertical? An easier way perhaps? 2. Is it possible to adjust the nodes when Points in Surface and Transfinite commands are used in conjunction? Kind regards, Shuvayan [cid:32D661A9-5B44-4E89-800A-463484A371F6] -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Screenshot 2020-06-19 at 13.38.14.png Type: image/png Size: 143288 bytes Desc: Screenshot 2020-06-19 at 13.38.14.png URL: From dn at tadek-offshore.co.uk Fri Jun 19 09:17:40 2020 From: dn at tadek-offshore.co.uk (Diogo Nunes) Date: Fri, 19 Jun 2020 07:17:40 +0000 Subject: [Gmsh] Appendage Mesh Message-ID: Hello gmsh Users, This is a question about modelling 2D surfaces with arbitrary shapes and sharp angles within the geometry. The mesh is then used by a radiation-diffraction solver to obtain the hydrodynamic potential. It is a specific application to a ship hull but must be similar to many other applications. So we are using gmsh to create a 2D structured mesh of a ship hull with a geometry looking like the one below (note the appendage in red): [cid:image002.png at 01D64612.18B06F60][cid:image004.png at 01D64612.18B06F60][cid:image005.png at 01D64612.18B06F60] Meshing the overall hull shape has been fairly straightforward and gmsh did exactly what we expected, yielding a good quality mesh with minimal efforts. We created my 3 and 4 edges surfaces from lines and B-Splines curves. For each surface, we defined Transfinite Curves, Surfaces and Recombined each surface them to get the 2D Structured Mesh: [cid:image006.jpg at 01D64612.18B06F60] The issue is related to the appendage on the stern of the hull (called "skeg") as shown on the first picture. If we include this as the same surface as the hull, the sharp angle would never be captured by the B-spline. So far we have tried a couple of things based on processes commonly applied in other packages: First we have made a contour of the skeg using B-splines and lines (Line 16, Line 17, Line 18, Nurb 12, Nurb 13) and split the forward B-spline into 2 (Nurb 7 and Nurb 8) as shown below. [cid:image007.jpg at 01D64612.18B06F60] This has either resulted in endless loops of "Warning: Wrong control point index in bspline" or in meshing errors in the appendage and surrounding regions. Next we have tried to approximate the contour of the skeg with Nurb 17 to generate Surface 2 (made of Nurbs 7,8,5,17) and then add 3 separate lines to produce the side surface of the skeg (Surface 5 made of Nurb 14, 15 and Line 16) [cid:image008.jpg at 01D64612.18B06F60] This resulted in an error message and the Surface 5 meshed with 1 element only as shown above. Have you got any suggestion on how one should proceed to get a 2D structured mesh of such a geometry with sharp angles (here, the hull and the skeg) and capture those discontinuities within the mesh, as depicted in the first figure? Many thanks, Diogo Nunes. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 1096 bytes Desc: image001.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image002.png Type: image/png Size: 3505 bytes Desc: image002.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image003.png Type: image/png Size: 1073 bytes Desc: image003.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image004.png Type: image/png Size: 3396 bytes Desc: image004.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image005.png Type: image/png Size: 207983 bytes Desc: image005.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image006.jpg Type: image/jpeg Size: 22213 bytes Desc: image006.jpg URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image007.jpg Type: image/jpeg Size: 25294 bytes Desc: image007.jpg URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image008.jpg Type: image/jpeg Size: 45302 bytes Desc: image008.jpg URL: From haqthinh at gmail.com Sun Jun 21 06:24:53 2020 From: haqthinh at gmail.com (Quang Ha) Date: Sun, 21 Jun 2020 00:24:53 -0400 Subject: [Gmsh] Problem with physical groups to label surface in GMSH Message-ID: Hi all, I'm having some troubles setting the ID for the physical group of the boundary and then extract them later in Python. Here's my main.geo file: // Gmsh project created on Sat Jun 20 11:28:19 2020 Mesh.Algorithm = 6; Mesh.CharacteristicLengthMin = 0.4; Mesh.CharacteristicLengthMax = 0.4; SetFactory("OpenCASCADE"); //+ Box(1) = {-2, -2, -2, 4, 4, 4}; // Surface for Box box_bnd[] = Boundary{Volume{1};}; Physical Surface("boundary", 1) = box_bnd[]; //+ Sphere(3) = {0, 0, 0, 1.0, -Pi/2, Pi/2, 2*Pi}; sphere_bnd[] = Boundary{Volume{3};}; Physical Surface("boundary", 1) += sphere_bnd[]; // Cut BooleanDifference(5) = {Volume{1}; Delete;}{Volume{3}; Delete;}; Physical Volume("internal", 2) = {5}; Having run this inside Gmsh and generate main.msh, I try to explore this mesh inside Python and extract out the coordinates on the boundary for checking. Here is my extract.py: import matplotlib.pyplot as plt import gmsh # Mesh characteristic length char_length = 0.4 # Some reference dimension max_coord, min_coord = -2.0, 2.0 # Sphere radius a = 1.0 # Tolerance allowed in the mesh point tol = 1e-12 gmsh.initialize() gmsh.option.setNumber("General.Terminal", 1) gmsh.open("main.msh".format(char_length)) # all mesh node coordinates nodeTags, nodeCoords, _ = gmsh.model.mesh.getNodes() # just the boundary coordinates bTags, bCoords, = gmsh.model.mesh.getNodesForPhysicalGroup(3, 1) gmsh.finalize() which seems to give me empty arrays of bTags and bCoords, i.e.: In [7]: run extract.py Warning : Gmsh has aleady been initialized Info : Reading 'main.msh'... Info : 33 entities Info : 1260 nodes Info : 6524 elements Info : Done reading 'main.msh' /usr/local/lib/python3.7/site-packages/numpy/ctypeslib.py:523: RuntimeWarning: A builtin ctypes object gave a PEP3118 format string that does not match its itemsize, so a best-guess will be made of the data type. Newer versions of python may behave correctly. return array(obj, copy=False) In [8]: bTags Out[8]: array([], dtype=uint64) In [9]: bCoords Out[9]: array([], dtype=float64) Any suggestions on where I have made a mistake? Thanks, Quang -------------- next part -------------- An HTML attachment was scrubbed... URL: From alsalihi at vki.ac.be Sun Jun 21 08:02:44 2020 From: alsalihi at vki.ac.be (Zuheyr Alsalihi) Date: Sun, 21 Jun 2020 08:02:44 +0200 Subject: [Gmsh] Creating angle dependent surface mesh zones for axisymmetric geometries Message-ID: <368e-5eeef800-9-4b618000@118566331> Dear Prof. Geuzaine, Dear GMSH users, Can I create angle dependent surface mesh patches for an axisymmetric geometry, just like cake slices where I can write out 3 surface patches, say for 0-120; 120-240, and 240-360? Many thanks for reading! Kind regards, Zuheyr? ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From lisa at simula.no Mon Jun 22 17:25:02 2020 From: lisa at simula.no (Lisa Pankewitz) Date: Mon, 22 Jun 2020 17:25:02 +0200 Subject: [Gmsh] gmsh 4.5.6: Creating a mesh from .vtk files - Surface is not remeshing but only the Volume Message-ID: To whom it may concern, I am trying to remesh a geometry based on .vtk files. I merge 7 .vtk files. 4 vtk files are used to create a surface that consists of 4 compounds. All 7 surfaces together define the volume. I assign tags (names) to the physical surfaces, which I need in later steps. Unfortunately, I realized the surface does not remesh. I checked several tutorials and parameters but could not yet find a possibility to keep the tags and remesh the surface and the volume in the assigned characteristic length in gmsh version 4. I tried ''' RefineMesh ''' but this only splits the elements instead of performing an optimal refinement. Do you by chance know what I could assign in order to remesh the surface AND the volume and not only the volume? Thanks so much for your time and have a wonderful day! Kind regards, Lisa ---------------------------------------------------------------------------------------------------------------------- *Lisa Pankewitz* PhD student Simula Research Laboratory Martin Linges vei 25 1364 Fornebu Office 327 lisa at simula.no -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: File_4.vtk Type: application/octet-stream Size: 3427 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: File_3.vtk Type: application/octet-stream Size: 128455 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: File_2.vtk Type: application/octet-stream Size: 100723 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: complex.geo Type: application/octet-stream Size: 2926 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: File_1.vtk Type: application/octet-stream Size: 83601 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: File_5.vtk Type: application/octet-stream Size: 1746 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: File_6.vtk Type: application/octet-stream Size: 2814 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: File_7.vtk Type: application/octet-stream Size: 2311 bytes Desc: not available URL: From cgeuzaine at uliege.be Mon Jun 22 18:10:44 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 22 Jun 2020 18:10:44 +0200 Subject: [Gmsh] Creating angle dependent surface mesh zones for axisymmetric geometries In-Reply-To: <368e-5eeef800-9-4b618000@118566331> References: <368e-5eeef800-9-4b618000@118566331> Message-ID: > On 21 Jun 2020, at 08:02, Zuheyr Alsalihi wrote: > > Dear Prof. Geuzaine, Dear GMSH users, > Can I create angle dependent surface mesh patches for an axisymmetric geometry, just like cake slices where I can write out 3 > surface patches, say for 0-120; 120-240, and 240-360? Can you share a picture? I don't get it... > Many thanks for reading! Kind regards, > Zuheyr > > _______________________________________________ > 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 From cgeuzaine at uliege.be Mon Jun 22 18:13:39 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 22 Jun 2020 18:13:39 +0200 Subject: [Gmsh] Problem with physical groups to label surface in GMSH In-Reply-To: References: Message-ID: <87EBE53F-C5F4-4727-A8C7-63FFC4FC1F8D@uliege.be> > On 21 Jun 2020, at 06:24, Quang Ha wrote: > > Hi all, > > I'm having some troubles setting the ID for the physical group of the boundary and then extract them later in Python. Here's my main.geo file: > > // Gmsh project created on Sat Jun 20 11:28:19 2020 > Mesh.Algorithm = 6; > Mesh.CharacteristicLengthMin = 0.4; > Mesh.CharacteristicLengthMax = 0.4; > > SetFactory("OpenCASCADE"); > //+ > Box(1) = {-2, -2, -2, 4, 4, 4}; > // Surface for Box > box_bnd[] = Boundary{Volume{1};}; > Physical Surface("boundary", 1) = box_bnd[]; > //+ > Sphere(3) = {0, 0, 0, 1.0, -Pi/2, Pi/2, 2*Pi}; > sphere_bnd[] = Boundary{Volume{3};}; > Physical Surface("boundary", 1) += sphere_bnd[]; > // Cut > BooleanDifference(5) = {Volume{1}; Delete;}{Volume{3}; Delete;}; > Physical Volume("internal", 2) = {5}; > > Having run this inside Gmsh and generate main.msh, I try to explore this mesh inside Python and extract out the coordinates on the boundary for checking. The boolean operation with OpenCASCADE will change the surfaces, so your Physical Surface definition becomes invalid (and should be done afterwards). Improving the surface tag persistence is on our TODO list, but OpenCASCADE does not make this easy (or more probably we don't use OpenCASCADE intelligently enough ;-). Christophe > Here is my extract.py: > > import matplotlib.pyplot as plt > import gmsh > > # Mesh characteristic length > char_length = 0.4 > # Some reference dimension > max_coord, min_coord = -2.0, 2.0 > # Sphere radius > a = 1.0 > # Tolerance allowed in the mesh point > tol = 1e-12 > > gmsh.initialize() > gmsh.option.setNumber("General.Terminal", 1) > gmsh.open("main.msh".format(char_length)) > > # all mesh node coordinates > nodeTags, nodeCoords, _ = gmsh.model.mesh.getNodes() > > # just the boundary coordinates > bTags, bCoords, = gmsh.model.mesh.getNodesForPhysicalGroup(3, 1) > > gmsh.finalize() > > which seems to give me empty arrays of bTags and bCoords, i.e.: > > In [7]: run extract.py > Warning : Gmsh has aleady been initialized > Info : Reading 'main.msh'... > Info : 33 entities > Info : 1260 nodes > Info : 6524 elements > Info : Done reading 'main.msh' > /usr/local/lib/python3.7/site-packages/numpy/ctypeslib.py:523: RuntimeWarning: A builtin ctypes object gave a PEP3118 format string that does not match its itemsize, so a best-guess will be made of the data type. Newer versions of python may behave correctly. > return array(obj, copy=False) > > In [8]: bTags > Out[8]: array([], dtype=uint64) > > In [9]: bCoords > Out[9]: array([], dtype=float64) > > Any suggestions on where I have made a mistake? > > Thanks, > Quang > _______________________________________________ > 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 From cgeuzaine at uliege.be Mon Jun 22 18:14:33 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 22 Jun 2020 18:14:33 +0200 Subject: [Gmsh] Appendage Mesh In-Reply-To: References: Message-ID: > On 19 Jun 2020, at 09:17, Diogo Nunes wrote: > > Hello gmsh Users, > > This is a question about modelling 2D surfaces with arbitrary shapes and sharp angles within the geometry. > The mesh is then used by a radiation-diffraction solver to obtain the hydrodynamic potential. > It is a specific application to a ship hull but must be similar to many other applications. > > So we are using gmsh to create a 2D structured mesh of a ship hull with a geometry looking like the one below (note the appendage in red): > > > Meshing the overall hull shape has been fairly straightforward and gmsh did exactly what we expected, yielding a good quality mesh with minimal efforts. We created my 3 and 4 edges surfaces from lines and B-Splines curves. For each surface, we defined Transfinite Curves, Surfaces and Recombined each surface them to get the 2D Structured Mesh: > > > The issue is related to the appendage on the stern of the hull (called ?skeg?) as shown on the first picture. If we include this as the same surface as the hull, the sharp angle would never be captured by the B-spline. > > So far we have tried a couple of things based on processes commonly applied in other packages: > First we have made a contour of the skeg using B-splines and lines (Line 16, Line 17, Line 18, Nurb 12, Nurb 13) and split the forward B-spline into 2 (Nurb 7 and Nurb 8) as shown below. > > This has either resulted in endless loops of ?Warning: Wrong control point index in bspline? or in meshing errors in the appendage and surrounding regions. > > Next we have tried to approximate the contour of the skeg with Nurb 17 to generate Surface 2 (made of Nurbs 7,8,5,17) and then add 3 separate lines to produce the side surface of the skeg (Surface 5 made of Nurb 14, 15 and Line 16) > > This resulted in an error message and the Surface 5 meshed with 1 element only as shown above. > > Have you got any suggestion on how one should proceed to get a 2D structured mesh of such a geometry with sharp angles (here, the hull and the skeg) and capture those discontinuities within the mesh, as depicted in the first figure? > Can you share a script? It should be doable of all surfaces have 3 or 4 sides. Christophe > > Many thanks, > Diogo Nunes. > > _______________________________________________ > 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 From cgeuzaine at uliege.be Mon Jun 22 18:15:39 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 22 Jun 2020 18:15:39 +0200 Subject: [Gmsh] transfinite algorithm limitation for structured meshes In-Reply-To: <7616D2C9-1893-4E38-9285-9F9E0104C3C4@m.kyushu-u.ac.jp> References: <7616D2C9-1893-4E38-9285-9F9E0104C3C4@m.kyushu-u.ac.jp> Message-ID: <95787B47-D49C-47A8-AE37-5C303B17ECFB@uliege.be> > On 19 Jun 2020, at 07:10, BRAHMACHARY SHUVAYAN wrote: > > Dear prof. Geuzaine, > > Good morning! > > First of all thank you for the wonderful meshing tool you and your team has developed: Gmsh. It is very useful indeed. > > I was wondering if you could help me answer a query related to Gmsh. > > I am trying to create a structured mesh using the Transfinite command in Gmsh (image attached). As you may notice, due to the curvature of the upper curve, the vertical lines are not quite vertical (I want them to be perfectly vertical). This is possible if I were able to alter the position of the nodes suitably, which is possible in Gmsh using Points in Surface command. However, this Points in Surface command fails when Transfinite command is used and only works for unstructured meshes in Gmsh. So my question is : > > > 1. How to constraint the lines to be vertical? An easier way perhaps? No there's nothing for this. > > 2. Is it possible to adjust the nodes when Points in Surface and Transfinite commands are used in conjunction? No: you'll need to split the surface into parts that have 3 or 4 sides... Christophe > > Kind regards, > Shuvayan > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Mon Jun 22 18:10:08 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 22 Jun 2020 18:10:08 +0200 Subject: [Gmsh] gmsh 4.5.6: Creating a mesh from .vtk files - Surface is not remeshing but only the Volume In-Reply-To: References: Message-ID: <5CA2D182-6FC8-47AE-BEDB-9A65240A3C7D@uliege.be> Hi Lisa, Your script seems quite complicated. Here's a simple one that produces a decent mesh: Merge "File_1.vtk"; Merge "File_2.vtk"; Merge "File_3.vtk"; Merge "File_4.vtk"; Merge "File_5.vtk"; Merge "File_6.vtk"; Merge "File_7.vtk"; Coherence Mesh; // remove duplicate mesh nodes ClassifySurfaces{21 * Pi/180, 1, 0 /* or 1 */, 40 * Pi / 180}; CreateGeometry; Mesh.CharacteristicLengthMax = 10; Mesh.CharacteristicLengthMin = 0.1; Mesh.CharacteristicLengthFromCurvature = 1; Mesh.MinimumElementsPerTwoPi = 20; s() = Surface{:}; Surface Loop(1) = s(); Volume(1) = 1; We still need to add some tools to automate the identification of curves/surfaces created by ClassifySurfaces. For now you'll need to tag them manually (or use some geometrical tests, e.g. using the Gmsh API). Christophe > On 22 Jun 2020, at 17:25, Lisa Pankewitz wrote: > > To whom it may concern, > > I am trying to remesh a geometry based on .vtk files. > I merge 7 .vtk files. 4 vtk files are used to create a surface that consists of 4 compounds. All 7 surfaces together define the volume. I assign tags (names) to the physical surfaces, which I need in later steps. Unfortunately, I realized the surface does not remesh. I checked several tutorials and parameters but could not yet find a possibility to keep the tags and remesh the surface and the volume in the assigned characteristic length in gmsh version 4. > I tried > ''' > RefineMesh > ''' > but this only splits the elements instead of performing an optimal refinement. > > Do you by chance know what I could assign in order to remesh the surface AND the volume and not only the volume? > > Thanks so much for your time and have a wonderful day! > Kind regards, > > Lisa > > ---------------------------------------------------------------------------------------------------------------------- > Lisa Pankewitz > PhD student > Simula Research Laboratory > Martin Linges vei 25 > 1364 Fornebu > Office 327 > lisa at simula.no > > _______________________________________________ > 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ok.png Type: image/png Size: 297866 bytes Desc: not available URL: From lisa at simula.no Mon Jun 22 19:14:26 2020 From: lisa at simula.no (Lisa Pankewitz) Date: Mon, 22 Jun 2020 19:14:26 +0200 Subject: [Gmsh] gmsh 4.5.6: Creating a mesh from .vtk files - Surface is not remeshing but only the Volume In-Reply-To: <5CA2D182-6FC8-47AE-BEDB-9A65240A3C7D@uliege.be> References: <5CA2D182-6FC8-47AE-BEDB-9A65240A3C7D@uliege.be> Message-ID: Dear Christophe, thanks so much for your helpful and fast response. It is really appreciated! Just to double check: Does that mean that the assignment of surface names with the syntax I used before does not work any longer in gmsh ? Thanks so much and have a great day :) Kind regards, Lisa ---------------------------------------------------------------------------------------------------------------------- *Lisa Pankewitz* PhD student Simula Research Laboratory Martin Linges vei 25 1364 Fornebu Office 329 lisa at simula.no On Mon, 22 Jun 2020 at 18:10, Christophe Geuzaine wrote: > Hi Lisa, > > Your script seems quite complicated. Here's a simple one that produces a > decent mesh: > > Merge "File_1.vtk"; > Merge "File_2.vtk"; > Merge "File_3.vtk"; > Merge "File_4.vtk"; > Merge "File_5.vtk"; > Merge "File_6.vtk"; > Merge "File_7.vtk"; > > Coherence Mesh; // remove duplicate mesh nodes > > ClassifySurfaces{21 * Pi/180, 1, 0 /* or 1 */, 40 * Pi / 180}; > CreateGeometry; > > Mesh.CharacteristicLengthMax = 10; > Mesh.CharacteristicLengthMin = 0.1; > Mesh.CharacteristicLengthFromCurvature = 1; > Mesh.MinimumElementsPerTwoPi = 20; > > s() = Surface{:}; > Surface Loop(1) = s(); > Volume(1) = 1; > > We still need to add some tools to automate the identification of > curves/surfaces created by ClassifySurfaces. For now you'll need to tag > them manually (or use some geometrical tests, e.g. using the Gmsh API). > > Christophe > > > > > On 22 Jun 2020, at 17:25, Lisa Pankewitz wrote: > > To whom it may concern, > > I am trying to remesh a geometry based on .vtk files. > I merge 7 .vtk files. 4 vtk files are used to create a surface that > consists of 4 compounds. All 7 surfaces together define the volume. I > assign tags (names) to the physical surfaces, which I need in later steps. > Unfortunately, I realized the surface does not remesh. I checked several > tutorials and parameters but could not yet find a possibility to keep the > tags and remesh the surface and the volume in the assigned characteristic > length in gmsh version 4. > I tried > ''' > RefineMesh > ''' > but this only splits the elements instead of performing an optimal > refinement. > > Do you by chance know what I could assign in order to remesh the surface > AND the volume and not only the volume? > > Thanks so much for your time and have a wonderful day! > Kind regards, > > Lisa > > > ---------------------------------------------------------------------------------------------------------------------- > Lisa Pankewitz > PhD student > Simula Research Laboratory > Martin Linges vei 25 > 1364 Fornebu > Office 327 > lisa at simula.no > > > _______________________________________________ > 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 > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ok.png Type: image/png Size: 297866 bytes Desc: not available URL: From hadrien.beriot at siemens.com Mon Jun 22 21:30:41 2020 From: hadrien.beriot at siemens.com (Beriot, Hadrien) Date: Mon, 22 Jun 2020 19:30:41 +0000 Subject: [Gmsh] Ghost surfaces after cut? Message-ID: Dear Gmsh-ers, Simple issue, I am constructing a plate with a hole using csg in the python API. In terms of gmsh class members, everything goes well, as after the "occ.cut" operation the "getEntities()" method returns 7 surfaces and 1 volume [(0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (0, 6), (0, 7), (0, 8), (0, 9), (0, 10), (1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (1, 7), (1, 8), (1, 9), (1, 10), (1, 11), (1, 12), (1, 13), (1, 14), (1, 15), (2, 1), (2, 2), (2, 3), (2, 4), (2, 5), (2, 6), (2, 7), (3, 3)] which is exactly what is expected. However, oddly enough, when I write a step file and open it in gmsh, I see 21 surfaces, and not 7. These additional "ghost surfaces" come with their own points and curves, but there is no additional volume. I could not spot the problem, I guess it has to do with the fact that the removeObject and removeTool did not completely erase the corresponding surfaces, they are not class members any more, but somehow they reappear at export. This is problematic for me because I do some computations on the CAD surfaces themselves. I would like to programmatically generate many "swiss cheese" step files with multiple holes, but I need to be 100% sure that there is no duplicate surfaces kept in the cutting process. I am aware that this kind of geometry prep could be done with pythonocc as well but somehow I would prefer staying in the gmsh environment. Many thanks for your help! Kind regards, Hadrien import os import gmsh import math gmsh.initialize() gmsh.model.remove() gmsh.option.setNumber("General.Terminal", 1) gmsh.model.add("boxwithhole") # We first create the cube w/ tag 1 gmsh.model.occ.addBox(0, 0, 0, 3000, 2000, 1000, 1) # We then create the cylinder w/ tag 2 gmsh.model.occ.addCylinder(1500, 1000, -100, 0, 0, 1200, 300, 2) # We apply a boolean difference gmsh.model.occ.cut([(3, 1)], [(3, 2)], 3, removeObject = True, removeTool = True) gmsh.model.occ.synchronize() print(gmsh.model.getEntities()) # Show the GUI: this_folder = os.path.dirname(os.path.abspath(__file__)) gmsh.write(os.path.join(this_folder, "boxwithhole.step")) gmsh.clear() gmsh.open(os.path.join(this_folder, "boxwithhole.step")) gmsh.fltk.run() gmsh.finalize() [cid:image005.png at 01D648DC.60265C20] [cid:image006.png at 01D648DC.60265C20] -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image005.png Type: image/png Size: 29837 bytes Desc: image005.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image006.png Type: image/png Size: 118449 bytes Desc: image006.png URL: From cgeuzaine at uliege.be Tue Jun 23 08:30:32 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 23 Jun 2020 08:30:32 +0200 Subject: [Gmsh] gmsh 4.5.6: Creating a mesh from .vtk files - Surface is not remeshing but only the Volume In-Reply-To: References: <5CA2D182-6FC8-47AE-BEDB-9A65240A3C7D@uliege.be> Message-ID: <5BA25480-5395-4436-A4B0-3A34000FAF65@uliege.be> > On 22 Jun 2020, at 19:14, Lisa Pankewitz wrote: > > Dear Christophe, > > thanks so much for your helpful and fast response. It is really appreciated! > > Just to double check: Does that mean that the assignment of surface names with the syntax I used before does not work any longer in gmsh ? > It does of course. But when new surfaces are created (by ClassifySurfaces) you'll need to identify them as well. > Thanks so much and have a great day :) > Kind regards, > > Lisa > > ---------------------------------------------------------------------------------------------------------------------- > Lisa Pankewitz > PhD student > Simula Research Laboratory > Martin Linges vei 25 > 1364 Fornebu > Office 329 > lisa at simula.no > > > > On Mon, 22 Jun 2020 at 18:10, Christophe Geuzaine wrote: > Hi Lisa, > > Your script seems quite complicated. Here's a simple one that produces a decent mesh: > > Merge "File_1.vtk"; > Merge "File_2.vtk"; > Merge "File_3.vtk"; > Merge "File_4.vtk"; > Merge "File_5.vtk"; > Merge "File_6.vtk"; > Merge "File_7.vtk"; > > Coherence Mesh; // remove duplicate mesh nodes > > ClassifySurfaces{21 * Pi/180, 1, 0 /* or 1 */, 40 * Pi / 180}; > CreateGeometry; > > Mesh.CharacteristicLengthMax = 10; > Mesh.CharacteristicLengthMin = 0.1; > Mesh.CharacteristicLengthFromCurvature = 1; > Mesh.MinimumElementsPerTwoPi = 20; > > s() = Surface{:}; > Surface Loop(1) = s(); > Volume(1) = 1; > > We still need to add some tools to automate the identification of curves/surfaces created by ClassifySurfaces. For now you'll need to tag them manually (or use some geometrical tests, e.g. using the Gmsh API). > > Christophe > > > > > >> On 22 Jun 2020, at 17:25, Lisa Pankewitz wrote: >> >> To whom it may concern, >> >> I am trying to remesh a geometry based on .vtk files. >> I merge 7 .vtk files. 4 vtk files are used to create a surface that consists of 4 compounds. All 7 surfaces together define the volume. I assign tags (names) to the physical surfaces, which I need in later steps. Unfortunately, I realized the surface does not remesh. I checked several tutorials and parameters but could not yet find a possibility to keep the tags and remesh the surface and the volume in the assigned characteristic length in gmsh version 4. >> I tried >> ''' >> RefineMesh >> ''' >> but this only splits the elements instead of performing an optimal refinement. >> >> Do you by chance know what I could assign in order to remesh the surface AND the volume and not only the volume? >> >> Thanks so much for your time and have a wonderful day! >> Kind regards, >> >> Lisa >> >> ---------------------------------------------------------------------------------------------------------------------- >> Lisa Pankewitz >> PhD student >> Simula Research Laboratory >> Martin Linges vei 25 >> 1364 Fornebu >> Office 327 >> lisa at simula.no >> >> _______________________________________________ >> 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 > > > > _______________________________________________ > 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 From lisa at simula.no Tue Jun 23 10:16:12 2020 From: lisa at simula.no (Lisa Pankewitz) Date: Tue, 23 Jun 2020 10:16:12 +0200 Subject: [Gmsh] gmsh 4.5.6: Creating a mesh from .vtk files - Surface is not remeshing but only the Volume In-Reply-To: <5BA25480-5395-4436-A4B0-3A34000FAF65@uliege.be> References: <5CA2D182-6FC8-47AE-BEDB-9A65240A3C7D@uliege.be> <5BA25480-5395-4436-A4B0-3A34000FAF65@uliege.be> Message-ID: Hi Christophe, Thanks for the clarification, I misunderstood. Could you maybe point me to a tutorial or an example that elaborates a bit more on how I would now tag the surfaces manually based on the vtk providing the boundaries? I assume you tagged the surfaces and volume afterwards in order to create the nice figure you sent? Thanks! Kind regards, Lisa ---------------------------------------------------------------------------------------------------------------------- *Lisa Pankewitz* PhD student Simula Research Laboratory Martin Linges vei 25 1364 Fornebu Office 329 lisa at simula.no On Tue, 23 Jun 2020 at 08:30, Christophe Geuzaine wrote: > > > > On 22 Jun 2020, at 19:14, Lisa Pankewitz wrote: > > > > Dear Christophe, > > > > thanks so much for your helpful and fast response. It is really > appreciated! > > > > Just to double check: Does that mean that the assignment of surface > names with the syntax I used before does not work any longer in gmsh ? > > > > It does of course. But when new surfaces are created (by ClassifySurfaces) > you'll need to identify them as well. > > > Thanks so much and have a great day :) > > Kind regards, > > > > Lisa > > > > > ---------------------------------------------------------------------------------------------------------------------- > > Lisa Pankewitz > > PhD student > > Simula Research Laboratory > > Martin Linges vei 25 > > 1364 Fornebu > > Office 329 > > lisa at simula.no > > > > > > > > On Mon, 22 Jun 2020 at 18:10, Christophe Geuzaine > wrote: > > Hi Lisa, > > > > Your script seems quite complicated. Here's a simple one that produces a > decent mesh: > > > > Merge "File_1.vtk"; > > Merge "File_2.vtk"; > > Merge "File_3.vtk"; > > Merge "File_4.vtk"; > > Merge "File_5.vtk"; > > Merge "File_6.vtk"; > > Merge "File_7.vtk"; > > > > Coherence Mesh; // remove duplicate mesh nodes > > > > ClassifySurfaces{21 * Pi/180, 1, 0 /* or 1 */, 40 * Pi / 180}; > > CreateGeometry; > > > > Mesh.CharacteristicLengthMax = 10; > > Mesh.CharacteristicLengthMin = 0.1; > > Mesh.CharacteristicLengthFromCurvature = 1; > > Mesh.MinimumElementsPerTwoPi = 20; > > > > s() = Surface{:}; > > Surface Loop(1) = s(); > > Volume(1) = 1; > > > > We still need to add some tools to automate the identification of > curves/surfaces created by ClassifySurfaces. For now you'll need to tag > them manually (or use some geometrical tests, e.g. using the Gmsh API). > > > > Christophe > > > > > > > > > > > >> On 22 Jun 2020, at 17:25, Lisa Pankewitz wrote: > >> > >> To whom it may concern, > >> > >> I am trying to remesh a geometry based on .vtk files. > >> I merge 7 .vtk files. 4 vtk files are used to create a surface that > consists of 4 compounds. All 7 surfaces together define the volume. I > assign tags (names) to the physical surfaces, which I need in later steps. > Unfortunately, I realized the surface does not remesh. I checked several > tutorials and parameters but could not yet find a possibility to keep the > tags and remesh the surface and the volume in the assigned characteristic > length in gmsh version 4. > >> I tried > >> ''' > >> RefineMesh > >> ''' > >> but this only splits the elements instead of performing an optimal > refinement. > >> > >> Do you by chance know what I could assign in order to remesh the > surface AND the volume and not only the volume? > >> > >> Thanks so much for your time and have a wonderful day! > >> Kind regards, > >> > >> Lisa > >> > >> > ---------------------------------------------------------------------------------------------------------------------- > >> Lisa Pankewitz > >> PhD student > >> Simula Research Laboratory > >> Martin Linges vei 25 > >> 1364 Fornebu > >> Office 327 > >> lisa at simula.no > >> > >> > _______________________________________________ > >> 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 > > > > > > > > _______________________________________________ > > 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 > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dn at tadek-offshore.co.uk Tue Jun 23 10:23:30 2020 From: dn at tadek-offshore.co.uk (Diogo Nunes) Date: Tue, 23 Jun 2020 08:23:30 +0000 Subject: [Gmsh] Appendage Mesh In-Reply-To: References: Message-ID: Dear gsmh Users, I have attached the script. You can see the appendage part on the aft of the vessel. Regards, Diogo > On 19 Jun 2020, at 09:17, Diogo Nunes wrote: > > Hello gmsh Users, > > This is a question about modelling 2D surfaces with arbitrary shapes and sharp angles within the geometry. > The mesh is then used by a radiation-diffraction solver to obtain the hydrodynamic potential. > It is a specific application to a ship hull but must be similar to many other applications. > > So we are using gmsh to create a 2D structured mesh of a ship hull with a geometry looking like the one below (note the appendage in red): > > > Meshing the overall hull shape has been fairly straightforward and gmsh did exactly what we expected, yielding a good quality mesh with minimal efforts. We created my 3 and 4 edges surfaces from lines and B-Splines curves. For each surface, we defined Transfinite Curves, Surfaces and Recombined each surface them to get the 2D Structured Mesh: > > > The issue is related to the appendage on the stern of the hull (called ?skeg?) as shown on the first picture. If we include this as the same surface as the hull, the sharp angle would never be captured by the B-spline. > > So far we have tried a couple of things based on processes commonly applied in other packages: > First we have made a contour of the skeg using B-splines and lines (Line 16, Line 17, Line 18, Nurb 12, Nurb 13) and split the forward B-spline into 2 (Nurb 7 and Nurb 8) as shown below. > > This has either resulted in endless loops of ?Warning: Wrong control point index in bspline? or in meshing errors in the appendage and surrounding regions. > > Next we have tried to approximate the contour of the skeg with Nurb 17 > to generate Surface 2 (made of Nurbs 7,8,5,17) and then add 3 separate > lines to produce the side surface of the skeg (Surface 5 made of Nurb 14, 15 and Line 16) This resulted in an error message and the Surface 5 meshed with 1 element only as shown above. > > Have you got any suggestion on how one should proceed to get a 2D structured mesh of such a geometry with sharp angles (here, the hull and the skeg) and capture those discontinuities within the mesh, as depicted in the first figure? > Can you share a script? It should be doable of all surfaces have 3 or 4 sides. Christophe > > Many thanks, > Diogo Nunes. > > _______________________________________________ > 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 -------------- next part -------------- A non-text attachment was scrubbed... Name: Lines.xlsx Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet Size: 455512 bytes Desc: Lines.xlsx URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: support_gmsh.txt URL: From cgeuzaine at uliege.be Tue Jun 23 13:35:47 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 23 Jun 2020 13:35:47 +0200 Subject: [Gmsh] gmsh 4.5.6: Creating a mesh from .vtk files - Surface is not remeshing but only the Volume In-Reply-To: References: <5CA2D182-6FC8-47AE-BEDB-9A65240A3C7D@uliege.be> <5BA25480-5395-4436-A4B0-3A34000FAF65@uliege.be> Message-ID: > On 23 Jun 2020, at 10:16, Lisa Pankewitz wrote: > > Hi Christophe, > > Thanks for the clarification, I misunderstood. > > Could you maybe point me to a tutorial or an example that elaborates a bit more on how I would now tag the surfaces manually based on the vtk providing the boundaries? > I assume you tagged the surfaces and volume afterwards in order to create the nice figure you sent? No I just used the script and set nice colors. After looking at your file in more detail though, we could actually do without reclassifying the input mesh if 1. we improve the VTK reader to create one surface per file (instead of loading all the triangles in a single surface) 2. you fix File_2.vtk (which has triangles oriented inconsistently) I just coded 1. and manually fixed 2. Here's the resulting script, nice and easy ;-) -------------- next part -------------- A non-text attachment was scrubbed... Name: complex.geo Type: application/octet-stream Size: 1429 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: File_2_fix.vtk Type: application/octet-stream Size: 105266 bytes Desc: not available URL: -------------- next part -------------- You'll need the latest development snaphot to test it. Christophe > > Thanks! > > > Kind regards, > > Lisa > > ---------------------------------------------------------------------------------------------------------------------- > Lisa Pankewitz > PhD student > Simula Research Laboratory > Martin Linges vei 25 > 1364 Fornebu > Office 329 > lisa at simula.no > > > > On Tue, 23 Jun 2020 at 08:30, Christophe Geuzaine wrote: > > > > On 22 Jun 2020, at 19:14, Lisa Pankewitz wrote: > > > > Dear Christophe, > > > > thanks so much for your helpful and fast response. It is really appreciated! > > > > Just to double check: Does that mean that the assignment of surface names with the syntax I used before does not work any longer in gmsh ? > > > > It does of course. But when new surfaces are created (by ClassifySurfaces) you'll need to identify them as well. > > > Thanks so much and have a great day :) > > Kind regards, > > > > Lisa > > > > ---------------------------------------------------------------------------------------------------------------------- > > Lisa Pankewitz > > PhD student > > Simula Research Laboratory > > Martin Linges vei 25 > > 1364 Fornebu > > Office 329 > > lisa at simula.no > > > > > > > > On Mon, 22 Jun 2020 at 18:10, Christophe Geuzaine wrote: > > Hi Lisa, > > > > Your script seems quite complicated. Here's a simple one that produces a decent mesh: > > > > Merge "File_1.vtk"; > > Merge "File_2.vtk"; > > Merge "File_3.vtk"; > > Merge "File_4.vtk"; > > Merge "File_5.vtk"; > > Merge "File_6.vtk"; > > Merge "File_7.vtk"; > > > > Coherence Mesh; // remove duplicate mesh nodes > > > > ClassifySurfaces{21 * Pi/180, 1, 0 /* or 1 */, 40 * Pi / 180}; > > CreateGeometry; > > > > Mesh.CharacteristicLengthMax = 10; > > Mesh.CharacteristicLengthMin = 0.1; > > Mesh.CharacteristicLengthFromCurvature = 1; > > Mesh.MinimumElementsPerTwoPi = 20; > > > > s() = Surface{:}; > > Surface Loop(1) = s(); > > Volume(1) = 1; > > > > We still need to add some tools to automate the identification of curves/surfaces created by ClassifySurfaces. For now you'll need to tag them manually (or use some geometrical tests, e.g. using the Gmsh API). > > > > Christophe > > > > > > > > > > > >> On 22 Jun 2020, at 17:25, Lisa Pankewitz wrote: > >> > >> To whom it may concern, > >> > >> I am trying to remesh a geometry based on .vtk files. > >> I merge 7 .vtk files. 4 vtk files are used to create a surface that consists of 4 compounds. All 7 surfaces together define the volume. I assign tags (names) to the physical surfaces, which I need in later steps. Unfortunately, I realized the surface does not remesh. I checked several tutorials and parameters but could not yet find a possibility to keep the tags and remesh the surface and the volume in the assigned characteristic length in gmsh version 4. > >> I tried > >> ''' > >> RefineMesh > >> ''' > >> but this only splits the elements instead of performing an optimal refinement. > >> > >> Do you by chance know what I could assign in order to remesh the surface AND the volume and not only the volume? > >> > >> Thanks so much for your time and have a wonderful day! > >> Kind regards, > >> > >> Lisa > >> > >> ---------------------------------------------------------------------------------------------------------------------- > >> Lisa Pankewitz > >> PhD student > >> Simula Research Laboratory > >> Martin Linges vei 25 > >> 1364 Fornebu > >> Office 327 > >> lisa at simula.no > >> > >> _______________________________________________ > >> 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 > > > > > > > > _______________________________________________ > > 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 > > > ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine From baltasar.ruechardt at ds.mpg.de Tue Jun 23 18:41:31 2020 From: baltasar.ruechardt at ds.mpg.de (=?UTF-8?Q?Baltasar_R=c3=bcchardt?=) Date: Tue, 23 Jun 2020 18:41:31 +0200 Subject: [Gmsh] Bounding Box of an imported STL Smaller than geometry? Message-ID: Dear everyone, I hope you are dealing as good as possible with the pandemic. I am puzzled because the bounding box that I obtain from a stl geometry is smaller than the volume defined by the surface. The procedure used is as follows: 1. Import stl 2. Use Bounding Box on surface 3. Create Points by coordinates obtained from Bounding Box 4. Connect points to make a volume. This is done in create_to_small_box.geo [which should have rather be named create_too_small_box.geo ...]. Background: The stl shows the surface of a heart obtained from a mrt scan. I first shrink / expand it using the Plugin(Transform) and then I want to translate it (again using the Plugin(Transform).Tz) such that the tip of the heart is at the same height as the edge of an electrode (small example in show_application_of_transforms.geo). My approach was to use the bounding box zmin- value to compare the heights and then calculate the necessary transformation by calculating tz= zmin_electrode - zmin_heart . Does someone have a suggestion? Or any help? The alternative would be to move the stl with meshlab such that the heart tip is at heigh zero, then I could apply the shrinking and transform in gmsh without problems. Thank you very much in advance! Best regards Baltasar R?chardt Gmshinfo: Version?????? : 4.6.0 License?????? : GNU General Public License Build OS????? : MacOSX Build date??? : 20200622 Build host??? : gmsh.info Build options : 64Bit ALGLIB Ann Bamg Blas[custom] Blossom Cgns DIntegration Dlopen DomHex Fltk Gmm Hxt Jpeg[fltk] Kbipack Lapack[custom] MathEx Med Mesh Metis Mmg3d Mpeg Netgen ONELAB ONELABMetamodel OpenCASCADE OpenCASCADE-CAF OpenGL OptHom PETSc Parser Plugins Png[fltk] Post QuadTri Solver TetGen/BR Voro++ Zlib[fltk] FLTK version? : 1.4.0 PETSc version : 3.9.3 (real arithmtic) OCC version?? : 7.4.0 MED version?? : 4.0.0 Packaged by?? : geuzaine Web site????? : https://gmsh.info Issue tracker : https://gitlab.onelab.info/gmsh/gmsh/issues -------------- next part -------------- A non-text attachment was scrubbed... Name: bounding_box_smaller_than_stl.png Type: image/png Size: 464840 bytes Desc: not available URL: -------------- next part -------------- Geometry.OldNewReg = 0; Merge 'outer_boundary.stl'; // BoundingBox returns {xmin, ymin, zmin, xmax, ymax, zmax} bb[] = BoundingBox Surface{1}; xmin = bb[0]; xmax = bb[3]; ymin = bb[1]; ymax = bb[4]; zmin = bb[2]; zmax = bb[5]; Point(newp) = {xmin, ymin, zmin}; Point(newp) = {xmin, ymax, zmin}; Point(newp) = {xmin, ymax, zmax}; Point(newp) = {xmin, ymin, zmax}; Point(newp) = {xmax, ymin, zmin}; Point(newp) = {xmax, ymax, zmin}; Point(newp) = {xmax, ymax, zmax}; Point(newp) = {xmax, ymin, zmax}; //+ Line(1) = {1, 5}; Line(2) = {5, 6}; Line(3) = {1, 2}; Line(4) = {1, 4}; Line(5) = {4, 3}; Line(6) = {3, 7}; Line(7) = {8, 4}; Line(8) = {8, 5}; Line(9) = {6, 7}; Line(10) = {8, 7}; Line(11) = {3, 2}; Line(12) = {2, 6}; Curve Loop(1) = {4, -7, 8, -1}; Plane Surface(2) = {1}; Curve Loop(2) = {2, 9, -10, 8}; Plane Surface(3) = {2}; Curve Loop(3) = {7, 5, 6, -10}; Plane Surface(4) = {3}; Curve Loop(4) = {4, 5, 11, -3}; Plane Surface(5) = {4}; Curve Loop(5) = {6, -9, -12, -11}; Plane Surface(6) = {5}; Curve Loop(6) = {3, 12, -2, -1}; Plane Surface(7) = {6}; //+ Physical Surface("box") = {4, 6, 5, 7, 2, 3}; -------------- next part -------------- A non-text attachment was scrubbed... Name: outer_boundary.stl Type: application/octet-stream Size: 3837484 bytes Desc: not available URL: -------------- next part -------------- // Gmsh project created on Wed Feb 26 23:17:35 2020 // Use seperate counting for lines, surfaces, volumes // (see http://gmsh.info/doc/texinfo/gmsh.html#index-Geometry_002eOldNewReg) Geometry.OldNewReg = 0; ////////////////// Import and transform stl /////////////// Merge 'outer_boundary.stl'; // Heart tip should be aligned in z direction with elec_los value. elec_low = 30; elec_high = 80; /* Turn and shrink the meshes */ DefineConstant[ rot_angle = {90, Min 0, Max 360, Step 1, Name "Parameters/Rot-Angle [?]"} ]; DefineConstant[ blow_up_factor = {0.2, Min 0.1, Max 1.6, Step 0.3, Name "Parameters/blow_up_factor"} ]; // Information from Christophe Geuzaine as answer to gmsh // mailing list question, see http://onelab.info/pipermail/gmsh/2020/013626.html Plugin(NewView).Run; t = rot_angle * 2*Pi/360; Plugin(Transform).A11 = Cos(t) * blow_up_factor; Plugin(Transform).A12 = -Sin(t) * blow_up_factor; Plugin(Transform).A21 = Sin(t) * blow_up_factor; Plugin(Transform).A22 = Cos(t) * blow_up_factor; Plugin(Transform).A33 = 1 * blow_up_factor; Plugin(Transform).Run; // BoundingBox returns {xmin, ymin, zmin, xmax, ymax, zmax} bb_after_shrink[] = BoundingBox Surface{1}; heart_tip_z = bb_after_shrink[2]; // understand Bounding box entries: Printf("Entries bounding box:"); For i In {0:#bb_after_shrink[]-1} Printf(" %g", bb_after_shrink[i]); EndFor Plugin(NewView).Run; transform_z = elec_low - heart_tip_z; Plugin(Transform).A11 = 1; Plugin(Transform).A12 = 0; Plugin(Transform).A21 = 0; Plugin(Transform).A22 = 1; Plugin(Transform).A33 = 1; Plugin(Transform).Tz = transform_z; Plugin(Transform).Run; ////////////////// End Import and transform stl /////////////// /* make dummy electrode */ front_l_left = newp; Point(front_l_left)={-24,-40,elec_low}; front_l_right = newp; Point(front_l_right)={40,-40,elec_low}; front_u_left = newp; Point(front_u_left)={-24,-40,elec_high}; front_u_right = newp; Point(front_u_right)={40,-40,elec_high}; back_l_left = newp; Point(back_l_left)={-24,-45,elec_low}; back_l_right = newp; Point(back_l_right)={40,-45,elec_low}; back_u_left = newp; Point(back_u_left)={-24,-45,elec_high}; back_u_right = newp; Point(back_u_right)={40,-45,elec_high}; l1 = newl; Line(l1) = {front_l_left, front_l_right}; l2 = newl; Line(l2) = {front_l_right, front_u_right}; l3 = newl; Line(l3) = {front_u_right, front_u_left}; l4 = newl; Line(l4) = {front_u_left, front_l_left}; l5 = newl; Line(l5) = {back_l_left, back_l_right}; l6 = newl; Line(l6) = {back_l_right, back_u_right}; l7 = newl; Line(l7) = {back_u_right, back_u_left}; l8 = newl; Line(l8) = {back_u_left, back_l_left}; l9 = newl; Line(l9) = {back_l_left, front_l_left}; l10 = newl; Line(l10) = {back_l_right, front_l_right}; l11 = newl; Line(l11) = {back_u_right, front_u_right}; l12 = newl; Line(l12) = {back_u_left, front_u_left}; cl1 = newll; Curve Loop(cl1) = {l1, l2, l3, l4}; s1 = news; Surface(s1) = cl1; cl2 = newll; Curve Loop(cl2) = {l5, l6, l7, l8}; s2 = news; Surface(s2) = cl2; cl3 = newll; Curve Loop(cl3) = {l9, l1, -l10, -l5}; s3 = news; Surface(s3) = cl3; cl4 = newll; Curve Loop(cl4) = {l3, -l12, -l7, l11}; s4 = news; Surface(s4) = cl4; cl5 = newll; Curve Loop(cl5) = {l4, -l9, -l8, l12}; s5 = news; Surface(s5) = cl5; cl6 = newll; Curve Loop(cl6) = {-l2, -l10, l6, l11}; s6 = news; Surface(s6) = cl6; Physical Surface("box") = {s1, s2, s3, s4, s5, s6}; From bruno.agostini at gmail.com Tue Jun 23 18:53:58 2020 From: bruno.agostini at gmail.com (Bruno Agostini) Date: Tue, 23 Jun 2020 18:53:58 +0200 Subject: [Gmsh] Meshing fails without apparent reason Message-ID: Dear Gmsh community, I am trying to 3D mesh the here attached Schwarz-D surface, but the meshing fails complaining about boundaries not being recovered, which does not help me to solve this problem. I think there are no overlapping facets, and the geometry is not particularly complicated, so I am stuck here. Any ideas? Best regards Bruno -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: mesh_boundary.geo.opt Type: application/octet-stream Size: 19945 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: mesh_boundary.geo Type: model/mesh Size: 143 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 7_x_fin_T.msh Type: model/mesh Size: 421333 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 7_x_fin_T.zip Type: application/zip Size: 1622961 bytes Desc: not available URL: From lisa at simula.no Tue Jun 23 15:38:01 2020 From: lisa at simula.no (Lisa Pankewitz) Date: Tue, 23 Jun 2020 15:38:01 +0200 Subject: [Gmsh] gmsh 4.5.6: Creating a mesh from .vtk files - Surface is not remeshing but only the Volume In-Reply-To: References: <5CA2D182-6FC8-47AE-BEDB-9A65240A3C7D@uliege.be> <5BA25480-5395-4436-A4B0-3A34000FAF65@uliege.be> Message-ID: That is awesome and neat, thanks so much! Also for commenting in the script! Running the script (with the modified File_2) using the latest snapshot on mac ( checked the git commit) resulted in 16 errors. I double checked that I downloaded the correct version ( mesh and .log attached). Kind regards, Lisa ---------------------------------------------------------------------------------------------------------------------- *Lisa Pankewitz* PhD student Simula Research Laboratory Martin Linges vei 25 1364 Fornebu Office 329 lisa at simula.no On Tue, 23 Jun 2020 at 13:35, Christophe Geuzaine wrote: > > > > On 23 Jun 2020, at 10:16, Lisa Pankewitz wrote: > > > > Hi Christophe, > > > > Thanks for the clarification, I misunderstood. > > > > Could you maybe point me to a tutorial or an example that elaborates a > bit more on how I would now tag the surfaces manually based on the vtk > providing the boundaries? > > I assume you tagged the surfaces and volume afterwards in order to > create the nice figure you sent? > > No I just used the script and set nice colors. After looking at your file > in more detail though, we could actually do without reclassifying the input > mesh if > > 1. we improve the VTK reader to create one surface per file (instead of > loading all the triangles in a single surface) > 2. you fix File_2.vtk (which has triangles oriented inconsistently) > > I just coded 1. and manually fixed 2. Here's the resulting script, nice > and easy ;-) > > > > You'll need the latest development snaphot to test it. > > Christophe > > > > > Thanks! > > > > > > Kind regards, > > > > Lisa > > > > > ---------------------------------------------------------------------------------------------------------------------- > > Lisa Pankewitz > > PhD student > > Simula Research Laboratory > > Martin Linges vei 25 > > 1364 Fornebu > > Office 329 > > lisa at simula.no > > > > > > > > On Tue, 23 Jun 2020 at 08:30, Christophe Geuzaine > wrote: > > > > > > > On 22 Jun 2020, at 19:14, Lisa Pankewitz wrote: > > > > > > Dear Christophe, > > > > > > thanks so much for your helpful and fast response. It is really > appreciated! > > > > > > Just to double check: Does that mean that the assignment of surface > names with the syntax I used before does not work any longer in gmsh ? > > > > > > > It does of course. But when new surfaces are created (by > ClassifySurfaces) you'll need to identify them as well. > > > > > Thanks so much and have a great day :) > > > Kind regards, > > > > > > Lisa > > > > > > > ---------------------------------------------------------------------------------------------------------------------- > > > Lisa Pankewitz > > > PhD student > > > Simula Research Laboratory > > > Martin Linges vei 25 > > > 1364 Fornebu > > > Office 329 > > > lisa at simula.no > > > > > > > > > > > > On Mon, 22 Jun 2020 at 18:10, Christophe Geuzaine > wrote: > > > Hi Lisa, > > > > > > Your script seems quite complicated. Here's a simple one that produces > a decent mesh: > > > > > > Merge "File_1.vtk"; > > > Merge "File_2.vtk"; > > > Merge "File_3.vtk"; > > > Merge "File_4.vtk"; > > > Merge "File_5.vtk"; > > > Merge "File_6.vtk"; > > > Merge "File_7.vtk"; > > > > > > Coherence Mesh; // remove duplicate mesh nodes > > > > > > ClassifySurfaces{21 * Pi/180, 1, 0 /* or 1 */, 40 * Pi / 180}; > > > CreateGeometry; > > > > > > Mesh.CharacteristicLengthMax = 10; > > > Mesh.CharacteristicLengthMin = 0.1; > > > Mesh.CharacteristicLengthFromCurvature = 1; > > > Mesh.MinimumElementsPerTwoPi = 20; > > > > > > s() = Surface{:}; > > > Surface Loop(1) = s(); > > > Volume(1) = 1; > > > > > > We still need to add some tools to automate the identification of > curves/surfaces created by ClassifySurfaces. For now you'll need to tag > them manually (or use some geometrical tests, e.g. using the Gmsh API). > > > > > > Christophe > > > > > > > > > > > > > > > > > >> On 22 Jun 2020, at 17:25, Lisa Pankewitz wrote: > > >> > > >> To whom it may concern, > > >> > > >> I am trying to remesh a geometry based on .vtk files. > > >> I merge 7 .vtk files. 4 vtk files are used to create a surface that > consists of 4 compounds. All 7 surfaces together define the volume. I > assign tags (names) to the physical surfaces, which I need in later steps. > Unfortunately, I realized the surface does not remesh. I checked several > tutorials and parameters but could not yet find a possibility to keep the > tags and remesh the surface and the volume in the assigned characteristic > length in gmsh version 4. > > >> I tried > > >> ''' > > >> RefineMesh > > >> ''' > > >> but this only splits the elements instead of performing an optimal > refinement. > > >> > > >> Do you by chance know what I could assign in order to remesh the > surface AND the volume and not only the volume? > > >> > > >> Thanks so much for your time and have a wonderful day! > > >> Kind regards, > > >> > > >> Lisa > > >> > > >> > ---------------------------------------------------------------------------------------------------------------------- > > >> Lisa Pankewitz > > >> PhD student > > >> Simula Research Laboratory > > >> Martin Linges vei 25 > > >> 1364 Fornebu > > >> Office 327 > > >> lisa at simula.no > > >> > > >> > _______________________________________________ > > >> 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 > > > > > > > > > > > > _______________________________________________ > > > 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 > > > > > > > > ? > Prof. Christophe Geuzaine > University of Liege, Electrical Engineering and Computer Science > http://www.montefiore.ulg.ac.be/~geuzaine > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 20200623_remesh.out Type: application/octet-stream Size: 612968 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 20200623_remeshing.msh Type: application/octet-stream Size: 3055493 bytes Desc: not available URL: From szacarias at ikp.tu-darmstadt.de Tue Jun 23 19:44:58 2020 From: szacarias at ikp.tu-darmstadt.de (Sabrina Zacarias) Date: Tue, 23 Jun 2020 19:44:58 +0200 Subject: [Gmsh] Single element normal Message-ID: <9eeam2-iuf68hjaj2j4z9wjnd-9eqvz4cbzseb55qg8wg0liu8yfqqgu17l2xf-o921yuph5r9dyz0pmi-no9qwkfqix1wvthcn-nte0nr-b1s00d-jw5913ozm0z3-nj6rwetpdvh3-1yo3r6pfo4t.1592933369279@email.android.com> An HTML attachment was scrubbed... URL: From mathias.scheunert at mailserver.tu-freiberg.de Wed Jun 24 10:38:17 2020 From: mathias.scheunert at mailserver.tu-freiberg.de (Mathias Scheunert) Date: Wed, 24 Jun 2020 10:38:17 +0200 Subject: [Gmsh] Error: Cannot reparametrize a mesh node in high order meshing Message-ID: Dear developers and users, **** The goal* we want to do some finite element convergence studies on a given set of models. These typically consist of large volumes containing small 'anomalies', i.e. volumes. (Please note the attached MWE) **** The problem* In order to ensure valid boundary conditions we need to enlarge the surrounding volume, leading to huge contrasts between the sizes of the involved volumes. Using Gmsh 'RefineMesh;' will throw the above mentioned error. -> Please try using line 6 instead of line 5 in the MWE. What does that error message mean and how could we deal with that? Best regards, Mathias ps: We are using Gmsh 4.5.6 -- Dr. Mathias Scheunert Institute of Geophysics and Geoinformatics, TU Bergakademie Freiberg Gustav-Zeuner-Str. 12, D-09596 Freiberg Tel.: +493731393630 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- // Gmsh project, version 4.5.6 SetFactory("OpenCASCADE"); // Create volume. domain_r = 100000; // no error occurs //domain_r = 1000000; // error occurs tmp_vol_id = newv; Box(tmp_vol_id) = {-domain_r, -domain_r, -domain_r, 2*domain_r, 2*domain_r, 2*domain_r}; // Split volume. tmp_surf_id = news; pad = 1.5; Rectangle(tmp_surf_id) = {-pad*domain_r, -pad*domain_r, 0, 2*pad*domain_r, 2*pad*domain_r}; frag_ents() = BooleanFragments{Volume{tmp_vol_id}; Delete;}{Surface{tmp_surf_id}; Delete;}; Recursive Delete{Surface{frag_ents(2)};} // Add anomaly. ano_id = newv; ly = 1000; Box(ano_id) = {-500, -ly, -2250, 1000, 2*ly, 2000}; frag_ents() = BooleanFragments{Volume{frag_ents(0)}; Delete;}{Volume{ano_id};}; // Run Gmsh. Mesh 3; RefineMesh; From cgeuzaine at uliege.be Wed Jun 24 11:36:01 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 24 Jun 2020 11:36:01 +0200 Subject: [Gmsh] Error: Cannot reparametrize a mesh node in high order meshing In-Reply-To: References: Message-ID: <098921D6-9DD0-4DE4-8955-D3566768C17C@uliege.be> > On 24 Jun 2020, at 10:38, Mathias Scheunert wrote: > > Dear developers and users, > > > > *** The goal > > we want to do some finite element convergence studies on a given set of models. > > These typically consist of large volumes containing small 'anomalies', i.e. volumes. > > (Please note the attached MWE) > > *** The problem > > In order to ensure valid boundary conditions we need to enlarge the surrounding volume, leading to huge contrasts between the sizes of the involved volumes. > > Using Gmsh 'RefineMesh;' will throw the above mentioned error. > > -> Please try using line 6 instead of line 5 in the MWE. > > > > What does that error message mean and how could we deal with that? OpenCASCADE does not seem to appreciate the large aspect ratio during interpolation. As a workaround, set Mesh.SecondOrderLinear = 1; which will create the refinement by linear interpolation. (Note that if you increase domain_r further to 100000000, OpenCASCADE simply seem to bail out...) Christophe > > > Best regards, > > Mathias > > > > ps: We are using Gmsh 4.5.6 > > -- > Dr. Mathias Scheunert > Institute of Geophysics and Geoinformatics, TU Bergakademie Freiberg > Gustav-Zeuner-Str. 12, D-09596 Freiberg > Tel.: +493731393630 > > _______________________________________________ > 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 From cgeuzaine at uliege.be Wed Jun 24 11:36:43 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 24 Jun 2020 11:36:43 +0200 Subject: [Gmsh] Single element normal In-Reply-To: <9eeam2-iuf68hjaj2j4z9wjnd-9eqvz4cbzseb55qg8wg0liu8yfqqgu17l2xf-o921yuph5r9dyz0pmi-no9qwkfqix1wvthcn-nte0nr-b1s00d-jw5913ozm0z3-nj6rwetpdvh3-1yo3r6pfo4t.1592933369279@email.android.com> References: <9eeam2-iuf68hjaj2j4z9wjnd-9eqvz4cbzseb55qg8wg0liu8yfqqgu17l2xf-o921yuph5r9dyz0pmi-no9qwkfqix1wvthcn-nte0nr-b1s00d-jw5913ozm0z3-nj6rwetpdvh3-1yo3r6pfo4t.1592933369279@email.android.com> Message-ID: > On 23 Jun 2020, at 19:44, Sabrina Zacarias wrote: > > Dear all, > > I am working on a 2D model in which I would like all the mesh normals to be pointing in the same direction. As I visualize them, I noticed that there is a single element from a single surface pointing in opposite direction to the rest. Does anyone know what it means and if there is a way to fix it? > Difficult to say without a test case... > > An additional point, if I may, is that after setting the boundary conditions and physical surfaces of my model and solving the electrostatic field with Elmerfem, the result I get is either right or wrong (in terms that not even the boundary conditions have the values that they should) depending on the type of mesh that I use (either 2nd order triangles, which gives me the right solution, or 8-node quadrangles, which doesn't and unfortunately this one is the one that I must use). > Idem. Christophe > I would appreciate any help or suggestion that you may have. > > Best regards, > > Sabrina > > -- > Sabrina Zacarias > Institut f?r Kernphysik > Technische Universit?t Darmstadt > S2|14 / office 319 > Schlossgartenstr. 9 > 64289 Darmstadt > Office: +49 6151 16 23589 > _______________________________________________ > 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 From cgeuzaine at uliege.be Wed Jun 24 13:16:01 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 24 Jun 2020 13:16:01 +0200 Subject: [Gmsh] Bounding Box of an imported STL Smaller than geometry? In-Reply-To: References: Message-ID: <3825BFBF-BF7F-43B5-BDC6-58D620FE1118@uliege.be> Hi Baltasar, Indeed we sub-sampled discrete entities to compute bounding boxes. I just changed this to a "brutal" bounding box computation in the latest dev snapshot: give it a try (If it's really too slow we should consider storing the information.) Christophe > On 23 Jun 2020, at 18:41, Baltasar R?chardt wrote: > > Dear everyone, > > I hope you are dealing as good as possible with the pandemic. > > I am puzzled because the bounding box that I obtain from a stl geometry > is smaller than the volume defined by the surface. > > The procedure used is as follows: > > 1. Import stl > 2. Use Bounding Box on surface > 3. Create Points by coordinates obtained from Bounding Box > 4. Connect points to make a volume. > > This is done in create_to_small_box.geo [which should have rather be > named create_too_small_box.geo ...]. > > Background: The stl shows the surface of a heart obtained from a mrt > scan. I first shrink / expand it using the Plugin(Transform) and then I > want to translate it (again using the Plugin(Transform).Tz) such that > the tip of the heart is at the same height as the edge of an electrode > (small example in show_application_of_transforms.geo). My approach was > to use the bounding box zmin- value to compare the heights and then > calculate the necessary transformation by calculating tz= zmin_electrode > - zmin_heart . > > Does someone have a suggestion? Or any help? The alternative would be to > move the stl with meshlab such that the heart tip is at heigh zero, then > I could apply the shrinking and transform in gmsh without problems. > > Thank you very much in advance! > > Best regards > > Baltasar R?chardt > > > Gmshinfo: > > Version : 4.6.0 > License : GNU General Public License > Build OS : MacOSX > Build date : 20200622 > Build host : gmsh.info > Build options : 64Bit ALGLIB Ann Bamg Blas[custom] Blossom Cgns > DIntegration Dlopen DomHex Fltk Gmm Hxt Jpeg[fltk] Kbipack > Lapack[custom] MathEx Med Mesh Metis Mmg3d Mpeg Netgen ONELAB > ONELABMetamodel OpenCASCADE OpenCASCADE-CAF OpenGL OptHom PETSc Parser > Plugins Png[fltk] Post QuadTri Solver TetGen/BR Voro++ Zlib[fltk] > FLTK version : 1.4.0 > PETSc version : 3.9.3 (real arithmtic) > OCC version : 7.4.0 > MED version : 4.0.0 > Packaged by : geuzaine > Web site : https://gmsh.info > Issue tracker : https://gitlab.onelab.info/gmsh/gmsh/issues > _______________________________________________ > 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 From cgeuzaine at uliege.be Wed Jun 24 13:37:33 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 24 Jun 2020 13:37:33 +0200 Subject: [Gmsh] Meshing fails without apparent reason In-Reply-To: References: Message-ID: <5E464796-8006-4DE0-93D8-B12BB1410BD1@uliege.be> > On 23 Jun 2020, at 18:53, Bruno Agostini wrote: > > Dear Gmsh community, > > I am trying to 3D mesh the here attached Schwarz-D surface, but the meshing fails complaining about boundaries not being recovered, which does not help me to solve this problem. I think there are no overlapping facets, and the geometry is not particularly complicated, so I am stuck here. Any ideas? 1) the STEP file already contains a volume, so Surface Loop(1) = Surface{:}; Volume(1) = {1}; in your .geo file will lead to overlapping volumes 2) The volume in the STEP file is made of surfaces that do intersect: see attached picture So there's no hope in trying to mesh the volume as-is... Christophe > > Best regards > > Bruno > <7_x_fin_T.msh><7_x_fin_T.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 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: intersect.png Type: image/png Size: 58780 bytes Desc: not available URL: From baltasar.ruechardt at ds.mpg.de Wed Jun 24 14:37:51 2020 From: baltasar.ruechardt at ds.mpg.de (=?UTF-8?Q?Baltasar_R=c3=bcchardt?=) Date: Wed, 24 Jun 2020 14:37:51 +0200 Subject: [Gmsh] Bounding Box of an imported STL Smaller than geometry? In-Reply-To: <3825BFBF-BF7F-43B5-BDC6-58D620FE1118@uliege.be> References: <3825BFBF-BF7F-43B5-BDC6-58D620FE1118@uliege.be> Message-ID: <6f22658d-ce82-9351-38f5-66b39debba55@ds.mpg.de> Hi Christophe, Wow, very nice, thank you! I do not notice anything being slow. Thank you very much! Baltasar Am 24.06.20 um 13:16 schrieb Christophe Geuzaine: > Hi Baltasar, > > Indeed we sub-sampled discrete entities to compute bounding boxes. I just changed this to a "brutal" bounding box computation in the latest dev snapshot: give it a try (If it's really too slow we should consider storing the information.) > > Christophe > > >> On 23 Jun 2020, at 18:41, Baltasar R?chardt wrote: >> >> Dear everyone, >> >> I hope you are dealing as good as possible with the pandemic. >> >> I am puzzled because the bounding box that I obtain from a stl geometry >> is smaller than the volume defined by the surface. >> >> The procedure used is as follows: >> >> 1. Import stl >> 2. Use Bounding Box on surface >> 3. Create Points by coordinates obtained from Bounding Box >> 4. Connect points to make a volume. >> >> This is done in create_to_small_box.geo [which should have rather be >> named create_too_small_box.geo ...]. >> >> Background: The stl shows the surface of a heart obtained from a mrt >> scan. I first shrink / expand it using the Plugin(Transform) and then I >> want to translate it (again using the Plugin(Transform).Tz) such that >> the tip of the heart is at the same height as the edge of an electrode >> (small example in show_application_of_transforms.geo). My approach was >> to use the bounding box zmin- value to compare the heights and then >> calculate the necessary transformation by calculating tz= zmin_electrode >> - zmin_heart . >> >> Does someone have a suggestion? Or any help? The alternative would be to >> move the stl with meshlab such that the heart tip is at heigh zero, then >> I could apply the shrinking and transform in gmsh without problems. >> >> Thank you very much in advance! >> >> Best regards >> >> Baltasar R?chardt >> >> >> Gmshinfo: >> >> Version : 4.6.0 >> License : GNU General Public License >> Build OS : MacOSX >> Build date : 20200622 >> Build host : gmsh.info >> Build options : 64Bit ALGLIB Ann Bamg Blas[custom] Blossom Cgns >> DIntegration Dlopen DomHex Fltk Gmm Hxt Jpeg[fltk] Kbipack >> Lapack[custom] MathEx Med Mesh Metis Mmg3d Mpeg Netgen ONELAB >> ONELABMetamodel OpenCASCADE OpenCASCADE-CAF OpenGL OptHom PETSc Parser >> Plugins Png[fltk] Post QuadTri Solver TetGen/BR Voro++ Zlib[fltk] >> FLTK version : 1.4.0 >> PETSc version : 3.9.3 (real arithmtic) >> OCC version : 7.4.0 >> MED version : 4.0.0 >> Packaged by : geuzaine >> Web site : https://gmsh.info >> Issue tracker : https://gitlab.onelab.info/gmsh/gmsh/issues >> _______________________________________________ >> 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 > > > From hannes at kroegeronline.net Mon Jun 29 16:21:33 2020 From: hannes at kroegeronline.net (=?UTF-8?Q?Hannes_Kr=c3=b6ger?=) Date: Mon, 29 Jun 2020 16:21:33 +0200 Subject: [Gmsh] Getting rid of small faces and features Message-ID: <3683e564-8861-94a1-44dc-e47bfedd6df6@kroegeronline.net> Hi All, I created the mesh (2D) shown below from some CAD model. The CAD model has a lot of strip-like faces which gmsh meshes very brave and treats their boundaries as feature curves. Unfortunately, the surface is later one side of a contact zone in FEM and I suspect these tiny faces to cause trouble. The specified minimum mesh size is larger than these strips so this setting is obviously not enough. Is there a way to make the cells span these tiny strip faces? PS: I'm aware there is a repair feature in OpenCASCADE. Although this removes the strip faces visually, I can no longer mesh the geometry after repair and only error appear. Thanks for any hint. Regards, Hannes -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: cijebbfdhebppgpf.png Type: image/png Size: 227526 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: From szacarias at ikp.tu-darmstadt.de Wed Jul 1 19:48:29 2020 From: szacarias at ikp.tu-darmstadt.de (Sabrina Zacarias) Date: Wed, 1 Jul 2020 19:48:29 +0200 Subject: [Gmsh] parallel meshing? Message-ID: <7be556a3-40e8-bd26-4d79-56877cd0c93e@ikp.tu-darmstadt.de> Dear all, I am very interested in meshing in parallel since my 2d model takes ~8hs to mesh. It is a 8-node quad (which is rather slow in itself, from what I have experienced so far) but the main issue is that there is one special surface that is very large and has to be very finely meshed. I saw that it is possible to do something with OpenMP? (I compiled gmsh enabling that option), but setting the multithread option to a number >1 did nothing (when it starts meshing, there is a message saying 'max number of threads = 1'). I am afraid I am missing something. Could I please ask for some insight? Best, Sabrina -- Sabrina Zacarias Institut f?r Kernphysik Technische Universit?t Darmstadt S2|14 / office 319 Schlossgartenstr. 9 64289 Darmstadt Office: +49 6151 16 23589 From knoch.markus at gmail.com Thu Jul 2 08:01:31 2020 From: knoch.markus at gmail.com (Markus Knoch) Date: Thu, 2 Jul 2020 08:01:31 +0200 Subject: [Gmsh] Avoiding Pyramids Message-ID: Dear gmsh community, I am currently trying to run magnetodynamic simulations using Sparselizard, unfortunately it does not support pyramid elements. My 3D mesh consists of cylinders, cones, blocks etcs. I have come quite far using python to create the geometry and mesh but I can't seem to avoid pyramids. I used different mesh algorithms, the built in kernel and open cascade but I always seem to have pyramids within my mesh. Is there any way to avoid pyramids? Any help would be appreciated Best regards Markus -------------- next part -------------- An HTML attachment was scrubbed... URL: From guillaume.parent at univ-artois.fr Thu Jul 2 09:33:54 2020 From: guillaume.parent at univ-artois.fr (Guillaume Parent) Date: Thu, 2 Jul 2020 09:33:54 +0200 Subject: [Gmsh] Avoiding Pyramids In-Reply-To: References: Message-ID: Hello, it is hard to provide a solution without seeing your script. My guess is that some regions are meshed using prisms and other ones are meshed using tetrahedrons. Then, a layer of pyramids is required at the interface of those regions. But again, without your script, this is just a guess... Le jeu. 2 juil. 2020 ? 08:53, Markus Knoch a ?crit : > Dear gmsh community, > > I am currently trying to run magnetodynamic simulations using > Sparselizard, unfortunately it does not support pyramid elements. My 3D > mesh consists of cylinders, cones, blocks etcs. I have come quite far using > python to create the geometry and mesh but I can't seem to avoid pyramids. > > I used different mesh algorithms, the built in kernel and open cascade but > I always seem to have pyramids within my mesh. Is there any way to avoid > pyramids? > > Any help would be appreciated > > Best regards > > Markus > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -- Guillaume Parent Prof. in Electrical Engineering Artois University Laboratoire Syst?mes ?lectrotechniques et Environnement (LSEE) - UR 4025 Facult? des Sciences Appliqu?es Technoparc Futura 62400 B?thune - France T?l : +33 (0)3 21 63 72 44 E-mail : guillaume.parent at univ-artois.fr -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Fri Jul 3 08:20:18 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 3 Jul 2020 08:20:18 +0200 Subject: [Gmsh] parallel meshing? In-Reply-To: <7be556a3-40e8-bd26-4d79-56877cd0c93e@ikp.tu-darmstadt.de> References: <7be556a3-40e8-bd26-4d79-56877cd0c93e@ikp.tu-darmstadt.de> Message-ID: <99675A3E-1AA9-4A10-8514-889894B805C4@uliege.be> Dear Sabrina, Most algorithms in Gmsh are indeed multi-threaded, but not all of them. In particular, in 2D, the experimental "Frontal-Delaunay for Quads" and "Packing of Parallelograms" algorithms are single-threaded: your exceptionally long meshing times maybe indicate that you are using these algorithms to generate quads? There is active work on improving "Packing of Parallelograms" in the "quadMeshingTools" branch, but it not ready yet for merging in master. Christophe > On 1 Jul 2020, at 19:48, Sabrina Zacarias wrote: > > Dear all, > > I am very interested in meshing in parallel since my 2d model takes ~8hs to mesh. It is a 8-node quad (which is rather slow in itself, from what I have experienced so far) but the main issue is that there is one special surface that is very large and has to be very finely meshed. I saw that it is possible to do something with OpenMP (I compiled gmsh enabling that option), but setting the multithread option to a number >1 did nothing (when it starts meshing, there is a message saying 'max number of threads = 1'). I am afraid I am missing something. > > Could I please ask for some insight? > > Best, > > Sabrina > > -- > Sabrina Zacarias > Institut f?r Kernphysik > Technische Universit?t Darmstadt > S2|14 / office 319 > Schlossgartenstr. 9 > 64289 Darmstadt > Office: +49 6151 16 23589 > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Fri Jul 3 08:22:43 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 3 Jul 2020 08:22:43 +0200 Subject: [Gmsh] Getting rid of small faces and features In-Reply-To: <3683e564-8861-94a1-44dc-e47bfedd6df6@kroegeronline.net> References: <3683e564-8861-94a1-44dc-e47bfedd6df6@kroegeronline.net> Message-ID: Dear Hannes, Indeed the best way would be to clean up the CAD. But the "Compound" feature can also help: see e.g. https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/benchmarks/step/part_compound_curved_mesh.geo Christophe > On 29 Jun 2020, at 16:21, Hannes Kr?ger wrote: > > Hi All, > > I created the mesh (2D) shown below from some CAD model. > > The CAD model has a lot of strip-like faces which gmsh meshes very brave and treats their boundaries as feature curves. Unfortunately, the surface is later one side of a contact zone in FEM and I suspect these tiny faces to cause trouble. > > The specified minimum mesh size is larger than these strips so this setting is obviously not enough. Is there a way to make the cells span these tiny strip faces? > > PS: I'm aware there is a repair feature in OpenCASCADE. Although this removes the strip faces visually, I can no longer mesh the geometry after repair and only error appear. > > > > Thanks for any hint. > > Regards, Hannes > > _______________________________________________ > 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 From keith at sloan-home.co.uk Fri Jul 3 15:51:40 2020 From: keith at sloan-home.co.uk (Keith Sloan) Date: Fri, 3 Jul 2020 14:51:40 +0100 Subject: [Gmsh] Error codes. Message-ID: <9c1d128e-e632-2045-028c-58b8f5dc31fb@sloan-home.co.uk> Where can I find the documentation for error codes Like where can I find out what error code 2 means? ('gmshModelMeshAddElementsByType returned non-zero error code: ', 2) -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Fri Jul 3 16:04:34 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 3 Jul 2020 16:04:34 +0200 Subject: [Gmsh] Error codes. In-Reply-To: <9c1d128e-e632-2045-028c-58b8f5dc31fb@sloan-home.co.uk> References: <9c1d128e-e632-2045-028c-58b8f5dc31fb@sloan-home.co.uk> Message-ID: <11A19100-9111-4304-B9E7-05AF591779E8@uliege.be> Hi Keith, Currently they are generic (this will be improved in the future). Set the "General.Terminal" option to 1 to see the error message on the terminal, or use the "logger" api to record the messages. Christophe > On 3 Jul 2020, at 15:51, Keith Sloan wrote: > > Where can I find the documentation for error codes > > Like where can I find out what error code 2 means? > > ('gmshModelMeshAddElementsByType returned non-zero error code: ', 2) > > > > > > _______________________________________________ > 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 From keith at sloan-home.co.uk Fri Jul 3 17:10:34 2020 From: keith at sloan-home.co.uk (Keith Sloan) Date: Fri, 3 Jul 2020 16:10:34 +0100 Subject: [Gmsh] Create gmsh 2D. Message-ID: <39abc216-ffca-69b8-ba99-af41a89b7303@sloan-home.co.uk> Okay I am trying to add certain gmsh functionality to a FreeCAD work bench. I can deal with FreeCAD Shapes by writing out a temp brep file and reading using gmsh. Not very elegant but it works. I am trying to also handle Meshes. Now there are no export options on a FreeCAD mesh . I have access to Edges, Facets, Points see print(dir()) Create Tetrahedra Mesh from Mesh Facets : 4900 ['Area', 'BoundBox', 'Content', 'CountEdges', 'CountFacets', 'CountPoints', 'Facets', 'Matrix', 'MemSize', 'Module', 'Placement', 'Points', 'Topology', 'TypeId', 'Volume', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'addFacet', 'addFacets', 'addMesh', 'clear', 'coarsen', 'collapseEdge', 'collapseFacet', 'collapseFacets', 'copy', 'countComponents', 'countNonUniformOrientedFacets', 'countSegments', 'crossSections', 'cut', 'decimate', 'difference', 'dumpContent', 'fillupHoles', 'fixDeformations', 'fixDegenerations', 'fixIndices', 'fixSelfIntersections', 'flipNormals', 'foraminate', 'getAllDerivedFrom', 'getEigenSystem', 'getFacesFromSubelement', 'getFacetSelection', 'getInternalFacets', 'getNonUniformOrientedFacets', 'getPlanarSegments', 'getPointNormals', 'getPointSelection', 'getSegment', 'getSegmentsByCurvature', 'getSegmentsOfType', 'getSelfIntersections', 'getSeparateComponents', 'harmonizeNormals', 'hasInvalidPoints', 'hasNonManifolds', 'hasNonUniformOrientedFacets', 'hasSelfIntersections', 'inner', 'insertVertex', 'intersect', 'isDerivedFrom', 'isSolid', 'meshFromSegment', 'nearestFacetOnRay', 'offset', 'offsetSpecial', 'optimizeEdges', 'optimizeTopology', 'outer', 'printInfo', 'read', 'rebuildNeighbourHood', 'refine', 'removeComponents', 'removeDuplicatedFacets', 'removeDuplicatedPoints', 'removeFacets', 'removeFoldsOnSurface', 'removeInvalidPoints', 'removeNonManifoldPoints', 'removeNonManifolds', 'restoreContent', 'rotate', 'setPoint', 'smooth', 'snapVertex', 'splitEdge', 'splitEdges', 'splitFacet', 'swapEdge', 'transform', 'transformToEigen', 'translate', 'trim', 'unite', 'write', 'writeInventor'] I get the impression, maybe wrong that I have to create a surface with boundary curves and then add nodes and coordinates, but not sure how I could create boundary curves given that I am trying to handle generic cases where I have no control over the mesh I get passed. Any ideas? -------------- next part -------------- An HTML attachment was scrubbed... URL: From morok at mevex.com Fri Jul 3 17:23:41 2020 From: morok at mevex.com (Max Orok) Date: Fri, 3 Jul 2020 11:23:41 -0400 Subject: [Gmsh] Error codes. In-Reply-To: <11A19100-9111-4304-B9E7-05AF591779E8@uliege.be> References: <9c1d128e-e632-2045-028c-58b8f5dc31fb@sloan-home.co.uk> <11A19100-9111-4304-B9E7-05AF591779E8@uliege.be> Message-ID: I tried to make a rough taxonomy a while back. The same error code might mean something different depending on the function (function returning 1 in gmsh::option namespace means something different than for gmsh::model namespace) *Gmsh error codes: * *Error code -1 (everywhere):* The Gmsh context wasn't properly initialized, or a required library component is missing. For example, calling any `fltk` functions without a linked FLTK library. *gmsh*/ *Error code 1* One of Gmsh's "shell" methods couldn't run successfully. For example, a bad file path was given to the `open` function. *gmsh/model, gmsh/view, etc. * *Error code 1* A function that mutates the model couldn't complete successfully. For example, addPoint couldn't succeed because of a tag collision. *Error code 2* A model lookup function failed. For example, tried to call a function on a view that doesn't exist. *Error code 3 (rare) * The function couldn't successfully use a required input parameter. For example, a user-specified quadrature scheme couldn't be applied to the data. *Error code 4 (rare)* A parallelizable mesh query function failed *gmsh/option* *Error code 1* The given option doesn't exist in Gmsh. There's some functions that don't fit. I think error code 2 in particular is a bit of a catch-all. On Fri, Jul 3, 2020 at 10:04 AM Christophe Geuzaine wrote: > > Hi Keith, > > Currently they are generic (this will be improved in the future). Set the > "General.Terminal" option to 1 to see the error message on the terminal, or > use the "logger" api to record the messages. > > Christophe > > > On 3 Jul 2020, at 15:51, Keith Sloan wrote: > > > > Where can I find the documentation for error codes > > > > Like where can I find out what error code 2 means? > > > > ('gmshModelMeshAddElementsByType returned non-zero error code: ', 2) > > > > > > > > > > > > _______________________________________________ > > 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 > > > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From keith at sloan-home.co.uk Fri Jul 3 20:38:55 2020 From: keith at sloan-home.co.uk (Keith Sloan) Date: Fri, 3 Jul 2020 19:38:55 +0100 Subject: [Gmsh] 3D Volume from 2D Mesh via python program Message-ID: <94fff192-0a83-e290-869d-7a3ab899e2af@sloan-home.co.uk> Hi I am trying to remesh an STL file to create a Tetrahderon. My code looks like based on info on the web SaimaSafdar commented on 2 Sep 2019 ? edited by nschloe I used the gmsh-api for python https://gitlab.onelab.info/gmsh/gmsh/blob/master/README.txt The code I used is below for the gmsh-api import math import gmsh_api import gmsh_api.gmsh as gmsh gmsh.initialize() gmsh.option.setNumber("General.Terminal", 1) gmsh.option.setNumber("Mesh.Algorithm", 8); gmsh.option.setNumber("Mesh.CharacteristicLengthMin", 1); gmsh.option.setNumber("Mesh.CharacteristicLengthMax", 2); gmsh.option.setNumber("Mesh.Optimize",1) gmsh.option.setNumber("Mesh.QualityType",2); gmsh.merge("C:/2_FuzzyClassification/brainmodel/brainModelscriptacvd.stl") n = gmsh.model.getDimension() s = gmsh.model.getEntities(n) l = gmsh.model.geo.addSurfaceLoop([s[i][1] for i in range(len(s))]) gmsh.model.geo.addVolume([l]) print("Volume added") gmsh.model.geo.synchronize() gmsh.model.mesh.generate(3) gmsh.write("C:/2_FuzzyClassification/brainmodel/example.msh") gmsh.finalize() My Code def meshObjSTL(obj, dim) : ??? obj.Mesh.write('/tmp/transfer.stl') ??? bbox = obj.Mesh.BoundBox ??? ml = maxCord(bbox) / 10 ??? print('Mesh length : '+str(ml)) ??? gmsh.option.setNumber("Mesh.Algorithm",8) ??? gmsh.option.setNumber("Mesh.CharacteristicLengthMax", ml) gmsh.option.setNumber("Mesh.CharacteristicLengthFromCurvature", ml) ??? gmsh.option.setNumber("Mesh.CharacteristicLengthFromPoints", ml) ??? gmsh.option.setNumber("Mesh.Optimize",1) ??? gmsh.option.setNumber("Mesh.QualityType",2) ??? gmsh.merge('/tmp/transfer.stl') ??? n = gmsh.model.getDimension() ??? s = gmsh.model.getEntities(n) ??? l = gmsh.model.geo.addSurfaceLoop([s[i][1] for i in range(len(s))]) ??? gmsh.model.geo.addVolume([l]) ??? print("Volume added") ??? gmsh.model.geo.synchronize() ??? gmsh.model.mesh.generate(dim) ??? print('Mesh Generated '+str(dim)) ??? gmsh.model.mesh.renumberNodes() But crashes with no output ( Code is part of a FreeCAD workbench ) -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Fri Jul 3 20:56:56 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 3 Jul 2020 20:56:56 +0200 Subject: [Gmsh] 3D Volume from 2D Mesh via python program In-Reply-To: <94fff192-0a83-e290-869d-7a3ab899e2af@sloan-home.co.uk> References: <94fff192-0a83-e290-869d-7a3ab899e2af@sloan-home.co.uk> Message-ID: Dear Keith, Please send something that we can test; in this case a working script together with the STL file. Or if the STL file is confidential, at least send a log of the terminal output. And if you don't have output on a terminal, then use the logger API - see e.g. tutorial/python/t16.py. Christophe > On 3 Jul 2020, at 20:38, Keith Sloan wrote: > > Hi I am trying to remesh an STL file to create a Tetrahderon. > > My code looks like based on info on the web > > SaimaSafdar commented on 2 Sep 2019 ? > edited by nschloe > I used the gmsh-api for python https://gitlab.onelab.info/gmsh/gmsh/blob/master/README.txt > The code I used is below for the gmsh-api > > import math > import gmsh_api > import gmsh_api.gmsh as gmsh > > gmsh.initialize() > gmsh.option.setNumber("General.Terminal", 1) > gmsh.option.setNumber("Mesh.Algorithm", 8); > gmsh.option.setNumber("Mesh.CharacteristicLengthMin", 1); > gmsh.option.setNumber("Mesh.CharacteristicLengthMax", 2); > gmsh.option.setNumber("Mesh.Optimize",1) > gmsh.option.setNumber("Mesh.QualityType",2); > > gmsh.merge("C:/2_FuzzyClassification/brainmodel/brainModelscriptacvd.stl") > n = gmsh.model.getDimension() > s = gmsh.model.getEntities(n) > l = gmsh.model.geo.addSurfaceLoop([s[i][1] for i in range(len(s))]) > gmsh.model.geo.addVolume([l]) > print("Volume added") > gmsh.model.geo.synchronize() > > gmsh.model.mesh.generate(3) > gmsh.write("C:/2_FuzzyClassification/brainmodel/example.msh") > gmsh.finalize() > > > > My Code > > def meshObjSTL(obj, dim) : > obj.Mesh.write('/tmp/transfer.stl') > bbox = obj.Mesh.BoundBox > ml = maxCord(bbox) / 10 > print('Mesh length : '+str(ml)) > gmsh.option.setNumber("Mesh.Algorithm",8) > gmsh.option.setNumber("Mesh.CharacteristicLengthMax", ml) > gmsh.option.setNumber("Mesh.CharacteristicLengthFromCurvature", ml) > gmsh.option.setNumber("Mesh.CharacteristicLengthFromPoints", ml) > gmsh.option.setNumber("Mesh.Optimize",1) > gmsh.option.setNumber("Mesh.QualityType",2) > gmsh.merge('/tmp/transfer.stl') > n = gmsh.model.getDimension() > s = gmsh.model.getEntities(n) > l = gmsh.model.geo.addSurfaceLoop([s[i][1] for i in range(len(s))]) > gmsh.model.geo.addVolume([l]) > print("Volume added") > gmsh.model.geo.synchronize() > gmsh.model.mesh.generate(dim) > print('Mesh Generated '+str(dim)) > gmsh.model.mesh.renumberNodes() > > But crashes with no output ( Code is part of a FreeCAD workbench ) > > > > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Fri Jul 3 20:57:46 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 3 Jul 2020 20:57:46 +0200 Subject: [Gmsh] Create gmsh 2D. In-Reply-To: <39abc216-ffca-69b8-ba99-af41a89b7303@sloan-home.co.uk> References: <39abc216-ffca-69b8-ba99-af41a89b7303@sloan-home.co.uk> Message-ID: <8E1604AC-D9AF-4A6E-BB27-DBFD4FA72BAD@uliege.be> > On 3 Jul 2020, at 17:10, Keith Sloan wrote: > > Okay I am trying to add certain gmsh functionality to a FreeCAD work bench. > > I can deal with FreeCAD Shapes by writing out a temp brep file and reading using gmsh. > Not very elegant but it works. > > I am trying to also handle Meshes. Now there are no export options on a FreeCAD mesh . > > I have access to Edges, Facets, Points > > see print(dir()) > > Create Tetrahedra Mesh from Mesh > Facets : 4900 > ['Area', 'BoundBox', 'Content', 'CountEdges', 'CountFacets', 'CountPoints', 'Facets', 'Matrix', 'MemSize', 'Module', 'Placement', 'Points', 'Topology', 'TypeId', 'Volume', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'addFacet', 'addFacets', 'addMesh', 'clear', 'coarsen', 'collapseEdge', 'collapseFacet', 'collapseFacets', 'copy', 'countComponents', 'countNonUniformOrientedFacets', 'countSegments', 'crossSections', 'cut', 'decimate', 'difference', 'dumpContent', 'fillupHoles', 'fixDeformations', 'fixDegenerations', 'fixIndices', 'fixSelfIntersections', 'flipNormals', 'foraminate', 'getAllDerivedFrom', 'getEigenSystem', 'getFacesFromSubelement', 'getFacetSelection', 'getInternalFacets', 'getNonUniformOrientedFacets', 'getPlanarSegments', 'getPointNormals', 'getPointSelection', 'getSegment', 'getSegmentsByCurvature', 'getSegmentsOfType', 'getSelfIntersections', 'getSeparateComponents', 'harmonizeNormals', 'hasInvalidPoints', 'hasNonManifolds', 'hasNonUniformOrientedFacets', 'hasSelfIntersections', 'inner', 'insertVertex', 'intersect', 'isDerivedFrom', 'isSolid', 'meshFromSegment', 'nearestFacetOnRay', 'offset', 'offsetSpecial', 'optimizeEdges', 'optimizeTopology', 'outer', 'printInfo', 'read', 'rebuildNeighbourHood', 'refine', 'removeComponents', 'removeDuplicatedFacets', 'removeDuplicatedPoints', 'removeFacets', 'removeFoldsOnSurface', 'removeInvalidPoints', 'removeNonManifoldPoints', 'removeNonManifolds', 'restoreContent', 'rotate', 'setPoint', 'smooth', 'snapVertex', 'splitEdge', 'splitEdges', 'splitFacet', 'swapEdge', 'transform', 'transformToEigen', 'translate', 'trim', 'unite', 'write', 'writeInventor'] > > I get the impression, maybe wrong that I have to create a surface with boundary curves and then add nodes and coordinates, > but not sure how I could create boundary curves given that I am trying to handle generic cases where I have no control > over the mesh I get passed. > > Any ideas? > It would help if you explained what you actually want to do... Christophe > _______________________________________________ > 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 From keith at sloan-home.co.uk Fri Jul 3 20:55:20 2020 From: keith at sloan-home.co.uk (Keith Sloan) Date: Fri, 3 Jul 2020 19:55:20 +0100 Subject: [Gmsh] There was eventually a crash report Message-ID: Process:?????????????? FreeCAD [7115] Path: /Applications/FreeCAD.app/Contents/Resources/bin/FreeCAD Identifier:??????????? ??? Version:?????????????? ??? (0.18-16146) Code Type:???????????? X86-64 (Native) Parent Process:??????? ??? [7111] User ID:?????????????? 501 Date/Time:???????????? 2020-07-03 19:33:18.239 +0100 OS Version:??????????? Mac OS X 10.15.5 (19F96) Report Version:??????? 12 Anonymous UUID:??????? 7B9AEDAD-6A4A-444F-F994-68810425664D Sleep/Wake UUID:?????? DD6F44AB-1CD4-4722-B29D-D141B0C063FC Time Awake Since Boot: 110000 seconds Time Since Wake:?????? 86000 seconds System Integrity Protection: enabled Crashed Thread:??????? 0? Dispatch queue: com.apple.main-thread Exception Type:??????? EXC_BAD_ACCESS (SIGSEGV) Exception Codes:?????? KERN_INVALID_ADDRESS at 0x00007ffde47c9000 Exception Note:??????? EXC_CORPSE_NOTIFY Termination Signal:??? Segmentation fault: 11 Termination Reason:??? Namespace SIGNAL, Code 0xb Terminating Process:?? exc handler [7115] VM Regions Near 0x7ffde47c9000: ??? MALLOC_LARGE?????????? 00007ffde4789000-00007ffde47c9000 [ 256K] rw-/rwx SM=PRV --> ??? MALLOC_TINY??????????? 00007ffde4800000-00007ffde4900000 [ 1024K] rw-/rwx SM=PRV Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0?? libmesh.so??????????????????? ??? 0x00000001250eae64 netgen::BitArrayChar<1>::Clear() + 20 1?? libgmsh.dylib???????????????? ??? 0x000000012c36f668 netgen::Mesh::Compress() + 504 2?? libgmsh.dylib???????????????? ??? 0x000000012c3b8d05 netgen::MeshOptimize3d::CombineImprove(netgen::Mesh&, netgen::OPTIMIZEGOAL) + 5861 3?? libgmsh.dylib???????????????? ??? 0x000000012c3fedf9 netgen::OptimizeVolume(netgen::MeshingParameters&, netgen::Mesh&) + 297 4?? libgmsh.dylib???????????????? ??? 0x000000012c341b03 nglib::Ng_OptimizeVolumeMesh(void**, double) + 99 5?? libgmsh.dylib???????????????? ??? 0x000000012bbd2d3a optimizeMeshGRegionNetgen::operator()(GRegion*, bool) + 234 6?? libgmsh.dylib???????????????? ??? 0x000000012bb3b6bf OptimizeMesh(GModel*, std::__1::basic_string, std::__1::allocator > const&, bool, int) + 2111 7?? libgmsh.dylib???????????????? ??? 0x000000012bb40053 GenerateMesh(GModel*, int) + 11347 8?? libgmsh.dylib???????????????? ??? 0x000000012b96bb5e GModel::mesh(int) + 14 9?? libgmsh.dylib???????????????? ??? 0x000000012b7f6645 gmsh::model::mesh::generate(int) + 53 10? libgmsh.dylib???????????????? ??? 0x000000012c585c89 gmshModelMeshGenerate + 25 11? _ctypes.cpython-36m-darwin.so ??? 0x0000000117a06f4f ffi_call_unix64 + 79 12? _ctypes.cpython-36m-darwin.so ??? 0x0000000117a077aa ffi_call + 858 13? _ctypes.cpython-36m-darwin.so ??? 0x0000000117a02923 _ctypes_callproc + 787 14? _ctypes.cpython-36m-darwin.so ??? 0x00000001179fc679 PyCFuncPtr_call + 1049 15? libpython3.6m.dylib?????????? ??? 0x00000001077c13f4 _PyObject_FastCallDict + 292 16? libpython3.6m.dylib?????????? ??? 0x0000000107893d12 call_function + 434 17? libpython3.6m.dylib?????????? ??? 0x000000010788ccc3 _PyEval_EvalFrameDefault + 4883 18? libpython3.6m.dylib?????????? ??? 0x0000000107894816 _PyEval_EvalCodeWithName + 2566 19? libpython3.6m.dylib?????????? ??? 0x0000000107895009 fast_function + 729 20? libpython3.6m.dylib?????????? ??? 0x0000000107893d19 call_function + 441 21? libpython3.6m.dylib?????????? ??? 0x000000010788ccc3 _PyEval_EvalFrameDefault + 4883 22? libpython3.6m.dylib?????????? ??? 0x0000000107894816 _PyEval_EvalCodeWithName + 2566 23? libpython3.6m.dylib?????????? ??? 0x0000000107895009 fast_function + 729 24? libpython3.6m.dylib?????????? ??? 0x0000000107893d19 call_function + 441 25? libpython3.6m.dylib?????????? ??? 0x000000010788ccc3 _PyEval_EvalFrameDefault + 4883 26? libpython3.6m.dylib?????????? ??? 0x0000000107894f68 fast_function + 568 27? libpython3.6m.dylib?????????? ??? 0x0000000107893d19 call_function + 441 28? libpython3.6m.dylib?????????? ??? 0x000000010788ccc3 _PyEval_EvalFrameDefault + 4883 29? libpython3.6m.dylib?????????? ??? 0x0000000107894f68 fast_function + 568 30? libpython3.6m.dylib?????????? ??? 0x0000000107893d19 call_function + 441 31? libpython3.6m.dylib?????????? ??? 0x000000010788ccc3 _PyEval_EvalFrameDefault + 4883 32? libpython3.6m.dylib?????????? ??? 0x00000001078953b1 _PyFunction_FastCallDict + 913 33? libpython3.6m.dylib?????????? ??? 0x00000001077c142a _PyObject_FastCallDict + 346 34? libpython3.6m.dylib?????????? ??? 0x00000001077c155c _PyObject_Call_Prepend + 156 35? libpython3.6m.dylib?????????? ??? 0x00000001077c1185 PyObject_Call + 101 36? libFreeCADBase.dylib????????? ??? 0x00000001076ce3d2 PP_Run_Method + 354 37? libFreeCADBase.dylib????????? ??? 0x000000010765ff11 Base::InterpreterSingleton::runMethodVoid(_object*, char const*) + 49 38? libFreeCADGui.dylib?????????? ??? 0x0000000106600afe Gui::PythonCommand::activated(int) + 254 39? libFreeCADGui.dylib?????????? ??? 0x00000001065fc7aa Gui::Command::invoke(int) + 74 40? libQt5Core.5.6.2.dylib??????? ??? 0x0000000109867e4c QMetaObject::activate(QObject*, int, int, void**) + 2892 41? libQt5Widgets.5.6.2.dylib???? ??? 0x0000000108c04945 QAction::activate(QAction::ActionEvent) + 309 42? libQt5Widgets.5.6.2.dylib???? ??? 0x0000000108cef88e 0x108bfb000 + 1001614 43? libQt5Widgets.5.6.2.dylib???? ??? 0x0000000108cf0b20 QAbstractButton::mouseReleaseEvent(QMouseEvent*) + 272 44? libQt5Widgets.5.6.2.dylib???? ??? 0x0000000108dc658f QToolButton::mouseReleaseEvent(QMouseEvent*) + 15 45? libQt5Widgets.5.6.2.dylib???? ??? 0x0000000108c5100f QWidget::event(QEvent*) + 447 46? libQt5Widgets.5.6.2.dylib???? ??? 0x0000000108dc6b91 QToolButton::event(QEvent*) + 321 47? libQt5Widgets.5.6.2.dylib???? ??? 0x0000000108c0e3a4 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 292 48? libQt5Widgets.5.6.2.dylib???? ??? 0x0000000108c1169a QApplication::notify(QObject*, QEvent*) + 7770 49? libFreeCADGui.dylib?????????? ??? 0x00000001065d489b Gui::GUIApplication::notify(QObject*, QEvent*) + 75 50? libQt5Core.5.6.2.dylib??????? ??? 0x0000000109835118 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 168 51? libQt5Widgets.5.6.2.dylib???? ??? 0x0000000108c0edca QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer&, bool) + 1034 52? libQt5Widgets.5.6.2.dylib???? ??? 0x0000000108c728ad 0x108bfb000 + 489645 53? libQt5Widgets.5.6.2.dylib???? ??? 0x0000000108c715e9 0x108bfb000 + 484841 54? libQt5Widgets.5.6.2.dylib???? ??? 0x0000000108c0e3a4 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 292 55? libQt5Widgets.5.6.2.dylib???? ??? 0x0000000108c0fa08 QApplication::notify(QObject*, QEvent*) + 456 56? libFreeCADGui.dylib?????????? ??? 0x00000001065d489b Gui::GUIApplication::notify(QObject*, QEvent*) + 75 57? libQt5Core.5.6.2.dylib??????? ??? 0x0000000109835118 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 168 58? libQt5Gui.5.6.2.dylib???????? ??? 0x00000001091d0fe3 QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 2147 59? libQt5Gui.5.6.2.dylib???????? ??? 0x00000001091ba48b QWindowSystemInterface::sendWindowSystemEvents(QFlags) + 171 60? libqcocoa.dylib?????????????? ??? 0x000000010e66d7ce 0x10e649000 + 149454 61? libqcocoa.dylib?????????????? ??? 0x000000010e66e0b1 0x10e649000 + 151729 62? com.apple.CoreFoundation????? ??? 0x00007fff36884de2 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 63? com.apple.CoreFoundation????? ??? 0x00007fff36884d81 __CFRunLoopDoSource0 + 103 64? com.apple.CoreFoundation????? ??? 0x00007fff36884b9b __CFRunLoopDoSources0 + 209 65? com.apple.CoreFoundation????? ??? 0x00007fff368838ca __CFRunLoopRun + 927 66? com.apple.CoreFoundation????? ??? 0x00007fff36882ece CFRunLoopRunSpecific + 462 67? com.apple.HIToolbox?????????? ??? 0x00007fff354b1abd RunCurrentEventLoopInMode + 292 68? com.apple.HIToolbox?????????? ??? 0x00007fff354b16f4 ReceiveNextEventCommon + 359 69? com.apple.HIToolbox?????????? ??? 0x00007fff354b1579 _BlockUntilNextEventMatchingListInModeWithFilter + 64 70? com.apple.AppKit????????????? ??? 0x00007fff33af9829 _DPSNextEvent + 883 71? com.apple.AppKit????????????? ??? 0x00007fff33af8070 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352 72? com.apple.AppKit????????????? ??? 0x00007fff33ae9d7e -[NSApplication run] + 658 73? libqcocoa.dylib?????????????? ??? 0x000000010e66ce80 0x10e649000 + 147072 74? libQt5Core.5.6.2.dylib??????? ??? 0x000000010983125e QEventLoop::exec(QFlags) + 398 75? libQt5Core.5.6.2.dylib??????? ??? 0x00000001098357bf QCoreApplication::exec() + 335 76? libFreeCADGui.dylib?????????? ??? 0x000000010655a07e Gui::Application::runApplication() + 10718 77? FreeCAD?????????????????????? ??? 0x0000000106539fe4 main + 5892 78? libdyld.dylib???????????????? ??? 0x00007fff706e6cc9 start + 1 Thread 1: 0?? libsystem_pthread.dylib?????? ??? 0x00007fff708e6b68 start_wqthread + 0 Thread 2: 0?? libsystem_pthread.dylib?????? ??? 0x00007fff708e6b68 start_wqthread + 0 Thread 3: 0?? libsystem_pthread.dylib?????? ??? 0x00007fff708e6b68 start_wqthread + 0 Thread 4: 0?? libsystem_pthread.dylib?????? ??? 0x00007fff708e6b68 start_wqthread + 0 Thread 5:: com.apple.CFSocket.private 0?? libsystem_kernel.dylib??????? ??? 0x00007fff708300fe __select + 10 1?? com.apple.CoreFoundation????? ??? 0x00007fff368adce3 __CFSocketManager + 641 2?? libsystem_pthread.dylib?????? ??? 0x00007fff708eb109 _pthread_start + 148 3?? libsystem_pthread.dylib?????? ??? 0x00007fff708e6b8b thread_start + 15 Thread 6:: com.apple.NSEventThread 0?? libsystem_kernel.dylib??????? ??? 0x00007fff70827dfa mach_msg_trap + 10 1?? libsystem_kernel.dylib??????? ??? 0x00007fff70828170 mach_msg + 60 2?? com.apple.CoreFoundation????? ??? 0x00007fff36884f85 __CFRunLoopServiceMachPort + 247 3?? com.apple.CoreFoundation????? ??? 0x00007fff36883a52 __CFRunLoopRun + 1319 4?? com.apple.CoreFoundation????? ??? 0x00007fff36882ece CFRunLoopRunSpecific + 462 5?? com.apple.AppKit????????????? ??? 0x00007fff33c9b144 _NSEventThread + 132 6?? libsystem_pthread.dylib?????? ??? 0x00007fff708eb109 _pthread_start + 148 7?? libsystem_pthread.dylib?????? ??? 0x00007fff708e6b8b thread_start + 15 Thread 7:: Qt bearer thread 0?? libsystem_kernel.dylib??????? ??? 0x00007fff7082c87e __pselect + 10 1?? libsystem_kernel.dylib??????? ??? 0x00007fff7082d9e0 pselect$1050 + 71 2?? libQt5Core.5.6.2.dylib??????? ??? 0x0000000109887458 qt_safe_select(int, fd_set*, fd_set*, fd_set*, timespec const*) + 104 3?? libQt5Core.5.6.2.dylib??????? ??? 0x0000000109888532 QEventDispatcherUNIXPrivate::doSelect(QFlags, timespec*) + 706 4?? libQt5Core.5.6.2.dylib??????? ??? 0x00000001098898c8 QEventDispatcherUNIX::processEvents(QFlags) + 232 5?? libQt5Core.5.6.2.dylib??????? ??? 0x000000010983125e QEventLoop::exec(QFlags) + 398 6?? libQt5Core.5.6.2.dylib??????? ??? 0x000000010967cb92 QThread::exec() + 114 7?? libQt5Core.5.6.2.dylib??????? ??? 0x00000001096806f7 0x109657000 + 169719 8?? libsystem_pthread.dylib?????? ??? 0x00007fff708eb109 _pthread_start + 148 9?? libsystem_pthread.dylib?????? ??? 0x00007fff708e6b8b thread_start + 15 Thread 8:: JavaScriptCore::BlockFree 0?? libsystem_kernel.dylib??????? ??? 0x00007fff7082a882 __psynch_cvwait + 10 1?? libsystem_pthread.dylib?????? ??? 0x00007fff708eb425 _pthread_cond_wait + 698 2?? libQt5WebKit.5.6.2.dylib????? ??? 0x0000000118d3b1a0 0x117c87000 + 17514912 3?? libQt5WebKit.5.6.2.dylib????? ??? 0x000000011901926f 0x117c87000 + 20521583 4?? libsystem_pthread.dylib?????? ??? 0x00007fff708eb109 _pthread_start + 148 5?? libsystem_pthread.dylib?????? ??? 0x00007fff708e6b8b thread_start + 15 Thread 9:: JavaScriptCore::Marking 0?? libsystem_kernel.dylib??????? ??? 0x00007fff7082a882 __psynch_cvwait + 10 1?? libsystem_pthread.dylib?????? ??? 0x00007fff708eb425 _pthread_cond_wait + 698 2?? libQt5WebKit.5.6.2.dylib????? ??? 0x0000000118d3c017 0x117c87000 + 17518615 3?? libQt5WebKit.5.6.2.dylib????? ??? 0x0000000118d3c0a3 0x117c87000 + 17518755 4?? libQt5WebKit.5.6.2.dylib????? ??? 0x000000011901926f 0x117c87000 + 20521583 5?? libsystem_pthread.dylib?????? ??? 0x00007fff708eb109 _pthread_start + 148 6?? libsystem_pthread.dylib?????? ??? 0x00007fff708e6b8b thread_start + 15 Thread 10:: JavaScriptCore::Marking 0?? libsystem_kernel.dylib??????? ??? 0x00007fff7082a882 __psynch_cvwait + 10 1?? libsystem_pthread.dylib?????? ??? 0x00007fff708eb425 _pthread_cond_wait + 698 2?? libQt5WebKit.5.6.2.dylib????? ??? 0x0000000118d3c017 0x117c87000 + 17518615 3?? libQt5WebKit.5.6.2.dylib????? ??? 0x0000000118d3c0a3 0x117c87000 + 17518755 4?? libQt5WebKit.5.6.2.dylib????? ??? 0x000000011901926f 0x117c87000 + 20521583 5?? libsystem_pthread.dylib?????? ??? 0x00007fff708eb109 _pthread_start + 148 6?? libsystem_pthread.dylib?????? ??? 0x00007fff708e6b8b thread_start + 15 Thread 11:: JavaScriptCore::Marking 0?? libsystem_kernel.dylib??????? ??? 0x00007fff7082a882 __psynch_cvwait + 10 1?? libsystem_pthread.dylib?????? ??? 0x00007fff708eb425 _pthread_cond_wait + 698 2?? libQt5WebKit.5.6.2.dylib????? ??? 0x0000000118d3c017 0x117c87000 + 17518615 3?? libQt5WebKit.5.6.2.dylib????? ??? 0x0000000118d3c0a3 0x117c87000 + 17518755 4?? libQt5WebKit.5.6.2.dylib????? ??? 0x000000011901926f 0x117c87000 + 20521583 5?? libsystem_pthread.dylib?????? ??? 0x00007fff708eb109 _pthread_start + 148 6?? libsystem_pthread.dylib?????? ??? 0x00007fff708e6b8b thread_start + 15 Thread 12:: JavaScriptCore::Marking 0?? libsystem_kernel.dylib??????? ??? 0x00007fff7082a882 __psynch_cvwait + 10 1?? libsystem_pthread.dylib?????? ??? 0x00007fff708eb425 _pthread_cond_wait + 698 2?? libQt5WebKit.5.6.2.dylib????? ??? 0x0000000118d3c017 0x117c87000 + 17518615 3?? libQt5WebKit.5.6.2.dylib????? ??? 0x0000000118d3c0a3 0x117c87000 + 17518755 4?? libQt5WebKit.5.6.2.dylib????? ??? 0x000000011901926f 0x117c87000 + 20521583 5?? libsystem_pthread.dylib?????? ??? 0x00007fff708eb109 _pthread_start + 148 6?? libsystem_pthread.dylib?????? ??? 0x00007fff708e6b8b thread_start + 15 Thread 13:: JavaScriptCore::Marking -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Fri Jul 3 21:00:52 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 3 Jul 2020 21:00:52 +0200 Subject: [Gmsh] There was eventually a crash report In-Reply-To: References: Message-ID: <0A13BCCB-A8DC-49E0-9B79-9DA35555B186@uliege.be> Your crash log indicates that the crash is in the Netgen mesh optimizer, which is not enabled by default. It is indeed not very robust. > On 3 Jul 2020, at 20:55, Keith Sloan wrote: > > Process: FreeCAD [7115] > Path: /Applications/FreeCAD.app/Contents/Resources/bin/FreeCAD > Identifier: ??? > Version: ??? (0.18-16146) > Code Type: X86-64 (Native) > Parent Process: ??? [7111] > User ID: 501 > > Date/Time: 2020-07-03 19:33:18.239 +0100 > OS Version: Mac OS X 10.15.5 (19F96) > Report Version: 12 > Anonymous UUID: 7B9AEDAD-6A4A-444F-F994-68810425664D > > Sleep/Wake UUID: DD6F44AB-1CD4-4722-B29D-D141B0C063FC > > Time Awake Since Boot: 110000 seconds > Time Since Wake: 86000 seconds > > System Integrity Protection: enabled > > Crashed Thread: 0 Dispatch queue: com.apple.main-thread > > Exception Type: EXC_BAD_ACCESS (SIGSEGV) > Exception Codes: KERN_INVALID_ADDRESS at 0x00007ffde47c9000 > Exception Note: EXC_CORPSE_NOTIFY > > Termination Signal: Segmentation fault: 11 > Termination Reason: Namespace SIGNAL, Code 0xb > Terminating Process: exc handler [7115] > > VM Regions Near 0x7ffde47c9000: > MALLOC_LARGE 00007ffde4789000-00007ffde47c9000 [ 256K] rw-/rwx SM=PRV > --> > MALLOC_TINY 00007ffde4800000-00007ffde4900000 [ 1024K] rw-/rwx SM=PRV > > Thread 0 Crashed:: Dispatch queue: com.apple.main-thread > 0 libmesh.so 0x00000001250eae64 netgen::BitArrayChar<1>::Clear() + 20 > 1 libgmsh.dylib 0x000000012c36f668 netgen::Mesh::Compress() + 504 > 2 libgmsh.dylib 0x000000012c3b8d05 netgen::MeshOptimize3d::CombineImprove(netgen::Mesh&, netgen::OPTIMIZEGOAL) + 5861 > 3 libgmsh.dylib 0x000000012c3fedf9 netgen::OptimizeVolume(netgen::MeshingParameters&, netgen::Mesh&) + 297 > 4 libgmsh.dylib 0x000000012c341b03 nglib::Ng_OptimizeVolumeMesh(void**, double) + 99 > 5 libgmsh.dylib 0x000000012bbd2d3a optimizeMeshGRegionNetgen::operator()(GRegion*, bool) + 234 > 6 libgmsh.dylib 0x000000012bb3b6bf OptimizeMesh(GModel*, std::__1::basic_string, std::__1::allocator > const&, bool, int) + 2111 > 7 libgmsh.dylib 0x000000012bb40053 GenerateMesh(GModel*, int) + 11347 > 8 libgmsh.dylib 0x000000012b96bb5e GModel::mesh(int) + 14 > 9 libgmsh.dylib 0x000000012b7f6645 gmsh::model::mesh::generate(int) + 53 > 10 libgmsh.dylib 0x000000012c585c89 gmshModelMeshGenerate + 25 > 11 _ctypes.cpython-36m-darwin.so 0x0000000117a06f4f ffi_call_unix64 + 79 > 12 _ctypes.cpython-36m-darwin.so 0x0000000117a077aa ffi_call + 858 > 13 _ctypes.cpython-36m-darwin.so 0x0000000117a02923 _ctypes_callproc + 787 > 14 _ctypes.cpython-36m-darwin.so 0x00000001179fc679 PyCFuncPtr_call + 1049 > 15 libpython3.6m.dylib 0x00000001077c13f4 _PyObject_FastCallDict + 292 > 16 libpython3.6m.dylib 0x0000000107893d12 call_function + 434 > 17 libpython3.6m.dylib 0x000000010788ccc3 _PyEval_EvalFrameDefault + 4883 > 18 libpython3.6m.dylib 0x0000000107894816 _PyEval_EvalCodeWithName + 2566 > 19 libpython3.6m.dylib 0x0000000107895009 fast_function + 729 > 20 libpython3.6m.dylib 0x0000000107893d19 call_function + 441 > 21 libpython3.6m.dylib 0x000000010788ccc3 _PyEval_EvalFrameDefault + 4883 > 22 libpython3.6m.dylib 0x0000000107894816 _PyEval_EvalCodeWithName + 2566 > 23 libpython3.6m.dylib 0x0000000107895009 fast_function + 729 > 24 libpython3.6m.dylib 0x0000000107893d19 call_function + 441 > 25 libpython3.6m.dylib 0x000000010788ccc3 _PyEval_EvalFrameDefault + 4883 > 26 libpython3.6m.dylib 0x0000000107894f68 fast_function + 568 > 27 libpython3.6m.dylib 0x0000000107893d19 call_function + 441 > 28 libpython3.6m.dylib 0x000000010788ccc3 _PyEval_EvalFrameDefault + 4883 > 29 libpython3.6m.dylib 0x0000000107894f68 fast_function + 568 > 30 libpython3.6m.dylib 0x0000000107893d19 call_function + 441 > 31 libpython3.6m.dylib 0x000000010788ccc3 _PyEval_EvalFrameDefault + 4883 > 32 libpython3.6m.dylib 0x00000001078953b1 _PyFunction_FastCallDict + 913 > 33 libpython3.6m.dylib 0x00000001077c142a _PyObject_FastCallDict + 346 > 34 libpython3.6m.dylib 0x00000001077c155c _PyObject_Call_Prepend + 156 > 35 libpython3.6m.dylib 0x00000001077c1185 PyObject_Call + 101 > 36 libFreeCADBase.dylib 0x00000001076ce3d2 PP_Run_Method + 354 > 37 libFreeCADBase.dylib 0x000000010765ff11 Base::InterpreterSingleton::runMethodVoid(_object*, char const*) + 49 > 38 libFreeCADGui.dylib 0x0000000106600afe Gui::PythonCommand::activated(int) + 254 > 39 libFreeCADGui.dylib 0x00000001065fc7aa Gui::Command::invoke(int) + 74 > 40 libQt5Core.5.6.2.dylib 0x0000000109867e4c QMetaObject::activate(QObject*, int, int, void**) + 2892 > 41 libQt5Widgets.5.6.2.dylib 0x0000000108c04945 QAction::activate(QAction::ActionEvent) + 309 > 42 libQt5Widgets.5.6.2.dylib 0x0000000108cef88e 0x108bfb000 + 1001614 > 43 libQt5Widgets.5.6.2.dylib 0x0000000108cf0b20 QAbstractButton::mouseReleaseEvent(QMouseEvent*) + 272 > 44 libQt5Widgets.5.6.2.dylib 0x0000000108dc658f QToolButton::mouseReleaseEvent(QMouseEvent*) + 15 > 45 libQt5Widgets.5.6.2.dylib 0x0000000108c5100f QWidget::event(QEvent*) + 447 > 46 libQt5Widgets.5.6.2.dylib 0x0000000108dc6b91 QToolButton::event(QEvent*) + 321 > 47 libQt5Widgets.5.6.2.dylib 0x0000000108c0e3a4 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 292 > 48 libQt5Widgets.5.6.2.dylib 0x0000000108c1169a QApplication::notify(QObject*, QEvent*) + 7770 > 49 libFreeCADGui.dylib 0x00000001065d489b Gui::GUIApplication::notify(QObject*, QEvent*) + 75 > 50 libQt5Core.5.6.2.dylib 0x0000000109835118 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 168 > 51 libQt5Widgets.5.6.2.dylib 0x0000000108c0edca QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer&, bool) + 1034 > 52 libQt5Widgets.5.6.2.dylib 0x0000000108c728ad 0x108bfb000 + 489645 > 53 libQt5Widgets.5.6.2.dylib 0x0000000108c715e9 0x108bfb000 + 484841 > 54 libQt5Widgets.5.6.2.dylib 0x0000000108c0e3a4 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 292 > 55 libQt5Widgets.5.6.2.dylib 0x0000000108c0fa08 QApplication::notify(QObject*, QEvent*) + 456 > 56 libFreeCADGui.dylib 0x00000001065d489b Gui::GUIApplication::notify(QObject*, QEvent*) + 75 > 57 libQt5Core.5.6.2.dylib 0x0000000109835118 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 168 > 58 libQt5Gui.5.6.2.dylib 0x00000001091d0fe3 QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 2147 > 59 libQt5Gui.5.6.2.dylib 0x00000001091ba48b QWindowSystemInterface::sendWindowSystemEvents(QFlags) + 171 > 60 libqcocoa.dylib 0x000000010e66d7ce 0x10e649000 + 149454 > 61 libqcocoa.dylib 0x000000010e66e0b1 0x10e649000 + 151729 > 62 com.apple.CoreFoundation 0x00007fff36884de2 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 > 63 com.apple.CoreFoundation 0x00007fff36884d81 __CFRunLoopDoSource0 + 103 > 64 com.apple.CoreFoundation 0x00007fff36884b9b __CFRunLoopDoSources0 + 209 > 65 com.apple.CoreFoundation 0x00007fff368838ca __CFRunLoopRun + 927 > 66 com.apple.CoreFoundation 0x00007fff36882ece CFRunLoopRunSpecific + 462 > 67 com.apple.HIToolbox 0x00007fff354b1abd RunCurrentEventLoopInMode + 292 > 68 com.apple.HIToolbox 0x00007fff354b16f4 ReceiveNextEventCommon + 359 > 69 com.apple.HIToolbox 0x00007fff354b1579 _BlockUntilNextEventMatchingListInModeWithFilter + 64 > 70 com.apple.AppKit 0x00007fff33af9829 _DPSNextEvent + 883 > 71 com.apple.AppKit 0x00007fff33af8070 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352 > 72 com.apple.AppKit 0x00007fff33ae9d7e -[NSApplication run] + 658 > 73 libqcocoa.dylib 0x000000010e66ce80 0x10e649000 + 147072 > 74 libQt5Core.5.6.2.dylib 0x000000010983125e QEventLoop::exec(QFlags) + 398 > 75 libQt5Core.5.6.2.dylib 0x00000001098357bf QCoreApplication::exec() + 335 > 76 libFreeCADGui.dylib 0x000000010655a07e Gui::Application::runApplication() + 10718 > 77 FreeCAD 0x0000000106539fe4 main + 5892 > 78 libdyld.dylib 0x00007fff706e6cc9 start + 1 > > Thread 1: > 0 libsystem_pthread.dylib 0x00007fff708e6b68 start_wqthread + 0 > > Thread 2: > 0 libsystem_pthread.dylib 0x00007fff708e6b68 start_wqthread + 0 > > Thread 3: > 0 libsystem_pthread.dylib 0x00007fff708e6b68 start_wqthread + 0 > > Thread 4: > 0 libsystem_pthread.dylib 0x00007fff708e6b68 start_wqthread + 0 > > Thread 5:: com.apple.CFSocket.private > 0 libsystem_kernel.dylib 0x00007fff708300fe __select + 10 > 1 com.apple.CoreFoundation 0x00007fff368adce3 __CFSocketManager + 641 > 2 libsystem_pthread.dylib 0x00007fff708eb109 _pthread_start + 148 > 3 libsystem_pthread.dylib 0x00007fff708e6b8b thread_start + 15 > > Thread 6:: com.apple.NSEventThread > 0 libsystem_kernel.dylib 0x00007fff70827dfa mach_msg_trap + 10 > 1 libsystem_kernel.dylib 0x00007fff70828170 mach_msg + 60 > 2 com.apple.CoreFoundation 0x00007fff36884f85 __CFRunLoopServiceMachPort + 247 > 3 com.apple.CoreFoundation 0x00007fff36883a52 __CFRunLoopRun + 1319 > 4 com.apple.CoreFoundation 0x00007fff36882ece CFRunLoopRunSpecific + 462 > 5 com.apple.AppKit 0x00007fff33c9b144 _NSEventThread + 132 > 6 libsystem_pthread.dylib 0x00007fff708eb109 _pthread_start + 148 > 7 libsystem_pthread.dylib 0x00007fff708e6b8b thread_start + 15 > > Thread 7:: Qt bearer thread > 0 libsystem_kernel.dylib 0x00007fff7082c87e __pselect + 10 > 1 libsystem_kernel.dylib 0x00007fff7082d9e0 pselect$1050 + 71 > 2 libQt5Core.5.6.2.dylib 0x0000000109887458 qt_safe_select(int, fd_set*, fd_set*, fd_set*, timespec const*) + 104 > 3 libQt5Core.5.6.2.dylib 0x0000000109888532 QEventDispatcherUNIXPrivate::doSelect(QFlags, timespec*) + 706 > 4 libQt5Core.5.6.2.dylib 0x00000001098898c8 QEventDispatcherUNIX::processEvents(QFlags) + 232 > 5 libQt5Core.5.6.2.dylib 0x000000010983125e QEventLoop::exec(QFlags) + 398 > 6 libQt5Core.5.6.2.dylib 0x000000010967cb92 QThread::exec() + 114 > 7 libQt5Core.5.6.2.dylib 0x00000001096806f7 0x109657000 + 169719 > 8 libsystem_pthread.dylib 0x00007fff708eb109 _pthread_start + 148 > 9 libsystem_pthread.dylib 0x00007fff708e6b8b thread_start + 15 > > Thread 8:: JavaScriptCore::BlockFree > 0 libsystem_kernel.dylib 0x00007fff7082a882 __psynch_cvwait + 10 > 1 libsystem_pthread.dylib 0x00007fff708eb425 _pthread_cond_wait + 698 > 2 libQt5WebKit.5.6.2.dylib 0x0000000118d3b1a0 0x117c87000 + 17514912 > 3 libQt5WebKit.5.6.2.dylib 0x000000011901926f 0x117c87000 + 20521583 > 4 libsystem_pthread.dylib 0x00007fff708eb109 _pthread_start + 148 > 5 libsystem_pthread.dylib 0x00007fff708e6b8b thread_start + 15 > > Thread 9:: JavaScriptCore::Marking > 0 libsystem_kernel.dylib 0x00007fff7082a882 __psynch_cvwait + 10 > 1 libsystem_pthread.dylib 0x00007fff708eb425 _pthread_cond_wait + 698 > 2 libQt5WebKit.5.6.2.dylib 0x0000000118d3c017 0x117c87000 + 17518615 > 3 libQt5WebKit.5.6.2.dylib 0x0000000118d3c0a3 0x117c87000 + 17518755 > 4 libQt5WebKit.5.6.2.dylib 0x000000011901926f 0x117c87000 + 20521583 > 5 libsystem_pthread.dylib 0x00007fff708eb109 _pthread_start + 148 > 6 libsystem_pthread.dylib 0x00007fff708e6b8b thread_start + 15 > > Thread 10:: JavaScriptCore::Marking > 0 libsystem_kernel.dylib 0x00007fff7082a882 __psynch_cvwait + 10 > 1 libsystem_pthread.dylib 0x00007fff708eb425 _pthread_cond_wait + 698 > 2 libQt5WebKit.5.6.2.dylib 0x0000000118d3c017 0x117c87000 + 17518615 > 3 libQt5WebKit.5.6.2.dylib 0x0000000118d3c0a3 0x117c87000 + 17518755 > 4 libQt5WebKit.5.6.2.dylib 0x000000011901926f 0x117c87000 + 20521583 > 5 libsystem_pthread.dylib 0x00007fff708eb109 _pthread_start + 148 > 6 libsystem_pthread.dylib 0x00007fff708e6b8b thread_start + 15 > > Thread 11:: JavaScriptCore::Marking > 0 libsystem_kernel.dylib 0x00007fff7082a882 __psynch_cvwait + 10 > 1 libsystem_pthread.dylib 0x00007fff708eb425 _pthread_cond_wait + 698 > 2 libQt5WebKit.5.6.2.dylib 0x0000000118d3c017 0x117c87000 + 17518615 > 3 libQt5WebKit.5.6.2.dylib 0x0000000118d3c0a3 0x117c87000 + 17518755 > 4 libQt5WebKit.5.6.2.dylib 0x000000011901926f 0x117c87000 + 20521583 > 5 libsystem_pthread.dylib 0x00007fff708eb109 _pthread_start + 148 > 6 libsystem_pthread.dylib 0x00007fff708e6b8b thread_start + 15 > > Thread 12:: JavaScriptCore::Marking > 0 libsystem_kernel.dylib 0x00007fff7082a882 __psynch_cvwait + 10 > 1 libsystem_pthread.dylib 0x00007fff708eb425 _pthread_cond_wait + 698 > 2 libQt5WebKit.5.6.2.dylib 0x0000000118d3c017 0x117c87000 + 17518615 > 3 libQt5WebKit.5.6.2.dylib 0x0000000118d3c0a3 0x117c87000 + 17518755 > 4 libQt5WebKit.5.6.2.dylib 0x000000011901926f 0x117c87000 + 20521583 > 5 libsystem_pthread.dylib 0x00007fff708eb109 _pthread_start + 148 > 6 libsystem_pthread.dylib 0x00007fff708e6b8b thread_start + 15 > > Thread 13:: JavaScriptCore::Marking > > > _______________________________________________ > 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 From keith at sloan-home.co.uk Sun Jul 5 12:08:19 2020 From: keith at sloan-home.co.uk (Keith Sloan) Date: Sun, 5 Jul 2020 11:08:19 +0100 Subject: [Gmsh] Not grasping something correctly. Message-ID: <6ba5563e-30c9-0de0-2014-34f49a780966@sloan-home.co.uk> I am trying to add various gmsh facilities to a FreeCAD workbench. One is a straight Tessellate of a FreeCAD shape or mesh. I think I have the meshing correct as if I save the mesh of a Cube I get the attached file. But I am having problems recreating a visual mesh under FreeCAD. To recreate the Facets I have a function that does nodes, coordLst, pcords = gmsh.model.mesh.getNodes(2) # should return nodes and coordinate faceNodes = gmsh.model.mesh.getElementFaceNodes(2,3,-1,True) ?# nodes, coords are numpy arrays But don't seem to be retrieving the info for the triangular faces in the mesh must be not understanding something. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: test.msh Type: model/mesh Size: 21979 bytes Desc: not available URL: From achaube2 at illinois.edu Mon Jul 6 21:51:10 2020 From: achaube2 at illinois.edu (A Chaube) Date: Mon, 6 Jul 2020 14:51:10 -0500 Subject: [Gmsh] Unable to select surfaces using GUI Message-ID: Hello, I have a complicated 2D mesh with lots of elements (which I cannot reduce in number), and I am extruding this into a 3D mesh. Upon extrusion, it becomes extremely challenging to keep track of new surfaces (needed for creating sidesets) - the easiest way seems to be to select them using the GUI. However, the geometry model has no opacity for surfaces (just a wireframe marker), so everything looks really busy and it is impossible to click on the surface that I wish to select. Making mesh elements visible makes the model visually opaque and less busy, but some surface markers (the dotted crosses) simply disappear, making it impossible to select the right surface without a lot of effort (tracking common curves to deduce surface ID etc). Could you please suggest a way to select physical surfaces when you have lots of different surfaces (12-20 per physical surface, and about 10 physical surfaces)? Thank you. Ash. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bojan.niceno.scientist at gmail.com Wed Jul 8 12:46:38 2020 From: bojan.niceno.scientist at gmail.com (Bojan Niceno) Date: Wed, 8 Jul 2020 12:46:38 +0200 Subject: [Gmsh] Points seem to move on transfinite surface after the recombination Message-ID: Dear all, I have a problem when trying to mesh planar structured surfaces. Although points seem to be uniformly placed on a transfinite surface, they move a bit when recombining the mesh to change triangles to quadrilateral cells. Here is a simple script which demonstrates it: // Define points Point(1) = {0.0, 0.0, 0.0}; Point(2) = {0.5, 0.0, 0.0}; Point(3) = {0.0, 0.5, 0.0}; Point(4) = {0.7, 0.0, 0.0}; Point(5) = {0.0, 0.7, 0.0}; // Define connectors from points ... Line (1) = {2, 4}; Circle(2) = {4, 1, 5}; Line (3) = {5, 3}; Circle(4) = {3, 1, 2}; // ... and set them as transfinite Transfinite Curve {1, 2, 3, 4} = 11 Using Progression 1; // Define surface ... Curve Loop(1) = {1, 2, 3, 4}; Plane Surface(1) = {1}; // ... and set it as transfinite too Transfinite Surface {1}; So, as I said, generating a 2D mesh over the surface places points properly, but command recombine moves them a bit :-/ Is there a way to prevent these movements of points? I am also attaching a screenshot of a mesh before and after recombination, to illustrate my problem better. Best regards, Bojan P.S. I am not sure if attachments go to the mailing list, I've never used a mailing list before. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: points_after_generation.png Type: image/png Size: 58067 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: points_after_recombination.png Type: image/png Size: 55297 bytes Desc: not available URL: From cgeuzaine at uliege.be Wed Jul 8 13:08:50 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 8 Jul 2020 13:08:50 +0200 Subject: [Gmsh] Points seem to move on transfinite surface after the recombination In-Reply-To: References: Message-ID: > On 8 Jul 2020, at 12:46, Bojan Niceno wrote: > > Dear all, > > I have a problem when trying to mesh planar structured surfaces. Although points seem to be uniformly placed on a transfinite surface, they move a bit when recombining the mesh to change triangles to quadrilateral cells. > > Here is a simple script which demonstrates it: > > // Define points > Point(1) = {0.0, 0.0, 0.0}; > Point(2) = {0.5, 0.0, 0.0}; > Point(3) = {0.0, 0.5, 0.0}; > Point(4) = {0.7, 0.0, 0.0}; > Point(5) = {0.0, 0.7, 0.0}; > > // Define connectors from points ... > Line (1) = {2, 4}; > Circle(2) = {4, 1, 5}; > Line (3) = {5, 3}; > Circle(4) = {3, 1, 2}; > > // ... and set them as transfinite > Transfinite Curve {1, 2, 3, 4} = 11 Using Progression 1; > > // Define surface ... > Curve Loop(1) = {1, 2, 3, 4}; Plane Surface(1) = {1}; > > // ... and set it as transfinite too > Transfinite Surface {1}; > > So, as I said, generating a 2D mesh over the surface places points properly, but command recombine moves them a bit :-/ Is there a way to prevent these movements of points? > > I am also attaching a screenshot of a mesh before and after recombination, to illustrate my problem better. > Indeed, recombination a posteriori applies some smoothing. You should add Recombine Surface{1}; after "Transfinite Surface {1};", which will directly create a quad mesh. Christophe > Best regards, > > Bojan > > P.S. I am not sure if attachments go to the mailing list, I've never used a mailing list before. > > _______________________________________________ > 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 From cgeuzaine at uliege.be Wed Jul 8 13:10:12 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 8 Jul 2020 13:10:12 +0200 Subject: [Gmsh] Unable to select surfaces using GUI In-Reply-To: References: Message-ID: <305C3D05-BBEC-40E1-8E1D-A7DE372A4950@uliege.be> > On 6 Jul 2020, at 21:51, A Chaube wrote: > > Hello, > > I have a complicated 2D mesh with lots of elements (which I cannot reduce in number), and I am extruding this into a 3D mesh. Upon extrusion, it becomes extremely challenging to keep track of new surfaces (needed for creating sidesets) - the easiest way seems to be to select them using the GUI. > > However, the geometry model has no opacity for surfaces (just a wireframe marker), so everything looks really busy and it is impossible to click on the surface that I wish to select. Making mesh elements visible makes the model visually opaque and less busy, but some surface markers (the dotted crosses) simply disappear, making it impossible to select the right surface without a lot of effort (tracking common curves to deduce surface ID etc). > > Could you please suggest a way to select physical surfaces when you have lots of different surfaces (12-20 per physical surface, and about 10 physical surfaces)? You could use Tools->Visibility to hide/show only parts of the model, or Tools->Clipping. Once you have a mesh you can also only display mesh edges, which will allow to "see through". Christophe > > Thank you. > Ash. > _______________________________________________ > 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 From cgeuzaine at uliege.be Wed Jul 8 14:53:10 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 8 Jul 2020 14:53:10 +0200 Subject: [Gmsh] Not grasping something correctly. In-Reply-To: <6ba5563e-30c9-0de0-2014-34f49a780966@sloan-home.co.uk> References: <6ba5563e-30c9-0de0-2014-34f49a780966@sloan-home.co.uk> Message-ID: <0C6EC20A-D401-4081-83DF-175D78F82B82@uliege.be> > On 5 Jul 2020, at 12:08, Keith Sloan wrote: > > I am trying to add various gmsh facilities to a FreeCAD workbench. > > One is a straight Tessellate of a FreeCAD shape or mesh. > > I think I have the meshing correct as if I save the mesh of a Cube I get the attached file. > > But I am having problems recreating a visual mesh under FreeCAD. > > To recreate the Facets I have a function that does > > nodes, coordLst, pcords = gmsh.model.mesh.getNodes(2) > > # should return nodes and coordinate > > faceNodes = gmsh.model.mesh.getElementFaceNodes(2,3,-1,True) > # nodes, coords are numpy arrays > > But don't seem to be retrieving the info for the triangular faces in the mesh must > be not understanding something. With gmsh.model.mesh.getNodes(2) you will only get nodes classified on surfaces of the model. If you plan to use gmsh.model.mesh.getElementFaceNodes() you will need all the nodes (i.e. classified on model points, curves and volumes as well). Christophe > > > > > > _______________________________________________ > 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 From bojan.niceno.scientist at gmail.com Wed Jul 8 13:21:28 2020 From: bojan.niceno.scientist at gmail.com (Bojan Niceno) Date: Wed, 8 Jul 2020 13:21:28 +0200 Subject: [Gmsh] Points seem to move on transfinite surface after the recombination In-Reply-To: References: Message-ID: Dear Christophe, Oh great, thanks a lot for the fast reply :-) Best regards, Bojan On Wed, Jul 8, 2020 at 1:08 PM Christophe Geuzaine wrote: > > > > On 8 Jul 2020, at 12:46, Bojan Niceno > wrote: > > > > Dear all, > > > > I have a problem when trying to mesh planar structured surfaces. > Although points seem to be uniformly placed on a transfinite surface, they > move a bit when recombining the mesh to change triangles to quadrilateral > cells. > > > > Here is a simple script which demonstrates it: > > > > // Define points > > Point(1) = {0.0, 0.0, 0.0}; > > Point(2) = {0.5, 0.0, 0.0}; > > Point(3) = {0.0, 0.5, 0.0}; > > Point(4) = {0.7, 0.0, 0.0}; > > Point(5) = {0.0, 0.7, 0.0}; > > > > // Define connectors from points ... > > Line (1) = {2, 4}; > > Circle(2) = {4, 1, 5}; > > Line (3) = {5, 3}; > > Circle(4) = {3, 1, 2}; > > > > // ... and set them as transfinite > > Transfinite Curve {1, 2, 3, 4} = 11 Using Progression 1; > > > > // Define surface ... > > Curve Loop(1) = {1, 2, 3, 4}; Plane Surface(1) = {1}; > > > > // ... and set it as transfinite too > > Transfinite Surface {1}; > > > > So, as I said, generating a 2D mesh over the surface places points > properly, but command recombine moves them a bit :-/ Is there a way to > prevent these movements of points? > > > > I am also attaching a screenshot of a mesh before and after > recombination, to illustrate my problem better. > > > > Indeed, recombination a posteriori applies some smoothing. You should add > > Recombine Surface{1}; > > after "Transfinite Surface {1};", which will directly create a quad mesh. > > Christophe > > > > > > Best regards, > > > > Bojan > > > > P.S. I am not sure if attachments go to the mailing list, I've never > used a mailing list before. > > > > > _______________________________________________ > > 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 > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bojan.niceno.scientist at gmail.com Wed Jul 8 18:48:20 2020 From: bojan.niceno.scientist at gmail.com (Bojan Niceno) Date: Wed, 8 Jul 2020 18:48:20 +0200 Subject: [Gmsh] Getting lines' nodes Message-ID: Dear all, Is there a way to fetch curves' (lines' in particular) points? Something like: c[] = Point{1}; // c[] contains the coordinates 1,2,3 which is used to get point's coordinates, but I would need lines' points. Kind regards Bojan -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Thu Jul 9 08:37:28 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Thu, 9 Jul 2020 08:37:28 +0200 Subject: [Gmsh] Getting lines' nodes In-Reply-To: References: Message-ID: <59054498-66E7-49B2-A209-CBB555DE1657@uliege.be> > On 8 Jul 2020, at 18:48, Bojan Niceno wrote: > > Dear all, > > Is there a way to fetch curves' (lines' in particular) points? Something like: > > c[] = Point{1}; // c[] contains the coordinates 1,2,3 > > which is used to get point's coordinates, but I would need lines' points. > Use "Boundary" first to get the curve bounding points. Christophe > Kind regards > > Bojan > > > _______________________________________________ > 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 From miroslav.kuchta at gmail.com Fri Jul 17 16:26:52 2020 From: miroslav.kuchta at gmail.com (Miroslav Kuchta) Date: Fri, 17 Jul 2020 16:26:52 +0200 Subject: [Gmsh] Point In Volume Python API Message-ID: Hi, is there a function exposed in the Python API which corresponds to "Point{ptag} In Volume{vtag};"? Thanks, Miro -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Fri Jul 17 16:50:09 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 17 Jul 2020 16:50:09 +0200 Subject: [Gmsh] Point In Volume Python API In-Reply-To: References: Message-ID: <4DA8CD9C-C3D1-42E1-BA64-B281A1F98083@uliege.be> > On 17 Jul 2020, at 16:26, Miroslav Kuchta wrote: > > Hi, > > is there a function exposed in the Python API which corresponds > to "Point{ptag} In Volume{vtag};"? Yes: mesh.embed(). See http://gmsh.info/doc/texinfo/gmsh.html#t15 for examples. Christophe > > Thanks, Miro > _______________________________________________ > 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 From miroslav.kuchta at gmail.com Fri Jul 17 16:51:52 2020 From: miroslav.kuchta at gmail.com (Miroslav Kuchta) Date: Fri, 17 Jul 2020 16:51:52 +0200 Subject: [Gmsh] Point In Volume Python API In-Reply-To: <4DA8CD9C-C3D1-42E1-BA64-B281A1F98083@uliege.be> References: <4DA8CD9C-C3D1-42E1-BA64-B281A1F98083@uliege.be> Message-ID: Many thanks! On Fri, Jul 17, 2020 at 4:50 PM Christophe Geuzaine wrote: > > > > On 17 Jul 2020, at 16:26, Miroslav Kuchta > wrote: > > > > Hi, > > > > is there a function exposed in the Python API which corresponds > > to "Point{ptag} In Volume{vtag};"? > > Yes: mesh.embed(). See http://gmsh.info/doc/texinfo/gmsh.html#t15 for > examples. > > Christophe > > > > > Thanks, Miro > > _______________________________________________ > > 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 > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From george.bourantas at gmail.com Sat Jul 18 19:05:16 2020 From: george.bourantas at gmail.com (George Bourantas) Date: Sun, 19 Jul 2020 01:05:16 +0800 Subject: [Gmsh] question Message-ID: Hi All, How to generate a tetrahedral mesh with boundary layers? Thank you in advance. G. -------------- next part -------------- An HTML attachment was scrubbed... URL: From karim.kadryabdelmeguid at epfl.ch Sun Jul 19 20:15:56 2020 From: karim.kadryabdelmeguid at epfl.ch (Kadry Abdelmeguid Karim Hesham Ahmed) Date: Sun, 19 Jul 2020 18:15:56 +0000 Subject: [Gmsh] Questions about parallelization using python API Message-ID: <75c1966835174d1099272dd526a89351@epfl.ch> Hello, I'm a new user to Gmsh I am a bit confused on how to enable parallelization when I am using the Python API for Gmsh. I see on the documentation that I am supposed to compile with Enable OpenMP and compile using Cmake but since I have installed gmsh through the pip command I'm not sure if I should try and build in my anaconda directory directly. Thank you! Karim, -------------- next part -------------- An HTML attachment was scrubbed... URL: From jean-francois.remacle at uclouvain.be Mon Jul 20 10:28:00 2020 From: jean-francois.remacle at uclouvain.be (=?utf-8?B?SmVhbi1GcmFuw6dvaXMgUmVtYWNsZQ==?=) Date: Mon, 20 Jul 2020 08:28:00 +0000 Subject: [Gmsh] question In-Reply-To: References: Message-ID: <0E604B38-9B7A-46E6-9A26-191C6A084E78@uclouvain.be> hello gmsh has not (yet) that capability JF > Le 18 juil. 2020 ? 19:05, George Bourantas a ?crit : > > Hi All, > > How to generate a tetrahedral mesh with boundary layers? > > Thank you in advance. > > G. > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fonelab.info%2Fmailman%2Flistinfo%2Fgmsh&data=02%7C01%7Cjean-francois.remacle%40uclouvain.be%7C293104fe733e4444fcd008d82b3fb908%7C7ab090d4fa2e4ecfbc7c4127b4d582ec%7C0%7C0%7C637306900442035546&sdata=YfhIzsSyiaf7BQx3Her0gU0IauD7BuCD8Q4NVfTb9NI%3D&reserved=0 ------------------------------------------------------------------ Prof. Jean-Francois Remacle Universite catholique de Louvain (UCL) Ecole Polytechnique de Louvain (EPL) - Louvain School of Engineering Institute of Mechanics, Materials and Civil Engineering (iMMC) Center for Systems Engineering and Applied Mechanics (CESAME) Tel : +32-10-472352 -- Mobile : +32-473-909930 From lucia.cobian at imdea.org Wed Jul 22 12:26:44 2020 From: lucia.cobian at imdea.org (lucia.cobian) Date: Wed, 22 Jul 2020 12:26:44 +0200 Subject: [Gmsh] Periodic Surface Error: Different number of points for periodic correspondance between surfaces. Message-ID: <177a097adcb54073b7831eb180005d0f@imdea.org> Dear all, I am trying to build a periodic mesh for a complex geometry, made by cylinders, which is bounded by a cube (Boolean intersection). To do the periodic mesh I have used Periodic Surface {} = {} Translate {} command to make it periodic in the three opposite surfaces (xy,xz,yz) of the intersected cube, as indicated in the attached .geo file. However, I receive the following errors: ?No corresponding point x for periodic connection of surface xx to yy? or ?Different number of points (a vs b) for periodic correspondence between surfaces aa and bb?. I have tried to fix the error without any success. I would like to know why is this happening and how can the .geo file be modified to fix the problem. I would appreciate if someone could help me with this issue. Thank you very much, Lucia -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: periodic_mesh.geo URL: From mepl at me.com.sg Thu Jul 23 16:25:10 2020 From: mepl at me.com.sg (mepl) Date: Thu, 23 Jul 2020 22:25:10 +0800 Subject: [Gmsh] joining arrow tips Message-ID: <000001d660fd$12a3b7c0$37eb2740$@me.com.sg> Dear Prof We have much fun using gmsh for our work. Tq. I have a question. How to join a line at the tip of the arrow end of two vector points. VP(154838.900,411610.900,22293.990) {5.0,0.0,0.0}; VP(153031.800,431557.500,27910.500) {-2.0,0.0,0.0}; SL(154843.900,411610.900,22293.990,153029.800,431557.500,27910.500) {5.0, -2.0}; When I change the arrow size, the line should still connected at the arrow tip. Thank you in advance for your advice. Best Regards, Dr. YP Phang Managing Director Multimedia Engineering Pte. Ltd. 50 Bukit Batok Street 23#05-15, Midview Building, Singapore 659578. T (65) 6765 6288 F (65) 6765 1588 E mepl at me.com.sg W www.me.com.sg Description: cid:image003.jpg at 01D5FE15.A9A6D8F0 Description: cid:image004.jpg at 01D5FE15.A9A6D8F0 Description: cid:image005.jpg at 01D5FE15.A9A6D8F0 Description: cid:image006.png at 01D5FE15.A9A6D8F0 ADAS? Tensile Membrane ? ETFE Skylight? Fabric Fa?ade ? Spaceframe ? Specialized Systems -- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 15263 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image003.jpg Type: image/jpeg Size: 755 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image004.jpg Type: image/jpeg Size: 890 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image005.jpg Type: image/jpeg Size: 889 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image006.png Type: image/png Size: 1218 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image007.png Type: image/png Size: 13182 bytes Desc: not available URL: From sahas at email.sc.edu Fri Jul 24 05:18:32 2020 From: sahas at email.sc.edu (SAHA, SUDIPTA) Date: Fri, 24 Jul 2020 03:18:32 +0000 Subject: [Gmsh] Small element size factor does not work Message-ID: Hello I am trying mesh a .geo filecommand line. I have added following line in the script to create 3D mesh ( 2D meshing algorithm Automatic, 3D meshing algorithm Frontal, and Element size factor 0.02) Mesh.Algorithm = 2; Mesh.Algorithm3D = 4; Mesh.CharacteristicLengthFactor = 0.02; Mesh 3; Save "SNF_02_cmd.msh"; When I check the mesh file in GUI I do not see existence of 3D mesh. I also confirmed in by importing into OpenFoam and Openfoam also does not find any volume mesh. But the log file clearly says Info : Success ! Info : 238335 points, 1157220 elements Info : Done meshing 3D (Wall 1233.26s, CPU 1222.82s) Why I am not seeing and 3D mesh in the mesh file? The log file is attached. __ Best Regards Sudipta Saha, MS, EIT Spent Fuel Modeling Intern, Idaho National Laboratory PhD Candidate in Mechanical Engineering Reacting System and Advanced Energy Research Lab Graduate Council Representative, Graduate Student Association LinkedIn | ResearchGate | GoogleScholar | Website [cid:2b08ad09-2af5-4fc1-8a77-cd3e9f917b5b] -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Outlook-il1dffsz.jpg Type: image/jpeg Size: 36177 bytes Desc: Outlook-il1dffsz.jpg URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: log_SNF_02_cmd Type: application/octet-stream Size: 2206510 bytes Desc: log_SNF_02_cmd URL: From alessandro.vicini at sitael.com Fri Jul 24 08:42:04 2020 From: alessandro.vicini at sitael.com (Vicini Alessandro) Date: Fri, 24 Jul 2020 06:42:04 +0000 Subject: [Gmsh] R: Small element size factor does not work In-Reply-To: References: Message-ID: Did you assign your volume to a physical group...? Da: gmsh Per conto di SAHA, SUDIPTA Inviato: venerd? 24 luglio 2020 05:19 A: gmsh at onelab.info Oggetto: [Gmsh] Small element size factor does not work Hello I am trying mesh a .geo filecommand line. I have added following line in the script to create 3D mesh ( 2D meshing algorithm Automatic, 3D meshing algorithm Frontal, and Element size factor 0.02) Mesh.Algorithm = 2; Mesh.Algorithm3D = 4; Mesh.CharacteristicLengthFactor = 0.02; Mesh 3; Save "SNF_02_cmd.msh"; When I check the mesh file in GUI I do not see existence of 3D mesh. I also confirmed in by importing into OpenFoam and Openfoam also does not find any volume mesh. But the log file clearly says Info : Success ! Info : 238335 points, 1157220 elements Info : Done meshing 3D (Wall 1233.26s, CPU 1222.82s) Why I am not seeing and 3D mesh in the mesh file? The log file is attached. __ Best Regards Sudipta Saha, MS, EIT Spent Fuel Modeling Intern, Idaho National Laboratory PhD Candidate in Mechanical Engineering Reacting System and Advanced Energy Research Lab Graduate Council Representative, Graduate Student Association LinkedIn | ResearchGate | GoogleScholar | Website [cid:image001.jpg at 01D66196.ACF93450] -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.jpg Type: image/jpeg Size: 36177 bytes Desc: image001.jpg URL: From jeremy at seamplex.com Fri Jul 24 11:19:19 2020 From: jeremy at seamplex.com (Jeremy Theler) Date: Fri, 24 Jul 2020 06:19:19 -0300 Subject: [Gmsh] Small element size factor does not work In-Reply-To: References: Message-ID: <9c61ca49de624d0cae936a83ca7daa6c3df2f2dd.camel@seamplex.com> RT(F)M, section F.5 question 3 in http://gmsh.info/doc/texinfo/gmsh.html#Mesh-module-questions How can I only save tetrahedral elements (not triangles and lines)? By default, if physical groups are defined, the output mesh only contains those elements that belong to physical entities. So to save only 3D elements, simply define one (or more) physical volume(s) and don?t define any physical surfaces, physical curves or physical points. Also, section 6.2 http://gmsh.info/doc/texinfo/gmsh.html#Elementary-entities-vs-physical-groups is relevant: To save all mesh elements wether or not physical groups are defined, use the Mesh.SaveAll option (see Mesh options list) or specify -save_all on the command line. In some formats (e.g. MSH2), setting Mesh.SaveAll=1 will however discard all physical group definitions. Regards--Jeremy Thelerwww.seamplex.com On Fri, 2020-07-24 at 03:18 +0000, SAHA, SUDIPTA wrote: > Hello I am trying mesh a .geo filecommand line. I have added > following line in the script to create 3D mesh ( 2D meshing > algorithm Automatic, 3D meshing algorithm Frontal, and Element size > factor 0.02) > > > > > > > > Mesh.Algorithm = 2; > > > > > Mesh.Algorithm3D = 4; > Mesh.CharacteristicLengthFactor = 0.02; > > > Mesh 3; > > > Save "SNF_02_cmd.msh"; > > > > > > > > > > When I check the mesh file in GUI I do not see existence of 3D mesh. > I also confirmed in by importing into OpenFoam and Openfoam also does > not find any volume mesh. But the log file clearly says > > > Info : Success ! > Info : 238335 points, 1157220 elements > Info : Done meshing 3D (Wall 1233.26s, CPU 1222.82s) > > > > > Why I am not seeing and 3D mesh in the mesh file? The log file is > attached. > > > > > > > > > > > > > > > > > > > > > > > __ > > > > Best > Regards > > > > > Sudipta > Saha, MS, EIT > > Spent Fuel Modeling Intern, Idaho National > Laboratory > > > > > PhD Candidate in Mechanical Engineering > Reacting System and Advanced Energy Research Lab > > > Graduate Council Representative, Graduate Student Association > LinkedIn | ResearchGate | GoogleScholar | Website > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________gmsh mailing > listgmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Outlook-il1dffsz.jpg Type: image/jpeg Size: 36177 bytes Desc: not available URL: From sahas at email.sc.edu Fri Jul 24 15:25:18 2020 From: sahas at email.sc.edu (SAHA, SUDIPTA) Date: Fri, 24 Jul 2020 13:25:18 +0000 Subject: [Gmsh] Small element size factor does not work In-Reply-To: <9c61ca49de624d0cae936a83ca7daa6c3df2f2dd.camel@seamplex.com> References: , <9c61ca49de624d0cae936a83ca7daa6c3df2f2dd.camel@seamplex.com> Message-ID: Thank you very much for your detailed answer. I need to save both physical volume and physical surface. Because the physical surface is required to assign boundary condition, and physical volume is required to assign fluid domain in openfoam. __ Best Regards Sudipta Saha, MS, EIT Spent Fuel Modeling Intern, Idaho National Laboratory PhD Candidate in Mechanical Engineering Reacting System and Advanced Energy Research Lab Graduate Council Representative, Graduate Student Association LinkedIn | ResearchGate | GoogleScholar | Website [cid:d08a1fbf-363c-48af-89a7-5208eda51b71] ________________________________ From: Jeremy Theler Sent: Friday, July 24, 2020 5:19 AM To: SAHA, SUDIPTA ; gmsh at onelab.info Subject: Re: [Gmsh] Small element size factor does not work RT(F)M, section F.5 question 3 in http://gmsh.info/doc/texinfo/gmsh.html#Mesh-module-questions How can I only save tetrahedral elements (not triangles and lines)? By default, if physical groups are defined, the output mesh only contains those elements that belong to physical entities. So to save only 3D elements, simply define one (or more) physical volume(s) and don?t define any physical surfaces, physical curves or physical points. Also, section 6.2 http://gmsh.info/doc/texinfo/gmsh.html#Elementary-entities-vs-physical-groups is relevant: To save all mesh elements wether or not physical groups are defined, use the Mesh.SaveAll option (see Mesh options list) or specify -save_all on the command line. In some formats (e.g. MSH2), setting Mesh.SaveAll=1 will however discard all physical group definitions. Regards -- Jeremy Theler www.seamplex.com On Fri, 2020-07-24 at 03:18 +0000, SAHA, SUDIPTA wrote: Hello I am trying mesh a .geo filecommand line. I have added following line in the script to create 3D mesh ( 2D meshing algorithm Automatic, 3D meshing algorithm Frontal, and Element size factor 0.02) Mesh.Algorithm = 2; Mesh.Algorithm3D = 4; Mesh.CharacteristicLengthFactor = 0.02; Mesh 3; Save "SNF_02_cmd.msh"; When I check the mesh file in GUI I do not see existence of 3D mesh. I also confirmed in by importing into OpenFoam and Openfoam also does not find any volume mesh. But the log file clearly says Info : Success ! Info : 238335 points, 1157220 elements Info : Done meshing 3D (Wall 1233.26s, CPU 1222.82s) Why I am not seeing and 3D mesh in the mesh file? The log file is attached. __ Best Regards Sudipta Saha, MS, EIT Spent Fuel Modeling Intern, Idaho National Laboratory PhD Candidate in Mechanical Engineering Reacting System and Advanced Energy Research Lab Graduate Council Representative, Graduate Student Association LinkedIn | ResearchGate | GoogleScholar | Website [cid:b1e7c5e9844000e7a4b05516a22e70cbd79ddf42.camel at seamplex.com] _______________________________________________ gmsh mailing list gmsh at onelab.info http://onelab.info/mailman/listinfo/gmsh -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Outlook-il1dffsz.jpg Type: image/jpeg Size: 36177 bytes Desc: Outlook-il1dffsz.jpg URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Outlook-zy3gzqhv.jpg Type: image/jpeg Size: 36177 bytes Desc: Outlook-zy3gzqhv.jpg URL: From sahas at email.sc.edu Fri Jul 24 15:27:23 2020 From: sahas at email.sc.edu (SAHA, SUDIPTA) Date: Fri, 24 Jul 2020 13:27:23 +0000 Subject: [Gmsh] Small element size factor does not work In-Reply-To: References: , Message-ID: yes. I did. Surprisingly, when I do the same thing in GUI, it works. That is even more baffling! __ Best Regards Sudipta Saha, MS, EIT Spent Fuel Modeling Intern, Idaho National Laboratory PhD Candidate in Mechanical Engineering Reacting System and Advanced Energy Research Lab Graduate Council Representative, Graduate Student Association LinkedIn | ResearchGate | GoogleScholar | Website [cid:f9512a3e-b4cc-4229-a920-d769954b09b8] ________________________________ From: Vicini Alessandro Sent: Friday, July 24, 2020 2:42 AM To: SAHA, SUDIPTA ; gmsh at onelab.info Subject: R: Small element size factor does not work Did you assign your volume to a physical group?? Da: gmsh Per conto di SAHA, SUDIPTA Inviato: venerd? 24 luglio 2020 05:19 A: gmsh at onelab.info Oggetto: [Gmsh] Small element size factor does not work Hello I am trying mesh a .geo filecommand line. I have added following line in the script to create 3D mesh ( 2D meshing algorithm Automatic, 3D meshing algorithm Frontal, and Element size factor 0.02) Mesh.Algorithm = 2; Mesh.Algorithm3D = 4; Mesh.CharacteristicLengthFactor = 0.02; Mesh 3; Save "SNF_02_cmd.msh"; When I check the mesh file in GUI I do not see existence of 3D mesh. I also confirmed in by importing into OpenFoam and Openfoam also does not find any volume mesh. But the log file clearly says Info : Success ! Info : 238335 points, 1157220 elements Info : Done meshing 3D (Wall 1233.26s, CPU 1222.82s) Why I am not seeing and 3D mesh in the mesh file? The log file is attached. __ Best Regards Sudipta Saha, MS, EIT Spent Fuel Modeling Intern, Idaho National Laboratory PhD Candidate in Mechanical Engineering Reacting System and Advanced Energy Research Lab Graduate Council Representative, Graduate Student Association LinkedIn | ResearchGate | GoogleScholar | Website [cid:image001.jpg at 01D66196.ACF93450] -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.jpg Type: image/jpeg Size: 36177 bytes Desc: image001.jpg URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Outlook-meimw2b1.jpg Type: image/jpeg Size: 36177 bytes Desc: Outlook-meimw2b1.jpg URL: From sahas at email.sc.edu Tue Jul 28 03:33:47 2020 From: sahas at email.sc.edu (SAHA, SUDIPTA) Date: Tue, 28 Jul 2020 01:33:47 +0000 Subject: [Gmsh] How to avoid creating defaultFaces in gmsh to OpenFoam conversion? Message-ID: Hello I am generating 3D mesh in gmsg from command line in terminal. In the script I am adding following lines for 3D meshing: Mesh.Algorithm = 2; Mesh.Algorithm3D = 4; Mesh.CharacteristicLengthFactor = 0.01; Mesh 3; Mesh.MshFileVersion=2.2; Save "SNF_01.msh"; Now when I do gmshToFoam, I can see some additional boundary patches are created named as defaultFaces. In constant/polymesh/boundary I can see defaultFaces { type patch; nFaces 4682; startFace 41763839; } I have run checkMesh utility, at it all seems fine. But OpenFoam does not like this default faces being created. So is there any way I can generate mesh file from gmsh that does not produce defaultFaces when I do mesh conversion in OpenFOAM? __ Best Regards Sudipta Saha, MS, EIT Spent Fuel Modeling Intern, Idaho National Laboratory PhD Candidate in Mechanical Engineering Reacting System and Advanced Energy Research Lab Graduate Council Representative, Graduate Student Association LinkedIn | ResearchGate | GoogleScholar | Website [cid:2ce3829a-db49-4151-93c8-2c138965ab56] -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Outlook-3slxr0fp.jpg Type: image/jpeg Size: 36177 bytes Desc: Outlook-3slxr0fp.jpg URL: From karim.kadryabdelmeguid at epfl.ch Wed Jul 29 15:27:50 2020 From: karim.kadryabdelmeguid at epfl.ch (Kadry Abdelmeguid Karim Hesham Ahmed) Date: Wed, 29 Jul 2020 13:27:50 +0000 Subject: [Gmsh] Does OCC fillet splines? Message-ID: <63a82882502845219d19be8c554c59e0@epfl.ch> Hello Gmsh community, I am learning how to fillet a volume and I'm running into problems when I use closed splines as faces I draw a simple closed spline, define a plane surface, extrude it a small distance. I then try to fillet the face curve belonging to the extruded volume and an error appears which says "could not compute fillet". I also tried various radii to check but it did not work either! Is the kernel able to fillet spline based edges? I am able to fillet the same extruded volume but with circles just fine. Tutorial 19 only deals with circles as the face being extruded and not splines (only as guidewires) so that's not much help. I attached .brep of the volume that I'm having trouble with. Thanks! Karim -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: bug.brep Type: application/octet-stream Size: 6023 bytes Desc: bug.brep URL: From karim.kadryabdelmeguid at epfl.ch Wed Jul 29 20:35:03 2020 From: karim.kadryabdelmeguid at epfl.ch (Kadry Abdelmeguid Karim Hesham Ahmed) Date: Wed, 29 Jul 2020 18:35:03 +0000 Subject: [Gmsh] Does OCC fillet splines? In-Reply-To: References: <63a82882502845219d19be8c554c59e0@epfl.ch>, Message-ID: <5d68881f50a94cb29db802eb02c56735@epfl.ch> Great Idea, please find a simple .geo case that reproduces the problem below: SetFactory("OpenCASCADE"); //+ Point(1) = {-0.5, -0.2, 0, 1.0}; //+ Point(2) = {-1.2, 0.4, 0, 1.0}; //+ Point(3) = {-0.4, 0.4, 0, 1.0}; //+ Point(4) = {-0, 0, 0, 1.0}; //+ Point(5) = {-0.3, -0.1, 0, 1.0}; //+ Point(6) = {-0.8, 0.1, 0, 1.0}; //+ Spline(1) = {2, 3, 4, 5, 6, 2}; //+ Curve Loop(1) = {1}; //+ Surface(1) = {1}; //+ Extrude {0, 0, 5} { Surface{1}; } //+ //Fillet{1}{3}{0.1} I commented out the fillet as that operation gives an error ("Could not fillet shapes"). ________________________________ From: Max Orok Sent: Wednesday, July 29, 2020 8:22:11 PM To: Kadry Abdelmeguid Karim Hesham Ahmed Cc: gmsh at onelab.info Subject: Re: [Gmsh] Does OCC fillet splines? Hi Karim, If possible, you should submit the geo script of your Gmsh session. It will help to see what you've tried already. Max On Wed, Jul 29, 2020 at 1:26 PM Kadry Abdelmeguid Karim Hesham Ahmed > wrote: Hello Gmsh community, I am learning how to fillet a volume and I'm running into problems when I use closed splines as faces I draw a simple closed spline, define a plane surface, extrude it a small distance. I then try to fillet the face curve belonging to the extruded volume and an error appears which says "could not compute fillet". I also tried various radii to check but it did not work either! Is the kernel able to fillet spline based edges? I am able to fillet the same extruded volume but with circles just fine. Tutorial 19 only deals with circles as the face being extruded and not splines (only as guidewires) so that's not much help. I attached .brep of the volume that I'm having trouble with. Thanks! Karim _______________________________________________ gmsh mailing list gmsh at onelab.info http://onelab.info/mailman/listinfo/gmsh -- Max Orok Contractor www.mevex.com [https://docs.google.com/uc?export=download&id=1fHTIiW4OMUjQr1iOkspQ7wiEsxunoOs0&revid=0B6x5w-5zVaEjSkpwbm5oY29jbG1XMzJoYldXTmJpNGFtb3dVPQ] -------------- next part -------------- An HTML attachment was scrubbed... URL: From morok at mevex.com Wed Jul 29 20:22:11 2020 From: morok at mevex.com (Max Orok) Date: Wed, 29 Jul 2020 14:22:11 -0400 Subject: [Gmsh] Does OCC fillet splines? In-Reply-To: <63a82882502845219d19be8c554c59e0@epfl.ch> References: <63a82882502845219d19be8c554c59e0@epfl.ch> Message-ID: Hi Karim, If possible, you should submit the geo script of your Gmsh session. It will help to see what you've tried already. Max On Wed, Jul 29, 2020 at 1:26 PM Kadry Abdelmeguid Karim Hesham Ahmed < karim.kadryabdelmeguid at epfl.ch> wrote: > Hello Gmsh community, > > I am learning how to fillet a volume and I'm running into problems when I > use closed splines as faces > > > I draw a simple closed spline, define a plane surface, extrude it a small > distance. I then try to fillet the face curve belonging to the extruded > volume and an error appears which says "could not compute fillet". > > > I also tried various radii to check but it did not work either! > > Is the kernel able to fillet spline based edges? I am able to fillet the > same extruded volume but with circles just fine. Tutorial 19 only deals > with circles as the face being extruded and not splines (only as > guidewires) so that's not much help. > > > I attached .brep of the volume that I'm having trouble with. > > Thanks! > > Karim > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeremy at seamplex.com Thu Jul 30 12:55:30 2020 From: jeremy at seamplex.com (Jeremy Theler) Date: Thu, 30 Jul 2020 07:55:30 -0300 Subject: [Gmsh] Does OCC fillet splines? In-Reply-To: <5d68881f50a94cb29db802eb02c56735@epfl.ch> References: <63a82882502845219d19be8c554c59e0@epfl.ch> , <5d68881f50a94cb29db802eb02c56735@epfl.ch> Message-ID: <7de05c58d01c39e408d3559f10ef3e3bd89d7118.camel@seamplex.com> It works if you use a smaller radius, say 0.075 --jeremy thelerwww.seamplex.com id="-x-evo-selection-start-marker"> On Wed, 2020-07-29 at 18:35 +0000, Kadry Abdelmeguid Karim Hesham Ahmed wrote: > > > Great Idea, please find a simple .geo case that reproduces the > problem below: > > > > > SetFactory("OpenCASCADE"); > //+ > Point(1) = {-0.5, -0.2, 0, 1.0}; > //+ > Point(2) = {-1.2, 0.4, 0, 1.0}; > //+ > Point(3) = {-0.4, 0.4, 0, 1.0}; > //+ > Point(4) = {-0, 0, 0, 1.0}; > //+ > Point(5) = {-0.3, -0.1, 0, 1.0}; > //+ > Point(6) = {-0.8, 0.1, 0, 1.0}; > //+ > Spline(1) = {2, 3, 4, 5, 6, 2}; > //+ > Curve Loop(1) = {1}; > //+ > Surface(1) = {1}; > //+ > Extrude {0, 0, 5} { > Surface{1}; > } > //+ > //Fillet{1}{3}{0.1} > > > > I commented out the fillet as that operation gives an error ("Could > not fillet shapes"). > > > > > > > From: Max Orok > > Sent: Wednesday, July 29, 2020 8:22:11 PM > > To: Kadry Abdelmeguid Karim Hesham Ahmed > > Cc: gmsh at onelab.info > > Subject: Re: [Gmsh] Does OCC fillet splines? > > > > > > Hi Karim, > > > > > > If possible, you should submit the geo script of your Gmsh session. > It will help to see what you've tried already. > > > > > > > Max > > > > > > > > On Wed, Jul 29, 2020 at 1:26 PM Kadry Abdelmeguid Karim Hesham Ahmed > wrote: > > > > > > > > > > Hello Gmsh community, > > I am learning how to fillet a volume and I'm running into problems > > when I use closed splines as faces > > > > > > > > I draw a simple closed spline, define a plane surface, extrude it a > > small distance. I then try to fillet the face curve belonging to > > the extruded volume and an error appears which says "could not > > compute fillet". > > > > > > > > I also tried various radii to check but it did not work either! > > Is the kernel able to fillet spline based edges? I am able to > > fillet the same extruded volume but with circles just fine. > > Tutorial 19 only deals with circles as the face being extruded and > > not splines (only as guidewires) so that's not much help. > > > > > > > > I attached .brep of the volume that I'm having trouble with. > > Thanks! > > Karim > > > > > > > > > > _______________________________________________ > > > > gmsh mailing list > > > > gmsh at onelab.info > > > > http://onelab.info/mailman/listinfo/gmsh > > > > > > > > > > > _______________________________________________gmsh mailing > listgmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh -------------- next part -------------- An HTML attachment was scrubbed... URL: From pcptsui at gmail.com Mon Aug 3 18:13:03 2020 From: pcptsui at gmail.com (Patrick Tsui) Date: Mon, 3 Aug 2020 12:13:03 -0400 Subject: [Gmsh] Problem of Conformal Meshing at Volume boundaries Message-ID: Dear All, I am having trouble getting conformal meshing at boundaries of volumes. I tried a good number of suggestions found online but failed. For the simple codes tested (listed below and attached), 104 errors appeared. Gmsh 4.7.0 on Ubuntu 19.10 were used. Any help would be highly appreciated. // Code begins ------------------------------------------------------------------------ SetFactory("OpenCASCADE"); mm2m = 0.001; i2m = 0.0254; Geometry.AutoCoherence = 1; Mesh.CharacteristicLengthMin = 0.125*i2m; Mesh.CharacteristicLengthMax = 0.250*i2m; Geometry.Tolerance = 0.01*mm2m; lc = 0.125*i2m; a = 2.0 * i2m; p1=newp; Point(p1) = { a, 0.0, a, lc}; p2=newp; Point(p2) = {-a, 0.0, a, lc}; p3=newp; Point(p3) = {-a, 0.0, -a, lc}; p4=newp; Point(p4) = { a, 0.0, -a, lc}; l1=newl; Line(l1) = {p1, p2}; l2=newl; Line(l2) = {p2, p3}; l3=newl; Line(l3) = {p3, p4}; l4=newl; Line(l4) = {p4, p1}; ll1=newll; Curve Loop(ll1) = {l1, l2, l3, l4}; s1=news; Plane Surface(s1)={ll1}; hh = 0.5*i2m; id[] = Extrude {0,hh,0} { Surface{s1}; Layers{ 1 }; Recombine; }; v1 = id[1]; p5=newp; Point(p5) = { a/2, 0.0, a/2, lc}; p6=newp; Point(p6) = {-a/2, 0.0, a/2, lc}; p7=newp; Point(p7) = {-a/2, 0.0, -a/2, lc}; p8=newp; Point(p8) = { a/2, 0.0, -a/2, lc}; l5=newl; Line(l5) = {p5, p6}; l6=newl; Line(l6) = {p6, p7}; l7=newl; Line(l7) = {p7, p8}; l8=newl; Line(l8) = {p8, p5}; Point {p5,p6,p7,p8} In Surface{s1}; Line {l5,l6,l7,l8} In Surface{s1}; ll2=newll; Curve Loop(ll2) = {l5, l6, l7, l8}; s2=news; Plane Surface(s2)={ll2}; id[] = Extrude {0,-hh,0} { Surface{s2}; Layers{ 1 }; Recombine; }; v2 = id[1]; Surface {s2} In Volume{v1}; v() = BooleanFragments{ Volume{v1}; Delete;}{ Volume{v2}; Delete;}; n=#v(); For i In {0:n-1} Printf("v(%g) = %g",i,v(i)); EndFor Mesh 3; Coherence Mesh; // Code ends ------------------------------------------------------------------------ Sincerely, PT -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: conform.geo Type: application/octet-stream Size: 1405 bytes Desc: not available URL: From sahas at email.sc.edu Mon Aug 3 22:11:59 2020 From: sahas at email.sc.edu (SAHA, SUDIPTA) Date: Mon, 3 Aug 2020 20:11:59 +0000 Subject: [Gmsh] Problem of Conformal Meshing at Volume boundaries In-Reply-To: References: Message-ID: Typically you need to treat conforming geometry before you treat mesh. Try adding Coherence; in the script prior to meshing. If you could send the geo and log file I can check. My email is sahas at cec.sc.edu __ Best Regards Sudipta Saha, MS, EIT Spent Fuel Modeling Intern, Idaho National Laboratory PhD Candidate in Mechanical Engineering Reacting System and Advanced Energy Research Lab Graduate Council Representative, Graduate Student Association LinkedIn | ResearchGate | GoogleScholar | Website [cid:500b8551-0821-42f0-8b09-bb908bc10418] ________________________________ From: gmsh on behalf of Patrick Tsui Sent: Monday, August 3, 2020 12:13 PM To: gmsh at onelab.info Subject: [Gmsh] Problem of Conformal Meshing at Volume boundaries Dear All, I am having trouble getting conformal meshing at boundaries of volumes. I tried a good number of suggestions found online but failed. For the simple codes tested (listed below and attached), 104 errors appeared. Gmsh 4.7.0 on Ubuntu 19.10 were used. Any help would be highly appreciated. // Code begins ------------------------------------------------------------------------ SetFactory("OpenCASCADE"); mm2m = 0.001; i2m = 0.0254; Geometry.AutoCoherence = 1; Mesh.CharacteristicLengthMin = 0.125*i2m; Mesh.CharacteristicLengthMax = 0.250*i2m; Geometry.Tolerance = 0.01*mm2m; lc = 0.125*i2m; a = 2.0 * i2m; p1=newp; Point(p1) = { a, 0.0, a, lc}; p2=newp; Point(p2) = {-a, 0.0, a, lc}; p3=newp; Point(p3) = {-a, 0.0, -a, lc}; p4=newp; Point(p4) = { a, 0.0, -a, lc}; l1=newl; Line(l1) = {p1, p2}; l2=newl; Line(l2) = {p2, p3}; l3=newl; Line(l3) = {p3, p4}; l4=newl; Line(l4) = {p4, p1}; ll1=newll; Curve Loop(ll1) = {l1, l2, l3, l4}; s1=news; Plane Surface(s1)={ll1}; hh = 0.5*i2m; id[] = Extrude {0,hh,0} { Surface{s1}; Layers{ 1 }; Recombine; }; v1 = id[1]; p5=newp; Point(p5) = { a/2, 0.0, a/2, lc}; p6=newp; Point(p6) = {-a/2, 0.0, a/2, lc}; p7=newp; Point(p7) = {-a/2, 0.0, -a/2, lc}; p8=newp; Point(p8) = { a/2, 0.0, -a/2, lc}; l5=newl; Line(l5) = {p5, p6}; l6=newl; Line(l6) = {p6, p7}; l7=newl; Line(l7) = {p7, p8}; l8=newl; Line(l8) = {p8, p5}; Point {p5,p6,p7,p8} In Surface{s1}; Line {l5,l6,l7,l8} In Surface{s1}; ll2=newll; Curve Loop(ll2) = {l5, l6, l7, l8}; s2=news; Plane Surface(s2)={ll2}; id[] = Extrude {0,-hh,0} { Surface{s2}; Layers{ 1 }; Recombine; }; v2 = id[1]; Surface {s2} In Volume{v1}; v() = BooleanFragments{ Volume{v1}; Delete;}{ Volume{v2}; Delete;}; n=#v(); For i In {0:n-1} Printf("v(%g) = %g",i,v(i)); EndFor Mesh 3; Coherence Mesh; // Code ends ------------------------------------------------------------------------ Sincerely, PT -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Outlook-55pg10sw.jpg Type: image/jpeg Size: 36177 bytes Desc: Outlook-55pg10sw.jpg URL: From t.eschner at dokom.net Wed Aug 5 10:12:34 2020 From: t.eschner at dokom.net (t.eschner at dokom.net) Date: Wed, 05 Aug 2020 08:12:34 +0000 Subject: [Gmsh] integration, spikes Message-ID: <20200805081234.Horde.K-MGW_wqjnpV6nXLN2lPaak@www.dokom21-webagent.de> Dear all, trying to get acquainted with gmsh/getdp, I stumbled upon two problems that?I am not able to resolve. I am trying to model a simple conductive cell with two electrodes, a simple one and a structured one. To me, the results look quite realistic so far (I am still in the stage of checking), with two exceptions: The first: When I try to calculate the overall current by calling plugin(Integrate) on views slightly above the simple electrode, I get two different results (for the vector view -8,88 and the x-component view -39,9), and neither is close enough to the expected value of -2x(4,94..4,99). The second: The current density field has few spiky values that I do not know how to cure. Their position seems to be constant, the values seem to change with the grid parameters, and it might be getdp-related.? Please, have a look and give me a hint on how to correct/proceed. Thank you. Kind regards, Thomas -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: porous_electrode.zip Type: application/zip Size: 2614 bytes Desc: not available URL: From lihao71862b at gmail.com Sun Aug 9 13:31:01 2020 From: lihao71862b at gmail.com (=?UTF-8?B?5p2O5piK?=) Date: Sun, 9 Aug 2020 20:31:01 +0900 Subject: [Gmsh] Generate a CFD mesh Message-ID: Dear Gmsh developers, We would like to generate a high-quality mesh for the Fluid-structure-interaction simulation. The Geometry is read from a CAD file (step). The inner block in the red circle is the solid domain and the outer block is the fluid domain. We hope to refine the mesh only on the fluid-solid interface while remaining the coarse meshes in the rest of the domains. Is it possible to do that? The geo file is attached. [image: image.png] Thanks very much in advance! Sincerely yours, Hao -- ?? LI HAO Manufacturing Systems Engineering Laboratory (Nishiwaki Lab) Department of Mechanical Engineering and Science Graduate School Of Engineering Kyoto University Ph.D Student -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 82407 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Part1.geo Type: application/octet-stream Size: 100 bytes Desc: not available URL: From sahas at email.sc.edu Sun Aug 9 22:41:39 2020 From: sahas at email.sc.edu (SAHA, SUDIPTA) Date: Sun, 9 Aug 2020 20:41:39 +0000 Subject: [Gmsh] Generate a CFD mesh In-Reply-To: References: Message-ID: Yes. It is possible. You have to mesh in the gmsh script. I would say have denser Transfinite mesh along the formation of boundary layer. This is a nice visualization on how transfinite mesh can be formed and distributed from denser to coarser and vice versa by altering the Progression parameter in the script. https://www.youtube.com/watch?v=O1FyiBBuN98 https://www.youtube.com/watch?v=ewp3VGyymK4 And I emphasize on the practicing the t6.geo tutorial described in the gmsh manual. __ Best Regards Sudipta Saha, MS, EIT Spent Fuel Modeling Intern, Idaho National Laboratory PhD Candidate in Mechanical Engineering Reacting System and Advanced Energy Research Lab Graduate Council Representative, Graduate Student Association LinkedIn | ResearchGate | GoogleScholar | Website [cid:daefd920-4e61-45bd-8c0b-e276bd293205] ________________________________ From: gmsh on behalf of ?? Sent: Sunday, August 9, 2020 7:31 AM To: gmsh at onelab.info Cc: li.hao.48z at st.kyoto-u.ac.jp Subject: [Gmsh] Generate a CFD mesh Dear Gmsh developers, We would like to generate a high-quality mesh for the Fluid-structure-interaction simulation. The Geometry is read from a CAD file (step). The inner block in the red circle is the solid domain and the outer block is the fluid domain. We hope to refine the mesh only on the fluid-solid interface while remaining the coarse meshes in the rest of the domains. Is it possible to do that? The geo file is attached. [image.png] Thanks very much in advance! Sincerely yours, Hao -- ?? LI HAO Manufacturing Systems Engineering Laboratory (Nishiwaki Lab) Department of Mechanical Engineering and Science Graduate School Of Engineering Kyoto University Ph.D Student -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 82407 bytes Desc: image.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Outlook-b0c5apsk.jpg Type: image/jpeg Size: 36177 bytes Desc: Outlook-b0c5apsk.jpg URL: From li.hao.48z at st.kyoto-u.ac.jp Mon Aug 10 11:42:44 2020 From: li.hao.48z at st.kyoto-u.ac.jp (li.hao.48z at st.kyoto-u.ac.jp) Date: Mon, 10 Aug 2020 09:42:44 +0000 Subject: [Gmsh] Generate a CFD mesh In-Reply-To: References: , Message-ID: Dear Dr. Saha, Thanks very much for your kind guidance! Let us take a try based on these tutorials. Sincerely yours, Hao ________________________________ From: SAHA, SUDIPTA Sent: 10 August 2020 5:41 To: ?? ; gmsh at onelab.info Cc: li.hao.48z at st.kyoto-u.ac.jp Subject: Re: [Gmsh] Generate a CFD mesh Yes. It is possible. You have to mesh in the gmsh script. I would say have denser Transfinite mesh along the formation of boundary layer. This is a nice visualization on how transfinite mesh can be formed and distributed from denser to coarser and vice versa by altering the Progression parameter in the script. https://www.youtube.com/watch?v=O1FyiBBuN98 https://www.youtube.com/watch?v=ewp3VGyymK4 And I emphasize on the practicing the t6.geo tutorial described in the gmsh manual. __ Best Regards Sudipta Saha, MS, EIT Spent Fuel Modeling Intern, Idaho National Laboratory PhD Candidate in Mechanical Engineering Reacting System and Advanced Energy Research Lab Graduate Council Representative, Graduate Student Association LinkedIn | ResearchGate | GoogleScholar | Website [cid:daefd920-4e61-45bd-8c0b-e276bd293205] ________________________________ From: gmsh on behalf of ?? Sent: Sunday, August 9, 2020 7:31 AM To: gmsh at onelab.info Cc: li.hao.48z at st.kyoto-u.ac.jp Subject: [Gmsh] Generate a CFD mesh Dear Gmsh developers, We would like to generate a high-quality mesh for the Fluid-structure-interaction simulation. The Geometry is read from a CAD file (step). The inner block in the red circle is the solid domain and the outer block is the fluid domain. We hope to refine the mesh only on the fluid-solid interface while remaining the coarse meshes in the rest of the domains. Is it possible to do that? The geo file is attached. [image.png] Thanks very much in advance! Sincerely yours, Hao -- ?? LI HAO Manufacturing Systems Engineering Laboratory (Nishiwaki Lab) Department of Mechanical Engineering and Science Graduate School Of Engineering Kyoto University Ph.D Student -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 82407 bytes Desc: image.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Outlook-b0c5apsk.jpg Type: image/jpeg Size: 36177 bytes Desc: Outlook-b0c5apsk.jpg URL: From bart.deschoolmeester at bbri.be Fri Aug 14 12:43:32 2020 From: bart.deschoolmeester at bbri.be (Bart Deschoolmeester) Date: Fri, 14 Aug 2020 10:43:32 +0000 Subject: [Gmsh] Gaps and overlaps when using extrude command Message-ID: Hi, I am a beginner. While working on a larger 3D project I noticed some gaps and overlaps. I plan to simulate the heat transfer. I assume gaps and overlaps are to be avoided to get a good simulation. Correct? I tracked down the origin of the gaps and overlaps and it seems to be the extrude command causing the trouble. The file below draws a rectangle with a round hole in the middle. In the hole a ring (annulus) is drawn. If I create the ring with the BooleanDifference command (difference of two circles): all works fine. All triangles line up perfectly around the contact line of ring and hole. If I create the ring with the Extrude command, things don't line up. Of course I could opt for the booleandifference command for this problem but: * I cannot use this booleandifference solution in my 3D problem * I can imagine these holes and overlaps also being produced in other curved contact surfaces. Is this a bug in GMSH or the be expected in more elaborate meshes? How can it be resolved? Thank you! Bart KanR = DefineNumber[ 0.1, Name "Parameters/KanR" ]; KanMeshsize = DefineNumber[ 0.05, Name "Parameters/KanMeshsize" ]; SetFactory("OpenCASCADE"); Rectangle(1) = {-2.5, -2.5, 0, 5, 5, 0}; Circle(5) = {0, 0, 0, KanR, 0, 2*Pi}; Curve Loop(2) = {5}; Plane Surface(2) = {2}; BooleanDifference{ Surface{1}; Delete; }{ Surface{2}; Delete; } Point(15) = {0, KanR, 0}; Point(16) = {0, KanR-0.05, 0}; Line(20) = {15, 16}; Extrude {{0, 0, 1}, {0, 0, 0}, 2*Pi} { Curve{20}; } Field[1] = Distance; //+ Field[1].EdgesList = {5}; //+ Field[1].NNodesByEdge = 50; //+ Field[2] = Threshold; //+ Field[2].DistMax = 2.5; //+ Field[2].DistMin = 0; //+ Field[2].IField = 1; //+ Field[2].LcMax = 0.25; //+ Field[2].LcMin = KanMeshsize ; Background Field = 2; Mesh.CharacteristicLengthExtendFromBoundary = 0; Mesh.CharacteristicLengthFromPoints = 0; Mesh.CharacteristicLengthFromCurvature = 0; -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeremy at seamplex.com Fri Aug 14 13:21:12 2020 From: jeremy at seamplex.com (Jeremy Theler) Date: Fri, 14 Aug 2020 08:21:12 -0300 Subject: [Gmsh] Gaps and overlaps when using extrude command In-Reply-To: References: Message-ID: <20d6444fff07f8e075516bfd8e6a009e6e922a32.camel@seamplex.com> Add Coherence; and you'll be fine. On Fri, 2020-08-14 at 10:43 +0000, Bart Deschoolmeester wrote: > Hi, > I am a beginner. > While working on a larger 3D project I noticed some gaps and > overlaps. > I plan to simulate the heat transfer. > I assume gaps and overlaps are to be avoided to get a good > simulation. Correct? > > I tracked down the origin of the gaps and overlaps and it seems to be > the extrude command causing the trouble. > The file below draws a rectangle with a round hole in the middle. In > the hole a ring (annulus) is drawn. > If I create the ring with the BooleanDifference command (difference > of two circles): all works fine. All triangles line up perfectly > around the contact line of ring and hole. > If I create the ring with the Extrude command, things don?t line up. > > Of course I could opt for the booleandifference command for this > problem but: > > I cannot use this booleandifference solution in my 3D problemI can > imagine these holes and overlaps also being produced in other curved > contact surfaces. > > Is this a bug in GMSH or the be expected in more elaborate meshes? > How can it be resolved? > > Thank you! > > Bart > > > KanR = DefineNumber[ 0.1, Name "Parameters/KanR" ]; > KanMeshsize = DefineNumber[ 0.05, Name "Parameters/KanMeshsize" ]; > SetFactory("OpenCASCADE"); > Rectangle(1) = {-2.5, -2.5, 0, 5, 5, 0}; > Circle(5) = {0, 0, 0, KanR, 0, 2*Pi}; > Curve Loop(2) = {5}; > Plane Surface(2) = {2}; > BooleanDifference{ Surface{1}; Delete; }{ Surface{2}; Delete; } > Point(15) = {0, KanR, 0}; > Point(16) = {0, KanR-0.05, 0}; > Line(20) = {15, 16}; > Extrude {{0, 0, 1}, {0, 0, 0}, 2*Pi} { > Curve{20}; > } > Field[1] = Distance; > //+ > Field[1].EdgesList = {5}; > //+ > Field[1].NNodesByEdge = 50; > //+ > Field[2] = Threshold; > //+ > Field[2].DistMax = 2.5; > //+ > Field[2].DistMin = 0; > //+ > Field[2].IField = 1; > //+ > Field[2].LcMax = 0.25; > //+ > Field[2].LcMin = KanMeshsize ; > > > Background Field = 2; > > Mesh.CharacteristicLengthExtendFromBoundary = 0; > Mesh.CharacteristicLengthFromPoints = 0; > Mesh.CharacteristicLengthFromCurvature = 0; > > > > > > > > _______________________________________________gmsh mailing > listgmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeremy at seamplex.com Fri Aug 14 15:51:12 2020 From: jeremy at seamplex.com (Jeremy Theler) Date: Fri, 14 Aug 2020 10:51:12 -0300 Subject: [Gmsh] Gaps and overlaps when using extrude command In-Reply-To: References: <20d6444fff07f8e075516bfd8e6a009e6e922a32.camel@seamplex.com> Message-ID: Sure, the Coherence command performs a Boolean Fragments operation and the ids of the entities are modified.Just set the appropiate id of the new entities in the EdgesList of your field: Field[1].EdgesList = {25,26}; Regards--jeremy thelerwww.seamplex.com On Fri, 2020-08-14 at 13:41 +0000, Bart Deschoolmeester wrote: > Thanks Jeremy, > Adding ?Coherence;? to the script messes with the mesh size. > Adding ?Coherence;? through the tree menu in the left pane works. But > when you reload that script (now with the coherence added at the > end), it messes again with the mesh size. > > (best change the ?KanMeshsize? parameter in my script to ?0.01? for > it to be very clear). > > Strange that reloading an unchanged script gives different results? > > Bart > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bart.deschoolmeester at bbri.be Fri Aug 14 15:41:50 2020 From: bart.deschoolmeester at bbri.be (Bart Deschoolmeester) Date: Fri, 14 Aug 2020 13:41:50 +0000 Subject: [Gmsh] Gaps and overlaps when using extrude command In-Reply-To: <20d6444fff07f8e075516bfd8e6a009e6e922a32.camel@seamplex.com> References: <20d6444fff07f8e075516bfd8e6a009e6e922a32.camel@seamplex.com> Message-ID: Thanks Jeremy, Adding ?Coherence;? to the script messes with the mesh size. Adding ?Coherence;? through the tree menu in the left pane works. But when you reload that script (now with the coherence added at the end), it messes again with the mesh size. (best change the ?KanMeshsize? parameter in my script to ?0.01? for it to be very clear). Strange that reloading an unchanged script gives different results? Bart -------------- next part -------------- An HTML attachment was scrubbed... URL: From mau.rohracker at fau.de Fri Aug 14 16:16:51 2020 From: mau.rohracker at fau.de (Rohracker, Maurice) Date: Fri, 14 Aug 2020 16:16:51 +0200 Subject: [Gmsh] Comparison of different meshes Message-ID: Dear GMSH user and developer, I created two meshes for a box with a spherical inclusion around the origin, one with tetrahedra and one with hexahedra. For both, I created a simple load case in Abaqus and compared both results in a short report (see attached). In the report, a more detail explanation of the load case is given as well. Do you have any idea, why in the hexahedral case, the stress results are not that smooth like in the tetrahedral case? Could it be that I missed some option while creating the hexahedral mesh? Are there any options which could improve the mesh and such also the results? Or are these things related to the simulation I am doing? Do you have any similar experience with such behaviour? We are using GMSH 4.4.1. If you need more information, please let me know. Thank you very much in advance. Best regards, Maurice Rohracker Master Computational Engineering FAU Erlangen-N?rnberg -------------- next part -------------- A non-text attachment was scrubbed... Name: MeshResultReport.pdf Type: application/pdf Size: 1540218 bytes Desc: not available URL: From morok at mevex.com Fri Aug 14 17:06:08 2020 From: morok at mevex.com (Max Orok) Date: Fri, 14 Aug 2020 11:06:08 -0400 Subject: [Gmsh] Comparison of different meshes In-Reply-To: References: Message-ID: Hi Maurice, The hexahedral mesh (and also the tetrahedral mesh) seems quite coarse. Could you refine the mesh and see if the result smoothes out? Sincerely, Max On Fri, Aug 14, 2020 at 10:25 AM Rohracker, Maurice wrote: > Dear GMSH user and developer, > > I created two meshes for a box with a spherical inclusion around the > origin, one with tetrahedra and one with hexahedra. For both, I created > a simple load case in Abaqus and compared both results in a short report > (see attached). In the report, a more detail explanation of the load > case is given as well. > > Do you have any idea, why in the hexahedral case, the stress results are > not that smooth like in the tetrahedral case? Could it be that I missed > some option while creating the hexahedral mesh? Are there any options > which could improve the mesh and such also the results? Or are these > things related to the simulation I am doing? > > Do you have any similar experience with such behaviour? > > We are using GMSH 4.4.1. > > If you need more information, please let me know. > > Thank you very much in advance. > > Best regards, > Maurice Rohracker > Master Computational Engineering > FAU Erlangen-N?rnberg_______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From marc.graham at campus.tu-berlin.de Sat Aug 15 10:52:42 2020 From: marc.graham at campus.tu-berlin.de (Marc) Date: Sat, 15 Aug 2020 10:52:42 +0200 Subject: [Gmsh] 2D Mesh (P2) has some reverse ordering, negative determinants Message-ID: <2ad79421-fa4d-3810-83bf-012ea74f0cca@campus.tu-berlin.de> Hello all, Not sure if this is a bug, but I have been trying to figure out where some weird results are coming from and I think it is because some elements in the meshes are ordered in reverse, some of the time.? Here is a simple example: // Gmsh project created on Fri Aug 14 22:33:15 2020 //+ Point(1) = {0, 0, 0, 0.5}; //+ Point(2) = {0.4, 0.2, 0, 0.5}; //+ Point(3) = {0.6, 0.2, 0, 0.5}; //+ Point(4) = {1., 0, 0, 0.5}; //+ Point(5) = {1., 1., 0, 0.5}; //+ Point(6) = {0., 1., 0, 0.5}; //+ Point(7) = {0.4, 0.4, 0, 0.5}; //+ Point(8) = {0.6, 0.4, 0, 0.5}; //+ Line(1) = {1, 4}; //+ Line(2) = {4, 5}; //+ Line(3) = {5, 6}; //+ Line(4) = {6, 1}; //+ Line(6) = {2, 3}; //+ Line(7) = {3, 8}; //+ Line(8) = {8, 7}; //+ Line(9) = {7, 2}; //+ Curve Loop(1) = {9, 6, 7, 8}; //+ Plane Surface(1) = {1}; //+ Curve Loop(2) = {4, 1, 2, 3}; //+ Plane Surface(2) = {1, 2}; //+ Physical Curve("zero") = {4}; //+ Physical Curve("one") = {9, 8, 7, 6}; //+ Physical Surface("main") = {2, 1}; In my case, I am doing this with second order triangles.? The following elements are reverse ordered: 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 According to the documentation in section "9.2.2 High-order elements": The orientation of a face is such that the computed normal points outward; the starting point is the node with the lowest index. But if the mesh is strictly 2D and all on one plane, I would expect the code to give all elements the same normal direction. In my example the hole and the main square have different normal directions. I think this is unexpected behaviour. I am using 4.6.0 Thanks for all your great work! Regards, Marc -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: pEpkey.asc Type: application/pgp-keys Size: 2460 bytes Desc: not available URL: From bart.deschoolmeester at bbri.be Sat Aug 15 12:25:42 2020 From: bart.deschoolmeester at bbri.be (Bart Deschoolmeester) Date: Sat, 15 Aug 2020 10:25:42 +0000 Subject: [Gmsh] Gaps and overlaps when using extrude command In-Reply-To: References: <20d6444fff07f8e075516bfd8e6a009e6e922a32.camel@seamplex.com> Message-ID: Thanks again, Jeremy. You seem to have nailed the origin of the problem. It still feels as a bug to me that reloading a script one just created, gives a different result. Or am I missing something on how GMSH works? Stranger still: Action 1: Load the file below (without Coherence in the script). Click: 3D then Coherence then again 3D. This gives an error. Action 2: Load the file below (without Coherence in the script). Click: 3D then Coherence then 1D then again 3D. This gives the wanted results. This seems all unintuitive to me. Am I missing something of the GMSH logic? e.g. doesn?t clicking on the coherence command, execute that coherence command? Bart KanR = DefineNumber[ 0.1, Name "Parameters/KanR" ]; WanD = DefineNumber[ 0.2, Name "Parameters/WanD" ]; KanMeshsize = DefineNumber[ 0.01, Name "Parameters/KanMeshsize" ]; SetFactory("OpenCASCADE"); Rectangle(1) = {-2.5, -2.5, 0, 5, 5, 0}; Circle(5) = {0, 0, 0, KanR, 0, 2*Pi}; Curve Loop(2) = {5}; Plane Surface(2) = {2}; BooleanDifference{ Surface{1}; Delete; }{ Surface{2}; Delete; } Extrude {0, 0, WanD } { Surface{1}; } Point(15) = {0, KanR, 0}; Point(16) = {0, KanR-0.05, 0}; Point(17) = {0, KanR-0.05, WanD}; Point(18) = {0, KanR, WanD}; Line(20) = {15, 16}; Line(21) = {16, 17}; Line(22) = {17, 18}; Line(23) = {18, 15}; Curve Loop(24) = {20, 21, 22, 23}; Plane Surface(8) = {24}; Extrude {{0, 0, 1}, {0, 0, 0}, Pi} { Surface{8}; Layers {10}; } Field[1] = Distance; Field[1].EdgesList = {5}; Field[1].NNodesByEdge = 50; Field[2] = Threshold; Field[2].DistMax = 2.5; Field[2].DistMin = 0; Field[2].IField = 1; Field[2].LcMax = 0.25; Field[2].LcMin = KanMeshsize ; Background Field = 2; Mesh.CharacteristicLengthExtendFromBoundary = 0; Mesh.CharacteristicLengthFromPoints = 0; Mesh.CharacteristicLengthFromCurvature = 0; -------------- next part -------------- An HTML attachment was scrubbed... URL: From bart.deschoolmeester at bbri.be Sat Aug 15 12:26:18 2020 From: bart.deschoolmeester at bbri.be (Bart Deschoolmeester) Date: Sat, 15 Aug 2020 10:26:18 +0000 Subject: [Gmsh] Mesh generation error because of rotational extrusion? Message-ID: Hi all, See the line (below): Extrude {{0, 0, 1}, {0, 0, 0}, 1.4*Pi} { Surface{8}; Layers {25}; } Changing 1.4 to 1.5: gives errors. Extrude {{0, 0, 1}, {0, 0, 0}, 1.5*Pi} { Surface{8}; Layers {25}; } Am I doing something wrong? Bart ----------------------- KanR = DefineNumber[ 0.1, Name "Parameters/KanR" ]; WanD = DefineNumber[ 0.2, Name "Parameters/WanD" ]; KanMeshsize = DefineNumber[ 0.01, Name "Parameters/KanMeshsize" ]; SetFactory("OpenCASCADE"); Rectangle(1) = {-2.5, -2.5, 0, 5, 5, 0}; Circle(5) = {0, 0, 0, KanR, 0, 2*Pi}; Curve Loop(2) = {5}; Plane Surface(2) = {2}; BooleanDifference{ Surface{1}; Delete; }{ Surface{2}; Delete; } Extrude {0, 0, WanD } { Surface{1}; } Point(15) = {0, KanR, 0}; Point(16) = {0, KanR-0.05, 0}; Point(17) = {0, KanR-0.05, WanD}; Point(18) = {0, KanR, WanD}; Line(20) = {15, 16}; Line(21) = {16, 17}; Line(22) = {17, 18}; Line(23) = {18, 15}; Curve Loop(24) = {20, 21, 22, 23}; Plane Surface(8) = {24}; Extrude {{0, 0, 1}, {0, 0, 0}, 1.4*Pi} { Surface{8}; Layers {25}; } Field[1] = Distance; Field[1].EdgesList = {5}; Field[1].NNodesByEdge = 50; Field[2] = Threshold; Field[2].DistMax = 2.5; Field[2].DistMin = 0; Field[2].IField = 1; Field[2].LcMax = 0.25; Field[2].LcMin = KanMeshsize ; Background Field = 2; Mesh.CharacteristicLengthExtendFromBoundary = 0; Mesh.CharacteristicLengthFromPoints = 0; Mesh.CharacteristicLengthFromCurvature = 0; -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeremy at seamplex.com Sat Aug 15 16:03:57 2020 From: jeremy at seamplex.com (jeremy theler) Date: Sat, 15 Aug 2020 11:03:57 -0300 Subject: [Gmsh] Gaps and overlaps when using extrude command In-Reply-To: References: <20d6444fff07f8e075516bfd8e6a009e6e922a32.camel@seamplex.com> Message-ID: I am not sure because I seldom use the GUI. But what I am pretty sure of is that Gmsh works the way it should. It would help to know what the actual errors you get are. -- jeremy theler www.seamplex.com On Sat, Aug 15, 2020, 07:25 Bart Deschoolmeester < bart.deschoolmeester at bbri.be> wrote: > Thanks again, Jeremy. > > You seem to have nailed the origin of the problem. > > It still feels as a bug to me that reloading a script one just created, > gives a different result. > > Or am I missing something on how GMSH works? > > > > Stranger still: > > Action 1: > > Load the file below (without Coherence in the script). > > Click: 3D then Coherence then again 3D. This gives an error. > > Action 2: > > Load the file below (without Coherence in the script). > > Click: 3D then Coherence then 1D then again 3D. This gives the wanted > results. > > > > This seems all unintuitive to me. Am I missing something of the GMSH logic? > > e.g. doesn?t clicking on the coherence command, execute that coherence > command? > > > > Bart > > > > > > > > KanR = DefineNumber[ 0.1, Name "Parameters/KanR" ]; > > WanD = DefineNumber[ 0.2, Name "Parameters/WanD" ]; > > KanMeshsize = DefineNumber[ 0.01, Name "Parameters/KanMeshsize" ]; > > SetFactory("OpenCASCADE"); > > Rectangle(1) = {-2.5, -2.5, 0, 5, 5, 0}; > > Circle(5) = {0, 0, 0, KanR, 0, 2*Pi}; > > Curve Loop(2) = {5}; > > Plane Surface(2) = {2}; > > BooleanDifference{ Surface{1}; Delete; }{ Surface{2}; Delete; } > > Extrude {0, 0, WanD } { > > Surface{1}; > > } > > Point(15) = {0, KanR, 0}; > > Point(16) = {0, KanR-0.05, 0}; > > Point(17) = {0, KanR-0.05, WanD}; > > Point(18) = {0, KanR, WanD}; > > Line(20) = {15, 16}; > > Line(21) = {16, 17}; > > Line(22) = {17, 18}; > > Line(23) = {18, 15}; > > Curve Loop(24) = {20, 21, 22, 23}; > > Plane Surface(8) = {24}; > > Extrude {{0, 0, 1}, {0, 0, 0}, Pi} { > > Surface{8}; Layers {10}; > > } > > Field[1] = Distance; > > Field[1].EdgesList = {5}; > > Field[1].NNodesByEdge = 50; > > Field[2] = Threshold; > > Field[2].DistMax = 2.5; > > Field[2].DistMin = 0; > > Field[2].IField = 1; > > Field[2].LcMax = 0.25; > > Field[2].LcMin = KanMeshsize ; > > > > Background Field = 2; > > > > Mesh.CharacteristicLengthExtendFromBoundary = 0; > > Mesh.CharacteristicLengthFromPoints = 0; > > Mesh.CharacteristicLengthFromCurvature = 0; > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bart.deschoolmeester at bbri.be Mon Aug 17 10:16:50 2020 From: bart.deschoolmeester at bbri.be (Bart Deschoolmeester) Date: Mon, 17 Aug 2020 08:16:50 +0000 Subject: [Gmsh] Coherence 'could not find extruded vertex' error Message-ID: Hello, Sorry to bother everybody again. I'm a beginner and I seem to run in on one error after another. I'm using GMSH 4.7.0 (I came across GMSH trough the onelab website) on Windows 10. See the script below (from a bigger 3D project where I try to narrow down the errors I get). I get a good 3D mesh but at the curve where the two objects meet, the mesh is not aligned. Using the coherence command I get a large list of errors of the type: Error : could not find extruded vertex (0.08443279255020152, -0.053826794978966, 0). Yet, if I change the point y-coordinates to a positive number: Point(23) = {0, 0.1, 0}; Point(24) = {0, 0.05, 0}; Point(25) = {0, 0.05, WanD}; Point(26) = {0, 0.1, WanD}; All works as expected. Thanks for the help. Bart ----------------------- KanR = DefineNumber[ 0.1, Name "Parameters/KanR" ]; WanD = DefineNumber[ 0.2, Name "Parameters/WanD" ]; KanMeshsize = DefineNumber[ 0.01, Name "Parameters/KanMeshsize" ]; SetFactory("OpenCASCADE"); Rectangle(1) = {-2.5, -2.5, 0, 5, 5, 0}; Circle(5) = {0, 0, 0, KanR, 0, 2*Pi}; Curve Loop(2) = {5}; Plane Surface(2) = {2}; BooleanDifference{ Surface{1}; Delete; }{ Surface{2}; Delete; } Extrude {0, 0, WanD } { Surface{1}; } Point(23) = {0, -0.1, 0}; Point(24) = {0, -0.05, 0}; Point(25) = {0, -0.05, WanD}; Point(26) = {0, -0.1, WanD}; Line(32) = {23, 24}; Line(33) = {24, 25}; Line(34) = {25, 26}; Line(35) = {26, 23}; Curve Loop(30) = {34, 35, 32, 33}; Plane Surface(14) = {30}; Extrude {{0, 0, 1}, {0, 0, 0}, Pi} { Surface{14}; Layers{25}; } Field[1] = Distance; Field[1].EdgesList = {5}; Field[1].NNodesByEdge = 50; Field[2] = Threshold; Field[2].DistMax = 2.5; Field[2].DistMin = 0; Field[2].IField = 1; Field[2].LcMax = 0.25; Field[2].LcMin = KanMeshsize ; Background Field = 2; Mesh.CharacteristicLengthExtendFromBoundary = 0; Mesh.CharacteristicLengthFromPoints = 0; Mesh.CharacteristicLengthFromCurvature = 0; -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeremy at seamplex.com Mon Aug 17 12:42:28 2020 From: jeremy at seamplex.com (Jeremy Theler) Date: Mon, 17 Aug 2020 07:42:28 -0300 Subject: [Gmsh] Coherence 'could not find extruded vertex' error In-Reply-To: References: Message-ID: On Mon, 2020-08-17 at 08:16 +0000, Bart Deschoolmeester wrote: > Hello, > > Sorry to bother everybody again. > > I?m a beginner and I seem to run in on one error after another. I?m > using GMSH 4.7.0 (I came across GMSH trough the onelab website) on > Windows 10. How does the future look Martin? Sad to see that people sill use Windows :-( > > > See the script below (from a bigger 3D project where I try to narrow > down the errors I get). > > I get a good 3D mesh but at the curve where the two objects meet, the > mesh is not aligned. > > Using the coherence command I get a large list of errors of the type: > > Error : could not find extruded vertex (0.08443279255020152, > -0.053826794978966, 0). Try to re-use line 18 for the last extrude instead of creating a new edge 35. -- jeremy theler www.seamplex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Mon Aug 17 13:16:18 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 17 Aug 2020 13:16:18 +0200 Subject: [Gmsh] Coherence 'could not find extruded vertex' error In-Reply-To: References: Message-ID: Dear Bart, What are you trying to achieve? As Jeremy explained, your geometry is non-conformal. Do you want to create a conformal mesh? If so you'll need to have a conformal geometry first. Christophe > On 17 Aug 2020, at 10:16, Bart Deschoolmeester wrote: > > Hello, > Sorry to bother everybody again. > I?m a beginner and I seem to run in on one error after another. I?m using GMSH 4.7.0 (I came across GMSH trough the onelab website) on Windows 10. > > See the script below (from a bigger 3D project where I try to narrow down the errors I get). > I get a good 3D mesh but at the curve where the two objects meet, the mesh is not aligned. > Using the coherence command I get a large list of errors of the type: > Error : could not find extruded vertex (0.08443279255020152, -0.053826794978966, 0). > > Yet, if I change the point y-coordinates to a positive number: > Point(23) = {0, 0.1, 0}; > Point(24) = {0, 0.05, 0}; > Point(25) = {0, 0.05, WanD}; > Point(26) = {0, 0.1, WanD}; > > All works as expected. > > Thanks for the help. > Bart > > > ----------------------- > > KanR = DefineNumber[ 0.1, Name "Parameters/KanR" ]; > WanD = DefineNumber[ 0.2, Name "Parameters/WanD" ]; > KanMeshsize = DefineNumber[ 0.01, Name "Parameters/KanMeshsize" ]; > SetFactory("OpenCASCADE"); > Rectangle(1) = {-2.5, -2.5, 0, 5, 5, 0}; > Circle(5) = {0, 0, 0, KanR, 0, 2*Pi}; > Curve Loop(2) = {5}; > Plane Surface(2) = {2}; > BooleanDifference{ Surface{1}; Delete; }{ Surface{2}; Delete; } > Extrude {0, 0, WanD } { > Surface{1}; > } > > Point(23) = {0, -0.1, 0}; > Point(24) = {0, -0.05, 0}; > Point(25) = {0, -0.05, WanD}; > Point(26) = {0, -0.1, WanD}; > Line(32) = {23, 24}; > Line(33) = {24, 25}; > Line(34) = {25, 26}; > Line(35) = {26, 23}; > Curve Loop(30) = {34, 35, 32, 33}; > Plane Surface(14) = {30}; > Extrude {{0, 0, 1}, {0, 0, 0}, Pi} { > Surface{14}; Layers{25}; > } > > Field[1] = Distance; > Field[1].EdgesList = {5}; > Field[1].NNodesByEdge = 50; > Field[2] = Threshold; > Field[2].DistMax = 2.5; > Field[2].DistMin = 0; > Field[2].IField = 1; > Field[2].LcMax = 0.25; > Field[2].LcMin = KanMeshsize ; > > Background Field = 2; > > Mesh.CharacteristicLengthExtendFromBoundary = 0; > Mesh.CharacteristicLengthFromPoints = 0; > Mesh.CharacteristicLengthFromCurvature = 0; > _______________________________________________ > 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 From cgeuzaine at uliege.be Mon Aug 17 13:18:56 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 17 Aug 2020 13:18:56 +0200 Subject: [Gmsh] 2D Mesh (P2) has some reverse ordering, negative determinants In-Reply-To: <2ad79421-fa4d-3810-83bf-012ea74f0cca@campus.tu-berlin.de> References: <2ad79421-fa4d-3810-83bf-012ea74f0cca@campus.tu-berlin.de> Message-ID: <6312056C-C7C7-4304-A3B4-92CDE2BAC914@uliege.be> > On 15 Aug 2020, at 10:52, Marc wrote: > > Hello all, > > > > Not sure if this is a bug, but I have been trying to figure out where some weird results are coming from and I think it is because some elements in the meshes are ordered in reverse, some of the time. Here is a simple example: One of your surfaces is oriented along +z, the other along -z. The mesh follows the orientation of the geometry, so the result is correct. Change the definition of Plane 2 as follows Plane Surface(2) = {2, 1}; to get something coherent. Christophe > > > > // Gmsh project created on Fri Aug 14 22:33:15 2020 > //+ > Point(1) = {0, 0, 0, 0.5}; > //+ > Point(2) = {0.4, 0.2, 0, 0.5}; > //+ > Point(3) = {0.6, 0.2, 0, 0.5}; > //+ > Point(4) = {1., 0, 0, 0.5}; > //+ > Point(5) = {1., 1., 0, 0.5}; > //+ > Point(6) = {0., 1., 0, 0.5}; > //+ > Point(7) = {0.4, 0.4, 0, 0.5}; > //+ > Point(8) = {0.6, 0.4, 0, 0.5}; > //+ > Line(1) = {1, 4}; > //+ > Line(2) = {4, 5}; > //+ > Line(3) = {5, 6}; > //+ > Line(4) = {6, 1}; > //+ > Line(6) = {2, 3}; > //+ > Line(7) = {3, 8}; > //+ > Line(8) = {8, 7}; > //+ > Line(9) = {7, 2}; > //+ > Curve Loop(1) = {9, 6, 7, 8}; > //+ > Plane Surface(1) = {1}; > //+ > Curve Loop(2) = {4, 1, 2, 3}; > //+ > Plane Surface(2) = {1, 2}; > //+ > Physical Curve("zero") = {4}; > //+ > Physical Curve("one") = {9, 8, 7, 6}; > //+ > Physical Surface("main") = {2, 1}; > > > > In my case, I am doing this with second order triangles. The following elements are reverse ordered: > > 25 > 26 > 27 > 28 > 29 > 30 > 31 > 32 > 33 > 34 > 35 > 36 > 37 > 38 > 39 > 40 > 41 > 42 > 43 > 44 > 45 > 46 > > According to the documentation in section "9.2.2 High-order elements": The orientation of a face is such that the computed normal points outward; the starting point is the node with the lowest index. > > But if the mesh is strictly 2D and all on one plane, I would expect the code to give all elements the same normal direction. In my example the hole and the main square have different normal directions. I think this is unexpected behaviour. > > I am using 4.6.0 > > Thanks for all your great work! > > Regards, > > Marc > > > > > > > > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Mon Aug 17 13:21:13 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 17 Aug 2020 13:21:13 +0200 Subject: [Gmsh] Comparison of different meshes In-Reply-To: References: Message-ID: > On 14 Aug 2020, at 16:16, Rohracker, Maurice wrote: > > Dear GMSH user and developer, > > I created two meshes for a box with a spherical inclusion around the origin, one with tetrahedra and one with hexahedra. For both, I created a simple load case in Abaqus and compared both results in a short report (see attached). In the report, a more detail explanation of the load case is given as well. > > Do you have any idea, why in the hexahedral case, the stress results are not that smooth like in the tetrahedral case? Could it be that I missed some option while creating the hexahedral mesh? Are there any options which could improve the mesh and such also the results? Or are these things related to the simulation I am doing? > A hex mesh generated by subdivision of of course of very poor quality... For a simple geometry like the one you tested, you should create your hex mesh using a structured approach (see e.g. gmsh/benchmarks/3d/sphere_hexa.geo). Christophe > Do you have any similar experience with such behaviour? > > We are using GMSH 4.4.1. > > If you need more information, please let me know. > > Thank you very much in advance. > > Best regards, > Maurice Rohracker > Master Computational Engineering > FAU Erlangen-N?rnberg_______________________________________________ > 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 From cgeuzaine at uliege.be Mon Aug 17 14:42:43 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 17 Aug 2020 14:42:43 +0200 Subject: [Gmsh] integration, spikes In-Reply-To: <20200805081234.Horde.K-MGW_wqjnpV6nXLN2lPaak@www.dokom21-webagent.de> References: <20200805081234.Horde.K-MGW_wqjnpV6nXLN2lPaak@www.dokom21-webagent.de> Message-ID: > On 5 Aug 2020, at 10:12, t.eschner at dokom.net wrote: > > Dear all, > > trying to get acquainted with gmsh/getdp, I stumbled upon two problems that I am not able to resolve. > > I am trying to model a simple conductive cell with two electrodes, a simple one and a structured one. To me, the results look quite realistic so far (I am still in the stage of checking), with two exceptions: > > The first: When I try to calculate the overall current by calling plugin(Integrate) on views slightly above the simple electrode, I get two different results (for the vector view -8,88 and the x-component view -39,9), and neither is close enough to the expected value of -2x(4,94..4,99). Be careful with brute-force integration. If you use GetDP would recommend using global quantities, which define such integrals in the "variationally correct" way: see e.g. https://gitlab.onelab.info/doc/tutorials/-/wikis/Electrostatics-with-floating-potentials > > The second: The current density field has few spiky values that I do not know how to cure. Their position seems to be constant, the values seem to change with the grid parameters, and it might be getdp-related. With a (scalar) potential formulation your current density is defined through the gradient, whose accuracy will depend quite strongly on the mesh quality. You can give the new "HXT" 3D algorithm a try, whose optimizer produces slightly better elements, and see if this improves things. Christophe > > Please, have a look and give me a hint on how to correct/proceed. Thank you. > > Kind regards, Thomas > > > > > > _______________________________________________ > 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 From bart.deschoolmeester at bbri.be Mon Aug 17 16:45:43 2020 From: bart.deschoolmeester at bbri.be (Bart Deschoolmeester) Date: Mon, 17 Aug 2020 14:45:43 +0000 Subject: [Gmsh] Coherence 'could not find extruded vertex' error In-Reply-To: References: Message-ID: Thanks Christophe, I am trying to work with GMSH. But as I run into many errors I have only two possible answers: 1/ GMSH is error prone (which I doubt somewhat ?). 2/ I am not grasping some fundamental concepts, which makes GMSH unintuitive to me. So now I would like to get my head around these fundamental concepts. In your answer you talk about 'non-conformal geometry'. I have no idea what that means. The only thing I could find in the manual is: " A finite element mesh of a model is a tessellation of its geometry by simple geometrical elements of various shapes (in Gmsh: lines, triangles, quadrangles, tetrahedra, prisms, hexahedra and pyramids), arranged in such a way that if two of them intersect, they do so along a face, an edge or a node, and never otherwise. This defines a so-called ?conformal? mesh." "// By default, across geometrical dimensions meshes generated by Gmsh are only // conformal if lower dimensional entities are on the boundary of higher // dimensional ones (i.e. if points, curves or surfaces are part of the boundary // of volumes)." I think my geometry conforms to this. Only hidden in t16.geo I find "a conformal manner (without creating duplicate interfaces)". Aha! So, if I understand this correct, conformal also means that if entities intersect, they do this along a unique (the same) face, edge, node. Maybe this should be emphasized in the manual. So I've rewritten the script to make sure this is no longer the case (see below) But I kept getting the same error. So I'm still missing something. What? Thank you. -------------- KanR = DefineNumber[ 0.1, Name "Parameters/KanR" ]; WanD = DefineNumber[ 0.2, Name "Parameters/WanD" ]; KanMeshsize = DefineNumber[ 0.01, Name "Parameters/KanMeshsize" ]; SetFactory("OpenCASCADE"); Rectangle(1) = {-2.5, -2.5, 0, 5, 5, 0}; Circle(5) = {0, 0, 0, KanR, 0, 2*Pi}; Curve Loop(2) = {5}; Plane Surface(2) = {2}; Extrude {0, 0, WanD } { Surface{1,2}; } Point(23) = {0, -0.1, 0}; Point(24) = {0, -0.05, 0}; Point(25) = {0, -0.05, WanD}; Point(26) = {0, -0.1, WanD}; Line(32) = {25, 24}; Line(33) = {24, 23}; Line(34) = {23, 26}; Line(35) = {26, 25}; Curve Loop(30) = {32, 33, 34, 35}; Plane Surface(14) = {30}; Extrude {{0, 0, 1}, {0, 0, 0}, Pi} { Surface{14}; Layers{25}; } BooleanFragments{ Volume{3}; Volume{1}; Delete; }{ Volume{2}; Delete; } Delete { Volume {5 }; } Delete { Surface {10,14 }; } Field[1] = Distance; Field[1].EdgesList = {16,17,18}; Field[1].NNodesByEdge = 50; Field[2] = Threshold; Field[2].DistMax = 2.5; Field[2].DistMin = 0; Field[2].IField = 1; Field[2].LcMax = 0.25; Field[2].LcMin = KanMeshsize ; Background Field = 2; Mesh.CharacteristicLengthExtendFromBoundary = 0; Mesh.CharacteristicLengthFromPoints = 0; Mesh.CharacteristicLengthFromCurvature = 0; From bart.deschoolmeester at bbri.be Mon Aug 17 16:49:06 2020 From: bart.deschoolmeester at bbri.be (Bart Deschoolmeester) Date: Mon, 17 Aug 2020 14:49:06 +0000 Subject: [Gmsh] Coherence 'could not find extruded vertex' error In-Reply-To: References: Message-ID: Thank you again Jeremy, You?re solution (see below as I understand it) works. Yet, I have no clue why yours does and mine doesn?t. Bart. ---- KanR = DefineNumber[ 0.1, Name "Parameters/KanR" ]; WanD = DefineNumber[ 0.2, Name "Parameters/WanD" ]; KanMeshsize = DefineNumber[ 0.01, Name "Parameters/KanMeshsize" ]; SetFactory("OpenCASCADE"); Rectangle(1) = {-2.5, -2.5, 0, 5, 5, 0}; Circle(5) = {0, 0, 0, KanR, 0, 2*Pi}; Curve Loop(2) = {5}; Plane Surface(2) = {2}; BooleanDifference{ Surface{1}; Delete; }{ Surface{2}; Delete; } Extrude {0, 0, WanD } { Surface{1}; } Point(15) = {0.05, 0, 0}; Point(16) = {0.05, 0, WanD}; Line(20) = {5, 15}; Line(21) = {15, 16}; Line(22) = {16, 14}; Curve Loop(8) = {21, 22, -18, 20}; Plane Surface(8) = {8}; Extrude {{0, 0, 1}, {0, 0, 0}, Pi} { Surface{8}; Layers{25}; } Field[1] = Distance; Field[1].EdgesList = {5}; Field[1].NNodesByEdge = 50; Field[2] = Threshold; Field[2].DistMax = 2.5; Field[2].DistMin = 0; Field[2].IField = 1; Field[2].LcMax = 0.25; Field[2].LcMin = KanMeshsize ; Background Field = 2; Mesh.CharacteristicLengthExtendFromBoundary = 0; Mesh.CharacteristicLengthFromPoints = 0; Mesh.CharacteristicLengthFromCurvature = 0; -------------- next part -------------- An HTML attachment was scrubbed... URL: From ceanwang at gmail.com Fri Aug 21 02:44:53 2020 From: ceanwang at gmail.com (cean wang) Date: Fri, 21 Aug 2020 10:44:53 +1000 Subject: [Gmsh] Question about adding new solver in onelab Message-ID: Hi, I am using gmsh 4.5.6 win version. I have a fea program (myfea.exe), it runs in a DOS Terminal with the following command: c:/myfea myinput.dat myinput.dat includes mesh and boundary conditions. It could be opened by gmsh and show the mesh correctly. myfea.exe will save the result in an msh file. I added a new solver in gmsh and specified where myfea.exe is. When I run the solver, gmsh seems to try to mesh the domain and overwrite myinput.dat file. The result is myfea.exe can't myinput.dat anymore . Wondering how do I disable the meshing, just do the solve? Regards, Cean -------------- next part -------------- An HTML attachment was scrubbed... URL: From ceanwang at gmail.com Sun Aug 23 03:59:11 2020 From: ceanwang at gmail.com (cean wang) Date: Sun, 23 Aug 2020 11:59:11 +1000 Subject: [Gmsh] $NodeData in msh file ver 4.1 Message-ID: Hi, Here is a test msh file which has 9 Vector values in $NodeData section. When opened with gmsh 4.6.0, it shows 6 vector arrows in element center. I thought it should show 9 arrows at the 9 nodes. What I have done wrong? And in Option - View[0] window, Visibility tab, Fields, at the bottom, I could switch to Force Scalar, the result looks weird - not cover the whole domain. What's the number (0-8) on its right used for? Regards, Cean -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: all_vector.msh Type: application/octet-stream Size: 1843 bytes Desc: not available URL: From marco_antolovic at yahoo.it Sun Aug 23 21:40:33 2020 From: marco_antolovic at yahoo.it (Marco Antolovic) Date: Sun, 23 Aug 2020 19:40:33 +0000 (UTC) Subject: [Gmsh] Does BooleanUnion works on surfaces? References: <970757183.7383403.1598211633384.ref@mail.yahoo.com> Message-ID: <970757183.7383403.1598211633384@mail.yahoo.com> Hi all, while I was building a geometry I came across an unexpected behavior of the BooleanUnion operator. I assumed that the operator would work on surfaces but it does not. If you try the example below, the union result is going to be two separate surfaces SetFactory("OpenCASCADE"); recta1=newreg;Rectangle ( recta1 ) = { -.02, -.030, 0, .005, 0.01};recta2=newreg;Rectangle ( recta2 ) = { -.015, ? -.020, 0, .005, -0.01 }; resulting_surface() = BooleanUnion{ Surface{recta1}; Delete;}{ Surface{recta2}; Delete;}; For i In {0: #resulting_surface()-1}Printf ("test openCASCADE surface union = %g", resulting_surface(i));EndFor The example shows that resulting_surface() contains two elements instead of one. Does BooleanUnion works on surfaces? Many thanks, Marco -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Mon Aug 24 09:35:26 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 24 Aug 2020 09:35:26 +0200 Subject: [Gmsh] Does BooleanUnion works on surfaces? In-Reply-To: <970757183.7383403.1598211633384@mail.yahoo.com> References: <970757183.7383403.1598211633384.ref@mail.yahoo.com> <970757183.7383403.1598211633384@mail.yahoo.com> Message-ID: > On 23 Aug 2020, at 21:40, Marco Antolovic wrote: > > Hi all, > > while I was building a geometry I came across an unexpected behavior of the BooleanUnion operator. > > I assumed that the operator would work on surfaces but it does not. If you try the example below, the union result is going to be two separate surfaces > > SetFactory("OpenCASCADE"); > > recta1=newreg; > Rectangle ( recta1 ) = { -.02, -.030, 0, .005, 0.01}; > recta2=newreg; > Rectangle ( recta2 ) = { -.015, -.020, 0, .005, -0.01 }; > > resulting_surface() = BooleanUnion{ Surface{recta1}; Delete;}{ Surface{recta2}; Delete;}; > > For i In {0: #resulting_surface()-1} > Printf ("test openCASCADE surface union = %g", resulting_surface(i)); > EndFor > > The example shows that resulting_surface() contains two elements instead of one. > > Does BooleanUnion works on surfaces? It does actually work as expected: the 2 surfaces are glued by the union operation (by curve 2); but indeed OpenCASCADE leaves the internal curve in the final geometry. Recent versions of Gmsh introduced the "Geometry.OCCUnionUnify" option to try to remove internal seams when the two surfaces are on the same geometry. In your case you should define the two surfaces in the same plane (the second is reversed, i.e. you should define Rectangle ( recta2 ) = { -.015, -.030, 0, .005, 0.01 };), and we will generate a new surface without internal curve. Also note that you might want to se "Geometry.OCCBooleanPreserveNumbering = 0;" in this case. Because since the actual union operation keeps the two surfaces, the "Delete" operation would not be taken into account. So, long story short: SetFactory("OpenCASCADE"); recta1=newreg; Rectangle ( recta1 ) = { -.02, -.030, 0, .005, 0.01}; recta2=newreg; Rectangle ( recta2 ) = { -.015, -.030, 0, .005, 0.01 }; Geometry.OCCUnionUnify = 1; Geometry.OCCBooleanPreserveNumbering = 0; resulting_surface() = BooleanUnion{ Surface{recta1}; Delete;}{ Surface{recta2}; Delete;}; Christophe > > Many thanks, > > Marco > _______________________________________________ > 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 From cgeuzaine at uliege.be Mon Aug 24 10:46:53 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 24 Aug 2020 10:46:53 +0200 Subject: [Gmsh] $NodeData in msh file ver 4.1 In-Reply-To: References: Message-ID: <26F76F26-3E0F-497F-B2E9-8F43138EE6CB@uliege.be> Dear Cean, > On 23 Aug 2020, at 03:59, cean wang wrote: > > Hi, > > Here is a test msh file which has 9 Vector values in $NodeData section. > > When opened with gmsh 4.6.0, it shows 6 vector arrows in element center. I thought it should show 9 arrows at the 9 nodes. What I have done wrong? By default Gmsh draws vectors at the barycenter of the elements. To draw the arrows at the nodes: Tools->Options->View->Aspect->Glyph location->Node. > > And in Option - View[0] window, Visibility tab, Fields, at the bottom, I could switch to Force Scalar, the result looks weird - not cover the whole domain. What's the number (0-8) on its right used for? This option allows to draw any component(s) of the field as a scalar, a vector or a tensor. If you select "Force scalar" and select 0 for the first (and only relevant, for a scalar field) component, you will thus draw the first component (index 0, i.e. the "x" component) of your vector field as a scalar field. The scalar field will be displayed with the same range bounds as the vector field (computed from its norm); hence the "truncation" that you observe. Just set the "min" and "max" values of the range in Tools->View->General->Range mode->Custom. (You can click on the "Min" and "Max" button to automatically recompute the min/max for your particular choice of values to display.) Christophe > > Regards, > > Cean > _______________________________________________ > 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 From cgeuzaine at uliege.be Mon Aug 24 10:48:02 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 24 Aug 2020 10:48:02 +0200 Subject: [Gmsh] Question about adding new solver in onelab In-Reply-To: References: Message-ID: > On 21 Aug 2020, at 02:44, cean wang wrote: > > Hi, > > I am using gmsh 4.5.6 win version. > > I have a fea program (myfea.exe), it runs in a DOS Terminal with the following command: > > c:/myfea myinput.dat > > myinput.dat includes mesh and boundary conditions. It could be opened by gmsh and show the mesh correctly. myfea.exe will save the result in an msh file. I added a new solver in gmsh and specified where myfea.exe is. When I run the solver, gmsh seems to try to mesh the domain and overwrite myinput.dat file. The result is myfea.exe can't myinput.dat anymore . > > Wondering how do I disable the meshing, just do the solve? > Set the "Solver.AutoMesh = 0" option. Christophe > Regards, > > Cean > _______________________________________________ > 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 From cgeuzaine at uliege.be Mon Aug 24 10:57:37 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 24 Aug 2020 10:57:37 +0200 Subject: [Gmsh] joining arrow tips In-Reply-To: <000001d660fd$12a3b7c0$37eb2740$@me.com.sg> References: <000001d660fd$12a3b7c0$37eb2740$@me.com.sg> Message-ID: > On 23 Jul 2020, at 16:25, mepl wrote: > > Dear Prof > > We have much fun using gmsh for our work. Tq. > > I have a question. How to join a line at the tip of the arrow end of two vector points. > > VP(154838.900,411610.900,22293.990) {5.0,0.0,0.0}; > VP(153031.800,431557.500,27910.500) {-2.0,0.0,0.0}; > SL(154843.900,411610.900,22293.990,153029.800,431557.500,27910.500) {5.0, -2.0}; > > When I change the arrow size, the line should still connected at the arrow tip. > Tools->Options->View->Aspect->Glyph location: "Right aligned" should do what you want. (In a script: View.CenterGlyphs = 2) Christophe > Thank you in advance for your advice. > > Best Regards, > Dr. YP Phang > Managing Director > > Multimedia Engineering Pte. Ltd. > 50 Bukit Batok Street 23#05-15, Midview Building, Singapore 659578. > T (65) 6765 6288 > F (65) 6765 1588 > E mepl at me.com.sg > W www.me.com.sg > > > ADAS? Tensile Membrane ? ETFE Skylight? Fabric Fa?ade ? Spaceframe ? Specialized Systems > > > Virus-free. www.avast.com > _______________________________________________ > 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 From cgeuzaine at uliege.be Mon Aug 24 11:00:30 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 24 Aug 2020 11:00:30 +0200 Subject: [Gmsh] question In-Reply-To: <0E604B38-9B7A-46E6-9A26-191C6A084E78@uclouvain.be> References: <0E604B38-9B7A-46E6-9A26-191C6A084E78@uclouvain.be> Message-ID: > On 20 Jul 2020, at 10:28, Jean-Fran?ois Remacle wrote: > > hello > > gmsh has not (yet) that capability > Note that for geometries created with the built-in geometry kernel, you can extrude the geometry along the surface mesh normals. This can provide an alternative for simple geometries: see e.g. https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/benchmarks/extrude/sphere_boundary_layer.geo Christophe > JF > >> Le 18 juil. 2020 ? 19:05, George Bourantas a ?crit : >> >> Hi All, >> >> How to generate a tetrahedral mesh with boundary layers? >> >> Thank you in advance. >> >> G. >> _______________________________________________ >> gmsh mailing list >> gmsh at onelab.info >> https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fonelab.info%2Fmailman%2Flistinfo%2Fgmsh&data=02%7C01%7Cjean-francois.remacle%40uclouvain.be%7C293104fe733e4444fcd008d82b3fb908%7C7ab090d4fa2e4ecfbc7c4127b4d582ec%7C0%7C0%7C637306900442035546&sdata=YfhIzsSyiaf7BQx3Her0gU0IauD7BuCD8Q4NVfTb9NI%3D&reserved=0 > > ------------------------------------------------------------------ > Prof. Jean-Francois Remacle > Universite catholique de Louvain (UCL) > Ecole Polytechnique de Louvain (EPL) - Louvain School of Engineering > Institute of Mechanics, Materials and Civil Engineering (iMMC) > Center for Systems Engineering and Applied Mechanics (CESAME) > Tel : +32-10-472352 -- Mobile : +32-473-909930 > > > > > > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Mon Aug 24 17:30:45 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 24 Aug 2020 17:30:45 +0200 Subject: [Gmsh] Periodic Surface Error: Different number of points for periodic correspondance between surfaces. In-Reply-To: <177a097adcb54073b7831eb180005d0f@imdea.org> References: <177a097adcb54073b7831eb180005d0f@imdea.org> Message-ID: > On 22 Jul 2020, at 12:26, lucia.cobian wrote: > > Dear all, > > I am trying to build a periodic mesh for a complex geometry, made by cylinders, which is bounded by a cube (Boolean intersection). To do the periodic mesh I have used Periodic Surface {} = {} Translate {} command to make it periodic in the three opposite surfaces (xy,xz,yz) of the intersected cube, as indicated in the attached .geo file. > > However, I receive the following errors: > > ?No corresponding point x for periodic connection of surface xx to yy? or ?Different number of points (a vs b) for periodic correspondence between surfaces aa and bb?. > > I have tried to fix the error without any success. I would like to know why is this happening and how can the .geo file be modified to fix the problem. > > I would appreciate if someone could help me with this issue. Nothing guarantees that the surfaces you get by querying by bounding box (e.g. topx() and bottomx()) will be returned in the same order. See the solution proposed in tutorial 18 (https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/tutorial/t18.geo). Christophe > > Thank you very much, > > Lucia_______________________________________________ > 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 From cgeuzaine at uliege.be Mon Aug 24 17:33:14 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 24 Aug 2020 17:33:14 +0200 Subject: [Gmsh] Questions about parallelization using python API In-Reply-To: <75c1966835174d1099272dd526a89351@epfl.ch> References: <75c1966835174d1099272dd526a89351@epfl.ch> Message-ID: > On 19 Jul 2020, at 20:15, Kadry Abdelmeguid Karim Hesham Ahmed wrote: > > Hello, > I'm a new user to Gmsh > I am a bit confused on how to enable parallelization when I am using the Python API for Gmsh. > I see on the documentation that I am supposed to compile with Enable OpenMP and compile using Cmake but since I have installed gmsh through the pip command I'm not sure if I should try and build in my anaconda directory directly. Indeed currently our binary builds are compiled without OpenMP support (we haven't yet found a good way to distribute those in a simple way). So you'll have to recompile Gmsh from source : see e.g. https://gitlab.onelab.info/gmsh/gmsh/-/wikis/Gmsh-compilation Christophe > Thank you! > Karim, > _______________________________________________ > 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 From ceanwang at gmail.com Tue Aug 25 02:45:48 2020 From: ceanwang at gmail.com (cean wang) Date: Tue, 25 Aug 2020 10:45:48 +1000 Subject: [Gmsh] Question about adding new solver in onelab Message-ID: Where is the "Solver.AutoMesh = 0" option? -------------- next part -------------- An HTML attachment was scrubbed... URL: From marco_antolovic at yahoo.it Tue Aug 25 09:20:56 2020 From: marco_antolovic at yahoo.it (Marco Antolovic) Date: Tue, 25 Aug 2020 07:20:56 +0000 (UTC) Subject: [Gmsh] Does BooleanUnion works on surfaces? In-Reply-To: References: <970757183.7383403.1598211633384.ref@mail.yahoo.com> <970757183.7383403.1598211633384@mail.yahoo.com> Message-ID: <1883598398.8424916.1598340056634@mail.yahoo.com> Good morning Christophe, it's quite a complex behavior but indeed it works. Thanks for the explanation, Marco Il luned? 24 agosto 2020, 09:35:26 CEST, Christophe Geuzaine ha scritto: > On 23 Aug 2020, at 21:40, Marco Antolovic wrote: > > Hi all, > > while I was building a geometry I came across an unexpected behavior of the BooleanUnion operator. > > I assumed that the operator would work on surfaces but it does not. If you try the example below, the union result is going to be two separate surfaces > > SetFactory("OpenCASCADE"); > > recta1=newreg; > Rectangle ( recta1 ) = { -.02, -.030, 0, .005, 0.01}; > recta2=newreg; > Rectangle ( recta2 ) = { -.015,? -.020, 0, .005, -0.01 }; > > resulting_surface() = BooleanUnion{ Surface{recta1}; Delete;}{ Surface{recta2}; Delete;}; > > For i In {0: #resulting_surface()-1} > Printf ("test openCASCADE surface union = %g", resulting_surface(i)); > EndFor > > The example shows that resulting_surface() contains two elements instead of one. > > Does BooleanUnion works on surfaces? It does actually work as expected: the 2 surfaces are glued by the union operation (by curve 2); but indeed OpenCASCADE leaves the internal curve in the final geometry. Recent versions of Gmsh introduced the "Geometry.OCCUnionUnify" option to try to remove internal seams when the two surfaces are on the same geometry. In your case you should define the two surfaces in the same plane (the second is reversed, i.e. you should define Rectangle ( recta2 ) = { -.015,? -.030, 0, .005, 0.01 };), and we will generate a new surface without internal curve. Also note that you might want to se "Geometry.OCCBooleanPreserveNumbering = 0;" in this case. Because since the actual union operation keeps the two surfaces, the "Delete" operation would not be taken into account. So, long story short: SetFactory("OpenCASCADE"); recta1=newreg; Rectangle ( recta1 ) = { -.02, -.030, 0, .005, 0.01}; recta2=newreg; Rectangle ( recta2 ) = { -.015,? -.030, 0, .005, 0.01 }; Geometry.OCCUnionUnify = 1; Geometry.OCCBooleanPreserveNumbering = 0; resulting_surface() = BooleanUnion{ Surface{recta1}; Delete;}{ Surface{recta2}; Delete;}; Christophe > > Many thanks, > > Marco > _______________________________________________ > 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: From morok at mevex.com Tue Aug 25 12:17:58 2020 From: morok at mevex.com (Max Orok) Date: Tue, 25 Aug 2020 06:17:58 -0400 Subject: [Gmsh] Question about adding new solver in onelab In-Reply-To: References: Message-ID: It's in the options list, to get to the list: Open Gmsh -> Help -> Current Options and Workspace Edit the value [image: image.png] To save for next time: Tools->Options->Save options on exit [image: image.png] Sincerely, Max On Tue, Aug 25, 2020 at 12:35 AM cean wang wrote: > Where is the "Solver.AutoMesh = 0" option? > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 18839 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 29396 bytes Desc: not available URL: From ceanwang at gmail.com Tue Aug 25 14:13:23 2020 From: ceanwang at gmail.com (Cean Wang) Date: Tue, 25 Aug 2020 22:13:23 +1000 Subject: [Gmsh] Question about adding new solver in onelab In-Reply-To: References: , Message-ID: An HTML attachment was scrubbed... URL: From alsalihi at vki.ac.be Tue Aug 25 20:03:50 2020 From: alsalihi at vki.ac.be (Zuheyr Alsalihi) Date: Tue, 25 Aug 2020 20:03:50 +0200 Subject: [Gmsh] =?utf-8?q?Step_model_view_export_as_png_from_command_line?= =?utf-8?q?/script?= Message-ID: <2ae0-5f455280-4d-4fa0cc80@41747028> Dear Gmsh creators, Forever grateful for providing us with this fabulous tools and all your effort in support. I am working with gmsh without user interface in an optimization process where everything is driven with command line gmsh options in shell scripts. I just want to load the step files, export the resulting view, what I would have seen if I were working with gmsh with display, to png file, and that is it. Can I do that? Thank you very much for reading. Best regards. -------------- next part -------------- An HTML attachment was scrubbed... URL: From sahas at email.sc.edu Tue Aug 25 20:52:58 2020 From: sahas at email.sc.edu (SAHA, SUDIPTA) Date: Tue, 25 Aug 2020 18:52:58 +0000 Subject: [Gmsh] Step model view export as png from command line/script In-Reply-To: <2ae0-5f455280-4d-4fa0cc80@41747028> References: <2ae0-5f455280-4d-4fa0cc80@41747028> Message-ID: Yes, this can be done by 'gmsh' command from the terminer. typically you have to run gmsh by : gmsh filename.geo - ?('-' will invoke the command mode operation). Now you filename.geo script should contain necessary lines for the desired performance. For example, if you want to construct 3D mesh, corresponding line is Mesh 3. Similarly you can export files by putting 'export' command in the script. The lists are given in the manual. __ Best Regards Sudipta Saha, MS, EIT Spent Fuel Modeling Intern, Idaho National Laboratory PhD Candidate in Mechanical Engineering Reacting System and Advanced Energy Research Lab Graduate Council Representative, Graduate Student Association LinkedIn | ResearchGate | GoogleScholar | Website [cid:1e48987d-8de0-480d-b063-0d08635af1b4] ________________________________ From: gmsh on behalf of Zuheyr Alsalihi Sent: Tuesday, August 25, 2020 2:03 PM To: gmsh at onelab.info Subject: [Gmsh] Step model view export as png from command line/script Dear Gmsh creators, Forever grateful for providing us with this fabulous tools and all your effort in support. I am working with gmsh without user interface in an optimization process where everything is driven with command line gmsh options in shell scripts. I just want to load the step files, export the resulting view, what I would have seen if I were working with gmsh with display, to png file, and that is it. Can I do that? Thank you very much for reading. Best regards. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Outlook-3dmo5pwa.jpg Type: image/jpeg Size: 36177 bytes Desc: Outlook-3dmo5pwa.jpg URL: From alsalihi at vki.ac.be Wed Aug 26 10:19:18 2020 From: alsalihi at vki.ac.be (Zuheyr Alsalihi) Date: Wed, 26 Aug 2020 10:19:18 +0200 Subject: [Gmsh] =?utf-8?q?=3F=3D=3D=3Futf-8=3Fq=3F__Step_model_view_expor?= =?utf-8?q?t_as_png_from_command_line/script?= In-Reply-To: Message-ID: <1b24-5f461b00-4eb-36ff7140@47283465> Thank you so much!! I am using a geo file with which I can create a? png file using the display but I cannot create? it online, could you please comment on this? I have taken the critical points from a post from Prof. Geuzaine's:Extract of the geo file: ....... < deleted stuff for merging the step files > Merge "Walls_Unit__0__Wall__6.step"; SetFactory("OpenCASCADE"); // display stl mesh of CAD surfaces? Geometry.Surfaces = 1; Geometry.SurfaceType = 0; // display curves as 3D cylinders Geometry.LineType = 2; // specify model rotation using Euler angles General.Trackball = 0; ? ? ? ? ? ? ? ? ? ? ? General.RotationX = 0; ? ? ? ? ? ? ? ? ? ? ? General.RotationY = 0; ? ? ? ? ? ? ? ? ? ? ? General.RotationZ = 0; ? ? ? ? ? ? ? ? ? ? ? // print image ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Print "test.png"; ? ? ? Many thanks and best regards, Zuheyr On Tuesday, August 25, 2020 20:52 CEST, "SAHA, SUDIPTA" wrote: ??Yes, this can be done by 'gmsh' command from the terminer. typically you have to run gmsh by : gmsh filename.geo -???('-' will invoke the command mode operation). Now you filename.geo script should contain necessary lines for the desired performance. For example, if you want to construct 3D mesh, corresponding line is Mesh 3. Similarly you can export files by putting 'export' command in the script. The lists are given in the manual.???????? ?__?Best RegardsSudipta Saha, MS, EITSpent Fuel Modeling Intern, Idaho National Laboratory??PhD Candidate in Mechanical EngineeringReacting System and Advanced Energy Research LabGraduate Council Representative, Graduate Student AssociationLinkedIn?|?ResearchGate?|?GoogleScholar?|?Website?? ??______________________________________________________________________________ From: gmsh on behalf of Zuheyr Alsalihi Sent: Tuesday, August 25, 2020 2:03 PM To: gmsh at onelab.info Subject: [Gmsh] Step model view export as png from command line/script?Dear Gmsh creators, Forever grateful for providing us with this fabulous tools and all your effort in support. I am working with gmsh without user interface in an optimization process where everything is driven with command line gmsh options in shell scripts. I just want to load the step files, export the resulting view, what I would have seen if I were working with gmsh with display, to png file, and that is it. Can I do that? Thank you very much for reading. Best regards. ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeremy at seamplex.com Wed Aug 26 11:11:07 2020 From: jeremy at seamplex.com (Jeremy Theler) Date: Wed, 26 Aug 2020 06:11:07 -0300 Subject: [Gmsh] ?==?utf-8?q? Step model view export as png from command line/script In-Reply-To: <1b24-5f461b00-4eb-36ff7140@47283465> References: <1b24-5f461b00-4eb-36ff7140@47283465> Message-ID: <2e46c2ed74ec691c288d994d921eceb498ed4e9a.camel@seamplex.com> What does "I cannot create it online" mean? -- jeremy theler www.seamplex.com On Wed, 2020-08-26 at 10:19 +0200, Zuheyr Alsalihi wrote: > Thank you so much!! > > I am using a geo file with which I can create a png file using the > display but I cannot create > it online, could you please comment on this? > I have taken the critical points from a post from Prof. Geuzaine's: > Extract of the geo file: > > ....... > < deleted stuff for merging the step files > > Merge "Walls_Unit__0__Wall__6.step"; > SetFactory("OpenCASCADE"); > // display stl mesh of CAD surfaces > Geometry.Surfaces = 1; > Geometry.SurfaceType = 0; > // display curves as 3D cylinders > Geometry.LineType = 2; > // specify model rotation using Euler angles > General.Trackball = 0; > General.RotationX = 0; > General.RotationY = 0; > General.RotationZ = 0; > // print image > Print "test.png"; > > Many thanks and best regards, > Zuheyr > From alsalihi at vki.ac.be Wed Aug 26 11:21:57 2020 From: alsalihi at vki.ac.be (Zuheyr Alsalihi) Date: Wed, 26 Aug 2020 11:21:57 +0200 Subject: [Gmsh] =?utf-8?b?Pz09P3V0Zi04P3E/ID89PT91dGYtOD9xPyA/PSBTdGVw?= =?utf-8?q?_model_view_export_as_png_from_command_line/scrip?= In-Reply-To: <2e46c2ed74ec691c288d994d921eceb498ed4e9a.camel@seamplex.com> Message-ID: <417c-5f462980-b-17865c40@40184736> Dear Jeremy,? When I ran online the command:?gmsh.exe gmsh_view.geo? ..... < deleted merging ... > Info ? ?: Writing 'test.png'... Error ? : Unknown output file format Info ? ?: Done writing 'test.png' Info ? ?: Done reading 'gmsh_view.geo' Info ? ?: Stopped on Wed Aug 26 11:14:36 2020 Info ? ?: No current model available: creating one No png file generated.? Best regards,? Zuheyr On Wednesday, August 26, 2020 11:11 CEST, Jeremy Theler wrote: ?What does "I cannot create it online" mean? -- jeremy theler www.seamplex.com On Wed, 2020-08-26 at 10:19 +0200, Zuheyr Alsalihi wrote: > Thank you so much!! > > I am using a geo file with which I can create a png file using the > display but I cannot create > it online, could you please comment on this? > I have taken the critical points from a post from Prof. Geuzaine's: > Extract of the geo file: > > ....... > < deleted stuff for merging the step files > > Merge "Walls_Unit__0__Wall__6.step"; > SetFactory("OpenCASCADE"); > // display stl mesh of CAD surfaces > Geometry.Surfaces = 1; > Geometry.SurfaceType = 0; > // display curves as 3D cylinders > Geometry.LineType = 2; > // specify model rotation using Euler angles > General.Trackball = 0; > General.RotationX = 0; > General.RotationY = 0; > General.RotationZ = 0; > // print image > Print "test.png"; > > Many thanks and best regards, > Zuheyr > _______________________________________________ gmsh mailing list gmsh at onelab.info http://onelab.info/mailman/listinfo/gmsh ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From alsalihi at vki.ac.be Wed Aug 26 11:50:20 2020 From: alsalihi at vki.ac.be (Zuheyr Alsalihi) Date: Wed, 26 Aug 2020 11:50:20 +0200 Subject: [Gmsh] =?utf-8?b?Pz09P3V0Zi04P3E/ID89PT91dGYtOD9xPyA/PSBTdGVw?= =?utf-8?q?_model_view_export_as_png_from_command_line/scrip?= In-Reply-To: <417c-5f462980-b-17865c40@40184736> Message-ID: <18db-5f463080-3b-27187280@82661377> I was running the online version with an executable without display, and I get: < deleted merging info > Info ? ?: Done reading 'Walls_Unit__0__Wall__6.step' Info ? ?: Writing 'test.png'... Error ? : Unknown output file format Info ? ?: Done writing 'test.png' Info ? ?: Done reading 'gmsh_view.geo' Info ? ?: Stopped on Wed Aug 26 11:14:36 2020 Info ? ?: No current model available: creating one I thought maybe the no-display version of gmsh I compiled was not using some libraries,?I used the one with display using "-" as Saha indicated: gmsh.exe gmesh_view.geo - It gives: Info ? ?: Done reading './Walls_Unit__0__Wall__6.step' Info ? ?: Writing './test.png'... Error ? : Creating './test.png' requires a graphical interface context Info ? ?: Done writing './test.png' Info ? ?: Done reading './gmsh_view.geo' Info ? ?: Stopped on Wed Aug 26 11:42:32 2020 Thank you for reading. Zuheyr On Wednesday, August 26, 2020 11:21 CEST, "Zuheyr Alsalihi" wrote: ??Dear Jeremy,? When I ran online the command:?gmsh.exe gmsh_view.geo? ..... < deleted merging ... > Info ? ?: Writing 'test.png'... Error ? : Unknown output file format Info ? ?: Done writing 'test.png' Info ? ?: Done reading 'gmsh_view.geo' Info ? ?: Stopped on Wed Aug 26 11:14:36 2020 Info ? ?: No current model available: creating one No png file generated.? Best regards,? Zuheyr On Wednesday, August 26, 2020 11:11 CEST, Jeremy Theler wrote: ?What does "I cannot create it online" mean? -- jeremy theler www.seamplex.com On Wed, 2020-08-26 at 10:19 +0200, Zuheyr Alsalihi wrote: > Thank you so much!! > > I am using a geo file with which I can create a png file using the > display but I cannot create > it online, could you please comment on this? > I have taken the critical points from a post from Prof. Geuzaine's: > Extract of the geo file: > > ....... > < deleted stuff for merging the step files > > Merge "Walls_Unit__0__Wall__6.step"; > SetFactory("OpenCASCADE"); > // display stl mesh of CAD surfaces > Geometry.Surfaces = 1; > Geometry.SurfaceType = 0; > // display curves as 3D cylinders > Geometry.LineType = 2; > // specify model rotation using Euler angles > General.Trackball = 0; > General.RotationX = 0; > General.RotationY = 0; > General.RotationZ = 0; > // print image > Print "test.png"; > > Many thanks and best regards, > Zuheyr > _______________________________________________ gmsh mailing list gmsh at onelab.info http://onelab.info/mailman/listinfo/gmsh ? ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeremy at seamplex.com Wed Aug 26 12:26:25 2020 From: jeremy at seamplex.com (Jeremy Theler) Date: Wed, 26 Aug 2020 07:26:25 -0300 Subject: [Gmsh] ?= Step model view export as png from command line/scrip In-Reply-To: <18db-5f463080-3b-27187280@82661377> References: <18db-5f463080-3b-27187280@82661377> Message-ID: On Wed, 2020-08-26 at 11:50 +0200, Zuheyr Alsalihi wrote: > I was running the online version with an executable without display, > and I get: > < deleted merging info > > Info : Done reading 'Walls_Unit__0__Wall__6.step' > Info : Writing 'test.png'... > Error : Unknown output file format > Info : Done writing 'test.png' > Info : Done reading 'gmsh_view.geo' > Info : Stopped on Wed Aug 26 11:14:36 2020 > Info : No current model available: creating one > > I thought maybe the no-display version of gmsh I compiled was not > using some libraries, I used the one with display > using "-" as Saha indicated: > > gmsh.exe gmesh_view.geo - > > It gives: > Info : Done reading './Walls_Unit__0__Wall__6.step' > Info : Writing './test.png'... > Error : Creating './test.png' requires a graphical interface > context Add an Exit instruction in the .geo and call it without the '-' -- jeremy theler www.seamplex.com From alsalihi at vki.ac.be Wed Aug 26 22:21:16 2020 From: alsalihi at vki.ac.be (Zuheyr Alsalihi) Date: Wed, 26 Aug 2020 22:21:16 +0200 Subject: [Gmsh] =?utf-8?b?Pz09P3V0Zi04P3E/ID89PT91dGYtOD9xPyA/PSBTdGVw?= =?utf-8?q?_model_view_export_as_png_from_command_line/scrip?= In-Reply-To: Message-ID: <5f0-5f46c400-3-3400f780@152230042> Thank you Jeremy, indeed this works...? and only this works.? Thank you! Best regards, Zuheyr On Wednesday, August 26, 2020 12:26 CEST, Jeremy Theler wrote: ?On Wed, 2020-08-26 at 11:50 +0200, Zuheyr Alsalihi wrote: > I was running the online version with an executable without display, > and I get: > < deleted merging info > > Info : Done reading 'Walls_Unit__0__Wall__6.step' > Info : Writing 'test.png'... > Error : Unknown output file format > Info : Done writing 'test.png' > Info : Done reading 'gmsh_view.geo' > Info : Stopped on Wed Aug 26 11:14:36 2020 > Info : No current model available: creating one > > I thought maybe the no-display version of gmsh I compiled was not > using some libraries, I used the one with display > using "-" as Saha indicated: > > gmsh.exe gmesh_view.geo - > > It gives: > Info : Done reading './Walls_Unit__0__Wall__6.step' > Info : Writing './test.png'... > Error : Creating './test.png' requires a graphical interface > context Add an Exit instruction in the .geo and call it without the '-' -- jeremy theler www.seamplex.com ? ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From ceanwang at gmail.com Thu Aug 27 03:15:53 2020 From: ceanwang at gmail.com (cean wang) Date: Thu, 27 Aug 2020 11:15:53 +1000 Subject: [Gmsh] Question about adding new solver in onelab Message-ID: Sorry last post seems not working. It says An HTML attachment was scrubbed..., So I try to post with another email program. Here it is. I opened myinput.dat with gmsh and clicked on my solver to solver it, got a message saying: Calling ??d:\mysolver.exe? -onelab ?mysolver? 127.0.0.1:53927? Abnormal server termination(Socket listening timeout on socket 127.0.0.1:0) I was expecting something like Calling ??d:\mysolver.exe myinput.dat?. Like run in an terminal. Just wondering does a normal solver exe could be called directly? Or have to be modified like the Double pendulum in C++ demo solver? But my solver is an Fortran program. *From: *Max Orok *Sent: *Tuesday, August 25, 2020 8:18 PM *To: *cean wang *Cc: *Gmsh *Subject: *Re: [Gmsh] Question about adding new solver in onelab It's in the options list, to get to the list: Open Gmsh -> Help -> Current Options and Workspace Edit the value -------------- next part -------------- An HTML attachment was scrubbed... URL: From alsalihi at vki.ac.be Thu Aug 27 18:58:17 2020 From: alsalihi at vki.ac.be (Zuheyr Alsalihi) Date: Thu, 27 Aug 2020 18:58:17 +0200 Subject: [Gmsh] Scripting multiple views in one picture Message-ID: <1d0d-5f47e600-3f-7bbc8580@90641550> Dear Gmsh creators, experts, How can I script to split the view in 2 like a technical drawing, view from right on the left side, view from left on the right side, in a split view? Or can I embed a previous view to a small frame somewhere in the main view? Many thanks for reading! Best wishes. -------------- next part -------------- An HTML attachment was scrubbed... URL: From morok at mevex.com Thu Aug 27 21:26:42 2020 From: morok at mevex.com (Max Orok) Date: Thu, 27 Aug 2020 15:26:42 -0400 Subject: [Gmsh] Scripting multiple views in one picture In-Reply-To: <1d0d-5f47e600-3f-7bbc8580@90641550> References: <1d0d-5f47e600-3f-7bbc8580@90641550> Message-ID: Hi Zuheyr, I assume you're talking about the Window->Split Horizontally command in the GUI? I took a quick look, it's possible this command is either undocumented or not exposed (yet) through the scripting interface. As a workaround, you could perhaps create view snapshots one at a time and paste them together with some image processing tool. Tutorial 8 (also available in C++ and Python) shows how to rotate the camera in a view. http://gmsh.info/doc/texinfo/gmsh.html#t8 Sincerely, Max On Thu, Aug 27, 2020 at 1:54 PM Zuheyr Alsalihi wrote: > Dear Gmsh creators, experts, > > How can I script to split the view in 2 like a technical drawing, view > from right on the left side, view from left on the right side, in a split > view? Or can I embed a previous view to a small frame somewhere in the main > view? > Many thanks for reading! > > Best wishes. _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Wed Sep 2 11:02:11 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 2 Sep 2020 11:02:11 +0200 Subject: [Gmsh] Scripting multiple views in one picture In-Reply-To: References: <1d0d-5f47e600-3f-7bbc8580@90641550> Message-ID: <2AF1ED12-BC4B-4928-90E9-77B32E63D4CB@uliege.be> > On 27 Aug 2020, at 21:26, Max Orok wrote: > > Hi Zuheyr, > > I assume you're talking about the Window->Split Horizontally command in the GUI? > I took a quick look, it's possible this command is either undocumented or not exposed (yet) through the scripting interface. Indeed, this was missing. It has been added in the latest development snapshot: see https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/benchmarks/misc/split_window.geo https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/demos/api/split_window.py for examples. Christophe > As a workaround, you could perhaps create view snapshots one at a time and paste them together with some image processing tool. > > Tutorial 8 (also available in C++ and Python) shows how to rotate the camera in a view. > http://gmsh.info/doc/texinfo/gmsh.html#t8 > > Sincerely, > Max > > On Thu, Aug 27, 2020 at 1:54 PM Zuheyr Alsalihi wrote: > Dear Gmsh creators, experts, > > How can I script to split the view in 2 like a technical drawing, view from right on the left side, view from left on the right side, in a split view? Or can I embed a previous view to a small frame somewhere in the main view? > Many thanks for reading! > > Best wishes. _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > > > -- > Max Orok > Contractor > www.mevex.com > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Wed Sep 2 11:06:12 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 2 Sep 2020 11:06:12 +0200 Subject: [Gmsh] Question about adding new solver in onelab In-Reply-To: References: Message-ID: > On 27 Aug 2020, at 03:15, cean wang wrote: > > Sorry last post seems not working. It says An HTML attachment was scrubbed..., So I try to post with another email program. Here it is. > > > > > > I opened myinput.dat with gmsh and clicked on my solver to solver it, got a message saying: > > > Calling ??d:\mysolver.exe? -onelab ?mysolver? 127.0.0.1:53927? > > Abnormal server termination(Socket listening timeout on socket 127.0.0.1:0) > > > I was expecting something like Calling ??d:\mysolver.exe myinput.dat?. Like run in an terminal. > > > Just wondering does a normal solver exe could be called directly? Or have to be modified like the Double pendulum in C++ demo solver? But my solver is an Fortran program. > The goal of the ONELAB interface is to provide a simple communication layer between the solver(s) and Gmsh. You could e.g. take the simple Python solver example, and call your Fortran code from there with a simple system call. Since the Python code will have access to the ONELAB parameters, you could use it to generate the input file for your Fortran solver. Christophe > > > From: Max Orok > Sent: Tuesday, August 25, 2020 8:18 PM > To: cean wang > Cc: Gmsh > Subject: Re: [Gmsh] Question about adding new solver in onelab > > > It's in the options list, to get to the list: > > Open Gmsh -> Help -> Current Options and Workspace > > Edit the value > > _______________________________________________ > 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 From nikhilvaidya91 at gmail.com Fri Sep 4 13:49:47 2020 From: nikhilvaidya91 at gmail.com (Nikhil Vaidya) Date: Fri, 4 Sep 2020 13:49:47 +0200 Subject: [Gmsh] Negative Jacobians in 2nd Order Mesh Message-ID: Hello, I have a geometry for which 1st order tetrahedral meshing works fine (with no negative jacobians). For the 2nd order case, I get a few negative jacobians. This problem does not go away even when I try to regularize the mesh or reduce mesh sizes in certain regions with small geometric features. Does someone have a suggestion? Best regards, Nikhil -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Fri Sep 4 14:19:36 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 4 Sep 2020 14:19:36 +0200 Subject: [Gmsh] Negative Jacobians in 2nd Order Mesh In-Reply-To: References: Message-ID: <9C8D9EEB-FCB1-4D7F-AA67-70E57B8A0366@uliege.be> > On 4 Sep 2020, at 13:49, Nikhil Vaidya wrote: > > Hello, > > I have a geometry for which 1st order tetrahedral meshing works fine (with no negative jacobians). For the 2nd order case, I get a few negative jacobians. This problem does not go away even when I try to regularize the mesh or reduce mesh sizes in certain regions with small geometric features. > > Does someone have a suggestion? Try the high-order mesh optimizer: "-optimize_ho" on the command line. Christophe > > Best regards, > Nikhil > _______________________________________________ > 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 From stephen.wornom at inria.fr Fri Sep 4 16:18:29 2020 From: stephen.wornom at inria.fr (Stephen Wornom) Date: Fri, 4 Sep 2020 16:18:29 +0200 (CEST) Subject: [Gmsh] Negative Jacobians in 2nd Order Mesh In-Reply-To: <9C8D9EEB-FCB1-4D7F-AA67-70E57B8A0366@uliege.be> References: <9C8D9EEB-FCB1-4D7F-AA67-70E57B8A0366@uliege.be> Message-ID: <2113603826.4683971.1599229109793.JavaMail.zimbra@inria.fr> Tell the list if it removes the negative values. Thanks, Stephen ----- Original Message ----- > From: "Christophe Geuzaine" > To: "Nikhil Vaidya" > Cc: gmsh at onelab.info > Sent: Friday, September 4, 2020 2:19:36 PM > Subject: Re: [Gmsh] Negative Jacobians in 2nd Order Mesh >> On 4 Sep 2020, at 13:49, Nikhil Vaidya wrote: >> >> Hello, >> >> I have a geometry for which 1st order tetrahedral meshing works fine (with no >> negative jacobians). For the 2nd order case, I get a few negative jacobians. >> This problem does not go away even when I try to regularize the mesh or reduce >> mesh sizes in certain regions with small geometric features. >> >> Does someone have a suggestion? > > Try the high-order mesh optimizer: "-optimize_ho" on the command line. > > Christophe > >> >> Best regards, >> Nikhil >> _______________________________________________ >> 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 > > > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh From jeremy at seamplex.com Fri Sep 4 19:48:39 2020 From: jeremy at seamplex.com (jeremy theler) Date: Fri, 4 Sep 2020 14:48:39 -0300 Subject: [Gmsh] Negative Jacobians in 2nd Order Mesh In-Reply-To: <2113603826.4683971.1599229109793.JavaMail.zimbra@inria.fr> References: <9C8D9EEB-FCB1-4D7F-AA67-70E57B8A0366@uliege.be> <2113603826.4683971.1599229109793.JavaMail.zimbra@inria.fr> Message-ID: If you do not need curved elements set Mesh.SecondOrderLinear = 1 -- jeremy theler www.seamplex.com On Fri, Sep 4, 2020, 11:22 Stephen Wornom wrote: > Tell the list if it removes the negative values. > Thanks, > Stephen > > ----- Original Message ----- > > From: "Christophe Geuzaine" > > To: "Nikhil Vaidya" > > Cc: gmsh at onelab.info > > Sent: Friday, September 4, 2020 2:19:36 PM > > Subject: Re: [Gmsh] Negative Jacobians in 2nd Order Mesh > > >> On 4 Sep 2020, at 13:49, Nikhil Vaidya > wrote: > >> > >> Hello, > >> > >> I have a geometry for which 1st order tetrahedral meshing works fine > (with no > >> negative jacobians). For the 2nd order case, I get a few negative > jacobians. > >> This problem does not go away even when I try to regularize the mesh or > reduce > >> mesh sizes in certain regions with small geometric features. > >> > >> Does someone have a suggestion? > > > > Try the high-order mesh optimizer: "-optimize_ho" on the command line. > > > > Christophe > > > >> > >> Best regards, > >> Nikhil > >> _______________________________________________ > >> 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 > > > > > > > > > > _______________________________________________ > > gmsh mailing list > > gmsh at onelab.info > > http://onelab.info/mailman/listinfo/gmsh > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nikhilvaidya91 at gmail.com Sat Sep 5 17:08:46 2020 From: nikhilvaidya91 at gmail.com (Nikhil Vaidya) Date: Sat, 5 Sep 2020 17:08:46 +0200 Subject: [Gmsh] Negative Jacobians in 2nd Order Mesh In-Reply-To: <9C8D9EEB-FCB1-4D7F-AA67-70E57B8A0366@uliege.be> References: <9C8D9EEB-FCB1-4D7F-AA67-70E57B8A0366@uliege.be> Message-ID: Hi Christophe, Your suggestion solved my problem. Thanks! Best, Nikhil On Fri, Sep 4, 2020, 2:19 PM Christophe Geuzaine wrote: > > > > On 4 Sep 2020, at 13:49, Nikhil Vaidya wrote: > > > > Hello, > > > > I have a geometry for which 1st order tetrahedral meshing works fine > (with no negative jacobians). For the 2nd order case, I get a few negative > jacobians. This problem does not go away even when I try to regularize the > mesh or reduce mesh sizes in certain regions with small geometric features. > > > > Does someone have a suggestion? > > Try the high-order mesh optimizer: "-optimize_ho" on the command line. > > Christophe > > > > > Best regards, > > Nikhil > > _______________________________________________ > > 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 > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tianxia.ui at gmail.com Mon Sep 7 16:05:53 2020 From: tianxia.ui at gmail.com (Tian Xia) Date: Mon, 7 Sep 2020 22:05:53 +0800 Subject: [Gmsh] Points not used by tetrahedrons Message-ID: Dear all, I am generating 3D tetrahedron mesh using gmsh Python API. I found some points are not used by the tetrahedrons. Is there a simple way to remove these points when exporting the *msh file? Best Regards, Tian -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Mon Sep 7 19:01:04 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 7 Sep 2020 19:01:04 +0200 Subject: [Gmsh] Points not used by tetrahedrons In-Reply-To: References: Message-ID: > On 7 Sep 2020, at 16:05, Tian Xia wrote: > > Dear all, > > I am generating 3D tetrahedron mesh using gmsh Python API. I found some points are not used by the tetrahedrons. Is there a simple way to remove these points when exporting the *msh file? Yes: define a physical group (here a physical volume) for the entities you want to save, and Gmsh will only save nodes/elements discretizing those entities. Christophe > > Best Regards, > Tian > _______________________________________________ > 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 From ceanwang at gmail.com Tue Sep 8 07:11:41 2020 From: ceanwang at gmail.com (cean wang) Date: Tue, 8 Sep 2020 15:11:41 +1000 Subject: [Gmsh] Question about storing two vectors in one line of a msh file Message-ID: Hi, In the $NodeData section of a msh file, like below, 1-component defines a (scalar) field, and 3-component will define a vector field. Could I use a 6-component value to define two vector fields? I have 3 transition and 3 rotation values for one grid point to store. Or I have to make two $NodeData sections each have a 3-component value? Regards, Cean $NodeData 1 *1 string tag:* "A scalar view" * the name of the view ("A scalar view")* 1 *1 real tag:* 0.0 * the time value (0.0)* 3 *3 integer tags:* 0 * the time step (0; time steps always start at 0)* 1 * 1-component (scalar) field* -------------- next part -------------- An HTML attachment was scrubbed... URL: From francis.giraldeau at gmail.com Wed Sep 9 22:39:22 2020 From: francis.giraldeau at gmail.com (Francis Giraldeau) Date: Wed, 9 Sep 2020 16:39:22 -0400 Subject: [Gmsh] Boundary layer for complexe pipe geometry Message-ID: Hello! I'm trying to create a pipe for CFD using the Extrusion Wire command, available with the OpenCASCADE kernel (using gmsh v4.6.0). The main difference with tutorial t19.geo is that I added a Boundary Layer inside the pipe. I confirm that the simple translation extrusion works fine (PipeBoundaryLayerSimple.geo): [image: Screenshot from 2020-09-09 13-29-29.png] However, using the Extrude Wire, the Boundary Layer is lost. I can confirm that the original extruded surface has indeed the boundary layer (PipeBoundaryLayerCurve.geo): [image: image.png] I understand that this seems in development. I can contribute, but I would need some pointers as to where to start. My ultimate goal would be to mesh a complexe pipe from a STEP file including a boundary layer. For reference, I added all my test case in this repo: https://github.com/giraldeau/pipe-mesh Cheers, -- Francis -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Screenshot from 2020-09-09 13-29-29.png Type: image/png Size: 47255 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 123656 bytes Desc: not available URL: From walter.steffe.it at gmail.com Sun Sep 20 17:37:36 2020 From: walter.steffe.it at gmail.com (walter steffe) Date: Sun, 20 Sep 2020 17:37:36 +0200 Subject: [Gmsh] GRegion meshsize Message-ID: <2e1c5eb0aaa3a8cac16fda90f34c74e3ad416c42.camel@gmail.com> In order to better support my application (see hierarchical-electromagnetics.com) I made the following small changes to gmsh sources (version 4.6.0): 1) File GRegion.h : Added a "double meshSize" field into the "GRegion:meshAttributes" class GRegion : public GEntity { ........ struct { ...... double meshSize; } meshAttributes; ... } 2) File GRegion.cpp: added "meshAttributes.meshSize = MAX_LC;" into the function "void GRegion::resetMeshAttributes()" void GRegion::resetMeshAttributes() { ... meshAttributes.QuadTri = NO_QUADTRI; meshAttributes.meshSize = MAX_LC; } 3) File meshGRegionNetgen.cpp: changed following lines: line 320: -- Ng_GenerateVolumeMesh(ngmesh, CTX::instance()->mesh.lcMax); ++ Ng_GenerateVolumeMesh(ngmesh, std::min(gr->meshAttributes.meshSize, CTX::instance()->mesh.lcMax)); line 345: -- Ng_OptimizeVolumeMesh(ngmesh, CTX::instance()->mesh.lcMax); ++ Ng_GenerateVolumeMesh(ngmesh, std::min(gr->meshAttributes.meshSize, CTX::instance()->mesh.lcMax)); I would like to ask, if possible, to accept these changes in the official gmsh sources. The motivation is that, in an electromagnetic simulation, the mesh size need to be more refined in regions where the dielectric permittivity is high. The mesh refinemnet applied on the boundary of these regions may not be sufficient because the mesh size of tetrahedrons which are distant from the boundary is defined by the global lcMax. Thanks Walter From cgeuzaine at uliege.be Mon Sep 21 11:20:29 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 21 Sep 2020 11:20:29 +0200 Subject: [Gmsh] GRegion meshsize In-Reply-To: <2e1c5eb0aaa3a8cac16fda90f34c74e3ad416c42.camel@gmail.com> References: <2e1c5eb0aaa3a8cac16fda90f34c74e3ad416c42.camel@gmail.com> Message-ID: <4D37D5CA-EE89-452F-850A-EB43367BBB70@uliege.be> Sear Walter, Indeed, good idea. This has been merged, but with a different implementation for the Netgen interface, directly calling the overall mesh size evaluation. Let me know if it behaves as expected. Christophe > On 20 Sep 2020, at 17:37, walter steffe wrote: > > In order to better support my application (see hierarchical-electromagnetics.com) I made the following small changes to gmsh sources (version 4.6.0): > > 1) File GRegion.h : Added a "double meshSize" field into the "GRegion:meshAttributes" > > class GRegion : public GEntity { > ........ > struct { ...... > double meshSize; > } meshAttributes; > ... > } > > > 2) File GRegion.cpp: added "meshAttributes.meshSize = MAX_LC;" into the function "void GRegion::resetMeshAttributes()" > > void GRegion::resetMeshAttributes() > { > ... > meshAttributes.QuadTri = NO_QUADTRI; > meshAttributes.meshSize = MAX_LC; > } > > 3) File meshGRegionNetgen.cpp: changed following lines: > > line 320: > -- Ng_GenerateVolumeMesh(ngmesh, CTX::instance()->mesh.lcMax); > ++ Ng_GenerateVolumeMesh(ngmesh, std::min(gr->meshAttributes.meshSize, CTX::instance()->mesh.lcMax)); > line 345: > -- Ng_OptimizeVolumeMesh(ngmesh, CTX::instance()->mesh.lcMax); > ++ Ng_GenerateVolumeMesh(ngmesh, std::min(gr->meshAttributes.meshSize, CTX::instance()->mesh.lcMax)); > > > > > I would like to ask, if possible, to accept these changes in the official gmsh sources. > > The motivation is that, in an electromagnetic simulation, the mesh size need to be more refined in regions where the dielectric permittivity is high. > The mesh refinemnet applied on the boundary of these regions may not be sufficient because the mesh size of tetrahedrons which are distant from the boundary is > defined by the global lcMax. > > > Thanks > Walter > > > > > > _______________________________________________ > 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 From Walter.Steffe at thalesaleniaspace.com Mon Sep 21 11:51:25 2020 From: Walter.Steffe at thalesaleniaspace.com (=?utf-8?B?U3RlZmbDqCBXYWx0ZXI=?=) Date: Mon, 21 Sep 2020 09:51:25 +0000 Subject: [Gmsh] R: GRegion meshsize In-Reply-To: <4D37D5CA-EE89-452F-850A-EB43367BBB70@uliege.be> References: <2e1c5eb0aaa3a8cac16fda90f34c74e3ad416c42.camel@gmail.com> <4D37D5CA-EE89-452F-850A-EB43367BBB70@uliege.be> Message-ID: <7eea2b94475c40c7a5eb32d455b3e513@thalesaleniaspace.com> Hello Christophe, thanks for merging. I will check but I am sure that your implementation of the Netgen interface (I have seen the commit) will work as well. I am wondering if your implementation, thanks to the redefinition of function the " virtual double GRegion::getMeshSize()", works also with ALGO_3D_DELAUNAY. Walter From cgeuzaine at uliege.be Mon Sep 21 14:17:41 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 21 Sep 2020 14:17:41 +0200 Subject: [Gmsh] GRegion meshsize In-Reply-To: <7eea2b94475c40c7a5eb32d455b3e513@thalesaleniaspace.com> References: <2e1c5eb0aaa3a8cac16fda90f34c74e3ad416c42.camel@gmail.com> <4D37D5CA-EE89-452F-850A-EB43367BBB70@uliege.be> <7eea2b94475c40c7a5eb32d455b3e513@thalesaleniaspace.com> Message-ID: <6C84E441-5A18-4E3A-8844-71E06A1C7F02@uliege.be> > On 21 Sep 2020, at 11:51, Steff? Walter wrote: > > Hello Christophe, thanks for merging. > > I will check but I am sure that your implementation of the Netgen interface (I have seen the commit) will work as well. > > I am wondering if your implementation, thanks to the redefinition of function the " virtual double GRegion::getMeshSize()", > works also with ALGO_3D_DELAUNAY. Yes that was the idea. It will also work with the new ALGO_3D_HXT. Christophe > > > Walter > _______________________________________________ > 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 From Walter.Steffe at thalesaleniaspace.com Tue Sep 22 08:27:09 2020 From: Walter.Steffe at thalesaleniaspace.com (=?utf-8?B?U3RlZmbDqCBXYWx0ZXI=?=) Date: Tue, 22 Sep 2020 06:27:09 +0000 Subject: [Gmsh] R: GRegion meshsize References: <2e1c5eb0aaa3a8cac16fda90f34c74e3ad416c42.camel@gmail.com> <4D37D5CA-EE89-452F-850A-EB43367BBB70@uliege.be> Message-ID: Hello Christophe, now I have a doubt about the implementation of the Netgen interface. Lc is computed with : SPoint3 pt = gr->bounds().center(); double lc = BGM_MeshSize(gr, 0, 0, pt.x(), pt.y(), pt.z()); But what happens if the region has a hole in the center and the center point does not belong to the region ? Walter From cgeuzaine at uliege.be Tue Sep 22 08:35:45 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 22 Sep 2020 08:35:45 +0200 Subject: [Gmsh] GRegion meshsize In-Reply-To: References: <2e1c5eb0aaa3a8cac16fda90f34c74e3ad416c42.camel@gmail.com> <4D37D5CA-EE89-452F-850A-EB43367BBB70@uliege.be> Message-ID: <68396501-1FAC-42E2-BB7E-91A4A1492182@uliege.be> > On 22 Sep 2020, at 08:27, Steff? Walter wrote: > > Hello Christophe, now I have a doubt about the implementation of the Netgen interface. > > Lc is computed with : > SPoint3 pt = gr->bounds().center(); > double lc = BGM_MeshSize(gr, 0, 0, pt.x(), pt.y(), pt.z()); > > But what happens if the region has a hole in the center and the center point does not belong to the region ? It shouldn't matter, as it will fallback on gr->getMeshSize(). > > Walter > _______________________________________________ > 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 From Walter.Steffe at thalesaleniaspace.com Tue Sep 22 08:36:42 2020 From: Walter.Steffe at thalesaleniaspace.com (=?utf-8?B?U3RlZmbDqCBXYWx0ZXI=?=) Date: Tue, 22 Sep 2020 06:36:42 +0000 Subject: [Gmsh] R: GRegion meshsize In-Reply-To: <68396501-1FAC-42E2-BB7E-91A4A1492182@uliege.be> References: <2e1c5eb0aaa3a8cac16fda90f34c74e3ad416c42.camel@gmail.com> <4D37D5CA-EE89-452F-850A-EB43367BBB70@uliege.be> <68396501-1FAC-42E2-BB7E-91A4A1492182@uliege.be> Message-ID: Ok, thanks -----Messaggio originale----- Da: Christophe Geuzaine [mailto:cgeuzaine at uliege.be] Inviato: marted? 22 settembre 2020 08:36 A: Steff? Walter Cc: gmsh at onelab.info Oggetto: Re: [Gmsh] GRegion meshsize > On 22 Sep 2020, at 08:27, Steff? Walter wrote: > > Hello Christophe, now I have a doubt about the implementation of the Netgen interface. > > Lc is computed with : > SPoint3 pt = gr->bounds().center(); > double lc = BGM_MeshSize(gr, 0, 0, pt.x(), pt.y(), pt.z()); > > But what happens if the region has a hole in the center and the center point does not belong to the region ? It shouldn't matter, as it will fallback on gr->getMeshSize(). > > Walter > _______________________________________________ > 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 From steffe at tiscali.it Tue Sep 22 20:03:37 2020 From: steffe at tiscali.it (walter) Date: Tue, 22 Sep 2020 20:03:37 +0200 Subject: [Gmsh] building of gmsh on mingw64 Message-ID: Hello, I am used to build my application (EmCAD) and gmsh on Msys2/MINGW64 platform. Today I made a small change to the main CMakeLists.txt file of gmsh-4.6.0-source. This change fixes the following problem: cmake/configure is not able to find the OCC libraries on Msys2/MINGW64 platform even if CASROOT is properly set. This problem arises because: 1) on Msys2/MINGW64 platform the OCC libraries are located in the following folders $CASROOT/${OCC_SYS_NAME}/gcc/lib >> dll.a libraries $CASROOT/${OCC_SYS_NAME}/gcc/bin >> dll libraries So I made the following small changes: line 12179 to 1273 if(ENABLE_OCC_STATIC) set(LIBNAME lib${OCC}.a) else() set(LIBNAME ${OCC}) endif() is replaced by: if(ENABLE_OCC_STATIC) if(MINGW) set(LIBNAME lib${OCC}.dll.a) else() set(LIBNAME lib${OCC}.a) endif() else() set(LIBNAME ${OCC}) endif() line 1284 to 1285: find_library(OCC_LIB ${LIBNAME} HINTS ENV CASROOT PATH_SUFFIXES lib ${OCC_SYS_NAME}/lib ${OCC_SYS_NAME}/vc8/lib) is replaced by: find_library(OCC_LIB ${LIBNAME} HINTS ENV CASROOT PATH_SUFFIXES lib bin lib ${OCC_SYS_NAME} ${OCC_SYS_NAME}/vc8 ${OCC_SYS_NAME}/gcc ) line 1306 to 1307: find_library(OCC_CAF_LIB ${OCC} HINTS ENV CASROOT PATH_SUFFIXES lib ${OCC_SYS_NAME}/lib ${OCC_SYS_NAME}/vc8/lib) is replaced by: find_library(OCC_CAF_LIB ${OCC} HINTS ENV CASROOT PATH_SUFFIXES lib bin lib ${OCC_SYS_NAME} ${OCC_SYS_NAME}/vc8 ${OCC_SYS_NAME}/gcc) -bin has been added to PATH_SUFFIXES in both calls to find_library. -${OCC_SYS_NAME}/gcc subfolder explitely added to ${OCC_SYS_NAME}/vc8 -lib was removed from some explicit subfolders because it is already appended by PATH_SUFFIXES With this change, when the option ENABLE_OCC_STATIC is activated on a Msys2/MINGW64 platform, gmsh is linked with libTKernel.dll.a ... libTKernel.dll.a is an import library in the microsoft world. I think that this kind of library is meant to import the libTKernel.dll library placed in the gcc/bin folder. I do not know if it make any difference with direct linkage to the dll. Walter From cgeuzaine at uliege.be Tue Sep 22 21:16:32 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 22 Sep 2020 21:16:32 +0200 Subject: [Gmsh] building of gmsh on mingw64 In-Reply-To: References: Message-ID: Hi Walter, ENABLE_OCC_STATIC should actually not be needed anymore. Can you try the latest Git master, in which CMAKE_FIND_LIBRARY_SUFFIXES and PATH_SUFFIXES have been modified? If it doesn't work let's try to understand why and open an issue in our Gitlab about it. Christophe > On 22 Sep 2020, at 20:03, walter wrote: > > Hello, > I am used to build my application (EmCAD) and gmsh on Msys2/MINGW64 platform. > > Today I made a small change to the main CMakeLists.txt file of gmsh-4.6.0-source. > This change fixes the following problem: > cmake/configure is not able to find the OCC libraries on Msys2/MINGW64 platform even if CASROOT is properly set. > > This problem arises because: > 1) on Msys2/MINGW64 platform the OCC libraries are located in the following folders > > $CASROOT/${OCC_SYS_NAME}/gcc/lib >> dll.a libraries > $CASROOT/${OCC_SYS_NAME}/gcc/bin >> dll libraries > > > So I made the following small changes: > > > line 12179 to 1273 > if(ENABLE_OCC_STATIC) > set(LIBNAME lib${OCC}.a) > else() > set(LIBNAME ${OCC}) > endif() > > is replaced by: > if(ENABLE_OCC_STATIC) > if(MINGW) > set(LIBNAME lib${OCC}.dll.a) > else() > set(LIBNAME lib${OCC}.a) > endif() > else() > set(LIBNAME ${OCC}) > endif() > > > line 1284 to 1285: > find_library(OCC_LIB ${LIBNAME} HINTS ENV CASROOT PATH_SUFFIXES > lib ${OCC_SYS_NAME}/lib ${OCC_SYS_NAME}/vc8/lib) > > is replaced by: > find_library(OCC_LIB ${LIBNAME} HINTS ENV CASROOT PATH_SUFFIXES lib bin > lib ${OCC_SYS_NAME} ${OCC_SYS_NAME}/vc8 ${OCC_SYS_NAME}/gcc ) > > > line 1306 to 1307: > find_library(OCC_CAF_LIB ${OCC} HINTS ENV CASROOT PATH_SUFFIXES > lib ${OCC_SYS_NAME}/lib ${OCC_SYS_NAME}/vc8/lib) > > is replaced by: > find_library(OCC_CAF_LIB ${OCC} HINTS ENV CASROOT PATH_SUFFIXES lib bin > lib ${OCC_SYS_NAME} ${OCC_SYS_NAME}/vc8 ${OCC_SYS_NAME}/gcc) > > > -bin has been added to PATH_SUFFIXES in both calls to find_library. > -${OCC_SYS_NAME}/gcc subfolder explitely added to ${OCC_SYS_NAME}/vc8 > -lib was removed from some explicit subfolders because it is already appended by PATH_SUFFIXES > > With this change, when the option ENABLE_OCC_STATIC is activated on a Msys2/MINGW64 platform, gmsh is linked with libTKernel.dll.a ... > > libTKernel.dll.a is an import library in the microsoft world. > I think that this kind of library is meant to import the libTKernel.dll library placed in the gcc/bin folder. > I do not know if it make any difference with direct linkage to the dll. > > > Walter > > > > > > _______________________________________________ > 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 From steffe at tiscali.it Tue Sep 22 20:31:50 2020 From: steffe at tiscali.it (walter) Date: Tue, 22 Sep 2020 20:31:50 +0200 Subject: [Gmsh] building of gmsh on mingw64 In-Reply-To: References: Message-ID: <18920a238eafbcca3098387129ae587991de1a31.camel@tiscali.it> I am sorry, I made a mistake. The correct patch to find OCC libraries on MINGW64 should be: line 12179 to 1273 if(ENABLE_OCC_STATIC) set(LIBNAME lib${OCC}.a) else() set(LIBNAME ${OCC}) endif() is replaced by: if(ENABLE_OCC_STATIC) if(MINGW) set(LIBNAME lib${OCC}.dll.a) else() set(LIBNAME lib${OCC}.a) endif() else() set(LIBNAME ${OCC}) endif() line 1284 to 1285: find_library(OCC_LIB ${LIBNAME} HINTS ENV CASROOT PATH_SUFFIXES lib ${OCC_SYS_NAME}/lib ${OCC_SYS_NAME}/vc8/lib) replaced by: find_library(OCC_LIB ${LIBNAME} HINTS ENV CASROOT PATH_SUFFIXES lib ${OCC_SYS_NAME}/lib ${OCC_SYS_NAME}/vc8/lib ${OCC_SYS_NAME}/gcc/lib ${OCC_SYS_NAME}/gcc/bin) line 1306 to 1307: find_library(OCC_CAF_LIB ${OCC} HINTS ENV CASROOT PATH_SUFFIXES lib ${OCC_SYS_NAME}/lib ${OCC_SYS_NAME}/vc8/lib) replaced by: find_library(OCC_CAF_LIB ${OCC} HINTS ENV CASROOT PATH_SUFFIXES lib ${OCC_SYS_NAME}/lib ${OCC_SYS_NAME}/vc8/lib ${OCC_SYS_NAME}/gcc/lib ${OCC_SYS_NAME}/gcc/bin) From alsalihi at vki.ac.be Thu Sep 24 11:40:40 2020 From: alsalihi at vki.ac.be (Zuheyr Alsalihi) Date: Thu, 24 Sep 2020 11:40:40 +0200 Subject: [Gmsh] GMSH units Message-ID: <2ebf-5f6c6980-27-20a20180@206572895> Dear Prof. Geuzaine and gmsh experts, I am using gmsh-4.5.6-Linux64. If I read a CAD step file in mm, and if I want to make a mesh in meters, what should I do? Thank you so much for reading. Best, Zuheyr -------------- next part -------------- An HTML attachment was scrubbed... URL: From morok at mevex.com Thu Sep 24 17:05:03 2020 From: morok at mevex.com (Max Orok) Date: Thu, 24 Sep 2020 11:05:03 -0400 Subject: [Gmsh] GMSH units In-Reply-To: <2ebf-5f6c6980-27-20a20180@206572895> References: <2ebf-5f6c6980-27-20a20180@206572895> Message-ID: Hi Zuheyr, You can use the option Geometry.OCCInputScaling: Geometry.OCCScaling Scale STEP, IGES and BRep models by the given factor when importing them with the OpenCASCADE kernel Default value: 1 Saved in: General.OptionsFileName Given in the geometry options list: http://gmsh.info/dev/doc/texinfo/gmsh.html#Geometry-options-list Sincerely, Max On Thu, Sep 24, 2020 at 6:31 AM Zuheyr Alsalihi wrote: > Dear Prof. Geuzaine and gmsh experts, > > I am using gmsh-4.5.6-Linux64. If I read a CAD step file in mm, and if I > want to make a mesh in meters, > what should I do? Thank you so much for reading. > > Best, Zuheyr _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From alsalihi at vki.ac.be Thu Sep 24 17:22:38 2020 From: alsalihi at vki.ac.be (Zuheyr Alsalihi) Date: Thu, 24 Sep 2020 17:22:38 +0200 Subject: [Gmsh] =?utf-8?b?Pz09P3V0Zi04P3E/ICBHTVNIIHVuaXRz?= In-Reply-To: Message-ID: <7e03-5f6cb980-81-166c4a80@139975506> Hi Max, Thank you so very much for this.? I will check this. Most appreciated. Best regards, Zuheyr On Thursday, September 24, 2020 17:05 CEST, Max Orok wrote: ?Hi Zuheyr,?You can use the option Geometry.OCCInputScaling:?Geometry.OCCScaling Scale STEP, IGES and BRep models by the given factor when importing them with the OpenCASCADE kernel Default value: 1 Saved in: General.OptionsFileNameGiven in the geometry options list: http://gmsh.info/dev/doc/texinfo/gmsh.html#Geometry-options-list?Sincerely,Max?On Thu, Sep 24, 2020 at 6:31 AM Zuheyr Alsalihi wrote:Dear Prof. Geuzaine and gmsh experts, I am using gmsh-4.5.6-Linux64. If I read a CAD step file in mm, and if I want to make a mesh in meters, what should I do? Thank you so much for reading. Best, Zuheyr _______________________________________________ gmsh mailing list gmsh at onelab.info http://onelab.info/mailman/listinfo/gmsh --Max OrokContractorwww.mevex.com ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Fri Sep 25 08:19:08 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 25 Sep 2020 08:19:08 +0200 Subject: [Gmsh] GMSH units In-Reply-To: References: <2ebf-5f6c6980-27-20a20180@206572895> Message-ID: > On 24 Sep 2020, at 17:05, Max Orok wrote: > > Hi Zuheyr, > > You can use the option Geometry.OCCInputScaling: > > Geometry.OCCScaling > Scale STEP, IGES and BRep models by the given factor when importing them with the OpenCASCADE kernel > Default value: 1 > Saved in: General.OptionsFileName > > Given in the geometry options list: http://gmsh.info/dev/doc/texinfo/gmsh.html#Geometry-options-list > As an alternative, you can also leave the geometry as-is, and specify Mesh.ScalingFactor to save the scaled mesh. Christophe > Sincerely, > Max > > On Thu, Sep 24, 2020 at 6:31 AM Zuheyr Alsalihi wrote: > Dear Prof. Geuzaine and gmsh experts, > > I am using gmsh-4.5.6-Linux64. If I read a CAD step file in mm, and if I want to make a mesh in meters, > what should I do? Thank you so much for reading. > > Best, Zuheyr _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > > > -- > Max Orok > Contractor > www.mevex.com > > > _______________________________________________ > 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 From bilou at netc.it Mon Oct 5 07:05:24 2020 From: bilou at netc.it (bilou at netc.it) Date: Mon, 5 Oct 2020 07:05:24 +0200 (CEST) Subject: [Gmsh] How are set up U and V vectors for elements ? Message-ID: Hello. I'm trying to parse a mesh.msh generated by gmsh. I work with 9-quad elements. I see in documentation that inside of the elements, nodes are ordered like this : ????? v ????? ^ ????? |?? ? 3-------6-------2 |???? |? ? | |???? |? | 7???? 8-------5 --> u? |?????????? | |???????? ?? | 0-------4-------1 I made a 2D mesh (all surfaces normals are oriented in the same direction) When i look at my 2D mesh (in plan XY) the element 265 : 265 2 44 1047 533 49 1102 1103 544 1104 is oriented like this related to the golbal X and Y axis ie, when looking at the screen i see: ? 44-------49-------2???? ? |?????????? |??? ? | Y ? |?????????? |???? |?? ? ^ 1102? 1104?? 544??? | ? |?????????? |???? | | ? |?????????? |???? | | 1047--1103----533??? x------> X it seems that u anv v vectors are oriented like this : ???? ? 1-----4-----0 ????? |??????? | | ????? |??????? | | u <---5-----8???? 7 ????? |???? |??? ? | ????? |???? |? ??? | ????? 2-----6-----3 ???????? ? ?? | ?????????? ? V ??????????? v ????????????????? ? How are V and U vectors defined for each element ? Is there a way to orient them along the natural X and Y axis ? Thanks From bruno.agostini at gmail.com Tue Oct 6 13:59:18 2020 From: bruno.agostini at gmail.com (Bruno) Date: Tue, 6 Oct 2020 13:59:18 +0200 Subject: [Gmsh] Transfinite 3D meshing Message-ID: Dear Gmsh community, I have a 3 dimensional square duct here attached that I wish to mesh using the transfinite option in Gmsh, which seems very powerful. I wish to have on each side of the inlet and outlet square of the duct 20 meshing points To this end I wrote the script below, but it does the meshing without taking into account the transfinite points. Any clue what I am doing wrong here? I could not find the answer in the mail archive. Python script: import gmsh dcell = Wd = Hd = 2.8 tol = dcell / 100 Ld = 18.46 gmsh.initialize() gmsh.option.setNumber("General.Terminal", 1) gmsh.option.setNumber("Mesh.MshFileVersion", 4.1) gmsh.option.setString("Geometry.OCCTargetUnit", "MM") gmsh.option.setNumber("Mesh.Optimize",1) #gmsh.option.setNumber("Mesh.Optimize",1) gmsh.merge("SquareDuct.brep") model = gmsh.model model.mesh.removeDuplicateNodes() # CREATE PHYSICAL GROUPS # WALLS s = [] s_bot = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, -Ld/2-tol, -Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 2) s_top = model.getEntitiesInBoundingBox(Hd/2-tol, -Wd/2-tol, -Ld/2-tol, Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 2) s_left = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, -Ld/2-tol, Hd/2+tol, -Wd/2+tol, Ld/2+tol, dim = 2) s_right = model.getEntitiesInBoundingBox(-Hd/2-tol, Wd/2-tol, -Ld/2-tol, Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 2) s = s + s_bot + s_left + s_top + s_right s_no_slip = [s[i][1] for i in range(len(s))] p = model.addPhysicalGroup(2, s_no_slip) model.setPhysicalName(2, p, "noslip") print("noslip = ", len(s)) # FLUID INLET CURVE c_in = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, -Ld/2-tol, Hd/2+tol, Wd/2+tol, -Ld/2+tol, dim = 1) # FLUID INLET s = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, -Ld/2-tol, Hd/2+tol, Wd/2+tol, -Ld/2+tol, dim = 2) p = model.addPhysicalGroup(2, [s[i][1] for i in range(len(s))]) model.setPhysicalName(2, p, "inlet") print("inlet = ", len(s)) for ci in c_in: ??? gmsh.model.geo.mesh.setTransfiniteCurve(ci[1], 20) p = model.addPhysicalGroup(1, [c_in[i][1] for i in range(len(c_in))]) model.setPhysicalName(1, p, "inlet_curve") # FLUID OUTLET CURVE c_out = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, Ld/2-tol, Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 1) # FLUID OUTLET s = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, Ld/2-tol, Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 2) p = model.addPhysicalGroup(2, [s[i][1] for i in range(len(s))]) model.setPhysicalName(2, p, "outlet") print("outlet = ", len(s)) for co in c_out: ??? gmsh.model.geo.mesh.setTransfiniteCurve(co[1], 20) p = model.addPhysicalGroup(1, [c_out[i][1] for i in range(len(c_out))]) model.setPhysicalName(1, p, "outlet_curve") for si in s_no_slip: ??? gmsh.model.geo.mesh.setTransfiniteSurface(si) # VOLUME s = model.getEntities(3) p = model.addPhysicalGroup(3, [s[i][1] for i in range(len(s))]) model.setPhysicalName(3, p, "air") for vi in [s[i][1] for i in range(len(s))]: ??? gmsh.model.geo.mesh.setTransfiniteVolume(vi) gmsh.model.geo.synchronize() # MESH 3D model.mesh.generate(3) #model.mesh.recombine() gmsh.write("SquareDuct.msh") gmsh.finalize() Best regards Bruno Agostini -------------- next part -------------- A non-text attachment was scrubbed... Name: SquareDuct.brep Type: model/brep Size: 4226 bytes Desc: not available URL: From morok at mevex.com Tue Oct 6 18:46:29 2020 From: morok at mevex.com (Max Orok) Date: Tue, 6 Oct 2020 12:46:29 -0400 Subject: [Gmsh] Transfinite 3D meshing In-Reply-To: References: Message-ID: Hi Bruno, At a quick glance, it's possible you require some more synchronize calls between the different API calls. It's good practice to call synchronize when you move from one part of the API to another (e.g. from gmsh.model.geo to gmsh.model.geo.mesh). This is a somewhat common issue (see e.g. https://gitlab.onelab.info/gmsh/gmsh/-/issues/987, https://gitlab.onelab.info/gmsh/gmsh/-/issues/986). I see you have a single sync call at the end but it possibly comes too late to register the transfinite settings. I would suggest trying to minimize your script further (maybe a single geometry and a single transfinite call) to dig in further. Sincerely, Max On Tue, Oct 6, 2020 at 10:43 AM Bruno wrote: > Dear Gmsh community, > > I have a 3 dimensional square duct here attached that I wish to mesh > using the transfinite option in Gmsh, which seems very powerful. > > I wish to have on each side of the inlet and outlet square of the duct > 20 meshing points > > To this end I wrote the script below, but it does the meshing without > taking into account the transfinite points. > > Any clue what I am doing wrong here? I could not find the answer in the > mail archive. > > Python script: > > import gmsh > > dcell = Wd = Hd = 2.8 > tol = dcell / 100 > Ld = 18.46 > > gmsh.initialize() > gmsh.option.setNumber("General.Terminal", 1) > gmsh.option.setNumber("Mesh.MshFileVersion", 4.1) > gmsh.option.setString("Geometry.OCCTargetUnit", "MM") > gmsh.option.setNumber("Mesh.Optimize",1) > #gmsh.option.setNumber("Mesh.Optimize",1) > > gmsh.merge("SquareDuct.brep") > model = gmsh.model > model.mesh.removeDuplicateNodes() > > > # CREATE PHYSICAL GROUPS > > # WALLS > s = [] > s_bot = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, -Ld/2-tol, > -Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 2) > s_top = model.getEntitiesInBoundingBox(Hd/2-tol, -Wd/2-tol, -Ld/2-tol, > Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 2) > s_left = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, -Ld/2-tol, > Hd/2+tol, -Wd/2+tol, Ld/2+tol, dim = 2) > s_right = model.getEntitiesInBoundingBox(-Hd/2-tol, Wd/2-tol, -Ld/2-tol, > Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 2) > s = s + s_bot + s_left + s_top + s_right > s_no_slip = [s[i][1] for i in range(len(s))] > p = model.addPhysicalGroup(2, s_no_slip) > model.setPhysicalName(2, p, "noslip") > print("noslip = ", len(s)) > > # FLUID INLET CURVE > c_in = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, -Ld/2-tol, > Hd/2+tol, Wd/2+tol, -Ld/2+tol, dim = 1) > # FLUID INLET > s = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, -Ld/2-tol, > Hd/2+tol, Wd/2+tol, -Ld/2+tol, dim = 2) > p = model.addPhysicalGroup(2, [s[i][1] for i in range(len(s))]) > model.setPhysicalName(2, p, "inlet") > print("inlet = ", len(s)) > for ci in c_in: > gmsh.model.geo.mesh.setTransfiniteCurve(ci[1], 20) > p = model.addPhysicalGroup(1, [c_in[i][1] for i in range(len(c_in))]) > model.setPhysicalName(1, p, "inlet_curve") > > # FLUID OUTLET CURVE > c_out = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, Ld/2-tol, > Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 1) > # FLUID OUTLET > s = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, Ld/2-tol, > Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 2) > p = model.addPhysicalGroup(2, [s[i][1] for i in range(len(s))]) > model.setPhysicalName(2, p, "outlet") > print("outlet = ", len(s)) > for co in c_out: > gmsh.model.geo.mesh.setTransfiniteCurve(co[1], 20) > p = model.addPhysicalGroup(1, [c_out[i][1] for i in range(len(c_out))]) > model.setPhysicalName(1, p, "outlet_curve") > > for si in s_no_slip: > gmsh.model.geo.mesh.setTransfiniteSurface(si) > > # VOLUME > s = model.getEntities(3) > p = model.addPhysicalGroup(3, [s[i][1] for i in range(len(s))]) > model.setPhysicalName(3, p, "air") > > for vi in [s[i][1] for i in range(len(s))]: > gmsh.model.geo.mesh.setTransfiniteVolume(vi) > > gmsh.model.geo.synchronize() > > # MESH 3D > model.mesh.generate(3) > #model.mesh.recombine() > > gmsh.write("SquareDuct.msh") > gmsh.finalize() > > > Best regards > > Bruno Agostini > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Tue Oct 6 19:39:32 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 6 Oct 2020 19:39:32 +0200 Subject: [Gmsh] Transfinite 3D meshing In-Reply-To: References: Message-ID: Hi Bruno and Max, There is nothing mysterious about the "gmsh.model.geo.synchronize()" and "gmsh.model.occ.synchronize()" calls :-) They serve a single purpose: to synchronize the topological Gmsh model (the model manipulated by the "gmsh.model" functions) with the internal CAD representations in each of the supported CAD kernels (the representations manipulated by the "gmsh.model.geo" functions for the built-in kernel, or the "gmsh.model.occ" functions for the OpenCASCADE kernel). In Bruno's case the issue is not linked to a missing sync. It is simply that the script merges a BREP file (the OpenCASCADE CAD file format, which thus creates an internal occ representation and is synced with the gmsh model) but tries to set transfinite constraints on the built-in internal CAD representation - using "gmsh.model.geo.setTransfiniteSurface()". The transfinite constraint should simply be set on the Gmsh model using "gmsh.model.setTransfiniteSurface()" (without the ".geo"!). I encourage you to read the introduction of the API chapter in the user's guide (http://gmsh.info/dev/doc/texinfo/gmsh.html#Gmsh-API): it explains the Gmsh data model and all the underlying concepts. Cheers, Christophe > On 6 Oct 2020, at 18:46, Max Orok wrote: > > Hi Bruno, > > At a quick glance, it's possible you require some more synchronize calls between the different API calls. > It's good practice to call synchronize when you move from one part of the API to another (e.g. from gmsh.model.geo to gmsh.model.geo.mesh). > This is a somewhat common issue (see e.g. https://gitlab.onelab.info/gmsh/gmsh/-/issues/987, https://gitlab.onelab.info/gmsh/gmsh/-/issues/986). > > I see you have a single sync call at the end but it possibly comes too late to register the transfinite settings. > I would suggest trying to minimize your script further (maybe a single geometry and a single transfinite call) to dig in further. > > Sincerely, > Max > > On Tue, Oct 6, 2020 at 10:43 AM Bruno wrote: > Dear Gmsh community, > > I have a 3 dimensional square duct here attached that I wish to mesh > using the transfinite option in Gmsh, which seems very powerful. > > I wish to have on each side of the inlet and outlet square of the duct > 20 meshing points > > To this end I wrote the script below, but it does the meshing without > taking into account the transfinite points. > > Any clue what I am doing wrong here? I could not find the answer in the > mail archive. > > Python script: > > import gmsh > > dcell = Wd = Hd = 2.8 > tol = dcell / 100 > Ld = 18.46 > > gmsh.initialize() > gmsh.option.setNumber("General.Terminal", 1) > gmsh.option.setNumber("Mesh.MshFileVersion", 4.1) > gmsh.option.setString("Geometry.OCCTargetUnit", "MM") > gmsh.option.setNumber("Mesh.Optimize",1) > #gmsh.option.setNumber("Mesh.Optimize",1) > > gmsh.merge("SquareDuct.brep") > model = gmsh.model > model.mesh.removeDuplicateNodes() > > > # CREATE PHYSICAL GROUPS > > # WALLS > s = [] > s_bot = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, -Ld/2-tol, > -Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 2) > s_top = model.getEntitiesInBoundingBox(Hd/2-tol, -Wd/2-tol, -Ld/2-tol, > Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 2) > s_left = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, -Ld/2-tol, > Hd/2+tol, -Wd/2+tol, Ld/2+tol, dim = 2) > s_right = model.getEntitiesInBoundingBox(-Hd/2-tol, Wd/2-tol, -Ld/2-tol, > Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 2) > s = s + s_bot + s_left + s_top + s_right > s_no_slip = [s[i][1] for i in range(len(s))] > p = model.addPhysicalGroup(2, s_no_slip) > model.setPhysicalName(2, p, "noslip") > print("noslip = ", len(s)) > > # FLUID INLET CURVE > c_in = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, -Ld/2-tol, > Hd/2+tol, Wd/2+tol, -Ld/2+tol, dim = 1) > # FLUID INLET > s = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, -Ld/2-tol, > Hd/2+tol, Wd/2+tol, -Ld/2+tol, dim = 2) > p = model.addPhysicalGroup(2, [s[i][1] for i in range(len(s))]) > model.setPhysicalName(2, p, "inlet") > print("inlet = ", len(s)) > for ci in c_in: > gmsh.model.geo.mesh.setTransfiniteCurve(ci[1], 20) > p = model.addPhysicalGroup(1, [c_in[i][1] for i in range(len(c_in))]) > model.setPhysicalName(1, p, "inlet_curve") > > # FLUID OUTLET CURVE > c_out = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, Ld/2-tol, > Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 1) > # FLUID OUTLET > s = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, Ld/2-tol, > Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 2) > p = model.addPhysicalGroup(2, [s[i][1] for i in range(len(s))]) > model.setPhysicalName(2, p, "outlet") > print("outlet = ", len(s)) > for co in c_out: > gmsh.model.geo.mesh.setTransfiniteCurve(co[1], 20) > p = model.addPhysicalGroup(1, [c_out[i][1] for i in range(len(c_out))]) > model.setPhysicalName(1, p, "outlet_curve") > > for si in s_no_slip: > gmsh.model.geo.mesh.setTransfiniteSurface(si) > > # VOLUME > s = model.getEntities(3) > p = model.addPhysicalGroup(3, [s[i][1] for i in range(len(s))]) > model.setPhysicalName(3, p, "air") > > for vi in [s[i][1] for i in range(len(s))]: > gmsh.model.geo.mesh.setTransfiniteVolume(vi) > > gmsh.model.geo.synchronize() > > # MESH 3D > model.mesh.generate(3) > #model.mesh.recombine() > > gmsh.write("SquareDuct.msh") > gmsh.finalize() > > > Best regards > > Bruno Agostini > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > > > -- > Max Orok > Contractor > www.mevex.com > > > _______________________________________________ > 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 From cgeuzaine at uliege.be Tue Oct 6 19:43:33 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 6 Oct 2020 19:43:33 +0200 Subject: [Gmsh] How are set up U and V vectors for elements ? In-Reply-To: References: Message-ID: <45D4A8F5-4CD7-4F20-925C-87C229C4CF5F@uliege.be> > On 5 Oct 2020, at 07:05, bilou at netc.it wrote: > > Hello. I'm trying to parse a mesh.msh generated by gmsh. > > I work with 9-quad elements. I see in documentation that inside of the elements, nodes are ordered like this : > > v > ^ > | > 3-------6-------2 > | | | > | | | > 7 8-------5 --> u > | | > | | > 0-------4-------1 > > I made a 2D mesh (all surfaces normals are oriented in the same direction) > > When i look at my 2D mesh (in plan XY) the element 265 : > 265 2 44 1047 533 49 1102 1103 544 1104 > > is oriented like this related to the golbal X and Y axis > > ie, when looking at the screen i see: > 44-------49-------2 > | | | Y > | | | ^ > 1102 1104 544 | > | | | | > | | | | > 1047--1103----533 x------> X > > it seems that u anv v vectors are oriented like this : > 1-----4-----0 > | | | > | | | > u <---5-----8 7 > | | | > | | | > 2-----6-----3 > | > V > v > > > How are V and U vectors defined for each element ? It depends on the definition of the surface and the meshing algorithm. > Is there a way to orient them along the natural X and Y axis ? With the transfinite algorithm you could force the elements to be generated in a certain order by specifying the interpolation corners. But in general you won't know the correspondance - Gmsh produces unstructured meshes! So you would use the (u,v,w) -> (x,y,z) mapping (through e.g. Lagrange basis functions) to make the connection. Christophe > > Thanks > > > > > _______________________________________________ > 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 From bruno.agostini at gmail.com Tue Oct 6 20:23:49 2020 From: bruno.agostini at gmail.com (Bruno) Date: Tue, 6 Oct 2020 20:23:49 +0200 Subject: [Gmsh] Transfinite 3D meshing In-Reply-To: References: Message-ID: Dear Christophe and Max, Thank you very much for your fast answer. Yes indeed Christophe's advice works perfectly and this is clearly explained in the provided link. Sorry for bringing up such a trivial issue! Best regards Bruno On 06.10.20 19:39, Christophe Geuzaine wrote: > Hi Bruno and Max, > > There is nothing mysterious about the "gmsh.model.geo.synchronize()" and "gmsh.model.occ.synchronize()" calls :-) They serve a single purpose: to synchronize the topological Gmsh model (the model manipulated by the "gmsh.model" functions) with the internal CAD representations in each of the supported CAD kernels (the representations manipulated by the "gmsh.model.geo" functions for the built-in kernel, or the "gmsh.model.occ" functions for the OpenCASCADE kernel). > > In Bruno's case the issue is not linked to a missing sync. It is simply that the script merges a BREP file (the OpenCASCADE CAD file format, which thus creates an internal occ representation and is synced with the gmsh model) but tries to set transfinite constraints on the built-in internal CAD representation - using "gmsh.model.geo.setTransfiniteSurface()". The transfinite constraint should simply be set on the Gmsh model using "gmsh.model.setTransfiniteSurface()" (without the ".geo"!). > > I encourage you to read the introduction of the API chapter in the user's guide (http://gmsh.info/dev/doc/texinfo/gmsh.html#Gmsh-API): it explains the Gmsh data model and all the underlying concepts. > > Cheers, > > Christophe > >> On 6 Oct 2020, at 18:46, Max Orok wrote: >> >> Hi Bruno, >> >> At a quick glance, it's possible you require some more synchronize calls between the different API calls. >> It's good practice to call synchronize when you move from one part of the API to another (e.g. from gmsh.model.geo to gmsh.model.geo.mesh). >> This is a somewhat common issue (see e.g. https://gitlab.onelab.info/gmsh/gmsh/-/issues/987, https://gitlab.onelab.info/gmsh/gmsh/-/issues/986). >> >> I see you have a single sync call at the end but it possibly comes too late to register the transfinite settings. >> I would suggest trying to minimize your script further (maybe a single geometry and a single transfinite call) to dig in further. >> >> Sincerely, >> Max >> >> On Tue, Oct 6, 2020 at 10:43 AM Bruno wrote: >> Dear Gmsh community, >> >> I have a 3 dimensional square duct here attached that I wish to mesh >> using the transfinite option in Gmsh, which seems very powerful. >> >> I wish to have on each side of the inlet and outlet square of the duct >> 20 meshing points >> >> To this end I wrote the script below, but it does the meshing without >> taking into account the transfinite points. >> >> Any clue what I am doing wrong here? I could not find the answer in the >> mail archive. >> >> Python script: >> >> import gmsh >> >> dcell = Wd = Hd = 2.8 >> tol = dcell / 100 >> Ld = 18.46 >> >> gmsh.initialize() >> gmsh.option.setNumber("General.Terminal", 1) >> gmsh.option.setNumber("Mesh.MshFileVersion", 4.1) >> gmsh.option.setString("Geometry.OCCTargetUnit", "MM") >> gmsh.option.setNumber("Mesh.Optimize",1) >> #gmsh.option.setNumber("Mesh.Optimize",1) >> >> gmsh.merge("SquareDuct.brep") >> model = gmsh.model >> model.mesh.removeDuplicateNodes() >> >> >> # CREATE PHYSICAL GROUPS >> >> # WALLS >> s = [] >> s_bot = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, -Ld/2-tol, >> -Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 2) >> s_top = model.getEntitiesInBoundingBox(Hd/2-tol, -Wd/2-tol, -Ld/2-tol, >> Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 2) >> s_left = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, -Ld/2-tol, >> Hd/2+tol, -Wd/2+tol, Ld/2+tol, dim = 2) >> s_right = model.getEntitiesInBoundingBox(-Hd/2-tol, Wd/2-tol, -Ld/2-tol, >> Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 2) >> s = s + s_bot + s_left + s_top + s_right >> s_no_slip = [s[i][1] for i in range(len(s))] >> p = model.addPhysicalGroup(2, s_no_slip) >> model.setPhysicalName(2, p, "noslip") >> print("noslip = ", len(s)) >> >> # FLUID INLET CURVE >> c_in = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, -Ld/2-tol, >> Hd/2+tol, Wd/2+tol, -Ld/2+tol, dim = 1) >> # FLUID INLET >> s = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, -Ld/2-tol, >> Hd/2+tol, Wd/2+tol, -Ld/2+tol, dim = 2) >> p = model.addPhysicalGroup(2, [s[i][1] for i in range(len(s))]) >> model.setPhysicalName(2, p, "inlet") >> print("inlet = ", len(s)) >> for ci in c_in: >> gmsh.model.geo.mesh.setTransfiniteCurve(ci[1], 20) >> p = model.addPhysicalGroup(1, [c_in[i][1] for i in range(len(c_in))]) >> model.setPhysicalName(1, p, "inlet_curve") >> >> # FLUID OUTLET CURVE >> c_out = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, Ld/2-tol, >> Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 1) >> # FLUID OUTLET >> s = model.getEntitiesInBoundingBox(-Hd/2-tol, -Wd/2-tol, Ld/2-tol, >> Hd/2+tol, Wd/2+tol, Ld/2+tol, dim = 2) >> p = model.addPhysicalGroup(2, [s[i][1] for i in range(len(s))]) >> model.setPhysicalName(2, p, "outlet") >> print("outlet = ", len(s)) >> for co in c_out: >> gmsh.model.geo.mesh.setTransfiniteCurve(co[1], 20) >> p = model.addPhysicalGroup(1, [c_out[i][1] for i in range(len(c_out))]) >> model.setPhysicalName(1, p, "outlet_curve") >> >> for si in s_no_slip: >> gmsh.model.geo.mesh.setTransfiniteSurface(si) >> >> # VOLUME >> s = model.getEntities(3) >> p = model.addPhysicalGroup(3, [s[i][1] for i in range(len(s))]) >> model.setPhysicalName(3, p, "air") >> >> for vi in [s[i][1] for i in range(len(s))]: >> gmsh.model.geo.mesh.setTransfiniteVolume(vi) >> >> gmsh.model.geo.synchronize() >> >> # MESH 3D >> model.mesh.generate(3) >> #model.mesh.recombine() >> >> gmsh.write("SquareDuct.msh") >> gmsh.finalize() >> >> >> Best regards >> >> Bruno Agostini >> >> >> _______________________________________________ >> gmsh mailing list >> gmsh at onelab.info >> http://onelab.info/mailman/listinfo/gmsh >> >> >> -- >> Max Orok >> Contractor >> www.mevex.com >> >> >> _______________________________________________ >> 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 > > > From drek700 at gmail.com Wed Oct 7 15:47:45 2020 From: drek700 at gmail.com (David Fernandez) Date: Wed, 7 Oct 2020 15:47:45 +0200 Subject: [Gmsh] 2D Unstructured periodic quad mesh Message-ID: Hello everyone, my goal is to create a 2D unstructured periodic quad mesh, which as much heterogeneity as possible. I'm very new to gmsh, so I'm not sure at this point if my requirements are too strict. Thus, I would like to ask you if gmsh has the capability of creating meshes with those characteristics. Thank you. From lisa at simula.no Wed Oct 7 21:58:52 2020 From: lisa at simula.no (Lisa Pankewitz) Date: Wed, 7 Oct 2020 21:58:52 +0200 Subject: [Gmsh] Surface does not remesh as fine as volume Message-ID: To whom it may concern, first of all - thanks for providing this incredible software and report! It is really appreciated. I am using a geometry I used for several samples, but for this one I cannot figure out why the surface is not remeshing in the same way the volume is. I attached a minimal example of the .geo and one .vtk. I am working with gmsh 4.6.1. I would really appreciate it if you have a hint of what I am missing. Thank you for your time and have a fantastic day! Kind regards, Lisa ---------------------------------------------------------------------------------------------------------------------- *Lisa Pankewitz* PhD student Simula Research Laboratory Martin Linges vei 25 1364 Fornebu Office 329 lisa at simula.no -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: new_attempt.vtk Type: application/octet-stream Size: 436061 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: example.geo Type: application/octet-stream Size: 685 bytes Desc: not available URL: From cgeuzaine at uliege.be Wed Oct 7 23:06:56 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 7 Oct 2020 23:06:56 +0200 Subject: [Gmsh] Surface does not remesh as fine as volume In-Reply-To: References: Message-ID: <5C128264-A1EC-4ECC-9D51-70B011469CC3@uliege.be> > On 7 Oct 2020, at 21:58, Lisa Pankewitz wrote: > > To whom it may concern, > > first of all - thanks for providing this incredible software and report! It is really appreciated. > > I am using a geometry I used for several samples, but for this one I cannot figure out why the surface is not remeshing in the same way the volume is. > I attached a minimal example of the .geo and one .vtk. I am working with gmsh 4.6.1. > > I would really appreciate it if you have a hint of what I am missing. The surface is just not remeshed at all (cf. the error message "Error : Invalid exterior boundary mesh for parametrization") - hence Gmsh tries to produce a (refined) volume mesh that conforms to the (coarse) surface mesh. The issue with the input surface mesh seems to be related to the orientation of input triangles (which are sometimes flipped). See the attached picture. Christophe > Thank you for your time and have a fantastic day! > > Kind regards, > > Lisa > > ---------------------------------------------------------------------------------------------------------------------- > Lisa Pankewitz > PhD student > Simula Research Laboratory > Martin Linges vei 25 > 1364 Fornebu > Office 329 > lisa at simula.no > > _______________________________________________ > 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: bad_ori.png Type: image/png Size: 1020402 bytes Desc: not available URL: From lisa at simula.no Thu Oct 8 07:49:12 2020 From: lisa at simula.no (Lisa Pankewitz) Date: Thu, 8 Oct 2020 07:49:12 +0200 Subject: [Gmsh] Surface does not remesh as fine as volume In-Reply-To: <5C128264-A1EC-4ECC-9D51-70B011469CC3@uliege.be> References: <5C128264-A1EC-4ECC-9D51-70B011469CC3@uliege.be> Message-ID: Thank you so much! That helps! Now I also understand the error message. Have a nice day! On Wed, 7 Oct 2020 at 23:06, Christophe Geuzaine wrote: > > > On 7 Oct 2020, at 21:58, Lisa Pankewitz wrote: > > To whom it may concern, > > first of all - thanks for providing this incredible software and report! > It is really appreciated. > > I am using a geometry I used for several samples, but for this one I > cannot figure out why the surface is not remeshing in the same way the > volume is. > I attached a minimal example of the .geo and one .vtk. I am working with > gmsh 4.6.1. > > I would really appreciate it if you have a hint of what I am missing. > > > The surface is just not remeshed at all (cf. the error message "Error : > Invalid exterior boundary mesh for parametrization") - hence Gmsh tries to > produce a (refined) volume mesh that conforms to the (coarse) surface mesh. > > The issue with the input surface mesh seems to be related to the > orientation of input triangles (which are sometimes flipped). See the > attached picture. > > Christophe > > > Thank you for your time and have a fantastic day! > > Kind regards, > > Lisa > > > ---------------------------------------------------------------------------------------------------------------------- > Lisa Pankewitz > PhD student > Simula Research Laboratory > Martin Linges vei 25 > > 1364 Fornebu > Office 329 > lisa at simula.no > > > _______________________________________________ > 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 > > > > -- Kind regards, Lisa ---------------------------------------------------------------------------------------------------------------------- *Lisa Pankewitz* PhD student Simula Research Laboratory Martin Linges vei 25 1364 Fornebu Office 329 lisa at simula.no -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: bad_ori.png Type: image/png Size: 1020402 bytes Desc: not available URL: From nils106 at googlemail.com Thu Oct 8 08:31:12 2020 From: nils106 at googlemail.com (Nils Wagner) Date: Thu, 8 Oct 2020 08:31:12 +0200 Subject: [Gmsh] Rectangular cutouts in cylinders Message-ID: Dear all, How can I create a rectangular cutout in a cylinder? The center point of the rectangle is defined by point 6. Length and width of the cutout should be defined by two variables l and w, respectively. Kind regards, Nils -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: cylinder.geo Type: application/octet-stream Size: 942 bytes Desc: not available URL: From pk at imp.gda.pl Thu Oct 8 08:37:24 2020 From: pk at imp.gda.pl (Pawel Kudela) Date: Thu, 8 Oct 2020 08:37:24 +0200 Subject: [Gmsh] [Gmsh ]One layer of solid elements through thickness instead of two Message-ID: Dear Gmsh community, Do you know how to force gmsh to produce only one layer of hexahedral elements through the thickness of the thin-walled structure like in the attached example? I want to have only one layer of linear elements which will be than converted to higher order spectral element type. 3D meshing always produces two elements even though 1 layer is set in extrude operation. Regards, Pawel -- Polish Academy of Sciences Institute of Fluid-Flow Machinery Centre for Mechanics of Machines Mechanics of Intelligent Structures Department Fiszera 14 St, 80-231 Gdansk tel. +48 58 5225 251 -------------- next part -------------- // Gmsh project created on Mon Oct 05 09:07:45 2020 SetFactory("OpenCASCADE"); div=30; // mesh divisions thick_div=1; // thickness division L=0.5; W=0.5; // plate dimensions xpzt=0.25; ypzt=0.25; r=0.005; // pzt radius hpzt=0.0002; //pzt thickness h1=0.002; // plate thickness h2=0.0015; // omega stringer thickness h3=0.0365; // omega stringer total height s=0.116; // stringer total width sfb=0.0225; // stringer bottom foot width sh=0.030; // stringer top part width b=Sqrt(Fabs(h1^2-h2^2)); bs=(h3-h2)*Cos(58*(Pi/180))/Sin(58*(Pi/180)); // stringer angled part width sft=sfb-b; // stringer top foot width L1=0.3215; // stringer position //+ Point(1) = {L, L1, 0, 1.0}; //+ Point(2) = {L, L1+s-sfb, 0, 1.0}; //+ Point(3) = {L, W, h1, 1.0}; //+ Point(4) = {L, W, 0, 1.0}; //+ Point(5) = {L, L1, h1, 1.0}; //+ Point(6) = {L, L1+sfb, h1, 1.0}; //+ Point(7) = {L, L1+sft, h1+h2, 1.0}; //+ Point(8) = {L, L1, h1+h2, 1.0}; //+ Point(9) = {L, L1+s, h1, 1.0}; //+ Point(10) = {L, L1+s, h1+h2, 1.0}; //+ Point(11) = {L, L1+s-sft, h1+h2, 1.0}; //+ Point(12) = {L, L1+s-sfb, h1, 1.0}; //+ Point(13) = {L, L1+sft+bs, h1+h3, 1.0}; //+ Point(14) = {L, L1+s-sft-bs, h1+h3, 1.0}; //+ Point(15) = {L, L1+sfb+bs, h1+h3-h2, 1.0}; //+ Point(16) = {L, L1+s-sfb-bs, h1+h3-h2, 1.0}; //+ Point(17) = {L, L1+sfb, 0, 1.0}; //+ Point(18) = {L, L1+s, 0, 1.0}; //+ Line(1) = {1,5}; //+ Line(2) = {2,12}; //+ Line(3) = {3,9}; //+ Line(4) = {9,12}; //+ Line(5) = {12,6}; //+ Line(6) = {6,17}; //+ Line(7) = {4,3}; //+ Line(8) = {1,17}; //+ Line(9) = {7,8}; //+ Line(10) = {8,5}; //+ Line(11) = {9,10}; //+ Line(12) = {10,11}; //+ Line(13) = {13,7}; //+ Line(14) = {11,14}; //+ Line(15) = {14,13}; //+ Line(16) = {12,16}; //+ Line(17) = {16,15}; //+ Line(18) = {15,6}; //+ Line(19) = {6,7}; //+ Line(20) = {11,12}; //+ Line(21) = {13,15}; //+ Line(22) = {14,16}; //+ Line(23) = {5,6}; //+ Line(24) = {18,9}; //+ Line(25) = {17,2}; //+ Line(26) = {2,18}; //+ Line(27) = {18,4}; //+ //+ Curve Loop(1) = {1, 23, 6, -8}; //+ Plane Surface(1) = {1}; //+ Curve Loop(2) = {6, 25, 2, 5}; //+ Plane Surface(2) = {2}; //+ Curve Loop(3) = {2, -4, -24, -26}; //+ Plane Surface(3) = {3}; //+ Curve Loop(4) = {24, -3, -7, -27}; //+ Plane Surface(4) = {4}; //+ Curve Loop(5) = {10, 23, 19, 9}; //+ Plane Surface(5) = {5}; //+ Curve Loop(6) = {19, -13, 21, 18}; //+ Plane Surface(6) = {6}; //+ Curve Loop(7) = {21, -17, -22, 15}; //+ Plane Surface(7) = {7}; //+ Curve Loop(8) = {22, -16, -20, 14}; //+ Plane Surface(8) = {8}; //+ Curve Loop(9) = {20, -4, 11, 12}; //+ Plane Surface(9) = {9}; //+ Extrude {-L, 0, 0} { Surface{1}; Surface{2}; Surface{3}; Surface{4}; Surface{5}; Surface{6}; Surface{7}; Surface{8}; Surface{9}; Layers{div}; Recombine; } //+ Transfinite Curve {10, 1, 19, 6, 2, 20, 24, 11, 7, 49, 44, 71, 68, 39, 64, 59, 54, 34, 30, 52, 21,22} = thick_div Using Progression 1; //+ //Transfinite Curve {28, 29, 51, 53, 33, 31, 56, 58, 61, 63, 36, 38, 67, 43, 41, 70, 48, 46} = div Using Progression 1; //+ Transfinite Curve {9, 23, 8, 13, 18, 15, 17, 14, 16, 12, 4, 55, 32, 35, 57, 60, 65, 62, 69, 66, 72, 42, 45, 26} = 4 Using Progression 1; //+ Transfinite Curve {40, 37, 5, 25} = 8 Using Progression 1; //+ Transfinite Curve {3, 27, 50, 47} = 7 Using Progression 1; //+ Transfinite Surface {29} Alternated; //+ Transfinite Surface {11} Alternated; //+ Transfinite Surface {13} Alternated; //+ Transfinite Surface {37} Alternated; //+ Transfinite Surface {35} Alternated; //+ Transfinite Surface {17} Alternated; //+ Transfinite Surface {15} Alternated; //+ Transfinite Surface {44} Alternated; //+ Transfinite Surface {19} Alternated; //+ Transfinite Surface {21} Alternated; //+ Transfinite Surface {23} Alternated; //+ Transfinite Surface {25} Alternated; //+ Transfinite Volume{1} = {1, 17, 6, 5, 19, 22, 21, 20}; //+ Transfinite Volume{5} = {5, 6, 7, 8, 20, 21, 30, 29}; //+ Transfinite Volume{2} = {17, 2, 12, 6, 22, 23, 24, 21}; //+ Transfinite Volume{6} = {6, 15, 13, 7, 21, 32, 31, 30}; //+ Transfinite Volume{7} = {15, 16, 14, 13, 32, 33, 34, 31}; //+ Transfinite Volume{8} = {16, 12, 11, 14, 33, 24, 35, 34}; //+ Transfinite Volume{3} = {2, 18, 9, 12, 23, 26, 25, 24}; //+ Transfinite Volume{9} = {12, 9, 10, 11, 24, 25, 36, 35}; //+ Transfinite Volume{4} = {18, 4, 3, 9, 26, 28, 27, 25}; //+ p1=newp; Point(p1) = {0, 0, 0, 1.0}; p2=newp; Point(p2) = {L, 0, 0, 1.0}; l1 = newll; Line(l1) = {p1,p2};//+ Line(74) = {38, 1}; //+ Line(75) = {19, 37}; //+ l2 = newll;Curve Loop(l2) = {73, 74, 28, 75}; //plate //+ c1 = newc; Circle(c1) = {xpzt, ypzt, 0, r, 0, 2*Pi}; //+ l3 = newll; Curve Loop(l3) = {c1}; //pzt//+ Transfinite Curve {77} = 13 Using Progression 1; //+ Transfinite Curve {73,80} = div Using Progression 1; //+ Transfinite Curve {75, 74} = 33 Using Progression 1; //+ s1 = news; Plane Surface(s1) = {l2,l3}; //plate s2 = news; Plane Surface(s2) = {l3}; //pzt bottom of the plate //+ p3 = newp; Point(p3) = {xpzt, ypzt, 0, 1.0}; //+ Point{p3} In Surface {s2};// mesh node at centre of pzt //+ Extrude {0, 0, h1} { Surface{s1}; Surface{s2}; Layers{1}; Recombine; } //+ Extrude {0, 0, hpzt} { Surface{87}; Layers{1}; Recombine; } Transfinite Curve {79, 78} = thick_div Using Progression 1; //+ //+ Physical Volume("Plate1") = {10, 11}; //+ Physical Volume("Plate2") = {1}; //+ Physical Volume("Plate3") = {2}; //+ Physical Volume("Plate4") = {3}; //+ Physical Volume("Plate5") = {4}; //+ Physical Volume("Stringer_foot1") = {5}; //+ Physical Volume("Stringer_slope1") = {6}; //+ Physical Volume("Stringer_top") = {7}; //+ Physical Volume("Stringer_slope2") = {8}; //+ Physical Volume("Stringer_foot2") = {9}; //+ Physical Volume("pzt") = {12}; //+ // Mesh options Mesh.RecombineAll = 1; // Apply recombination algorithm Mesh.SubdivisionAlgorithm = 2; // 1: all quadrangles; 2: all hexas Mesh.Smoothing = 1; Mesh.CharacteristicLengthFactor = 0.08000; Mesh.CharacteristicLengthMin = 0.001000; Mesh.CharacteristicLengthMax = 0.200000; Mesh.ElementOrder = 1;//+ // Options General.SaveOptions = 0; From martin.genet at polytechnique.edu Thu Oct 8 21:33:43 2020 From: martin.genet at polytechnique.edu (Martin Genet) Date: Thu, 8 Oct 2020 21:33:43 +0200 Subject: [Gmsh] frontal meshing animation Message-ID: Hi all: I am preparing a class on finite elements, and wanted to show an animation of how a frontal algorithm works, but cannot find a good one. I thought someone here might have done such an animation and might be willing to share it, or know where I could find one. I would of course reference it properly. Thanks for any help! Regards from Paris, Martin Genet From cgeuzaine at uliege.be Thu Oct 8 21:56:51 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Thu, 8 Oct 2020 21:56:51 +0200 Subject: [Gmsh] [Gmsh ]One layer of solid elements through thickness instead of two In-Reply-To: References: Message-ID: <0ED1D682-9745-474B-9412-61308C28F1F2@uliege.be> > On 8 Oct 2020, at 08:37, Pawel Kudela wrote: > > Dear Gmsh community, > > Do you know how to force gmsh to produce only one layer of hexahedral elements through the thickness of the thin-walled structure like in the attached example? I want to have only one layer of linear elements which will be than converted to higher order spectral element type. > > 3D meshing always produces two elements even though 1 layer is set in extrude operation. > You get 2 elements in the layer because of the Mesh.SubdivisionAlgorithm = 2; // 1: all quadrangles; 2: all hexas command, which subdivides the mesh (to get a full quad/hex mesh). There's active work on new quad meshing tools, so hopefully this limitation will disappear in the future. Christophe > Regards, > > Pawel > > -- > > Polish Academy of Sciences > Institute of Fluid-Flow Machinery > Centre for Mechanics of Machines > Mechanics of Intelligent Structures Department > Fiszera 14 St, 80-231 Gdansk > tel. +48 58 5225 251 > _______________________________________________ > 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 From pk at imp.gda.pl Fri Oct 9 07:50:45 2020 From: pk at imp.gda.pl (Pawel Kudela) Date: Fri, 9 Oct 2020 07:50:45 +0200 Subject: [Gmsh] [Gmsh ]One layer of solid elements through thickness instead of two In-Reply-To: <0ED1D682-9745-474B-9412-61308C28F1F2@uliege.be> References: <0ED1D682-9745-474B-9412-61308C28F1F2@uliege.be> Message-ID: <9b21ebbb-7f64-7470-b913-000c9994e646@imp.gda.pl> Dear Christophe, Thank you very much for the answer and great work behind gmsh software! Regards, Pawel Polish Academy of Sciences Institute of Fluid-Flow Machinery Centre for Mechanics of Machines Mechanics of Intelligent Structures Department Fiszera 14 St, 80-231 Gdansk tel. +48 58 5225 251 W dniu 2020-10-08 o?21:56, Christophe Geuzaine pisze: > >> On 8 Oct 2020, at 08:37, Pawel Kudela wrote: >> >> Dear Gmsh community, >> >> Do you know how to force gmsh to produce only one layer of hexahedral elements through the thickness of the thin-walled structure like in the attached example? I want to have only one layer of linear elements which will be than converted to higher order spectral element type. >> >> 3D meshing always produces two elements even though 1 layer is set in extrude operation. >> > You get 2 elements in the layer because of the > > Mesh.SubdivisionAlgorithm = 2; // 1: all quadrangles; 2: all hexas > > command, which subdivides the mesh (to get a full quad/hex mesh). > > There's active work on new quad meshing tools, so hopefully this limitation will disappear in the future. > > Christophe > >> Regards, >> >> Pawel >> >> -- >> >> Polish Academy of Sciences >> Institute of Fluid-Flow Machinery >> Centre for Mechanics of Machines >> Mechanics of Intelligent Structures Department >> Fiszera 14 St, 80-231 Gdansk >> tel. +48 58 5225 251 >> _______________________________________________ >> 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 > > > From razonkumarku at gmail.com Sat Oct 10 03:57:10 2020 From: razonkumarku at gmail.com (Razon kumar) Date: Sat, 10 Oct 2020 12:57:10 +1100 Subject: [Gmsh] Error after Mesh Conversion to OpenFOAM Message-ID: Hi all, Hope everyone is doing well in this tough time. Actually, I am working on to investigate the natural convection flow inside an open cavity. For this purpose, I made an unstructured mesh using Gmsh and then convert it to OpenFOAM. The mesh looks ok in Gmsh UI without having any error. However, while converting it to OpenFOAM and checking the mesh quality, it shows error (still 2 error for this case). I am not a super expert on Gmsh environment but can do little things. I was unable to find the solution so far after trying a couple of days. I followed this group for a long time but this is my second post here. I am really optimistic that someone from this group can find whats the actual problem in my geo file. Please see the attached geo and error file if you are interested to help me. I will appreciate any help regarding this issue. Thanks in advance. Cheers, * Razon * -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: cavity.geo Type: application/octet-stream Size: 2265 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: error.png Type: image/png Size: 69616 bytes Desc: not available URL: From rosicley at usp.br Fri Oct 16 16:49:08 2020 From: rosicley at usp.br (=?UTF-8?Q?Rosicley_J=C3=BAnio_Rodrigues_Rosa?=) Date: Fri, 16 Oct 2020 11:49:08 -0300 Subject: [Gmsh] Problem with creating a mesh in OpenCASCADE kernel Message-ID: Hello Gmsh users, I'm working with crack propagation and the crack is modelled from a local finite element mesh. The mesh is successfully created using the Built-in kernel, but I am interested in using the OpenCASCADE kernel, because I want to union two or mais surfaces in future. However, when I use this kernel, numerous errors occur during the mesh generation process. Does anyone know what may be happening? An example of .geo file is attached... Sincerely, Rosicley Rosa -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: newMesh.geo Type: application/octet-stream Size: 12522 bytes Desc: not available URL: From dstoupis at auth.gr Sat Oct 17 12:54:18 2020 From: dstoupis at auth.gr (Dimitrios Stoupis) Date: Sat, 17 Oct 2020 10:54:18 +0000 Subject: [Gmsh] Adding a boundary surface on a STL model In-Reply-To: References: Message-ID: I came up with a solution, not in GMSH but using PyMesh. You can check my post in the issues of PyMesh below: https://github.com/PyMesh/PyMesh/issues/261 The reason I am posting it here is for future reference for anyone interested. This also might give you an insight for GMSH. On Sun, May 17, 2020 at 1:00 PM Dimitrios Stoupis wrote: > Hi, > > I want to run brain simulations with models from the PHM repository > (not relevant to the problem but suits the narrative) which are > shipped in STL format. The meshes of the STL have been fixed using > MeshFix and the attached .geo file has been used to generate the 3D > mesh. > > [file: brain_mesh.geo] > > The script successfully meshes the model and the generated mesh is > correct. The problem is how can I add electrodes on the head > (cylindrical volumes) so that later I use those as the boundary > surfaces to add the boundary conditions in the FEM solver. > Illustration > > I have tried creating a cylinder and applying boolean operation with > the STL, but obviously this did not work. How can I create such a > thing on the STL surface? There is no CAD available just the STL > files. For copyright reasons I am not able to share the STL, but I > will try to illustrate below the problem using a sphere in paint. > > [image: electrode.png] > > I want the electrode (red volume) to be tangent with the surface of > the skin (black sphere). The black sphere is only in STL format. > Triangle position problem > > Finally the next problem that will arise is how can I get the > individual triangle positions on the STL surface through the file in > order to be able and add the electrode perpendicular to the surface > and to the right spot, without doing trial and error work to find the > location. > > Thank you! > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bruno.agostini at gmail.com Tue Oct 20 15:40:48 2020 From: bruno.agostini at gmail.com (Bruno) Date: Tue, 20 Oct 2020 15:40:48 +0200 Subject: [Gmsh] Fragment + addSurfaceLoop Message-ID: Dear Gmsh Community: In the code below I import a 3D cooling fin CAD in Brep format. I want to modify the model to insert a heating area smaller than the base area and have a conformal meshing. I then tag the heating area for further use to apply boundary conditions. To this end I used the python code below: ```python # New heating area qa.append((2, factory.addRectangle(0, 0, 0, dz, -dy))) factory.rotate([qa], 0, 0, 0, 0, 1, 0, pi/2) tx = -Hd/2 - HEV ty = ( dy - ( Wd + CH0 ) / 2 ) / 2 tz = Ld/2 + zq factory.translate([qa], tx, ty, tz) factory.synchronize() s = model.getEntitiesInBoundingBox(-Hd/2-HEV-tol, -Wd/2-CH0/2-tol, -Ld/2-tol, -Hd/2-HEV+tol, Wd/2+CH0/2+tol, Ld/2+tol, dim = 2) # Get fin bottom surface sc = list(set(s) - set(qa)) # Remove heating area (duplicates) sf = factory.fragment(sc, qa, removeObject = True, removeTool = False)[0] factory.synchronize() s = model.getEntities(2) s = list(set(s) - set(sc)) # Remove original base area (duplicates) sl = factory.addSurfaceLoop([s[i][1] for i in range(len(s))], sewing = True) factory.synchronize() vol = factory.addVolume([sl]) factory.synchronize() p = model.addPhysicalGroup(2, [qa[i][1] for i in range(len(qa))]) model.setPhysicalName(2, p, "base") p = model.addPhysicalGroup(3, [vol]) model.setPhysicalName(3, p, "fin") model.mesh.generate(3) ``` If I use `sewing=True` then I get the results in the attached picture (superimposed_mesh.png): the heating area and the volume seem to have superimposed meshes even though I used fragment to cut-out the heating area. If I use `sewing=False` then I get facet intersection errors (fin_NOK.png). Any idea what I am doing wrong here? Best regards Bruno -------------- next part -------------- A non-text attachment was scrubbed... Name: superimposed_mesh.png Type: image/png Size: 393058 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: fin_NOK.png Type: image/png Size: 474915 bytes Desc: not available URL: From C.Rossetto at student.tudelft.nl Wed Oct 21 13:21:13 2020 From: C.Rossetto at student.tudelft.nl (Camillo Rossetto) Date: Wed, 21 Oct 2020 11:21:13 +0000 Subject: [Gmsh] Mesh two volumes conformally GMSH Message-ID: Dear all, I was interested into knowing if it is possible to put a surface, defined in an .stl file, into a box, create two separate volumes(one for the surface and one for the box) and finally mesh the two volumes conformally. I would be so glad if you could please help me. Thank you in advance. Kind regards. Camillo -------------- next part -------------- An HTML attachment was scrubbed... URL: From C.Rossetto at student.tudelft.nl Wed Oct 21 13:23:21 2020 From: C.Rossetto at student.tudelft.nl (Camillo Rossetto) Date: Wed, 21 Oct 2020 11:23:21 +0000 Subject: [Gmsh] Mesh two volumes conformally Message-ID: Dear all, Hello, I was interested into knowing if it is possible to put a surface, defined in an .stl file, into a box, create two separate volumes(one for the surface and one for the box) and finally mesh the two volumes conformally. I would be so glad if you could please help me. Thank you in advance. Kind regards. Camillo -------------- next part -------------- An HTML attachment was scrubbed... URL: From marco_antolovic at yahoo.it Wed Oct 21 19:41:46 2020 From: marco_antolovic at yahoo.it (Marco Antolovic) Date: Wed, 21 Oct 2020 17:41:46 +0000 (UTC) Subject: [Gmsh] unrecognized variable loaded from another file using Merge command References: <49735058.3156984.1603302106902.ref@mail.yahoo.com> Message-ID: <49735058.3156984.1603302106902@mail.yahoo.com> Hi all, I'm experiencing a strange behavior with some variable after loading them from an external file using Merge. The attached files shows an example where the merged file (thermal_data.geo) contains three variables T0, rho_20 and alpha0 When I run the script T0 and rho_20 are loaded without problems while alpha0 ?is ignored and the following error is generated: 'prova.geo', line 8 : Unknown variable 'alpha0' Can someone explain what is happening? Thanks, Marco -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: prova.geo Type: application/octet-stream Size: 160 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: thermal_data.geo Type: application/octet-stream Size: 135 bytes Desc: not available URL: From marco_antolovic at yahoo.it Thu Oct 22 12:56:28 2020 From: marco_antolovic at yahoo.it (Marco Antolovic) Date: Thu, 22 Oct 2020 10:56:28 +0000 (UTC) Subject: [Gmsh] Question on creating meshes with layered elements References: <100841329.3513044.1603364188097.ref@mail.yahoo.com> Message-ID: <100841329.3513044.1603364188097@mail.yahoo.com> Hi all, I'm trying to find the best way to approach the following problem: I have a parallelepiped with the edge alone z much smaller than that along x and y (this is typical, for example,?for PCB traces) and I would like to guarantee, in the volume, a predefined number of layers (np_layers) along zedge. If I build the structure in gmsh this is quite simple to obtain by saying: SetFactory("OpenCASCADE");thickness = 140e-6;nr_layers = 4;surf=newreg;Rectangle(surf)={.001,0,0,.001,.001,0};Extruded_surf() = Extrude { 0,0, thickness } { Surface{surf}; Layers{nr_layers}; Recombine;}; But how can I apply this in case the parallelepiped is coming from a step file? The command above(Extrude{...}{... Layers{}}) can't be used. I was thinking about slicing the Volume with some planes (see example below) SetFactory("OpenCASCADE");thickness = 140e-6;nr_layers = 4;surf=newreg;Rectangle(surf)={.001,0,0,.001,.001,0};Extruded_surf() = Extrude { 0,0, thickness } { Surface{surf};};vol() = Extruded_surf(1);For i In {1:nr_layers-1}surf1(i-1)=newreg;Rectangle(surf1(i-1)) = {.001, 0, thickness/nr_layers*i, .001, .001};EndForresults() = BooleanFragments{Volume{vol()};Delete;}{Surface{surf1()}; Delete;}; but when trying to recombine the triangles in the layers I get the following error: Error ? : Pyramid top vertex already classified on volume 2 (!= 3) - non-manifold quad boundaries not supportedyet Any suggestion on how to address the issue is much appreciated. Regards, Marco -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.eschner at dokom.net Mon Oct 26 19:38:57 2020 From: t.eschner at dokom.net (t.eschner at dokom.net) Date: Mon, 26 Oct 2020 18:38:57 +0000 Subject: [Gmsh] integration, spikes In-Reply-To: References: <20200805081234.Horde.K-MGW_wqjnpV6nXLN2lPaak@www.dokom21-webagent.de> Message-ID: <20201026183857.Horde.WzHDj9UZWBen5jxZsT3rADH@www.dokom21-webagent.de> Thank you very much (I am very late, but I hope not too late). After a forced pause I made a new attempt and found that a naive cut produced a quite distorted mesh that caused numeric problems, I assume. I am happier with plugin(CutGrid) now. After fixing the parameters, plugin(Intergrate) started to provide values with actually sufficient accuracy, but I will switch to global quantities later, as you suggested. Kind regards, Thomas Zitat von Christophe Geuzaine : >> On 5 Aug 2020, at 10:12, t.eschner at dokom.net wrote: >> >> Dear all, >> >> trying to get acquainted with gmsh/getdp, I stumbled upon two >> problems that I am not able to resolve. >> >> I am trying to model a simple conductive cell with two electrodes, >> a simple one and a structured one. To me, the results look quite >> realistic so far (I am still in the stage of checking), with two >> exceptions: >> >> The first: When I try to calculate the overall current by calling >> plugin(Integrate) on views slightly above the simple electrode, I >> get two different results (for the vector view -8,88 and the >> x-component view -39,9), and neither is close enough to the >> expected value of -2x(4,94..4,99). > > Be careful with brute-force integration. If you use GetDP would > recommend using global quantities, which define such integrals in > the "variationally correct" way: see e.g. > https://gitlab.onelab.info/doc/tutorials/-/wikis/Electrostatics-with-floating-potentials > >> The second: The current density field has few spiky values that I >> do not know how to cure. Their position seems to be constant, the >> values seem to change with the grid parameters, and it might be >> getdp-related. > > With a (scalar) potential formulation your current density is > defined through the gradient, whose accuracy will depend quite > strongly on the mesh quality. You can give the new "HXT" 3D > algorithm a try, whose optimizer produces slightly better elements, > and see if this improves things. > > Christophe > >> Please, have a look and give me a hint on how to correct/proceed. Thank you. >> >> Kind regards, Thomas >> >> _______________________________________________ >> gmsh mailing list >> gmsh at onelab.info >> http://onelab.info/mailman/listinfo/gmsh > > ? > Prof. Christophe Geuzaine > University of Liege, Electrical Engineering and Computer > Sciencehttp://www.montefiore.ulg.ac.be/~geuzaine -------------- next part -------------- An HTML attachment was scrubbed... URL: From 101091652 at student.swin.edu.au Tue Oct 27 02:35:04 2020 From: 101091652 at student.swin.edu.au (CHARLES WRIGHT) Date: Tue, 27 Oct 2020 01:35:04 +0000 Subject: [Gmsh] SolidWorks tagging elementary entities Message-ID: Good Afternoon, I am currently working on a few 3D models using SOLIDWORKS for input into esys-escript with gmsh as the meshing software. we?ve successfully created the files and ported as STEP files into gmsh, the meshing has worked great. The only problem is tagging the physical groups for manipulation in esys.-escript. We could go through each file and tag them manually in gmsh, but I thought there had to be an easier way that I?m missing in SOLIDWORKS or an intermediate step. Any advice is appreciated. Charles Swinburne University of Technology Sent from Mail for Windows 10 -------------- next part -------------- An HTML attachment was scrubbed... URL: From morok at mevex.com Tue Oct 27 15:20:13 2020 From: morok at mevex.com (Max Orok) Date: Tue, 27 Oct 2020 10:20:13 -0400 Subject: [Gmsh] SolidWorks tagging elementary entities In-Reply-To: References: Message-ID: Hi Charles, There's support for reading STEP label and colour information, which you could map to Gmsh physical groups. Here is an example of using labels as physical groups: https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/demos/api/step_assembly.py https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/demos/api/as1-tu-203.stp It is still a little bit tricky, here are some related issues that might be helpful: https://gitlab.onelab.info/gmsh/gmsh/-/issues/559 https://gitlab.onelab.info/gmsh/gmsh/-/issues/693 Sincerely, Max On Tue, Oct 27, 2020 at 1:46 AM CHARLES WRIGHT < 101091652 at student.swin.edu.au> wrote: > Good Afternoon, > > I am currently working on a few 3D models using SOLIDWORKS for input into > esys-escript with gmsh as the meshing software. > > we?ve successfully created the files and ported as STEP files into gmsh, > the meshing has worked great. The only problem is tagging the physical > groups for manipulation in esys.-escript. > > > > We could go through each file and tag them manually in gmsh, but I thought > there had to be an easier way that I?m missing in SOLIDWORKS or an > intermediate step. > > Any advice is appreciated. > > > Charles > > Swinburne University of Technology > > > > > > Sent from Mail for > Windows 10 > > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From tianxia.ui at gmail.com Thu Oct 29 06:44:03 2020 From: tianxia.ui at gmail.com (Tian Xia) Date: Thu, 29 Oct 2020 13:44:03 +0800 Subject: [Gmsh] Boundary layer field - tangential direction mesh size Message-ID: Hi Gmsh team, I'd like to create 2D surface mesh with high density near the boundary and corners. It looks like the boundary layer field is quite suitable for this. For example I can create a mesh like below. What I failed to find out is to increase the mesh density at the four corners. If I want to do that (which looks like adjusting 1D mesh parameters) together with the boundary layer field, what is the best way? Thank you! Tian Here is my geo script to generate the mesh: SetFactory("OpenCASCADE"); Rectangle(1) = {0, 0, 0, 1, 2, 0}; Field[1] = BoundaryLayer; Field[1].EdgesList = {1, 2, 3, 4}; Field[1].hwall_n = 0.03; Field[1].thickness = 0.1; BoundaryLayer Field = 1; [image: image.png] -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 35915 bytes Desc: not available URL: From francois.fraysse at hotmail.fr Thu Oct 29 17:49:57 2020 From: francois.fraysse at hotmail.fr (=?iso-8859-1?Q?fran=E7ois_fraysse?=) Date: Thu, 29 Oct 2020 16:49:57 +0000 Subject: [Gmsh] curved mesh and jacobian Message-ID: Hello GMSH users and developers, I generated a simple quadratic tetrahedra based mesh using default settings with gmsh v4.6.0. After regularizing, minimum jacobian lies between default target, ScaledMinjac=0.102 so mesh seems valid, no warning or errors. Then in a separate code I post-process the mesh and build quadratic shape functions. I evaluate the determinant of the Jacobian at the 10 nodes of each tetra and it turns out that I get some small values below zero for some tetras : ~1e-2/1e-3. I do not exclude a mistake in the verification procedure, but I didn't find it so far. My question is : is ScaledMinJac an exact value or an approximation ? Thank you for developing such a great software :) -------------- next part -------------- An HTML attachment was scrubbed... URL: From razonkumarku at gmail.com Fri Oct 30 05:40:59 2020 From: razonkumarku at gmail.com (Razon kumar) Date: Fri, 30 Oct 2020 15:40:59 +1100 Subject: [Gmsh] High Aspect Ratio Cells Message-ID: Hi all, I have created a geo file for a rectangle. My main objective is to convert this geo file to OpenFoam. While I converting to OpenFoam, the conversion looks fine without having any error. However, it turns out to be an error indicating high aspect ratio cells. I have added the geo file and error message with this email. Can anyone have any idea regarding this issue? How can I overcome this problem? I have been trying to fix it for the last few weeks. Any suggestion will be great for me. Thanks Cheers, * Razon * -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Rectangle.geo Type: application/octet-stream Size: 708 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: rrr.png Type: image/png Size: 71283 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: qqq.png Type: image/png Size: 52982 bytes Desc: not available URL: From marco_antolovic at yahoo.it Fri Oct 30 15:28:14 2020 From: marco_antolovic at yahoo.it (Marco Antolovic) Date: Fri, 30 Oct 2020 14:28:14 +0000 (UTC) Subject: [Gmsh] Can you delete the variables created in the GUI menu? References: <270350128.962207.1604068094053.ref@mail.yahoo.com> Message-ID: <270350128.962207.1604068094053@mail.yahoo.com> Hi all, Is there a way to delete a variable that you created in the GUI menu when you reload the script? I'll try to explain my question with this example: ?nr_dielectric_groups = DefineNumber[ 4, Min 1, Max 2000, Step 1, Name " Dielectric parameters/Nr. of dielectric groups" ]; For i In {0:nr_dielectric_groups-1}? ? dielectric_thickness(i) = DefineNumber[ 550, Min 1, Max 2000, Step 1, Name Sprintf(" Dielectric parameters/ Dielectric thickness %g", i+1) ];EndFor when you first start the script dielectric_thickness() will be a vector of dimension four and you will see four dielectric_thickness variables in the menu. However if I set nr_dielectric_groups=2 the menu will still show four dielectric_thickness variables. Is there a way to delete excess variables from the menu? Many thanks, Marco -------------- next part -------------- An HTML attachment was scrubbed... URL: From pbedenbaugh at gmail.com Wed Nov 4 03:57:41 2020 From: pbedenbaugh at gmail.com (Purvis Bedenbaugh) Date: Wed, 4 Nov 2020 02:57:41 +0000 Subject: [Gmsh] spline with many points Message-ID: The following test program, which generates a helical pipe by extruding a disk along a spline. When the number of turns of the helix is 4, it generates an attractive helix, and 3D-mesh creates an attractive mesh. When the number of turns of the helix is 5, it generates an attractive helix, and 3D mesh crashes gmsh. When the number of turns is 12, the helix is ugly, and 3D mesh crashes gmsh. I would very much appreciate your insight into diagnosing the error. SetFactory("OpenCASCADE"); bottom = 0; steps = 3000; bodyturns = 12; pitch = 5; // vertical mm/turn turnsteps =20; // reference points for each turn of the helix radius = 2.5; lc = 0.05; argmult = 2*Pi/pitch ; nsteps = bodyturns*turnsteps; For ii In {0:nsteps} zpos = (pitch/turnsteps) * ii; xpos = radius*Cos(argmult*(zpos)); ypos = radius*Sin(argmult*(zpos)); Point(ii) = {xpos, ypos, zpos, lc}; EndFor Disk(1000) = {radius, 0, 0, 0.5}; jcoef = -pitch/Sqrt(pitch^2 + 4 * Pi^2); kcoef = (2 * Pi)/Sqrt(pitch^2 + 4 * Pi^2); Rotate {{-1, 0, 0}, {radius,0,0}, Asin(kcoef)} { Surface{1000}; } Spline(2000) = {0:nsteps}; Wire(3000) = {2000}; Extrude { Surface{1000}; } Using Wire{3000} Sent from Mail for Windows 10 -------------- next part -------------- An HTML attachment was scrubbed... URL: From fsrahman at bu.edu Wed Nov 4 08:22:07 2020 From: fsrahman at bu.edu (Fariba Rahman) Date: Wed, 4 Nov 2020 02:22:07 -0500 Subject: [Gmsh] Volume not meshing after adding embedded surface Message-ID: Hi, I am working on a mesh for a class project where I would like to embed a rectangular surface ("gate-contact") onto a volume ("AlGaAs Barrier Layer" = volume 5) directly below this surface. However the rectangular surface ("gate-contact") shares 2 of its edges with the volume below ("AlGaAs barrier layer"). I am getting an error when I do a 3D mesh, where the top left surface of the volume ("AlGaAs barrier layer") adjacent to the rectangular surface ("gate-contact") being embedded is not meshing. I get the following error code: "No elements in volume 5" Could you advise on how I can fix this to get all of volume 5 to mesh? Source code attached. Appreciate your help. Fariba [image: image.png] -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 214489 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: GaAs_FET1v5.geo Type: application/octet-stream Size: 9744 bytes Desc: not available URL: From cgeuzaine at uliege.be Wed Nov 4 08:52:20 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 4 Nov 2020 08:52:20 +0100 Subject: [Gmsh] spline with many points In-Reply-To: References: Message-ID: > On 4 Nov 2020, at 03:57, Purvis Bedenbaugh wrote: > > The following test program, which generates a helical pipe by extruding a disk along a spline. > > When the number of turns of the helix is 4, it generates an attractive helix, and 3D-mesh creates an attractive mesh. > When the number of turns of the helix is 5, it generates an attractive helix, and 3D mesh crashes gmsh. > When the number of turns is 12, the helix is ugly, and 3D mesh crashes gmsh. > > I would very much appreciate your insight into diagnosing the error. > We still need to improve error messages (and prevent crashes...) when the requested mesh size is not appropriate. Here, the default mesh size is much too coarse. Add e.g. Characteristic Length{:} = radius/10; at the end of your script and you should be fine. Christophe > > SetFactory("OpenCASCADE"); > bottom = 0; > steps = 3000; > > bodyturns = 12; > > pitch = 5; // vertical mm/turn > turnsteps =20; // reference points for each turn of the helix > > radius = 2.5; > lc = 0.05; > > argmult = 2*Pi/pitch ; > nsteps = bodyturns*turnsteps; > > For ii In {0:nsteps} > zpos = (pitch/turnsteps) * ii; > xpos = radius*Cos(argmult*(zpos)); > ypos = radius*Sin(argmult*(zpos)); > Point(ii) = {xpos, ypos, zpos, lc}; > EndFor > > Disk(1000) = {radius, 0, 0, 0.5}; > jcoef = -pitch/Sqrt(pitch^2 + 4 * Pi^2); > kcoef = (2 * Pi)/Sqrt(pitch^2 + 4 * Pi^2); > Rotate {{-1, 0, 0}, {radius,0,0}, Asin(kcoef)} { Surface{1000}; } > Spline(2000) = {0:nsteps}; > Wire(3000) = {2000}; > Extrude { Surface{1000}; } Using Wire{3000} > > Sent from Mail for Windows 10 > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Wed Nov 4 08:55:04 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 4 Nov 2020 08:55:04 +0100 Subject: [Gmsh] Volume not meshing after adding embedded surface In-Reply-To: References: Message-ID: <731BBB80-DA13-49B0-A9D2-1EC74A3EFC3C@uliege.be> > On 4 Nov 2020, at 08:22, Fariba Rahman wrote: > > Hi, > > I am working on a mesh for a class project where I would like to embed a rectangular surface ("gate-contact") onto a volume ("AlGaAs Barrier Layer" = volume 5) directly below this surface. However the rectangular surface ("gate-contact") shares 2 of its edges with the volume below ("AlGaAs barrier layer"). > > I am getting an error when I do a 3D mesh, where the top left surface of the volume ("AlGaAs barrier layer") adjacent to the rectangular surface ("gate-contact") being embedded is not meshing. > I get the following error code: "No elements in volume 5" > Could you advise on how I can fix this to get all of volume 5 to mesh? > Your model has overlapping surfaces (blue and yellow triangles overlapping in your picture). Christophe > Source code attached. > Appreciate your help. > > Fariba > > > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Wed Nov 4 08:59:12 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 4 Nov 2020 08:59:12 +0100 Subject: [Gmsh] Can you delete the variables created in the GUI menu? In-Reply-To: <270350128.962207.1604068094053@mail.yahoo.com> References: <270350128.962207.1604068094053.ref@mail.yahoo.com> <270350128.962207.1604068094053@mail.yahoo.com> Message-ID: <8854D873-DFCA-4530-A72A-6CF3EF8E62C4@uliege.be> > On 30 Oct 2020, at 15:28, Marco Antolovic wrote: > > Hi all, > > Is there a way to delete a variable that you created in the GUI menu when you reload the script? > > I'll try to explain my question with this example: > > nr_dielectric_groups = DefineNumber[ 4, Min 1, Max 2000, Step 1, Name " Dielectric parameters/Nr. of dielectric groups" ]; > > For i In {0:nr_dielectric_groups-1} > dielectric_thickness(i) = DefineNumber[ 550, Min 1, Max 2000, Step 1, Name Sprintf(" Dielectric parameters/ Dielectric thickness %g", i+1) ]; > EndFor > > when you first start the script dielectric_thickness() will be a vector of dimension four and you will see four dielectric_thickness variables in the menu. > > However if I set nr_dielectric_groups=2 the menu will still show four dielectric_thickness variables. Is there a way to delete excess variables from the menu? > You can "undefine" them using "UndefineConstant[]". But in practice we usually simply hide them (with the "Visible" attribute) : this way if you change your mind and later re-increase "nr_dielectric_groups", you will still have the value that you might have selected before. Christophe > Many thanks, > > Marco > > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Wed Nov 4 09:01:25 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 4 Nov 2020 09:01:25 +0100 Subject: [Gmsh] High Aspect Ratio Cells In-Reply-To: References: Message-ID: <961CFEE2-6718-44E2-867D-312B4DA8410D@uliege.be> > On 30 Oct 2020, at 05:40, Razon kumar wrote: > > Hi all, > > I have created a geo file for a rectangle. My main objective is to convert this geo file to OpenFoam. While I converting to OpenFoam, the conversion looks fine without having any error. However, it turns out to be an error indicating high aspect ratio cells. I have added the geo file and error message with this email. Can anyone have any idea regarding this issue? How can I overcome this problem? I have been trying to fix it for the last few weeks. Any suggestion will be great for me. Thanks Your mesh seems fine. But indeed you create very "elongated" prisms by extruding the surface mesh along the z direction with a single layer... Christophe > Cheers, > > Razon > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Wed Nov 4 09:10:32 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 4 Nov 2020 09:10:32 +0100 Subject: [Gmsh] curved mesh and jacobian In-Reply-To: References: Message-ID: <2C2B7DB6-7F46-42EB-AD1E-5203D58A2306@uliege.be> > On 29 Oct 2020, at 17:49, fran?ois fraysse wrote: > > Hello GMSH users and developers, > > I generated a simple quadratic tetrahedra based mesh using default settings with gmsh v4.6.0. After regularizing, minimum jacobian lies between default target, ScaledMinjac=0.102 so mesh seems valid, no warning or errors. > > Then in a separate code I post-process the mesh and build quadratic shape functions. I evaluate the determinant of the Jacobian at the 10 nodes of each tetra and it turns out that I get some small values below zero for some tetras : ~1e-2/1e-3. > > I do not exclude a mistake in the verification procedure, but I didn't find it so far. > > My question is : is ScaledMinJac an exact value or an approximation ? > The value is not exact, but the validity check is a provable bound, i.e. we we report that the element is correct it should be. Can you run the AnalyseMeshQuality plugin and check the results? Christophe > Thank you for developing such a great software :) > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Wed Nov 4 09:11:52 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 4 Nov 2020 09:11:52 +0100 Subject: [Gmsh] Boundary layer field - tangential direction mesh size In-Reply-To: References: Message-ID: <0E2C0AE5-BAB0-40F4-9819-A9BF9BF36494@uliege.be> > On 29 Oct 2020, at 06:44, Tian Xia wrote: > > Hi Gmsh team, > > I'd like to create 2D surface mesh with high density near the boundary and corners. It looks like the boundary layer field is quite suitable for this. > > For example I can create a mesh like below. What I failed to find out is to increase the mesh density at the four corners. If I want to do that (which looks like adjusting 1D mesh parameters) together with the boundary layer field, what is the best way? > The "tangential" size is simply determined by the 1D mesh. See tutorial 10 for examples of mesh size fields. Christophe > Thank you! > Tian > > Here is my geo script to generate the mesh: > > SetFactory("OpenCASCADE"); > Rectangle(1) = {0, 0, 0, 1, 2, 0}; > Field[1] = BoundaryLayer; > Field[1].EdgesList = {1, 2, 3, 4}; > Field[1].hwall_n = 0.03; > Field[1].thickness = 0.1; > BoundaryLayer Field = 1; > > > > > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Wed Nov 4 09:14:50 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 4 Nov 2020 09:14:50 +0100 Subject: [Gmsh] Question on creating meshes with layered elements In-Reply-To: <100841329.3513044.1603364188097@mail.yahoo.com> References: <100841329.3513044.1603364188097.ref@mail.yahoo.com> <100841329.3513044.1603364188097@mail.yahoo.com> Message-ID: <0D955BDC-A04D-48E9-902C-E1625B8E4920@uliege.be> > On 22 Oct 2020, at 12:56, Marco Antolovic wrote: > > Hi all, > > I'm trying to find the best way to approach the following problem: > > I have a parallelepiped with the edge alone z much smaller than that along x and y (this is typical, for example, > for PCB traces) and I would like to guarantee, in the volume, a predefined number of layers (np_layers) along z > edge. > > If I build the structure in gmsh this is quite simple to obtain by saying: > > SetFactory("OpenCASCADE"); > thickness = 140e-6; > nr_layers = 4; > surf=newreg; > Rectangle(surf)={.001,0,0,.001,.001,0}; > Extruded_surf() = Extrude { 0,0, thickness } { Surface{surf}; Layers{nr_layers}; Recombine;}; > > But how can I apply this in case the parallelepiped is coming from a step file? The command above > (Extrude{...}{... Layers{}}) can't be used. Indeed, we would need to "reverse engineer" the fact that the volume has indeed been created by extrusion. See https://gitlab.onelab.info/gmsh/gmsh/-/issues/929 for the issue tracking this feature request. Christophe > > I was thinking about slicing the Volume with some planes (see example below) > > SetFactory("OpenCASCADE"); > thickness = 140e-6; > nr_layers = 4; > surf=newreg; > Rectangle(surf)={.001,0,0,.001,.001,0}; > Extruded_surf() = Extrude { 0,0, thickness } { Surface{surf};}; > vol() = Extruded_surf(1); > For i In {1:nr_layers-1} > surf1(i-1)=newreg; > Rectangle(surf1(i-1)) = {.001, 0, thickness/nr_layers*i, .001, .001}; > EndFor > results() = BooleanFragments{Volume{vol()};Delete;}{Surface{surf1()}; Delete;}; > > but when trying to recombine the triangles in the layers I get the following error: > > Error : Pyramid top vertex already classified on volume 2 (!= 3) - non-manifold quad boundaries not supported > yet > > Any suggestion on how to address the issue is much appreciated. > > Regards, > > Marco > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Wed Nov 4 09:51:43 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 4 Nov 2020 09:51:43 +0100 Subject: [Gmsh] unrecognized variable loaded from another file using Merge command In-Reply-To: <49735058.3156984.1603302106902@mail.yahoo.com> References: <49735058.3156984.1603302106902.ref@mail.yahoo.com> <49735058.3156984.1603302106902@mail.yahoo.com> Message-ID: <4D29B467-BF93-4A7D-8D20-A26E0271E337@uliege.be> > On 21 Oct 2020, at 19:41, Marco Antolovic wrote: > > Hi all, > > I'm experiencing a strange behavior with some variable after loading them from an external file using Merge. > > The attached files shows an example where the merged file (thermal_data.geo) contains three variables > > T0, rho_20 and alpha0 > > When I run the script T0 and rho_20 are loaded without problems while alpha0 is ignored and the following error is generated: 'prova.geo', line 8 : Unknown variable 'alpha0' > > Can someone explain what is happening? The issue is linked to the mac encoding of the included file: Gmsh expects script files with line ending with \n (or \r\n); mac encoded files end lines only with \r. Christophe > > Thanks, > > Marco > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Wed Nov 4 09:52:42 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 4 Nov 2020 09:52:42 +0100 Subject: [Gmsh] curved mesh and jacobian In-Reply-To: References: <2C2B7DB6-7F46-42EB-AD1E-5203D58A2306@uliege.be> Message-ID: <1C1FB2CE-91C6-41CA-A94B-B25E72830B03@uliege.be> > On 4 Nov 2020, at 09:31, fran?ois fraysse wrote: > > Many thanks for your answer, > > In the meanwhile I found one of your articles which explains bounds for triangles: > > https://gmsh.info/doc/preprints/gmsh_curved2_preprint.pdf > > Then, after digging more in my own code I found a mistake related with node numbering, I was using vtk ordering for 10 node tets which is slighty different (2 last mid-edges nodes are swapped). That did it. > Ok, great! Christophe > My apologies... > > btw AnalyseMeshQuality returns minJ inside or very close to target > > Best regards > De : Christophe Geuzaine > Envoy? : mercredi 4 novembre 2020 08:10 > ? : fran?ois fraysse > Cc : gmsh at onelab.info > Objet : Re: [Gmsh] curved mesh and jacobian > > > > > On 29 Oct 2020, at 17:49, fran?ois fraysse wrote: > > > > Hello GMSH users and developers, > > > > I generated a simple quadratic tetrahedra based mesh using default settings with gmsh v4.6.0. After regularizing, minimum jacobian lies between default target, ScaledMinjac=0.102 so mesh seems valid, no warning or errors. > > > > Then in a separate code I post-process the mesh and build quadratic shape functions. I evaluate the determinant of the Jacobian at the 10 nodes of each tetra and it turns out that I get some small values below zero for some tetras : ~1e-2/1e-3. > > > > I do not exclude a mistake in the verification procedure, but I didn't find it so far. > > > > My question is : is ScaledMinJac an exact value or an approximation ? > > > > The value is not exact, but the validity check is a provable bound, i.e. we we report that the element is correct it should be. Can you run the AnalyseMeshQuality plugin and check the results? > > Christophe > > > > Thank you for developing such a great software :) > > _______________________________________________ > > 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://people.montefiore.ulg.ac.be/geuzaine ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Wed Nov 4 09:57:53 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 4 Nov 2020 09:57:53 +0100 Subject: [Gmsh] Fragment + addSurfaceLoop In-Reply-To: References: Message-ID: <8D3203B5-560D-43C2-814B-C89E9D5C3AB2@uliege.be> > On 20 Oct 2020, at 15:40, Bruno wrote: > > Dear Gmsh Community: > > In the code below I import a 3D cooling fin CAD in Brep format. I want to modify the model to insert a heating area smaller than the base area and have a conformal meshing. I then tag the heating area for further use to apply boundary conditions. To this end I used the python code below: > > ```python > > # New heating area > > qa.append((2, factory.addRectangle(0, 0, 0, dz, -dy))) > factory.rotate([qa], 0, 0, 0, 0, 1, 0, pi/2) > tx = -Hd/2 - HEV > ty = ( dy - ( Wd + CH0 ) / 2 ) / 2 > tz = Ld/2 + zq > factory.translate([qa], tx, ty, tz) > factory.synchronize() > > s = model.getEntitiesInBoundingBox(-Hd/2-HEV-tol, -Wd/2-CH0/2-tol, -Ld/2-tol, -Hd/2-HEV+tol, Wd/2+CH0/2+tol, Ld/2+tol, dim = 2) # Get fin bottom surface > sc = list(set(s) - set(qa)) # Remove heating area (duplicates) > sf = factory.fragment(sc, qa, removeObject = True, removeTool = False)[0] > factory.synchronize() > s = model.getEntities(2) > s = list(set(s) - set(sc)) # Remove original base area (duplicates) > > sl = factory.addSurfaceLoop([s[i][1] for i in range(len(s))], sewing = True) > factory.synchronize() > > vol = factory.addVolume([sl]) > factory.synchronize() > > p = model.addPhysicalGroup(2, [qa[i][1] for i in range(len(qa))]) > model.setPhysicalName(2, p, "base") > > p = model.addPhysicalGroup(3, [vol]) > model.setPhysicalName(3, p, "fin") > > model.mesh.generate(3) > > ``` > > If I use `sewing=True` then I get the results in the attached picture (superimposed_mesh.png): the heating area and the volume seem to have superimposed meshes even though I used fragment to cut-out the heating area. > I would fragment the whole model, which will ensure that everything is conforming; then extract the parts needed for boundary conditions. Christophe > If I use `sewing=False` then I get facet intersection errors (fin_NOK.png). > > Any idea what I am doing wrong here? > > > Best regards > > > Bruno > > > > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Wed Nov 4 10:00:02 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 4 Nov 2020 10:00:02 +0100 Subject: [Gmsh] Problem with creating a mesh in OpenCASCADE kernel In-Reply-To: References: Message-ID: <908235C7-E8BD-4687-9F31-D58CBD628ECB@uliege.be> > On 16 Oct 2020, at 16:49, Rosicley J?nio Rodrigues Rosa wrote: > > Hello Gmsh users, > > I'm working with crack propagation and the crack is modelled from a local finite element mesh. > The mesh is successfully created using the Built-in kernel, but I am interested in using the > OpenCASCADE kernel, because I want to union two or mais surfaces in future. However, when I use this kernel, numerous errors occur during the mesh generation process. I don't get any errors. Can you send the log? Christophe > Does anyone know what may be happening? > An example of .geo file is attached... > > Sincerely, > Rosicley Rosa > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Wed Nov 4 10:02:06 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 4 Nov 2020 10:02:06 +0100 Subject: [Gmsh] Error after Mesh Conversion to OpenFOAM In-Reply-To: References: Message-ID: <49C0DB84-E7B2-4D54-87B9-68B9D71BE971@uliege.be> > On 10 Oct 2020, at 03:57, Razon kumar wrote: > > Hi all, > > Hope everyone is doing well in this tough time. Actually, I am working on to investigate the natural convection flow inside an open cavity. For this purpose, I made an unstructured mesh using Gmsh and then convert it to OpenFOAM. The mesh looks ok in Gmsh UI without having any error. However, while converting it to OpenFOAM and checking the mesh quality, it shows error (still 2 error for this case). I am not a super expert on Gmsh environment but can do little things. I was unable to find the solution so far after trying a couple of days. I followed this group for a long time but this is my second post here. I am really optimistic that someone from this group can find whats the actual problem in my geo file. > > Please see the attached geo and error file if you are interested to help me. I will appreciate any help regarding this issue. Thanks in advance. The mesh looks ok to me. But indeed you extrude the surface mesh with a singe layer of elements with a height that is much larger than the size of the smallest triangles, leading to very elongated prisms... Christophe > Cheers, > > Razon > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Wed Nov 4 10:03:58 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 4 Nov 2020 10:03:58 +0100 Subject: [Gmsh] Rectangular cutouts in cylinders In-Reply-To: References: Message-ID: <03532777-BE8D-474E-89F9-033B9AD67B15@uliege.be> > On 8 Oct 2020, at 08:31, Nils Wagner wrote: > > Dear all, > How can I create a rectangular cutout in a cylinder? > The center point of the rectangle is defined by point 6. > Length and width of the cutout should be defined by two variables l and w, respectively. The simplest is to use the OpenCASCADE kernel and boolean operations to create the cutout. Christophe > Kind regards, > Nils > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From fsrahman at bu.edu Thu Nov 5 00:54:40 2020 From: fsrahman at bu.edu (Fariba Rahman) Date: Wed, 4 Nov 2020 18:54:40 -0500 Subject: [Gmsh] Volume not meshing after adding embedded surface In-Reply-To: <731BBB80-DA13-49B0-A9D2-1EC74A3EFC3C@uliege.be> References: <731BBB80-DA13-49B0-A9D2-1EC74A3EFC3C@uliege.be> Message-ID: Hi Christophe, Thank you for getting back to me. I tried using *Surface {26} in Volume {5} * code but this did not work to embed surface 26 into volume 5, but both volume 5 and surface 6 were completely meshed. I have tried embedding my surface 26 into the top face of volume 5 using the following code below, but I still get the same errors: *Error: Invalid boundary mesh (overlapping facets) on surface 27 surface 26* *Error: No elements in volume 3 4 5* Not sure what else I can do to both completely mesh volume 5 and embed surface 26 into this volume. I also have a zoomed in screen shot of the volume 5 and surface 26 below and attached the source for reference. Any guidance you may have would be greatly appreciated. Best regards, Fariba *Code used to embed surface 26 into volume 5:* //-------Gate Contact-------------------------------------------------------------------------// Line(57) = {37, 40}; Line(58) = {39, 38}; Line Loop(26) = {57, -55, 58, -52}; Plane Surface(26) = {26}; Physical Surface("Gate-Contact") = {26}; //-----------Top surface of AlGaAs Barrier & embed Gate contact in top face--------// Curve Loop(27) = {30, 51, 52, 53, 46, 54, 55, 56}; Plane Surface(27) = {27,26}; //------- Other Surfaces of AlGaAs Barrier Region --------------------------------------------------------// Curve Loop(28) = {27, 15, -38, -53, -52, -51}; Plane Surface(28) = {28}; //+ Curve Loop(29) = {44, 21, 29, -56, -55, -54}; Plane Surface(29) = {29}; //+ Curve Loop(30) = {28, -21, 45, -15}; Plane Surface(30) = {30}; //------------AlGaAs Barrier Layer Volume---------------// Surface Loop(5) = {27, 28, 30, 29, 15, 24, 26}; Volume(5) = {5}; Physical Volume("AlGaAs Barrier Layer") = {5}; [image: image.png] On Wed, Nov 4, 2020 at 2:55 AM Christophe Geuzaine wrote: > > > > On 4 Nov 2020, at 08:22, Fariba Rahman wrote: > > > > Hi, > > > > I am working on a mesh for a class project where I would like to embed a > rectangular surface ("gate-contact") onto a volume ("AlGaAs Barrier Layer" > = volume 5) directly below this surface. However the rectangular surface > ("gate-contact") shares 2 of its edges with the volume below ("AlGaAs > barrier layer"). > > > > I am getting an error when I do a 3D mesh, where the top left surface of > the volume ("AlGaAs barrier layer") adjacent to the rectangular surface > ("gate-contact") being embedded is not meshing. > > I get the following error code: "No elements in volume 5" > > Could you advise on how I can fix this to get all of volume 5 to mesh? > > > > Your model has overlapping surfaces (blue and yellow triangles overlapping > in your picture). > > Christophe > > > > Source code attached. > > Appreciate your help. > > > > Fariba > > > > > > > > _______________________________________________ > > 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://people.montefiore.ulg.ac.be/geuzaine > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 272976 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: GaAs_FET1v5_2.geo Type: application/octet-stream Size: 9744 bytes Desc: not available URL: From marco_antolovic at yahoo.it Fri Nov 6 19:19:48 2020 From: marco_antolovic at yahoo.it (Marco Antolovic) Date: Fri, 6 Nov 2020 18:19:48 +0000 (UTC) Subject: [Gmsh] Can you delete the variables created in the GUI menu? In-Reply-To: <8854D873-DFCA-4530-A72A-6CF3EF8E62C4@uliege.be> References: <270350128.962207.1604068094053.ref@mail.yahoo.com> <270350128.962207.1604068094053@mail.yahoo.com> <8854D873-DFCA-4530-A72A-6CF3EF8E62C4@uliege.be> Message-ID: <1878533084.5225576.1604686788879@mail.yahoo.com> Hi Christophe, thanks for the answer, that's exactly what I was looking for. I've tried to use the Visible parameter before but could not figure out how to implement it but yesterday the penny finally dropped :-) Regards, Marco PS: If someone is interested below is an example of how you could do it // Set the number of maximum dielectric groups//============================================nr_dielectric_groups_max =10; // Check the number of dielectric group variables present in ONELAB database// If there is none no action is taken// old_nr_dg represent the nr. of dielect. groups available from previous script run//==================================================================================old_nr_dg=0;For i In {1:nr_dielectric_groups_max}? seekZero = GetNumber(Sprintf(" Dielectric parameters/ Dielectric thickness %g", i));? If (seekZero!=0)? ? old_nr_dg +=1;? EndIfEndFor // Define the new nr. of dielect. groups//======================================DefineConstant[?nr_dielectric_groups = {1, Min 1, Max nr_dielectric_groups_max, Step 1, Name " Dielectric parameters/Nr. of dielectric groups"}?]; // Chose which variables will be hidden/shown//===========================================If (old_nr_dg>=nr_dielectric_groups)? nr_count=old_nr_dg;Else? nr_count=nr_dielectric_groups;EndIf For i In {0:nr_count-1}? visi_flag(i)=0;EndForFor i In {0:nr_dielectric_groups-1}? visi_flag(i)=1;EndFor // Create variables and update menu view//======================================For i In {0:nr_count-1}? dielectric_thickness(i) = DefineNumber[ 550, Min 1, Max 2000, Step 1, Name Sprintf(" Dielectric parameters/ Dielectric thickness %g", i+1), Visible visi_flag(i) ];? dielectric_thickness(i) = dielectric_thickness(i)/1e6;EndFor Il mercoled? 4 novembre 2020, 08:59:12 CET, Christophe Geuzaine ha scritto: > On 30 Oct 2020, at 15:28, Marco Antolovic wrote: > > Hi all, > > Is there a way to delete a variable that you created in the GUI menu when you reload the script? > > I'll try to explain my question with this example: > >? nr_dielectric_groups = DefineNumber[ 4, Min 1, Max 2000, Step 1, Name " Dielectric parameters/Nr. of dielectric groups" ]; > > For i In {0:nr_dielectric_groups-1} >? ? dielectric_thickness(i) = DefineNumber[ 550, Min 1, Max 2000, Step 1, Name Sprintf(" Dielectric parameters/ Dielectric thickness %g", i+1) ]; > EndFor > > when you first start the script dielectric_thickness() will be a vector of dimension four and you will see four dielectric_thickness variables in the menu. > > However if I set nr_dielectric_groups=2 the menu will still show four dielectric_thickness variables. Is there a way to delete excess variables from the menu? > You can "undefine" them using "UndefineConstant[]". But in practice we usually simply hide them (with the "Visible" attribute) : this way if you change your mind and later re-increase "nr_dielectric_groups", you will still have the value that you might have selected before. Christophe > Many thanks, > > Marco > > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine -------------- next part -------------- An HTML attachment was scrubbed... URL: From marco_antolovic at yahoo.it Fri Nov 6 20:01:47 2020 From: marco_antolovic at yahoo.it (Marco Antolovic) Date: Fri, 6 Nov 2020 19:01:47 +0000 (UTC) Subject: [Gmsh] unrecognized variable loaded from another file using Merge command In-Reply-To: <4D29B467-BF93-4A7D-8D20-A26E0271E337@uliege.be> References: <49735058.3156984.1603302106902.ref@mail.yahoo.com> <49735058.3156984.1603302106902@mail.yahoo.com> <4D29B467-BF93-4A7D-8D20-A26E0271E337@uliege.be> Message-ID: <1739830674.5243612.1604689307481@mail.yahoo.com> Hi Christophe, thanks for clarifying, Regards, Marco Il mercoled? 4 novembre 2020, 09:51:43 CET, Christophe Geuzaine ha scritto: > On 21 Oct 2020, at 19:41, Marco Antolovic wrote: > > Hi all, > > I'm experiencing a strange behavior with some variable after loading them from an external file using Merge. > > The attached files shows an example where the merged file (thermal_data.geo) contains three variables > > T0, rho_20 and alpha0 > > When I run the script T0 and rho_20 are loaded without problems while alpha0? is ignored and the following error is generated: 'prova.geo', line 8 : Unknown variable 'alpha0' > > Can someone explain what is happening? The issue is linked to the mac encoding of the included file: Gmsh expects script files with line ending with \n (or \r\n); mac encoded files end lines only with \r. Christophe > > Thanks, > > Marco > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine -------------- next part -------------- An HTML attachment was scrubbed... URL: From marco_antolovic at yahoo.it Sun Nov 8 16:29:28 2020 From: marco_antolovic at yahoo.it (Marco Antolovic) Date: Sun, 8 Nov 2020 15:29:28 +0000 (UTC) Subject: [Gmsh] Question on creating meshes with layered elements In-Reply-To: <0D955BDC-A04D-48E9-902C-E1625B8E4920@uliege.be> References: <100841329.3513044.1603364188097.ref@mail.yahoo.com> <100841329.3513044.1603364188097@mail.yahoo.com> <0D955BDC-A04D-48E9-902C-E1625B8E4920@uliege.be> Message-ID: <340449034.5857578.1604849368394@mail.yahoo.com> Hi Christiophe, glad to see that this feature has been already formally requested. >From my side I have spent some time thinking on how to solve, if possible, this problem with scripting tools only and I came out with the following idea Assumptions:1. The ID of the volume to be meshed with layered extrusion is known2. The volume is extruded from a surface that belongs to a plane3. Embedded curves are present only on top and bottom surfaces of the volume4. The embedded curves on top does not match with embedded curves on bottom I assume that if another entity is touching the volume (defined in points 1,2) on its top and bottom surfaces, due to conformal meshing requirements, this will create embedded curves on them hence assumption 3 and 4. The procedure is as follows: - Select the volume that requires layered extrusion- Duplicate its bottom surface (including embedded curves) and top embedded curves- Delete (recursive) the volume?- Duplicate, translate and embed the top embedded curves on the bottom surface- Extrude the bottom mesh with Extrude{}{ Layers{...}}- Embed the top curve on top surface generated by Extrude- Run Coherence/BooleanFragmens The attached script is a simplified version of the above procedure (the volume requiring extrusion is already deleted, top embedded curves, bottom surface and embedded curves already available).I wanted to prepare a simple script and hopefully get a feedback before I embark on further hours of scripting because there might be subtleties that only Gmsh developers are aware of which, if overlooked, could?lead to a unicorn chase from my side :-) The script builds a cylinder inside a parallelepiped. The cylinder is the volume meshed with a layered extrusion (along z) and it features two embedded curves, one on top and one on bottom that are different in shape and location on XY plane.? The mesh type in the parallelepiped is arbitrary, it only needs to guarantee that the total mesh (cube + cylinder) is conformal. The results seem to give a conformal mesh and solve the extrusion problem. Any feedback is much appreciated, Many thanks, Marco Il mercoled? 4 novembre 2020, 09:14:51 CET, Christophe Geuzaine ha scritto: > On 22 Oct 2020, at 12:56, Marco Antolovic wrote: > > Hi all, > > I'm trying to find the best way to approach the following problem: > > I have a parallelepiped with the edge alone z much smaller than that along x and y (this is typical, for example, > for PCB traces) and I would like to guarantee, in the volume, a predefined number of layers (np_layers) along z > edge. > > If I build the structure in gmsh this is quite simple to obtain by saying: > > SetFactory("OpenCASCADE"); > thickness = 140e-6; > nr_layers = 4; > surf=newreg; > Rectangle(surf)={.001,0,0,.001,.001,0}; > Extruded_surf() = Extrude { 0,0, thickness } { Surface{surf}; Layers{nr_layers}; Recombine;}; > > But how can I apply this in case the parallelepiped is coming from a step file? The command above > (Extrude{...}{... Layers{}}) can't be used. Indeed, we would need to "reverse engineer" the fact that the volume has indeed been created by extrusion. See https://gitlab.onelab.info/gmsh/gmsh/-/issues/929 for the issue tracking this feature request. Christophe > > I was thinking about slicing the Volume with some planes (see example below) > > SetFactory("OpenCASCADE"); > thickness = 140e-6; > nr_layers = 4; > surf=newreg; > Rectangle(surf)={.001,0,0,.001,.001,0}; > Extruded_surf() = Extrude { 0,0, thickness } { Surface{surf};}; > vol() = Extruded_surf(1); > For i In {1:nr_layers-1} > surf1(i-1)=newreg; > Rectangle(surf1(i-1)) = {.001, 0, thickness/nr_layers*i, .001, .001}; > EndFor > results() = BooleanFragments{Volume{vol()};Delete;}{Surface{surf1()}; Delete;}; > > but when trying to recombine the triangles in the layers I get the following error: > > Error? : Pyramid top vertex already classified on volume 2 (!= 3) - non-manifold quad boundaries not supported > yet > > Any suggestion on how to address the issue is much appreciated. > > Regards, > > Marco > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: structured_grids_with_step_files_test_V05.geo Type: application/octet-stream Size: 1332 bytes Desc: not available URL: From marco_antolovic at yahoo.it Mon Nov 9 08:56:03 2020 From: marco_antolovic at yahoo.it (Marco Antolovic) Date: Mon, 9 Nov 2020 07:56:03 +0000 (UTC) Subject: [Gmsh] unrecognized variable loaded from another file using Merge command In-Reply-To: <4D29B467-BF93-4A7D-8D20-A26E0271E337@uliege.be> References: <49735058.3156984.1603302106902.ref@mail.yahoo.com> <49735058.3156984.1603302106902@mail.yahoo.com> <4D29B467-BF93-4A7D-8D20-A26E0271E337@uliege.be> Message-ID: <345812395.1449331.1604908563990@mail.yahoo.com> Hello Christophe, there appear to be problems with my email formatting. To avoid that I re-send the previous message as a file (hopefully this should work) Regards, Marco Il mercoled? 4 novembre 2020, 09:51:43 CET, Christophe Geuzaine ha scritto: > On 21 Oct 2020, at 19:41, Marco Antolovic wrote: > > Hi all, > > I'm experiencing a strange behavior with some variable after loading them from an external file using Merge. > > The attached files shows an example where the merged file (thermal_data.geo) contains three variables > > T0, rho_20 and alpha0 > > When I run the script T0 and rho_20 are loaded without problems while alpha0? is ignored and the following error is generated: 'prova.geo', line 8 : Unknown variable 'alpha0' > > Can someone explain what is happening? The issue is linked to the mac encoding of the included file: Gmsh expects script files with line ending with \n (or \r\n); mac encoded files end lines only with \r. Christophe > > Thanks, > > Marco > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: message.txt URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: structured_grids_with_step_files_test_V05.geo Type: application/octet-stream Size: 1301 bytes Desc: not available URL: From marco_antolovic at yahoo.it Mon Nov 9 09:31:04 2020 From: marco_antolovic at yahoo.it (Marco Antolovic) Date: Mon, 9 Nov 2020 08:31:04 +0000 (UTC) Subject: [Gmsh] unrecognized variable loaded from another file using Merge command In-Reply-To: <345812395.1449331.1604908563990@mail.yahoo.com> References: <49735058.3156984.1603302106902.ref@mail.yahoo.com> <49735058.3156984.1603302106902@mail.yahoo.com> <4D29B467-BF93-4A7D-8D20-A26E0271E337@uliege.be> <345812395.1449331.1604908563990@mail.yahoo.com> Message-ID: <2128617756.6136679.1604910664041@mail.yahoo.com> Sorry, wrong post. Please ignore previous message Marco Il luned? 9 novembre 2020, 08:56:04 CET, Marco Antolovic ha scritto: Hello Christophe, there appear to be problems with my email formatting. To avoid that I re-send the previous message as a file (hopefully this should work) Regards, Marco Il mercoled? 4 novembre 2020, 09:51:43 CET, Christophe Geuzaine ha scritto: > On 21 Oct 2020, at 19:41, Marco Antolovic wrote: > > Hi all, > > I'm experiencing a strange behavior with some variable after loading them from an external file using Merge. > > The attached files shows an example where the merged file (thermal_data.geo) contains three variables > > T0, rho_20 and alpha0 > > When I run the script T0 and rho_20 are loaded without problems while alpha0? is ignored and the following error is generated: 'prova.geo', line 8 : Unknown variable 'alpha0' > > Can someone explain what is happening? The issue is linked to the mac encoding of the included file: Gmsh expects script files with line ending with \n (or \r\n); mac encoded files end lines only with \r. Christophe > > Thanks, > > Marco > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine -------------- next part -------------- An HTML attachment was scrubbed... URL: From marco_antolovic at yahoo.it Mon Nov 9 09:31:58 2020 From: marco_antolovic at yahoo.it (Marco Antolovic) Date: Mon, 9 Nov 2020 08:31:58 +0000 (UTC) Subject: [Gmsh] Question on creating meshes with layered elements In-Reply-To: <0D955BDC-A04D-48E9-902C-E1625B8E4920@uliege.be> References: <100841329.3513044.1603364188097.ref@mail.yahoo.com> <100841329.3513044.1603364188097@mail.yahoo.com> <0D955BDC-A04D-48E9-902C-E1625B8E4920@uliege.be> Message-ID: <844221105.6140873.1604910718228@mail.yahoo.com> Hello Christophe, there appear to be problems with my email formatting. To avoid that I re-send the previous message as a file (hopefully this should work) Regards, Marco Il mercoled? 4 novembre 2020, 09:14:51 CET, Christophe Geuzaine ha scritto: > On 22 Oct 2020, at 12:56, Marco Antolovic wrote: > > Hi all, > > I'm trying to find the best way to approach the following problem: > > I have a parallelepiped with the edge alone z much smaller than that along x and y (this is typical, for example, > for PCB traces) and I would like to guarantee, in the volume, a predefined number of layers (np_layers) along z > edge. > > If I build the structure in gmsh this is quite simple to obtain by saying: > > SetFactory("OpenCASCADE"); > thickness = 140e-6; > nr_layers = 4; > surf=newreg; > Rectangle(surf)={.001,0,0,.001,.001,0}; > Extruded_surf() = Extrude { 0,0, thickness } { Surface{surf}; Layers{nr_layers}; Recombine;}; > > But how can I apply this in case the parallelepiped is coming from a step file? The command above > (Extrude{...}{... Layers{}}) can't be used. Indeed, we would need to "reverse engineer" the fact that the volume has indeed been created by extrusion. See https://gitlab.onelab.info/gmsh/gmsh/-/issues/929 for the issue tracking this feature request. Christophe > > I was thinking about slicing the Volume with some planes (see example below) > > SetFactory("OpenCASCADE"); > thickness = 140e-6; > nr_layers = 4; > surf=newreg; > Rectangle(surf)={.001,0,0,.001,.001,0}; > Extruded_surf() = Extrude { 0,0, thickness } { Surface{surf};}; > vol() = Extruded_surf(1); > For i In {1:nr_layers-1} > surf1(i-1)=newreg; > Rectangle(surf1(i-1)) = {.001, 0, thickness/nr_layers*i, .001, .001}; > EndFor > results() = BooleanFragments{Volume{vol()};Delete;}{Surface{surf1()}; Delete;}; > > but when trying to recombine the triangles in the layers I get the following error: > > Error? : Pyramid top vertex already classified on volume 2 (!= 3) - non-manifold quad boundaries not supported > yet > > Any suggestion on how to address the issue is much appreciated. > > Regards, > > Marco > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: message.txt URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: structured_grids_with_step_files_test_V05.geo Type: application/octet-stream Size: 1301 bytes Desc: not available URL: From bruno.agostini at gmail.com Tue Nov 10 07:55:58 2020 From: bruno.agostini at gmail.com (Bruno) Date: Tue, 10 Nov 2020 07:55:58 +0100 Subject: [Gmsh] Fragment + addSurfaceLoop In-Reply-To: <8D3203B5-560D-43C2-814B-C89E9D5C3AB2@uliege.be> References: <8D3203B5-560D-43C2-814B-C89E9D5C3AB2@uliege.be> Message-ID: Dear Christophe, Thank you, I am going to try that. I also found that using removeAllDuplicates() before creating the physical group also solved the issue, but your approach seems cleaner. Best regards Bruno On 04.11.20 09:57, Christophe Geuzaine wrote: > >> On 20 Oct 2020, at 15:40, Bruno wrote: >> >> Dear Gmsh Community: >> >> In the code below I import a 3D cooling fin CAD in Brep format. I want to modify the model to insert a heating area smaller than the base area and have a conformal meshing. I then tag the heating area for further use to apply boundary conditions. To this end I used the python code below: >> >> ```python >> >> # New heating area >> >> qa.append((2, factory.addRectangle(0, 0, 0, dz, -dy))) >> factory.rotate([qa], 0, 0, 0, 0, 1, 0, pi/2) >> tx = -Hd/2 - HEV >> ty = ( dy - ( Wd + CH0 ) / 2 ) / 2 >> tz = Ld/2 + zq >> factory.translate([qa], tx, ty, tz) >> factory.synchronize() >> >> s = model.getEntitiesInBoundingBox(-Hd/2-HEV-tol, -Wd/2-CH0/2-tol, -Ld/2-tol, -Hd/2-HEV+tol, Wd/2+CH0/2+tol, Ld/2+tol, dim = 2) # Get fin bottom surface >> sc = list(set(s) - set(qa)) # Remove heating area (duplicates) >> sf = factory.fragment(sc, qa, removeObject = True, removeTool = False)[0] >> factory.synchronize() >> s = model.getEntities(2) >> s = list(set(s) - set(sc)) # Remove original base area (duplicates) >> >> sl = factory.addSurfaceLoop([s[i][1] for i in range(len(s))], sewing = True) >> factory.synchronize() >> >> vol = factory.addVolume([sl]) >> factory.synchronize() >> >> p = model.addPhysicalGroup(2, [qa[i][1] for i in range(len(qa))]) >> model.setPhysicalName(2, p, "base") >> >> p = model.addPhysicalGroup(3, [vol]) >> model.setPhysicalName(3, p, "fin") >> >> model.mesh.generate(3) >> >> ``` >> >> If I use `sewing=True` then I get the results in the attached picture (superimposed_mesh.png): the heating area and the volume seem to have superimposed meshes even though I used fragment to cut-out the heating area. >> > I would fragment the whole model, which will ensure that everything is conforming; then extract the parts needed for boundary conditions. > > Christophe > > > >> If I use `sewing=False` then I get facet intersection errors (fin_NOK.png). >> >> Any idea what I am doing wrong here? >> >> >> Best regards >> >> >> Bruno >> >> >> >> >> _______________________________________________ >> 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://people.montefiore.ulg.ac.be/geuzaine > > > > From marco_antolovic at yahoo.it Tue Nov 10 17:33:49 2020 From: marco_antolovic at yahoo.it (Marco Antolovic) Date: Tue, 10 Nov 2020 16:33:49 +0000 (UTC) Subject: [Gmsh] Question on creating meshes with layered elements In-Reply-To: <844221105.6140873.1604910718228@mail.yahoo.com> References: <100841329.3513044.1603364188097.ref@mail.yahoo.com> <100841329.3513044.1603364188097@mail.yahoo.com> <0D955BDC-A04D-48E9-902C-E1625B8E4920@uliege.be> <844221105.6140873.1604910718228@mail.yahoo.com> Message-ID: <895847975.7277385.1605026029304@mail.yahoo.com> Just a quick update, I have noticed that in some cases translated and bottom curves require a boolean union operation. I have updated the script and the txt file accordingly (see attachment). Marco Il luned? 9 novembre 2020, 09:31:58 CET, Marco Antolovic ha scritto: Hello Christophe, there appear to be problems with my email formatting. To avoid that I re-send the previous message as a file (hopefully this should work) Regards, Marco Il mercoled? 4 novembre 2020, 09:14:51 CET, Christophe Geuzaine ha scritto: > On 22 Oct 2020, at 12:56, Marco Antolovic wrote: > > Hi all, > > I'm trying to find the best way to approach the following problem: > > I have a parallelepiped with the edge alone z much smaller than that along x and y (this is typical, for example, > for PCB traces) and I would like to guarantee, in the volume, a predefined number of layers (np_layers) along z > edge. > > If I build the structure in gmsh this is quite simple to obtain by saying: > > SetFactory("OpenCASCADE"); > thickness = 140e-6; > nr_layers = 4; > surf=newreg; > Rectangle(surf)={.001,0,0,.001,.001,0}; > Extruded_surf() = Extrude { 0,0, thickness } { Surface{surf}; Layers{nr_layers}; Recombine;}; > > But how can I apply this in case the parallelepiped is coming from a step file? The command above > (Extrude{...}{... Layers{}}) can't be used. Indeed, we would need to "reverse engineer" the fact that the volume has indeed been created by extrusion. See https://gitlab.onelab.info/gmsh/gmsh/-/issues/929 for the issue tracking this feature request. Christophe > > I was thinking about slicing the Volume with some planes (see example below) > > SetFactory("OpenCASCADE"); > thickness = 140e-6; > nr_layers = 4; > surf=newreg; > Rectangle(surf)={.001,0,0,.001,.001,0}; > Extruded_surf() = Extrude { 0,0, thickness } { Surface{surf};}; > vol() = Extruded_surf(1); > For i In {1:nr_layers-1} > surf1(i-1)=newreg; > Rectangle(surf1(i-1)) = {.001, 0, thickness/nr_layers*i, .001, .001}; > EndFor > results() = BooleanFragments{Volume{vol()};Delete;}{Surface{surf1()}; Delete;}; > > but when trying to recombine the triangles in the layers I get the following error: > > Error? : Pyramid top vertex already classified on volume 2 (!= 3) - non-manifold quad boundaries not supported > yet > > Any suggestion on how to address the issue is much appreciated. > > Regards, > > Marco > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: structured_grids_with_step_files_test_V06.geo Type: application/octet-stream Size: 1491 bytes Desc: not available URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: message_V02.txt URL: From yuyue930307 at gmail.com Wed Nov 11 09:50:07 2020 From: yuyue930307 at gmail.com (Yue Yu) Date: Wed, 11 Nov 2020 16:50:07 +0800 Subject: [Gmsh] Shared boundaries between two stl model Message-ID: <47244CDE-73CD-4CE9-930E-D5C94555790F@hxcore.ol> An HTML attachment was scrubbed... URL: From marco_antolovic at yahoo.it Fri Nov 13 19:37:14 2020 From: marco_antolovic at yahoo.it (Marco Antolovic) Date: Fri, 13 Nov 2020 18:37:14 +0000 (UTC) Subject: [Gmsh] Mesh doesn't show when I change Geometry.OCCTargetUnit from "M" to "MM"; References: <1236467553.9394856.1605292634912.ref@mail.yahoo.com> Message-ID: <1236467553.9394856.1605292634912@mail.yahoo.com> Hi all, I'm trying to mesh the attached step file and I'm experiencing a strange Gmsh behavior when I change Geometry.OCCTargetUnit = "M" to Geometry.OCCTargetUnit = "MM" Keeping all other options unchanged, when I use "M" the domain is meshed and I can see the mesh but I when I switch to "MM" although meshing process is shown (and completed succesfully with 22153 nodes 112879 elements) in the message console the mesh is nowhere to be seen.? The min/max element size should not be a problem (for me it is set to 0/2).? My Gmsh Version is 4.7.0-git-0dc1450 Any help is much appreciated. Thanks, Marco -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 4_layers_V02.step Type: application/octet-stream Size: 381029 bytes Desc: not available URL: From cgeuzaine at uliege.be Tue Nov 17 10:01:46 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 17 Nov 2020 10:01:46 +0100 Subject: [Gmsh] Mesh doesn't show when I change Geometry.OCCTargetUnit from "M" to "MM"; In-Reply-To: <1236467553.9394856.1605292634912@mail.yahoo.com> References: <1236467553.9394856.1605292634912.ref@mail.yahoo.com> <1236467553.9394856.1605292634912@mail.yahoo.com> Message-ID: <22285087-7282-492E-891D-99A7753FFD4E@uliege.be> > On 13 Nov 2020, at 19:37, Marco Antolovic wrote: > > Hi all, > > I'm trying to mesh the attached step file and I'm experiencing a strange Gmsh behavior when I change Geometry.OCCTargetUnit = "M" to Geometry.OCCTargetUnit = "MM" > > Keeping all other options unchanged, when I use "M" the domain is meshed and I can see the mesh but I when I switch to "MM" although meshing process is shown (and completed succesfully with 22153 nodes 112879 elements) in the message console the mesh is nowhere to be seen. > Did you figure it out? I cannot reproduce the issue. Christophe > The min/max element size should not be a problem (for me it is set to 0/2). > > My Gmsh Version is 4.7.0-git-0dc1450 > > Any help is much appreciated. > > Thanks, > > Marco > > <4_layers_V02.step>_______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Tue Nov 17 10:07:52 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 17 Nov 2020 10:07:52 +0100 Subject: [Gmsh] Shared boundaries between two stl model In-Reply-To: <47244CDE-73CD-4CE9-930E-D5C94555790F@hxcore.ol> References: <47244CDE-73CD-4CE9-930E-D5C94555790F@hxcore.ol> Message-ID: <1A9F7C9C-1611-40F3-B21C-AD49A0711A3E@uliege.be> > On 11 Nov 2020, at 09:50, Yue Yu wrote: > > Hi, > > I am currently using gmsh to mesh two .stl models. I have two .stl model, brain tissue and tumour. I need to mesh the shared boundary explicitly between brain tumour and brain tissue. I am now able to use GMSH remeshing the surface of one .stl file and mesh the volume. Can GMSH mesh two .stl files (brain and tumour, part of the tumour is inside the brain, so they have connected boundaries), and give explicit boundary (connected nodes?)? If the 2 STL meshes match you could remove the duplicate nodes and proceed as usual. See e.g. https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/demos/api/glue_and_remesh_stl.py Christophe > > Many thanks, > > Best Regards, > > Yue > > Sent from Mail for Windows 10 > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From marco_antolovic at yahoo.it Tue Nov 17 11:33:32 2020 From: marco_antolovic at yahoo.it (Marco Antolovic) Date: Tue, 17 Nov 2020 10:33:32 +0000 (UTC) Subject: [Gmsh] Mesh doesn't show when I change Geometry.OCCTargetUnit from "M" to "MM"; In-Reply-To: <22285087-7282-492E-891D-99A7753FFD4E@uliege.be> References: <1236467553.9394856.1605292634912.ref@mail.yahoo.com> <1236467553.9394856.1605292634912@mail.yahoo.com> <22285087-7282-492E-891D-99A7753FFD4E@uliege.be> Message-ID: <10418265.11166755.1605609212187@mail.yahoo.com> Just fixed it by selecting "Restore all Options to Default Setting" in the Help menu and then setting again Geometry.OCCTargetUnit = "MM" Unfortunately because of the general option reset I can't tell which option created the problem but at least now the problem is solved. Marco ? Il marted? 17 novembre 2020, 10:01:47 CET, Christophe Geuzaine ha scritto: > On 13 Nov 2020, at 19:37, Marco Antolovic wrote: > > Hi all, > > I'm trying to mesh the attached step file and I'm experiencing a strange Gmsh behavior when I change Geometry.OCCTargetUnit = "M" to Geometry.OCCTargetUnit = "MM" > > Keeping all other options unchanged, when I use "M" the domain is meshed and I can see the mesh but I when I switch to "MM" although meshing process is shown (and completed succesfully with 22153 nodes 112879 elements) in the message console the mesh is nowhere to be seen. > Did you figure it out? I cannot reproduce the issue. Christophe > The min/max element size should not be a problem (for me it is set to 0/2). > > My Gmsh Version is 4.7.0-git-0dc1450 > > Any help is much appreciated. > > Thanks, > > Marco > > <4_layers_V02.step>_______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine -------------- next part -------------- An HTML attachment was scrubbed... URL: From nikhilvaidya91 at gmail.com Mon Nov 23 11:19:42 2020 From: nikhilvaidya91 at gmail.com (Nikhil Vaidya) Date: Mon, 23 Nov 2020 11:19:42 +0100 Subject: [Gmsh] Negative Jacobians in 2nd Order Mesh In-Reply-To: <1445876701.5033893.1599283951786.JavaMail.zimbra@inria.fr> References: <9C8D9EEB-FCB1-4D7F-AA67-70E57B8A0366@uliege.be> <1445876701.5033893.1599283951786.JavaMail.zimbra@inria.fr> Message-ID: I changed my geometry slightly, and the negative jacobians problem has returned. Is there some general second-order meshing workflow (involving smoothing steps) one can follow to avoid this problem? Best, Nikhil On Sat, Sep 5, 2020 at 7:32 AM Stephen Wornom wrote: > > Hello > Please let the list know if > > Try the high-order mesh optimizer: "-optimize_ho" on the command line. > fixed the problem, > Stephen > > > > ----- Original Message ----- > > From: "Christophe Geuzaine" > > To: "Nikhil Vaidya" > > Cc: "gmsh" > > Sent: Friday, September 4, 2020 2:19:36 PM > > Subject: Re: [Gmsh] Negative Jacobians in 2nd Order Mesh > > >> On 4 Sep 2020, at 13:49, Nikhil Vaidya > wrote: > >> > >> Hello, > >> > >> I have a geometry for which 1st order tetrahedral meshing works fine > (with no > >> negative jacobians). For the 2nd order case, I get a few negative > jacobians. > >> This problem does not go away even when I try to regularize the mesh or > reduce > >> mesh sizes in certain regions with small geometric features. > >> > >> Does someone have a suggestion? > > > Hello > > > > Christophe > > > >> > >> Best regards, > >> Nikhil > >> _______________________________________________ > >> 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 > > > > > > > > > > _______________________________________________ > > gmsh mailing list > > gmsh at onelab.info > > http://onelab.info/mailman/listinfo/gmsh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Stephen.Banks at csiro.au Thu Nov 26 07:07:15 2020 From: Stephen.Banks at csiro.au (Banks, Stephen (Energy, Clayton North)) Date: Thu, 26 Nov 2020 06:07:15 +0000 Subject: [Gmsh] constructing trimmed NURBS surfaces Message-ID: Hello, How do I construct trimmed NURBS surfaces? In section F.4 of the documentation, point (1) states Gmsh supports trimmed NURBS surface with the OpenCASCADE kernel. However, I am not able to work out how construct them. I see the addBSplineSurface function, which I have successfully used to construct a NURBS surface, but I don't see how to trim the resulting surface using curves. For background, I am developing an interface between Rhino3D and Gmsh using the OpenNURBS library and the Gmsh API. This involves translating the geometry from one representation to the other. This question is prompted by me trying translate OpenNURBS Brep (boundary representation) geometrical objects to Gmsh, which is a surface or polysurface with trim curve information. Many thanks, Stephen -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Thu Nov 26 12:51:23 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Thu, 26 Nov 2020 12:51:23 +0100 Subject: [Gmsh] constructing trimmed NURBS surfaces In-Reply-To: References: Message-ID: <1FED2D2D-26A8-4501-B6E5-0470E4201D1B@uliege.be> Hi Stephen, We currently only create trimmed patches indirectly, e.g. through boolean operations. It would indeed be nice to expose an interface for building trimmed surfaces directly. I guess the most natural way would be to specify wires of curves defined in the parametric space of the surface? We would need to think a bit about how to design the api, since in Gmsh we only expose the creation of 3D curves. Christophe > On 26 Nov 2020, at 07:07, Banks, Stephen (Energy, Clayton North) wrote: > > Hello, > > How do I construct trimmed NURBS surfaces? > > In section F.4 of the documentation, point (1) states Gmsh supports trimmed NURBS surface with the OpenCASCADE kernel. However, I am not able to work out how construct them. I see the addBSplineSurface function, which I have successfully used to construct a NURBS surface, but I don?t see how to trim the resulting surface using curves. > > For background, I am developing an interface between Rhino3D and Gmsh using the OpenNURBS library and the Gmsh API. This involves translating the geometry from one representation to the other. This question is prompted by me trying translate OpenNURBS Brep (boundary representation) geometrical objects to Gmsh, which is a surface or polysurface with trim curve information. > > Many thanks, > Stephen > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Thu Nov 26 12:53:16 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Thu, 26 Nov 2020 12:53:16 +0100 Subject: [Gmsh] Negative Jacobians in 2nd Order Mesh In-Reply-To: References: <9C8D9EEB-FCB1-4D7F-AA67-70E57B8A0366@uliege.be> <1445876701.5033893.1599283951786.JavaMail.zimbra@inria.fr> Message-ID: > On 23 Nov 2020, at 11:19, Nikhil Vaidya wrote: > > I changed my geometry slightly, and the negative jacobians problem has returned. Is there some general second-order meshing workflow (involving smoothing steps) one can follow to avoid this problem? "-optimize_ho" applies the default strategy (elastic smoothing followed by brute-force optimization). See all the "HighOrder" options to fine-tune the parameters. With the API you can also call all the steps individually. Christophe > > Best, > Nikhil > > On Sat, Sep 5, 2020 at 7:32 AM Stephen Wornom wrote: > > Hello > Please let the list know if > > Try the high-order mesh optimizer: "-optimize_ho" on the command line. > fixed the problem, > Stephen > > > > ----- Original Message ----- > > From: "Christophe Geuzaine" > > To: "Nikhil Vaidya" > > Cc: "gmsh" > > Sent: Friday, September 4, 2020 2:19:36 PM > > Subject: Re: [Gmsh] Negative Jacobians in 2nd Order Mesh > > >> On 4 Sep 2020, at 13:49, Nikhil Vaidya wrote: > >> > >> Hello, > >> > >> I have a geometry for which 1st order tetrahedral meshing works fine (with no > >> negative jacobians). For the 2nd order case, I get a few negative jacobians. > >> This problem does not go away even when I try to regularize the mesh or reduce > >> mesh sizes in certain regions with small geometric features. > >> > >> Does someone have a suggestion? > > > Hello > > > > Christophe > > > >> > >> Best regards, > >> Nikhil > >> _______________________________________________ > >> 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 > > > > > > > > > > _______________________________________________ > > gmsh mailing list > > gmsh at onelab.info > > http://onelab.info/mailman/listinfo/gmsh > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From nikhilvaidya91 at gmail.com Thu Nov 26 14:38:03 2020 From: nikhilvaidya91 at gmail.com (Nikhil Vaidya) Date: Thu, 26 Nov 2020 14:38:03 +0100 Subject: [Gmsh] Negative Jacobians in 2nd Order Mesh In-Reply-To: References: <9C8D9EEB-FCB1-4D7F-AA67-70E57B8A0366@uliege.be> <1445876701.5033893.1599283951786.JavaMail.zimbra@inria.fr> Message-ID: Thanks, I'll check it out. Best, Nikhil On Thu, Nov 26, 2020, 12:53 PM Christophe Geuzaine wrote: > > > > On 23 Nov 2020, at 11:19, Nikhil Vaidya > wrote: > > > > I changed my geometry slightly, and the negative jacobians problem has > returned. Is there some general second-order meshing workflow (involving > smoothing steps) one can follow to avoid this problem? > > "-optimize_ho" applies the default strategy (elastic smoothing followed by > brute-force optimization). See all the "HighOrder" options to fine-tune the > parameters. With the API you can also call all the steps individually. > > Christophe > > > > > Best, > > Nikhil > > > > On Sat, Sep 5, 2020 at 7:32 AM Stephen Wornom > wrote: > > > > Hello > > Please let the list know if > > > Try the high-order mesh optimizer: "-optimize_ho" on the command line. > > fixed the problem, > > Stephen > > > > > > > > ----- Original Message ----- > > > From: "Christophe Geuzaine" > > > To: "Nikhil Vaidya" > > > Cc: "gmsh" > > > Sent: Friday, September 4, 2020 2:19:36 PM > > > Subject: Re: [Gmsh] Negative Jacobians in 2nd Order Mesh > > > > >> On 4 Sep 2020, at 13:49, Nikhil Vaidya > wrote: > > >> > > >> Hello, > > >> > > >> I have a geometry for which 1st order tetrahedral meshing works fine > (with no > > >> negative jacobians). For the 2nd order case, I get a few negative > jacobians. > > >> This problem does not go away even when I try to regularize the mesh > or reduce > > >> mesh sizes in certain regions with small geometric features. > > >> > > >> Does someone have a suggestion? > > > > > Hello > > > > > > Christophe > > > > > >> > > >> Best regards, > > >> Nikhil > > >> _______________________________________________ > > >> 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 > > > > > > > > > > > > > > > _______________________________________________ > > > gmsh mailing list > > > gmsh at onelab.info > > > http://onelab.info/mailman/listinfo/gmsh > > _______________________________________________ > > 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://people.montefiore.ulg.ac.be/geuzaine > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From miro_grulovic at yahoo.com Thu Nov 26 20:00:29 2020 From: miro_grulovic at yahoo.com (Miroslav Grulovic) Date: Thu, 26 Nov 2020 19:00:29 +0000 (UTC) Subject: [Gmsh] gmsh and Plot3d interactions References: <344784444.1922174.1606417229948.ref@mail.yahoo.com> Message-ID: <344784444.1922174.1606417229948@mail.yahoo.com> Hello there Ia am involved in little project using NASA PMARC14 software, and recently noticed some Plot3D capabilities which are aso build in GMSH. However I have noticed that GMSH? ( version 4.5.6 ) perfectly read p3d files and exporting them to NASTRAN format bdf, but when tried to convert very same file back to Plot3D format, error message pops up .Error reads? " Warning : No structured grid to save " and creates empty p3d file.Appears that software does not recognizes its own routine so please advise, do I am doing something wrong or software is not capable of such as transformation. Cheers thanks for response and stay safe. Miro?? -------------- next part -------------- An HTML attachment was scrubbed... URL: From Stephen.Banks at csiro.au Fri Nov 27 01:21:59 2020 From: Stephen.Banks at csiro.au (Banks, Stephen (Energy, Clayton North)) Date: Fri, 27 Nov 2020 00:21:59 +0000 Subject: [Gmsh] constructing trimmed NURBS surfaces In-Reply-To: <1FED2D2D-26A8-4501-B6E5-0470E4201D1B@uliege.be> References: <1FED2D2D-26A8-4501-B6E5-0470E4201D1B@uliege.be> Message-ID: Hi Christophe, Yes, I agree that the most natural way would be to specify wires of curves defined in the parametric space of the surface. OpenNURBS also does it this way, i.e. uses 2D parameter space trimming curves (https://developer.rhino3d.com/guides/cpp/brep-data-structure/). Inspection of these curves in OpenNURBS reveals it constructs a "2D curve" using a 3D curve with the 'Z' coordinate used in the curve construction set to zero. Kind regards, Stephen -----Original Message----- From: Christophe Geuzaine Sent: Thursday, 26 November 2020 10:51 PM To: Banks, Stephen (Energy, Clayton North) Cc: gmsh at onelab.info Subject: Re: [Gmsh] constructing trimmed NURBS surfaces Hi Stephen, We currently only create trimmed patches indirectly, e.g. through boolean operations. It would indeed be nice to expose an interface for building trimmed surfaces directly. I guess the most natural way would be to specify wires of curves defined in the parametric space of the surface? We would need to think a bit about how to design the api, since in Gmsh we only expose the creation of 3D curves. Christophe > On 26 Nov 2020, at 07:07, Banks, Stephen (Energy, Clayton North) wrote: > > Hello, > > How do I construct trimmed NURBS surfaces? > > In section F.4 of the documentation, point (1) states Gmsh supports trimmed NURBS surface with the OpenCASCADE kernel. However, I am not able to work out how construct them. I see the addBSplineSurface function, which I have successfully used to construct a NURBS surface, but I don?t see how to trim the resulting surface using curves. > > For background, I am developing an interface between Rhino3D and Gmsh using the OpenNURBS library and the Gmsh API. This involves translating the geometry from one representation to the other. This question is prompted by me trying translate OpenNURBS Brep (boundary representation) geometrical objects to Gmsh, which is a surface or polysurface with trim curve information. > > Many thanks, > Stephen > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Fri Nov 27 10:52:29 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 27 Nov 2020 10:52:29 +0100 Subject: [Gmsh] constructing trimmed NURBS surfaces In-Reply-To: References: <1FED2D2D-26A8-4501-B6E5-0470E4201D1B@uliege.be> Message-ID: <8243E8C5-E0E1-4B65-9801-790F16666279@uliege.be> > On 27 Nov 2020, at 01:21, Banks, Stephen (Energy, Clayton North) wrote: > > Hi Christophe, > > Yes, I agree that the most natural way would be to specify wires of curves defined in the parametric space of the surface. OpenNURBS also does it this way, i.e. uses 2D parameter space trimming curves (https://developer.rhino3d.com/guides/cpp/brep-data-structure/). Inspection of these curves in OpenNURBS reveals it constructs a "2D curve" using a 3D curve with the 'Z' coordinate used in the curve construction set to zero. I've pushed a first implementation: you can now pass wires to the addBSplineSurface() and addBezierSurface() API functions. The wires can be either interpreted in 2D (in the parametric space of the surface), or in 3D (projected on the patch). See https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/demos/api/bspline_bezier_trimmed.py for an example. Don't hesitate to open an issue on the gitlab to discuss the implementation. Christophe > > Kind regards, > Stephen > > > -----Original Message----- > From: Christophe Geuzaine > Sent: Thursday, 26 November 2020 10:51 PM > To: Banks, Stephen (Energy, Clayton North) > Cc: gmsh at onelab.info > Subject: Re: [Gmsh] constructing trimmed NURBS surfaces > > > Hi Stephen, > > We currently only create trimmed patches indirectly, e.g. through boolean operations. > > It would indeed be nice to expose an interface for building trimmed surfaces directly. I guess the most natural way would be to specify wires of curves defined in the parametric space of the surface? We would need to think a bit about how to design the api, since in Gmsh we only expose the creation of 3D curves. > > Christophe > > >> On 26 Nov 2020, at 07:07, Banks, Stephen (Energy, Clayton North) wrote: >> >> Hello, >> >> How do I construct trimmed NURBS surfaces? >> >> In section F.4 of the documentation, point (1) states Gmsh supports trimmed NURBS surface with the OpenCASCADE kernel. However, I am not able to work out how construct them. I see the addBSplineSurface function, which I have successfully used to construct a NURBS surface, but I don?t see how to trim the resulting surface using curves. >> >> For background, I am developing an interface between Rhino3D and Gmsh using the OpenNURBS library and the Gmsh API. This involves translating the geometry from one representation to the other. This question is prompted by me trying translate OpenNURBS Brep (boundary representation) geometrical objects to Gmsh, which is a surface or polysurface with trim curve information. >> >> Many thanks, >> Stephen >> _______________________________________________ >> 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://people.montefiore.ulg.ac.be/geuzaine > > > > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Fri Nov 27 11:20:35 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Fri, 27 Nov 2020 11:20:35 +0100 Subject: [Gmsh] gmsh and Plot3d interactions In-Reply-To: <344784444.1922174.1606417229948@mail.yahoo.com> References: <344784444.1922174.1606417229948.ref@mail.yahoo.com> <344784444.1922174.1606417229948@mail.yahoo.com> Message-ID: <649581C8-1FE1-4360-BB9A-E850C823B468@uliege.be> > On 26 Nov 2020, at 20:00, Miroslav Grulovic wrote: > > Hello there > > Ia am involved in little project using NASA PMARC14 software, and recently noticed some Plot3D capabilities which are aso build in GMSH. However I have noticed that GMSH ( version 4.5.6 ) perfectly read p3d files and exporting them to NASTRAN format bdf, but when tried to convert very same file back to Plot3D format, error message pops up . > Error reads " Warning : No structured grid to save " and creates empty p3d file. > Appears that software does not recognizes its own routine so please advise, do I am doing something wrong or software is not capable of such as transformation. > Indeed, currently when we read structured meshes we import them as general unstructured grids. The P3D reader could be changed to keep track of the structured information. Maybe open an issue on the gitlab to keep track of this feature request? Christophe > Cheers thanks for response and stay safe. > > > Miro > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From miro_grulovic at yahoo.com Sun Nov 29 18:26:36 2020 From: miro_grulovic at yahoo.com (Miroslav Grulovic) Date: Sun, 29 Nov 2020 17:26:36 +0000 (UTC) Subject: [Gmsh] gmsh and Plot3d interactions In-Reply-To: <649581C8-1FE1-4360-BB9A-E850C823B468@uliege.be> References: <344784444.1922174.1606417229948.ref@mail.yahoo.com> <344784444.1922174.1606417229948@mail.yahoo.com> <649581C8-1FE1-4360-BB9A-E850C823B468@uliege.be> Message-ID: <459953691.2503030.1606670796492@mail.yahoo.com> Hello Christophe, thanks for prompt response and hope you are safe. That is unfortunate, and if possible change will be awesome.I do not really understand idea of gitlab, since I am not familiar with application and their actions.Also capability to create structured mesh and export it in variety formats will be great for variety of reasons.Please note PLOT3D software is by NASA limited to USA only, and Open VSP, is using HERMITE approach in geometry creation and it is capable to export STRUCTURED mesh in two formats ( p3d and PMARC12 pmin ) Cheers and stay safe. Miro On Friday, November 27, 2020, 05:20:39 AM EST, Christophe Geuzaine wrote: > On 26 Nov 2020, at 20:00, Miroslav Grulovic wrote: > > Hello there > > Ia am involved in little project using NASA PMARC14 software, and recently noticed some Plot3D capabilities which are aso build in GMSH. However I have noticed that GMSH? ( version 4.5.6 ) perfectly read p3d files and exporting them to NASTRAN format bdf, but when tried to convert very same file back to Plot3D format, error message pops up . > Error reads? " Warning : No structured grid to save " and creates empty p3d file. > Appears that software does not recognizes its own routine so please advise, do I am doing something wrong or software is not capable of such as transformation. > Indeed, currently when we read structured meshes we import them as general unstructured grids. The P3D reader could be changed to keep track of the structured information. Maybe open an issue on the gitlab to keep track of this feature request? Christophe > Cheers thanks for response and stay safe. > > > Miro? > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine -------------- next part -------------- An HTML attachment was scrubbed... URL: From komu06c at gmail.com Sun Nov 29 15:13:19 2020 From: komu06c at gmail.com (Komal Kumari) Date: Sun, 29 Nov 2020 19:43:19 +0530 Subject: [Gmsh] Addition of Dummy point in mesh file Message-ID: I want to include a dummy point in the mesh file. Is it possible to add a dummy point with a physical identity , which should not act as a *node* while generating mesh. -------------- next part -------------- An HTML attachment was scrubbed... URL: From Stephen.Banks at csiro.au Sun Nov 29 23:53:53 2020 From: Stephen.Banks at csiro.au (Banks, Stephen (Energy, Clayton North)) Date: Sun, 29 Nov 2020 22:53:53 +0000 Subject: [Gmsh] constructing trimmed NURBS surfaces In-Reply-To: <8243E8C5-E0E1-4B65-9801-790F16666279@uliege.be> References: <1FED2D2D-26A8-4501-B6E5-0470E4201D1B@uliege.be> <8243E8C5-E0E1-4B65-9801-790F16666279@uliege.be> Message-ID: Thank you, Christophe! Stephen -----Original Message----- From: Christophe Geuzaine Sent: Friday, 27 November 2020 8:52 PM To: Banks, Stephen (Energy, Clayton North) Cc: gmsh at onelab.info Subject: Re: [Gmsh] constructing trimmed NURBS surfaces > On 27 Nov 2020, at 01:21, Banks, Stephen (Energy, Clayton North) wrote: > > Hi Christophe, > > Yes, I agree that the most natural way would be to specify wires of curves defined in the parametric space of the surface. OpenNURBS also does it this way, i.e. uses 2D parameter space trimming curves (https://developer.rhino3d.com/guides/cpp/brep-data-structure/). Inspection of these curves in OpenNURBS reveals it constructs a "2D curve" using a 3D curve with the 'Z' coordinate used in the curve construction set to zero. I've pushed a first implementation: you can now pass wires to the addBSplineSurface() and addBezierSurface() API functions. The wires can be either interpreted in 2D (in the parametric space of the surface), or in 3D (projected on the patch). See https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/demos/api/bspline_bezier_trimmed.py for an example. Don't hesitate to open an issue on the gitlab to discuss the implementation. Christophe > > Kind regards, > Stephen > > > -----Original Message----- > From: Christophe Geuzaine > Sent: Thursday, 26 November 2020 10:51 PM > To: Banks, Stephen (Energy, Clayton North) > Cc: gmsh at onelab.info > Subject: Re: [Gmsh] constructing trimmed NURBS surfaces > > > Hi Stephen, > > We currently only create trimmed patches indirectly, e.g. through boolean operations. > > It would indeed be nice to expose an interface for building trimmed surfaces directly. I guess the most natural way would be to specify wires of curves defined in the parametric space of the surface? We would need to think a bit about how to design the api, since in Gmsh we only expose the creation of 3D curves. > > Christophe > > >> On 26 Nov 2020, at 07:07, Banks, Stephen (Energy, Clayton North) wrote: >> >> Hello, >> >> How do I construct trimmed NURBS surfaces? >> >> In section F.4 of the documentation, point (1) states Gmsh supports trimmed NURBS surface with the OpenCASCADE kernel. However, I am not able to work out how construct them. I see the addBSplineSurface function, which I have successfully used to construct a NURBS surface, but I don?t see how to trim the resulting surface using curves. >> >> For background, I am developing an interface between Rhino3D and Gmsh using the OpenNURBS library and the Gmsh API. This involves translating the geometry from one representation to the other. This question is prompted by me trying translate OpenNURBS Brep (boundary representation) geometrical objects to Gmsh, which is a surface or polysurface with trim curve information. >> >> Many thanks, >> Stephen >> _______________________________________________ >> 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://people.montefiore.ulg.ac.be/geuzaine > > > > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From tianxia.ui at gmail.com Tue Dec 1 09:20:21 2020 From: tianxia.ui at gmail.com (Tian Xia) Date: Tue, 1 Dec 2020 16:20:21 +0800 Subject: [Gmsh] Boundary layer mesh: v4.7.1 conditionally crashes Message-ID: Hi GMsh team, I am using the following setup to create 2D mesh. The program crashes and gets closed unexpectedly. If I changed to "MeshSize{ PointsOf{ Surface{1}; } }= 8;" instead of 5. It is OK. Is it a bug? // SetFactory("OpenCASCADE"); General.Terminal=1; General.AbortOnError=3; Merge "abc.brep"; // Assign physical group Q1b Physical Surface("abc") = {1}; // set mesh size MeshSize{ PointsOf{ Surface{1}; } }= 5; // set boundary mesh Field[123] = BoundaryLayer; Field[123].CurvesList = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; Field[123].Ratio = 1.1; Field[123].Size = 0.001; Field[123].SizeFar = 1; Field[123].Thickness = 2; BoundaryLayer Field = 123; -- Tian -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: abc.brep Type: application/octet-stream Size: 2373 bytes Desc: not available URL: From cgeuzaine at uliege.be Wed Dec 2 18:51:26 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 2 Dec 2020 18:51:26 +0100 Subject: [Gmsh] gmsh and Plot3d interactions In-Reply-To: <649581C8-1FE1-4360-BB9A-E850C823B468@uliege.be> References: <344784444.1922174.1606417229948.ref@mail.yahoo.com> <344784444.1922174.1606417229948@mail.yahoo.com> <649581C8-1FE1-4360-BB9A-E850C823B468@uliege.be> Message-ID: > On 27 Nov 2020, at 11:20, Christophe Geuzaine wrote: > > > >> On 26 Nov 2020, at 20:00, Miroslav Grulovic wrote: >> >> Hello there >> >> Ia am involved in little project using NASA PMARC14 software, and recently noticed some Plot3D capabilities which are aso build in GMSH. However I have noticed that GMSH ( version 4.5.6 ) perfectly read p3d files and exporting them to NASTRAN format bdf, but when tried to convert very same file back to Plot3D format, error message pops up . >> Error reads " Warning : No structured grid to save " and creates empty p3d file. >> Appears that software does not recognizes its own routine so please advise, do I am doing something wrong or software is not capable of such as transformation. >> > > Indeed, currently when we read structured meshes we import them as general unstructured grids. Well actually I was wrong, and we do actually already keep track of the structured information in the reader. To test: // create p3d file gmsh benchmarks/3d/sphere_in_cube_hexa.geo -3 -o a.p3d // read it back and save it again gmsh a.p3d -save -o b.p3d Works fine with the latest Gmsh. Christophe > The P3D reader could be changed to keep track of the structured information. Maybe open an issue on the gitlab to keep track of this feature request? > > Christophe > > >> Cheers thanks for response and stay safe. >> >> >> Miro >> _______________________________________________ >> 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://people.montefiore.ulg.ac.be/geuzaine > > > > > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Wed Dec 2 20:10:21 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 2 Dec 2020 20:10:21 +0100 Subject: [Gmsh] Addition of Dummy point in mesh file In-Reply-To: References: Message-ID: <9980F4D1-5C3E-4FE5-9032-0EAA0072BA84@uliege.be> > On 29 Nov 2020, at 15:13, Komal Kumari wrote: > > I want to include a dummy point in the mesh file. Is it possible to add a dummy point with a physical identity , which should not act as a node while generating mesh. This is actually the default behavior. To have the point connected to higher-dimensional elements (lines, triangles, tetrahedra, ...) the point would need to be on the boundary of a higher dimensional entity (curve, surface, volume), or explicitly "embedded". Christophe > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From d.romero at utoronto.ca Wed Dec 2 17:27:49 2020 From: d.romero at utoronto.ca (David Romero) Date: Wed, 2 Dec 2020 11:27:49 -0500 Subject: [Gmsh] forcing a single element type on a 3D mesh. Message-ID: Hello Christophe, First, thanks for a great piece of software! I am having troubles creating a 3D mesh that results in a single element type. I want a mesh that contains only tetrahedra, but somehow I end up with some pyramids that cause troubles downstream (e.g. the FENICS/DOLFIN library supports meshes with a single element type). The main problem is that, depending on the mesh size I set using the Mesh.MeshSizeFactor, the mesh ends up having only tets or mostly tets with a few pyramids. The domain is a box with a few cylinders inside. Attached is a sketch of the geometry. The cylinders are created by extruding a circle, with no recombination. Attached is a sample GEO file, which I generate from pygmsh. Attached is also a sample geo file, but I am afraid is a bit hard to follow, because it is generated automatically by pygmsh, based on a python program I wrote to automate the mesh generation for different cases. The geo file also takes some time to run. What algorithm type should I use (e.g. in the command line)? What options should I set for Mesh.Algorithm and Mesh.Algorithm3D to make sure I get only tets? Thanks, David -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: wflo_4X_coarse.geo Type: application/octet-stream Size: 46461 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: screenshot_8X.png Type: image/png Size: 420804 bytes Desc: not available URL: From s.roongta at mpie.de Wed Dec 2 22:54:33 2020 From: s.roongta at mpie.de (Sharan Roongta) Date: Wed, 2 Dec 2020 22:54:33 +0100 Subject: [Gmsh] PETSc/DMPlex and .msh Message-ID: <3200218954-3100@xmail1.mpie.de> Hello, I was wondering if PETSc/DMPlex can directly read the physical entity/(.msh) file , and we can directly get the physical Ids from the DMPlex object? Thanks and Regards, Sharan ------------------------------------------------- Max-Planck-Institut f?r Eisenforschung GmbH Max-Planck-Stra?e 1 D-40237 D?sseldorf Handelsregister B 2533 Amtsgericht D?sseldorf Gesch?ftsf?hrung Prof. Dr. Gerhard Dehm Prof. Dr. J?rg Neugebauer Prof. Dr. Dierk Raabe Dr. Kai de Weldige Ust.-Id.-Nr.: DE 11 93 58 514 Steuernummer: 105 5891 1000 Please consider that invitations and e-mails of our institute are only valid if they end with ?@mpie.de. If you are not sure of the validity please contact rco at mpie.de Bitte beachten Sie, dass Einladungen zu Veranstaltungen und E-Mails aus unserem Haus nur mit der Endung ?@mpie.de g?ltig sind. In Zweifelsf?llen wenden Sie sich bitte an rco at mpie.de ------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Thu Dec 3 08:46:59 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Thu, 3 Dec 2020 08:46:59 +0100 Subject: [Gmsh] PETSc/DMPlex and .msh In-Reply-To: <3200218954-3100@xmail1.mpie.de> References: <3200218954-3100@xmail1.mpie.de> Message-ID: > On 2 Dec 2020, at 22:54, Sharan Roongta wrote: > > Hello, > > I was wondering if PETSc/DMPlex can directly read the physical entity/(.msh) file , and we can directly get the physical Ids from the DMPlex object? I have no idea... PETSc/DMPlex reads .msh files? Christophe > > Thanks and Regards, > Sharan > > > ------------------------------------------------- > Max-Planck-Institut f?r Eisenforschung GmbH > Max-Planck-Stra?e 1 > D-40237 D?sseldorf > > Handelsregister B 2533 > Amtsgericht D?sseldorf > > Gesch?ftsf?hrung > Prof. Dr. Gerhard Dehm > Prof. Dr. J?rg Neugebauer > Prof. Dr. Dierk Raabe > Dr. Kai de Weldige > > Ust.-Id.-Nr.: DE 11 93 58 514 > Steuernummer: 105 5891 1000 > > > Please consider that invitations and e-mails of our institute are > only valid if they end with ?@mpie.de. > If you are not sure of the validity please contact rco at mpie.de > > Bitte beachten Sie, dass Einladungen zu Veranstaltungen und E-Mails > aus unserem Haus nur mit der Endung ?@mpie.de g?ltig sind. > In Zweifelsf?llen wenden Sie sich bitte an rco at mpie.de > ------------------------------------------------- > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Thu Dec 3 08:58:29 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Thu, 3 Dec 2020 08:58:29 +0100 Subject: [Gmsh] forcing a single element type on a 3D mesh. In-Reply-To: References: Message-ID: <78653C7D-1EC0-4D78-8491-1747325D73B4@uliege.be> > On 2 Dec 2020, at 17:27, David Romero wrote: > > Hello Christophe, > > First, thanks for a great piece of software! > > I am having troubles creating a 3D mesh that results in a single element type. I want a mesh that contains only tetrahedra, but somehow I end up with some pyramids that cause troubles downstream (e.g. the FENICS/DOLFIN library supports meshes with a single element type). The main problem is that, depending on the mesh size I set using the Mesh.MeshSizeFactor, the mesh ends up having only tets or mostly tets with a few pyramids. > > The domain is a box with a few cylinders inside. Attached is a sketch of the geometry. The cylinders are created by extruding a circle, with no recombination. Attached is a sample GEO file, which I generate from pygmsh. Attached is also a sample geo file, but I am afraid is a bit hard to follow, because it is generated automatically by pygmsh, based on a python program I wrote to automate the mesh generation for different cases. The geo file also takes some time to run. > > What algorithm type should I use (e.g. in the command line)? > What options should I set for Mesh.Algorithm and Mesh.Algorithm3D to make sure I get only tets? > In Gmsh the unstructured 3D algorithm will only add pyramids if there are quadrangles in the 2D mesh. The structured algorithm (extrusion) could generate pyramids if nodes are closer than the geometrical tolerance, which could maybe happen in your case for very fine meshes? Try setting e.g. Geometry.Tolerance = 1e-12; to see what happens? (For fine meshes you might also want to try Mesh.Algorithm3D = 10). Christophe PS: your script is a bit weird, with several commands that will have no effect (SetOrder 1, Coherence...). No sure if this is on purpose, or just a side-effect of having generated the script with pygmsh? > Thanks, > David > > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From s.roongta at mpie.de Thu Dec 3 09:51:42 2020 From: s.roongta at mpie.de (Sharan Roongta) Date: Thu, 3 Dec 2020 09:51:42 +0100 Subject: [Gmsh] PETSc/DMPlex and .msh In-Reply-To: Message-ID: <3239233266-6972@xmail1.mpie.de> Hello, I believe this can be used to create a Dm object https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DMPLEX/DMPlexCreateFromFile.html#DMPlexCreateFromFile Where the input file is a mesh..?? Best, Sharan From: Christophe Geuzaine To: Sharan Roongta Cc: Sent: 03/12/2020 8:46 AM Subject: Re: [Gmsh] PETSc/DMPlex and .msh > On 2 Dec 2020, at 22:54, Sharan Roongta wrote: > > Hello, > > I was wondering if PETSc/DMPlex can directly read the physical entity/(.msh) file , and we can directly get the physical Ids from the DMPlex object? I have no idea... PETSc/DMPlex reads .msh files? Christophe > > Thanks and Regards, > Sharan > > > ------------------------------------------------- > Max-Planck-Institut f?r Eisenforschung GmbH > Max-Planck-Stra?e 1 > D-40237 D?sseldorf > ? > Handelsregister B 2533 > Amtsgericht D?sseldorf > ? > Gesch?ftsf?hrung > Prof. Dr. Gerhard Dehm > Prof. Dr. J?rg Neugebauer > Prof. Dr. Dierk Raabe > Dr. Kai de Weldige > ? > Ust.-Id.-Nr.: DE 11 93 58 514 > Steuernummer: 105 5891 1000 > > > Please consider that invitations and e-mails of our institute are > only valid if they end with ?@mpie.de. > If you are not sure of the validity please contact rco at mpie.de > > Bitte beachten Sie, dass Einladungen zu Veranstaltungen und E-Mails > aus unserem Haus nur mit der Endung ?@mpie.de g?ltig sind. > In Zweifelsf?llen wenden Sie sich bitte an rco at mpie.de > ------------------------------------------------- > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine ------------------------------------------------- Max-Planck-Institut f?r Eisenforschung GmbH Max-Planck-Stra?e 1 D-40237 D?sseldorf Handelsregister B 2533 Amtsgericht D?sseldorf Gesch?ftsf?hrung Prof. Dr. Gerhard Dehm Prof. Dr. J?rg Neugebauer Prof. Dr. Dierk Raabe Dr. Kai de Weldige Ust.-Id.-Nr.: DE 11 93 58 514 Steuernummer: 105 5891 1000 Please consider that invitations and e-mails of our institute are only valid if they end with ?@mpie.de. If you are not sure of the validity please contact rco at mpie.de Bitte beachten Sie, dass Einladungen zu Veranstaltungen und E-Mails aus unserem Haus nur mit der Endung ?@mpie.de g?ltig sind. In Zweifelsf?llen wenden Sie sich bitte an rco at mpie.de ------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: From jeremy at seamplex.com Thu Dec 3 13:51:14 2020 From: jeremy at seamplex.com (Jeremy Theler) Date: Thu, 03 Dec 2020 09:51:14 -0300 Subject: [Gmsh] PETSc/DMPlex and .msh In-Reply-To: References: <3200218954-3100@xmail1.mpie.de> Message-ID: <5eba330b77e58d7ee2e6c774330610e37a2e8bbd.camel@seamplex.com> On Thu, 2020-12-03 at 08:46 +0100, Christophe Geuzaine wrote: > > On 2 Dec 2020, at 22:54, Sharan Roongta < > > s.roongta at mpie.de > > > wrote: > > > > Hello, > > > > I was wondering if PETSc/DMPlex can directly read the physical > > entity/(.msh) file , and we can directly get the physical Ids from > > the DMPlex object? > > I have no idea... PETSc/DMPlex reads .msh files? > Yes indeed. Here's the implementation: https://gitlab.com/petsc/petsc/-/blob/master/src/dm/impls/plex/plexgmsh.c Thank you -- jeremy theler www.seamplex.com From cpraveen at gmail.com Thu Dec 3 13:51:45 2020 From: cpraveen at gmail.com (Praveen C) Date: Thu, 3 Dec 2020 18:21:45 +0530 Subject: [Gmsh] PETSc/DMPlex and .msh In-Reply-To: <3239233266-6972@xmail1.mpie.de> References: <3239233266-6972@xmail1.mpie.de> Message-ID: <428486D2-C318-4BB8-9BA2-F038518B5889@gmail.com> We have used this in our code, though I did not implement it, so I dont know the details. Here is sample code // get gmsh boundary tag PetscInt bdry_tag; ierr = DMGetLabelValue(dm, "Face Sets", face_no, &bdry_tag); CHKERRQ(ierr); Best praveen > On 03-Dec-2020, at 2:21 PM, Sharan Roongta wrote: > > Hello, > > I believe this can be used to create a Dm object > > > https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DMPLEX/DMPlexCreateFromFile.html#DMPlexCreateFromFile > > Where the input file is a mesh..? > > Best, > Sharan > > From: Christophe Geuzaine > > To: Sharan Roongta > > Cc: > > Sent: 03/12/2020 8:46 AM > Subject: Re: [Gmsh] PETSc/DMPlex and .msh > > > > > On 2 Dec 2020, at 22:54, Sharan Roongta wrote: > > > > Hello, > > > > I was wondering if PETSc/DMPlex can directly read the physical entity/(.msh) file , and we can directly get the physical Ids from the DMPlex object? > > I have no idea... PETSc/DMPlex reads .msh files? > > Christophe > > > > > > Thanks and Regards, > > Sharan > > > > > > ------------------------------------------------- > > Max-Planck-Institut f?r Eisenforschung GmbH > > Max-Planck-Stra?e 1 > > D-40237 D?sseldorf > > > > Handelsregister B 2533 > > Amtsgericht D?sseldorf > > > > Gesch?ftsf?hrung > > Prof. Dr. Gerhard Dehm > > Prof. Dr. J?rg Neugebauer > > Prof. Dr. Dierk Raabe > > Dr. Kai de Weldige > > > > Ust.-Id.-Nr.: DE 11 93 58 514 > > Steuernummer: 105 5891 1000 > > > > > > Please consider that invitations and e-mails of our institute are > > only valid if they end with ?@mpie.de. > > If you are not sure of the validity please contact rco at mpie.de > > > > Bitte beachten Sie, dass Einladungen zu Veranstaltungen und E-Mails > > aus unserem Haus nur mit der Endung ?@mpie.de g?ltig sind. > > In Zweifelsf?llen wenden Sie sich bitte an rco at mpie.de > > ------------------------------------------------- > > _______________________________________________ > > 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://people.montefiore.ulg.ac.be/geuzaine > > > > > > > ------------------------------------------------- > Max-Planck-Institut f?r Eisenforschung GmbH > Max-Planck-Stra?e 1 > D-40237 D?sseldorf > > Handelsregister B 2533 > Amtsgericht D?sseldorf > > Gesch?ftsf?hrung > Prof. Dr. Gerhard Dehm > Prof. Dr. J?rg Neugebauer > Prof. Dr. Dierk Raabe > Dr. Kai de Weldige > > Ust.-Id.-Nr.: DE 11 93 58 514 > Steuernummer: 105 5891 1000 > > > Please consider that invitations and e-mails of our institute are > only valid if they end with ?@mpie.de. > If you are not sure of the validity please contact rco at mpie.de > > Bitte beachten Sie, dass Einladungen zu Veranstaltungen und E-Mails > aus unserem Haus nur mit der Endung ?@mpie.de g?ltig sind. > In Zweifelsf?llen wenden Sie sich bitte an rco at mpie.de > ------------------------------------------------- > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh --- http://cpraveen.github.io -------------- next part -------------- An HTML attachment was scrubbed... URL: From cpraveen at gmail.com Thu Dec 3 14:04:26 2020 From: cpraveen at gmail.com (Praveen C) Date: Thu, 3 Dec 2020 18:34:26 +0530 Subject: [Gmsh] PETSc/DMPlex and .msh In-Reply-To: <428486D2-C318-4BB8-9BA2-F038518B5889@gmail.com> References: <3239233266-6972@xmail1.mpie.de> <428486D2-C318-4BB8-9BA2-F038518B5889@gmail.com> Message-ID: Another way is explained here https://lists.mcs.anl.gov/pipermail/petsc-users/2019-May/038519.html Best praveen > On 03-Dec-2020, at 6:21 PM, Praveen C wrote: > > We have used this in our code, though I did not implement it, so I dont know the details. > > Here is sample code > > > // get gmsh boundary tag > PetscInt bdry_tag; > ierr = DMGetLabelValue(dm, "Face Sets", face_no, &bdry_tag); CHKERRQ(ierr); > > Best > praveen -------------- next part -------------- An HTML attachment was scrubbed... URL: From jed at jedbrown.org Thu Dec 3 15:15:59 2020 From: jed at jedbrown.org (Jed Brown) Date: Thu, 03 Dec 2020 07:15:59 -0700 Subject: [Gmsh] PETSc/DMPlex and .msh In-Reply-To: References: <3239233266-6972@xmail1.mpie.de> <428486D2-C318-4BB8-9BA2-F038518B5889@gmail.com> Message-ID: <87tut3nffk.fsf@jedbrown.org> Yep, if you encounter issues with what you want to do, please write us on petsc-users at mcs.anl.gov and share a sample .msh or .geo file. Most things work with both ASCII and binary formats, albeit serial read then distribute rather than direct parallel read (which is hard with the Gmsh formats). Praveen C writes: > Another way is explained here > > https://lists.mcs.anl.gov/pipermail/petsc-users/2019-May/038519.html > > Best > praveen > >> On 03-Dec-2020, at 6:21 PM, Praveen C wrote: >> >> We have used this in our code, though I did not implement it, so I dont know the details. >> >> Here is sample code >> >> >> // get gmsh boundary tag >> PetscInt bdry_tag; >> ierr = DMGetLabelValue(dm, "Face Sets", face_no, &bdry_tag); CHKERRQ(ierr); >> >> Best >> praveen > > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh From pan4 at rice.edu Mon Dec 7 07:31:14 2020 From: pan4 at rice.edu (Prani Nalluri) Date: Mon, 7 Dec 2020 00:31:14 -0600 Subject: [Gmsh] Role of CreateGeometry in Creating Geometry from Mesh Message-ID: Hello, I would like to ask a question with regard to the CreateGeometry function. Our task is to create a geometry based off the mesh test1.msh. This geometry will be used to remesh the domain. In the script below titled remesh.geo, the line CreateGeometry{Surface{:};} appears to recognize points and edges of and within the domain. Thus, the CreateGeometry function is able to produce an accurate geometry that is the same as the geometry of the original mesh that test1.msh was based off. However, we have been unable to determine why the CreateGeometry function with the specific inputs given to it in our script works. Would you be able to elaborate on this? Thank you for your help. Attached below are the test1.msh and remesh.geo files. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: remesh.geo Type: application/octet-stream Size: 1272 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: test1.msh Type: application/octet-stream Size: 3414145 bytes Desc: not available URL: From cgeuzaine at uliege.be Mon Dec 7 10:21:42 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 7 Dec 2020 10:21:42 +0100 Subject: [Gmsh] Role of CreateGeometry in Creating Geometry from Mesh In-Reply-To: References: Message-ID: <1A7BFB88-C15A-4CDD-BF60-3929F77A0373@uliege.be> > On 7 Dec 2020, at 07:31, Prani Nalluri wrote: > > Hello, > > I would like to ask a question with regard to the CreateGeometry function. Our task is to create a geometry based off the mesh test1.msh. This geometry will be used to remesh the domain. In the script below titled remesh.geo, the line CreateGeometry{Surface{:};} appears to recognize points and edges of and within the domain. Thus, the CreateGeometry function is able to produce an accurate geometry that is the same as the geometry of the original mesh that test1.msh was based off. However, we have been unable to determine why the CreateGeometry function with the specific inputs given to it in our script works. Would you be able to elaborate on this? Thank you for your help. Attached below are the test1.msh and remesh.geo files. > CreateGeometry computes a parametrization of all the discrete 1D and 2D model entities (i.e. all the curves and surfaces that are represented solely by a mesh). For surfaces this computation is carried out by solving sets of partial differential equations on the existing mesh, to compute the new coordinates. Equipped with these parametrizations, all the meshing algorithms of Gmsh can then be used on the discrete entities, as if they were classical CAD entities. If you call CreateGeometry{Surface{:};} instead of CreateGeometry then a parametrization is only computed for the surfaces, leaving the curves as-is. The curves will then not be remeshed, and only the surfaces will. This might (or not) be what you want... For example, if you want to generate an overall coarser grid, you should simply use "CreateGeometry" : the 1D mesh will then be redone with the specified mesh size constraints. Christophe > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From paulklasmann at hotmail.com Mon Dec 7 22:30:53 2020 From: paulklasmann at hotmail.com (Paul K) Date: Mon, 7 Dec 2020 21:30:53 +0000 Subject: [Gmsh] How to generate a parabaloid or surface from an equation? Message-ID: Dear All, I would like to generate a parabaloid surface, for example a parabolic reflector surface that is defined by an equation. Is this possible? First I would use Gmsh on its own to generate the surface mesh that I plan to use in a physical optics PO and GTD simulation. In a CAD program I would plot the curve from the vertex and rotate into a BOR object. Second, I'd like to be able generate any arbitary surface using a function so that I can simulate a shaped or distorted reflector. Any advice would be greatly appreciated. My final goal is to write a C++ program with a wxWidgets GUI and to include gmsh as the mesh generator for the PO simulator and possibly have a way of visualising the reflector and mesh. Thank you. Kind Regards Paul -------------- next part -------------- An HTML attachment was scrubbed... URL: From har1g15 at soton.ac.uk Thu Dec 10 14:34:34 2020 From: har1g15 at soton.ac.uk (Hossam Ragheb) Date: Thu, 10 Dec 2020 13:34:34 +0000 Subject: [Gmsh] Composite RVE Message-ID: <8b4e55e8-f24a-5e9e-b0da-b21288631289@soton.ac.uk> Hi, I am new to gmsh, so apologies if the answer to my question is obvious. I coded a .geo file (Attached) to create 3D RVE with fibers in a matrix that includes voids. The process simply is : ??? 1- Create box of the matrix material. ??? 2- Create voids using Sphere command and BooleanDifference to remove these from the matrix material. ??? 3- Create fibers as Cylinders and and utilise BooleanFragments to include the cylinders in the matrix. I have one persistent problem, once the mesh is created the fibers are meshed as hollow cylinders, however i need them to be solid. Its interesting behavior. Last thing to note that mesh size affects the outcome, for example when the min/max mesh size is 2, the result is solid cylinders, but with mesh size of 1, it becomes hollow. It there a way to force the meshing algorithm to mesh the cylinder as solid object? I have attached the .geo file, please let me know if you can help. Any suggestions? Thanks, Hossam Ragheb -------------- next part -------------- //------------------------------------------------------------------------------ // // Gmsh Stochastic Composite RVE // // Constructive Solid Geometry, OpenCASCADE geometry kernel // //------------------------------------------------------------------------------ SetFactory("OpenCASCADE"); Mesh.Tetrahedra = 1; Mesh.Triangles = 1; fac = 1; Mesh.CharacteristicLengthMin = 2*fac; Mesh.CharacteristicLengthMax = 2*fac; voiden = 0.01; Vf = 0.7; // Coefficent of variation of the fibre diameter cvf = 0.17; Vlratio = 20; Cube = 75*fac; frmean = 5.0 * fac; frmin = frmean - (frmean*cvf); frmax = frmean + (frmean*cvf); vrmin = 2.5*fac; vrmax = 5.0*fac; R = Cube; nSvoid = Floor((voiden*2*R*2*R*2*R)/((4/3)*3.1415926*vrmax*vrmax*vrmax)); nFibre = Floor((Vf*2*R*2*R*2*R)/(3.1415926*frmax*frmax*2*R)); dims = Floor(Sqrt(nFibre)); Box(1) = {-R,-R,-R, 2*R,2*R,2*R}; For s In {2:nSvoid} If (s < nSvoid) r = vrmin +Rand(vrmax-vrmin); x = -R + Rand(2*R); y = -R + Rand(2*R); z = -R + Rand(2*R); Sphere(s) = {x, y, z, r}; EndIf If (s == nSvoid) r = vrmin +Rand(vrmax-vrmin); x = -R + Rand(2*R); y = -R + Rand(2*R); z = -R + Rand(2*R); Sphere(s) = {x, y, z, r}; Dilate {{x, y, z}, {Vlratio, 1, 0.5}} { Volume{s}; } EndIf Physical Volume(s) = {s}; EndFor BooleanDifference(nSvoid+1) = { Volume{1}; Delete; }{ Volume{2:nSvoid}; Delete; }; dx = (2*R)/dims; count = 0; For i In {0:dims-1} For j In {0:dims-1} // Fibre diameter Fr = frmin +Rand(frmax-frmin); // Center of grid box in the RVE cgx = (-R + 0.5*dx) + j * dx; cgy = (-R + 0.5*dx) + i * dx; // Center of cylinder base xF = (cgx - 0.5*dx + Fr) + Rand(dx-2*Fr); yF = (cgy - 0.5*dx + Fr) + Rand(dx-2*Fr); zF = -R; // Cylinder axis dx,dy,dz dxF = 0; dyF = 0; dzF = 2*R; Cylinder(nSvoid+2+count) = {xF,yF,zF,dxF,dyF,dzF,Fr}; Physical Volume(nSvoid+2+count) = {nSvoid+2+count}; count = count +1; EndFor EndFor BooleanDifference(1000) = {Volume{nSvoid+1};Delete;}{Volume{nSvoid+2:nSvoid+1+count};}; Physical Volume("Matrix") = {1000}; Physical Volume("Fibres") = {nSvoid+2:nSvoid+1+count}; f() = BooleanFragments{Volume{1000};Delete;}{Volume{nSvoid+2:nSvoid+1+count};Delete;}; From matthieu.lecouvez at gmail.com Fri Dec 11 20:42:44 2020 From: matthieu.lecouvez at gmail.com (Matthieu Lecouvez) Date: Fri, 11 Dec 2020 20:42:44 +0100 Subject: [Gmsh] How to generate a parabaloid or surface from an equation? In-Reply-To: References: Message-ID: Hi Paul, I have not found a way to easily define a surface from an analytical equation. One thing you can do though, for axisymmetric objects, is to describe a curve from a list of points using a spline and then extrude this curve by rotation. In this way, the surface created by the extrusion will be correctly described. This method should work for your parabolic reflector but not for a generic surface. For surfaces that can be described in some coordinate system as z = f(x,y), one other option is to use several spline curves at fixed x0, x1, ..., xN, then identically at fixed y0, y1, ..., yN and use ruled surfaces based on theses curves. I have found that the accuracy of this method is not ideal, but with enough splines it can work (you can use the compound feature to mesh the whole surface and not be restricted by the NxN points chosen to describe the surface). Both methods are usable with .geo files, maybe using the API would provide easier ways to do that. Please let me know if you find a more adequate way. Matt. Le lun. 7 d?c. 2020 ? 22:35, Paul K a ?crit : > Dear All, > I would like to generate a parabaloid surface, for example a parabolic > reflector surface that is defined by an equation. Is this possible? First > I would use Gmsh on its own to generate the surface mesh that I plan to use > in a physical optics PO and GTD simulation. In a CAD program I would plot > the curve from the vertex and rotate into a BOR object. > Second, I'd like to be able generate any arbitary surface using a function > so that I can simulate a shaped or distorted reflector. Any advice would > be greatly appreciated. > > My final goal is to write a C++ program with a wxWidgets GUI and to > include gmsh as the mesh generator for the PO simulator and possibly have a > way of visualising the reflector and mesh. Thank you. > > Kind Regards > Paul > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Stephen.Banks at csiro.au Mon Dec 14 07:35:43 2020 From: Stephen.Banks at csiro.au (Banks, Stephen (Energy, Clayton North)) Date: Mon, 14 Dec 2020 06:35:43 +0000 Subject: [Gmsh] Silently created boundary entities Message-ID: Hello, I am using Gmsh v4.8.0. When I create a NURBS surface by calling the gmsh/model/occ/addBSplineSurface function in the Gmsh API, the function silently adds points and lines (presumably to create the boundary entities): 1. What is the recommended method to identify these silently added entities? Is it to call gmsh/model/occ/getEntities before and after calling addBSplineSurface to see what has been added? 2. Is it possible to replace these boundary entities (lines and points) so that I can get the topology correct? After reading the comments in the makeTrimmedSurface() function, found in the Gmsh source code file GModelIO_OCC.cpp, I suspect (2) has been attempted in the past, but abandoned in preference for relying upon Geometry.Tolerance and Geometry.ToleranceBoolean to allow operations to succeed for topologically different yet geometrically identical (to within tolerance) entities. Is this correct? My motivation for asking is I have been constructing geometry using the Gmsh API OpenCASCADE kernel functions, then synchronising, then calling gmsh/fltk/run to experiment with how I should control the Gmsh API. For some reason, the FLTK graphical user interface is not allowing me to successfully add a volume, which I have presumed to be due to incorrect topology (as my original approach for constructing a geometry resulted in lots of geometrically identical entities). As such, I have been put in effort to avoid geometrically identical entities to get the topology I want, but the addBSplineSurface is preventing me from being successful. Many thanks, Stephen -------------- next part -------------- An HTML attachment was scrubbed... URL: From baptiste.durand at enpc.fr Mon Dec 14 08:59:51 2020 From: baptiste.durand at enpc.fr (Baptiste DURAND) Date: Mon, 14 Dec 2020 08:59:51 +0100 (CET) Subject: [Gmsh] Composite RVE (Hossam Ragheb) In-Reply-To: <696762463.2390904.1607696804514.JavaMail.zimbra@enpc.fr> References: <696762463.2390904.1607696804514.JavaMail.zimbra@enpc.fr> Message-ID: <275291745.2449368.1607932791827.JavaMail.zimbra@enpc.fr> ????? Baptiste Durand Doctorant ? Laboratoire Navier baptiste.durand at enpc.fr ? 01 64 15 37 21 ( 06 58 88 05 41 ) ? linkedin.com/in/ bd1747 De: "Baptiste DURAND" ?: "gmsh" Envoy?: Vendredi 11 D?cembre 2020 15:26:44 Objet: Re: Composite RVE (Hossam Ragheb) Hi Hossam, Controlling the mesh density with the options "Mesh.CharacteristicLengthMin" and "Mesh.CharacteristicLengthMax" may be too stringent. It may be better to use the "mesh size field" feature if you want to impose a mesh density. Also, (I'm not sure about that) the last fragment operation with "Delete" specified might mess up the physical group. I convert your .geo file to a python script in order to test your code via the gmsh python API. You can find attached this .py file. What you are trying to do seems somehow similar to what I do with gmsh and FEniCS (periodic homogenization for linear elasticity). You could be interested by some features of the python package HO-homog that we develop ( https://gitlab.enpc.fr/baptiste.durand/HO_homog ). Regards, Baptiste Durand ????? Baptiste Durand Doctorant ? Laboratoire Navier baptiste.durand at enpc.fr ? 01 64 15 37 21 ( 06 58 88 05 41 ) ? linkedin.com/in/ bd1747 De: gmsh-request at ace20.montefiore.ulg.ac.be ?: gmsh at onelab.info Envoy?: Vendredi 11 D?cembre 2020 12:00:02 Objet: gmsh Digest, Vol 215, Issue 9 Send gmsh mailing list submissions to gmsh at onelab.info To subscribe or unsubscribe via the World Wide Web, visit http://onelab.info/mailman/listinfo/gmsh or, via email, send a message with subject or body 'help' to gmsh-request at onelab.info You can reach the person managing the list at gmsh-owner at onelab.info When replying, please edit your Subject line so it is more specific than "Re: Contents of gmsh digest..." Today's Topics: 1. Composite RVE (Hossam Ragheb) ---------------------------------------------------------------------- Message: 1 Date: Thu, 10 Dec 2020 13:34:34 +0000 From: Hossam Ragheb To: gmsh at onelab.info Subject: [Gmsh] Composite RVE Message-ID: <8b4e55e8-f24a-5e9e-b0da-b21288631289 at soton.ac.uk> Content-Type: text/plain; charset="utf-8"; Format="flowed" Hi, I am new to gmsh, so apologies if the answer to my question is obvious. I coded a .geo file (Attached) to create 3D RVE with fibers in a matrix that includes voids. The process simply is : ??? 1- Create box of the matrix material. ??? 2- Create voids using Sphere command and BooleanDifference to remove these from the matrix material. ??? 3- Create fibers as Cylinders and and utilise BooleanFragments to include the cylinders in the matrix. I have one persistent problem, once the mesh is created the fibers are meshed as hollow cylinders, however i need them to be solid. Its interesting behavior. Last thing to note that mesh size affects the outcome, for example when the min/max mesh size is 2, the result is solid cylinders, but with mesh size of 1, it becomes hollow. It there a way to force the meshing algorithm to mesh the cylinder as solid object? I have attached the .geo file, please let me know if you can help. Any suggestions? Thanks, Hossam Ragheb -------------- next part -------------- //------------------------------------------------------------------------------ // // Gmsh Stochastic Composite RVE // // Constructive Solid Geometry, OpenCASCADE geometry kernel // //------------------------------------------------------------------------------ SetFactory("OpenCASCADE"); Mesh.Tetrahedra = 1; Mesh.Triangles = 1; fac = 1; Mesh.CharacteristicLengthMin = 2*fac; Mesh.CharacteristicLengthMax = 2*fac; voiden = 0.01; Vf = 0.7; // Coefficent of variation of the fibre diameter cvf = 0.17; Vlratio = 20; Cube = 75*fac; frmean = 5.0 * fac; frmin = frmean - (frmean*cvf); frmax = frmean + (frmean*cvf); vrmin = 2.5*fac; vrmax = 5.0*fac; R = Cube; nSvoid = Floor((voiden*2*R*2*R*2*R)/((4/3)*3.1415926*vrmax*vrmax*vrmax)); nFibre = Floor((Vf*2*R*2*R*2*R)/(3.1415926*frmax*frmax*2*R)); dims = Floor(Sqrt(nFibre)); Box(1) = {-R,-R,-R, 2*R,2*R,2*R}; For s In {2:nSvoid} If (s < nSvoid) r = vrmin +Rand(vrmax-vrmin); x = -R + Rand(2*R); y = -R + Rand(2*R); z = -R + Rand(2*R); Sphere(s) = {x, y, z, r}; EndIf If (s == nSvoid) r = vrmin +Rand(vrmax-vrmin); x = -R + Rand(2*R); y = -R + Rand(2*R); z = -R + Rand(2*R); Sphere(s) = {x, y, z, r}; Dilate {{x, y, z}, {Vlratio, 1, 0.5}} { Volume{s}; } EndIf Physical Volume(s) = {s}; EndFor BooleanDifference(nSvoid+1) = { Volume{1}; Delete; }{ Volume{2:nSvoid}; Delete; }; dx = (2*R)/dims; count = 0; For i In {0:dims-1} For j In {0:dims-1} // Fibre diameter Fr = frmin +Rand(frmax-frmin); // Center of grid box in the RVE cgx = (-R + 0.5*dx) + j * dx; cgy = (-R + 0.5*dx) + i * dx; // Center of cylinder base xF = (cgx - 0.5*dx + Fr) + Rand(dx-2*Fr); yF = (cgy - 0.5*dx + Fr) + Rand(dx-2*Fr); zF = -R; // Cylinder axis dx,dy,dz dxF = 0; dyF = 0; dzF = 2*R; Cylinder(nSvoid+2+count) = {xF,yF,zF,dxF,dyF,dzF,Fr}; Physical Volume(nSvoid+2+count) = {nSvoid+2+count}; count = count +1; EndFor EndFor BooleanDifference(1000) = {Volume{nSvoid+1};Delete;}{Volume{nSvoid+2:nSvoid+1+count};}; Physical Volume("Matrix") = {1000}; Physical Volume("Fibres") = {nSvoid+2:nSvoid+1+count}; f() = BooleanFragments{Volume{1000};Delete;}{Volume{nSvoid+2:nSvoid+1+count};Delete;}; ------------------------------ Subject: Digest Footer _______________________________________________ gmsh mailing list gmsh at onelab.info http://onelab.info/mailman/listinfo/gmsh ------------------------------ End of gmsh Digest, Vol 215, Issue 9 ************************************ -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: mwe_composite_RVE.py Type: text/x-python Size: 3662 bytes Desc: not available URL: From baptiste.durand at enpc.fr Mon Dec 14 09:01:59 2020 From: baptiste.durand at enpc.fr (Baptiste DURAND) Date: Mon, 14 Dec 2020 09:01:59 +0100 (CET) Subject: [Gmsh] Composite RVE (Hossam Ragheb) In-Reply-To: <275291745.2449368.1607932791827.JavaMail.zimbra@enpc.fr> References: <696762463.2390904.1607696804514.JavaMail.zimbra@enpc.fr> <275291745.2449368.1607932791827.JavaMail.zimbra@enpc.fr> Message-ID: <555275604.2449702.1607932919290.JavaMail.zimbra@enpc.fr> Hi Hossam, Controlling the mesh density with the options "Mesh.CharacteristicLengthMin" and "Mesh.CharacteristicLengthMax" may be too stringent. It may be better to use the "mesh size field" feature if you want to impose a mesh density. Also, (I'm not sure about that) the last fragment operation with "Delete" specified might mess up the physical group. I convert your .geo file to a python script in order to test your code via the gmsh python API. You can find attached this .py file. What you are trying to do seems somehow similar to what I do with gmsh and FEniCS (periodic homogenization for linear elasticity). You could be interested by some features of the python package HO-homog that we develop ( https://gitlab.enpc.fr/baptiste.durand/HO_homog ). Regards, Baptiste Durand ????? Baptiste Durand Doctorant ? Laboratoire Navier baptiste.durand at enpc.fr ? 01 64 15 37 21 ( 06 58 88 05 41 ) ? linkedin.com/in/ bd1747 Today's Topics: 1. Composite RVE (Hossam Ragheb) ---------------------------------------------------------------------- Message: 1 Date: Thu, 10 Dec 2020 13:34:34 +0000 From: Hossam Ragheb To: gmsh at onelab.info Subject: [Gmsh] Composite RVE Message-ID: <8b4e55e8-f24a-5e9e-b0da-b21288631289 at soton.ac.uk> Content-Type: text/plain; charset="utf-8"; Format="flowed" Hi, I am new to gmsh, so apologies if the answer to my question is obvious. I coded a .geo file (Attached) to create 3D RVE with fibers in a matrix that includes voids. The process simply is : ??? 1- Create box of the matrix material. ??? 2- Create voids using Sphere command and BooleanDifference to remove these from the matrix material. ??? 3- Create fibers as Cylinders and and utilise BooleanFragments to include the cylinders in the matrix. I have one persistent problem, once the mesh is created the fibers are meshed as hollow cylinders, however i need them to be solid. Its interesting behavior. Last thing to note that mesh size affects the outcome, for example when the min/max mesh size is 2, the result is solid cylinders, but with mesh size of 1, it becomes hollow. It there a way to force the meshing algorithm to mesh the cylinder as solid object? I have attached the .geo file, please let me know if you can help. Any suggestions? Thanks, Hossam Ragheb -------------- next part -------------- //------------------------------------------------------------------------------ // // Gmsh Stochastic Composite RVE // // Constructive Solid Geometry, OpenCASCADE geometry kernel // //------------------------------------------------------------------------------ SetFactory("OpenCASCADE"); Mesh.Tetrahedra = 1; Mesh.Triangles = 1; fac = 1; Mesh.CharacteristicLengthMin = 2*fac; Mesh.CharacteristicLengthMax = 2*fac; voiden = 0.01; Vf = 0.7; // Coefficent of variation of the fibre diameter cvf = 0.17; Vlratio = 20; Cube = 75*fac; frmean = 5.0 * fac; frmin = frmean - (frmean*cvf); frmax = frmean + (frmean*cvf); vrmin = 2.5*fac; vrmax = 5.0*fac; R = Cube; nSvoid = Floor((voiden*2*R*2*R*2*R)/((4/3)*3.1415926*vrmax*vrmax*vrmax)); nFibre = Floor((Vf*2*R*2*R*2*R)/(3.1415926*frmax*frmax*2*R)); dims = Floor(Sqrt(nFibre)); Box(1) = {-R,-R,-R, 2*R,2*R,2*R}; For s In {2:nSvoid} If (s < nSvoid) r = vrmin +Rand(vrmax-vrmin); x = -R + Rand(2*R); y = -R + Rand(2*R); z = -R + Rand(2*R); Sphere(s) = {x, y, z, r}; EndIf If (s == nSvoid) r = vrmin +Rand(vrmax-vrmin); x = -R + Rand(2*R); y = -R + Rand(2*R); z = -R + Rand(2*R); Sphere(s) = {x, y, z, r}; Dilate {{x, y, z}, {Vlratio, 1, 0.5}} { Volume{s}; } EndIf Physical Volume(s) = {s}; EndFor BooleanDifference(nSvoid+1) = { Volume{1}; Delete; }{ Volume{2:nSvoid}; Delete; }; dx = (2*R)/dims; count = 0; For i In {0:dims-1} For j In {0:dims-1} // Fibre diameter Fr = frmin +Rand(frmax-frmin); // Center of grid box in the RVE cgx = (-R + 0.5*dx) + j * dx; cgy = (-R + 0.5*dx) + i * dx; // Center of cylinder base xF = (cgx - 0.5*dx + Fr) + Rand(dx-2*Fr); yF = (cgy - 0.5*dx + Fr) + Rand(dx-2*Fr); zF = -R; // Cylinder axis dx,dy,dz dxF = 0; dyF = 0; dzF = 2*R; Cylinder(nSvoid+2+count) = {xF,yF,zF,dxF,dyF,dzF,Fr}; Physical Volume(nSvoid+2+count) = {nSvoid+2+count}; count = count +1; EndFor EndFor BooleanDifference(1000) = {Volume{nSvoid+1};Delete;}{Volume{nSvoid+2:nSvoid+1+count};}; Physical Volume("Matrix") = {1000}; Physical Volume("Fibres") = {nSvoid+2:nSvoid+1+count}; f() = BooleanFragments{Volume{1000};Delete;}{Volume{nSvoid+2:nSvoid+1+count};Delete;}; ------------------------------ -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: mwe_composite_RVE.py Type: text/x-python Size: 3662 bytes Desc: not available URL: From Stephen.Banks at csiro.au Mon Dec 14 13:44:08 2020 From: Stephen.Banks at csiro.au (Banks, Stephen (Energy, Clayton North)) Date: Mon, 14 Dec 2020 12:44:08 +0000 Subject: [Gmsh] Silently created boundary entities In-Reply-To: References: Message-ID: I have partially addressed my issue. Whilst the GUI seems unable to add a volume for my geometry (i.e. after selecting the surfaces that would form a closed shell, it doesn't give me the option to create the volume), the Gmsh API succeeds using the gmsh/model/occ/addSurfaceLoop and gmsh/model/occ/addVolume functions. Interestingly, the Gmsh API succeeds at creating the surface loop regardless of whether the sewing flag is true or false, which makes it puzzling why the Gmsh GUI fails. I don't think I understand sewing. None of my surfaces are connected by topologically identical boundary entities, which I presume to mean having common boundary entity tags (it is impossible since the surface boundary entities are created automatically, as discussed in my previous email), albeit they are connected by geometrically identical boundaries (to within a tolerance). If my understanding of "topologically identical" is correct, then the Gmsh documentation indicates that if sewing is false then it should fail, but it doesn't. Moreover, even if I set the geometrical tolerance and Boolean tolerance to zero, it still succeeds. One difference I did find was that when the sewing flag is true, adding a surface loop appears to duplicate all the surfaces involved and their boundaries, whilst having the sewing flag set to false does not. Are you able to offer any further explanation to help clarify what it means to be "topologically identical", and clarify whether the sewing behaviour I am observing is correct? Regards, Stephen From: Banks, Stephen (Energy, Clayton North) Sent: Monday, 14 December 2020 5:36 PM To: gmsh at onelab.info Subject: Silently created boundary entities Hello, I am using Gmsh v4.8.0. When I create a NURBS surface by calling the gmsh/model/occ/addBSplineSurface function in the Gmsh API, the function silently adds points and lines (presumably to create the boundary entities): 1. What is the recommended method to identify these silently added entities? Is it to call gmsh/model/occ/getEntities before and after calling addBSplineSurface to see what has been added? 2. Is it possible to replace these boundary entities (lines and points) so that I can get the topology correct? After reading the comments in the makeTrimmedSurface() function, found in the Gmsh source code file GModelIO_OCC.cpp, I suspect (2) has been attempted in the past, but abandoned in preference for relying upon Geometry.Tolerance and Geometry.ToleranceBoolean to allow operations to succeed for topologically different yet geometrically identical (to within tolerance) entities. Is this correct? My motivation for asking is I have been constructing geometry using the Gmsh API OpenCASCADE kernel functions, then synchronising, then calling gmsh/fltk/run to experiment with how I should control the Gmsh API. For some reason, the FLTK graphical user interface is not allowing me to successfully add a volume, which I have presumed to be due to incorrect topology (as my original approach for constructing a geometry resulted in lots of geometrically identical entities). As such, I have been put in effort to avoid geometrically identical entities to get the topology I want, but the addBSplineSurface is preventing me from being successful. Many thanks, Stephen -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Mon Dec 14 18:04:11 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 14 Dec 2020 18:04:11 +0100 Subject: [Gmsh] Silently created boundary entities In-Reply-To: References: Message-ID: <32445F3D-F571-4B1F-AE8D-C027C25DE4B2@uliege.be> Hi Stephen, > On 14 Dec 2020, at 13:44, Banks, Stephen (Energy, Clayton North) wrote: > > I have partially addressed my issue. Whilst the GUI seems unable to add a volume for my geometry (i.e. after selecting the surfaces that would form a closed shell, it doesn?t give me the option to create the volume), the Gmsh API succeeds using the gmsh/model/occ/addSurfaceLoop and gmsh/model/occ/addVolume functions. Interestingly, the Gmsh API succeeds at creating the surface loop regardless of whether the sewing flag is true or false, which makes it puzzling why the Gmsh GUI fails. > The Gmsh GUI currently only creates .geo scripts, so indeed you can't currently "complete" a Python script using the GUI. We will at some point enable to creation of other languages using the GUI, but that's not available yet. See https://gitlab.onelab.info/gmsh/gmsh/-/issues/1002 > I don?t think I understand sewing. None of my surfaces are connected by topologically identical boundary entities, which I presume to mean having common boundary entity tags (it is impossible since the surface boundary entities are created automatically, as discussed in my previous email), albeit they are connected by geometrically identical boundaries (to within a tolerance). If my understanding of ?topologically identical? is correct, then the Gmsh documentation indicates that if sewing is false then it should fail, but it doesn?t. Indeed. My guess is that the "Geometry.OCCAutoFix" option (active by default) manages to "fix" the surface loop in your case (maybe because the boundary curves are actually bsplines of the same order, with the same control points). Can you try to set Geometry.OCCAutoFix to 0 and see the result? > Moreover, even if I set the geometrical tolerance and Boolean tolerance to zero, it still succeeds. One difference I did find was that when the sewing flag is true, adding a surface loop appears to duplicate all the surfaces involved and their boundaries, whilst having the sewing flag set to false does not. Are you able to offer any further explanation to help clarify what it means to be ?topologically identical?, and clarify whether the sewing behaviour I am observing is correct? > The "sewing" option uses the BRepBuilderAPI_Sewing OCC api to explicitly sew the surfaces together. It's not exactly clear to me when/if ShapeFix_Shell (applied when when Geometry.OCCAutoFix is set) and BRepBuilderAPI_Sewing provide the same result in some cases... Cheers, Christophe > Regards, > Stephen > > > From: Banks, Stephen (Energy, Clayton North) > Sent: Monday, 14 December 2020 5:36 PM > To: gmsh at onelab.info > Subject: Silently created boundary entities > > Hello, > > I am using Gmsh v4.8.0. When I create a NURBS surface by calling the gmsh/model/occ/addBSplineSurface function in the Gmsh API, the function silently adds points and lines (presumably to create the boundary entities): > ? What is the recommended method to identify these silently added entities? Is it to call gmsh/model/occ/getEntities before and after calling addBSplineSurface to see what has been added? > ? Is it possible to replace these boundary entities (lines and points) so that I can get the topology correct? > > After reading the comments in the makeTrimmedSurface() function, found in the Gmsh source code file GModelIO_OCC.cpp, I suspect (2) has been attempted in the past, but abandoned in preference for relying upon Geometry.Tolerance and Geometry.ToleranceBoolean to allow operations to succeed for topologically different yet geometrically identical (to within tolerance) entities. Is this correct? > > My motivation for asking is I have been constructing geometry using the Gmsh API OpenCASCADE kernel functions, then synchronising, then callinggmsh/fltk/run to experiment with how I should control the Gmsh API. For some reason, the FLTK graphical user interface is not allowing me to successfully add a volume, which I have presumed to be due to incorrect topology (as my original approach for constructing a geometry resulted in lots of geometrically identical entities). As such, I have been put in effort to avoid geometrically identical entities to get the topology I want, but the addBSplineSurface is preventing me from being successful. > > Many thanks, > Stephen > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Mon Dec 14 21:50:26 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 14 Dec 2020 21:50:26 +0100 Subject: [Gmsh] How to generate a parabaloid or surface from an equation? In-Reply-To: References: Message-ID: <3B3D74D7-B54E-4EAF-ADD5-5BD25EA39838@uliege.be> > On 7 Dec 2020, at 22:30, Paul K wrote: > > Dear All, > I would like to generate a parabaloid surface, for example a parabolic reflector surface that is defined by an equation. Is this possible? First I would use Gmsh on its own to generate the surface mesh that I plan to use in a physical optics PO and GTD simulation. In a CAD program I would plot the curve from the vertex and rotate into a BOR object. > Second, I'd like to be able generate any arbitary surface using a function so that I can simulate a shaped or distorted reflector. Any advice would be greatly appreciated. > There's currently no predefined primitive for parabolas in Gmsh, but depending on the required accuracy you could maybe simply fit a spline through some points? If having an exact parabola is mandatory, we could interface https://old.opencascade.com/doc/occt-7.0.0/refman/html/class_geom___parabola.html. In this case we should decide on the interface, as providing the bounding points might not be practical (and not even that simple). Let us know, Christophe > My final goal is to write a C++ program with a wxWidgets GUI and to include gmsh as the mesh generator for the PO simulator and possibly have a way of visualising the reflector and mesh. Thank you. > > Kind Regards > Paul > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Mon Dec 14 21:50:37 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 14 Dec 2020 21:50:37 +0100 Subject: [Gmsh] Composite RVE In-Reply-To: <8b4e55e8-f24a-5e9e-b0da-b21288631289@soton.ac.uk> References: <8b4e55e8-f24a-5e9e-b0da-b21288631289@soton.ac.uk> Message-ID: <7BF8A233-F7EC-4335-B310-0351BE85C994@uliege.be> > On 10 Dec 2020, at 14:34, Hossam Ragheb wrote: > > Hi, > > I am new to gmsh, so apologies if the answer to my question is obvious. > > I coded a .geo file (Attached) to create 3D RVE with fibers in a matrix that includes voids. > > The process simply is : > > 1- Create box of the matrix material. > > 2- Create voids using Sphere command and BooleanDifference to remove these from the matrix material. > > 3- Create fibers as Cylinders and and utilise BooleanFragments to include the cylinders in the matrix. > > I have one persistent problem, once the mesh is created the fibers are meshed as hollow cylinders, however i need them to be solid. > > Its interesting behavior. Last thing to note that mesh size affects the outcome, for example when the min/max mesh size is 2, the result is solid cylinders, but with mesh size of 1, it becomes hollow. > > It there a way to force the meshing algorithm to mesh the cylinder as solid object? > > I have attached the .geo file, please let me know if you can help. > > Any suggestions? The geometry is a bit tricky: it's almost degenerate (with some cylinders very close to the boundary), and the parametrization of some curves does not seem monotonic. I've successfully meshed with the following parameters: MeshSize{305, 310} = 0.5; Mesh.MeshSizeMax = 2; // successfully tested with 1 and 2 Mesh.AngleToleranceFacetOverlap = 1e-6; Mesh.Algorithm3D = 10; Christophe > > Thanks, > > Hossam Ragheb > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From Stephen.Banks at csiro.au Mon Dec 14 23:47:38 2020 From: Stephen.Banks at csiro.au (Banks, Stephen (Energy, Clayton North)) Date: Mon, 14 Dec 2020 22:47:38 +0000 Subject: [Gmsh] Silently created boundary entities In-Reply-To: <32445F3D-F571-4B1F-AE8D-C027C25DE4B2@uliege.be> References: <32445F3D-F571-4B1F-AE8D-C027C25DE4B2@uliege.be> Message-ID: Hi Christophe, I found gmsh/model/occ/addSurfaceLoop was still successful with sewing = false after setting Geometry.OCCAutoFix to 0. My surfaces are all created using gmsh/model/occ/addBSplineSurface, with trim wires (gmsh/model/occ/addCurveLoop) created from closed loops in parametric space (i.e. wire3D = false). The segments of the closed loop are gmsh/model/occ/addBSpline curves in parametric space with boundaries that are topologically different, but geometrically identical (to within a tolerance). On a side note, I'm still investigating the cause before raising an issue, but to let you know, for some cases when I use wire3D = true, I get "Error: OpenCASCADE exception" reported by the Gmsh logger. It's not very descriptive, so intend to play around to try to identify what conditions result in it, unless you are able to shed light? Best, Stephen -----Original Message----- From: Christophe Geuzaine Sent: Tuesday, 15 December 2020 4:04 AM To: Banks, Stephen (Energy, Clayton North) Cc: gmsh at onelab.info Subject: Re: [Gmsh] Silently created boundary entities Hi Stephen, > On 14 Dec 2020, at 13:44, Banks, Stephen (Energy, Clayton North) wrote: > > I have partially addressed my issue. Whilst the GUI seems unable to add a volume for my geometry (i.e. after selecting the surfaces that would form a closed shell, it doesn?t give me the option to create the volume), the Gmsh API succeeds using the gmsh/model/occ/addSurfaceLoop and gmsh/model/occ/addVolume functions. Interestingly, the Gmsh API succeeds at creating the surface loop regardless of whether the sewing flag is true or false, which makes it puzzling why the Gmsh GUI fails. > The Gmsh GUI currently only creates .geo scripts, so indeed you can't currently "complete" a Python script using the GUI. We will at some point enable to creation of other languages using the GUI, but that's not available yet. See https://gitlab.onelab.info/gmsh/gmsh/-/issues/1002 > I don?t think I understand sewing. None of my surfaces are connected by topologically identical boundary entities, which I presume to mean having common boundary entity tags (it is impossible since the surface boundary entities are created automatically, as discussed in my previous email), albeit they are connected by geometrically identical boundaries (to within a tolerance). If my understanding of ?topologically identical? is correct, then the Gmsh documentation indicates that if sewing is false then it should fail, but it doesn?t. Indeed. My guess is that the "Geometry.OCCAutoFix" option (active by default) manages to "fix" the surface loop in your case (maybe because the boundary curves are actually bsplines of the same order, with the same control points). Can you try to set Geometry.OCCAutoFix to 0 and see the result? > Moreover, even if I set the geometrical tolerance and Boolean tolerance to zero, it still succeeds. One difference I did find was that when the sewing flag is true, adding a surface loop appears to duplicate all the surfaces involved and their boundaries, whilst having the sewing flag set to false does not. Are you able to offer any further explanation to help clarify what it means to be ?topologically identical?, and clarify whether the sewing behaviour I am observing is correct? > The "sewing" option uses the BRepBuilderAPI_Sewing OCC api to explicitly sew the surfaces together. It's not exactly clear to me when/if ShapeFix_Shell (applied when when Geometry.OCCAutoFix is set) and BRepBuilderAPI_Sewing provide the same result in some cases... Cheers, Christophe > Regards, > Stephen > > > From: Banks, Stephen (Energy, Clayton North) > Sent: Monday, 14 December 2020 5:36 PM > To: gmsh at onelab.info > Subject: Silently created boundary entities > > Hello, > > I am using Gmsh v4.8.0. When I create a NURBS surface by calling the gmsh/model/occ/addBSplineSurface function in the Gmsh API, the function silently adds points and lines (presumably to create the boundary entities): > ? What is the recommended method to identify these silently added entities? Is it to call gmsh/model/occ/getEntities before and after calling addBSplineSurface to see what has been added? > ? Is it possible to replace these boundary entities (lines and points) so that I can get the topology correct? > > After reading the comments in the makeTrimmedSurface() function, found in the Gmsh source code file GModelIO_OCC.cpp, I suspect (2) has been attempted in the past, but abandoned in preference for relying upon Geometry.Tolerance and Geometry.ToleranceBoolean to allow operations to succeed for topologically different yet geometrically identical (to within tolerance) entities. Is this correct? > > My motivation for asking is I have been constructing geometry using the Gmsh API OpenCASCADE kernel functions, then synchronising, then callinggmsh/fltk/run to experiment with how I should control the Gmsh API. For some reason, the FLTK graphical user interface is not allowing me to successfully add a volume, which I have presumed to be due to incorrect topology (as my original approach for constructing a geometry resulted in lots of geometrically identical entities). As such, I have been put in effort to avoid geometrically identical entities to get the topology I want, but the addBSplineSurface is preventing me from being successful. > > Many thanks, > Stephen > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Tue Dec 15 10:00:49 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Tue, 15 Dec 2020 10:00:49 +0100 Subject: [Gmsh] Silently created boundary entities In-Reply-To: References: <32445F3D-F571-4B1F-AE8D-C027C25DE4B2@uliege.be> Message-ID: <54400424-542D-422F-8AA9-46C4CF23F392@uliege.be> > On 14 Dec 2020, at 23:47, Banks, Stephen (Energy, Clayton North) wrote: > > Hi Christophe, > > I found gmsh/model/occ/addSurfaceLoop was still successful with sewing = false after setting Geometry.OCCAutoFix to 0. My surfaces are all created using gmsh/model/occ/addBSplineSurface, with trim wires (gmsh/model/occ/addCurveLoop) created from closed loops in parametric space (i.e. wire3D = false). The segments of the closed loop are gmsh/model/occ/addBSpline curves in parametric space with boundaries that are topologically different, but geometrically identical (to within a tolerance). > Interesting. It's one of the mysteries of OpenCASCADE - I guess that they must check internally that the curves are actually "the same" in some sense. > On a side note, I'm still investigating the cause before raising an issue, but to let you know, for some cases when I use wire3D = true, I get "Error: OpenCASCADE exception" reported by the Gmsh logger. It's not very descriptive, so intend to play around to try to identify what conditions result in it, unless you are able to shed light? No idea: we report the exception thrown by OpenCASCADE as-is... Christophe > > Best, > Stephen > > > > -----Original Message----- > From: Christophe Geuzaine > Sent: Tuesday, 15 December 2020 4:04 AM > To: Banks, Stephen (Energy, Clayton North) > Cc: gmsh at onelab.info > Subject: Re: [Gmsh] Silently created boundary entities > > Hi Stephen, > >> On 14 Dec 2020, at 13:44, Banks, Stephen (Energy, Clayton North) wrote: >> >> I have partially addressed my issue. Whilst the GUI seems unable to add a volume for my geometry (i.e. after selecting the surfaces that would form a closed shell, it doesn?t give me the option to create the volume), the Gmsh API succeeds using the gmsh/model/occ/addSurfaceLoop and gmsh/model/occ/addVolume functions. Interestingly, the Gmsh API succeeds at creating the surface loop regardless of whether the sewing flag is true or false, which makes it puzzling why the Gmsh GUI fails. >> > > The Gmsh GUI currently only creates .geo scripts, so indeed you can't currently "complete" a Python script using the GUI. We will at some point enable to creation of other languages using the GUI, but that's not available yet. See https://gitlab.onelab.info/gmsh/gmsh/-/issues/1002 > > >> I don?t think I understand sewing. None of my surfaces are connected by topologically identical boundary entities, which I presume to mean having common boundary entity tags (it is impossible since the surface boundary entities are created automatically, as discussed in my previous email), albeit they are connected by geometrically identical boundaries (to within a tolerance). If my understanding of ?topologically identical? is correct, then the Gmsh documentation indicates that if sewing is false then it should fail, but it doesn?t. > > Indeed. My guess is that the "Geometry.OCCAutoFix" option (active by default) manages to "fix" the surface loop in your case (maybe because the boundary curves are actually bsplines of the same order, with the same control points). Can you try to set Geometry.OCCAutoFix to 0 and see the result? > >> Moreover, even if I set the geometrical tolerance and Boolean tolerance to zero, it still succeeds. One difference I did find was that when the sewing flag is true, adding a surface loop appears to duplicate all the surfaces involved and their boundaries, whilst having the sewing flag set to false does not. Are you able to offer any further explanation to help clarify what it means to be ?topologically identical?, and clarify whether the sewing behaviour I am observing is correct? >> > > The "sewing" option uses the BRepBuilderAPI_Sewing OCC api to explicitly sew the surfaces together. It's not exactly clear to me when/if ShapeFix_Shell (applied when when Geometry.OCCAutoFix is set) and BRepBuilderAPI_Sewing provide the same result in some cases... > > Cheers, > > Christophe > > > >> Regards, >> Stephen >> >> >> From: Banks, Stephen (Energy, Clayton North) >> Sent: Monday, 14 December 2020 5:36 PM >> To: gmsh at onelab.info >> Subject: Silently created boundary entities >> >> Hello, >> >> I am using Gmsh v4.8.0. When I create a NURBS surface by calling the gmsh/model/occ/addBSplineSurface function in the Gmsh API, the function silently adds points and lines (presumably to create the boundary entities): >> ? What is the recommended method to identify these silently added entities? Is it to call gmsh/model/occ/getEntities before and after calling addBSplineSurface to see what has been added? >> ? Is it possible to replace these boundary entities (lines and points) so that I can get the topology correct? >> >> After reading the comments in the makeTrimmedSurface() function, found in the Gmsh source code file GModelIO_OCC.cpp, I suspect (2) has been attempted in the past, but abandoned in preference for relying upon Geometry.Tolerance and Geometry.ToleranceBoolean to allow operations to succeed for topologically different yet geometrically identical (to within tolerance) entities. Is this correct? >> >> My motivation for asking is I have been constructing geometry using the Gmsh API OpenCASCADE kernel functions, then synchronising, then callinggmsh/fltk/run to experiment with how I should control the Gmsh API. For some reason, the FLTK graphical user interface is not allowing me to successfully add a volume, which I have presumed to be due to incorrect topology (as my original approach for constructing a geometry resulted in lots of geometrically identical entities). As such, I have been put in effort to avoid geometrically identical entities to get the topology I want, but the addBSplineSurface is preventing me from being successful. >> >> Many thanks, >> Stephen >> >> _______________________________________________ >> 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://people.montefiore.ulg.ac.be/geuzaine > > > > ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://people.montefiore.ulg.ac.be/geuzaine From har1g15 at soton.ac.uk Fri Dec 18 16:31:16 2020 From: har1g15 at soton.ac.uk (Hossam Ragheb) Date: Fri, 18 Dec 2020 15:31:16 +0000 Subject: [Gmsh] Composite RVE (Hossam Ragheb) In-Reply-To: <555275604.2449702.1607932919290.JavaMail.zimbra@enpc.fr> References: <696762463.2390904.1607696804514.JavaMail.zimbra@enpc.fr> <275291745.2449368.1607932791827.JavaMail.zimbra@enpc.fr> <555275604.2449702.1607932919290.JavaMail.zimbra@enpc.fr> Message-ID: <471107ef-0a91-f667-f632-68e0f6d72529@soton.ac.uk> Hi Baptiste, Apologies for the delayed response. Thank you so much for spending your time to create the python version, I really appreciate it. That works now, however the triangle elements are not created anymore in the model any idea how to create triangle elements on the surface boundary? I looked at the HO-homog, it seems very interesting. I will have a look at it, and i am sure it will be very useful for my future work. Regards, Hossam On 14/12/2020 08:01, Baptiste DURAND wrote: > *CAUTION:* This e-mail originated outside the University of Southampton. > Hi Hossam, > > Controlling the mesh density with the options > "Mesh.CharacteristicLengthMin" and "Mesh.CharacteristicLengthMax" may > be too stringent. It may be better to use the "mesh size field" > feature if you want to impose a mesh density. > Also, (I'm not sure about that) the last fragment operation with > "Delete" specified might mess up the physical group. > > I convert your .geo file to a python script in order to test your code > via the gmsh python API. You can find attached this .py file. > What you are trying to do seems somehow similar to what I do with gmsh > and FEniCS (periodic homogenization for linear elasticity). You could > be interested by some features of the python package HO-homog that we > develop (https://gitlab.enpc.fr/baptiste.durand/HO_homog > ). > > Regards, > > Baptiste Durand > > > ????? > Baptiste Durand > Doctorant ? Laboratoire Navier > > baptiste.durand at enpc.fr ? 01 64 15 37 > 21 (06 58 88 05 41 ) ? > linkedin.com/in/ > bd1747 > > > ------------------------------------------------------------------------ > > Today's Topics: > > ?? 1. Composite RVE (Hossam Ragheb) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Thu, 10 Dec 2020 13:34:34 +0000 > From: Hossam Ragheb > To: gmsh at onelab.info > Subject: [Gmsh] Composite RVE > Message-ID: <8b4e55e8-f24a-5e9e-b0da-b21288631289 at soton.ac.uk> > Content-Type: text/plain; charset="utf-8"; Format="flowed" > > Hi, > > I am new to gmsh, so apologies if the answer to my question is obvious. > > I coded a .geo file (Attached) to create 3D RVE with fibers in a matrix > that includes voids. > > The process simply is : > > ???? 1- Create box of the matrix material. > > ???? 2- Create voids using Sphere command and BooleanDifference to > remove these from the matrix material. > > ???? 3- Create fibers as Cylinders and and utilise BooleanFragments to > include the cylinders in the matrix. > > I have one persistent problem, once the mesh is created the fibers are > meshed as hollow cylinders, however i need them to be solid. > > Its interesting behavior. Last thing to note that mesh size affects the > outcome, for example when the min/max mesh size is 2, the result is > solid cylinders, but with mesh size of 1, it becomes hollow. > > It there a way to force the meshing algorithm to mesh the cylinder as > solid object? > > I have attached the .geo file, please let me know if you can help. > > Any suggestions? > > Thanks, > > Hossam Ragheb > > -------------- next part -------------- > //------------------------------------------------------------------------------ > // > // Gmsh Stochastic Composite RVE > // > // Constructive Solid Geometry, OpenCASCADE geometry kernel > // > //------------------------------------------------------------------------------ > > SetFactory("OpenCASCADE"); > > Mesh.Tetrahedra = 1; > Mesh.Triangles = 1; > fac = 1; > Mesh.CharacteristicLengthMin = 2*fac; > Mesh.CharacteristicLengthMax = 2*fac; > voiden = 0.01; > Vf = 0.7; > // Coefficent of variation of the fibre diameter > cvf = 0.17; > Vlratio = 20; > Cube = 75*fac; > frmean = 5.0 * fac; > frmin = frmean - (frmean*cvf); > frmax = frmean + (frmean*cvf); > vrmin = 2.5*fac; > vrmax = 5.0*fac; > R = Cube; > nSvoid = Floor((voiden*2*R*2*R*2*R)/((4/3)*3.1415926*vrmax*vrmax*vrmax)); > nFibre = Floor((Vf*2*R*2*R*2*R)/(3.1415926*frmax*frmax*2*R)); > dims = Floor(Sqrt(nFibre)); > Box(1) = {-R,-R,-R, 2*R,2*R,2*R}; > For s In {2:nSvoid} > ??If (s < nSvoid) > ?? ?r = vrmin +Rand(vrmax-vrmin); > ?? ?x = -R + Rand(2*R); > ?? ?y = -R + Rand(2*R); > ?? ?z = -R + Rand(2*R); > ?? ?Sphere(s) = {x, y, z, r}; > ??EndIf > ??If (s == nSvoid) > ?? ?r = vrmin +Rand(vrmax-vrmin); > ?? ?x = -R + Rand(2*R); > ?? ?y = -R + Rand(2*R); > ?? ?z = -R + Rand(2*R); > ?? ?Sphere(s) = {x, y, z, r}; > ?? ?Dilate {{x, y, z}, {Vlratio, 1, 0.5}} { Volume{s}; } > ??EndIf > ??Physical Volume(s) = {s}; > EndFor > BooleanDifference(nSvoid+1) = { Volume{1}; Delete; }{ > Volume{2:nSvoid}; Delete; }; > > dx = (2*R)/dims; > count = 0; > For i In {0:dims-1} > ??For j In {0:dims-1} > ?? ?// Fibre diameter > ?? ?Fr = frmin +Rand(frmax-frmin); > ?? ?// Center of grid box in the RVE > ?? ?cgx = (-R + 0.5*dx) + j * dx; > ?? ?cgy = (-R + 0.5*dx) + i * dx; > ?? ?// Center of cylinder base > ?? ?xF = (cgx - 0.5*dx + Fr) + Rand(dx-2*Fr); > ?? ?yF = (cgy - 0.5*dx + Fr) + Rand(dx-2*Fr); > ?? ?zF = -R; > ?? ?// Cylinder axis dx,dy,dz > ?? ?dxF = 0; > ?? ?dyF = 0; > ?? ?dzF = 2*R; > ?? ?Cylinder(nSvoid+2+count) = {xF,yF,zF,dxF,dyF,dzF,Fr}; > ?? ?Physical Volume(nSvoid+2+count) = {nSvoid+2+count}; > ?? ?count = count +1; > ??EndFor > EndFor > BooleanDifference(1000) = > {Volume{nSvoid+1};Delete;}{Volume{nSvoid+2:nSvoid+1+count};}; > Physical Volume("Matrix") = {1000}; > Physical Volume("Fibres") = {nSvoid+2:nSvoid+1+count}; > f() = > BooleanFragments{Volume{1000};Delete;}{Volume{nSvoid+2:nSvoid+1+count};Delete;}; > > ------------------------------ > -------------- next part -------------- An HTML attachment was scrubbed... URL: From har1g15 at soton.ac.uk Fri Dec 18 16:33:39 2020 From: har1g15 at soton.ac.uk (Hossam Ragheb) Date: Fri, 18 Dec 2020 15:33:39 +0000 Subject: [Gmsh] Composite RVE In-Reply-To: <7BF8A233-F7EC-4335-B310-0351BE85C994@uliege.be> References: <8b4e55e8-f24a-5e9e-b0da-b21288631289@soton.ac.uk> <7BF8A233-F7EC-4335-B310-0351BE85C994@uliege.be> Message-ID: Apologies for the late reply. Thanks Christophe, It works fine now. Regards, Hossam On 14/12/2020 20:50, Christophe Geuzaine wrote: > CAUTION: This e-mail originated outside the University of Southampton. > >> On 10 Dec 2020, at 14:34, Hossam Ragheb wrote: >> >> Hi, >> >> I am new to gmsh, so apologies if the answer to my question is obvious. >> >> I coded a .geo file (Attached) to create 3D RVE with fibers in a matrix that includes voids. >> >> The process simply is : >> >> 1- Create box of the matrix material. >> >> 2- Create voids using Sphere command and BooleanDifference to remove these from the matrix material. >> >> 3- Create fibers as Cylinders and and utilise BooleanFragments to include the cylinders in the matrix. >> >> I have one persistent problem, once the mesh is created the fibers are meshed as hollow cylinders, however i need them to be solid. >> >> Its interesting behavior. Last thing to note that mesh size affects the outcome, for example when the min/max mesh size is 2, the result is solid cylinders, but with mesh size of 1, it becomes hollow. >> >> It there a way to force the meshing algorithm to mesh the cylinder as solid object? >> >> I have attached the .geo file, please let me know if you can help. >> >> Any suggestions? > > The geometry is a bit tricky: it's almost degenerate (with some cylinders very close to the boundary), and the parametrization of some curves does not seem monotonic. I've successfully meshed with the following parameters: > > MeshSize{305, 310} = 0.5; > Mesh.MeshSizeMax = 2; // successfully tested with 1 and 2 > Mesh.AngleToleranceFacetOverlap = 1e-6; > Mesh.Algorithm3D = 10; > > Christophe > > >> Thanks, >> >> Hossam Ragheb >> >> _______________________________________________ >> gmsh mailing list >> gmsh at onelab.info >> https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fonelab.info%2Fmailman%2Flistinfo%2Fgmsh&data=04%7C01%7Char1g15%40soton.ac.uk%7C2d883704735a4170b10908d8a071e9a6%7C4a5378f929f44d3ebe89669d03ada9d8%7C0%7C0%7C637435758392711911%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=gfbYdVnFYMsVlAZMfoBKb%2Fe3EAGSk3YJb5QoADlJ7Zk%3D&reserved=0 > ? > Prof. Christophe Geuzaine > University of Liege, Electrical Engineering and Computer Science > https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpeople.montefiore.ulg.ac.be%2Fgeuzaine&data=04%7C01%7Char1g15%40soton.ac.uk%7C2d883704735a4170b10908d8a071e9a6%7C4a5378f929f44d3ebe89669d03ada9d8%7C0%7C0%7C637435758392711911%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=AledTjJM7AOu1pI11gBrPWraciR%2F8Yumu4JvCzoYBnQ%3D&reserved=0 > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From saadiasiddiqa at gmail.com Sun Dec 20 03:42:01 2020 From: saadiasiddiqa at gmail.com (Sadia Siddiqa) Date: Sat, 19 Dec 2020 21:42:01 -0500 Subject: [Gmsh] Problem with gmsh mesh in freefem++ Message-ID: Hi, I am Sadia. I am facing the problem with gmsh mesh used in freefem++. Its a simple geometry. If you can help me that would be great. I have attached my .geo file with this email. When I import it in freefem it does not generate mesh. Kindly help. Sadia -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: coneV2.geo Type: application/octet-stream Size: 344 bytes Desc: not available URL: From morok at mevex.com Sun Dec 20 18:17:54 2020 From: morok at mevex.com (Max Orok) Date: Sun, 20 Dec 2020 12:17:54 -0500 Subject: [Gmsh] Problem with gmsh mesh in freefem++ In-Reply-To: References: Message-ID: Hi Sadia, Can you try adding the line Mesh.MshFileVersion = 2.2; to your geo script? It's possible freefem is expecting a msh 2.2 file instead of the new default version 4.1 Sincerely, Max On Sun, Dec 20, 2020 at 1:52 AM Sadia Siddiqa wrote: > Hi, > > I am Sadia. I am facing the problem with gmsh mesh used in freefem++. Its > a simple geometry. If you can help me that would be great. I have attached > my .geo file with this email. When I import it in freefem it does not > generate mesh. > > Kindly help. > Sadia > _______________________________________________ > gmsh mailing list > gmsh at onelab.info > http://onelab.info/mailman/listinfo/gmsh > -- Max Orok Contractor www.mevex.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From raavi.mohindar.rao at gmail.com Wed Dec 23 19:17:12 2020 From: raavi.mohindar.rao at gmail.com (Raavi M. Mohindar Rao) Date: Wed, 23 Dec 2020 19:17:12 +0100 Subject: [Gmsh] Reg: Plotting vectors on a triangle at seven different locations Message-ID: Hello all, I am looking forward to plotting vectors on a triangle at seven quadrature points. $ElementData 1 "TE_(1,0)" 1 0.0 3 0 3 322 193 0 -26.7446 0 194 -0 -18.9127 -0 .... $EndElementData With the above definition, gmsh always plots on the centroid of the triangle. Is there a way to tell gmsh, where to plot instead at the centroid? Regards, Rao -------------- next part -------------- An HTML attachment was scrubbed... URL: From komu06c at gmail.com Sat Dec 26 12:15:45 2020 From: komu06c at gmail.com (Komal Kumari) Date: Sat, 26 Dec 2020 16:45:45 +0530 Subject: [Gmsh] generate mesh in area with (large variation in z Message-ID: I have a large command area with irregular topography ( large variation in z values) in which I want to generate mesh. Because the "plane surface" is not plane for this case: the z-coordinates of points on its boundary range from 1 to 90. GMSH 4.3.0 computes the "best" plane surface in the least-square sense, some of the z-coordinates are showing negative z-values. Please help me to generate mesh for the cases with large variation in z values ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From miro_grulovic at yahoo.com Mon Dec 28 01:43:42 2020 From: miro_grulovic at yahoo.com (Miroslav Grulovic) Date: Mon, 28 Dec 2020 00:43:42 +0000 (UTC) Subject: [Gmsh] gmsh and Plot3d interactions MISCOMMUNICATION 101 In-Reply-To: References: <344784444.1922174.1606417229948.ref@mail.yahoo.com> <344784444.1922174.1606417229948@mail.yahoo.com> <649581C8-1FE1-4360-BB9A-E850C823B468@uliege.be> Message-ID: <914272633.4814811.1609116222791@mail.yahoo.com> Hello Christophe, merry Christmas, hope you are safe. I am sorry but appears that there is some sort of miscommunication btw us.Reading in and creating p3d files in GMSH? works well, bu that is not issue.Problem is once p3d wile is read in GMSH and then saved as NASTRAN bdf, GMSH does not recognize it as STRUCTURED mesh , thus whensame geometry previously saved as bdf is read in GMSH and tried to export as p3d, program is failing. Issue is how to set GMSH to recognize structured mesh in NASTRAN format and then export it as p3d. Cheers, and stay safe. Season greetings Miro On Wednesday, December 2, 2020, 12:51:29 PM EST, Christophe Geuzaine wrote: > On 27 Nov 2020, at 11:20, Christophe Geuzaine wrote: > > > >> On 26 Nov 2020, at 20:00, Miroslav Grulovic wrote: >> >> Hello there >> >> Ia am involved in little project using NASA PMARC14 software, and recently noticed some Plot3D capabilities which are aso build in GMSH. However I have noticed that GMSH? ( version 4.5.6 ) perfectly read p3d files and exporting them to NASTRAN format bdf, but when tried to convert very same file back to Plot3D format, error message pops up . >> Error reads? " Warning : No structured grid to save " and creates empty p3d file. >> Appears that software does not recognizes its own routine so please advise, do I am doing something wrong or software is not capable of such as transformation. >> > > Indeed, currently when we read structured meshes we import them as general unstructured grids. Well actually I was wrong, and we do actually already keep track of the structured information in the reader. To test: // create p3d file gmsh benchmarks/3d/sphere_in_cube_hexa.geo -3 -o a.p3d // read it back and save it again gmsh a.p3d -save -o b.p3d Works fine with the latest Gmsh. Christophe > The P3D reader could be changed to keep track of the structured information. Maybe open an issue on the gitlab to keep track of this feature request? > > Christophe > > >> Cheers thanks for response and stay safe. >> >> >> Miro? >> _______________________________________________ >> 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://people.montefiore.ulg.ac.be/geuzaine > > > > > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgeuzaine at uliege.be Mon Dec 28 16:06:35 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 28 Dec 2020 16:06:35 +0100 Subject: [Gmsh] gmsh and Plot3d interactions MISCOMMUNICATION 101 In-Reply-To: <914272633.4814811.1609116222791@mail.yahoo.com> References: <344784444.1922174.1606417229948.ref@mail.yahoo.com> <344784444.1922174.1606417229948@mail.yahoo.com> <649581C8-1FE1-4360-BB9A-E850C823B468@uliege.be> <914272633.4814811.1609116222791@mail.yahoo.com> Message-ID: <0AB11062-E257-4608-8167-56192B077ED5@uliege.be> > On 28 Dec 2020, at 01:43, Miroslav Grulovic wrote: > > Hello Christophe, merry Christmas, hope you are safe. > > I am sorry but appears that there is some sort of miscommunication btw us. > Reading in and creating p3d files in GMSH works well, bu that is not issue. > Problem is once p3d wile is read in GMSH and then saved as NASTRAN bdf, GMSH does not recognize it as STRUCTURED mesh , thus whensame geometry previously saved as bdf is read in GMSH and tried to export as p3d, program is failing. > > Issue is how to set GMSH to recognize structured mesh in NASTRAN format and then export it as p3d. > That's indeed normal, as Gmsh only import/exports unstructured Nastran mesh files. Christophe > > Cheers, and stay safe. Season greetings > > Miro > > > > On Wednesday, December 2, 2020, 12:51:29 PM EST, Christophe Geuzaine wrote: > > > > > > On 27 Nov 2020, at 11:20, Christophe Geuzaine wrote: > > > > > > > >> On 26 Nov 2020, at 20:00, Miroslav Grulovic wrote: > >> > >> Hello there > >> > >> Ia am involved in little project using NASA PMARC14 software, and recently noticed some Plot3D capabilities which are aso build in GMSH. However I have noticed that GMSH ( version 4.5.6 ) perfectly read p3d files and exporting them to NASTRAN format bdf, but when tried to convert very same file back to Plot3D format, error message pops up . > >> Error reads " Warning : No structured grid to save " and creates empty p3d file. > >> Appears that software does not recognizes its own routine so please advise, do I am doing something wrong or software is not capable of such as transformation. > >> > > > > Indeed, currently when we read structured meshes we import them as general unstructured grids. > > Well actually I was wrong, and we do actually already keep track of the structured information in the reader. > > To test: > > // create p3d file > gmsh benchmarks/3d/sphere_in_cube_hexa.geo -3 -o a.p3d > > // read it back and save it again > gmsh a.p3d -save -o b.p3d > > Works fine with the latest Gmsh. > > Christophe > > > > The P3D reader could be changed to keep track of the structured information. Maybe open an issue on the gitlab to keep track of this feature request? > > > > Christophe > > > > > >> Cheers thanks for response and stay safe. > >> > >> > >> Miro > >> _______________________________________________ > >> 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://people.montefiore.ulg.ac.be/geuzaine > > > > > > > > > > > > > _______________________________________________ > > 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://people.montefiore.ulg.ac.be/geuzaine > > > > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Mon Dec 28 16:08:12 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 28 Dec 2020 16:08:12 +0100 Subject: [Gmsh] generate mesh in area with (large variation in z In-Reply-To: References: Message-ID: <6DCC5F90-4DA2-4919-811C-50186532053F@uliege.be> > On 26 Dec 2020, at 12:15, Komal Kumari wrote: > > I have a large command area with irregular topography ( large variation in z values) in which I want to generate mesh. > Because the "plane surface" is not plane for this case: the z-coordinates of points on its boundary range from 1 to 90. GMSH 4.3.0 computes the "best" plane surface in the least-square sense, some of the z-coordinates are showing negative z-values. > Please help me to generate mesh for the cases with large variation in z values ? Maybe tutorial x2 could be of interest? Cf. http://gmsh.info/dev/doc/texinfo/gmsh.html#x2 Christophe > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Mon Dec 28 16:15:33 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Mon, 28 Dec 2020 16:15:33 +0100 Subject: [Gmsh] Reg: Plotting vectors on a triangle at seven different locations In-Reply-To: References: Message-ID: > On 23 Dec 2020, at 19:17, Raavi M. Mohindar Rao wrote: > > Hello all, > > I am looking forward to plotting vectors on a triangle at seven quadrature points. > > $ElementData > 1 > "TE_(1,0)" > 1 > 0.0 > 3 > 0 > 3 > 322 > 193 0 -26.7446 0 > 194 -0 -18.9127 -0 > .... > $EndElementData > > With the above definition, gmsh always plots on the centroid of the triangle. > > Is there a way to tell gmsh, where to plot instead at the centroid? > Currently you can plot at the barycenter or at the nodes (cf. the View.GlyphLocation option ; Tools->Options->View->Aspect in the GUI). You could of course reinterpolate at the quadrature points using e.g. the API. Christophe > Regards, > > Rao > _______________________________________________ > 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://people.montefiore.ulg.ac.be/geuzaine From cgeuzaine at uliege.be Wed Dec 30 20:47:27 2020 From: cgeuzaine at uliege.be (Christophe Geuzaine) Date: Wed, 30 Dec 2020 20:47:27 +0100 Subject: [Gmsh] Shutting down the mailing lists Message-ID: Dear all, After 23 years of good and loyal service, we are shutting down the Mailman instance that handles the Gmsh mailing lists. Maintaining a mail server in this day and age has become too much of a hassle, and our gradual phasing out of the mailing lists over the last 8 months has shown us that GitLab issues work really well for the current amount of bugs and discussions. So from now on: - To report a bug or to start a discussion, simply create an issue on https://gitlab.onelab.info/gmsh/gmsh/issues You will need to create a GitLab account first if you don't have one already. As usual, please read the documentation and the tutorials (we have improved them quite a bit recently!) and search existing issues before creating a new one. - To receive a notification for new releases, if you have a GitLab account, go to https://gitlab.onelab.info/gmsh/gmsh, click on the bell icon ? and select "New release". If you don't want to create a GitLab account you can also subscribe to the RSS feed on https://gitlab.onelab.info/gmsh/gmsh/tags Best wishes for 2021 ! Christophe ? Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine