SEC.Models.GrmEstimator

SEC.Models.GrmEstimator#

SEC.Models.GrmEstimator.py

Estimate GRM (General Rate Model) initial parameters from EGH component moments.

Strategy#

  1. Run the LKM estimator to get (Pe, t0, k_MT_i, R_i, scale_i).

  2. 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)

  3. 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_ccurves hold 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)