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