Description of problem
Hi everyone, I am trying to give a time-dependent input to a population of neurons. I have the values I want to input previously stored in an array, which I use to create a TimedArray, but I am failing to run the simulation.
The code below is an attempt with an input of ones, to try and understand where the dimension mismatch error stems from.
Minimal code to reproduce problem
# configure
dtime = 100
T = 1000
N = 5000
J = 1*br.Hz
br.start_scope()
br.defaultclock.dt = dtime*br.ms
# define external drive
drive = br.TimedArray(br.ones((int(T/dtime),N)),dt=dtime*br.ms)
# define equations
eqs='''
dphi/dt = omega_int + a_int*sin(phi) + coupl + drive(t,i)*Hz + sigma_int*xi : 1
coupl : hertz
drive : 1
omega_int : hertz
a_int : hertz
sigma_int : hertz**0.5
'''
# define population
neurons = br.NeuronGroup(N,eqs,threshold='sin(phi)>0.6',reset='',method='heun')
neurons.phi = 2*math.pi * br.np.random.uniform(size=N)
neurons.omega_int = 1*br.Hz
neurons.a_int = 1*br.Hz
neurons.sigma_int = 1*br.Hz**0.5
conn = br.Synapses(neurons,neurons,'coupl_post = J/N_pre*sin(phi_pre-phi_post) : hertz (summed)')
conn.connect(p=1)
br.run(T*br.ms)
What you have aready tried
Changing the units of measurement for “drive”, always getting a DimensionMismatchError
Expected output (if relevant)
Simulation where “drive” is summed to the derivative of “phi”
Actual output (if relevant)
DimensionMismatchError
Object was created here (most recent call only, full details in debug log):
File ‘/mnt/hubel-data-103/Pietro/Kur_Crit/brian_utils.py’, line 45, in simulate_Kuramoto
neurons = br.NeuronGroup(N,eqs,threshold=‘sin(phi)>0.6’,reset=‘’,method=‘heun’)