# izhikevich_tutorial_neuron # ########################## # # # Copyright statement # +++++++++++++++++++ # # This file is part of NEST. # # Copyright (C) 2004 The NEST Initiative # # NEST is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # NEST is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with NEST. If not, see . # model izhikevich_tutorial_neuron: state: v mV = -65 mV # Membrane potential in mV u real = 0 # Membrane potential recovery variable equations: v' = (.04 * v * v / 1 mV + 5 * v + (140 - u) * 1 mV + (I_e * 1 GOhm)) / 1 ms u' = a * (b * v - u * 1 mV) / (1 mV*ms) parameters: a real = .02 # describes time scale of recovery variable b real = .2 # sensitivity of recovery variable c mV = -65 mV # after-spike reset value of v d real = 8 # after-spike reset value of u internals: unit_psp mV = 1 mV # Unitary postsynaptic potential amplitude input: spikes <- spike I_e pA <- continuous output: spike update: integrate_odes() onReceive(spikes): # add synaptic current v += unit_psp * spikes * 1 s onCondition(v >= 30 mV): # threshold crossing v = c u += d emit_spike()