## Izhikevich type Implementation

Anything that doesn't fit elsewhere.
pranit
Posts: 7
Joined: Mon Nov 22, 2010 4:23 pm

### Izhikevich type Implementation

Hi,
I have a Biologically realistic cell which i want to convert in Izhekevich type one. I looked at the code posted in one of the models (http://senselab.med.yale.edu/modeldb/s ... h\izh.mod). It says that we have to create a dummy variable vv for voltage instead of using NEURONS default v. I wanted to use NEURONS default v along with the compartment properties used in the biological model ( Length, diam, Cm etc). I have come up with the following code which gives the correct result for the Izhikevich model from the book "Dynamical Systems in Neuroscience" pg 282-283.

Code: Select all

``````NEURON {
POINT_PROCESS Izhi
NONSPECIFIC_CURRENT Iizhi
RANGE Iizhi
RANGE k, vr, vt, a, b, vpeak, c, d, uinit
RANGE Ifast
}

UNITS {
(mV) = (millivolt)
(nA) = (nanoamp)
(pA) = (picoamp)
(uS) = (microsiemens)
(nS) = (nanosiemens)
}

PARAMETER {
k = 0.7	(pA/mV2)
vr = -60 (mV)
vt = -40 (mV)
a = 0.03 (1/ms)
b = -2 (nS)
vpeak = 35 (mV)
c = -50 (mV)
d = 100 (pA)
uinit = 0 (pA)
}

ASSIGNED {
v (mV)
Iizhi (nA)
Ifast (nA)
}

STATE {
u (nA)
}

INITIAL {

net_send(0,1)
}

BREAKPOINT {

SOLVE recvars METHOD cnexp
Ifast = k*(v-vr)*(v-vt)
Iizhi = (-(Ifast - u))/1000
}

DERIVATIVE recvars {
u' = a*(b*(v-vr)-u)
}

if (flag == 1) {
WATCH (v > vpeak) 2
} else if (flag == 2) {
net_event(t)
v = c
u = u+d
}
}
``````

My question is that will resetting NEURONS default v in NET_RECEIVE block cause problems for this model. It seems to work correctly but just wanted to know as we will be using this implementation to convert Biologically realistic multi-compartment models to this type.
hines
Posts: 1603
Joined: Wed May 18, 2005 3:32 pm

### Re: Izhikevich type Implementation

It is supposed to work with fixed and variable time step methods and also if you choose
cvode.condition_order(2).
However it is ALWAYS a good idea to test with cases you know the answer to.