[Gmsh] Rotation and translations of curves

Felix Salazar felix.a.salazar at gmail.com
Tue Apr 23 20:16:06 CEST 2013


Hello,

I'm trying to create surfaces through the rotation and translations of
curves, using the extrude function:

Extrude { { expression-list }, { expression-list }, { expression-list },
expression } { extrude-list }

My curves are circumference arcs. I normally just use the only the rotation
(with only two sets of {expression-list} ), and it works without problems.
In this case, It draws the geometry. It can even mesh it, but eventually, a
segmentation fault occurs and gmsh exits without further error messages.
Sometimes it crash just with the mouse rotation. of the geometry, without
any mesh.

Also, the way the points are displaced in this example with the
translations is not exactly what I want. I'm looking for a surface with
flat boundary curves, shaped like ellipses. Something like cutting a
circular cylinder with a plane that is not normal to the cylinder axis

Thanks in advance,

I'm using gmsh 2.5.0 on linux (Build options  : Ann Bamg Blas Chaco
DIntegration Dlopen FlTree Fltk GMP Gmm Have64BitSizeT Jpeg Kbipack Lapack
MathEx Mesh Metis Mpeg NativeFileChooser Netgen OpenGL Parser Plugins Png
Post Solver Tetgen Zlib). I haven't updated because some of my old .geo
files don't work correctly in newer versions.

Here's my example .geo file

/*==============================*/
/*==== Geometric parameters ====*/
D1 = 1;
D2 = 2;
L  = D1;
BL = 0.5;
R1 = 0.5*D1;
R2 = 0.5*D2;
H  = 0.5;
//==============================
factorRefinement = 1.20;
core = 8;
lc = R1*(Pi/2)/core;
z1 = Ceil(factorRefinement*(L)/lc);
z2 = Ceil(factorRefinement*(L/2)/lc);
Geometry.ExtrudeReturnLateralEntities = 0;
//==============================
// POINTS
Point(1) = {0, R1, 0};
Point(2) = {0, R1, -2*L};
Point(3) = {0, (R1+R2)/2, -L/2};
Point(4) = {0, (R1+R2)/2, -3*L/2};
Point(5) = {0, ((3*R1+R2)/4)-((L^2)/(4*(R1-R2))), 0};
Point(6) = {0, ((R1+3*R2)/4)+((L^2)/(4*(R1-R2))), -L};
Point(7) = {0, ((3*R1+R2)/4)-((L^2)/(4*(R1-R2))), -2*L};

Circle(1) = {1, 5, 3};
Transfinite Line {1} = 3*(z2+1);
Circle(2) = {3, 6, 4};
Transfinite Line {2} = 3*(z1+1);
Circle(3) = {4, 7, 2};
Transfinite Line {3} = 3*(z2+1);
//======================
ext1[] = Extrude { {0,0,H}, {0,0,1}, {0,0,0}, Pi/2} {
  Line{1,2,3}; Layers{Ceil(factorRefinement*core)};
};
Transfinite Surface {ext1[1],ext1[3], ext1[5]};
//======================
ext2[] = Extrude { {0,0,H}, {0,0,1}, {0,0,0}, Pi/2} {
  Line{4,8,12}; Layers{Ceil(factorRefinement*core)};
};
Transfinite Surface {ext2[1],ext2[3], ext2[5]};
//======================
ext3[] = Extrude { {0,0,-H}, {0,0,1}, {0,0,0}, Pi/2} {
  Line{16,20,24}; Layers{Ceil(factorRefinement*core)};
};
Transfinite Surface {ext3[1],ext3[3], ext3[5]};
//======================
ext4[] = Extrude { {0,0,-H}, {0,0,1}, {0,0,0}, Pi/2} {
  Line{28,32,36}; Layers{Ceil(factorRefinement*core)};
};
Transfinite Surface {ext4[1],ext4[3], ext4[5]};
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20130423/b434286f/attachment.html>