← Back to team overview

yade-users team mailing list archive

Re: [Question #702750]: How to detect the coordinates of each particle?

 

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

    Status: Open => Answered

Jan Stránský proposed the following answer:
Thanks for the MWE.

> But the zMax = max(b.state.pos[2] for b in O.bodies) string of code
didn't solve my problem. It can only get the z-value of the highest
particle before the run, and I need to get the z-value of the uppermost
particles after gravity.

the command gets the zMax value at the time it is executed.
If you execute it before the run, it is evaluated before the run.
If you execute it "after gravity", it is evaluated "after gravity".
Here in your code, it is evaluated inside checkUnbalanced() function if unbalancedForce() < .05 is fulfilled.

Also, max(b.state.pos[2] for b in O.bodies) takes into account all bodies, including facets.
If you are interested only in spheres, you can modify it as:
zMax = max(b.state.pos[2] for b in O.bodies if isinstance(b.shape,Sphere))

Cheers
Jan

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