What does this warning mean when trying to create a randomDensePack?

Asked by Vinícius Godim

pred = pack.inSphere( (0,0,0), 1)
spheres=pack.randomDensePack(pred,spheresInCell=50,radius=.1)

Output:
"No suitable packing in database found, running PERIODIC compression
/usr/lib/x86_64-linux-gnu/yade/py/yade/pack.py:296: FutureWarning: The default behavior will change; specify returnSpherePack=True for the new behavior, and False to get rid of this warning (your code will break in the future, however). The returned SpherePack object can be added to the simulation using SpherePack.toSimulation()
  warnings.warn('The default behavior will change; specify returnSpherePack=True for the new behavior, and False to get rid of this warning (your code will break in the future, however). The returned SpherePack object can be added to the simulation using SpherePack.toSimulation()',category=FutureWarning)"

Especifically the " running PERIODIC compression" part, how is this compression performed? Can I run this sort of compression method manually myself?

Question information

Language:
English Edit question
Status:
Answered
For:
Yade Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Jérôme Duriez (jduriez) said :
#1

Hi,

Upon calling randomDensePack() function, YADE searches (somewhere in your computer) if you already made the same call (e.g. same attributes) to this function.

If yes, YADE will just take the same packing, which will save time.

If not, YADE generates this warning and does the job behind randomDensePack() function, ie generating a numerical packing through isotropic compression of an initial gas-like set of particles, until getting a solid-like set of particles.

Using the spheresInCell attributes means you're interested in periodic boundaries conditions [1], hence randomDensePack will do this isotropic compression under such conditions, hence the "running PERIODIC compression part"

In the end, randomDensePack() is just a black box for a YADE simulation you could obviously do manually yourself. But it's an open-source black box, thus you can check all relevant parameters from randomDensePack() code [2] if you're interested.

Jérôme

[1] https://yade-dem.org/doc/yade.pack.html?highlight=spheresincell#yade.pack.randomDensePack
[2] https://github.com/yade/trunk/blob/670694b60d31d914b36e725f2aaf758bf64b2ebd/py/pack/pack.py#L454

Can you help with this problem?

Provide an answer of your own, or ask Vinícius Godim for more information if necessary.

To post a message you must log in.