[Gmsh] EXTERNAL: Re: Embedded Mesh

cgeuzaine at uliege.be cgeuzaine at uliege.be
Fri Oct 12 17:48:38 CEST 2018



> On 12 Oct 2018, at 17:12, Jensen, Aaron J. <Aaron.J.Jensen at leidos.com> wrote:
> 
> If I made a single layer of pyramids (via external script) on the quad boundary could I trick gmsh into using that as the boundary if I properly defined it in a *.msh file?

Yes, that would work. 


>  I can figure out how to do it, I just want to make sure it's possible before I spend too Mach time on it.
> 
> Thanks,
> Aaron
> 
> -----Original Message-----
> From: Christophe Geuzaine [mailto:cgeuzaine at uliege.be] 
> Sent: Friday, October 12, 2018 1:16 AM
> To: Jensen, Aaron J. [US-US]
> Cc: gmsh at onelab.info
> Subject: Re: EXTERNAL: Re: [Gmsh] Embedded Mesh
> 
> 
> 
>> 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
> 
> _______________________________________________
> gmsh mailing list
> gmsh at onelab.info
> http://onelab.info/mailman/listinfo/gmsh


More information about the gmsh mailing list