SEC.Models.LognormalPore#

SEC.Models.LognormalPore.py

compute_mode(mu, sigma)#
compute_stdev(mu, sigma)#
Ksec(Rg, r, m)#
distribution_func(r, mu, sigma)#
gec_lognormal_pore_integrand_impl(r, w, N, T, me, mp, mu, sigma, Rg)#
gec_lognormal_pore_cf(w, N, T, me, mp, mu, sigma, Rg, x0, const_rg_limit=False)#
gec_lognormal_pore_pdf(x, scale, N, T, me, mp, mu, sigma, Rg, x0)#
sdm_lognormal_pore_cf(w, N, T, me, mp, mu, sigma, Rg, N0, t0, const_rg_limit=False)#

SDM with lognormal pore distribution and exponential residence time.

Adds mobile phase dispersion (Brownian term) to GEC lognormal model.

Parameters:
  • w (array) – Frequency array

  • N (float) – Pore interaction scale parameter

  • T (float) – Residence time scale parameter

  • me (float) – Pore entry exponent

  • mp (float) – Pore residence exponent

  • mu (float) – Log-mean of pore size distribution

  • sigma (float) – Log-std of pore size distribution

  • Rg (float) – Molecule radius of gyration (lower integration limit)

  • N0 (float) – Plate number (mobile phase dispersion parameter)

  • t0 (float) – Mobile phase hold-up time (drift term)

  • const_rg_limit (bool, optional) – Use constant integration limit (default: False)

Returns:

Characteristic function values

Return type:

complex array

Notes

CF structure: φ(ω) = exp(Z + Z²/(2*N0)) where Z = [lognormal pore integral] + iω*t0

The Z²/(2*N0) term represents axial dispersion in mobile phase.

sdm_lognormal_pore_pdf(x, scale, N, T, me, mp, mu, sigma, Rg, N0, t0)#

PDF for SDM with lognormal pore distribution.

Parameters:
  • x (array) – Time points

  • scale (float) – Amplitude scaling factor

  • N (float) – Pore interaction parameters

  • T (float) – Pore interaction parameters

  • me (float) – Pore interaction parameters

  • mp (float) – Pore interaction parameters

  • mu (float) – Lognormal distribution parameters

  • sigma (float) – Lognormal distribution parameters

  • Rg (float) – Molecule radius of gyration

  • N0 (float) – Plate number

  • t0 (float) – Mobile phase time

Returns:

Probability density values

Return type:

array

sdm_lognormal_pore_gamma_integrand_impl(r, w, N, T, k, me, mp, mu, sigma, Rg)#

Integrand for SDM lognormal pore with Gamma-distributed residence times.

Replaces exponential residence time with Gamma distribution.

Parameters:
  • r (float or array) – Pore radius (integration variable)

  • w (array) – Frequency array

  • N (float) – Pore interaction scale

  • T (float) – Residence time scale (theta parameter for Gamma)

  • k (float) – Gamma shape parameter (k=1 recovers exponential)

  • me (float) – Exponents for entry and residence

  • mp (float) – Exponents for entry and residence

  • mu (float) – Lognormal parameters

  • sigma (float) – Lognormal parameters

  • Rg (float) – Molecule radius of gyration

Returns:

Integrand values

Return type:

complex array

Notes

Gamma CF for single visit: (1 - iω*θ)^(-k) For k=1, recovers exponential case.

sdm_lognormal_pore_gamma_cf(w, N, T, k, me, mp, mu, sigma, Rg, N0, t0, const_rg_limit=False)#

SDM with lognormal pore distribution and Gamma-distributed residence times.

Most general model: combines pore size heterogeneity (lognormal) with residence time heterogeneity (Gamma) and mobile phase dispersion.

Parameters:
  • w (array) – Frequency array

  • N (float) – Pore interaction scale parameter

  • T (float) – Residence time scale parameter (Gamma scale θ)

  • k (float) – Gamma shape parameter (k=1 → exponential, k>1 → less dispersed)

  • me (float) – Pore entry exponent

  • mp (float) – Pore residence exponent

  • mu (float) – Log-mean of pore size distribution

  • sigma (float) – Log-std of pore size distribution

  • Rg (float) – Molecule radius of gyration

  • N0 (float) – Plate number (mobile phase dispersion)

  • t0 (float) – Mobile phase hold-up time

  • const_rg_limit (bool, optional) – Use constant integration limit

Returns:

Characteristic function values

Return type:

complex array

Notes

This is the most comprehensive SEC model: - Lognormal pore size distribution (structural heterogeneity) - Gamma residence time distribution (kinetic heterogeneity) - Mobile phase dispersion (Brownian component) - Size exclusion effects (Ksec with Rg)

For special cases: - k=1: Reduces to sdm_lognormal_pore_cf (exponential residence) - N0→∞: Reduces to GEC with Gamma residence - σ→0: Reduces to sdm_monopore_gamma_cf (single pore size)

sdm_lognormal_pore_gamma_pdf(x, scale, N, T, k, me, mp, mu, sigma, Rg, N0, t0)#

PDF for SDM with lognormal pore distribution and Gamma residence times.

Parameters:
  • x (array) – Time points

  • scale (float) – Amplitude scaling factor

  • N (float) – Pore interaction and time scale parameters

  • T (float) – Pore interaction and time scale parameters

  • k (float) – Gamma shape parameter

  • me (float) – Pore entry and residence exponents

  • mp (float) – Pore entry and residence exponents

  • mu (float) – Lognormal distribution parameters

  • sigma (float) – Lognormal distribution parameters

  • Rg (float) – Molecule radius of gyration

  • N0 (float) – Plate number

  • t0 (float) – Mobile phase time

Returns:

Probability density values

Return type:

array

Examples

>>> # Fit SEC-SAXS data with full model
>>> t = np.linspace(0, 300, 1000)
>>> pdf = sdm_lognormal_pore_gamma_pdf(
...     t, scale=1.0, N=100, T=2.0, k=1.5,
...     me=2.0, mp=2.0, mu=4.2, sigma=0.3,
...     Rg=50, N0=14400, t0=5.0
... )