<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1028" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hello gmsh Users,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">This is a question about modelling 2D surfaces with arbitrary shapes and sharp angles within the geometry.<o:p></o:p></p>
<p class="MsoNormal">The mesh is then used by a radiation-diffraction solver to obtain the hydrodynamic potential.
<o:p></o:p></p>
<p class="MsoNormal">It is a specific application to a ship hull but must be similar to many other applications.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">So we are using gmsh to create a 2D structured mesh of a ship hull with a geometry looking like the one below (note the appendage in red):<o:p></o:p></p>
<p class="MsoNormal"><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter" />
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0" />
<v:f eqn="sum @0 1 0" />
<v:f eqn="sum 0 0 @1" />
<v:f eqn="prod @2 1 2" />
<v:f eqn="prod @3 21600 pixelWidth" />
<v:f eqn="prod @3 21600 pixelHeight" />
<v:f eqn="sum @0 0 1" />
<v:f eqn="prod @6 1 2" />
<v:f eqn="prod @7 21600 pixelWidth" />
<v:f eqn="sum @8 21600 0" />
<v:f eqn="prod @7 21600 pixelHeight" />
<v:f eqn="sum @10 21600 0" />
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" />
<o:lock v:ext="edit" aspectratio="t" />
</v:shapetype><v:shape id="Picture_x0020_2" o:spid="_x0000_s1027" type="#_x0000_t75" style='position:absolute;margin-left:135.65pt;margin-top:204.35pt;width:110.5pt;height:57pt;z-index:251660288;visibility:visible;mso-wrap-style:square;mso-width-percent:0;mso-height-percent:0;mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;mso-wrap-distance-right:9pt;mso-wrap-distance-bottom:0;mso-position-horizontal:absolute;mso-position-horizontal-relative:text;mso-position-vertical:absolute;mso-position-vertical-relative:text;mso-width-percent:0;mso-height-percent:0;mso-width-relative:margin;mso-height-relative:margin'>
<v:imagedata src="cid:image001.png@01D64612.18B06F60" o:title="" cropleft="-2392f" cropright="-2551f" />
<o:lock v:ext="edit" aspectratio="f" />
</v:shape><![endif]--><![if !vml]><span style="mso-ignore:vglayout;position:absolute;z-index:251660288;margin-left:234px;margin-top:391px;width:184px;height:95px"><img width="147" height="76" style="width:1.5333in;height:.7916in" src="cid:image002.png@01D64612.18B06F60" v:shapes="Picture_x0020_2"></span><![endif]><!--[if gte vml 1]><v:shape id="Picture_x0020_1" o:spid="_x0000_s1026" type="#_x0000_t75" style='position:absolute;margin-left:155.1pt;margin-top:127.3pt;width:110.5pt;height:51pt;z-index:251658240;visibility:visible;mso-wrap-style:square;mso-width-percent:0;mso-height-percent:0;mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;mso-wrap-distance-right:9pt;mso-wrap-distance-bottom:0;mso-position-horizontal:absolute;mso-position-horizontal-relative:text;mso-position-vertical:absolute;mso-position-vertical-relative:text;mso-width-percent:0;mso-height-percent:0;mso-width-relative:margin;mso-height-relative:margin'>
<v:imagedata src="cid:image003.png@01D64612.18B06F60" o:title="" cropleft="-1395f" cropright="-1549f" />
<o:lock v:ext="edit" aspectratio="f" />
</v:shape><![endif]--><![if !vml]><span style="mso-ignore:vglayout;position:absolute;z-index:251658240;margin-left:266px;margin-top:263px;width:184px;height:85px"><img width="147" height="68" style="width:1.5333in;height:.7083in" src="cid:image004.png@01D64612.18B06F60" v:shapes="Picture_x0020_1"></span><![endif]><img width="443" height="397" style="width:4.6166in;height:4.1333in" id="Group_x0020_5" src="cid:image005.png@01D64612.18B06F60"><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Meshing the overall hull shape has been fairly straightforward and gmsh did exactly what we expected, yielding a good quality mesh with minimal efforts. We created my 3 and 4 edges surfaces from lines and B-Splines curves. For each surface,
 we defined Transfinite Curves, Surfaces and Recombined each surface them to get the 2D Structured Mesh:<o:p></o:p></p>
<p class="MsoNormal"><img width="614" height="323" style="width:6.4in;height:3.3666in" id="_x0000_i1026" src="cid:image006.jpg@01D64612.18B06F60"><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The issue is related to the appendage on the stern of the hull (called “skeg”) as shown on the first picture. If we include this as the same surface as the hull, the sharp angle would never be captured by the B-spline.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">So far we have tried a couple of things based on processes commonly applied in other packages:<o:p></o:p></p>
<p class="MsoNormal">First we have made a contour of the skeg using B-splines and lines (Line 16, Line 17, Line 18, Nurb 12, Nurb 13) and split the forward B-spline into 2 (Nurb 7 and Nurb 8)  as shown below.
<o:p></o:p></p>
<p class="MsoNormal"><img width="815" height="330" style="width:8.4916in;height:3.4416in" id="Picture_x0020_4" src="cid:image007.jpg@01D64612.18B06F60"><o:p></o:p></p>
<p class="MsoNormal">This has either resulted in endless loops of “Warning: Wrong control point index in bspline” or in meshing errors in the appendage and surrounding regions.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Next we have tried to approximate the contour of the skeg with Nurb 17 to generate Surface 2 (made of Nurbs 7,8,5,17) and then add 3 separate lines to produce the side surface of the skeg (Surface 5 made of Nurb 14, 15 and Line 16)<o:p></o:p></p>
<p class="MsoNormal"><img width="815" height="362" style="width:8.4916in;height:3.775in" id="Picture_x0020_10" src="cid:image008.jpg@01D64612.18B06F60"><o:p></o:p></p>
<p class="MsoNormal">This resulted in an error message and the Surface 5 meshed with 1 element only as shown above.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Have you got any suggestion on how one should proceed to get a 2D structured mesh of such a geometry with sharp angles (here, the hull and the skeg) and capture those discontinuities within the mesh, as depicted in the first figure?
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Many thanks,<o:p></o:p></p>
<p class="MsoNormal">Diogo Nunes.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>