creating a cloud of cuboids

Asked by rhaven

Hi There,
I am trying to set up a case where I obtain a compressed packing of aggregates. Where the aggregates can have a size distribution and aspect ratio. My initial thought was the following:

- Create a loose packing of cuboids
- fill cuboids with spheres using randomdensepack
- compress

However, so far I havent found a method which can create a loose packing of cuboids. Ideally something like makecloud but for cuboids.

My second thought is the following:

- Create a few clumps using randomdensepack and cuboid predicates
- fill a cube with these clumps using makeclumpcloud
- compress

To sumarize my question is the following
Is there a way to create a loose packing of cuboids?
If no: is the second path a good way to go, is there perhaps a better way

many thanks
Jesse

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Jan Stránský
Solved:
Last query:
Last reply:
Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#1

>Is there a way to create a loose packing of cuboids?

Yes. Create a loose packing of spheres with makeCloud, then replace the spheres by their inscribed cubes. They will be non-overlapping by definition.
Bruno

Revision history for this message
rhaven (rhavenj) said :
#2

thank you Bruno for your reply. this would work if I only wanted cubes, but I need to generate elongated cuboids, not only cubes. Ellipses would also work.

Revision history for this message
rhaven (rhavenj) said :
#3

Hello,
Ive made small progress with method 2 and creating the clumps which I will later use with makeClumpCloud,
I generate a small aggregate using makeCloud. The result looks like
http://pasteall.org/pic/index.php?id=115961
I then generate a clump from these spheres and export.

However when I import the geometry again it looks like this
http://pasteall.org/pic/index.php?id=115962

Is this occurring due to periodicity?
How might I generate a small aggregate?

thank you in advance
Jesse

Revision history for this message
Best Jan Stránský (honzik) said :
#4

Hi Jesse,
yes, periodicity might be the reason, but it is difficult to say without the code. Try
for b O.bodies:
   b.state.pos = O.cell.wrapPt(b.state.pos)
before saving

Back to Bruno's answer, I see no problem there. If you first generate loose packing of spheres, then you can replace each sphere by any (smaller) shape and will get loose packing of whatever (elongated cuboids, ellipsoids...).

cheers
Jan

Revision history for this message
rhaven (rhavenj) said :
#5

Hi Jan,
thanks, that works perfect!

Revision history for this message
rhaven (rhavenj) said :
#6

Thanks Jan Stránský, that solved my question.