pub struct FrankenhaeUserHuxleyAxon {}Expand description
Frankenhaeuser-Huxley 1964 — myelinated nerve fibre model.
Extension of HH for myelinated axons (Xenopus node of Ranvier). Uses Goldman-Hodgkin-Katz (GHK) permeability-based current equations with 4 gating variables: m (Na activation), h (Na inactivation), n (delayed rectifier K), p (slow non-specific current).
GHK current for monovalent ion: I = P * F²V/(RT) * (C_i - C_o * exp(-FV/RT)) / (1 - exp(-FV/RT))
Simplified (FH convention, V relative to rest, temperature factor absorbed): I_Na = P_Na * m² * h * ghk_drive(V, Na_i/Na_o) I_K = P_K * n² * ghk_drive(V, K_i/K_o) I_p = P_p * p² * ghk_drive(V, Na_i/Na_o) [non-specific, Na-like] I_L = g_L * (V - E_L)
C dV/dt = -(I_Na + I_K + I_p + I_L) + I_ext
The GHK driving force is the key distinction from conductance-based HH — it is nonlinear in V and depends on concentration ratios.
Frankenhaeuser & Huxley, J Physiol 171:302, 1964. Frankenhaeuser, J Physiol 160:46, 1962 (rate constants).
Fields§
§v: f64§m: f64§h: f64§n: f64§p: f64§c_m: f64§p_na: f64§p_k: f64§p_p: f64§g_l: f64§e_l: f64§na_ratio: f64§k_ratio: f64§v_t: f64§dt: f64§sub_steps: usize§gain: f64Implementations§
Source§impl FrankenhaeUserHuxleyAxon
impl FrankenhaeUserHuxleyAxon
pub fn new() -> Self
Sourcefn ghk_current(v: f64, c_ratio: f64, v_t: f64) -> f64
fn ghk_current(v: f64, c_ratio: f64, v_t: f64) -> f64
GHK current for monovalent ion (FH convention).
Returns current density contribution in mA/cm² when P is in FH-scaled units (absorbs F*[C_o]*1e-3 into P).
I = P_eff * gates * V/V_T * (r - exp(-V/V_T)) / (1 - exp(-V/V_T))
where r = [ion]_i / [ion]_o, V_T = RT/F. At V→0: uses L’Hôpital limit = P_eff * (r - 1).
The Faraday scaling: P_eff = P_raw * F * [C]_o / 1000 is absorbed into the permeability constant (FH Table 4 values are already in these effective units: mA/cm² at unit gating).
pub fn step(&mut self, current: f64) -> i32
pub fn reset(&mut self)
Trait Implementations§
Source§impl Clone for FrankenhaeUserHuxleyAxon
impl Clone for FrankenhaeUserHuxleyAxon
Source§fn clone(&self) -> FrankenhaeUserHuxleyAxon
fn clone(&self) -> FrankenhaeUserHuxleyAxon
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FrankenhaeUserHuxleyAxon
impl Debug for FrankenhaeUserHuxleyAxon
Auto Trait Implementations§
impl Freeze for FrankenhaeUserHuxleyAxon
impl RefUnwindSafe for FrankenhaeUserHuxleyAxon
impl Send for FrankenhaeUserHuxleyAxon
impl Sync for FrankenhaeUserHuxleyAxon
impl Unpin for FrankenhaeUserHuxleyAxon
impl UnsafeUnpin for FrankenhaeUserHuxleyAxon
impl UnwindSafe for FrankenhaeUserHuxleyAxon
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more