MaximaLabs
Back to gallery
Reference model

Grinding circuit: what a size reduction costs — a PENG-ROBINSON process flowsheet

Ore at 1 mm is ground to a 100 micron P₈₀ and screened at 150 microns. The number the example exists for is the 172.3 kW the mill draws, and it is not a parameter — it is Bond's Law computed from the size reduction itself: W = 10 x Wi x (1/sqrt(P₈₀) - 1/sqrt(F₈₀)) with sizes in microns gives 9.57 kWh/t at a Bond work index of 14, and 18 t/h of ore turns that into 172.3 kW. Halve the product size again and the law's inverse-square-root shape is what tells you the power does not halve — comminution is where a mineral plant's electricity goes, and this is the relationship that decides it. The screen then splits the ground product 27.9% oversize / 72.1% undersize, and it genuinely sorts: the oversize leaves at a 247 micron mean against the undersize's 81 microns, from one 100 micron feed. The cut is applied to the real size distribution (GSD 2.0), not as a specified split fraction. Open circuit, and that is a limitation rather than a choice. A real grinding circuit recycles the screen oversize back to the mill, and it cannot be drawn here: a mixer flashes its outlet and drops the stream's solids payload, so the recycled ore arrives at the mill with no particle size and the mill rejects it. The same limitation stops a cyclone feeding a baghouse in series (see the dust-collector example). Stated here because an open circuit reports a lower circulating load and a coarser product than the closed circuit a plant actually runs.

10 views 0 forks

ORE
MILL
feed
over
under
Screen
Oversize
Product
What this showcases
  • Rigorous PENG-ROBINSON thermodynamics, solved by the same engine every simulation runs on.
  • 2 unit operations modeled: MILL, Screen.
  • Focus areas: Solids, Comminution, Bond's Law, Classification, Mining.
Specification
Thermodynamics
PENG-ROBINSON
Components
co2
Unit operations
MILLScreen
Open in workspace

Opens in a new tab, loaded straight into the app — no setup.

Read the step-by-step guide
Python SDK

Reproduce this exact result from Python — the real client.get_example() → run_and_wait() path, not a mockup.

from flowsim.sdk import FlowSimClient

client = FlowSimClient()
example = client.get_example("grinding-and-classification")
sim = client.create_simulation(example["title"], example["flowsheet"])
result = client.run_and_wait(sim["id"])

print(result["status"])              # "converged"
streams = client.streams(sim["id"])

Related models

Reference model

Grinding-circuit hydrocyclone classifier

A hydrocyclone classifies a mineral slurry by particle size — the unit that closes every closed-circuit grinding loop (mill → cyclone, coarse underflow recycled to the mill). A quartz slurry (200 µm mean, spread by a log-normal PSD) is split about a 100 µm corrected cut size (Plitt 1976): the coarse solids report to the thick underflow and the fines to the dilute overflow, split by the short-circuit recovery. The underflow comes out much coarser (~300 µm mean) than the overflow (~80 µm), and the solids mass balance closes exactly. Honest scope: the d50c is the real Plitt correlation, but the partition sharpness and water recovery are screening params.

Corn-ethanol biorefinery / distillers'-grains dryer, Blair, Nebraska, USA

Superheated-steam drying loop with MVR heat recovery

A wet cake is dried in a superheated-steam dryer (steam as the drying medium instead of hot air), and the evaporated moisture — pure steam — is recovered by mechanical vapor recompression (MVR) plus a trim superheater into high-grade superheated steam that reheats the recirculating drying medium. Superheated-steam drying is the energy-efficient route for biofuel and food solids (distillers' grains, beet pulp, lignite): because the drying atmosphere is steam, the evaporated water leaves as more steam whose latent heat is recompressed and reused, instead of being lost in a humid exhaust.

Reference model

Dust collector selection: cyclone vs ESP vs baghouse

The same kiln offgas — 500 mol/s at 420 K carrying 8 mol/s of 20 micron dust (sphericity 0.7, GSD 2.2) — offered to the three gas-cleaning devices side by side, because choosing between them is a real design decision and the three models answer different questions. The cyclone catches 85.6%. That number is not specified anywhere: it is computed from the particle size distribution against the device's own cut size, and its d50 lands at 10 microns — half the dust's mean size, so everything finer escapes. It is the honest ceiling of a device with no consumables and no electricity, and it costs the most fan power of the three here at 1555 Pa. The ESP reaches 99.81% by Deutsch-Anderson on the migration velocity and plate area — also predicted, not specified — at essentially no pressure drop. The baghouse reports 99.8%, and this one you should read differently: its capture is the `penetration` you gave it, an INPUT. The baghouse model predicts pressure drop (37.7 Pa here, from the Cooper & Alley filter-drag law) and cloth area (1149 m2 at a 0.015 m/s air-to-cloth ratio) — not efficiency. Two of these three efficiencies are predictions and one is a specification, and a comparison that hides which is which is worse than no comparison. Why three parallel trains and not one series train. A cyclone roughing into a baghouse polishing is the standard industrial arrangement, and it cannot be drawn here: the cyclone folds its escaped dust back into the gas stream without a solids payload, so a second collector downstream sees no solids to catch. That is a modelling limitation, not a physical one, and it is stated rather than designed around. Bounded: the ESP's zero pressure drop is a model simplification (a real precipitator runs a few hundred Pa), and the pressure drops here are screening values from published correlations, not vendor guarantees.

Antwerp, Belgium

Solids train (crystallize → filter → dry)

An MSMPR crystallizer feeds a cake filter and dryer — the crystal size and cake moisture propagate on the stream's solids payload (pharma / minerals workflow).

Pharmaceutical crystallization / API finishing, Cork, Ireland

Crystallization with agglomeration (distributed CSD)

An MSMPR crystallizer solved with the rigorous distributed population balance (not just moments): the full crystal-size distribution is computed on a size grid, and an agglomeration (aggregation) kernel combines fine crystals into larger ones — coarsening the mass-weighted mean size (d43) and broadening the distribution (CV rises above the growth-only MSMPR value of ~1.0) while conserving mass exactly. The distribution, its coefficient of variation, and d43 propagate on the solid stream into the filter and dryer — the gPROMS/gCRYSTAL capability the moment model structurally cannot provide.

Ludwigshafen, Germany

Crystallization + granulation finishing

A continuous MSMPR crystallizer, cake filter, and dryer feed a granulator that grows the dried crystals into free-flowing granules — the finished-product train after the mother liquor and dryer vapor leave.

Stop fighting legacy software. Build your first flowsheet in 60 seconds.