How to construct a helical spring. Log Out | Topics | Search
Moderators | Register | Edit Profile

FlexPDE User's Forum » User Postings » How to construct a helical spring. « Previous Next »

Author Message
Top of pagePrevious messageNext messageBottom of page Link to this message

Xi-Feng (country_road)
New member
Username: country_road

Post Number: 1
Registered: 03-2008
Posted on Tuesday, March 04, 2008 - 05:11 am:   

Is there anyone who have good idea about how to construct a helical spirng? (Just specifiy is as follows: The cross section of the turns is rectangular(4.5X4.5 mm), and the OD diameter of the spring is 22 mm(cylinder). The length of the spring is about 60 mm in 4 turns. In our case, we will finally rotate one end with respect the other end to apply compressive and tensile strain.)

I am a layman of PDE, and the above case seems too difficult to me.

Look forward to your helping.

Thans a lot in advance
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 1076
Registered: 06-2003
Posted on Wednesday, March 05, 2008 - 01:36 am:   

One way to do this is to construct a bar and wrap it around a cylinder by coordinate transformation.

The method is similar to the example problem "Samples|Misc|3D_Domains|3D_Twist.pde".

The attached script describes the method in comments.
application/octet-stream
3d_helix2.pde (3.6 k)

Top of pagePrevious messageNext messageBottom of page Link to this message

Xi-Feng (country_road)
New member
Username: country_road

Post Number: 2
Registered: 03-2008
Posted on Wednesday, March 05, 2008 - 04:34 am:   

Thanks a million. The is exactually what I want.

Actually, the real spring we used was 4 turns+rods(at both ends),(see the attached picture). I am wondering how to construct it. Can put more turns and fix the 1st and 4th turns by some constraint or something else?

the real spring
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 1077
Registered: 06-2003
Posted on Wednesday, March 05, 2008 - 01:07 pm:   

The coordinate transformation is applied to the entire domain, so there are limits to what can be done.

In your case, it looks like an initial shape with blocks on the ends (a reversed "C" shape) would transform the end blocks into rods. Extend the blocks in Z (two added layers: downward on the bottom and upward on the top).
Don't run the blocks all the way to x=0, though, because there are some 1/x terms. This will leave a small hole in the axis, but maybe the effect will be small.

There is another way to address this problem: by building the domain up in real space with layers containing half-turns. I will need to do some experiments with this, because we haven't done it before and there are some issues to resolve.
Top of pagePrevious messageNext messageBottom of page Link to this message

Xi-Feng (country_road)
Junior Member
Username: country_road

Post Number: 3
Registered: 03-2008
Posted on Wednesday, March 05, 2008 - 06:43 pm:   

Thanks a lot. You are so nice and a real expert. I will look you method carefully and think about it hardly. If I can get any further information about this case, I would appreciate.

Thanks again.
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 1078
Registered: 06-2003
Posted on Thursday, March 06, 2008 - 02:50 pm:   

Here is a modification with a heavy piece at each end to simulate the rod. It is not exact, of course, but it should be similar. I added a strain-relief fillet where the spring joins the rod, but I see from your photo that this is wrong. You will have to take it out.

Note that the heavy turns at the ends appear in the plots to meet after one turn. This is an illusion, as the computation is really done in the unrolled configuration, where the surfaces do not contact.

If you make the z-surfaces slope toward z=0 in the end patches, you can reduce the pitch of the rod end turns.


application/octet-stream
3d_helix3.pde (4.1 k)


Top of pagePrevious messageNext messageBottom of page Link to this message

Xi-Feng (country_road)
Member
Username: country_road

Post Number: 4
Registered: 03-2008
Posted on Friday, March 07, 2008 - 04:44 am:   

Thank you so much. This is definitely cose to what I want. There is one thing I need to add is that both ends of the real spring are not rods but cylinders having the same ID and OD as the turns.I should mention that earily and sorry for that. I will learn and practise your example.
Thanks again.
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 1079
Registered: 06-2003
Posted on Friday, March 07, 2008 - 08:43 pm:   

Here is another way to do this.
Instead of using a shearing transform in Z, I wrap the core layout directly around the cylinder.
This requires ramping the z coordinates in the untransformed layout.

In the attached script and graphic, I have made the bore radius smaller than the spring radius, just to accentuate the changes. You can set it back by redefining xbore=xin.

application/octet-stream
3d_helix_noshear.pde (4.6 k)
Top of pagePrevious messageNext messageBottom of page Link to this message

Xi-Feng (country_road)
Member
Username: country_road

Post Number: 5
Registered: 03-2008
Posted on Saturday, March 08, 2008 - 12:32 pm:   

Thank you. I will try this later. Thanks again.
Top of pagePrevious messageNext messageBottom of page Link to this message

Xi-Feng (country_road)
Member
Username: country_road

Post Number: 6
Registered: 03-2008
Posted on Friday, March 28, 2008 - 08:15 am:   

Do you think it is possbile to choose the cylindrical coordinates? The reason is I do not know how to put a round wire (D=0.8 mm)along the (outside,in the middle ) whole turns? In other words, I do not know how to construct the round things by extrusion in coordinate transformation.
Thanks a lot in advance.
Top of pagePrevious messageNext messageBottom of page Link to this message

Xi-Feng (country_road)
Member
Username: country_road

Post Number: 8
Registered: 03-2008
Posted on Friday, March 28, 2008 - 11:17 am:   

I figured out how to construct the wire separately(as attached script), the prolem left will be how to make the wire and turns generated together. Thanks a lot.
application/octet-streamcoil
spring-rectangular-only wire-c.pde (3.6 k)
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 1090
Registered: 06-2003
Posted on Saturday, March 29, 2008 - 03:37 pm:   

I don't understand what you want to do.
Please send a picture.
Top of pagePrevious messageNext messageBottom of page Link to this message

Xi-Feng (country_road)
Member
Username: country_road

Post Number: 9
Registered: 03-2008
Posted on Monday, March 31, 2008 - 06:53 am:   

I got it(as attached picture). But I still had a problem the wire and the spring fully contacted. Thanks a lot.
Top of pagePrevious messageNext messageBottom of page Link to this message

Xi-Feng (country_road)
Member
Username: country_road

Post Number: 10
Registered: 03-2008
Posted on Tuesday, April 01, 2008 - 10:13 am:   

Although I got it(as attached picture),I still had a problem to make the coil and the spring fully contacted. (Error: Surface is discontinuous.).
I also can not make the coil and spring flushed at both ends when the turns increasing(more than 1 turns). Thanks a lot.

Top of pagePrevious messageNext messageBottom of page Link to this message

Marek Nelson (mgnelson)
Moderator
Username: mgnelson

Post Number: 32
Registered: 07-2007
Posted on Wednesday, April 02, 2008 - 05:53 pm:   

You should post a copy of your script file (*.pde) so we can take a look at it.
Top of pagePrevious messageNext messageBottom of page Link to this message

Xi-Feng (country_road)
Member
Username: country_road

Post Number: 11
Registered: 03-2008
Posted on Thursday, April 03, 2008 - 04:04 am:   

Ok, I will post the script file next time. Because the script is quite messy after been changed hundreds of time. I will make it better and post it next time.

Thanks a lot.
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 1092
Registered: 06-2003
Posted on Thursday, April 03, 2008 - 01:33 pm:   

You will need to split the rectangular coil on the mid-plane and run the two surfaces that define the circular wire through the midplane of the rectangle.

All extrusion surfaces must be continuous throughout the domain, so you can't just jump from the waist of the wire to the top of the rectangle.

You will now have three layers with four dividing surfaces. The bottom and top layers are the top and bottom halves of the rectangular spring, and the center layer is the wire. The center layer will be merged in the spring region, and the top and bottom layers will be VOID in the wire region.

Also, you will have to move the wire slightly inward to create an area of overlap between the spring and the wire. Otherwise the vertical tangency will cause trouble in the mesh generator. Also, without a small overlap, you would have only a single mathematical point contact, and nothing could be propagated between the wire and spring.
Top of pagePrevious messageNext messageBottom of page Link to this message

Xi-Feng (country_road)
Member
Username: country_road

Post Number: 12
Registered: 03-2008
Posted on Saturday, April 05, 2008 - 02:49 pm:   

Thank you very much. It seems now I can understand how PDE works by your explaintion. I will try according to your suggestion. Thanks again.

Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action:

Topics | Last Day | Last Week | Tree View | Search | Help/Instructions | Program Credits Administration