← Back to team overview

yade-users team mailing list archive

Re: Sign convention contact laws

 

Hi Sergei,

sorry but I cannot get this point:

***
normal = body2_pos - body1_pos,
so we should have
relative_vel = body1_vel - body2_vel
in order to rel_vel>0 if loading and rel_vel<0 if unloading
***

How can you derive that? First the relative velocity is a vector so you
cannot say that has a sign (positive or negative). In case it holds a sense.

My point/question is: you know the sense of the normal vector but you do not
know the sense of the relative velocity (being the latter a relative value,
it depends on the ids of the particles that in turn are absolutely a case).
So if we cannot predict the sense of the relative velocity (please tell me
how to do that if I am wrong) and we have to oppose the motion, which one of
the following lines would be the correct one?

shearForce -= ks*shearVelocity
OR
shearForce += ks*shearVelocity

My question is generally referred to the shear force. If you could help me
to understand this point I will also understand how to apply the viscous
force in the shear direction.

BTW, do you know any simple case to test the correctness of the shear part
as computed in yade? For the normal direction is easy to find the analytical
solution to compare with, but for the shear one I would not know.

Thanks a lot for any explanation,
Cheers, Chiara





On 17 March 2010 19:01, Sergei D. <sj2001@xxxxxxxxx> wrote:

> 16.03.2010 20:41, chiara modenese:
>
> > Second I am looking at the ViscoelasticPM contact law and I see that the
> > total shear force is given by:
> > shearForce -= (phys.ks*dt+phys.cs)*shearVelocity;
> > Why do we account the viscous force with the same sign of the shear one?
> > Should not always oppose the motion?
> >
>
> shearForce is opposite to the movement, so it is opposite to the
> displacement (elastic term) and the velocity of displacement (viscous
> term). So, elastic term and viscous term have the same sign.
>
> For normalForce viscous term is added to the elastic force if loading,
> and substracted if unloading, so we have different paths of
> loading/unloading => energy dissipation.
>
> The signs in ViscoelasticPM is correct (consistent) but not as it should
> be, indeed. It is because we have contact normal from body1 to body2:
>
> normal = body2_pos - body1_pos,
>
> so we should have
>
> relative_vel = body1_vel - body2_vel
>
> in order to rel_vel>0 if loading and rel_vel<0 if unloading.
>
> but in ViscoelasticPM:
>
> rel_vel = body2_vel - body1_vel
>
> so, rel_vel is inversed...
>
> I corrected it in last rev.
>
> --
> Best regards,
> Sergei D.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users<https://launchpad.net/%7Eyade-users>
> Post to     : yade-users@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-users<https://launchpad.net/%7Eyade-users>
> More help   : https://help.launchpad.net/ListHelp
>

Follow ups

References