[Gmsh] EXTERNAL: Re: Embedded Mesh

Jensen, Aaron J. Aaron.J.Jensen at leidos.com
Thu Oct 11 19:25:20 CEST 2018


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



More information about the gmsh mailing list