pub struct SmoothMuscleCell {Show 23 fields
pub v: f64,
pub d: f64,
pub f: f64,
pub ca: f64,
pub ca_store: f64,
pub c_m: f64,
pub g_cal: f64,
pub g_bk: f64,
pub g_l: f64,
pub e_ca: f64,
pub e_k: f64,
pub e_l: f64,
pub tau_ca: f64,
pub v_serca: f64,
pub k_serca: f64,
pub ip3: f64,
pub v_ip3r: f64,
pub k_ip3: f64,
pub k_ca_ip3: f64,
pub kd_bk: f64,
pub dt: f64,
pub sub_steps: usize,
pub gain: f64,
}Expand description
Smooth muscle cell — slow oscillatory electrical activity.
Visceral/vascular smooth muscle with Ca²⁺-dependent oscillations. Key features distinct from neurons:
- No fast Na⁺: depolarisation is Ca²⁺-dependent (L-type)
- BK (Ca²⁺-activated K⁺): repolarisation via BK channels
- IP3-mediated Ca²⁺ release: intracellular Ca²⁺ oscillations from ER/SR via IP3 receptors drive slow waves
- SERCA pump: Ca²⁺ reuptake into stores
- Slow oscillations: ~3-12 cycles/min (GI slow waves)
dV/dt = (-ICaL - IBK - IL + I_ext) / C_m dCa/dt = -alpha*ICaL - SERCA(Ca) + IP3_release(Ca, IP3) - Ca/tau_ca
Hirst & Edwards, J Physiol 531:567, 2001. Imtiaz et al., Biophys J 83:1877, 2002.
Fields§
§v: f64§d: f64§f: f64§ca: f64§ca_store: f64§c_m: f64§g_cal: f64§g_bk: f64§g_l: f64§e_ca: f64§e_k: f64§e_l: f64§tau_ca: f64§v_serca: f64§k_serca: f64§ip3: f64§v_ip3r: f64§k_ip3: f64§k_ca_ip3: f64§kd_bk: f64§dt: f64§sub_steps: usize§gain: f64Implementations§
Trait Implementations§
Source§impl Clone for SmoothMuscleCell
impl Clone for SmoothMuscleCell
Source§fn clone(&self) -> SmoothMuscleCell
fn clone(&self) -> SmoothMuscleCell
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SmoothMuscleCell
impl Debug for SmoothMuscleCell
Auto Trait Implementations§
impl Freeze for SmoothMuscleCell
impl RefUnwindSafe for SmoothMuscleCell
impl Send for SmoothMuscleCell
impl Sync for SmoothMuscleCell
impl Unpin for SmoothMuscleCell
impl UnsafeUnpin for SmoothMuscleCell
impl UnwindSafe for SmoothMuscleCell
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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