[Gmsh] GMSH is not extruding a surface which has been defined as an extrusion of a line

Paolo Tricerri paolotricerri at gmail.com
Tue Jan 29 14:49:09 CET 2013


Dear all,

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.

The code which does not work is the following:

lc = 0.1;
h = 0.1;
R= 0.50;
L = 10.0;

// ############# POINTS ##############
//Base
Point(0) = {0, 0, 0, lc};
Point(1) = {R, 0, 0, lc};
Point(2) = {0, R, 0, lc};
Point(3) = {-R, 0, 0, lc};
Point(4) = {0, -R, 0, lc};

Circle(1) = {1,0,2};
Circle(2) = {2,0,3};
Circle(3) = {3,0,4};
Circle(4) = {4,0,1};

Transfinite Line{1,2,3,4}=27;
Line Loop(100)={1,2,3,4};

nb_layers = 5;
nE = 20;

out[] = Extrude{Line{1};Layers{nb_layers,-0.1};Using Index[1];};

// //Extruding the surfaces
extV[] = Extrude{0,0,L}{Surface{out[1]}; Layers{nE}; };

Physical Volume(1)={extV[1]};

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:

lc = 0.1;
h = 0.1;
R= 0.50;
L = 20.0;

// ############# POINTS ##############
//Base
Point(0) = {0, 0, 0, lc};
Point(1) = {R, 0, 0, lc};
Point(2) = {0, R, 0, lc};

//############### LINES ##############
//Base`
Circle(1) = {1,0,2};
Transfinite Line{1}=45;

nb_layers = 120;
out[] = Extrude{0, 0, L}{Line{1};Layers{nb_layers};};

Physical Surface(200)={out[1]};

out2[] = Extrude{Surface{out[1]};Layers{10,0.1};};

Physical Volume(1) = {out2[1]}

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.

What could be the problem?

Many thanks,

Paolo Tricerri
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20130129/d57e27ba/attachment.html>