aeif_cond_alpha_multisynapse - Conductance based adaptive exponential
integrate-and-fire neuron model according
to Brette and Gerstner (2005) with
multiple synaptic rise time and decay
time constants, and synaptic conductance
modeled by an alpha function.
import nest
import numpy as np
neuron = nest.Create('aeif_cond_alpha_multisynapse')
nest.SetStatus(neuron, {"V_peak": 0.0, "a": 4.0, "b":80.5})
nest.SetStatus(neuron, {'E_rev':[0.0, 0.0, 0.0, -85.0],
'tau_syn':[1.0, 5.0, 10.0, 8.0]})
spike = nest.Create('spike_generator', params = {'spike_times':
np.array([10.0])})
voltmeter = nest.Create('voltmeter', 1, {'withgid': True})
delays=[1.0, 300.0, 500.0, 700.0]
w=[1.0, 1.0, 1.0, 1.0]
for syn in range(4):
nest.Connect(spike, neuron, syn_spec={'model': 'static_synapse',
'receptor_type': 1 + syn,
'weight': w[syn],
'delay': delays[syn]})
nest.Connect(voltmeter, neuron)
nest.Simulate(1000.0)
dmm = nest.GetStatus(voltmeter)[0]
Vms = dmm["events"]["V_m"]
ts = dmm["events"]["times"]
import pylab
pylab.figure(2)
pylab.plot(ts, Vms)
pylab.show()
aeif_cond_alpha_multisynapse is a conductance-based adaptive exponential
integrate-and-fire neuron model. It allows an arbitrary number of synaptic
time constants. Synaptic conductance is modeled by an alpha function, as
described by A. Roth and M.C.W. van Rossum in Computational Modeling Methods
for Neuroscientists, MIT Press 2013, Chapter 6.
The time constants are supplied by an array, "tau_syn", and the pertaining
synaptic reversal potentials are supplied by the array "E_rev". Port numbers
are automatically assigned in the range from 1 to n_receptors.
During connection, the ports are selected with the property "receptor_type".
The membrane potential is given by the following differential equation:
@f[
C dV/dt = -g_L(V-E_L) + g_L*\Delta_T*\exp((V-V_T)/\Delta_T)
+ I_{syn_{tot}}(V, t)- w + I_e
@f]
where
@f[ I_{syn_{tot}}(V,t) = \sum_i g_i(t) (V - E_{rev,i}) , @f]
the synapse i is excitatory or inhibitory depending on the value of
\f$ E_{rev,i}\f$
and the differential equation for the spike-adaptation current w is:
@f[ \tau_w * dw/dt = a(V - E_L) - w @f]
When the neuron fires a spike, the adaptation current w <- w + b.
The following parameters can be set in the status dictionary.
\verbatim embed:rst
======== ======= =======================================
**Dynamic state variables:**
--------------------------------------------------------
V_m mV Membrane potential
w pA Spike-adaptation current
======== ======= =======================================
======== ======= =======================================
**Membrane Parameters**
--------------------------------------------------------
C_m pF Capacity of the membrane
t_ref ms Duration of refractory period
V_reset mV Reset value for V_m after a spike
E_L mV Leak reversal potential
g_L nS Leak conductance
I_e pA Constant external input current
Delta_T mV Slope factor
V_th mV Spike initiation threshold
V_peak mV Spike detection threshold
======== ======= =======================================
======== ======= ==================================
**Spike adaptation parameters**
---------------------------------------------------
a ns Subthreshold adaptation
b pA Spike-triggered adaptation
tau_w ms Adaptation time constant
======== ======= ==================================
======== ============= ========================================================
**Synaptic parameters**
-------------------------------------------------------------------------------
E_rev list of mV Reversal potential
tau_syn list of ms Time constant of synaptic conductance
======== ============= ========================================================
============= ======= =========================================================
**Integration parameters**
-------------------------------------------------------------------------------
gsl_error_tol real This parameter controls the admissible error of the
GSL integrator. Reduce it if NEST complains about
numerical instabilities.
============= ======= =========================================================
\endverbatim
SpikeEvent, CurrentEvent, DataLoggingRequest
SpikeEvent
Hans Ekkehard Plesser, based on aeif_cond_beta_multisynapse
/var/www/debian/nest/nest-simulator-2.18.0/models/aeif_cond_alpha_multisynapse.h