[Gmsh] EXTERNAL: Re: Embedded Mesh
Jensen, Aaron J.
Aaron.J.Jensen at leidos.com
Fri Oct 12 16:38:29 CEST 2018
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? I can figure out how to do it, I just want to make sure it's possible before I spend too much 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
More information about the gmsh
mailing list