Papers
Topics
Authors
Recent
Search
2000 character limit reached

Packing3D: An Open-Source Analytical Framework for Computing Packing Density and Mixing Indices Using Partial Spherical Volumes

Published 10 Jun 2025 in cond-mat.soft, math-ph, and math.MP | (2506.08852v2)

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 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 $108$ 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

Summary

No one has generated a summary of this paper yet.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.

Collections

Sign up for free to add this paper to one or more collections.

Tweets

Sign up for free to view the 2 tweets with 2 likes about this paper.