Spherical packing of binary mixtures in a cylindrical container

Asked by Soheil Safari

Hello everyone;

Following my previous question (https://answers.launchpad.net/yade/+question/706483) regarding spherical packing in a cylindrical container, we are using binary mixture particles in experiments with different fine particle percentages. (Binary mixtures are packings that are composed of two different components, A (coarse grain) and B (fine grain)).

It should be mentioned that we mix the particles based on their weights in the lab. So I am looking for a binary mixture of spherical packing in a cylindrical container which could be created based on the A and B particle weights percentages.

Here is my poor command for just mono-sized packing:

###
from __future__ import print_function
from yade import pack, geom
from builtins import range
from yade import export

pred = pack.inCylinder((0,0,0),(0,0,0.2),0.20)
sp = pack.randomDensePack(pred,radius=0.01,spheresInCell=300)
O.bodies.append(sp)
facets = geom.facetCylinder((0,0,0.1),0.2,0.2,wallMask=2|4)
O.bodies.append(facets)

export.text('name.txt')

###

I am grateful for any hints or insights into this issue.

Many thanks in advance.

Best regards,
Soheil

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Karol Brzezinski
Solved:
Last query:
Last reply:
Revision history for this message
Karol Brzezinski (kbrzezinski) said :
#1

Hi Soheil,

I recommend using the makeCloud() [1] method which allows you to create packing with a prescribed size distribution (see the example [2[). Please note to set distributeMass=True in your case.

This method creates loose packing, so you need to create 'higher' packing, and allow the particles to fall under gravity.

Cheers,
Karol

[1] https://yade-dem.org/doc/yade.pack.html?highlight=psd#yade._packSpheres.SpherePack.makeCloud
[2] https://answers.launchpad.net/yade/+question/681691

Revision history for this message
Soheil Safari (soheilsafari) said (last edit ):
#2

Hi Karol,

Thank you very much for your kind reply and valuable information.

Does prescribed size distribution give the size distribution of particles based on their weights? or based on their numbers?

How is it possible to put this packing in a cylindrical container and How I should allow the particles to fall under gravity?

I need the particles final configuration using export.text('name.txt').

Sorry, I am new in Yade and programming.

Best regards,
Soheil

Revision history for this message
Best Karol Brzezinski (kbrzezinski) said :
#3

Hi Soheil,

As you can find in the documentation [1]
"distributeMass (bool) – if True, given distribution will be used to distribute sphere’s mass rather than radius of them."

So if you set distributeMass=True , you obtain PSD based on the particles' weight.

The makeCloud() can only create loose packing inside a box shape. So you need to create a container much higher than your expected sample. Then generate a cloud inside this container and allow the particles to fall.

Since you are beginning with Yade, I recommend reading first chapters of documentation (Introduction, Tutorial, DEM formulation, User's Manual), at least the Tutorial [3]. You can find there most of the answers (e.e., gravity deposition example [4]).

Cheers,
Karol

[3] https://yade-dem.org/doc/tutorial.html
[4] https://yade-dem.org/doc/tutorial-examples.html

Revision history for this message
Soheil Safari (soheilsafari) said :
#4

Thanks Karol Brzezinski, that solved my question.

Revision history for this message
Soheil Safari (soheilsafari) said :
#5

Thank you very much once again for your kind reply and useful hints Karol.

I will check the link and tutorials.

Best regards,
Soheil