Data from: Directory of the initial amorphous granular packing configuration and final amorphous granular packing configuration after minimizing using time step delta with an SD minimizer
Data files
Apr 03, 2026 version files 1.04 GB
-
README.md
3.68 KB
-
stepSizeData.zip
1.04 GB
Abstract
This dataset contains the final packing configurations obtained after minimizing a given initial configuration using a time step delta and a steepest descent minimizer. There are 3 levels to the directory tree. The top directory contains the data for each unique energy landscape defined by the packing dimension, particle number, and set of radii. Each directory is named after the packing dimension, particle number, and packing fraction in that order. The first subdirectory contains 1000 random sample configurations in the energy landscape. Each of these directories contains the packing information for one of these 1000 configurations. The third subdirectory contains the packing information (packing dimensions, packing fraction, box size, particle positions, particle radii, and potential power) for the initial random configuration (named "PackingInfo") and each of the final configurations after minimization. These directories are named after the time step used to find them, i.e., Packing_timeStep.
Dataset DOI: 10.5061/dryad.qjq2bvqv3
Description of the data and file structure
This dataset was simulated using pyCudaPacking, found here: https://github.com/SimonsGlass/pyCudaPacking/. All data was collected using quad precision.
Each energy landscape is uniquely defined by the packing dimension, number of particles and particle radii. As such, the data was collected in the following manner:
1) Create a packing: Make a d dimensional packing, with N particles, a polydispersity of 0.25, and a packing fraction of phi. For more information on creating packings, visit the github.
2) Randomize the particle positions: take your packing, and randomize the particle positions using a uniform distribution. This gives a random configuration in the energy landscape. We will call this the initial packing.
3) Save the packing: Save the initial packing using the save function pyCudaPacking. This is creat a dir with 4 DAT files
4) Minimize and Save: Pick a time step. Minimize the initial packing using the minimizeSimpleSD function using that time step. You will additionally need to give it criticalForce argument, criticalForce being the criteria to stop the minimization. After minimization, save the packing. Note: the minimizeSimpleSD function is in the twoStepGradientDescentMinimizer branch of pyCudaPacking.
5) Repeat: Delete the packing and reload the initial packing using the load function. Pick a different time step and repeat step 4.
Here is an example of two itteration:
import pyCudaPacking as pcp
p = pcp.Packing(nDim=d, numParticles=N)
p.setLogNormalRadii(polyDispersity="0.25")
p.setRandomPositions()
p.setPhi(phi)
p.save("initialPacking")
timeStep = 1e-4
p.minimizeSimpleSD(criticalForce = 1e-20, stepSize = timeStep)
p.save("finalPacking_1e-4")
del p
p = pcp.Packing()
p.load("initialPacking")
timeStep = 1e-5
p.minimizeSimpleSD(criticalForce = 1e-20, stepSize = timeStep)
p.save("finalPacking_1e-5")
Files and variables
All files are DAT files stored in a directory tree. Just download stepSizeData.zip file. The root directory holds the directories for each unique energy landscape.
The packing dimension, particle number, and set of radii uniquely define each landscape. As such, the directories are named after these parameters in the form dimension-particleNumber-PackingFraction.
Within these directories are the 1000 random configurations uniformly sampled from the landscape.
Inside each of the 1000 directories are the directories for the initial packing and each final packing. The initial packing is named "PackingInfo," and each of the final packings is named after their time step with the form "Packing_timeStep."
These packing directories can be loaded using the pyCudaPacking load function.
Code/software
The data can be viewed using the latest version of pyCudaPacking found here: https://github.comSimonsGlass/pyCudaPacking/.
Optional is including the npquad package found here: https://github.com/SimonsGlass/numpy_quad
After installation, the packings can be loaded as follows:
import pyCudaPacking as pcp
import numpy as np
import npquad
p = pcp.Packing()
p.load("Path to packing dir")
