<div dir="ltr"><div><div>Hi,<br><br></div>I am looking to use gmsh to merge a brep or stp file that contains a 2D geometry, create a 2D mesh, and then extrude the mesh into 3D for a 2D simulation in OpenFOAM. I need the geometry to be parameterizable such that a variety of geometries can be generated in a script.<br><br></div><div>The issue is that when I merge the geometry file into gmsh, the order of the lines are significantly affected by the geometry. This means that when I extrude the geometry into 3D, the physical labels that I assign the surfaces are greatly affected by the geometry i.e. for one geometry the "inlet" surface could be described by out[11] (where out is the label of the extrusion), but for another geometry the "inlet" surface is described by out[7]. This is a huge issue when I am trying to automatically create, label, and mesh geometries.<br><br></div><div>So for example, here is geometry 1.<br></div><div><br></div><div><img src="cid:ii_je373hxm4_161d1e49cfd2ef3a" width="530" height="301"><br>​<br>​<br></div><div>It's "inlet" surface is described by <br><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Physical Surface("inlet") = {out[3]};<br></blockquote><div><img src="cid:ii_je36m98q1_161d1d7d27080611" width="530" height="301"><br></div><div>Here is geometry 2.<br></div><div><img src="cid:ii_je36u5842_161d1ddae1979817" width="530" height="309"><br></div><div>​If I use the above specification for the inlet (i.e. out[3]), I get the following "inlet":<br><br><img src="cid:ii_je36we3f3_161d1df5738def7b" width="530" height="309"><br></div><div>​In fact, for the second geometry, the correct inlet is now is defined by:<br><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Physical Surface("inlet") = {out[7]};<br></blockquote><div><br></div><div>Is there any way to keep the ordering of this constant so that a variety of geometries can be extruded, labeled and meshed using the same script?<br><br></div><div>Otherwise, if I can label the lines in FreeCAD, can I then use those lines as the labels for the extrusion such that the correct labels are given for the correct surfaces?<br><br></div><div>Here is the geo script that takes in the 2D geometry, extrudes and labels it. <br><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">SetFactory("OpenCASCADE");<br><br>Merge "Impeller.stp";<br><br>Mesh.Algorithm = 6; // (1) MeshAdapt (2) Auto (5) Delaunay (6) frontal (7) BAMG (8) DelQuad<br>Mesh.Smoothing = 100;<br>Mesh.OptimizeNetgen = 1;<br><br>lc = 0.01;<br>y_plus = 2.1e-4;<br><br>h = 0.001;<br>n = 5;<br><br>out[] = Extrude {0,0,h}<br>{<br>  Surface {1}; Layers{1}; Recombine;<br>};<br><br>Physical Surface("shroud") = {out[0],out[1]};<br>Physical Surface("ggi_int") = {out[2]};<br>Physical Surface("wall_blade") = {out[4]:out[23]};<br>Physical Surface("inlet") = {out[3]};<br>Physical Volume("internal") = {1};<br></blockquote></div></div><div>​ <br></div><div>Thank you any assistance you can offer.<br><br></div><div>Kind regards,<br></div><div>James<br></div></div></div>