yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #12774
Re: [Question #293955]: How to generate dense packing of aggregates
Question #293955 on Yade changed:
https://answers.launchpad.net/yade/+question/293955
VG posted a new comment:
Thanks Jan!
So after using TriaxialStressController in compress.py, I get the position of the walls by using O.bodies[].state.pos.
This gives me the dimension and location of the granular sample.
For example, starting from an initial dimension of (15,15,15), I get to the following locations for the walls:
0 -> Vector3(1.9603017656924078,7.5,7.5)
1 -> Vector3(13.213873202175382,7.5,7.5)
2 -> Vector3(7.5,1.0408600478483976,7.5)
3 -> Vector3(7.5,12.620020625453774,7.5)
4 -> Vector3(7.5,7.5,2.0193261962347355)
5 -> Vector3(7.5,7.5,13.575093096100462)
Now, I am trying to use this information in simulation.py to define the
size of the periodic cell and also to translate the granular sample so
that it lies perfectly within the periodic cell.
For translation, I was trying to use
for s in sp:
s.state.pos[0] = s.state.pos[0] - 1.9603017657
s.state.pos[1] = s.state.pos[1] - 1.04086
s.state.pos[2] = s.state.pos[2] - 2.01932
which doesn't work.
Then, I noticed from the Yade user manual that there is a function translate((Vector3)arg2) which translate all spheres by given vector. I tried using it as:
sp.translate(-1.96030,-1.04086,-2.01932)
but this gives me the error: AttributeError: 'list' object has no
attribute 'translate'. Mostly, I am using it wrong. Could you please
point me to the correct usage ?
Thanks
Varun
--
You received this question notification because your team yade-users is
an answer contact for Yade.