Calculating collision: finite elements

In summary, the conversation discusses a finite volume scheme for calculating the movement of yarn, involving dividing it into finite volumes and handling collisions with surfaces. The integration scheme involves steps for calculating contact, tension force, surface reaction, new speed and position of a node. However, there are issues with tension force oscillations during collision. Suggestions are made for handling collision, such as taking into account damping and treating the collision as a spring. The idea of using a spring potential between the yarn and metal surface is proposed, which can also allow for calculating a normal force and friction force. It is noted that other potentials can also be tried and different integration methods can be used for more accuracy.
  • #1
Simon666
93
0
Hello guys/gals,

I have a finite volume scheme to calculate the movement of a piece of yarn. This involves dividing the yarn into a number of finite volumes, the center of which is called a node. Collision with surfaces is somewhat of a problem. My integration scheme involves the following steps:

  1. Calculate contact : project the position p normally on the surface, p'. Take p = p'
  2. Calculate the tension force F acting on a node
  3. Calculate the surface reaction. Adjust speed v(old) and force F as below, with (n) the normal and (t) the transversal component:

    v(old) = v(old)(t) - Beta*v(old)(n),
    F = F(t) + F(n) + FrictionForce with F(n) = 0 if F(n) is directed into the surface
  4. Calculate the new speed of a node : v(new) = v(old) + F*dt/m;
  5. Calculate the new position of a node : p(new) = p(old) + v(new)*dt
The problem is in some cases this makes the tension force oscillate. Does anyone have an idea on a better method to use for handling collision?
 
Physics news on Phys.org
  • #2
Have you taken into account damping?
so, for instance,

[tex] \underline v_{new} = (1 - \gamma) \underline v_{old} + \underline F dt/m [/tex]

where [tex]0 < \gamma < 1[/tex] is the damping coefficient (friction or whatever).

This will help prevent irritating oscillations and is generally more physical.

Matt
 
  • #3
I am already using a fourth order damping in order to prevent oscillations and keep it stable, without collision even occurring.

v(i) = v(i) - Omega*Damping(i)

with

Damping(i) = v(i-2) - 4*v(i-1) + 6*v(i) - 4*v(i+1) + v(i+2)

But I still get oscillations despite of the damping in collision, decreasingthe timestep makes the numerical oscillations smaller but ofcourse makes it slower. That's why I'm wondering whether there isn't a better algorithm to calculate collision.
 
  • #4
Could you perhaps describe the situation a bit more? I'm having difficulty understanding what is colliding with what and were.

Generally, collisions are quite tricky to handle numerically. Another method is to assume a spring constant [tex]\kappa \gg 1[/tex] between the colliding objects and treat the collision as a spring. If you put in a maximum range for this interaction then they will only 'collide' once they have come within a certain range of each other, but treating it like a spring will mean that if the two objects are hovering around this range you won't have the force changing so dramatically as they go in and out of contact.

Also, you might want to investigate using a better algorithm when integrating the velocity. What you are using can be quite unstable under oscillations, so perhaps using a Runge-Kutta or predictor-corrector method will be better. (for instance, http://www.library.cornell.edu/nr/bookcpdf/c16-1.pdf )

Matt
 
Last edited by a moderator:
  • #5
The nodes of the elastic yarn are colliding with the supposed completely unelastic metal objects like prewinder, main nozzles etcetera. I mainly get tension oscillations when the yarn is moving over a curved surface, and when the speed of the yarn is larger on the place where it starts moving over the surface than where it leaves the surface. Your suggestion of treating the collision as a spring sounds interesting but could you explain more in detail how this would work?

For the algorithms to calculate the new speed and position I currently use Euler's method as it is quite stable. I have already programmed a Runge-Kutta version of my model but still get tension oscillations in collision. On top of that, the results are not that much more accurate and computation time increases significantly. The reason why higher order methods such as the Runge Kutta method are probably not that much more accurate is that when using a Taylor series of order n, the function in it also needs to be n times differentiable. I don't think the way collision is handled as of now in my program, meets that requirement.
 
  • #6
Ok, so are you saying that the elements stretch? (that is, the nodes are not at a fixed separation)

Although the metal is not springy, the yarn certainly is, so any interaction between the two can probably be modeled quite well with a spring. Of course, you should try other potentials too. The idea is quite simple. You have a node and it is closer to the metal surface than the threshold distance. You then calculate the repelling force between them
[tex]\underline {F_r} = \kappa ( r_t - |\underline {dr}| ) \underline {\hat{dr}}[/tex]
where [tex]\underline {dr}[/tex] is a vector from the surface to the node, [tex]\underline {\hat{dr}} = \underline {dr} / |\underline {dr}|[/tex] and [tex]r_t[/tex] is the threshold range of interaction. Assuming I have not missed out a minus sign somewhere this ought to give you a repelling force between the node and the surface which will give you a collision.

Another advantage of this method is that you now have a normal force between the yarn and the metal. Thus it is possible to calculate the friction force [tex]\underline {F_f} = - \underline {v_t} \mu |\underline F_r | [/tex] where [tex]\mu[/tex] is the friction coefficient between metal and yarn and [tex]\underline {v_t}[/tex] is the velocity along the surface.

Matt
 
  • #7
baffledMatt said:
Ok, so are you saying that the elements stretch?
Yes.

What you proposed sounds interesting, I'll try it, thanks.
 

1. What is the purpose of calculating collision using finite elements?

The purpose of calculating collision using finite elements is to accurately predict the behavior of a system or structure under impact or collision. This can be applied to various fields such as engineering, physics, and computer graphics.

2. How do finite elements help in calculating collision?

Finite elements break down a complex system into smaller, simpler elements, allowing for easier analysis and calculation of collision. These elements are connected through nodes, and the behavior of each element can be accurately predicted using mathematical equations.

3. What factors are considered when calculating collision using finite elements?

When calculating collision using finite elements, factors such as material properties, geometry, and boundary conditions are taken into account. These factors influence the behavior of the system and must be accurately modeled in order to obtain accurate collision results.

4. Can finite element analysis be used for all types of collisions?

Finite element analysis can be used for a wide range of collisions, from simple impacts to more complex collisions such as vehicle crashes or explosions. However, the accuracy of the results may vary depending on the complexity of the collision and the accuracy of the input parameters.

5. How can I validate the results obtained from calculating collision using finite elements?

Validation of the results obtained from finite element analysis can be done through experimental testing. This involves conducting physical tests on the system and comparing the results to the simulated results. If the results match closely, it confirms the accuracy of the finite element analysis.

Similar threads

Replies
7
Views
817
Replies
4
Views
1K
Replies
22
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
7
Views
704
Replies
1
Views
2K
  • Classical Physics
Replies
12
Views
1K
  • Introductory Physics Homework Help
Replies
4
Views
707
  • Introductory Physics Homework Help
Replies
12
Views
187
  • Mechanical Engineering
Replies
2
Views
885
Back
Top