![]() |
GeNN
4.9.0
GPU enhanced Neuronal Networks (GeNN)
|
Izhikevich neuron with fixed parameters [1]. More...
#include <neuronModels.h>
Public Types | |
typedef Snippet::ValueBase< 4 > | ParamValues |
typedef Models::VarInitContainerBase< 2 > | VarValues |
typedef Models::VarInitContainerBase< 0 > | PreVarValues |
typedef Models::VarInitContainerBase< 0 > | PostVarValues |
![]() | |
typedef std::vector< Var > | VarVec |
typedef std::vector< VarRef > | VarRefVec |
typedef std::vector< EGPRef > | EGPRefVec |
![]() | |
typedef std::vector< std::string > | StringVec |
typedef std::vector< EGP > | EGPVec |
typedef std::vector< ParamVal > | ParamValVec |
typedef std::vector< DerivedParam > | DerivedParamVec |
Public Member Functions | |
virtual std::string | getSimCode () const override |
Gets the code that defines the execution of one timestep of integration of the neuron model. More... | |
virtual std::string | getThresholdConditionCode () const override |
Gets code which defines the condition for a true spike in the described neuron model. More... | |
virtual StringVec | getParamNames () const override |
Gets names of of (independent) model parameters. More... | |
virtual VarVec | getVars () const override |
Gets names and types (as strings) of model variables. More... | |
SET_NEEDS_AUTO_REFRACTORY (false) | |
![]() | |
virtual std::string | getResetCode () const |
Gets code that defines the reset action taken after a spike occurred. This can be empty. More... | |
virtual std::string | getSupportCode () const |
Gets support code to be made available within the neuron kernel/funcion. More... | |
virtual Models::Base::ParamValVec | getAdditionalInputVars () const |
virtual bool | isAutoRefractoryRequired () const |
Does this model require auto-refractory logic? More... | |
boost::uuids::detail::sha1::digest_type | getHashDigest () const |
Update hash from model. More... | |
void | validate () const |
Validate names of parameters etc. More... | |
![]() | |
size_t | getVarIndex (const std::string &varName) const |
Find the index of a named variable. More... | |
![]() | |
virtual | ~Base () |
virtual DerivedParamVec | getDerivedParams () const |
virtual EGPVec | getExtraGlobalParams () const |
size_t | getExtraGlobalParamIndex (const std::string ¶mName) const |
Find the index of a named extra global parameter. More... | |
Static Public Member Functions | |
static const NeuronModels::Izhikevich * | getInstance () |
Additional Inherited Members | |
![]() | |
void | updateHash (boost::uuids::detail::sha1 &hash) const |
void | validate () const |
Validate names of parameters etc. More... | |
![]() | |
void | updateHash (boost::uuids::detail::sha1 &hash) const |
void | validate () const |
Validate names of parameters etc. More... | |
![]() | |
template<typename T > | |
static size_t | getNamedVecIndex (const std::string &name, const std::vector< T > &vec) |
Izhikevich neuron with fixed parameters [1].
It is usually described as
I is an external input current and the voltage V is reset to parameter c and U incremented by parameter d, whenever V >= 30 mV. This is paired with a particular integration procedure of two 0.5 ms Euler time steps for the V equation followed by one 1 ms time step of the U equation. Because of its popularity we provide this model in this form here event though due to the details of the usual implementation it is strictly speaking inconsistent with the displayed equations.
Variables are:
V
- Membrane potentialU
- Membrane recovery variableParameters are:
a
- time scale of Ub
- sensitivity of Uc
- after-spike reset value of Vd
- after-spike reset value of U typedef Snippet::ValueBase< 4 > NeuronModels::Izhikevich::ParamValues |
|
inlinestatic |
|
inlineoverridevirtual |
Gets names of of (independent) model parameters.
Reimplemented from Snippet::Base.
Reimplemented in NeuronModels::IzhikevichVariable.
|
inlineoverridevirtual |
Gets the code that defines the execution of one timestep of integration of the neuron model.
The code will refer to for the value of the variable with name "NN". It needs to refer to the predefined variable "ISYN", i.e. contain , if it is to receive input.
Reimplemented from NeuronModels::Base.
|
inlineoverridevirtual |
Gets code which defines the condition for a true spike in the described neuron model.
This evaluates to a bool (e.g. "V > 20").
Reimplemented from NeuronModels::Base.
|
inlineoverridevirtual |
Gets names and types (as strings) of model variables.
Reimplemented from Models::Base.
Reimplemented in NeuronModels::IzhikevichVariable.
NeuronModels::Izhikevich::SET_NEEDS_AUTO_REFRACTORY | ( | false | ) |