<div dir="ltr"><div><div>Hi Christophe,<br><br></div>Thanks for the prompt reply. I have tried the Extrude option for boundary layer. It works perfect. But the normal direction is the issue. <br><br></div><div>I am working on a project where my input geometry is always in .stl format and I create compound surfaces to generate surface mesh. During this process, the normal direction is disturbed or random, even if I provide the input stl with normal facing inward. I can add a -ve sign for the outward facing surfaces, while extruding boundary layer. <br><br>But I want to write a generic code that works fine for all the stl geometries I import. Is there a way to re-orient all the surface normals inwards? <br><br></div><div>Best regards<br></div><div>Praveen</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 15, 2016 at 1:13 PM, Christophe Geuzaine <span dir="ltr"><<a href="mailto:cgeuzaine@ulg.ac.be" target="_blank">cgeuzaine@ulg.ac.be</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Dear Praveen,<br>
<br>
The Boundary Layer field was an experiment: the 3D version was not functional and has been removed in recent versions. The 2D version is fairly usable. New implementation of boundary layers are forthcoming. In 3D, I currently advise simply using the Extrude command: it will not create fans, but for simple geometries like yours it should be sufficient.<br>
<br>
Here's an example:<br>
<br>
// create a square<br>
lc = 0.3;<br>
Point(1) = {0.0,0.0,0.0,lc};<br>
Point(2) = {1,0.0,0.0,lc};<br>
Point(3) = {1,1,0.0,lc};<br>
Point(4) = {0,1,0.0,lc};<br>
Line(1) = {4,3};<br>
Line(2) = {3,2};<br>
Line(3) = {2,1};<br>
Line(4) = {1,4};<br>
Line Loop(1) = {2,3,4,1};<br>
Plane Surface(1) = {1};<br>
<br>
// create a cube<br>
Extrude {0,0.0,1} { Surface{1}; }<br>
<br>
// remove the volume<br>
Delete { Volume{1}; }<br>
<br>
// extrude the boundary of the cube inwards by 0.05, with 5 layers of elements<br>
Extrude { Surface{26, -1, 13, 17, 21, 25}; Layers{5, 0.05}; }<br>
<br>
// create the inner volume<br>
Surface Loop(159) = {92, 158, 70, 48, 136, 114};<br>
Volume(160) = {159};<br>
<br>
General.ExpertMode = 1; // disable warning about mixing Delaunay and extrusion<br>
<span class=""><br>
<br>
<br>
> On 14 Sep 2016, at 10:52, Praveen Kumar <<a href="mailto:praveen@cctech.co.in">praveen@cctech.co.in</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> I am trying to generate boundary layers on all the surfaces of a simple rectangular duct geometry (imported stl). The prism layers are not getting connected on the edges/corners between each surfaces.<br>
><br>
</span>> <BL-issue.JPG><br>
<div><div class="h5">> ​<br>
><br>
> Can someone help me understand what is missing here? Please Note, I am using 2.11.0 version of gmsh as this is not working at all in the latest version<br>
><br>
> ------------------------------<wbr>--------<br>
> Merge "duct.stl";<br>
> CreateTopology;<br>
><br>
> ll[] = Line "*";<br>
> l = newl;<br>
> For j In {0 : #ll[]-1}<br>
>     Compound Line(l+j) = ll[j];<br>
> EndFor<br>
><br>
> ss[] = Surface "*";<br>
> s = news;<br>
> For i In {0 : #ss[]-1}<br>
>     Compound Surface(s+i) = ss[i];<br>
> EndFor<br>
><br>
> bl = newl;<br>
> bs = news;<br>
><br>
> Field[1] = MathEval;<br>
> Field[1].F = "0.1";<br>
><br>
> Background Field = 1;<br>
><br>
> Mesh.<wbr>CharacteristicLengthExtendFrom<wbr>Boundary = 0;<br>
><br>
> Physical Surface("Side-01") = {s};<br>
> Physical Surface("Top") = {s+1};<br>
> Physical Surface("Side-02") = {s+2};<br>
> Physical Surface("Outlet") = {s+3};<br>
> Physical Surface("Bottom") = {s+4};<br>
> Physical Surface("Inlet") = {s+5};<br>
><br>
> sl = newsl; Surface Loop(sl) = {s:s+5};<br>
> vo = newv; Volume(vo) = {sl};<br>
><br>
> //Physical Volume("V_Fluid") = {vo};<br>
><br>
> pp[] = Point "*";<br>
><br>
> Field[2] = BoundaryLayer;<br>
> //Field[2].AnisoMax = 60;<br>
> Field[2].FacesList = {s:bs-1};<br>
> Field[2].EdgesList = {l:bl-1};<br>
> Field[2].NodesList = {pp[0]:pp[7]};<br>
> //Field[2].FanNodesList = {pp[0]:pp[7]};<br>
> //Field[2].IntersectMetrics = 0;<br>
> //Field[2].Quads = 0;<br>
> //Field[2].hfar = 0.1;<br>
> Field[2].hwall_n = 0.025;<br>
> //Field[2].hwall_t = 0.1;<br>
> Field[2].ratio = 1.1;<br>
> Field[2].thickness = 0.05;<br>
> BoundaryLayer Field = 2;<br>
> //Background Field = 2;<br>
><br>
> ------------------------------<wbr>----------------<br>
><br>
> --<br>
> Praveen Kumar R | Technical Manager<br>
> Centre for Computational Technologies - CCTech<br>
> 1 Akshay Residancy | 50 Anand Park | Aundh | Pune | 411007 | India<br>
> Ph: +91 20 40098381/82 | M: +91-9923406816 | <a href="http://www.cctech.co.in" rel="noreferrer" target="_blank">www.cctech.co.in</a><br>
> CCTech – "Transforming human life by democratization of technology"<br>
><br>
><br>
</div></div>> <duct.geo><duct.stl><BL-issue.<wbr>JPG>__________________________<wbr>_____________________<br>
> gmsh mailing list<br>
> <a href="mailto:gmsh@onelab.info">gmsh@onelab.info</a><br>
> <a href="http://onelab.info/mailman/listinfo/gmsh" rel="noreferrer" target="_blank">http://onelab.info/mailman/<wbr>listinfo/gmsh</a><br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Prof. Christophe Geuzaine<br>
University of Liege, Electrical Engineering and Computer Science<br>
<a href="http://www.montefiore.ulg.ac.be/~geuzaine" rel="noreferrer" target="_blank">http://www.montefiore.ulg.ac.<wbr>be/~geuzaine</a><br>
<br>
Free software: <a href="http://gmsh.info" rel="noreferrer" target="_blank">http://gmsh.info</a> | <a href="http://getdp.info" rel="noreferrer" target="_blank">http://getdp.info</a> | <a href="http://onelab.info" rel="noreferrer" target="_blank">http://onelab.info</a><br>
<br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font color="#888888"><font face="'trebuchet ms', sans-serif" color="#666666">Praveen Kumar R | Technical Manager</font><font face="'trebuchet ms', sans-serif"><b><font color="#000099"><br>
</font></b></font></font><font color="#888888"><font face="'trebuchet ms', sans-serif"><b><font color="#000099"><span><font color="#888888"><font face="'trebuchet ms', sans-serif"><b><font color="#000099"><span><font color="#888888"><font style="color:rgb(34,34,34);font-size:small;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" face="'trebuchet ms',
        sans-serif"><b><font color="#000099">Centre for Computational
            Technologies - CCTech</font></b></font></font></span></font></b><b style="COLOR:rgb(102,102,102)">
</b></font></font></span></font></b></font>
<div><font face="'trebuchet ms', sans-serif" color="#666666">1 Akshay Residancy | 50 Anand Park | Aundh | Pune | 411007 | India<br>Ph: +91 20 40098381/82 | M: +91-9923406816 | <a href="http://www.cctech.co.in/" target="_blank">www.cctech.co.in</a><b><br>


</b></font></div>

<div><span><font color="#888888"><font color="#000099"><b><font face="'trebuchet ms', sans-serif"><span><font color="#888888"><font color="#000099"><b><font face="'trebuchet ms', sans-serif">CCTech – "</font></b></font></font></span></font></b></font></font></span><span><font color="#888888"><font color="#000099"><b><font face="'trebuchet ms', sans-serif"><span><font color="#888888"><font color="#000099"><b><font face="'trebuchet ms', sans-serif"><font color="#000099"><b><font face="'trebuchet ms', sans-serif">Transforming human life by democratization of technology</font></b></font>"</font></b></font></font></span><br><br></font></b></font></font></span><br></div></font></div></div></div></div></div></div>
</div>