Gold-cyanide loading onto activated carbon follows the Freundlich adsorption isotherm — the equilibrium loading q (mg Au per g carbon) at a solution concentration C (mg Au/L) obeys a power law:
q = K · C^(1/n)
A real CIP (Carbon-In-Pulp) circuit is a cascade of N stirred tanks. Pulp (and its dissolved gold) flows forward, tank 1→N; carbon flows countercurrent, tank N→1, so the leanest carbon meets the leanest solution and the richest (freshly-fed) solution meets the most-loaded carbon leaving the circuit. Each tank is assumed to reach local equilibrium. The stage mass balance around tank i (with Qₛ the pulp flow and Qₓ the carbon flow, and fresh barren carbon q(N+1)=0 entering the last tank) is:
Qₛ·(C(i-1) - C(i)) = Qₓ·(q(i) - q(i+1))
q(i) = K · C(i)^(1/n)
This nonlinear system is solved by Gauss–Seidel iteration every time a slider moves: sweep tank 1→N, updating C(i) from the mass balance using the neighbour's current loading, then re-evaluate q(i) from the isotherm, and repeat until it converges. The mass-balance residual compares total gold stripped from solution against total gold picked up by the discharged loaded carbon — it should sit near zero once solved, confirming the cascade actually balances.
- Blue tank fill — dissolved gold concentration C(i), darkest at the feed end.
- Dark granules — carbon loading q(i); count scales with loading, densest at the feed end (tank 1) since fresh solution meets the most-loaded carbon there.
- Top arrow (right→left) — carbon flow; bottom arrow (left→right) — pulp/solution flow. This is the countercurrent arrangement that makes multi-stage adsorption far more efficient than a single well-mixed tank.