Skip to content

Isotherm Models

Mk-learning-python07 edited this page Sep 16, 2026 · 2 revisions

Isotherm models and mixture equilibrium

Eleven pure-component models, assignable independently to each component. The equations below are as implemented, not textbook restatements.

Two quantities matter for every model: the loading $q(P,T)$, and the reduced spreading pressure $\psi(P,T)=\int_0^P \frac{q}{P'},\mathrm{d}P'$, which is what IAST actually solves with. Both are listed because a model with no closed-form $\psi$ costs more to run.

Model Loading $q$ [mol/kg] Reduced spreading pressure $\psi$
Linear (Henry) $HP$ $HP$
Langmuir, single-site (SSL) $\dfrac{q_s bP}{1+bP}$ $q_s\ln(1+bP)$
Dual-Site Langmuir (DSL) $\dfrac{q_{s,b} bP}{1+bP}+\dfrac{q_{s,d} dP}{1+dP}$ $q_{s,b}\ln(1+bP)+q_{s,d}\ln(1+dP)$
Toth $\dfrac{q_s bP}{\left[1+(bP)^t\right]^{1/t}}$ no closed form — integrated numerically
Sips / Hill (SSLF) $\dfrac{q_s bP^n}{1+bP^n}$ $\dfrac{q_s}{n}\ln(1+bP^n)$
Freundlich $kP^n$ $\dfrac{k}{n}P^n$
Anti-Langmuir $\dfrac{q_s bP}{1-bP}$ $-q_s\ln(1-bP)$
Quadratic $q_s\dfrac{b_1P+2b_2P^2}{1+b_1P+b_2P^2}$ $q_s\ln\left(1+b_1P+b_2P^2\right)$
BET (multilayer) $\dfrac{q_s Cx}{(1-x)(1-x+Cx)}$ $q_s\ln\dfrac{1-x+Cx}{1-x}$
Type V (Langmuir + Hill step) $\dfrac{q_s b_L P}{1+b_L P}+\dfrac{q_{s,H} k_H P^{n_H}}{1+k_H P^{n_H}}$ $q_s\ln(1+b_LP)+\dfrac{q_{s,H}}{n_H}\ln\left(1+k_HP^{n_H}\right)$
Sips + Henry (SIPSH) $HP+\dfrac{q_s bP^n}{1+bP^n}$ $HP+\dfrac{q_s}{n}\ln(1+bP^n)$

$x=P/P_{sat}$ for BET, with $P_{sat}$ entered per component.

Notes on individual models

Linear (Henry) has no saturation capacity. It is the correct choice for a weakly held species far from saturation, and it is what makes IAST degenerate gracefully rather than fail.

Toth is the one model with no analytic spreading pressure. $\psi$ is obtained by Simpson's rule over 40 intervals from $10^{-9}$ to $P$, with the integrand evaluated as $q/P$ and its $P\to0$ limit taken as $q_s b$. This is exact enough that the IAST consistency check passes, but a Toth/Toth pair is the slowest combination the solver has to handle.

Anti-Langmuir rises with loading rather than saturating, so it diverges as $bP\to1$. Both $q$ and $\psi$ are forced to zero for $bP\ge1$ rather than returning infinity — if a run reports zero loading where you expected a large one, that is the guard, and the affinity or the pressure range is wrong.

BET is only defined below saturation. For $x\ge1$ or $x<0$, and where the denominator collapses, $q$ and $\psi$ are set to zero by the same kind of guard.

Quadratic reaches $2q_s$, not $q_s$ — the two-molecule term saturates at twice the site capacity. This matters because saturation capacity is what decides whether IAST is bypassed.

Temperature dependence

Every affinity constant is corrected by van 't Hoff:

$$b(T) = b_0\exp\left(-\frac{\Delta H}{RT}\right)$$

$\Delta H$ is negative for physisorption, so affinity falls as temperature rises. Heat of adsorption can be a fixed value per component, or computed from the isotherm itself.

Units of $b_0$ follow the basis you select, and the conversion depends on the exponent $n$ of the model:

Basis Conversion applied
bar none — used as entered
kPa $\times 100^n$
concM3 (m³/mol) $\div\left(\bar{R}_{m^3}T\right)^n$
concL (L/mol) $\div\left(\bar{R}_{L}T\right)^n$

Getting this wrong is the single most common way to produce a plausible-looking but badly wrong breakthrough curve, because an affinity off by orders of magnitude still integrates to a smooth curve. The preset citations record which basis each published parameter set uses.

Saturation capacity

Used to decide whether IAST can be bypassed:

Model $q_{sat}$
DSL $q_{s,b}+q_{s,d}$
Type V $q_s+q_{s,H}$
Quadratic $2q_s$
SSL, Toth, Anti-Langmuir, SSLF, BET, SIPSH $q_s$
Linear none — unbounded

When either component's saturation capacity is effectively zero, IAST is bypassed and the run reduces to single-component behaviour.

Mixture equilibrium

  • IAST (Myers & Prausnitz) by default. Works with any of the eleven models and is solved by a vectorised reduced-spreading-pressure iteration.
  • Extended-Langmuir competitive mixing, available for SSL and DSL only. Non-iterative and faster, but it can differ noticeably from IAST for the weaker-adsorbing component, particularly when the two isotherm shapes differ.

IAST is bypassed automatically when either component's saturation capacity is effectively zero.


Wiki: Home · The Model · Isotherm Models · Mass Transfer · Adsorbent Presets · Using the App · Limitations · Privacy & Security · Troubleshooting

Clone this wiki locally