[Gmsh] Conical Helix

Jesus Vellojin jesus.vellojinm at usm.cl
Sat Mar 23 06:29:26 CET 2019


Dear Gmsh community,

I am trying to make a conical tube helix using the Built-In interface. With no luck. I think I don't quite understand the whole functionality of the Extrude command. The following is my code to make a tube helix of parametric equation r(theta)=(Acos(theta),Asin(theta), C*theta).
A=1; C=0.25/Pi;
r=A/10;
nturns=4;
h=1;
Point(1)={A+r,0,0,h};Point(2)={A-r,0,0,h};
Point(3)={A,0,r,h};Point(4)={A,0,-r,h};
//
Circle(2) = {1, 5, 3};Circle(3) = {3, 5, 2};
Circle(4) = {2, 5, 4};Circle(5) = {4, 5, 1};
//+
Curve Loop(1) = {2, 3, 4, 5};Plane Surface(1) = {1};

ext1[] = Extrude {{0,0,C*Pi/2}, {0,0,1}, {0,0,0}, Pi/2} {
Surface{1};
Layers{30};
Recombine;};
For m In {1:4*nturns-1}
ext1[] = Extrude {{0,0,C*Pi/2}, {0,0,1}, {0,0,0}, Pi/2} {
Surface{ext1[0]};
Layers{30};
Recombine;};
EndFor

Transfinite Surface {1};
Recombine Surface{1};
Coherence;

We know that for a conical helix the pitch is constant but radius, curvature and torsion change. This is possible by making the radius a linear function of the height. The following is my attempt to make the spiral helix of parametric equation r(t)=((r+tan(angle)z cos(2pi z), (r+tan(angle) * z sin(2pi z), z ) for z in [0,max_height].
r = 1/2; //Initial radius
rd = 0.12; //Radius of the cross section

t_final=5;
angle=Pi/4; // Angle in radians;
frec=2*Pi;
layers=100;

Point(1)={r+rd,0,0,h};Point(2)={r-rd,0,0,h};
Point(3)={r,0,rd,h};Point(4)={r,0,-rd,h};
//
Point(5)={r,0,0,h}; //Centro de inicio de superficie extrude
//
Circle(2) = {1, 5, 3};Circle(3) = {3, 5, 2};
Circle(4) = {2, 5, 4};Circle(5) = {4, 5, 1};

Curve Loop(1) = {2, 3, 4, 5};Plane Surface(1) = {1};
z=t_final/layers;
thetha=Tan(angle);
linear_=z+angulo;
ext1[] = Extrude {?} {
Surface{1};
Layers{capas};
Recombine;};

For m In {1:layers}
ext1[] = Extrude {?} {
Surface{ext1[0]};
Layers{capas};
Recombine;};
EndFor

The question marks is because I have no idea how to tell gmsh to make the appropriate twist. I don't want to use the OpenCASCADE and extrude Using Wire because I do not have control on the layers of the mesh and cannot use the recombine and transfinite algorithms successfully, like the code for the regular helix posted at the beginning.
Thanks in advance!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://onelab.info/pipermail/gmsh/attachments/20190323/c22fe44d/attachment.html>


More information about the gmsh mailing list