Finding a way to pack two concentric cylinders of differing radii with spheres of differing radii
I am fairly new to Yade in general so any help at all would be most appreciated!
I need to construct two concentric cylinders of differing radii with each having their own collision detection and having spheres of randomized radii (with a certain relFuzz) fill in the OUTER cylinder while the inner cylinder remains unoccupied. I also want to specify number of spheres (I think I can use the pack.Spherepack?) so I can partially fill the outer cylinder volume. How do I only fill the outer cylinder using the code below whilst randomly varying the spheres' radii? How do I update InteractionLoop to help with facet-sphere collision with two cylinders?
Here is a snapshot of code:
from yade import pack, qt, export
cylinder_
cylinder_
sp=pack.
#These are taken from another code so I commented them out for now...
#diameter=
#cum=[0.
sp.makeCloud(
sp.toSimulation()
yade.qt.
yade.qt.View()
O.engines=[
ForceResetter(),
InsertionSortC
InteractionLoop(
[Ig2_
[Ip2_
[Law2_
),
NewtonIntegrat
PyRunner(
]
O.dt=.5*
#I commented out the Harmonic Motion Engine at the moment
def iterations():
O.stopAtIter
export.
1. How do I enable spherical packing for the outer cylinder and still have two facet-sphere collisions on the interface between both the outer cylinder walls and the outside wall of the inner cylinder?
2. How do I randomly generate sp.MakeCloud to give me a randomized spherical radius with a specified number of spheres (say 200)?
Thank you so much for any input!
Question information
- Language:
- English Edit question
- Status:
- Answered
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply:
Can you help with this problem?
Provide an answer of your own, or ask Kevin for more information if necessary.