2D packing suffers from low packing fraction

Asked by Huihuang Xia


I am a relative new user of Esys-Particle, and I intend to create a 2D random dense packing in Esys-Particle. But my code always got a packing with a low packing fraction. I have tried to adjust the maximum and minimal radius in my code, when the maximum radius equals the minimal raidus, it got a HCP packing. But when the ratio between the maximum radius and the minimal radius is larger than 1.2, it got a very loose packing. My code is as follows, and thanks in advance.

Huihuang Xia

from gengeo import *

fileName = "2D_RDP"

minPoint = Vector3(-0.005,-0.01,0)
maxPoint = Vector3(0.005,0.01,0)
minRadius = 0.0001
maxRadius = 0.000125

box = BoxWithLines2D(minPoint, maxPoint)

mntable = MNTable2D (
  minPoint = minPoint,
  maxPoint = maxPoint,
  gridSize = 2.5*maxRadius,
  numGroups = 1

packer = InsertGenerator2D(
  minRadius = minRadius,
  maxRadius = maxRadius,
  insertFails = 100000,
  maxIterations = 100000,
  tolerance = 1.0e-6,
  seed = 0

  volume = box,
  ntable = mntable,
  groupID = 0,
  tag = 0

#Write data to files

Question information

English Edit question
ESyS-Particle Edit question
No assignee Edit question
Solved by:
Dion Weatherley
Last query:
Last reply:
Revision history for this message
Best Dion Weatherley (d-weatherley) said :

Hi Huihuang,

GenGeo is known to perform poorly for 2D packings with a narrow range of particle radii. Try increasing the ratio Rmax/Rmin >= 2. This should result in an improved packing of particles.

Note that Rmax==Rmin is treated as a special case in gengeo, wherein in a uniform triangular packing is prescribed.



Revision history for this message
Huihuang Xia (huihuangxia) said :

Thanks Dion Weatherley, that solved my question.