[Gmsh] [gmsh] Boolean operation - Fine to coarse mesh

Christophe Geuzaine cgeuzaine at uliege.be
Thu May 31 20:23:49 CEST 2018



> On 31 May 2018, at 17:35, Benoit CURVERS <benoit.curvers at screen-lasse.com> wrote:
> 
> Dear everyone,
>  
> I’m writing in the connection the option to have a fine to coarse mesh
> I’m working with the gmsh 3.0.6
>  
> For my project, I create several shape with different mesh options on some points.
> After this creation, I create a box with all the shapes (+ a little box below all the shapes) and then I perform a Boolean operation (BooleanFragments) to merge lines in order to have one interface between two shapes.
> But when I perform this operation, I lose all the mesh options on the points where there is two interfaces.


Use the latest snapshot: this is now handled automatically.


> And when I mesh this structure, the meshing is not acceptable.
>  
> So, how could I not lose the information about the mesh on the interface points when I perform this Boolean operation ?
> Is there another option to create one interface between to shape without lose the mesh information ?
>  
> At the end, I would like to have a part with a fine mesh (the volume 1) and for the other part, I would like to have a fine to coarse mesh.
>  
> And, I would like to know : is it possible to perform a “Refine by splitting” on a single part and not for all the structure ?
>  

No

Christophe


> Below, you can find the .geo file with the Boolean operation problem :
> ----------------------------------------------------------------------------------------------
> SetFactory("OpenCASCADE");
> // Mesh.CharacteristicLengthMin = 1;
> // Mesh.CharacteristicLengthMax = 3;
>  
> p10=newp; Point(p10) = {-10,0,-10, 1};
> p11=newp; Point(p11) = {10,0,-10, 1};
> p12=newp; Point(p12) = {10,10,-10, 1};
> p13=newp; Point(p13) = {-10,10,-10, 1};
> l10=newl; Line(l10) = {p10,p11};
> l11=newl; Line(l11) = {p11,p12};
> l12=newl; Line(l12) = {p12,p13};
> l13=newl; Line(l13) = {p13,p10};
> ll10 = newll; Line Loop(ll10) = {l10,l11,l12,l13};
> rs10 = news ; Plane Surface(rs10) = {ll10};
> ex10[]= Extrude{0,0,30}{ Surface{rs10}; };
> Physical Volume(1)={ex10[1]};
>  
> p20=newp; Point(p20) = {-10,10,-10, 1};
> p21=newp; Point(p21) = {10,10,-10, 1};
> p22=newp; Point(p22) = {10,30,-10, 1};
> p23=newp; Point(p23) = {-10,30,-10, 1};
> l20=newl; Line(l20) = {p20,p21};
> l21=newl; Line(l21) = {p21,p22};
> l22=newl; Line(l22) = {p22,p23};
> l23=newl; Line(l23) = {p23,p20};
> ll20 = newll; Line Loop(ll20) = {l20,l21,l22,l23};
> rs20 = news ; Plane Surface(rs20) = {ll20};
> ex20[]= Extrude{0,0,30}{ Surface{rs20}; };
> Physical Volume(2)={ex20[1]};
>  
> p30=newp; Point(p30) = {-10,30,-10, 1};
> p31=newp; Point(p31) = {10,30,-10, 1};
> p32=newp; Point(p32) = {10,210,-10, 50};
> p33=newp; Point(p33) = {-10,210,-10, 50};
> l30=newl; Line(l30) = {p30,p31};
> l31=newl; Line(l31) = {p31,p32};
> l32=newl; Line(l32) = {p32,p33};
> l33=newl; Line(l33) = {p33,p30};
> ll30 = newll; Line Loop(ll30) = {l30,l31,l32,l33};
> rs30 = news ; Plane Surface(rs30) = {ll30};
> ex30[]= Extrude{0,0,30}{ Surface{rs30}; };
> Physical Volume(3)={ex30[1]};
>  
> vblock=newv; Block(vblock) = {-10,-50,-10, 20,260,30};
> v() = BooleanFragments{ Volume{1:3}; Delete; }{ Volume{vblock}; Delete; };
> Physical Volume(0)={4};
> ----------------------------------------------------------------------------------------------
>  
> (The Mesh.CharacteristicLengthMin and Mesh.CharacteristicLengthMax are commented out. If I activate this command, my mesh is refined in all the region and I do not want to obtain this results.)
>  
> Thank you very much for your answer,
>  
> Best Regards,
>  
> Benoît CURVERS
> Laser Systems & Solutions of Europe (LASSE)
> SCREEN Semiconductor Solutions Co. Ltd
> Taïwan Cell : 0965875974 or 7629511
> Email : benoit.curvers at screen-lasse.com <mailto:benoit.curvers at screen-lasse.com>
>  
> _______________________________________________
> gmsh mailing list
> gmsh at onelab.info <mailto:gmsh at onelab.info>
> http://onelab.info/mailman/listinfo/gmsh <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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://onelab.info/pipermail/gmsh/attachments/20180531/5abd5955/attachment.html>


More information about the gmsh mailing list