MaximaLabs
Back to gallery
Representative model (OCP-like line, Morocco)

Long-distance phosphate concentrate slurry pipeline (gravity line) — a NRTL process flowsheet

A phosphate concentrate slurry carried 187 km downhill from a mine plateau to a coastal fertilizer complex, the shape of OCP's Khouribga to Jorf Lasfar line, rated segment by segment as a Bingham plastic. The publicly stated figures used are: the 187 km length (Rusconi, Lakhouaja & Kopuz, 'The Design and Engineering of the 187 km Khouribga to Jorf Lasfar Phosphate Slurry Pipeline', Procedia Engineering 138 (2016) 142-150), that the line is gravity powered (Wikipedia, 'OCP Group'), Khouribga at 786 m above sea level (Wikipedia, 'Khouribga'; the same article's text says 820 m) and Jorf Lasfar on the Atlantic coast, taken here at sea level. Everything else is REPRESENTATIVE, not OCP data: the 0.75 m bore, the 1.6 m/s velocity (about 2,580 t/h of solids), 60 wt% solids, the five-segment profile with a 30 m ridge, the 5 bar head station pressure, and the rheology. Solid density 3150 kg/m3 is fluorapatite's specific gravity of 3.1-3.2 (Wikipedia, 'Fluorapatite'); its molar mass 0.5043 kg/mol is Ca₅(PO₄)3F from IUPAC 2021 atomic weights. The Bingham yield stress (5 Pa) and plastic viscosity (15 mPa s) are illustrative values chosen by us: no published rheology for this concentrate was reachable, and a real design uses the measured flow curve of the slurry it will carry.

What the line shows, solved: the slurry is 1,690 kg/m3 and 32 vol% solids; it runs turbulent (Bingham Reynolds 1.35e5 against Hanks' transition at 4.4e4, Hedstrom 2.1e7, Darby-Mun-Boger friction), 85% above its laminar-turbulent transition velocity of 0.86 m/s, which is the operating limit a non-settling slurry is held to. Friction costs 52 kPa per km, 9.8 MPa over the line, against 13.0 MPa of static head gained on the mixture density, so the line needs no pumps, consistent with the gravity-powered description; the 37.6 bar left at the terminal is the excess head a real gravity line throttles in choke stations. The pressure dips to 10 bar at the top of the ridge, the point that would fall first if the flow rose. Each segment's Hedstrom and Reynolds numbers, regime, friction factor, static head and margin are in the pipe's Results tab.

Honest scope: steady state only (no slack flow in the descending legs, no startup or shutdown transient, no water-hammer); the rheology is a constant Bingham fit at one temperature; no heat transfer; the profile is five straight segments, not a survey; and this example is not validated against OCP operating data.

1 views 0 forks

HEAD Station
Slurry LINE
Terminal
What this showcases
  • Rigorous NRTL thermodynamics, solved by the same engine every simulation runs on.
  • 1 unit operations modeled: Slurry LINE.
  • Focus areas: Solids, Slurry pipeline, Bingham plastic, Phosphate, Mining, Hydraulics, Elevation profile.
Specification
Thermodynamics
NRTL
Components
water, fluorapatite
Unit operations
Slurry LINE
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("phosphate-slurry-pipeline")
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

Phosphate ore to marketable rock: attrition scrubbing, desliming, flotation

The front of the phosphate chain, ahead of the acid plant: 100 kg/s (360 t/h) of a sedimentary phosphate ore at 21.9% P₂O₅ (47.9% BPL) is scrubbed, deslimed at 105 microns and floated to a concentrate. The ore is fluorapatite with quartz, dolomite and kaolinite clay; it declares its size distribution and its composition by size, with the clay concentrated in the fines and bound into agglomerates in the coarse classes. Mineral densities are the published ones (fluorapatite 3.15 within the 3.1-3.2 range, quartz 2.65, dolomite 2.84, kaolinite 2.6 g/cm3). The attrition scrubber releases 80% of the coarse-bound clay below the cut and deslimes at 105 microns (150 mesh, the size Florida plants deslime at, Zhang et al., OSTI 1439932). 17.3% of the solids go to the slimes at 11.2% P₂O₅, so 8.9% of the P₂O₅ is lost with them; the deslimed sand is 24.1% P₂O₅. How much P₂O₅ a plant loses here is set by how much apatite is in the fines: Florida's matrix loses about a third of its P₂O₅ to the clays (the same report), this ore much less. The rougher floats fluorapatite at a rate set by each particle's grade: with 1 mm grains, 46% of the apatite in the deslimed feed sits in liberated particles. It recovers 95.3% of the deslimed apatite into a concentrate of 30.5% P₂O₅ (66.7% BPL), inside the 28.7-31.3% P₂O₅ of marketable phosphate rock (Smol et al., Materials 2023), at an overall recovery of 86.9% of the ore's P₂O₅. Bounded, and stated. Every ore parameter is illustrative and fitted to no deposit: the size distribution, the grade by size, the clay disaggregation, the grain size and the flotation rate constants are measured per ore and reagent scheme, and 1 kWh/t of scrubbing energy is a placeholder for the power figure. One rate constant serves all gangue, so dolomite floats no better than quartz here, which is the opposite of the real difficulty with carbonate phosphates (a reverse carbonate flotation or a dense-medium step is the usual answer). No froth, no entrainment beyond water recovery, no reagent consumption.

Reference model

Grinding circuit: what a size reduction costs

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, for the Bond's-law arithmetic. A real grinding circuit recycles the screen oversize back to the mill; that closed circuit, with the particle-size distribution carried class by class through a crusher, screens and a breakage-function mill, is the closed-circuit-crushing-and-grinding example.

Reference model

Closed-circuit crushing and grinding, with the size distribution carried

180 t/h of quartz ore at a 60 mm median goes through a cone crusher in closed circuit with a 16 mm screen, then a ball mill in closed circuit with a 150 micron screen. Every solid stream carries its full particle-size distribution, class by class, so each unit acts on the distribution rather than on a median and a spread. The crusher is Whiten's model: everything finer than its 12 mm closed-side setting passes, everything coarser than its 30 mm open-side setting is broken, and between them a classification function decides. It reduces the circuit feed from an F₈₀ of 90 mm to 13.4 mm for 165 kW, and the screen returns 19% of what it receives to it. The mill is a breakage/selection-function size-mass balance in three mixed stages, not a target size: its product is whatever the breakage of each class produces, fines tail included. The 150 micron screen sends 72% of the mill discharge back, a circulating load of 258% that nobody specified — it is where the recycle settles given the breakage rate and the screen's sharpness. The circuit product leaves at a P₈₀ of 158 microns, and the screen recovers 81% of the true undersize, because a screen with a sharpness of 3 is not a perfect cut. Bounded, and stated. The mill's power is Bond's law applied to the mill's own throughput and its own F₈₀ and P₈₀; Bond's work index is defined on the circuit's fresh feed, so read it as a screening number. The breakage function is Broadbent-Callcott and the selection exponent 1.0 — an ore's own breakage and selection parameters come from its laboratory tests and replace them. Dry circuit: water is not carried.

Reference model

Grinding to liberate, flotation to recover: a copper rougher

97 t/h of a 2 wt% chalcopyrite ore in quartz, crushed to a 2 mm median, is ground in a grate-discharge mill and floated in an 8-cell rougher bank. The feed declares its composition by size (psd_minerals) and its texture (150 micron grains), so every unit acts on mineral by size, not on one distribution. The mill is Whiten's perfectly mixed mill with a 0.6 mm grate: nothing coarser can leave, so the coarse fraction is held and ground until it passes. That is why the mean residence time comes out at 643 s against the 300 s the fines see, and the mill holds 17.9 t. The product P₈₀ is 240 microns for 615 kW. Chalcopyrite breaks 1.5 times faster than quartz here, so it ends up enriched in the fines. Liberation is computed, not assumed: at 150 micron grains only 17% of the chalcopyrite sits in fully liberated particles at this grind. The rougher floats every particle type at a rate set by its grade, so a composite floats slower than a liberated grain and drags quartz with it. It recovers 87.0% of the chalcopyrite into 15.4% of the mass, a concentrate grade of 11.3% against 2% in the feed, and leaves 0.31% in the tailings. The sensitivity is the grind-recovery trade. Grind longer and recovery and grade rise together (80% at 100 s, 93% at 900 s) while the mill's power rises with them, which is the decision a concentrator's grind size is set on. Bounded, and stated. Every ore parameter here is illustrative and fitted to no deposit: the selection rate, the grain size and the flotation rate constants are measured per ore (the breakage-fit tool measures the first from a batch test). A composite's flotation rate is taken as proportional to its grade (linear exposure); there is no froth recovery, no size dependence of the rate beyond liberation, and one valuable mineral.

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.

Solvent blending and distribution header

Blending header — one model, three solve modes

A solvent blending and distribution header, built to demonstrate the capability AVEVA sells SimCentral on and Aspen splits across separate products: one flowsheet that solves steady-state, pressure-driven, and dynamically — no re-modelling between them. A water-rich supply and an ethanol-rich additive each pass a control valve into a common header, down a trunk line, and split at a tee to two consumers. 1. Steady-state (Solver menu > Steady-state). You specify the flows (100 and 25 mol/s) and each valve's outlet pressure; the solver reports the blend — 22 mol% ethanol — and the pressure profile down the header. This is the design question: what pressures do I need to move this flow? 2. Pressure-driven (Solver menu > Pressure-driven). Now the feeds specify pressure (9 bar) instead of flow, the consumers are pinned at 2 bar, and each valve's cv becomes a resistance law. Flow is a solved unknown, closed by mass balance against every element's resistance. This is the rating question: what flow do I actually get? The valves here are sized for the design duty, so the answer comes back at the same 125 mol/s and the same 6.0 bar header — the two modes agree because they describe one plant. The tee is where it gets interesting: in pressure-driven mode the 60/40 split is not read from split_fractions (that parameter is ignored) — it is solved from the two consumer valves' Cv against the downstream pressures. Halve HCV_UNIT2's cv and the split moves and the total flow drops; do the same in steady-state mode and nothing budges, because there the split is something you asserted rather than something the network decided. 3. Dynamic (Solver menu > Dynamic). Initialized from the steady-state solution, step the additive feed to 98 mol% ethanol and watch the blend move: the header responds first, then each consumer lags it by its own holdup, all settling at 23.6 mol% — the value a hand mass balance gives, ((100x0.05) + (25x0.98))/125.

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