pub struct BrunelWangNeuron {Show 18 fields
pub v: f64,
pub v_rest: f64,
pub v_reset: f64,
pub v_threshold: f64,
pub tau_m: f64,
pub tau_ref: f64,
pub g_ampa_ext: f64,
pub g_ampa_rec: f64,
pub g_nmda: f64,
pub g_gaba: f64,
pub v_ampa: f64,
pub v_nmda: f64,
pub v_gaba: f64,
pub c_m: f64,
pub mg_conc: f64,
pub dt: f64,
pub ref_remaining: f64,
pub gain: f64,
}Expand description
Brunel-Wang 2001 — LIF with NMDA (Mg²⁺ block), AMPA, and GABA synaptic conductances for decision-making and working memory circuits.
Key feature: voltage-dependent NMDA conductance via Mg²⁺ block factor
1 / (1 + [Mg²⁺]/3.57 · exp(-0.062·V)). This creates positive feedback
that sustains persistent activity in recurrent circuits.
The single-current interface routes external input to i_ampa_ext; recurrent
AMPA/NMDA/GABA inputs are zero (use the multi-arg step_full() for
network simulations).
Brunel, N. & Wang, X.J., J Comput Neurosci 11:63, 2001.
Fields§
§v: f64§v_rest: f64§v_reset: f64§v_threshold: f64§tau_m: f64§tau_ref: f64§g_ampa_ext: f64§g_ampa_rec: f64§g_nmda: f64§g_gaba: f64§v_ampa: f64§v_nmda: f64§v_gaba: f64§c_m: f64§mg_conc: f64§dt: f64§ref_remaining: f64§gain: f64Implementations§
Source§impl BrunelWangNeuron
impl BrunelWangNeuron
pub fn new() -> Self
Sourcefn nmda_mg_block(&self, v: f64) -> f64
fn nmda_mg_block(&self, v: f64) -> f64
Mg²⁺ block factor (Jahr & Stevens 1990).
Sourcepub fn step_full(
&mut self,
i_ampa_ext: f64,
s_ampa_rec: f64,
s_nmda_rec: f64,
s_gaba: f64,
) -> i32
pub fn step_full( &mut self, i_ampa_ext: f64, s_ampa_rec: f64, s_nmda_rec: f64, s_gaba: f64, ) -> i32
Full step with all 4 synaptic inputs (for network simulations).
Sourcepub fn step(&mut self, current: f64) -> i32
pub fn step(&mut self, current: f64) -> i32
Single-current interface: routes input to external AMPA drive.
pub fn reset(&mut self)
Trait Implementations§
Source§impl Clone for BrunelWangNeuron
impl Clone for BrunelWangNeuron
Source§fn clone(&self) -> BrunelWangNeuron
fn clone(&self) -> BrunelWangNeuron
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 BrunelWangNeuron
impl Debug for BrunelWangNeuron
Auto Trait Implementations§
impl Freeze for BrunelWangNeuron
impl RefUnwindSafe for BrunelWangNeuron
impl Send for BrunelWangNeuron
impl Sync for BrunelWangNeuron
impl Unpin for BrunelWangNeuron
impl UnsafeUnpin for BrunelWangNeuron
impl UnwindSafe for BrunelWangNeuron
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