yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #19753
Re: [Question #680868]: How to get resultant contact force of each sphere
Question #680868 on Yade changed:
https://answers.launchpad.net/yade/+question/680868
Jan Stránský posted a new comment:
Hello,
(I know the aswer is late, but I leave it here for future reference)
there might be 2 issues:
1) sum not only i.phys.nomralForce, but i.phys.normalForce +
i.phys.shearForce
2) summation must be done with correct sign (the same i.phys.normalForce
acts on 2 dirrefent bodies with opposite orientation
### MWE
def i2f(i,b):
sign = +1 if b.id == i.id2 else -1
return sign * (i.phys.normalForce + i.phys.shearForce)
for b in O.bodies:
print
print b.id,b.shape
f1 = O.forces.f(b.id)
f2 = sum((i2f(i,b) for i in b.intrs()), Vector3.Zero)
df = (f1-f2).norm()
print f1
print f2
print df
assert df < 1e-9
###
cheers
Jan
--
You received this question notification because your team yade-users is
an answer contact for Yade.