How to simulate acid-mine-drainage neutralization: staged lime precipitation
Acidic, metal-laden mine water (dissolved ferric iron, aluminium, nickel and zinc over a sulfate background) is cleaned in a two-stage lime-neutralization circuit — the classic hydrometallurgy / water-treatment precipitation train. Stage 1 doses to pH 4.5, where ferric iron (Fe(OH)3, pKsp 38.6) and aluminium (Al(OH)3, pKsp 33.0) drop out as a sludge while the base metals stay dissolved; stage 2 raises the liquor to pH 9.5, where nickel (Ni(OH)2) and zinc (Zn(OH)2) precipitate, leaving a clarified effluent. Both stages are the new `precipitator` unit op wrapping the codebase's CRC-cited metal-hydroxide solubility-product chemistry (`thermo/electrolytes.hydroxide_precipitation`) — dose to a pH setpoint, read off what drops out — the same selective-precipitation workflow a real neutralization plant runs.
- 1Open the ready-made model
Open the "Acid-mine-drainage neutralization: staged lime precipitation" model in the MaximaLabs workspace — no install, no license. It loads live on the canvas, ready to edit and run.
- 2Confirm the thermodynamics
This process is modeled with the BRINE property package over water, fe3, al, ni, zn, so4 — already selected, so the phase equilibrium and enthalpy are physically consistent from the first run.
- 3Review the flowsheet
The flowsheet chains 2× Stage2. Every block is a real, solvable unit op you can reconfigure on the canvas.
- 4Run the simulation
Click Run. The deterministic solver converges the material and energy balances (recycles included) and fills the live stream table — the AI never invents a number.
- 5Read the results and iterate
Inspect the converged streams, tweak a spec, and re-run — or ask the AI copilot to explain a result or diagnose a failed solve in plain English.
- Thermodynamics
- BRINE
- Components
- water, fe3, al, ni, zn, so4
- Unit operations
- 2× Stage2
Opens live on the canvas — free, no install.
Explore the model & flowsheetModeling assumptions & limitations
What this model captures, and what it deliberately does not — from the engineers who built it.
- 1Equilibrium Ksp precipitation at a specified pH (no self-consistent pH-from-hydrolysis), a dilute-liquor solution-volume estimate from the water flow, B-dot activity coefficients; the lime reagent and the gypsum (CaSO₄) a real lime circuit also throws are not tracked as feed streams (the pH is a dosed circuit condition, matching how the plant is actually operated). Screening-grade — a process-design starting point, not a certified sludge-volume/settling deliverable.
Frequently asked questions
- What does the Acid-mine-drainage neutralization: staged lime precipitation model simulate?
- Acidic, metal-laden mine water (dissolved ferric iron, aluminium, nickel and zinc over a sulfate background) is cleaned in a two-stage lime-neutralization circuit — the classic hydrometallurgy / water-treatment precipitation train. Stage 1 doses to pH 4.5, where ferric iron (Fe(OH)3, pKsp 38.6) and aluminium (Al(OH)3, pKsp 33.0) drop out as a sludge while the base metals stay dissolved; stage 2 raises the liquor to pH 9.5, where nickel (Ni(OH)2) and zinc (Zn(OH)2) precipitate, leaving a clarified effluent. Both stages are the new `precipitator` unit op wrapping the codebase's CRC-cited metal-hydroxide solubility-product chemistry (`thermo/electrolytes.hydroxide_precipitation`) — dose to a pH setpoint, read off what drops out — the same selective-precipitation workflow a real neutralization plant runs.
- Which thermodynamic method does it use?
- The BRINE property package, over water, fe3, al, ni, zn, so4 — already selected. You can switch the method on the canvas before running.
- Which unit operations are in the flowsheet?
- It chains 2× Stage2. Every block is a real, solvable unit operation you can reconfigure, add to, or remove.
- Do I need to install software or buy a license?
- No. Acid-mine-drainage neutralization: staged lime precipitation runs entirely in your browser on MaximaLabs — free, no install, no license. Open the model to load it live and run the deterministic solver.
More guides like this
Copper recovery from a leach residue: CCD washing + hydroxide precipitation
A leach residue leaves a heap/tank-leach circuit as a slurry — insoluble gangue solids carrying entrained copper-sulfate pregnant liquor that would be lost to tailings if simply thickened. A counter-current-decantation (CCD) wash train recovers it: the residue is washed with clean water flowing counter-current to the solids across a chain of thickeners, so the dissolved copper is displaced into a pregnant-liquor overflow while the washed solids go to tailings. The new ccd_washer unit op models the whole train in one block via the classic counter-current washing equation f = (R-1)/(R^(N+1)-1) (Perry's §18; Coulson & Richardson Vol. 2): five stages at a wash ratio near 4 recover ~99.9% of the dissolved copper, leaving only ~0.08% with the tailings. The pregnant liquor is then dosed to pH 8, where the copper drops as Cu(OH)2 sludge (the precipitator op on the CRC-cited solubility-product chemistry), leaving a barren raffinate for recycle.
Cooling-tower blowdown treatment — lime dosing and what it will not remove
The stream cooling-water-utility-circuit sends to effluent, treated. Concentrated blowdown (4 cycles on a hard makeup, plus zinc from a corrosion-inhibitor programme) is dosed with lime to pH 10.5, and the metals that can drop as hydroxides do. A separate flowsheet on purpose. This runs on the brine electrolyte package with the ions as real components; the cooling loop runs on steam with water alone. Carrying hardness as flowsheet components changes the thermodynamics of every stream it touches, so the loop keeps its water model and the treatment plant gets the one it needs — which is also how the two are engineered and operated in a real plant. The result is mostly a lesson in what hydroxide precipitation cannot do. Magnesium goes from 2100 to 10 ppm-equivalent (99.5% removed) and zinc is essentially complete, leaving a sludge that is 91% Mg(OH)2 and 9% Zn(OH)2. Calcium does not move at all — it enters at 0.0042 mole fraction and leaves at 0.0042. That is correct, not a failure to converge: Ca(OH)2 is far too soluble to precipitate at this pH, and removing calcium needs carbonate — soda-ash softening — which is a different reagent and a different chemistry from the one dosed here. A treatment report claiming lime alone softens a blowdown is describing something this model will not reproduce. Sulfate likewise passes straight through: it leaves with the clarified water, which is why blowdown salinity is a discharge-consent question rather than something a precipitation stage fixes. Bounded: equilibrium Ksp at a dosed pH (see ``), with no self-consistent pH from the metal hydrolysis itself, a dilute-liquor volume estimate, and B-dot activities. The lime reagent is a circuit condition rather than a tracked feed, and the gypsum a real lime circuit throws is not modelled. Sludge dewatering is absent deliberately: the precipitator's solid outlet carries no entrained water, so a thickener placed after it would be splitting a dry stream and reporting a 'recovered water' that is 100% hydroxide.
Cobalt/nickel solvent extraction (D2EHPA)
A laterite leach liquor (Co/Ni/Mg in dilute sulfate solution) meets a D2EHPA-in-kerosene organic phase across a 20-stage countercurrent extraction circuit run at pH 5.2 — the real industrial operating window (e.g. Bulong, Murrin Murrin, Western Australia) that exploits the ~1 pH-unit gap between Co and Ni's D2EHPA extraction isotherms: Co extracts into the organic while Ni (and Mg gangue) are rejected to the raffinate. The loaded organic then meets fresh dilute-acid strip liquor across a 10-stage strip circuit at pH 1.0 (well below Co's isotherm), reversing the equilibrium to recover a concentrated cobalt strip liquor and regenerate barren organic. Real pH-isotherm chemistry throughout, not a fitted shortcut K_D.
Battery black-mass recycling: leach -> SX -> BPED -> LiOH crystallization
Spent-battery black mass (an NMC111-like LiNi1/3Mn1/3Co1/3O2 lump, sulfuric acid-leached at a screening-level yield/stoichiometry — see the stated scope) dissolves into a pregnant leach solution carrying Li/Co/Ni/Mn. A 15-stage D2EHPA solvent-extraction circuit (the same real pH-isotherm chemistry the co-ni-solvent-extraction example uses, operated at pH 7.5 — above every curated Co/Ni/Mn pH50 — so all three transition metals extract into the kerosene organic phase while Li, which has no curated D2EHPA isotherm, stays in the aqueous raffinate untouched) purifies the liquor before it ever reaches the lithium-recovery chemistry. A Faraday's-law bipolar-membrane electrodialysis (BPED) cell (the same real electrochemistry as the direct-lithium-extraction example, sized up for this liquor's larger Li flow) converts Li+ to LiOH, which an MSMPR crystallizer takes to battery-grade LiOH solid. Every step reuses an already-real, independently-tested unit op (,,,) chained into the one train none of them had been assembled into before.
Produced-water scale removal: precipitation + thickener dewatering
Oilfield produced water carries the classic mineral-scale ions — barium and strontium against sulfate (barite BaSO₄ / celestine SrSO₄, the notorious hard sulfate scales that plug tubing and need milling to remove) plus calcium against carbonate and sulfate (calcite / gypsum). A precipitation stage throws every over-saturated scale mineral at once — the precipitator unit op keyed on its CRC-cited solubility-product table, with each mineral removing BOTH its metal cation and its anion from the water — and a gravity thickener then dewaters the slurry into a dense underflow sludge and a clarified overflow. The barium (the worst offender) comes out essentially completely as barite.
Hybrid cooling — a closed circuit isolated from the tower by a plate exchanger
Three loops in series, and the middle one is the point. The process is cooled by a closed circuit of treated water that never contacts air; that circuit rejects its heat across a plate exchanger into an open evaporative circuit; and only that outer circuit goes to the tower and loses water. Why a plant pays for the extra exchanger: open cooling water picks up oxygen, airborne dirt and biology, and concentrates its dissolved salts every cycle. Putting that water through a reactor jacket or a condenser is what fouls and corrodes them. The closed loop stays clean, stays at pressure, and its inventory never concentrates — so the equipment the process actually touches sees water that does not scale. Solved here: the process leaves at 318 K, the closed circuit picks that up (303 → 320 K) and is knocked back to 306 K across the plate exchanger, the open circuit takes it (301 → 311 K) and the tower returns it to 301.15 K at a 4.0 K approach to a 297.15 K wet bulb. Water loss appears only in the open circuit — the closed one leaves with exactly the flow it entered with, which is the whole claim made arithmetic. The tower also reports its scaling limit from the makeup analysis: this water saturates in calcite at 2.2 cycles, so the 4 cycles configured here shows negative headroom — a real operating conflict, left visible rather than tuned away. Bounded: steady state, so there is no basin inventory and no level control (a level is only meaningful in the dynamic engine). Fouling is not modelled — the argument for the closed loop is made by the chemistry, not by a fouling rate. Feeds and returns are open rather than recycled, the same convention cooling-water-tower uses.