SEC.Models.GrmEstimator#
SEC.Models.GrmEstimator.py
Estimate GRM (General Rate Model) initial parameters from EGH component moments.
Strategy#
Run the LKM estimator to get (Pe, t0, k_MT_i, R_i, scale_i).
Apply the moment-matching relationship (Qamar 2014, App C) to convert k_MT_i into k_ext_i, keeping all other parameters identical:
k_MT_eff = k_MT_LKM * (R-1)/R k_ext = k_MT_eff * R_p * R / (3 * F)
= k_MT_LKM * (R-1) * R_p / (3 * F)
Shared column params (R_p, D_eff, a_star, F_ratio) are derived from column settings or reasonable defaults: - R_p : SerialSettings(“particle_radius”) or default 0.0035 cm - D_eff : SerialSettings(“D_eff”) or default 1e3 cm²/min (film-only limit) - eps_p : SerialSettings(“particle_porosity”) or default 0.0 (non-porous) - eps_col : SerialSettings(“column_porosity”) or default 0.4
Copyright (c) 2026, SAXS Team, KEK-PF
- estimate_grm_init_params(decomposition, **kwargs)#
Estimate GRM initial parameters from EGH component moments.
Uses the LKM estimator for (Pe, t0, k_MT_i, R_i) then converts k_MT_i to k_ext_i via the Qamar 2014 moment-matching formula.
- Parameters:
decomposition (Decomposition) – Decomposition whose
xr_ccurveshold the component curves.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) – Verbose output.
- Returns:
Pe (float)
t0 (float)
R_p (float)
D_eff (float)
a_star_list (list of float eps_p + (1-eps_p)*a_henry per component)
F_ratio (float (1-eps)/eps (shared))
k_ext_list (list of float per component)
R_list (list of float per component)
scale_list (list of float per component)