Probably need some advice about synapses and connections

I couldn’t understand what is my exact problem but I already tried different types of input so I believe the problem is not there. And when I look at my plot I couldn’t understand either. I guess I need a synapse equation but could anyone please help me about what is the problem here :slight_smile: Thanks!

Minimal code to reproduce problem

I convert my “stim” array to TimedArray:


from brian2 import *

my_stim = TimedArray(stim * Hz, dt=1*ms)
tau=10*ms

P = PoissonGroup(1, rates='I_stim(t)')
A = NeuronGroup(100, 'dv/dt = -v/tau : volt', threshold='v > -50*mV', reset='v = -70*mV', refractory=5*ms)

P_A = Synapses(P,A, model='w : volt', on_pre='v += w', delay = 2*ms)
P_A.connect(condition='i != j')

A_M = StateMonitor(A, variables=True, record=True)
A_SM = SpikeMonitor(A)

run(1*second)

plot(A_M.t / ms, A_M[0].v / mV)
ylabel('v (mV)')
xlabel('t (ms)')
show()

plot(A_SM.t/ms, A_SM.i, '.')
xlim(0, 1*second/ms)
show()

Actual output

Hi @SirK ,
It’s hard to tell from your code what exactly is happening here. This code should return an error unless you posted a code snippet.

Below are a few problems:

  • there is no variable stimTimedArray should return an error
  • there is no variable I_stimPoissonGroup should return an error
  • in the equation for voltage, there is no resting potential – voltage is trying to return back to zero after it is reset to -70mV each time it crosses -50mV. These neurons must oscillate at a pretty high frequency.
  • finally, you defined variable w for synapses P_A "w : volt" but you don’t set this variable to a specific value (like P_A.w=5*mV), but the value by default is zero – spikes from P never effect A.

Hope it helps,
rth

I believe I cannot express myself clearly sorry for that. I dropped the timed array method and wrote some equations for my first neuron group to generate stimulation and solved my problem.
Thank you so much for your effort have a nice day :slight_smile:

1 Like