-
Notifications
You must be signed in to change notification settings - Fork 1
/
IF_syndep_sparse.ode
59 lines (47 loc) · 1.81 KB
/
IF_syndep_sparse.ode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# network of 100 I&F cells with heterogeneous input current (Ii)
# sparse random coupling (10% connectivity) with synaptic depression
#
# From Tabak, Mascagni, Bertram. J Neurophysiol, 103:2208-2221, 2010
#
# cellular parameters
p i0=0.15 deli=1
p trefrac=.25 dtr=.05 vreset=0
# synaptic parameters
p taus=1 tauf=.1
p gsyn=2.8 vsyn=5
p alphad=0.004 betad=0.4
# create the table of applied currents Ii
#uniformly spaced Ii in the interval [i0, i0+deli] :
table iapp % 100 0 99 i0+t*deli/99
#random table of Ii distributed in the interval [i0, i0+deli] :
#table iapp % 100 0 99 ran(1)*(deli)+i0
# create tables for synaptic weight and connectivity
# 10 connection per cells so 10x100 = 1000 connections
table weight % 1000 0 999 gsyn/10
table connect % 1000 0 999 flr(ran(1)*100)
# differential equations
# v[i] membrane potential of cell i
# a[i] synaptic drive from cell i
# s[i] synaptic recovery for terminals from cell i
# tr[i] time of last spike from cell i
v[0..99]'=(-v[j]-syn([j])*(v[j]-vsyn)+iapp([j]))*heav(t-(tr[j]+trefrac))
tr[0..99]'=0
a[0..99]'=heav((tr[j]+dtr)-t)*(1-a[j])/tauf-a[j]/taus
s[0..99]'=alphad*(1-s[j])-betad*heav((tr[j]+dtr)-t)*s[j]
# the following calculates the table of synaptic inputs used in the v' equation
# see the xpp book p 151
as[0..99] = a[j]*s[j]
special syn=sparse(100,10,weight,connect,as0)
# auxiliary variables for output
aux ave=sum(0,99)of(shift(a0,i'))/100
aux stot=sum(0,99)of(shift(s0,i'))/100
# only output these variables when running in silent mode
only t ave stot
# initial conditions
init v[0..99]=0 tr[j]=-5 s[j]=0.5 a[j]=0.01
#reset of membrane potential after crossing firing threshold
global 1 {v[0..99]-1} {v[j]=vreset;tr[j]=t}
# simulation options
@ total=2000, bounds=100000 back=white maxstor=2000000 yp=ave
@ dt=0.001 njmp=100 xlo=0 xhi=2000 ylo=0 yhi=0.6 nplot=2 yp2=stot
d