# yade-users team mailing list archive

## Re: [Question #169689]: Velocity gradient

```Question #169689 on Yade changed:

> Now the other correction we have is either hidden in their equations,
> due to the difference between fluctuational and total velocity, or due a
> mistake in a derivation on one side.
The first is true. In Radjai, the contact laws must compute the absolute
In Yade we assign the absolute velocity in Newton, so that in contact
laws we don't care summing two terms.
In turn we have to add velG*pos and remove it at the next time-step.

You can see that by rewriting the operations differently. We have now:

v+=VG(t-1/2)*v(t-1/2)*dt
v+=(VG(t+1/2)-VG(t-1/2))*pos(t)

Due the fact that v(t-1/2)*dt=pos(t)-pos(t-1), it is equivalent to:

v+= -VG(t-1/2)*pos(t-1) + VG(t+1/2)*pos(t)

i.e. we remove the affine velocity of the previous step from the
absolute velocity (it leaves the fluctuation only) and we add the affine
velocity of the next step.
We are exactly equivalent I think.

When you say Radjai applies only one correction, it is not true. He has
only one correction in Newton, but he has another one in contact laws.
We have two in Newton but none in contact laws.
Since one body's velocity will be used for many contacts, it seems more
optimal to compute it once in Newton. I don't think we have to change
anything.

--