milldem: A Cross-Platform Soft-Sphere DEM for Tumbling-Mill Charge Motion and Size-Consistent Net Power
The discrete element method (DEM) is the standard tool for simulating charge motion and power draw in tumbling mills, but the mature open engines that do it well (LIGGGHTS, YADE, the LAMMPS granular package) are C++ codes whose build on Windows effectively requires a Linux subsystem, which is a real barrier for reproducible, pip-installable teaching and prototyping. We present milldem, a soft-sphere DEM for tumbling mills written in pure NumPy with an optional Numba just-in-time path and an optional Torch-CUDA lane, that installs and runs anywhere Python does, with no C++ toolchain and no Linux subsystem. It implements the standard contact physics verbatim from the granular-DEM literature (linear-Hookean and Hertzian normal forces, a Cundall-Strack tangential history spring, Coulomb friction, and restitution-calibrated damping), an O(N) spatial-hash neighbour search, and a velocity-Verlet integrator with a contact-time-bounded step. It exposes two routes: a fast two-dimensional disc slice for a qualitative charge-shape and motion-regime read, and a thin-three-dimensional-slab route, an axial slab with periodic axial boundaries that resolves the force chains carrying the charge lift, for net power. The central contribution is that the slab route makes the net power size-consistent: because a single 2D disc slice sets its lift as a size-independent absolute height, its power-to-model ratio drifts systematically with mill diameter, whereas the 3D slab, over a reproducible sweep of four mill diameters (3-6 m) and four fills (J=0.20-0.42), holds its net power within the validated band of the classical Hogg-Fuerstenau model (all eight configurations have a DEM-to-model ratio in [0.77, 1.26], mean 1.06) and keeps the size ratio within a factor of 1.51. With the small particle budget used, the ratio scatters by about ±0.2: the agreement is a band around a classical analytical model, not a fit to plant measurements. Package on PyPI (pip install milldem): https://pypi.org/project/milldem/ . Source code and reproducible artifacts (MIT): https://github.com/fsantibanezleal/CAOS_MillDEM .
Authors
- Felipe Santibañez-Leal (ORCID: https://orcid.org/0000-0002-0150-3246)
Institutions
- Open University of Cyprus (CY)
Publication Details
- Journal
- Zenodo (CERN European Organization for Nuclear Research)
- Published
- 2026-09-18
- DOI
- https://doi.org/10.5281/zenodo.21511525
- Primary Topic
- Mineral Processing and Grinding
- Type
- article
- Field-Weighted Citation Impact
- 0.00