<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""></div><div class="">Dear all,</div><div class=""><br class=""></div>Just to confirm that currently we don't try to be "too intelligent" about mesh size constraints after boolean operations: if new geometrical points are created (at new locations), we do not try to guess a mesh size constraint at these points. So they get assigned the default ("infinity") size.<div class=""><br class=""></div><div class="">If mesh size constraints are associated to other points, we could do some interpolation - but the question then arises as to which is the most natural way. Any suggestions are welcome: the best would be to create an issue in our gitlab and add your ideas there.</div><div class=""><br class=""></div><div class="">Christophe</div><div class=""><br class=""></div><div class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 17 Jul 2018, at 16:47, Matthieu Lecouvez <<a href="mailto:matthieu.lecouvez@gmail.com" class="">matthieu.lecouvez@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class=""><div class="">Hi all,<br class=""><br class=""></div>I have never managed to figure out how GMSH keeps track of the mesh sizes during boolean operations. The solution I came up with is to set the mesh sizes after the operation : Say you have two surfaces (with id 1 and 2) sharing a common interface and you want to set a mesh size h1 on surface 1, and h2 on surface 2, with h1 > h2, then :<br class=""><br class=""></div><div class="">-  out[] = PointsOf { Surface{1}; };<br class=""></div><div class="">-  Characteristic Length {out[]} = h1;<br class=""><div class="">-  out[] = PointsOf { Surface{2}; };<br class=""></div><div class="">-  Characteristic Length {out[]} = h2;<br class=""><br class=""></div><div class="">Note that the order in which you set the mesh sizes does matter, you probably want to set the smallest mesh sizes last.<br class=""></div><div class="">Also, you need to do that only for your surfaces that have been modified by the boolean operation.<br class=""><br class=""></div><div class="">Hope this helps.<br class=""><br class=""></div><div class="">Matt<br class=""></div><div class=""><br class=""></div></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">2018-07-17 15:41 GMT+02:00 Benoit CURVERS <span dir="ltr" class=""><<a href="mailto:benoit.curvers@screen-lasse.com" target="_blank" class="">benoit.curvers@screen-lasse.com</a>></span>:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello Juan,<br class="">
<br class="">
Thank you very much for your answer.<br class="">
I already tried the solution you gave me. I tried to add a specific box in order to refine the mesh in specific part but unfortunately, I did not obtain the result I wanted<br class="">
As a result, this solution is not suitable for my problem (in 2D and 3D case)<br class="">
<br class="">
So, I just would like to know : how does GMSH keep the mesh size on the points after a Boolean operation ? Does GMSH chose the size randomly ? Does GMSH chose the size thank to the points' index ?<br class="">
<br class="">
Thank you very much for your answer,<br class="">
Kind regards,<br class="">
<br class="">
Benoît CURVERS<br class="">
<span class="">Laser Systems & Solutions of Europe (LASSE)<br class="">
</span><span class="">SCREEN Semiconductor Solutions Co. Ltd<br class="">
Taïwan Cell : +886 (0)965-875-974 or 7629511<br class="">
Email : <a href="mailto:benoit.curvers@screen-lasse.com" class="">benoit.curvers@screen-lasse.<wbr class="">com</a><br class="">
<br class="">
<br class="">
<br class="">
</span>-----Message d'origine-----<br class="">
De : gmsh <<a href="mailto:gmsh-bounces@ace20.montefiore.ulg.ac.be" class="">gmsh-bounces@ace20.<wbr class="">montefiore.ulg.ac.be</a>> De la part de Juan E. Sanchez<br class="">
Envoyé : vendredi 13 juillet 2018 17:51<br class="">
À : <a href="mailto:gmsh@onelab.info" class="">gmsh@onelab.info</a><br class="">
Objet : Re: [Gmsh] Problem with the Boolean Operation<br class="">
<div class="HOEnZb"><div class="h5"><br class="">
Hi Benoit,<br class="">
<br class="">
I recommend a background field.  Here is a project where I did some refinement (based on electric field) for a semiconductor simulation.<br class="">
<br class="">
<a href="https://github.com/devsim/devsim_bjt_example" rel="noreferrer" target="_blank" class="">https://github.com/devsim/<wbr class="">devsim_bjt_example</a><br class="">
<br class="">
All the simulation files are there, as well as a book chapter in pdf form.<br class="">
<br class="">
At that time of the work, the boolean operations were not available in gmsh.<br class="">
<br class="">
Regards,<br class="">
<br class="">
Juan<br class="">
<br class="">
<br class="">
On 7/12/18 9:56 AM, Benoit CURVERS wrote:<br class="">
> Dear,<br class="">
> <br class="">
> I am writing in connection with the Boolean operation with GMSH. I <br class="">
> have some trouble with the meshing size on points after a Boolean operation.<br class="">
> <br class="">
> For example, on the picture below, I have four main surface. In the <br class="">
> geo file, I create my surface according to the mesh size.<br class="">
> <br class="">
> So, first, I create the surface 6 and 8 with the mesh size of 1 and <br class="">
> after the layer 3 and 5 with the mesh size of 10.<br class="">
> <br class="">
> But when I perform the Boolean operation (Boolean fragment), in one <br class="">
> case, the minimal size is keeping and in the other case, the maximal <br class="">
> size is keeping (as you can see with the red circle).<br class="">
> <br class="">
> So, I would like to know, How does GMSH keep the size after a Boolean <br class="">
> operation ? Is there a specific condition or GMSH chose the size randomly ?<br class="">
> <br class="">
> Because it seems that the size is not chosen according to the index, <br class="">
> or to the creation's order or to the mesh size<br class="">
> <br class="">
> I also see this problem in 3D.<br class="">
> <br class="">
> You can find the geo file below.<br class="">
> <br class="">
> Thank you for your answer,<br class="">
> <br class="">
> Kind regards,<br class="">
> <br class="">
> Benoît CURVERS<br class="">
> <br class="">
> *Laser Systems & Solutions of Europe (LASSE)*<br class="">
> <br class="">
> SCREEN Semiconductor Solutions Co. Ltd<br class="">
> <br class="">
> Taïwan Cell : +886 (0)965-875-974 or 7629511<br class="">
> <br class="">
> Email : <a href="mailto:benoit.curvers@screen-lasse.com" class="">benoit.curvers@screen-lasse.<wbr class="">com</a> <br class="">
> <mailto:<a href="mailto:benoit.curvers@screen-lasse.com" class="">benoit.curvers@screen-<wbr class="">lasse.com</a>><br class="">
> <br class="">
> SetFactory("OpenCASCADE");<br class="">
> <br class="">
> // TopFin<br class="">
> <br class="">
> p10=newp; Point(p10) = {-2.5,60,0, 0.5};<br class="">
> <br class="">
> p11=newp; Point(p11) = {-2.5,22.5,0, 0.5};<br class="">
> <br class="">
> p12=newp; Point(p12) = {-1.75,20.5,0, 0.5};<br class="">
> <br class="">
> p13=newp; Point(p13) = {-1,20,0, 0.5};<br class="">
> <br class="">
> p14=newp; Point(p14) = {1,20,0, 0.5};<br class="">
> <br class="">
> p15=newp; Point(p15) = {1.75,20.5,0, 0.5};<br class="">
> <br class="">
> p16=newp; Point(p16) = {2.5,22.5,0, 0.5};<br class="">
> <br class="">
> p17=newp; Point(p17) = {2.5,60,0, 0.5};<br class="">
> <br class="">
> l10=newl; Line(l10) = {p10,p11};<br class="">
> <br class="">
> l11=newl; Line(l11) = {p11,p12};<br class="">
> <br class="">
> l12=newl; Line(l12) = {p12,p13};<br class="">
> <br class="">
> l13=newl; Line(l13) = {p13,p14};<br class="">
> <br class="">
> l14=newl; Line(l14) = {p14,p15};<br class="">
> <br class="">
> l15=newl; Line(l15) = {p15,p16};<br class="">
> <br class="">
> l16=newl; Line(l16) = {p16,p17};<br class="">
> <br class="">
> l17=newl; Line(l17) = {p17,p10};<br class="">
> <br class="">
> ll10 = newll; Line Loop(ll10) = {l10,l11,l12,l13,l14,l15,l16,<wbr class="">l17};<br class="">
> <br class="">
> Plane Surface(1) = {ll10};<br class="">
> <br class="">
> Physical Surface(1)={1};<br class="">
> <br class="">
> // Bot1<br class="">
> <br class="">
> p20=newp; Point(p20) = {-15.235,120,0, 0.5};<br class="">
> <br class="">
> p21=newp; Point(p21) = {-13,119.3,0, 0.5};<br class="">
> <br class="">
> p22=newp; Point(p22) = {-12,119,0, 0.5};<br class="">
> <br class="">
> p23=newp; Point(p23) = {-10.9,118.1,0, 0.5};<br class="">
> <br class="">
> p24=newp; Point(p24) = {-10,117,0, 0.5};<br class="">
> <br class="">
> p25=newp; Point(p25) = {-9.7,116,0, 0.5};<br class="">
> <br class="">
> p26=newp; Point(p26) = {-9.235,114,0, 0.5};<br class="">
> <br class="">
> p27=newp; Point(p27) = {-10,120,0, 0.5};<br class="">
> <br class="">
> l20=newl; Line(l20) = {p20,p21};<br class="">
> <br class="">
> l21=newl; Line(l21) = {p21,p22};<br class="">
> <br class="">
> l22=newl; Line(l22) = {p22,p23};<br class="">
> <br class="">
> l23=newl; Line(l23) = {p23,p24};<br class="">
> <br class="">
> l24=newl; Line(l24) = {p24,p25};<br class="">
> <br class="">
> l25=newl; Line(l25) = {p25,p26};<br class="">
> <br class="">
> l26=newl; Line(l26) = {p26,p27};<br class="">
> <br class="">
> l27=newl; Line(l27) = {p27,p20};<br class="">
> <br class="">
> ll20 = newll; Line Loop(ll20) = {l20,l21,l22,l23,l24,l25,l26,<wbr class="">l27};<br class="">
> <br class="">
> Plane Surface(2) = {ll20};<br class="">
> <br class="">
> Physical Surface(2)={2};<br class="">
> <br class="">
> // Bot2<br class="">
> <br class="">
> p40=newp; Point(p40) = {10,120,0, 0.5};<br class="">
> <br class="">
> p41=newp; Point(p41) = {9.235,114,0, 0.5};<br class="">
> <br class="">
> p42=newp; Point(p42) = {9.7,116,0, 0.5};<br class="">
> <br class="">
> p43=newp; Point(p43) = {10,117,0, 0.5};<br class="">
> <br class="">
> p44=newp; Point(p44) = {10.9,118.1,0, 0.5};<br class="">
> <br class="">
> p45=newp; Point(p45) = {12,119,0, 0.5};<br class="">
> <br class="">
> p46=newp; Point(p46) = {13,119.3,0, 0.5};<br class="">
> <br class="">
> p47=newp; Point(p47) = {15.235,120,0, 0.5};<br class="">
> <br class="">
> l40=newl; Line(l40) = {p40,p41};<br class="">
> <br class="">
> l41=newl; Line(l41) = {p41,p42};<br class="">
> <br class="">
> l42=newl; Line(l42) = {p42,p43};<br class="">
> <br class="">
> l43=newl; Line(l43) = {p43,p44};<br class="">
> <br class="">
> l44=newl; Line(l44) = {p44,p45};<br class="">
> <br class="">
> l45=newl; Line(l45) = {p45,p46};<br class="">
> <br class="">
> l46=newl; Line(l46) = {p46,p47};<br class="">
> <br class="">
> l47=newl; Line(l47) = {p47,p40};<br class="">
> <br class="">
> ll40 = newll; Line Loop(ll40) = {l40,l41,l42,l43,l44,l45,l46,<wbr class="">l47};<br class="">
> <br class="">
> Plane Surface(4) = {ll40};<br class="">
> <br class="">
> Physical Surface(4)={4};<br class="">
> <br class="">
> // BotFin<br class="">
> <br class="">
> p60=newp; Point(p60) = {-10,120,0, 0.5};<br class="">
> <br class="">
> p61=newp; Point(p61) = {-9.235,114,0, 0.5};<br class="">
> <br class="">
> p62=newp; Point(p62) = {-2.5,60,0, 0.5};<br class="">
> <br class="">
> p63=newp; Point(p63) = {2.5,60,0, 0.5};<br class="">
> <br class="">
> p64=newp; Point(p64) = {9.235,114,0, 0.5};<br class="">
> <br class="">
> p65=newp; Point(p65) = {10,120,0, 0.5};<br class="">
> <br class="">
> l60=newl; Line(l60) = {p60,p61};<br class="">
> <br class="">
> l61=newl; Line(l61) = {p61,p62};<br class="">
> <br class="">
> l62=newl; Line(l62) = {p62,p63};<br class="">
> <br class="">
> l63=newl; Line(l63) = {p63,p64};<br class="">
> <br class="">
> l64=newl; Line(l64) = {p64,p65};<br class="">
> <br class="">
> l65=newl; Line(l65) = {p65,p60};<br class="">
> <br class="">
> ll60 = newll; Line Loop(ll60) = {l60,l61,l62,l63,l64,l65};<br class="">
> <br class="">
> Plane Surface(6) = {ll60};<br class="">
> <br class="">
> Physical Surface(6)={6};<br class="">
> <br class="">
> // Substrate<br class="">
> <br class="">
> p80=newp; Point(p80) = {-67.5,120,0, 1};<br class="">
> <br class="">
> p81=newp; Point(p81) = {-15.235,120,0, 1};<br class="">
> <br class="">
> p82=newp; Point(p82) = {-10,120,0, 1};<br class="">
> <br class="">
> p83=newp; Point(p83) = {10,120,0, 1};<br class="">
> <br class="">
> p84=newp; Point(p84) = {15.235,120,0, 1};<br class="">
> <br class="">
> p85=newp; Point(p85) = {67.5,120,0, 1};<br class="">
> <br class="">
> p86=newp; Point(p86) = {67.5,140,0, 1};<br class="">
> <br class="">
> p87=newp; Point(p87) = {-67.5,140,0, 1};<br class="">
> <br class="">
> l80=newl; Line(l80) = {p80,p81};<br class="">
> <br class="">
> l81=newl; Line(l81) = {p81,p82};<br class="">
> <br class="">
> l82=newl; Line(l82) = {p82,p83};<br class="">
> <br class="">
> l83=newl; Line(l83) = {p83,p84};<br class="">
> <br class="">
> l84=newl; Line(l84) = {p84,p85};<br class="">
> <br class="">
> l85=newl; Line(l85) = {p85,p86};<br class="">
> <br class="">
> l86=newl; Line(l86) = {p86,p87};<br class="">
> <br class="">
> l87=newl; Line(l87) = {p87,p80};<br class="">
> <br class="">
> ll80 = newll; Line Loop(ll80) = {l80,l81,l82,l83,l84,l85,l86,<wbr class="">l87};<br class="">
> <br class="">
> Plane Surface(8) = {ll80};<br class="">
> <br class="">
> Physical Surface(8)={8};<br class="">
> <br class="">
> // Ins<br class="">
> <br class="">
> p90=newp; Point(p90) = {-3.5,60,0, 1};<br class="">
> <br class="">
> p91=newp; Point(p91) = {-3.5,22.5,0, 1};<br class="">
> <br class="">
> p92=newp; Point(p92) = {-2.75,20,0, 1};<br class="">
> <br class="">
> p93=newp; Point(p93) = {-1,19,0, 1};<br class="">
> <br class="">
> p94=newp; Point(p94) = {1,19,0, 1};<br class="">
> <br class="">
> p95=newp; Point(p95) = {2.75,20,0, 1};<br class="">
> <br class="">
> p96=newp; Point(p96) = {3.5,22.5,0, 1};<br class="">
> <br class="">
> p97=newp; Point(p97) = {3.5,60,0, 1};<br class="">
> <br class="">
> p98=newp; Point(p98) = {2.5,60,0, 1};<br class="">
> <br class="">
> p99=newp; Point(p99) = {2.5,22.5,0, 1};<br class="">
> <br class="">
> p910=newp; Point(p910) = {1.75,20.5,0, 1};<br class="">
> <br class="">
> p911=newp; Point(p911) = {1,20,0, 1};<br class="">
> <br class="">
> p912=newp; Point(p912) = {-1,20,0, 1};<br class="">
> <br class="">
> p913=newp; Point(p913) = {-1.75,20.5,0, 1};<br class="">
> <br class="">
> p914=newp; Point(p914) = {-2.5,22.5,0, 1};<br class="">
> <br class="">
> p915=newp; Point(p915) = {-2.5,60,0, 1};<br class="">
> <br class="">
> l90=newl; Line(l90) = {p90,p91};<br class="">
> <br class="">
> l91=newl; Line(l91) = {p91,p92};<br class="">
> <br class="">
> l92=newl; Line(l92) = {p92,p93};<br class="">
> <br class="">
> l93=newl; Line(l93) = {p93,p94};<br class="">
> <br class="">
> l94=newl; Line(l94) = {p94,p95};<br class="">
> <br class="">
> l95=newl; Line(l95) = {p95,p96};<br class="">
> <br class="">
> l96=newl; Line(l96) = {p96,p97};<br class="">
> <br class="">
> l97=newl; Line(l97) = {p97,p98};<br class="">
> <br class="">
> l98=newl; Line(l98) = {p98,p99};<br class="">
> <br class="">
> l99=newl; Line(l99) = {p99,p910};<br class="">
> <br class="">
> l910=newl; Line(l910) = {p910,p911};<br class="">
> <br class="">
> l911=newl; Line(l911) = {p911,p912};<br class="">
> <br class="">
> l912=newl; Line(l912) = {p912,p913};<br class="">
> <br class="">
> l913=newl; Line(l913) = {p913,p914};<br class="">
> <br class="">
> l914=newl; Line(l914) = {p914,p915};<br class="">
> <br class="">
> l915=newl; Line(l915) = {p915,p90};<br class="">
> <br class="">
> ll90 = newll; Line Loop(ll90) =<br class="">
> {l90,l91,l92,l93,l94,l95,l96,<wbr class="">l97,l98,l99,l910,l911,l912,<wbr class="">l913,l914,l915<br class="">
> };<br class="">
> <br class="">
> Plane Surface(9) = {ll90};<br class="">
> <br class="">
> Physical Surface(9)={9};<br class="">
> <br class="">
> // Ox1<br class="">
> <br class="">
> p30=newp; Point(p30) = {-67.5,120,0, 10};<br class="">
> <br class="">
> p31=newp; Point(p31) = {-67.5,60,0, 10};<br class="">
> <br class="">
> p32=newp; Point(p32) = {-3.5,60,0, 10};<br class="">
> <br class="">
> p33=newp; Point(p33) = {-2.5,60,0, 10};<br class="">
> <br class="">
> p34=newp; Point(p34) = {-9.235,114,0, 10};<br class="">
> <br class="">
> p35=newp; Point(p35) = {-9.7,116,0, 10};<br class="">
> <br class="">
> p36=newp; Point(p36) = {-10,117,0, 10};<br class="">
> <br class="">
> p37=newp; Point(p37) = {-10.9,118.1,0, 10};<br class="">
> <br class="">
> p38=newp; Point(p38) = {-12,119,0, 10};<br class="">
> <br class="">
> p39=newp; Point(p39) = {-13,119.3,0, 10};<br class="">
> <br class="">
> p310=newp; Point(p310) = {-15.235,120,0, 10};<br class="">
> <br class="">
> l30=newl; Line(l30) = {p30,p31};<br class="">
> <br class="">
> l31=newl; Line(l31) = {p31,p32};<br class="">
> <br class="">
> l32=newl; Line(l32) = {p32,p33};<br class="">
> <br class="">
> l33=newl; Line(l33) = {p33,p34};<br class="">
> <br class="">
> l34=newl; Line(l34) = {p34,p35};<br class="">
> <br class="">
> l35=newl; Line(l35) = {p35,p36};<br class="">
> <br class="">
> l36=newl; Line(l36) = {p36,p37};<br class="">
> <br class="">
> l37=newl; Line(l37) = {p37,p38};<br class="">
> <br class="">
> l38=newl; Line(l38) = {p38,p39};<br class="">
> <br class="">
> l39=newl; Line(l39) = {p39,p310};<br class="">
> <br class="">
> l310=newl; Line(l310) = {p310,p30};<br class="">
> <br class="">
> ll30 = newll; Line Loop(ll30) =<br class="">
> {l30,l31,l32,l33,l34,l35,l36,<wbr class="">l37,l38,l39,l310};<br class="">
> <br class="">
> Plane Surface(3) = {ll30};<br class="">
> <br class="">
> Physical Surface(3)={3};<br class="">
> <br class="">
> // Ox2<br class="">
> <br class="">
> p50=newp; Point(p50) = {15.235,120,0, 10};<br class="">
> <br class="">
> p51=newp; Point(p51) = {13,119.3,0, 10};<br class="">
> <br class="">
> p52=newp; Point(p52) = {12,119,0, 10};<br class="">
> <br class="">
> p53=newp; Point(p53) = {10.9,118.1,0, 10};<br class="">
> <br class="">
> p54=newp; Point(p54) = {10,117,0, 10};<br class="">
> <br class="">
> p55=newp; Point(p55) = {9.7,116,0, 10};<br class="">
> <br class="">
> p56=newp; Point(p56) = {9.235,114,0, 10};<br class="">
> <br class="">
> p57=newp; Point(p57) = {2.5,60,0, 10};<br class="">
> <br class="">
> p58=newp; Point(p58) = {3.5,60,0, 10};<br class="">
> <br class="">
> p59=newp; Point(p59) = {67.5,60,0, 10};<br class="">
> <br class="">
> p510=newp; Point(p510) = {67.5,120,0, 10};<br class="">
> <br class="">
> l50=newl; Line(l50) = {p50,p51};<br class="">
> <br class="">
> l51=newl; Line(l51) = {p51,p52};<br class="">
> <br class="">
> l52=newl; Line(l52) = {p52,p53};<br class="">
> <br class="">
> l53=newl; Line(l53) = {p53,p54};<br class="">
> <br class="">
> l54=newl; Line(l54) = {p54,p55};<br class="">
> <br class="">
> l55=newl; Line(l55) = {p55,p56};<br class="">
> <br class="">
> l56=newl; Line(l56) = {p56,p57};<br class="">
> <br class="">
> l57=newl; Line(l57) = {p57,p58};<br class="">
> <br class="">
> l58=newl; Line(l58) = {p58,p59};<br class="">
> <br class="">
> l59=newl; Line(l59) = {p59,p510};<br class="">
> <br class="">
> l510=newl; Line(l510) = {p510,p50};<br class="">
> <br class="">
> ll50 = newll; Line Loop(ll50) =<br class="">
> {l50,l51,l52,l53,l54,l55,l56,<wbr class="">l57,l58,l59,l510};<br class="">
> <br class="">
> Plane Surface(5) = {ll50};<br class="">
> <br class="">
> Physical Surface(5)={5};<br class="">
> <br class="">
> // Cap<br class="">
> <br class="">
> p70=newp; Point(p70) = {-67.5,60,0, 10};<br class="">
> <br class="">
> p71=newp; Point(p71) = {-67.5,10,0, 10};<br class="">
> <br class="">
> p72=newp; Point(p72) = {67.5,10,0, 10};<br class="">
> <br class="">
> p73=newp; Point(p73) = {67.5,60,0, 10};<br class="">
> <br class="">
> p74=newp; Point(p74) = {3.5,60,0, 10};<br class="">
> <br class="">
> p75=newp; Point(p75) = {3.5,22.5,0, 10};<br class="">
> <br class="">
> p76=newp; Point(p76) = {2.75,20,0, 10};<br class="">
> <br class="">
> p77=newp; Point(p77) = {1,19,0, 10};<br class="">
> <br class="">
> p78=newp; Point(p78) = {-1,19,0, 10};<br class="">
> <br class="">
> p79=newp; Point(p79) = {-2.75,20,0, 10};<br class="">
> <br class="">
> p710=newp; Point(p710) = {-3.5,22.5,0, 10};<br class="">
> <br class="">
> p711=newp; Point(p711) = {-3.5,60,0, 10};<br class="">
> <br class="">
> l70=newl; Line(l70) = {p70,p71};<br class="">
> <br class="">
> l71=newl; Line(l71) = {p71,p72};<br class="">
> <br class="">
> l72=newl; Line(l72) = {p72,p73};<br class="">
> <br class="">
> l73=newl; Line(l73) = {p73,p74};<br class="">
> <br class="">
> l74=newl; Line(l74) = {p74,p75};<br class="">
> <br class="">
> l75=newl; Line(l75) = {p75,p76};<br class="">
> <br class="">
> l76=newl; Line(l76) = {p76,p77};<br class="">
> <br class="">
> l77=newl; Line(l77) = {p77,p78};<br class="">
> <br class="">
> l78=newl; Line(l78) = {p78,p79};<br class="">
> <br class="">
> l79=newl; Line(l79) = {p79,p710};<br class="">
> <br class="">
> l710=newl; Line(l710) = {p710,p711};<br class="">
> <br class="">
> l711=newl; Line(l711) = {p711,p70};<br class="">
> <br class="">
> ll70 = newll; Line Loop(ll70) =<br class="">
> {l70,l71,l72,l73,l74,l75,l76,<wbr class="">l77,l78,l79,l710,l711};<br class="">
> <br class="">
> Plane Surface(7) = {ll70};<br class="">
> <br class="">
> Physical Surface(7)={7};<br class="">
> <br class="">
> // AddedSubstrate<br class="">
> <br class="">
> p100=newp; Point(p100) = {-67.5,140,0, 5};<br class="">
> <br class="">
> p101=newp; Point(p101) = {67.5,140,0, 5};<br class="">
> <br class="">
> p102=newp; Point(p102) = {67.5,2140,0, 5};<br class="">
> <br class="">
> p103=newp; Point(p103) = {-67.5,2140,0, 5};<br class="">
> <br class="">
> l100=newl; Line(l100) = {p100,p101};<br class="">
> <br class="">
> l101=newl; Line(l101) = {p101,p102};<br class="">
> <br class="">
> l102=newl; Line(l102) = {p102,p103};<br class="">
> <br class="">
> l103=newl; Line(l103) = {p103,p100};<br class="">
> <br class="">
> ll100 = newll; Line Loop(ll100) = {l100,l101,l102,l103};<br class="">
> <br class="">
> Plane Surface(10) = {ll100};<br class="">
> <br class="">
> Physical Surface(10)={10};<br class="">
> <br class="">
> // AddedSubstrate<br class="">
> <br class="">
> p110=newp; Point(p110) = {-67.5,2140,0, 10};<br class="">
> <br class="">
> p111=newp; Point(p111) = {67.5,2140,0, 10};<br class="">
> <br class="">
> p112=newp; Point(p112) = {67.5,3140,0, 10};<br class="">
> <br class="">
> p113=newp; Point(p113) = {-67.5,3140,0, 10};<br class="">
> <br class="">
> l110=newl; Line(l110) = {p110,p111};<br class="">
> <br class="">
> l111=newl; Line(l111) = {p111,p112};<br class="">
> <br class="">
> l112=newl; Line(l112) = {p112,p113};<br class="">
> <br class="">
> l113=newl; Line(l113) = {p113,p110};<br class="">
> <br class="">
> ll110 = newll; Line Loop(ll110) = {l110,l111,l112,l113};<br class="">
> <br class="">
> Plane Surface(11) = {ll110};<br class="">
> <br class="">
> Physical Surface(11)={11};<br class="">
> <br class="">
> // AddedSubstrate<br class="">
> <br class="">
> p120=newp; Point(p120) = {-67.5,3140,0, 20};<br class="">
> <br class="">
> p121=newp; Point(p121) = {67.5,3140,0, 20};<br class="">
> <br class="">
> p122=newp; Point(p122) = {67.5,5140,0, 20};<br class="">
> <br class="">
> p123=newp; Point(p123) = {-67.5,5140,0, 20};<br class="">
> <br class="">
> l120=newl; Line(l120) = {p120,p121};<br class="">
> <br class="">
> l121=newl; Line(l121) = {p121,p122};<br class="">
> <br class="">
> l122=newl; Line(l122) = {p122,p123};<br class="">
> <br class="">
> l123=newl; Line(l123) = {p123,p120};<br class="">
> <br class="">
> ll120 = newll; Line Loop(ll120) = {l120,l121,l122,l123};<br class="">
> <br class="">
> Plane Surface(12) = {ll120};<br class="">
> <br class="">
> Physical Surface(12)={12};<br class="">
> <br class="">
> pAir1=newp; Point(pAir1) = {-67.5,-190,0, 30};<br class="">
> <br class="">
> pAir2=newp; Point(pAir2) = {67.5,-190,0, 30};<br class="">
> <br class="">
> pAir3=newp; Point(pAir3) = {67.5,5140,0, 30};<br class="">
> <br class="">
> pAir4=newp; Point(pAir4) = {-67.5,5140,0, 30};<br class="">
> <br class="">
> lAir1=newl; Line(lAir1) = {pAir1,pAir2};<br class="">
> <br class="">
> lAir2=newl; Line(lAir2) = {pAir2,pAir3};<br class="">
> <br class="">
> lAir3=newl; Line(lAir3) = {pAir3,pAir4};<br class="">
> <br class="">
> lAir4=newl; Line(lAir4) = {pAir4,pAir1};<br class="">
> <br class="">
> llAir = newll; Line Loop(llAir) = {lAir1,lAir2,lAir3,lAir4};<br class="">
> <br class="">
> rsAir = news ; Plane Surface(rsAir) = {llAir};<br class="">
> <br class="">
> v() = BooleanFragments{ Surface{1:12}; Delete; }{ Surface{rsAir}; <br class="">
> Delete; };<br class="">
> <br class="">
> Physical Surface(0)={13};<br class="">
> <br class="">
> <br class="">
> <br class="">
> This body part will be downloaded on demand.<br class="">
> <br class="">
<br class="">
<br class="">
______________________________<wbr class="">_________________<br class="">
gmsh mailing list<br class="">
<a href="mailto:gmsh@onelab.info" class="">gmsh@onelab.info</a><br class="">
<a href="http://onelab.info/mailman/listinfo/gmsh" rel="noreferrer" target="_blank" class="">http://onelab.info/mailman/<wbr class="">listinfo/gmsh</a><br class="">
<br class="">
______________________________<wbr class="">_________________<br class="">
gmsh mailing list<br class="">
<a href="mailto:gmsh@onelab.info" class="">gmsh@onelab.info</a><br class="">
<a href="http://onelab.info/mailman/listinfo/gmsh" rel="noreferrer" target="_blank" class="">http://onelab.info/mailman/<wbr class="">listinfo/gmsh</a><br class="">
</div></div></blockquote></div><br class=""></div>
_______________________________________________<br class="">gmsh mailing list<br class=""><a href="mailto:gmsh@onelab.info" class="">gmsh@onelab.info</a><br class="">http://onelab.info/mailman/listinfo/gmsh<br class=""></div></blockquote></div><br class=""><div class="">
<div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;">— </div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;">Prof. Christophe Geuzaine<br class="">University of Liege, Electrical Engineering and Computer Science <br class=""><a href="http://www.montefiore.ulg.ac.be/~geuzaine" class="">http://www.montefiore.ulg.ac.be/~geuzaine</a><br class=""><br class="">Free software: http://gmsh.info | http://getdp.info | http://onelab.info</div></div>
</div>
<br class=""></div></body></html>