MaximaLabs
All unit operations

Electrodialysis / EDI simulation

Governing equations

The exact equations the solver works for a electrodialysis / edi — the same math shown in the app's "Theory" panel, not a black box.

n˙salt=ξiAcellNcpzF(Faraday’s law — the whole transport model)\dot{n}_{salt} = \frac{\xi\, i\, A_{cell}\, N_{cp}}{z F}\quad\text{(Faraday's law — the whole transport model)}
ilim=zFkcdtmts(boundary-layer ceiling; falls with the diluate)i_{lim} = \frac{z F k\, c_d}{t_m - t_s}\quad\text{(boundary-layer ceiling; falls with the diluate)}
ieff=min(i,ilim)  (solution-filled)ieff=i  (resin-filled: EDI runs overlimiting by design)i_{eff} = \min(i,\, i_{lim})\;\text{(solution-filled)}\qquad i_{eff} = i\;\text{(resin-filled: EDI runs overlimiting by design)}
U=Ncpircp+Uel,rcp=rmem+δκd+δκc,κ=ΛcU = N_{cp}\, i\, r_{cp} + U_{el},\qquad r_{cp} = r_{mem} + \frac{\delta}{\kappa_d} + \frac{\delta}{\kappa_c},\qquad \kappa = \Lambda c
P=UiAcellP = U\, i\, A_{cell}
n˙salt\dot{n}_{salt}
salt transported out of the diluate [mol/s]
ξ\xi
current utilisation — leakage, co-ion transport and splitting all reduce it [-]
ii
applied current density [A/m^2]
ilimi_{lim}
limiting current density: the boundary layer cannot deliver ions faster [A/m^2]
ieffi_{eff}
the current density that actually moves salt [A/m^2]
AcellA_{cell}
membrane area per cell pair [m^2]
NcpN_{cp}
number of cell pairs in the stack [-]
zz
charge number of the transported ion [-]
FF
Faraday constant, 96485 C/mol
kk
diluate-side mass-transfer coefficient — a measured stack property [m/s]
cdc_d
diluate concentration; i_lim falls with it, which is why ED stalls near pure water [mol/m^3]
tmt_m
counter-ion transport number in the membrane [-]
tst_s
counter-ion transport number in solution [-]
UU
stack voltage [V]
UelU_{el}
electrode-reaction overpotential [V]
rcpr_{cp}
area resistance of one cell pair [ohm m^2]
rmemr_{mem}
membrane contribution to that resistance [ohm m^2]
δ\delta
compartment thickness [m]
κd\kappa_d
diluate conductivity — collapses as it is stripped, unless resin-filled [S/m]
κc\kappa_c
concentrate conductivity [S/m]
Λ\Lambda
molar conductivity of the salt [S m^2/mol]
PP
stack power [W]

Parameters

cell_pairs [-, REQUIRED], cell_area [m^2 per cell pair, REQUIRED], current_density [A/m^2, REQUIRED — stack size and drive cannot be inferred from the feed]; optional current_efficiency [-, default 0.9], concentrate_fraction [-, default 0.1, the share of the feed sent to the concentrate loop], salt [component id, default 'nacl'], charge [-, default 1], resin_filled [bool, default false — true makes it EDI: the resin carries the current and lifts the limiting-current cap], mass_transfer_coefficient [m/s, default 2e-5], transport_number_membrane / transport_number_solution [-, defaults 0.98/0.5], cell_pair_resistance [ohm m^2, default 5e-4], cell_thickness [m, default 5e-4], molar_conductivity [S m^2/mol, default 0.0126 for NaCl], resin_conductivity [S/m, default 0.05], electrode_voltage [V, default 2], water_splitting_overpotential [V per cell pair, default 0 -- with it omitted the reported energy is a FLOOR, since a real EDI stack's voltage is dominated by it], hydration_number [-, default 0 = no electro-osmotic water drag]. Outlets in order: diluate, concentrate.

Example flowsheets that use it

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