pub struct GradedSynapseNeuron {
pub v: f64,
pub c_m: f64,
pub g_l: f64,
pub e_l: f64,
pub g_in: f64,
pub v_half: f64,
pub k_release: f64,
pub v_min: f64,
pub v_max: f64,
pub v_threshold: f64,
pub dt: f64,
pub gain: f64,
}Expand description
Non-spiking interneuron with graded synaptic release.
Models interneurons that communicate via graded potential changes rather than action potentials (e.g., retinal bipolar/amacrine cells, C. elegans interneurons, crustacean stomatogastric neurons).
The membrane potential follows passive RC dynamics with saturation:
C dV/dt = -g_L(V - E_L) + g_in * I_ext
Transmitter release is a sigmoid function of V:
release = 1 / (1 + exp(-(V - V_half) / k_release))
A “spike” event is emitted when V crosses a threshold from below, representing a significant release event.
Roberts & Bush, J Comp Physiol A 185:549, 1999.
Fields§
§v: f64§c_m: f64§g_l: f64§e_l: f64§g_in: f64§v_half: f64§k_release: f64§v_min: f64§v_max: f64§v_threshold: f64§dt: f64§gain: f64Implementations§
Trait Implementations§
Source§impl Clone for GradedSynapseNeuron
impl Clone for GradedSynapseNeuron
Source§fn clone(&self) -> GradedSynapseNeuron
fn clone(&self) -> GradedSynapseNeuron
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 GradedSynapseNeuron
impl Debug for GradedSynapseNeuron
Auto Trait Implementations§
impl Freeze for GradedSynapseNeuron
impl RefUnwindSafe for GradedSynapseNeuron
impl Send for GradedSynapseNeuron
impl Sync for GradedSynapseNeuron
impl Unpin for GradedSynapseNeuron
impl UnsafeUnpin for GradedSynapseNeuron
impl UnwindSafe for GradedSynapseNeuron
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