SEC.Models.GRM#
SEC.Models.GRM.py
GRM (General Rate Model) column model class.
Copyright (c) 2026, SAXS Team, KEK-PF
- class GRM(**kwargs)#
Bases:
objectGeneral Rate Model (GRM) for SEC data analysis.
Parameters are estimated via moment-matching from LKM (GrmEstimator) and then each component’s scale is refined by NNLS (GrmOptimizer).
The rigorous
optimize_rigorously(model='GRM')step uses the G1500 objective function (molass-legacy) to refine all GRM parameters jointly.The GRM accounts for: - Axial dispersion (Péclet number Pe) - External film mass transfer (k_ext per component) - Intraparticle pore diffusion (D_eff, shared) - Linear adsorption equilibrium (a_star, via retention factor R)
- optimize_decomposition(decomposition, **kwargs)#
Upgrade an EGH decomposition to use GRM component curves.
- Parameters:
decomposition (Decomposition) – Initial EGH decomposition to upgrade.
R_p (float, optional) – Particle radius [cm]. Default from SerialSettings or 0.0035 cm.
D_eff (float, optional) – Effective pore diffusivity [cm²/min]. Default 1e3 (film-only limit).
eps_p (float, optional) – Intraparticle porosity. Default 0.0 (non-porous).
eps (float, optional) – Interstitial column porosity. Default 0.4.
debug (bool, optional) – Enable verbose output.
- Returns:
New decomposition with
GrmComponentCurveobjects.- Return type: