> 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