[Gmsh] EXTERNAL: Re: Embedded Mesh

Christophe Geuzaine cgeuzaine at uliege.be
Fri Oct 12 07:16:06 CEST 2018



> On 12 Oct 2018, at 00:56, Jensen, Aaron J. <Aaron.J.Jensen at leidos.com> wrote:
> 
> Hopefully this will be the last question for a while...
> 
> I am trying the same thing in 3D now.  I am having a similar problem where I am not generating 3D elements in this case.  I have attached the files.

The boundary meshes should be triangular. Gmsh does not (yet) support generating automatic 3D tetrahedral+pyramidal meshes with quads on boundaries.

> 
> Thanks in advance,
> Aaron
> 
> -----Original Message-----
> From: Jensen, Aaron J. [US-US] 
> Sent: Thursday, October 11, 2018 4:11 PM
> To: 'Christophe Geuzaine'
> Cc: gmsh at onelab.info
> Subject: RE: EXTERNAL: Re: [Gmsh] Embedded Mesh
> 
> I can't tell you how much I appreciate the help!  Thank you!
> 
> -----Original Message-----
> From: Christophe Geuzaine [mailto:cgeuzaine at uliege.be] 
> Sent: Thursday, October 11, 2018 3:29 PM
> To: Jensen, Aaron J. [US-US]
> Cc: gmsh at onelab.info
> Subject: Re: EXTERNAL: Re: [Gmsh] Embedded Mesh
> 
> 
> Here we go:
> 
> Merge "square";
> 
> Line Loop(1) = {1,2,3,4}; // fixed
> 
> squareWidth = 1.5;
> halfSquareWidth = squareWidth/2.0;
> 
> lc = 0.3;
> Point(1001) = {-halfSquareWidth,-halfSquareWidth,0.0,lc};
> Point(1002) = {-halfSquareWidth, halfSquareWidth,0.0,lc};
> Point(1003) = { halfSquareWidth, halfSquareWidth,0.0,lc};
> Point(1004) = { halfSquareWidth,-halfSquareWidth,0.0,lc};
> Line(1001) = {1004,1003};
> Line(1002) = {1003,1002};
> Line(1003) = {1002,1001};
> Line(1004) = {1001,1004};
> 
> Line Loop(1005) = {1002,1003,1004,1001};
> 
> Plane Surface(1006) = {1005, 1}; // fixed
> 
> 
> 
>> On 11 Oct 2018, at 19:25, Jensen, Aaron J. <Aaron.J.Jensen at leidos.com> wrote:
>> 
>> Christophe,
>> 
>> Thank you for the fast response.  The latest snapshot works great and fixes the crash.
>> 
>> I am still setting up the problem incorrectly.  Here is what I have now:
>> 
>> 
>> Merge "square";
>> Line Loop(1) = {1};
>> 
>> squareWidth = 1.5;
>> halfSquareWidth = squareWidth/2.0;
>> 
>> lc = 0.3;
>> Point(1001) = {-halfSquareWidth,-halfSquareWidth,0.0,lc};
>> Point(1002) = {-halfSquareWidth, halfSquareWidth,0.0,lc};
>> Point(1003) = { halfSquareWidth, halfSquareWidth,0.0,lc};
>> Point(1004) = { halfSquareWidth,-halfSquareWidth,0.0,lc};
>> Line(1001) = {1004,1003};
>> Line(1002) = {1003,1002};
>> Line(1003) = {1002,1001};
>> Line(1004) = {1001,1004};
>> 
>> Line Loop(1005) = {1002,1003,1004,1001};
>> 
>> Surface Loop(1006) = {1005, 1};
>> 
>> 
>> I think it is close to working but I get the warning message: "1D mesh not forming a closed loop".
>> 
>> Any help would be greatly appreciated.
>> 
>> Thanks,
>> Aaron
>> 
>> -----Original Message-----
>> From: Christophe Geuzaine [mailto:cgeuzaine at uliege.be] 
>> Sent: Thursday, October 11, 2018 8:11 AM
>> To: Jensen, Aaron J. [US-US]
>> Cc: gmsh at onelab.info
>> Subject: EXTERNAL: Re: [Gmsh] Embedded Mesh
>> 
>> 
>> 
>>> On 10 Oct 2018, at 21:12, Jensen, Aaron J. <Aaron.J.Jensen at leidos.com> wrote:
>>> 
>>> Hello,
>>> 
>>> I would like to merge an existing mesh into a geometry and then mesh the unmeshed region using gmsh (something like a boundary mesh around a pre-existing mesh generated externally by another program).  Ideally, this would result in a mesh that was partially created in gmsh and partially created externally to gmsh.  Ultimately, I would like to do this in both 2D and 3D but am starting with the following in 2D:
>>> 
>>> 
>>> 
>>> Merge "square";
>>> 
>>> SetFactory("OpenCASCADE");
>>> 
>>> Surface Loop(1) = {1};
>>> //sExternal = news;
>>> //Rectangle(sExternal) = {0, 0, 0.0, 0.5, 0.5};
>>> 
>>> s1 = news;
>>> Rectangle(s1) = {-0.25, -0.25, 0.0, 1.0, 1.0};
>>> 
>>> //BooleanDifference (2000) = { Surface{s1}; Delete; }{ Surface{sExternal}; };
>>> BooleanDifference (2000) = { Surface{s1}; Delete; }{ Surface{1}; };
>>> 
>> 
>> This cannot work: boolean operations can only be applied to CAD entities. It should not crash though - and it does not on my machine. Can you try with the latest snapshot?
>> 
>> You can still produce a mesh like the one you want. With the built-in engine, simply 
>> 
>> - load the mesh, which should contain the bounding surface mesh
>> 
>> - define the exterior "Surface Loop" where the interior surfaces are the bounding surfaces (discrete)
>> 
>> Christophe
>> 
>> 
>>> 
>>> 
>>> OpenCascade doesn’t recognize surface 1 and BooleanDifference causes gmsh to crash.  I assume I am doing something wrong?  Can gmsh embed an existing mesh into a gmsh geometry or CAD model?
>>> 
>>> Thanks,
>>> Aaron
>>> <square>_______________________________________________
>>> gmsh mailing list
>>> gmsh at onelab.info
>>> http://onelab.info/mailman/listinfo/gmsh
>> 
>>>> Prof. Christophe Geuzaine
>> University of Liege, Electrical Engineering and Computer Science 
>> http://www.montefiore.ulg.ac.be/~geuzaine
>> 
>> Free software: http://gmsh.info | http://getdp.info | http://onelab.info
>> 
> 
>> Prof. Christophe Geuzaine
> University of Liege, Electrical Engineering and Computer Science 
> http://www.montefiore.ulg.ac.be/~geuzaine
> 
> Free software: http://gmsh.info | http://getdp.info | http://onelab.info
> 
> <Combined3D.GEO><cube>

— 
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science 
http://www.montefiore.ulg.ac.be/~geuzaine

Free software: http://gmsh.info | http://getdp.info | http://onelab.info




More information about the gmsh mailing list