[Gmsh] Questions related to Extrusions

Jim Monte jim.gmsh at gmail.com
Wed Sep 14 20:44:44 CEST 2016


Hi,

I would like to know how to find the order of the "side" elements (lines or
surfaces) that are generated during an extrusion. Thanks for any
information.

Also, while doing some related testing, I saw some results that I could not
explain from the script below.

/*** start ***/
Printf("next line ID = %g; next surface ID = %g", newl, news);
Point(1) = {0, 0, 0};
Point(2) = {0, 1, 0};
Line(1) = {1, 2};
Printf("next line ID = %g; next surface ID = %g", newl, news);

out[] = Extrude {0, 0, 1} {Line{1}; };

n = #out[];
Printf("Extrude has returned %g elements", n);
n -= 1;
For i In {0 : n}
    Printf("Extrusion value[%g] = %g.", i, out[i]);
EndFor

Printf("next line ID = %g; next surface ID = %g", newl, news);
/*** end ***/

The output is

1  next line ID = 1; next surface ID = 1
2  next line ID = 2; next surface ID = 2
3  Extrude has returned 4 elements
4  Extrusion value[0] = 2.
5  Extrusion value[1] = 5.
6  Extrusion value[2] = 4.
7  Extrusion value[3] = -3.
8  next line ID = 6; next surface ID = 6

Here are the things that did not seem right:

   - The value returned by news in line 2 is too high. No surface was
   created yet, so it should remain as 1.
   - The next free surface has a value of 1, so line 5 should give the
   extruded surface a value of 1 instead of 5.
   - I thought the IDs should all be positive, so line 7 seems wrong.

I would appreciate some explanations of what Gmsh is doing in these
instances.

Jim Monte
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://onelab.info/pipermail/gmsh/attachments/20160914/a98d4d97/attachment.html>


More information about the gmsh mailing list