Firing rate result

Description of problem

I am monitoring the firing rate results of each cell in a network connected with CTX, FSN, GPe, MSN, and STN. However, when I increase the number of neurons in each cell by 10 times, the simulation results show that all neurons are firing at every time point. What could be the cause of this issue?

Minimal code to reproduce problem

FSN model code

from brian2 import *

eqs = ‘’’
dv/dt = (-g_L * (v - E_L) + g_L * Delta_T * exp((v - vt) / Delta_T) - u + I) / C : volt
du/dt = (a * (v - E_L) - u) / tau_w : amp
I = Ispon + Istim + Isyn : amp
Istim : amp
Ispon : amp
Isyn = -(I_AMPA_GPeT1 + I_NMDA + I_GABA_GPeT1): amp

I_AMPA_GPeT1 : amp
I_NMDA : amp
I_GABA_GPeT1 : amp

g_L : siemens
E_L : volt
Delta_T: volt
vt : volt
vr : volt
tau_w : second
th : volt
a : siemens
d : amp
C : farad
‘’’

class NeuronModel:
def init(self, N, params):
# Parse the parameters from the params dictionary
super().init(N, params)
self.neurons = None

def create_neurons(self):
    raise NotImplementedError("Subclasses should implement this method.")

class GPeT1(NeuronModel):
def init(self, N, params):
# Parse the parameters from the params dictionary
self.N = N
self.params = params
self.neurons = None

def create_neurons(self):
    # Define the GPe neuron model based on the params
        
    self.neurons = NeuronGroup(self.N, eqs, threshold='v > th', reset='v = vr; u += d', method='euler')

    self.neurons.g_L = self.params['g_L']['value'] * eval(self.params['g_L']['unit'])
    self.neurons.E_L = self.params['E_L']['value'] * eval(self.params['E_L']['unit'])
    self.neurons.Delta_T = self.params['Delta_T']['value'] * eval(self.params['Delta_T']['unit'])
    self.neurons.vt = self.params['vt']['value'] * eval(self.params['vt']['unit'])
    self.neurons.vr = self.params['vr']['value'] * eval(self.params['vr']['unit'])
    self.neurons.tau_w = self.params['tau_w']['value'] * eval(self.params['tau_w']['unit'])
    self.neurons.th = self.params['th']['value'] * eval(self.params['th']['unit'])
    self.neurons.a = self.params['a']['value'] * eval(self.params['a']['unit'])
    self.neurons.d = self.params['d']['value'] * eval(self.params['d']['unit'])
    self.neurons.C = self.params['C']['value'] * eval(self.params['C']['unit'])
    
    
    return self.neurons

What you have aready tried

Expected output (if relevant)

Actual output (if relevant)

Full traceback of error (if relevant)

Hi @keun, It is hard to see what is going on like this, but how did you scale the synaptic parameters of your network with the increased number of neurons? For example, if you have fixed connection probabilities and weights, then each neuron will receive 10 times more input after scaling up the network size.