<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=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 7 Feb 2018, at 09:42, Dorian Depriester <<a href="mailto:dorian.dep@gmail.com" class="">dorian.dep@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hello dear Gmsh users,<br class="">  I would like to mesh a BSpline using non constant element sizes. Here is a MWE:<div class=""><br class=""></div><div class=""><div class=""><font face="times new roman, serif" class="">Point(1) = {0  , 0  , 0, 0.2};</font></div><div class=""><font face="times new roman, serif" class="">Point(2) = {-0.1, 0.5, 0, 0.2};</font></div><div class=""><font face="times new roman, serif" class="">Point(3) = {-0.1, 0.8, 0, 0.1};</font></div><div class=""><font face="times new roman, serif" class="">Point(4) = {0  , 1  , 0, 0.1};</font></div><div class=""><font face="times new roman, serif" class="">Point(5) = {1  , 1  , 0, 0.2};</font></div><div class=""><font face="times new roman, serif" class="">Point(6) = {1  , 0  , 0, 0.2};</font></div><div class=""><font face="times new roman, serif" class="">BSpline(1) = {1, 2, 3, 4, 5, 6};</font></div><div class=""><font face="times new roman, serif" class=""><br class=""></font></div><div class=""><font face="times new roman, serif" class="">Line(2) = {6, 1};</font></div><div class=""><font face="times new roman, serif" class="">Line Loop(1) = {1, 2};</font></div><div class=""><font face="times new roman, serif" class="">Plane Surface(1) = {1};</font></div><div class=""><font face="times new roman, serif" class="">Mesh 2;</font></div></div><div class=""><br class=""></div><div class=""><font face="arial, helvetica, sans-serif" class="">With the aforementioned code, Gmsh just linearly interpolates from 0.2 to 0.2 between Point 1 and Point 6, resulting in constant size along the BSpline. Yet, I would like to get an element size of 0.1 near points 2 and 3.</font></div><div class=""><font face="arial, helvetica, sans-serif" class=""><br class=""></font></div><div class="">

<pre style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px;" class=""><font face="arial, helvetica, sans-serif" class="">Any help would be highly appreciated!</font></pre><pre style="text-align:start;text-indent:0px;text-decoration-style:initial;text-decoration-color:initial" class=""><font face="arial, helvetica, sans-serif" style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-transform: none; word-spacing: 0px;" class="">

Note: actually, I would like to control the mesh size depending on the local curvature (</font><font face="times new roman, serif" class="">Mesh.CharacteristicLengthFromCurvature</font><font face="arial, helvetica, sans-serif" class="">)</font><span style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-transform: none; word-spacing: 0px;" class="">. <font face="arial, helvetica, sans-serif" class="">Alas, it appears this option does not work (yet?) on BSplines (Gmsh crashes when I try to mesh using this option).
</font></span></pre></div></div></div></blockquote><div><br class=""></div><div>Try the latest version (“automated snapshot”). This works fine here, with both the built-in and open cascade kernels, and allows to control the number of points based on the curvature (using as reference the number of points on a circle):</div><div><br class=""></div><div><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">// SetFactory("OpenCASCADE");</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Point(1) = {0  , 0  , 0, 0.2};</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Point(2) = {-0.1, 0.5, 0, 0.2};</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Point(3) = {-1, 0.8, 0, 0.2};</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Point(4) = {0  , 1  , 0, 0.2};</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Point(5) = {1  , 1  , 0, 0.2};</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Point(6) = {1  , 0  , 0, 0.2};</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Spline(1) = {1, 2, 3, 4, 5, 6};</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">//BSpline(1) = {1, 2, 3, 4, 5, 6};</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255); min-height: 14px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""></span><br class=""></div><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Line(2) = {6, 1};</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Line Loop(1) = {1, 2};</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Plane Surface(1) = {1};</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Mesh.CharacteristicLengthFromCurvature = 1;</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Mesh.MinimumCirclePoints = 50; // points per 2*pi</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class=""></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class=""></span></div></div><div><br class=""></div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><pre style="text-align:start;text-indent:0px;text-decoration-style:initial;text-decoration-color:initial" class=""><span style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-transform: none; word-spacing: 0px;" class=""><font face="arial, helvetica, sans-serif" class="">Thus, I have computed the local curvature by my own (using Matlab), but I am stuck on the above issue.</font></span></pre><pre style="text-align:start;text-indent:0px;text-decoration-style:initial;text-decoration-color:initial" class=""><span style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-transform: none; word-spacing: 0px;" class=""><font face="arial, helvetica, sans-serif" class=""><br class=""></font></span></pre><pre style="text-align:start;text-indent:0px;text-decoration-style:initial;text-decoration-color:initial" class=""><span style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-transform: none; word-spacing: 0px;" class=""><font face="arial, helvetica, sans-serif" class="">Best regards.</font></span></pre></div></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=""></body></html>