← Back to team overview

yade-users team mailing list archive

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.