← Back to team overview

yade-users team mailing list archive

Re: [Question #693506]: How to get tension force of a cohesive contact

 

Question #693506 on Yade changed:
https://answers.launchpad.net/yade/+question/693506

    Status: Open => Answered

Jan Stránský proposed the following answer:
Yes, the same sign w.r.t. tension/compression of
i.phys.normalForce.dot(i.geom.normal) is the same for all contacts.

There is no "direction of compression" (recall action-reaction law).

The direction of contact normal (if it is from body A to body B or from B to A) is arbitrary, more precisely chosen by collider "randomly" (i.e. non-trivially).
But, the value of internal force (tension/compression) is determined by the given normal convention, as forces on bodies are usually computed from i.phys.normalForce, assigned positive to one body, but negative to the other body. The resultant forces on bodies must be independent of the choice A->B / B->A. See e.g. [1], similarly it is done in other laws.

So if you swapped body1 and body2 of the contact (i.geom.normal would be
negated), i.phys.normalForce would need to be negated, too, to preserve
the consistency of formula [1]

cheers
Jan

[1] https://gitlab.com/yade-
dev/trunk/-/blob/master/pkg/dem/ElasticContactLaw.cpp#L116

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.