← Back to team overview

yade-dev team mailing list archive

Re: moment calculation and rotational speed problem

 

Hello

Is the pseudo code below for developping a new contact law? It is probably useless since there is one law doing what you need already : the "CohesiveFrictional" class.

There are probably two mistakes in your code :
1/ For sure : what you define as Fs= - Ks*double_ds is in fact a dFs (an increment), not the total force. If you check the current contact laws, you will see something like Fs = Fs - Ks*double_ds. With your equations, Fs is in fact a viscous force, proportional to the current relative velocity.

2/ Not sure : the fact that rotational velocity is constantly increasing may be due to a sign error somewhere (e.g. in the normal orientation), or perhaps an inapropriate timestep (too large). I don't feel like the first mistake could produce this result.

Bruno


Nice Man a écrit :
Hi,Dear all.
I would like to use cohesive contact model to simulate a rock, the small rock particle is modeled by cementing them and the force assumed by the cementing is cohesive force--which can assume normal and shear force. but I meet problem in moment calculation and the rotational speed calculation: just for 2D case ( 'x' is cross(), Normal_directior_unit is from P1 center to P2 center ): vector_relative_velocity=(Particle1.v+Particle1.omega x (Particle1.r*Normal_directior_unit) ) -(Particle2.v+Particle2.omega x (Particle2.r * -Normal_directior_unit) ) ; vector_relative_shear_velocity=(vector_relative_velocity * vector_Shear_Direction) * vector_Shear_Direction; double_relative_shear_velocity=(vector_relative_velocity * vector_Shear_Direction)
double_ds=double_relative_shear_velocity*dt;
Fs= - Ks*double_ds;
vector_Fs=Fs* vector_Shear_Direction;
Now moment is : delta_Moment= (Particle1.r * Normal_directior_unit) x vector_Fs; //(Fn is not calculated here,and also since Fn pass through the center of the mass, so it has no effect on the rotation) Total_moment += delta_Moment; so
Rotational_velocity += ( Total_moment / Inertia)*dt;
My problem met is , after several iterations, my rotational velocity reachs 1e4 rad/sec, or even more!!! this is totally incorrect. So what is the calculation problem in this cohesive condition? ? or can I do the moment calculation and rotational speed calculation like this since there is cementing cohension between particles and the cohension will strict the free to rotate of the particle now? In the CohesiveFrictionalContactLaw, I see the moment calculation. need your help. Thanks in advance. Kan
------------------------------------------------------------------------

_______________________________________________
Mailing list: https://launchpad.net/~yade-dev
Post to     : yade-dev@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~yade-dev
More help   : https://help.launchpad.net/ListHelp


--

_______________
Chareyre Bruno
Maitre de conference

Grenoble INP
Laboratoire 3SR - bureau E145
BP 53 - 38041, Grenoble cedex 9 - France
Tél : 33 4 56 52 86 21
Fax : 33 4 76 82 70 43
________________




Follow ups

References