← Back to team overview

yade-users team mailing list archive

Re: Questions on equations (contact laws, velocity, libraries)


Q2. Please help me understand why the angle is multiplied by 0.5 in the equation to calculate the rotation of shear displacement in SCG/CohesiveFrictional Law: angle = dt*0.5*currentContactGeometry->normal <http://beta.arcig.cz/%7Eeudoxos/yade/doxygen/d1/d50/classSpheresContactGeometry.html#51c56fa736132889c4afa86047c92ae5>.Dot(Body::byId <http://beta.arcig.cz/%7Eeudoxos/yade/doxygen/d7/d80/classBody.html#091394366c2647e1fabe183e01708f67>(id1)->state->angVel+Body::byId <http://beta.arcig.cz/%7Eeudoxos/yade/doxygen/d7/d80/classBody.html#091394366c2647e1fabe183e01708f67>(id2)->state->angVel); axis = angle*currentContactGeometry->normal <http://beta.arcig.cz/%7Eeudoxos/yade/doxygen/d1/d50/classSpheresContactGeometry.html#51c56fa736132889c4afa86047c92ae5>;

angle = normal*mean_angVel*dt

Q3. The position/velocity integration follows the 2nd order explicit method, as was upgraded by Bruno :). The velocity and angular velocity are in the (t+dt/2) timestep, while the position & acceleration (also rotation) are in the (t) time step. But it is not adjusted back to the current time step: v(t) = v(t-dt/2) + v(t+dt/2). Ommitting this will make the velocities in the simulation ahead of time by dt/2? Is this alright? Why?

1) At iteration "N", v(N)=v( (N-1/2).dt ) , not N+1/2 as you suggest. Consequently v(t) = v(t-dt/2) + v(t+dt/2) cannot be computed : v(t+dt/2) is unknown.

2) Yes, v(t) is not defined, but we don't need that (except for some viscous laws, as explained by Vincent).
Mailing list: https://launchpad.net/~yade-users
Post to     : yade-users@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Chareyre Bruno
Maître de Conférences

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