1818ms = brian2 .ms
1919nA = brian2 .nA
2020uS = brian2 .uS
21+ nS = brian2 .nS
2122Hz = brian2 .Hz
2223nF = brian2 .nF
2324ampere = brian2 .amp
@@ -129,21 +130,14 @@ def __call__(self, P, spikes):
129130class AdaptiveNeuronGroup (BaseNeuronGroup ):
130131
131132 def __init__ (self , n , equations , ** parameters ):
132- #threshold = 'v >= {}*mV'.format(parameters["v_thresh"][0]*1000)
133133 thresh = parameters ["v_thresh" ][0 ]
134134 Vcut = thresh + parameters ["delta_T" ][0 ] * 5
135- threshold = 'v > {}*mV' .format (Vcut * 1000 )
135+ threshold = 'v > {}*mV' .format (Vcut / mV )
136136 self ._resetvalue = parameters .pop ('v_reset' )[0 ]
137137 self ._bvalue = parameters .pop ('b' )[0 ]
138- # period = simplify(parameters['tau_refrac'])*1000 ##### problem here with the refractory
139138 self ._refracvalue = parameters .pop ('tau_refrac' )[0 ]
140- reset = 'v = {}*mV; w+={}* amp' .format (self ._resetvalue * 10 ** 3 , self ._bvalue )
141- # refractory=None
139+ reset = 'v = {}*mV; w+={}*amp' .format (self ._resetvalue / mV , self ._bvalue / ampere )
142140 refractory = self ._refracvalue
143- # refractory=period
144- # parameters['tau_refrac']=parameters['tau_refrac']/ms
145-
146- #refractory = 0*ms
147141 BaseNeuronGroup .__init__ (self , n , equations ,
148142 threshold = threshold , reset = reset , refractory = refractory ,
149143 method = "rk2" , ** parameters )
@@ -169,7 +163,7 @@ def tau_refrac(self, tau_refrac_value):
169163 @v_reset .setter
170164 def v_reset (self , resetvalue ):
171165 #self._resetvalue = resetvalue * mV
172- self .event_codes ['spike' ] = 'v = {}*mV' .format (resetvalue )
166+ self .event_codes ['spike' ] = 'v = {}*mV' .format (resetvalue / mV )
173167
174168
175169class AdaptiveReset2 (object ):
@@ -187,13 +181,13 @@ def __call__(self, P, spikes):
187181class AdaptiveNeuronGroup2 (BaseNeuronGroup ):
188182
189183 def __init__ (self , n , equations , ** parameters ):
190- threshold = 'v >= {}*mV' .format (parameters ["v_thresh" ][0 ]* 1000 )
184+ threshold = 'v >= {}*mV' .format (parameters ["v_thresh" ][0 ] / mV )
191185 self ._resetvalue = parameters .pop ('v_reset' )[0 ]
192186 self ._q_rvalue = parameters .pop ('q_r' )[0 ] * 10 ** 9
193187 self ._q_svalue = parameters .pop ('q_s' )[0 ] * 10 ** 9
194188 self ._refracvalue = parameters .pop ('tau_refrac' )[0 ]
195189 reset = 'v = {}*mV; g_r+= {}*nS; g_s+={}*nS' .format (
196- self ._resetvalue * 1000 , self ._q_rvalue , self ._q_svalue )
190+ self ._resetvalue / mV , self ._q_rvalue / nS , self ._q_svalue / nS )
197191 refractory = self ._refracvalue
198192 '''
199193 threshold = brian2.SimpleFunThreshold(self.check_threshold)
@@ -235,7 +229,7 @@ def tau_refrac(self, tau_refrac_value):
235229 @v_reset .setter
236230 def v_reset (self , resetvalue ):
237231 #self._resetvalue = resetvalue * mV
238- self .event_codes ['spike' ] = 'v = {}*mV' .format (resetvalue )
232+ self .event_codes ['spike' ] = 'v = {}*mV' .format (resetvalue / mV )
239233
240234 '''
241235 tau_refrac = _new_property('', '_refractory_array', ms)
@@ -271,7 +265,7 @@ def __init__(self, n, equations, **parameters):
271265 threshold = 'v >= 30*mV'
272266 self ._resetvalue = parameters .pop ('v_reset' )[0 ]
273267 self ._dvalue = parameters .pop ('d' )[0 ]
274- reset = 'v = {}*mV; u+={}*mV/ms' .format (self ._resetvalue * 1000 , self ._dvalue )
268+ reset = 'v = {}*mV; u+={}*mV/ms' .format (self ._resetvalue / mV , self ._dvalue / ( mV / ms ) )
275269 '''
276270 reset = brian2.SimpleCustomRefractoriness(
277271 IzhikevichReset(parameters['v_reset'],
@@ -300,7 +294,7 @@ def d(self):
300294 @v_reset .setter
301295 def v_reset (self , resetvalue ):
302296 #self._resetvalue = resetvalue * mV
303- self .event_codes ['spike' ] = 'v = {}*mV' .format (resetvalue )
297+ self .event_codes ['spike' ] = 'v = {}*mV' .format (resetvalue / mV )
304298
305299
306300class PoissonGroup (brian2 .PoissonGroup ):
0 commit comments