The Adsorption Isotherm Analyzer takes measured gas–solid adsorption data for one or more materials (MOFs, zeolites, activated carbons, …) and, in one job:
- fits isotherm models (Henry, Langmuir, dual-site Langmuir, Toth, Sips) and picks the best by AICc;
- characterizes each material: BET and Langmuir surface areas and the Henry constant;
- computes isosteric heats of adsorption from isotherms at two or more temperatures (Clausius–Clapeyron);
- predicts mixture adsorption with ideal adsorbed solution theory (IAST), for 2 to 5 gases;
- ranks materials by working capacity, selectivity, BET area, or Henry constant.
Analyses that don't apply to your data are reported with a note rather than failing the job, so you always get every result that can be computed. It runs on CPU with pyGAPS.
Inputs
Data: one row per measured point, with columns material_id, adsorbate, temperature, pressure and/or relative_pressure (p/p0), and loading, plus an optional branch (adsorption or desorption). Common aliases (gas, uptake, p/p0, …) are accepted. Pass it as CSV or JSON text, a list of rows, an uploaded file, or an artifact.
Units are explicit: loading_unit is always required (mmol/g, mol/kg, cm3(STP)/g, mg/g, g/g), and pressure_unit whenever absolute pressures appear. Temperatures are in K unless you set temperature_unit to C. Results keep your units.
Each isotherm (one material, gas, and temperature) needs at least three distinct adsorption-branch pressures. Only the adsorption branch is fitted.
What each analysis needs
| Analysis | Needs |
|---|---|
| A model fit | At least two more points than the model has parameters |
| BET area | A known gas within 3 K of its standard temperature (N₂ 77 K, Ar 87 K, Kr 77 K, CO₂ 273 K) |
| Henry constant, IAST, working capacity | Absolute pressures |
| Isosteric heat | The same material and gas at two or more temperatures |
| IAST | A converged fit for every gas in the mixture, at the chosen temperature |
Outputs
| File | Contents |
|---|---|
fit_parameters.csv | Every model's parameters with standard errors, R², RMSE, AICc, and which fit is best |
fitted_curves.csv | The fitted curves over each measured range, for plotting |
characterization.csv | Best model, BET area and C constant (with the Rouquerol check), Langmuir area, Henry constant |
isosteric_heat.csv | Isosteric heat (kJ/mol) against loading |
iast.csv | Predicted mixture loadings and adsorbed-phase composition (if you asked for IAST) |
ranking.csv | Materials ranked on each criterion (if you asked for a ranking) |
summary.json | Units, models, which analyses ran, and warnings |
Limits
Up to 20,000 rows, 100 materials, 200 isotherms, 5 models, 5 IAST gases, and 200 IAST pressures per job. Gas names are matched against pyGAPS' list (names and formulas such as CO2 both work); an unknown gas can still be fitted but is skipped for BET, and for IAST when loadings are mass-based.
Related tools
VLE Parameter Regression and the Kinetic Parameter Fitter use the same table-in, fitted-parameters-out pattern for other data.