Skip to content

Filling cylinder will spheres following PSD upto a certain depth

I am a beginner with Yade and am working on creating a model for a circular tank filled with soil particles up to a specified height. The particles must adhere to a defined particle size distribution (PSD) and achieve a target porosity of 0.47. The code I am using is attached:

psd_and_triax.py

My questions are:

  1. Is there a method in Yade to directly generate spherical particles inside a cylinder while following the PSD and achieving the desired porosity of 0.47?
  2. I have been using the makeCloud method to create spheres in a cube and then filter them into a cylindrical shape. However, I face an issue: when generating spheres within a smaller cube (e.g., 0.1x0.1x0.1) and cropping them to a cylinder with a radius larger than the cube, the resulting shape does not conform to the cylinder—it remains as a cube. My goal is to speed up the initial packing process and crop the spheres into a larger cylinder. Is this feasible with the makeCloud approach?
  3. If I want to use a PSD, can I still utilize the randomDensePack method?

Thank you!

Faheem Shah