← Back to team overview

yade-users team mailing list archive

Re: Sign convention contact laws

 

Just to be one hundred per cent sure, I ask if the following lines do the
same thing according to the sign convention.

When we use ScGeom we find:

Vector3r f = -phys->normalForce - shearForce; (NEGATIVE)
ncb->forces.addForce(id1,f); (POSITIVE -> compression)
ncb->forces.addForce(id2,-f);
ncb->forces.addTorque(id1,c1x.Cross(f));
ncb->forces.addTorque(id2,-(c2x).Cross(f))

When we use Dem3DofGeom we have:

Vector3r f = phys->normalForce + shearForce; (POSITIVE)
applyForceAtContactPoint(<bla,bla>)
that in principle does:
addForce(id1,force,rb); (POSITIVE -> compression)
addForce(id2,-force,rb);
addTorque(id1,(contactPoint-pos1).Cross(force),rb);
addTorque(id2,-(contactPoint-pos2).Cross(force),rb);

Saying that "it is better do define interaction force as it applies on id2",
you mean, in the case of ScGeom:

Vector3r f = phys->normalForce + shearForce; (POSITIVE)
ncb->forces.addForce(id1,-f); (NEGATIVE -> compression)
ncb->forces.addForce(id2,f); (POSITIVE -> tension)
ncb->forces.addTorque(id1,-c1x.Cross(f));
ncb->forces.addTorque(id2,(c2x).Cross(f))

right?
So it is clear that the convention between ScGeom and Dem3DofGeom is
different, but why? The normal vector in both cases is defined in the same
way. Where is the difference that matters in terms of signs? It is just to
know, at the moment I am using ScGeom but it is useful to understand such
basic things and where they do come from. Actually I had a look at
Dem3DofGeom but is quite hard to understand although it is probably better
defined than ScGeom. It would be great to have the same convention because
this could cause a bit of confusion at least at a first look.

Thanks a lot,
Chiara







2010/3/17 Václav Šmilauer <eudoxos@xxxxxxxx>

> > Simple question about the sign convention used in contact laws.
> > For the total shear force we use the sign minus for the incremental
> > way, why not plus? Is this related to the shear direction?
> https://bugs.launchpad.net/yade/+bug/493102 It is a bug that we should
> solve at some point. I think it is better do define interaction force as
> it applies on id2 (since then normal*force=positive for tension).
> > 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?
> I am not sure if this is not actually related to the first question.
> Sega will give you the anwer, since he wrote that code and he never
> commits code that is not perfect.
>
> Cheers, Vaclav
>
>
>
> _______________________________________________
> 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