MaximaLabs
All unit operations

Membrane (RO) simulation

1 feed -> permeate + retentate

Governing equations

The exact equations the solver works for a membrane (ro) — the same math shown in the app's "Theory" panel, not a black box.

cp,i=(1σi)cf,i,Qp=rQf    (recovery r, rejection σ)c_{p,i}=(1-\sigma_i)\,c_{f,i},\qquad Q_p=r\,Q_f\;\;(\text{recovery }r,\ \text{rejection }\sigma)
π=iCRT,NDP=ΔPfeedπ>0    (RO feasibility)\pi = i\,C\,R\,T,\qquad \text{NDP}=\Delta P_{feed}-\pi>0\;\;(\text{RO feasibility})
cf,ic_{f,i}
solute concentration in the feed
cp,ic_{p,i}
solute concentration in the permeate — what gets through
σi\sigma_i
rejection of solute i [0..1]; 1 = perfectly retained
rr
recovery — fraction of feed volume passing as permeate
Qf,QpQ_f, Q_p
feed and permeate volumetric flows
π\pi
osmotic pressure [Pa] — the back-pressure you must beat
ii
van 't Hoff factor (ions per dissolved molecule)
CC
molar concentration
RR
gas constant
TT
temperature [K]
NDP\text{NDP}
net driving pressure — if this goes to zero, the membrane stops, which is the real limit on recovery

Parameters

recovery [0..1 permeate/feed, default 0.5], rejection [0..1 salt rejection, default 0.98], feed_pressure [Pa]; optional solvent [default 'water'], vant_hoff [ions per solute, default 1]; osmotic-pressure feasibility checked (RO rating)

Example flowsheets that use it

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