SASEL Lab
SASEL Lab
SASEL Lab
A physics-based digital twin of dry protein fractionation, carrying whole seed through RF conditioning, hammer milling and centrifugal air classification in one coupled pipeline.
ProteinProcessIO is a physics-based simulation platform for dry protein fractionation, the process that turns a pulse crop into a protein-enriched flour without solvents. It models three stages in sequence, radio-frequency conditioning of whole seed, hammer milling into flour, and centrifugal air classification of that flour into protein-rich and starch-rich streams, and it couples them so that the output of one stage becomes the physical input to the next.
The platform runs as a desktop application with an interactive 3D viewport, so a researcher can assemble a machine, run the process on it, and watch the particle population evolve through every component of the plant.
Dry fractionation works because protein bodies and starch granules differ in size and density, which gives them different inertia in a moving airstream. Protein bodies in pulses sit around 1 to 5 microns and starch granules around 15 to 40, so a classifier that cuts cleanly at roughly 20 to 25 microns sends protein one way and starch the other. That cut size is the whole game, and it is difficult to reach.
A gravity-driven zigzag classifier operates at one g and bottoms out somewhere around 30 microns. ProteinProcessIO therefore models a centrifugal wheel classifier, where a cage of radial blades spinning between 3,000 and 10,000 rpm generates 1,000 to 7,000 g at the rim. The simulator resolves the balance that sets the cut: centrifugal force throwing a particle outward against aerodynamic drag pulling it inward through the wheel, which yields a cut size proportional to the square root of air viscosity and radial velocity divided by density difference, angular velocity squared and wheel radius. Every operating choice a plant engineer can make, wheel speed, air rate, wheel diameter, appears in that expression, and the simulator lets each be varied and its effect observed.
The three stages exchange the quantities that physically matter. RF conditioning reports outfeed moisture, outfeed temperature, throughput and residence time, and those set the feed condition of the mill. The mill reports the full particle size distribution of its flour, along with product temperature, moisture, throughput and power draw, and the classifier separates exactly that distribution. A change to electrode gap in the first stage propagates through milling behaviour and lands as a different protein yield at the end.
Feedstocks carry their composition through the chain. Yellow pea, faba bean, chickpea, lentil, wheat and oat each have their own breakage properties, densities and protein, starch and fibre fractions, so a run reports how a specific crop behaves in a specific machine.
A simulator that reports temperatures and particle sizes leaves the researcher to judge whether a recipe was any good. ProteinProcessIO closes that gap with a desirability model drawn from the food science literature. Five dimensions are scored from zero to one and combined as a geometric mean: thermal treatment, flavour improvement through lipoxygenase inactivation, protein preservation judged against the denaturation onsets of vicilin and legumin, moisture retention in the intact seed, and energy consumed per kilogram processed. The result is a single number that answers the question the researcher actually asked.
That score can then be optimized. A grid search sweeps electrode gap against belt speed on any machine, and where a CUDA device is present the platform records the simulation forward pass on a Warp tape, backpropagates through the physics kernels, and improves the recipe by gradient descent. The digital twin is differentiable, so it can be asked for the best settings directly.
ProteinProcessIO was developed at the SASEL Lab, McGill University, with concept work starting in 2023 and public release in 2025. It is offered free for research and academic use, and ships as a Windows desktop application.
The first stage models a GP-15 radio-frequency oven treating whole seed on a moving belt. Each timestep advances a ten-step loop: material advects with the belt under a Van Leer TVD scheme, the RF field is solved for its squared magnitude, volumetric power follows from that field and the dielectric loss factor, temperature advances with the RF source and the latent-heat sink, moisture advances under Fickian diffusion with temperature-dependent coefficients and evaporation kinetics, dielectric and thermal properties are updated from the new state, the controller acts, results are logged, and Lagrangian tracer particles are carried along the belt and sampled against the Eulerian fields.
The field solve uses a finite-difference Laplace solver with Jacobi and successive over-relaxation options, wrapped in a power-constrained voltage iteration so the oven delivers the power it is set to deliver. Electrode perforation and fringe-field corrections adjust the ideal parallel-plate picture toward the real electrode. The timestep adapts from CFL and Courant limits each step.
Control is modelled as the machine actually behaves. A PLC controller drives electrode gap against moisture high and low reference bands, manages recycle and holds temperature, while a safety monitor watches for arcing and can force a lockout. Because the seed coat stays intact, the stage behaves as thermal conditioning with modest moisture loss, and the model is built around that behaviour.
Milling is resolved as individual particles meeting rotating hammers. The impact kernel traces the hammer tips through their circular sweep and detects collisions, computing energy transfer through a coefficient of restitution. Fine particles are treated with a size-dependent impact efficiency, since they follow the airflow around the hammer and are cushioned from it, which is what keeps a simulated mill from grinding indefinitely toward zero.
Breakage follows a selection and breakage pair. A selection function gives the probability that an impact of a given energy breaks a particle of a given size, above a minimum energy threshold. Fragments are then drawn from a Gaudin-Schuhmann daughter distribution with separate exponents for coarse, medium and fine regimes, and a single impact can yield several daughters. Breakage is applied in place on particles that actually received an impact, which keeps the kinetics tied to the mechanics.
Discharge through the screen is a stochastic geometric test. A particle must lie within the screen arc, at the screen radius and inside its axial bounds. Passage probability combines open area, a size term that holds at unity below a size ratio threshold and then tapers as the fourth power of the remaining span, and a velocity term that penalises particles moving too fast to turn into an aperture. Near-aperture particles are therefore strongly retained and broken further, which reproduces real screen selectivity.
Runs terminate on physics. Alongside a fixed duration, the convergence detector will stop when a target d50 is reached, when a target mass has discharged, when all fed material has cleared for a batch, or when d50 and throughput hold steady within a coefficient of variation over a rolling window.
The classifier is simulated as a two-phase system: an air velocity field and a Lagrangian particle population moving through it. Drag uses Schiller-Naumann for spherical particles and Haider-Levenspiel where sphericity matters, with gravity corrected for buoyancy, inelastic wall collisions carrying restitution and friction, centrifugal effects in the wheel and cyclones, and turbulent dispersion through the zigzag stages. Coupling to the flow field is available one-way, or two-way with particles exerting momentum sources back on the fluid, over a Navier-Stokes solver offering k-epsilon and Smagorinsky turbulence closures.
Particles are tracked by zone through the whole plant, roughly twenty-five of them, from venturi inlet and throat, through the zigzag stages where deflector plates create low-velocity eddies that give each particle repeated chances to separate by terminal velocity, into the wheel housing, then to the fines outlet through the wheel hub or the coarse hopper below it, onward through primary, secondary and tertiary cyclones with their dust outlets, and finally to the bag filter. Two topologies are supported: the full venturi and zigzag pre-classification chain ahead of the wheel, and a direct junction that feeds the wheel alone. Every dimension used in the physics is read from the assembled geometry.
Performance is reported the way a classifier is actually assessed. The tracked population yields a grade efficiency curve, the collected fraction as a function of particle diameter, and the d50 cut size is recovered from where that curve crosses one half.
The RF stage is calibrated against recorded PLC data from GP-15 runs on whole yellow pea. A differential evolution optimizer fits oscillator coupling factor, evaporation rate and electrode drive speed so the simulated trajectories track the recorded outfeed temperature, anode current and actual electrode gap. Loss terms are normalised by the variance of each recorded signal so the weights remain interpretable, the final quarter of each trajectory is weighted more heavily to constrain wind-down behaviour, and a sensitivity analysis is run at the optimum. Milling defaults are anchored to published yellow pea flour data, where a 0.75 mm screen produces a median particle size near 23.7 microns.
The repository carries 543 test functions across unit and integration suites covering fluid, geometry, kinetics, particles, visualization and full-pipeline behaviour.
The physics is written twice, once as NVIDIA Warp kernels for the GPU and once as vectorised NumPy, and the platform selects between them at import. A machine with a CUDA device runs the compiled kernels; a machine without one runs the same simulation on the CPU. That choice is what allows the platform to ship as an installable Windows desktop application while remaining a GPU-accelerated solver where the hardware allows.
Geometry is treated as the source of truth. More than sixty parametric component and assembly modules describe hoppers, screw feeders, blowers, venturi eductors, zigzag and wheel classifiers, cyclones, airlocks, ductwork, dampers, bag filters and instrumentation, each generating its own mesh and exposing its own dimensions. The simulators read those dimensions directly, so the geometry a researcher sees in the viewport is the geometry the physics runs on.
Tech Stack
Categories