> On 23 Mar 2019, at 06:29, Jesus Vellojin <[email protected]> wrote:
> 
> 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.

Unfortunately only translation, rotation and translation+rotation ("twist") are 
currently supported in the built-in kernel. Adding a new transformation would 
not be too complicated, but it would require some coding.

Christophe

> 
> Thanks in advance!
> 
> 
> 
> _______________________________________________
> gmsh mailing list
> [email protected]
> http://onelab.info/mailman/listinfo/gmsh

— 
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science 
http://www.montefiore.ulg.ac.be/~geuzaine




_______________________________________________
gmsh mailing list
[email protected]
http://onelab.info/mailman/listinfo/gmsh

Reply via email to