Gating Functions
This module implements gating functions that determine bridge probability as a function of surface occupancy.
Symmetric Gating
- class microscopic_gating.gating.SymmetricGating(isotherm)[source]
Bases:
objectSymmetric gating function \(G(\phi) = \theta(1-\theta)\).
Implements Eq. (S6)-(S7), assuming \(K_P \approx K_N \approx K_d\). This is the standard gating function for symmetric binding scenarios.
The gating function produces a bell-shaped curve with maximum at \(\phi = K\) where \(G_{max} = 1/4\).
- Parameters:
isotherm (
Isotherm) – Any isotherm providing \(\theta(\phi)\), e.g.,LangmuirIsothermorHillIsotherm.
See also
AsymmetricGatingUses \(\theta_P(1-\theta_N)\) for non-symmetric particle/network binding.
Examples
>>> from microscopic_gating.adsorption import LangmuirIsotherm >>> isotherm = LangmuirIsotherm(K=1.0) >>> gating = SymmetricGating(isotherm) >>> gating.G(1.0) 0.25 >>> gating.phi_star() 1.0
References
Eq. (S6)-(S7): Symmetric gating function derivation
- G(phi)[source]
Calculate symmetric gating function.
- Parameters:
phi (
ArrayLike) – Bulk concentration.- Returns:
G – Gating function value \(\theta(\phi)[1-\theta(\phi)]\), same shape as phi. Values are in [0, 0.25].
- Return type:
ArrayLike
Notes
The function reaches its maximum of 0.25 when \(\theta = 0.5\), which occurs at \(\phi = K\) for Langmuir/Hill isotherms.
- phi_star()[source]
Find peak location of the gating function.
- Returns:
phi_star – Concentration at which \(G(\phi)\) is maximized. For standard Langmuir/Hill forms, \(\phi^\\ast = K\).
- Return type:
- Raises:
AttributeError – If the isotherm does not have a ‘K’ attribute.
Notes
For Hill/Langmuir isotherms, \(G(\phi)\) is maximized at \(\phi = K\) with maximum value 1/4.
Asymmetric Gating
- class microscopic_gating.gating.AsymmetricGating(isotherm_P, isotherm_N)[source]
Bases:
objectAsymmetric gating function: \(G(\phi) = \theta_P(\phi)[1-\theta_N(\phi)]\).
Implements Eq. (S5) in the minimal blocking picture. This gating function accounts for different binding affinities on the particle versus network sides.
- Parameters:
isotherm_P (
Isotherm) – Particle-side isotherm giving \(\theta_P(\phi)\).isotherm_N (
Isotherm) – Network-side isotherm giving \(\theta_N(\phi)\).
See also
SymmetricGatingSpecial case where \(\theta_P = \theta_N\).
Examples
>>> from microscopic_gating.adsorption import LangmuirIsotherm >>> isotherm_P = LangmuirIsotherm(K=1.0) >>> isotherm_N = LangmuirIsotherm(K=2.0) >>> gating = AsymmetricGating(isotherm_P, isotherm_N) >>> gating.G(1.0) 0.1666...
References
Eq. (S5): Asymmetric gating in minimal blocking picture
- G(phi)[source]
Calculate asymmetric gating function.
- Parameters:
phi (
ArrayLike) – Bulk concentration.- Returns:
G – Gating function value \(\theta_P(\phi)[1-\theta_N(\phi)]\), same shape as phi.
- Return type:
ArrayLike
Notes
Unlike symmetric gating, the maximum value and peak location depend on both isotherm parameters.
Theory Background
Symmetric Gating
For symmetric binding where \(K_P \approx K_N \approx K_d\), the gating function is:
This reaches a maximum of 1/4 at \(\phi = K\).
Asymmetric Gating
For asymmetric binding with different particle and network affinities:
This accounts for different binding strengths on the particle versus network sides.