Packing3D: An Open-Source Analytical Framework for Computing Packing Density and Mixing Indices Using Partial Spherical Volumes
Authors:
Freddie Barter,
Christopher R. K. Windows-Yule
Abstract:
Accurate quantification of local packing density and mixing in simulations of particulate systems is essential for many industrial applications. Traditional methods which simply count the number of particle centres within a given volume of space (cell) introduce discontinuities at cell boundaries, leading to unreliable measurement of packing density. We introduce Packing3D, an open-source Julia pa…
▽ More
Accurate quantification of local packing density and mixing in simulations of particulate systems is essential for many industrial applications. Traditional methods which simply count the number of particle centres within a given volume of space (cell) introduce discontinuities at cell boundaries, leading to unreliable measurement of packing density. We introduce Packing3D, an open-source Julia package providing analytic, partial-volume calculations for spheres intersecting Cartesian and cylindrical meshes. Our goals were to (1) eliminate boundary-artifact jumps, (2) maintain high throughput on large datasets, and (3) deliver standard mixing metrics via a unified API. We derive closed-form solutions for single, double and triple spherical-cap intersections, plus sphere-cylinder overlaps. A short-circuit bounding-sphere test shortens computations: fully inside or outside spheres are handled in $\mathcal{O}(1)$ time, and only near-boundary spheres invoke the analytic kernels. We implement efficient mesh-generation routines, principal-cell indexing, and data-splitting functions for time-series analyses. Performance and accuracy were validated against simple cubic and face-centered cubic lattices and via boundary-shift continuity tests. Packing3D converges exactly to theoretical lattice densities, eliminates discontinuities at sub-particle resolution, and processes up to $10^8$ sphere-cell intersections per second in single-threaded Julia with linear scaling in particle count. Memory usage remains modest (40 B per particle, 48 B per cell). Packing3D provides researchers with continuous, reproducible volume-fraction fields and robust mixing indices at high performance, facilitating sensitivity analyses and optimisation in granular process engineering. The package is freely available at https://github.com/fjbarter/Packing3D.jl
△ Less
Submitted 11 June, 2025; v1 submitted 10 June, 2025;
originally announced June 2025.
Shaping Segregation: Convexity vs. Concavity
Authors:
S. Gonzalez,
C. R. K. Windows-Yule,
S. Luding,
D. J. Parker,
A. R. Thornton
Abstract:
Controlling segregation is both a practical and a theoretical challenge. In this Letter we demonstrate a manner in which rotation-induced segregation may be controlled by altering the geometry of the rotating containers in which granular systems are housed. Using a novel drum design comprising concave and convex geometry, we explore a means by which radial size-segregation may be used to drive axi…
▽ More
Controlling segregation is both a practical and a theoretical challenge. In this Letter we demonstrate a manner in which rotation-induced segregation may be controlled by altering the geometry of the rotating containers in which granular systems are housed. Using a novel drum design comprising concave and convex geometry, we explore a means by which radial size-segregation may be used to drive axial segregation, resulting in an order of magnitude increase in the axial segregation rate. This finding, and the explanations provided of its underlying mechanisms, could lead to radical new designs for a broad range of particle processing applications.
△ Less
Submitted 23 October, 2014;
originally announced October 2014.