Neuron models with currentbased synapses¶

class
aeif_psc_alpha
: public Archiving_Node  #include <aeif_psc_alpha.h>
Name: aeif_psc_alpha  Currentbased exponential integrateandfire neuron model according to Brette and Gerstner (2005).
Description:
aeif_psc_alpha is the adaptive exponential integrate and fire neuron according to Brette and Gerstner (2005). Synaptic currents are modelled as alphafunctions.
This implementation uses the embedded 4th order RungeKuttaFehlberg solver with adaptive step size to integrate the differential equation.
The membrane potential is given by the following differential equation:
\[\begin{split} C dV/dt= g_L(VE_L)+g_L*\Delta_T*\exp((VV_T)/\Delta_T)g_e(t)(VE_e) \\ g_i(t)(VE_i)w +I_e \end{split}\]and
\[ \tau_w * dw/dt= a(VE_L) W \]Parameters:
The following parameters can be set in the status dictionary.
Dynamic state variables:
V_m
mV
Membrane potential
I_ex
pA
Excitatory synaptic current
dI_ex
pA/ms
First derivative of I_ex
I_in
pA
Inhibitory synaptic current
dI_in
pA/ms
First derivative of I_in
w
pA
Spikeadaptation current
g
pa
Spikeadaptation 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
Spike adaptation parameters
a
ns
Subthreshold adaptation
b
pA
Spiketriggered adaptation
Delta_T
mV
Slope factor
tau_w
ms
Adaptation time constant
V_th
mV
Spike initiation threshold
V_peak
mV
Spike detection threshold
Synaptic parameters
tau_syn_ex
ms
Rise time of excitatory synaptic conductance (alpha function)
tau_syn_in
ms
Rise time of the inhibitory synaptic conductance (alpha function)
Integration parameters
gsl_error_tol
real
This parameter controls the admissible error of the GSL integrator. Reduce it if NEST complains about numerical instabilities
Author: Tanguy Fardet
Sends: SpikeEvent
Receives: SpikeEvent, CurrentEvent, DataLoggingRequest
References:
 1
Brette R and Gerstner W (2005). Adaptive Exponential IntegrateandFire Model as an Effective Description of Neuronal Activity. J Neurophysiol 94:36373642. DOI: https://doi.org/10.1152/jn.00686.2005
SeeAlso: iaf_psc_alpha, aeif_cond_exp

class
aeif_psc_delta
: public Archiving_Node  #include <aeif_psc_delta.h>
Name: aeif_psc_delta  Currentbased adaptive exponential integrateandfire neuron model according to Brette and Gerstner (2005) with delta synapse.
Description:
aeif_psc_delta is the adaptive exponential integrate and fire neuron according to Brette and Gerstner (2005), with postsynaptic currents in the form of delta spikes.
This implementation uses the embedded 4th order RungeKuttaFehlberg solver with adaptive stepsize to integrate the differential equation.
The membrane potential is given by the following differential equation:
\[\begin{split} C dV/dt= g_L(VE_L)+g_L*\Delta_T*\exp((VV_T)/\Delta_T)g_e(t)(VE_e) \\ g_i(t)(VE_i)w +I_e \end{split}\]and
\[ \tau_w * dw/dt= a(VE_L) W \]\[ I(t) = J \sum_k \delta(t  t^k). \]Here delta is the dirac delta function and k indexes incoming spikes. This is implemented such that V_m will be incremented/decremented by the value of J after a spike.
Parameters:
The following parameters can be set in the status dictionary.
Dynamic state variables
V_m
mV
Membrane potential
w
pA
Spikeadaptation 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
Spike adaptation parameters
a
ns
Subthreshold adaptation
b
pA
Spiketriggered adaptation
tau_w
ms
Adaptation time constant
Delta_T
mV
Slope factor
tau_w
ms
Adaptation time constant
V_th
mV
Spike initiation threshold
V_peak
mV
Spike detection threshold
Integration parameters
gsl_error_tol
real
This parameter controls the admissible error of the GSL integrator. Reduce it if NEST complains about numerical instabilities.
Author: Mikkel Elle Lepperød adapted from aeif_psc_exp and iaf_psc_delta
Sends: SpikeEvent
Receives: SpikeEvent, CurrentEvent, DataLoggingRequest
References:
 1
Brette R and Gerstner W (2005). Adaptive Exponential IntegrateandFire Model as an Effective Description of Neuronal Activity. J Neurophysiol 94:36373642. DOI: https://doi.org/10.1152/jn.00686.2005
SeeAlso: iaf_psc_delta, aeif_cond_exp, aeif_psc_exp

class
aeif_psc_delta_clopath
: public Clopath_Archiving_Node  #include <aeif_psc_delta_clopath.h>
Name: aeif_psc_delta_clopath  Exponential integrateandfire neuron model according to Clopath et al. (2010).
Description:
aeif_psc_delta_clopath is an implementation of the neuron model as it is used in [1]. It is an extension of the aeif_psc_delta model and capable of connecting to a Clopath synapse.
Note that there are two points that are not mentioned in the paper but present in a MATLAB implementation by Claudia Clopath [3]. The first one is the clamping of the membrane potential to a fixed value after a spike occured to mimik a real spike and not just the upswing. This is important since the finite duration of the spike influences the evolution of the convolved versions (u_bar_[plus/minus]) of the membrane potential and thus the change of the synaptic weight. Secondly, there is a delay with which u_bar_[plus/minus] are used to compute the change of the synaptic weight.
Parameters:
The following parameters can be set in the status dictionary.
Dynamic state variables
V_m
mV
Membrane potential
w
pA
Spikeadaptation current
z
pA
Spikeadaptation current
V_th
mV
Adaptive spike initiation threshold
u_bar_plus
mV
Lowpass filtered Membrane potential
u_bar_minus
mV
Lowpass filtered Membrane potential
u_bar_bar
mV
Lowpass filtered u_bar_minus
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
tau_plus
ms
Time constant of u_bar_plus
tau_minus
ms
Time constant of u_bar_minus
tau_bar_bar
ms
Time constant of u_bar_bar
Spike adaptation parameters
a
nS
Subthreshold adaptation
b
pA
Spiketriggered adaptation
Delta_T
mV
Slope factor
tau_w
ms
Adaptation time constant
V_peak
mV
Spike detection threshold
V_th_max
mV
Value of V_th afer a spike
V_th_rest
mV
Resting value of V_th
Clopath rule parameters
A_LTD
1/mV
Amplitude of depression
A_LTP
1/mV^2
Amplitude of facilitation
theta_plus
mV
Threshold for u
theta_minus
mV
Threshold for u_bar_[plus/minus]
A_LTD_const
boolean
Flag that indicates whether A_LTD_ should be constant (true, default) or multiplied by u_bar_bar^2 / u_ref_squared (false).
delay_u_bars
real
Delay with which u_bar_[plus/minus] are processed to compute the synaptic weights.
U_ref_squared
real
Reference value for u_bar_bar_^2.
Other parameters
t_clamp
ms
Duration of clamping of Membrane potential after a spike
V_clamp
mV
Value to which the Membrane potential is clamped
Integration parameters
gsl_error_tol
real
This parameter controls the admissible error of the GSL integrator. Reduce it if NEST complains about numerical instabilities.
Note:
Neither the clamping nor the delayed processing of u_bar_[plus/minus] are mentioned in [1]. However, they are part of an reference implementation by Claudia Clopath et al. that can be found on ModelDB [3]. The clamping is important to mimic a spike which is otherwise not described by the aeif neuron model.
Author: Jonas Stapmanns, David Dahmen, Jan Hahne
Sends: SpikeEvent
Receives: SpikeEvent, CurrentEvent, DataLoggingRequest
References:
 1
Clopath et al. (2010). Connectivity reflects coding: a model of voltagebased STDP with homeostasis. Nature Neuroscience 13(3):344352. DOI: https://doi.org/10.1038/nn.2479
 2
Clopath and Gerstner (2010). Voltage and spike timing interact in STDP – a unified model. Frontiers in Synaptic Neuroscience. 2:25 DOI: https://doi.org/10.3389/fnsyn.2010.00025
 3
Voltagebased STDP synapse (Clopath et al. 2010) on ModelDB https://senselab.med.yale.edu/ModelDB/showmodel.cshtml?model=144566&file=%2f modeldb_package%2fVoTriCode%2faEIF.m

class
aeif_psc_exp
: public Archiving_Node  #include <aeif_psc_exp.h>
Name: aeif_psc_exp  Currentbased exponential integrateandfire neuron model according to Brette and Gerstner (2005).
Description:
aeif_psc_exp is the adaptive exponential integrate and fire neuron according to Brette and Gerstner (2005), with postsynaptic currents in the form of truncated exponentials.
This implementation uses the embedded 4th order RungeKuttaFehlberg solver with adaptive stepsize to integrate the differential equation.
The membrane potential is given by the following differential equation:
\[\begin{split} C dV/dt= g_L(VE_L)+g_L*\Delta_T*\exp((VV_T)/\Delta_T)g_e(t)(VE_e) \\ g_i(t)(VE_i)w +I_e \end{split}\]and
\[ \tau_w * dw/dt= a(VE_L) W \]Note that the spike detection threshold V_peak is automatically set to \( V_th+10 \) mV to avoid numerical instabilites that may result from setting V_peak too high.
Parameters:
The following parameters can be set in the status dictionary.
Dynamic state variables:
V_m
mV
Membrane potential
I_ex
pA
Excitatory synaptic current
I_in
pA
Inhibitory synaptic current
w
pA
Spikeadaptation 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
Spike adaptation parameters
a
ns
Subthreshold adaptation
b
pA
Spiketriggered adaptation
Delta_T
mV
Slope factor
tau_w
ms
Adaptation time constant
V_t
mV
Spike initiation threshold
V_peak
mV
Spike detection threshold
Synaptic parameters
tau_syn_ex
ms
Rise time of excitatory synaptic conductance (alpha function)
tau_syn_in
ms
Rise time of the inhibitory synaptic conductance (alpha function)
Integration parameters
gsl_error_tol
real
This parameter controls the admissible error of the GSL integrator. Reduce it if NEST complains about numerical instabilities
Author: Tanguy Fardet
Sends: SpikeEvent
Receives: SpikeEvent, CurrentEvent, DataLoggingRequest
References:
 1
Brette R and Gerstner W (2005). Adaptive Exponential IntegrateandFire Model as an Effective Description of Neuronal Activity. J Neurophysiol 94:36373642. DOI: https://doi.org/10.1152/jn.00686.2005
SeeAlso: iaf_psc_exp, aeif_cond_exp

class
amat2_psc_exp
: public Archiving_Node¶  #include <amat2_psc_exp.h>
Name: amat2_psc_exp  Nonresetting leaky integrateandfire neuron model with exponential PSCs and adaptive threshold.
Description:
amat2_psc_exp is an implementation of a leaky integrateandfire model with exponential shaped postsynaptic currents (PSCs). Thus, postsynaptic currents have an infinitely short rise time.
The threshold is lifted when the neuron is fired and then decreases in a fixed time scale toward a fixed level [3].
The threshold crossing is followed by a total refractory period during which the neuron is not allowed to fire, even if the membrane potential exceeds the threshold. The membrane potential is NOT reset, but continuously integrated.
The linear subthresold dynamics is integrated by the Exact Integration scheme [1]. The neuron dynamics is solved on the time grid given by the computation step size. Incoming as well as emitted spikes are forced to that grid.
An additional state variable and the corresponding differential equation represents a piecewise constant external current.
The general framework for the consistent formulation of systems with neuron like dynamics interacting by point events is described in [1]. A flow chart can be found in [2].
Remarks:
The default parameter values for this model are different from the corresponding parameter values for mat2_psc_exp.
If identical parameters are used, and beta==0, then this model shall behave exactly as mat2_psc_exp.
The time constants in the model must fullfill the following conditions:
\( \tau_m != {\tau_{syn_{ex}}, \tau_{syn_{in}}} \)
\( \tau_v != {\tau_{syn_{ex}}, \tau_{syn_{in}}} \)
\( \tau_m != \tau_v \) This is required to avoid singularities in the numerics. This is a problem of implementation only, not a principal problem of the model.
Expect unstable numerics if time constants that are required to be different are very close.
Parameters:
The following parameters can be set in the status dictionary:
C_m
pF
Capacity of the membrane
E_L
mV
Resting potential
tau_m
ms
Membrane time constant
tau_syn_ex
ms
Time constant of postsynaptic excitatory currents
tau_syn_in
ms
Time constant of postsynaptic inhibitory currents
t_ref
ms
Duration of absolute refractory period (no spiking)
V_m
mV
Membrane potential
I_e
pA
Constant input current
t_spike
ms
Point in time of last spike
tau_1
ms
Short time constant of adaptive threshold [3, eqs 23]
tau_2
ms
Long time constant of adaptive threshold [3, eqs 23]
alpha_1
mV
Amplitude of short time threshold adaption [3, eqs 23]
alpha_2
mV
Amplitude of long time threshold adaption [3, eqs 23]
tau_v
ms
Time constant of kernel for voltagedependent threshold component [3, eqs 1617]
beta
1/ms
Scaling coefficient for voltagedependent threshold component [3, eqs 1617]
omega
mV
Resting spike threshold (absolute value, not relative to E_L as in [3])
State variables that can be read out with the multimeter device
V_m
mV
Nonresetting membrane potential
V_th
mV
Twotimescale adaptive threshold
Remarks:
\( \tau_m != \tau_{syn_{ex,in}} \) is required by the current implementation to avoid a degenerate case of the ODE describing the model [1]. For very similar values, numerics will be unstable.
References:
 1
Rotter S, Diesmann M (1999). Exact simulation of timeinvariant linear systems with applications to neuronal modeling. Biologial Cybernetics 81:381402. DOI: https://doi.org/10.1007/s004220050570
 2
Diesmann M, Gewaltig MO, Rotter S, & Aertsen A (2001). State space analysis of synchronous spiking in cortical neural networks. Neurocomputing 3840:565571. DOI: https://doi.org/10.1016/S09252312(01)00409X
 3
Kobayashi R, Tsubo Y and Shinomoto S (2009). Madetoorder spiking neuron model equipped with a multitimescale adaptive threshold. Frontiers in Computational Neuroscience, 3:9. DOI: https://dx.doi.org/10.3389%2Fneuro.10.009.2009
 4
Yamauchi S, Kim H, Shinomoto S (2011). Elemental spiking neuron model for reproducing diverse firing patterns and predicting precise firing times. Frontiers in Computational Neuroscience, 5:42. DOI: https://doi.org/10.3389/fncom.2011.00042
Sends: SpikeEvent
Receives: SpikeEvent, CurrentEvent, DataLoggingRequest
FirstVersion: April 2013
Author: Thomas Heiberg & Hans E. Plesser (modified mat2_psc_exp model of Thomas Pfeil)

class
hh_psc_alpha
: public Archiving_Node¶  #include <hh_psc_alpha.h>
Name: hh_psc_alpha  HodgkinHuxley neuron model.
Description:
hh_psc_alpha is an implementation of a spiking neuron using the HodgkinHuxley formalism.
Postsynaptic currents Incoming spike events induce a postsynaptic change of current modelled by an alpha function. The alpha function is normalised such that an event of weight 1.0 results in a peak current of 1 pA.
Spike Detection Spike detection is done by a combined thresholdandlocalmaximum search: if there is a local maximum above a certain threshold of the membrane potential, it is considered a spike.
Parameters:
The following parameters can be set in the status dictionary.
V_m
mV
Membrane potential
E_L
mV
Leak reversal potential
C_m
pF
Capacity of the membrane
g_L
nS
Leak conductance
tau_ex
ms
Rise time of the excitatory synaptic alpha function
tau_in
ms
Rise time of the inhibitory synaptic alpha function
E_Na
mV
Sodium reversal potential
g_Na
nS
Sodium peak conductance
E_K
mV
Potassium reversal potential
g_K
nS
Potassium peak conductance
Act_m
real
Activation variable m
Act_h
real
Activation variable h
Inact_n
real
Inactivation variable n
I_e
pA
External input current
Problems/Todo:
better spike detection initial wavelet/spike at simulation onset
References:
 1
Gerstner W, Kistler W (2002). Spiking neuron models: Single neurons, populations, plasticity. New York: Cambridge University Press
 2
Dayan P, Abbott LF (2001). Theoretical neuroscience: Computational and mathematical modeling of neural systems. Cambridge, MA: MIT Press. https://pure.mpg.de/pubman/faces/ViewItemOverviewPage.jsp?itemId=item_3006127>
 3
Hodgkin AL and Huxley A F (1952). A quantitative description of membrane current and its application to conduction and excitation in nerve. The Journal of Physiology 117. DOI: https://doi.org/10.1113/jphysiol.1952.sp004764
Sends: SpikeEvent
Receives: SpikeEvent, CurrentEvent, DataLoggingRequest
Authors: Schrader
SeeAlso: hh_cond_exp_traub

class
hh_psc_alpha_clopath
: public Clopath_Archiving_Node  #include <hh_psc_alpha_clopath.h>
Name: hh_psc_alpha_clopath  HodgkinHuxley neuron model with support for the Clopath synapse.
Description:
hh_psc_alpha_clopath is an implementation of a spiking neuron using the HodgkinHuxley formalism and that is capable of connecting to a Clopath synapse.
(1) Postsynaptic currents Incoming spike events induce a postsynaptic change of current modelled by an alpha function. The alpha function is normalised such that an event of weight 1.0 results in a peak current of 1 pA.
(2) Spike Detection Spike detection is done by a combined thresholdandlocalmaximum search: if there is a local maximum above a certain threshold of the membrane potential, it is considered a spike.
Parameters:
The following parameters can be set in the status dictionary.
Dynamic state variables
V_m
mV
Membrane potential
u_bar_plus
mV
Lowpass filtered Membrane potential
u_bar_minus
mV
Lowpass filtered Membrane potential
u_bar_bar
mV
Lowpass filtered u_bar_minus
Membrane Parameters
E_L
mV
Leak reversal potential
C_m
pF
Capacity of the membrane
g_L
nS
Leak conductance
tau_ex
ms
Rise time of the excitatory synaptic alpha function
tau_in
ms
Rise time of the inhibitory synaptic alpha function
E_Na
mV
Sodium reversal potential
g_Na
nS
Sodium peak conductance
E_K
mV
Potassium reversal potential
g_K
nS
Potassium peak conductance
Act_m
real
Activation variable m
Act_h
real
Activation variable h
Inact_n
real
Inactivation variable n
I_e
pA
External input current
Clopath rule parameters
A_LTD
1/mV
Amplitude of depression
A_LTP
1/mV^2
Amplitude of facilitation
theta_plus
mV
Threshold for u
theta_minus
mV
Threshold for u_bar_[plus/minus]
A_LTD_const
boolean
Flag that indicates whether A_LTD_ should be constant (true, default) or multiplied by u_bar_bar^2 / u_ref_squared (false).
delay_u_bars
real
Delay with which u_bar_[plus/minus] are processed to compute the synaptic weights.
U_ref_squared
real
Reference value for u_bar_bar_^2.
Problems/Todo:
better spike detection initial wavelet/spike at simulation onset
References:
 1
Gerstner W and Kistler WM (2002). Spiking neuron models: Single neurons, populations, plasticity. New York: Cambridge university press.
 2
Dayan P and Abbott L (2001). Theoretical Neuroscience: Computational and Mathematical Modeling of Neural Systems. Cambridge, MA: MIT Press. https://pure.mpg.de/pubman/faces/ViewItemOverviewPage.jsp?itemId=item_3006127
 3
Hodgkin AL and Huxley A F (1952). A quantitative description of membrane current and its application to conduction and excitation in nerve. The Journal of Physiology 117. DOI: https://doi.org/10.1113/jphysiol.1952.sp004764
 4
Clopath et al. (2010). Connectivity reflects coding: a model of voltagebased STDP with homeostasis. Nature Neuroscience 13(3):344352. DOI: https://doi.org/10.1038/nn.2479
 5
Clopath and Gerstner (2010). Voltage and spike timing interact in STDP – a unified model. Frontiers in Synaptic Neuroscience. 2:25 DOI: https://doi.org/10.3389/fnsyn.2010.00025
 6
Voltagebased STDP synapse (Clopath et al. 2010) connected to a HodgkinHuxley neuron on ModelDB: https://senselab.med.yale.edu/ModelDB/showmodel.cshtml?model=144566&file =%2fmodeldb_package%2fstdp_cc.mod
Sends: SpikeEvent
Receives: SpikeEvent, CurrentEvent, DataLoggingRequest
Author: Jonas Stapmanns, David Dahmen, Jan Hahne (adapted from hh_psc_alpha by Schrader)
SeeAlso: hh_psc_alpha, clopath_synapse, aeif_psc_delta_clopath

class
hh_psc_alpha_gap
: public Archiving_Node¶  #include <hh_psc_alpha_gap.h>
Name: hh_psc_alpha_gap  HodgkinHuxley neuron model with gapjunction support.
Description:
hh_psc_alpha_gap is an implementation of a spiking neuron using the HodgkinHuxley formalism. In contrast to hh_psc_alpha the implementation additionally supports gap junctions.
Postsynaptic currents Incoming spike events induce a postsynaptic change of current modelled by an alpha function. The alpha function is normalised such that an event of weight 1.0 results in a peak current of 1 pA.
Spike Detection Spike detection is done by a combined thresholdandlocalmaximum search: if there is a local maximum above a certain threshold of the membrane potential, it is considered a spike.
Gap Junctions Gap Junctions are implemented by a gap current of the form \( g_ij( V_i  V_j) \).
Parameters:
The following parameters can be set in the status dictionary.
tau_ex
ms
Rise time of the excitatory synaptic alpha function
tau_in
ms
Rise time of the inhibitory synaptic alpha function
g_K
nS
Potassium peak conductance
V_m
mV
Membrane potential
E_L
mV
Leak reversal potential
g_L
nS
Leak conductance
C_m
pF
Capacity of the membrane
tau_syn_ex
ms
Rise time of the excitatory synaptic alpha function
tau_syn_in
ms
Rise time of the inhibitory synaptic alpha function
E_Na
mV
Sodium reversal potential
g_Na
nS
Sodium peak conductance
E_K
mV
Potassium reversal potential
g_Kv1
nS
Potassium peak conductance
g_Kv3
nS
Potassium peak conductance
Act_m
real
Activation variable m
Act_h
real
Activation variable h
Inact_n
real
Inactivation variable n
I_e
pA
External input current
References:
 1
Gerstner W, Kistler W. Spiking neuron models: Single neurons, populations, plasticity. Cambridge University Press
 2
Mancilla JG, Lewis TG, Pinto DJ, Rinzel J, Connors BW (2007). Synchronization of electrically coupled pairs of inhibitory interneurons in neocortex, Journal of Neurosciece, 27:20582073 DOI: https://doi.org/10.1523/JNEUROSCI.271506.2007 (parameters taken from here)
 3
Hodgkin AL and Huxley A F (1952). A quantitative description of membrane current and its application to conduction and excitation in nerve. The Journal of Physiology 117. DOI: https://doi.org/10.1113/jphysiol.1952.sp004764
 4
Hahne J, Helias M, Kunkel S, Igarashi J, Bolten M, Frommer A, Diesmann M (2015). A unified framework for spiking and gapjunction interactions in distributed neuronal netowrk simulations. Frontiers in Neuroinformatics, 9:22. DOI: https://doi.org/10.3389/fninf.2015.00022
Sends: SpikeEvent, GapJunctionEvent
Receives: SpikeEvent, GapJunctionEvent, CurrentEvent, DataLoggingRequest
Author: Jan Hahne, Moritz Helias, Susanne Kunkel
SeeAlso: hh_psc_alpha, hh_cond_exp_traub, gap_junction

class
iaf_psc_alpha
: public Archiving_Node¶  #include <iaf_psc_alpha.h>
Name: iaf_psc_alpha  Leaky integrateandfire neuron model.
Description:
iaf_psc_alpha is an implementation of a leaky integrateandfire model with alphafunction shaped synaptic currents. Thus, synaptic currents and the resulting postsynaptic potentials have a finite rise time.
The threshold crossing is followed by an absolute refractory period during which the membrane potential is clamped to the resting potential.
The linear subthresold dynamics is integrated by the Exact Integration scheme [][1]. The neuron dynamics is solved on the time grid given by the computation step size. Incoming as well as emitted spikes are forced to that grid.
An additional state variable and the corresponding differential equation represents a piecewise constant external current.
The general framework for the consistent formulation of systems with neuron like dynamics interacting by point events is described in [1]. A flow chart can be found in [2].
Critical tests for the formulation of the neuron model are the comparisons of simulation results for different computation step sizes. sli/testsuite/nest contains a number of such tests.
The iaf_psc_alpha is the standard model used to check the consistency of the nest simulation kernel because it is at the same time complex enough to exhibit nontrivial dynamics and simple enough compute relevant measures analytically.
Remarks:
The present implementation uses individual variables for the components of the state vector and the nonzero matrix elements of the propagator. Because the propagator is a lower triangular matrix no full matrix multiplication needs to be carried out and the computation can be done “in place” i.e. no temporary state vector object is required.
The template support of recent C++ compilers enables a more succinct formulation without loss of runtime performance already at minimal optimization levels. A future version of iaf_psc_alpha will probably address the problem of efficient usage of appropriate vector and matrix objects.
Parameters:
The following parameters can be set in the status dictionary.
V_m
mV
Membrane potential
E_L
mV
Resting membrane potenial
C_m
pF
Capacity of the membrane
tau_m
ms
Membrane time constant
t_ref
ms
Duration of refractory period
V_th
mV
Spike threshold
V_reset
mV
Reset potential of the membrane
tau_syn_ex
ms
Rise time of the excitatory synaptic alpha function
tau_syn_in
ms
Rise time of the inhibitory synaptic alpha function
I_e
pA
Constant input current
V_min
mV
Absolute lower value for the membrane potenial
If tau_m is very close to tau_syn_ex or tau_syn_in, the model will numerically behave as if tau_m is equal to tau_syn_ex or tau_syn_in, respectively, to avoid numerical instabilities. For details, please see IAF_neurons_singularity.ipynb in the NEST source code (docs/model_details).
References:
 1
Rotter S, Diesmann M (1999). Exact simulation of timeinvariant linear systems with applications to neuronal modeling. Biologial Cybernetics 81:381402. DOI: https://doi.org/10.1007/s004220050570
 2
Diesmann M, Gewaltig MO, Rotter S, & Aertsen A (2001). State space analysis of synchronous spiking in cortical neural networks. Neurocomputing 3840:565571. DOI: https://doi.org/10.1016/S09252312(01)00409X
 3
Morrison A, Straube S, Plesser H E, Diesmann M (2006). Exact subthreshold integration with continuous spike times in discrete time neural network simulations. Neural Computation, in press DOI: https://doi.org/10.1162/neco.2007.19.1.47
Sends: SpikeEvent
Receives: SpikeEvent, CurrentEvent, DataLoggingRequest
FirstVersion: September 1999
Author: Diesmann, Gewaltig
SeeAlso: iaf_psc_delta, iaf_psc_exp, iaf_cond_exp

class
iaf_psc_alpha_multisynapse
: public Archiving_Node¶  #include <iaf_psc_alpha_multisynapse.h>
Name: iaf_psc_alpha_multisynapse  Leaky integrateandfire neuron model with multiple ports.
Description:
iaf_psc_alpha_multisynapse is a direct extension of iaf_psc_alpha. On the postsynapic side, there can be arbitrarily many synaptic time constants (iaf_psc_alpha has exactly two: tau_syn_ex and tau_syn_in).
This can be reached by specifying separate receptor ports, each for a different time constant. The port number has to match the respective “receptor_type” in the connectors.
Sends: SpikeEvent
Receives: SpikeEvent, CurrentEvent, DataLoggingRequest
Author: Schrader, adapted from iaf_psc_alpha
SeeAlso: iaf_psc_alpha, iaf_psc_delta, iaf_psc_exp, iaf_cond_exp, iaf_psc_exp_multisynapse

class
iaf_psc_delta
: public Archiving_Node¶  #include <iaf_psc_delta.h>
Name: iaf_psc_delta  Leaky integrateandfire neuron model.
Description:
iaf_psc_delta is an implementation of a leaky integrateandfire model where the potential jumps on each spike arrival.
The threshold crossing is followed by an absolute refractory period during which the membrane potential is clamped to the resting potential.
Spikes arriving while the neuron is refractory, are discarded by default. If the property “refractory_input” is set to true, such spikes are added to the membrane potential at the end of the refractory period, dampened according to the interval between arrival and end of refractoriness.
The linear subthresold dynamics is integrated by the Exact Integration scheme [1]. The neuron dynamics is solved on the time grid given by the computation step size. Incoming as well as emitted spikes are forced to that grid.
An additional state variable and the corresponding differential equation represents a piecewise constant external current.
The general framework for the consistent formulation of systems with neuron like dynamics interacting by point events is described in [1]. A flow chart can be found in [2].
Critical tests for the formulation of the neuron model are the comparisons of simulation results for different computation step sizes. sli/testsuite/nest contains a number of such tests.
The iaf_psc_delta is the standard model used to check the consistency of the nest simulation kernel because it is at the same time complex enough to exhibit nontrivial dynamics and simple enough compute relevant measures analytically.
Remarks:
The present implementation uses individual variables for the components of the state vector and the nonzero matrix elements of the propagator. Because the propagator is a lower triangular matrix no full matrix multiplication needs to be carried out and the computation can be done “in place” i.e. no temporary state vector object is required.
The template support of recent C++ compilers enables a more succinct formulation without loss of runtime performance already at minimal optimization levels. A future version of iaf_psc_delta will probably address the problem of efficient usage of appropriate vector and matrix objects.
Parameters:
The following parameters can be set in the status dictionary.
V_m
mV
Membrane potential
E_L
mV
Resting membrane potential
C_m
pF
Capacity of the membrane
tau_m
ms
Membrane time constant
t_ref
ms
Duration of refractory period
V_th
mV
Spike threshold
V_reset
mV
Reset potential of the membrane
I_e
pA
Constant input current
V_min
mV
Absolute lower value for the membrane potenial
refractory_input
boolean
If true, do not discard input during refractory period. Default: false
References:
 1
Rotter S, Diesmann M (1999). Exact simulation of timeinvariant linear systems with applications to neuronal modeling. Biologial Cybernetics 81:381402. DOI: https://doi.org/10.1007/s004220050570
 2
Diesmann M, Gewaltig MO, Rotter S, & Aertsen A (2001). State space analysis of synchronous spiking in cortical neural networks. Neurocomputing 3840:565571. DOI: https://doi.org/10.1016/S09252312(01)00409X
Sends: SpikeEvent
Receives: SpikeEvent, CurrentEvent, DataLoggingRequest
Author: September 1999, Diesmann, Gewaltig
SeeAlso: iaf_psc_alpha, iaf_psc_exp, iaf_psc_delta_ps

class
iaf_psc_exp
: public Archiving_Node¶  #include <iaf_psc_exp.h>
Name: iaf_psc_exp  Leaky integrateandfire neuron model with exponential PSCs.
Description:
iaf_psc_exp is an implementation of a leaky integrateandfire model with exponential shaped postsynaptic currents (PSCs) according to [1]. Thus, postsynaptic currents have an infinitely short rise time.
The threshold crossing is followed by an absolute refractory period (t_ref) during which the membrane potential is clamped to the resting potential and spiking is prohibited.
The linear subthresold dynamics is integrated by the Exact Integration scheme [2]. The neuron dynamics is solved on the time grid given by the computation step size. Incoming as well as emitted spikes are forced to that grid.
An additional state variable and the corresponding differential equation represents a piecewise constant external current.
The general framework for the consistent formulation of systems with neuron like dynamics interacting by point events is described in [2]. A flow chart can be found in [3].
Spiking in this model can be either deterministic (delta=0) or stochastic (delta model with escape noise [4, 5].
Remarks:
The present implementation uses individual variables for the components of the state vector and the nonzero matrix elements of the propagator. Because the propagator is a lower triangular matrix no full matrix multiplication needs to be carried out and the computation can be done “in place” i.e. no temporary state vector object is required.
The template support of recent C++ compilers enables a more succinct formulation without loss of runtime performance already at minimal optimization levels. A future version of iaf_psc_exp will probably address the problem of efficient usage of appropriate vector and matrix objects.
Parameters:
The following parameters can be set in the status dictionary.
E_L
mV
Resting membrane potential
C_m
pF
Capacity of the membrane
tau_m
ms
Membrane time constant
tau_syn_ex
ms
Time constant of postsynaptic excitatory currents
tau_syn_in
ms
Time constant of postsynaptic inhibitory currents
t_ref
ms
Duration of refractory period (V_m = V_reset)
V_m
mV
Membrane potential in mV
V_th
mV
Spike threshold in mV
V_reset
mV
Reset membrane potential after a spike
I_e
pA
Constant input current
t_spike
ms
Point in time of last spike
Remarks:
If tau_m is very close to tau_syn_ex or tau_syn_in, the model will numerically behave as if tau_m is equal to tau_syn_ex or tau_syn_in, respectively, to avoid numerical instabilities. For details, please see IAF_neurons_singularity.ipynb in the NEST source code (docs/model_details).
iaf_psc_exp can handle current input in two ways: Current input through receptor_type 0 are handled as stepwise constant current input as in other iaf models, i.e., this current directly enters the membrane potential equation. Current input through receptor_type 1, in contrast, is filtered through an exponential kernel with the time constant of the excitatory synapse, tau_syn_ex. For an example application, see [6].
References:
 1
Tsodyks M, Uziel A, Markram H (2000). Synchrony generation in recurrent networks with frequencydependent synapses. The Journal of Neuroscience, 20,RC50:15. URL: https://infoscience.epfl.ch/record/183402
 2
Rotter S, Diesmann M (1999). Exact simulation of timeinvariant linear systems with applications to neuronal modeling. Biologial Cybernetics 81:381402. DOI: https://doi.org/10.1007/s004220050570
 3
Diesmann M, Gewaltig MO, Rotter S, & Aertsen A (2001). State space analysis of synchronous spiking in cortical neural networks. Neurocomputing 3840:565571. DOI: https://doi.org/10.1016/S09252312(01)00409X
 4
Schuecker J, Diesmann M, Helias M (2015). Modulated escape from a metastable state driven by colored noise. Physical Review E 92:052119 DOI: https://doi.org/10.1103/PhysRevE.92.052119
Sends: SpikeEvent
Receives: SpikeEvent, CurrentEvent, DataLoggingRequest
SeeAlso: iaf_psc_exp_ps
FirstVersion: March 2006
Author: Moritz Helias

class
mat2_psc_exp
: public Archiving_Node¶  #include <mat2_psc_exp.h>
Name: mat2_psc_exp  Nonresetting leaky integrateandfire neuron model with exponential PSCs and adaptive threshold.
Description:
mat2_psc_exp is an implementation of a leaky integrateandfire model with exponential shaped postsynaptic currents (PSCs). Thus, postsynaptic currents have an infinitely short rise time.
The threshold is lifted when the neuron is fired and then decreases in a fixed time scale toward a fixed level [3].
The threshold crossing is followed by a total refractory period during which the neuron is not allowed to fire, even if the membrane potential exceeds the threshold. The membrane potential is NOT reset, but continuously integrated.
The linear subthresold dynamics is integrated by the Exact Integration scheme [1]. The neuron dynamics is solved on the time grid given by the computation step size. Incoming as well as emitted spikes are forced to that grid.
An additional state variable and the corresponding differential equation represents a piecewise constant external current.
The general framework for the consistent formulation of systems with neuron like dynamics interacting by point events is described in [1]. A flow chart can be found in [2].
Remarks:
The present implementation uses individual variables for the components of the state vector and the nonzero matrix elements of the propagator. Because the propagator is a lower triangular matrix no full matrix multiplication needs to be carried out and the computation can be done “in place” i.e. no temporary state vector object is required.
Parameters:
The following parameters can be set in the status dictionary:
C_m
pF
Capacity of the membrane
E_L
mV
Resting potential
tau_m
ms
Membrane time constant
tau_syn_ex
ms
Time constant of postsynaptic excitatory currents
tau_syn_in
ms
Time constant of postsynaptic inhibitory currents
t_ref
ms
Duration of absolute refractory period (no spiking)
V_m
mV
Membrane potential
I_e
pA
Constant input current
t_spike
ms
Point in time of last spike
tau_1
ms
Short time constant of adaptive threshold
tau_2
ms
Long time constant of adaptive threshold
alpha_1
mV
Amplitude of short time threshold adaption [3]
alpha_2
mV
Amplitude of long time threshold adaption [3]
omega
mV
Resting spike threshold (absolute value, not relative to E_L as in [3])
The following state variables can be read out with the multimeter device:
V_m
mV
Nonresetting membrane potential
V_th
mV
Twotimescale adaptive threshold
Remarks:
tau_m != tau_syn_{ex,in} is required by the current implementation to avoid a degenerate case of the ODE describing the model [1]. For very similar values, numerics will be unstable.
References:
 1
Rotter S and Diesmann M (1999). Exact simulation of timeinvariant linear systems with applications to neuronal modeling. Biologial Cybernetics 81:381402. DOI: https://doi.org/10.1007/s004220050570
 2
Diesmann M, Gewaltig MO, Rotter S, Aertsen A (2001). State space analysis of synchronous spiking in cortical neural networks. Neurocomputing 3840:565571. DOI:https://doi.org/10.1016/S09252312(01)00409X
 3
Kobayashi R, Tsubo Y and Shinomoto S (2009). Madetoorder spiking neuron model equipped with a multitimescale adaptive threshold. Frontiers in Computuational Neuroscience 3:9. DOI: https://doi.org/10.3389/neuro.10.009.2009
Receives: SpikeEvent, CurrentEvent, DataLoggingRequest
FirstVersion: Mai 2009
Author: Thomas Pfeil (modified iaf_psc_exp model of Moritz Helias)

class
pp_pop_psc_delta
: public Node¶  #include <pp_pop_psc_delta.h>
Name: pp_pop_psc_delta  Population of point process neurons with leaky integration of deltashaped PSCs.
Description:
pp_pop_psc_delta is an effective model of a population of neurons. The N component neurons are assumed to be spike response models with escape noise, also known as generalized linear models. We follow closely the nomenclature of [1]. The component neurons are a special case of pp_psc_delta (with purely exponential rate function, no reset and no random dead_time). All neurons in the population share the inputs that it receives, and the output is the pooled spike train.
The instantaneous firing rate of the N component neurons is defined as
\[ rate(t) = \rho_0 * \exp( (h(t)  \eta(t))/\delta_u ), \]where h(t) is the input potential (synaptic delta currents convolved with an exponential kernel with time constant tau_m), eta(t) models the effect of refractoriness and adaptation (the neuron’s own spike train convolved with a sum of exponential kernels with time constants tau_eta), and delta_u sets the scale of the voltages.
To represent a (homogeneous) population of N inhomogeneous renewal process neurons, we can keep track of the numbers of neurons that fired a certain number of time steps in the past. These neurons will have the same value of the hazard function (instantaneous rate), and we draw a binomial random number for each of these groups. This algorithm is thus very similar to ppd_sup_generator and gamma_sup_generator, see also [2].
However, the adapting threshold eta(t) of the neurons generally makes the neurons nonrenewal processes. We employ the quasirenewal approximation [1], to be able to use the above algorithm. For the extension of [1] to coupled populations see [3].
In effect, in each simulation time step, a binomial random number for each of the groups of neurons has to be drawn, independent of the number of represented neurons. For large N, it should be much more efficient than simulating N individual pp_psc_delta models.
pp_pop_psc_delta emits spike events like other neuron models, but no more than one per time step. If several component neurons spike in the time step, the multiplicity of the spike event is set accordingly. Thus, to monitor its output, the multiplicity of the spike events has to be taken into account. Alternatively, the internal variable n_events gives the number of spikes emitted in a time step, and can be monitored using a multimeter.
EDIT Nov 2016: pp_pop_psc_delta is now deprecated, because a new and presumably much faster population model implementation is now available, see gif_pop_psc_exp.
Parameters:
The following parameters can be set in the status dictionary.
N
integer
Number of represented neurons
tau_m
ms
Membrane time constant
C_m
pF
Capacitance of the membrane
rho_0
1/s
Base firing rate
delta_u
mV
Voltage scale parameter
I_e
pA
Constant input current
tau_eta
list of ms
Time constants of postspike kernel
val_eta
list of mV
Amplitudes of exponentials in postspikekernel
len_kernel
real
Postspike kernel eta is truncated after max(tau_eta) * len_kernel
The parameters correspond to the ones of pp_psc_delta as follows.
c_1
0.0
c_2
rho_0
c_3
1/delta_u
q_sfa
val_eta
tau_sfa
tau_eta
I_e
I_e
dead_time
simulation resolution
dead_time_random
False
with_reset
False
t_ref_remaining
0.0
References:
 1
Naud R, Gerstner W (2012). Coding and decoding with adapting neurons: a population approach to the peristimulus time histogram. PLoS Compututational Biology 8: e1002711. DOI: https://doi.org/10.1371/journal.pcbi.1002711
 2
Deger M, Helias M, Boucsein C, Rotter S (2012). Statistical properties of superimposed stationary spike trains. Journal of Computational Neuroscience 32:3, 443463. DOI: https://doi.org/10.1007/s1082701103628
 3
Deger M, Schwalger T, Naud R, Gerstner W (2014). Fluctuations and information filtering in coupled populations of spiking neurons with adaptation. Physical Review E 90:6, 062704. DOI: https://doi.org/10.1103/PhysRevE.90.062704
Sends: SpikeEvent
Receives: SpikeEvent, CurrentEvent, DataLoggingRequest
Author: May 2014, Setareh, Deger
SeeAlso: gif_pop_psc_exp, pp_psc_delta, ppd_sup_generator, gamma_sup_generator

class
pp_psc_delta
: public Archiving_Node¶  #include <pp_psc_delta.h>
Name: pp_psc_delta  Point process neuron with leaky integration of deltashaped PSCs.
Description:
pp_psc_delta is an implementation of a leaky integrator, where the potential jumps on each spike arrival. It produces spike stochastically, and supports spikefrequency adaptation, and other optional features.
Spikes are generated randomly according to the current value of the transfer function which operates on the membrane potential. Spike generation is followed by an optional dead time. Setting with_reset to true will reset the membrane potential after each spike.
The transfer function can be chosen to be linear, exponential or a sum of both by adjusting three parameters:
\[ rate = Rect[ c_1 * V' + c_2 * \exp(c_3 * V') ], \]where the effective potential \( V' = V_m  E_{sfa} \) and \( E_{sfa} \) is called the adaptive threshold. Here Rect means rectifier: \( Rect(x) = {x \text{ if } x>=0, 0 \text{ else}} \) (this is necessary because negative rates are not possible).
By setting c_3 = 0, c_2 can be used as an offset spike rate for an otherwise linear rate model.
The dead time enables to include refractoriness. If dead time is 0, the number of spikes in one time step might exceed one and is drawn from the Poisson distribution accordingly. Otherwise, the probability for a spike is given by \( 1  \exp(rate*h) \), where h is the simulation time step. If dead_time is smaller than the simulation resolution (time step), it is internally set to the resolution.
Note that, even if nonrefractory neurons are to be modeled, a small value of dead_time, like dead_time=1e8, might be the value of choice since it uses faster uniform random numbers than dead_time=0, which draws Poisson numbers. Only for very large spike rates (> 1 spike/time_step) this will cause errors.
The model can optionally include an adaptive firing threshold. If the neuron spikes, the threshold increases and the membrane potential will take longer to reach it. Here this is implemented by subtracting the value of the adaptive threshold E_sfa from the membrane potential V_m before passing the potential to the transfer function, see also above. E_sfa jumps by q_sfa when the neuron fires a spike, and decays exponentially with the time constant tau_sfa after (see [2] or [3]). Thus, the E_sfa corresponds to the convolution of the neuron’s spike train with an exponential kernel. This adaptation kernel may also be chosen as the sum of n exponential kernels. To use this feature, q_sfa and tau_sfa have to be given as a list of n values each.
The firing of pp_psc_delta is usually not a renewal process. For example, its firing may depend on its past spikes if it has nonzero adaptation terms (q_sfa). But if so, it will depend on all its previous spikes, not just the last one so it is not a renewal process model. However, if “with_reset” is True, and all adaptation terms (q_sfa) are 0, then it will reset (“forget”) its membrane potential each time a spike is emitted, which makes it a renewal process model (where “rate” above is its hazard function, also known as conditional intensity).
pp_psc_delta may also be called a spikeresponse model with escapenoise [6] (for vanishing, nonrandom dead_time). If c_1>0 and c_2==0, the rate is a convolution of the inputs with exponential filters which is a model known as a Hawkes point process (see [4]). If instead c_1==0, then pp_psc_delta is a point process generalized linear model (with the canonical link function, and exponential input filters) (see [5,6]).
This model has been adapted from iaf_psc_delta. The default parameters are set to the mean values given in [2], which have been matched to spiketrain recordings. Due to the many features of pp_psc_delta and its versatility, parameters should be set carefully and conciously.
Parameters:
The following parameters can be set in the status dictionary.
V_m
mV
Membrane potential
C_m
pF
Capacitance of the membrane
tau_m
ms
Membrane time constant
q_sfa
mV
Adaptive threshold jump
tau_sfa
ms
Adaptive threshold time constant
dead_time
ms
Duration of the dead time
dead_time_random
boolean
Should a random dead time be drawn after each spike?
dead_time_shape
integer
Shape parameter of dead time gamma distribution
t_ref_remaining
ms
Remaining dead time at simulation start
with_reset
boolean
Should the membrane potential be reset after a spike?
I_e
pA
Constant input current
c_1
Hz/mV
Slope of linear part of transfer function in Hz/mV
c_2
Hz
Prefactor of exponential part of transfer function
c_3
1/mV
Coefficient of exponential nonlinearity of transfer function
References:
 1
Cardanobile S, Rotter S (2010). Multiplicatively interacting point processes and applications to neural modeling. Journal of Computational Neuroscience 28(2):267284 DOI: https://doi.org/10.1007/s1082700902040
 2
Jolivet R, Rauch A, Luescher HR, Gerstner W. (2006). Predicting spike timing of neocortical pyramidal neurons by simple threshold models. Journal of Computational Neuroscience 21:3549. DOI: https://doi.org/10.1007/s1082700670745
 3
Pozzorini C, Naud R, Mensi S, Gerstner W (2013). Temporal whitening by powerlaw adaptation in neocortical neurons. Nature Neuroscience 16:942948. (Uses a similar model of multitimescale adaptation) DOI: https://doi.org/10.1038/nn.3431
 4
Grytskyy D, Tetzlaff T, Diesmann M, Helias M (2013). A unified view on weakly correlated recurrent networks. Frontiers in Computational Neuroscience, 7:131. DOI: https://doi.org/10.3389/fncom.2013.00131
 5
Deger M, Schwalger T, Naud R, Gerstner W (2014). Fluctuations and information filtering in coupled populations of spiking neurons with adaptation. Physical Review E 90:6, 062704. DOI: https://doi.org/10.1103/PhysRevE.90.062704
 6
Gerstner W, Kistler WM, Naud R, Paninski L (2014). Neuronal Dynamics: From single neurons to networks and models of cognition. Cambridge University Press
Sends: SpikeEvent
Receives: SpikeEvent, CurrentEvent, DataLoggingRequest
Author: July 2009, Deger, Helias; January 2011, Zaytsev; May 2014, Setareh
SeeAlso: pp_pop_psc_delta, iaf_psc_delta, iaf_psc_alpha, iaf_psc_exp, iaf_psc_delta_ps