Dear all,<br><br>I have this simple problem which I cannot fix. I am trying to define a volume as the extrusion of a surface which was defined as the extrusion of a line. Gmsh is not able to mesh the 3D volume.<br><br>The code which does not work is the following:<br>
<br>lc = 0.1;<br>h = 0.1;<br>R= 0.50;<br>L = 10.0;<br><br>// ############# POINTS ##############<br>//Base<br>Point(0) = {0, 0, 0, lc};<br>Point(1) = {R, 0, 0, lc};<br>Point(2) = {0, R, 0, lc};<br>Point(3) = {-R, 0, 0, lc};<br>
Point(4) = {0, -R, 0, lc};<br><br>Circle(1) = {1,0,2};<br>Circle(2) = {2,0,3};<br>Circle(3) = {3,0,4};<br>Circle(4) = {4,0,1};<br><br>Transfinite Line{1,2,3,4}=27;<br>Line Loop(100)={1,2,3,4};<br><br>nb_layers = 5;<br>nE = 20;<br>
<br>out[] = Extrude{Line{1};Layers{nb_layers,-0.1};Using Index[1];};<br><br>// //Extruding the surfaces<br>extV[] = Extrude{0,0,L}{Surface{out[1]}; Layers{nE}; }; <br><br>Physical Volume(1)={extV[1]};<br><br>It looks ok to me and I do not see the problem. What is weird is that I have used a similar code (in another script) and it works fine. Here there is the second find:<br>
<br>lc = 0.1;<br>h = 0.1;<br>R= 0.50;<br>L = 20.0;<br><br>// ############# POINTS ##############<br>//Base<br>Point(0) = {0, 0, 0, lc};<br>Point(1) = {R, 0, 0, lc};<br>Point(2) = {0, R, 0, lc};<br><br>//############### LINES ##############<br>
//Base`<br>Circle(1) = {1,0,2};<br>Transfinite Line{1}=45;<br><br>nb_layers = 120;<br>out[] = Extrude{0, 0, L}{Line{1};Layers{nb_layers};};<br><br>Physical Surface(200)={out[1]};<br><br>out2[] = Extrude{Surface{out[1]};Layers{10,0.1};};<br>
<br>Physical Volume(1) = {out2[1]}<br><br>In the second script I am doing the meshing process in the other way around but it should not change because the Extrude commands are the same.<br><br>What could be the problem?<br>
<br>Many thanks,<br><br>Paolo Tricerri<br>