These are two headings and part of the body of two NET_RECEIVE blocks respectively extracted from one AMPA.mod default NEURON file and another GABA_channel respectively
Code: Select all
NET_RECEIVE(weight, on, r0, t0 (ms)) {
:
:
:
r0 = r0*exp(-Beta*(t - t0)) : r0 at start of onset state
:
:
:
r0 = weight*Rinf + (r0 - weight*Rinf)*exp(-(t - t0)/Rtau)
:
:
:
: r0 leaves the "onset" conductance pool,
: and joins the "offset" conductance pool
Ron = Ron - r0
Roff = Roff + r0
t0 = t
on = 0
}
}
Code: Select all
NET_RECEIVE(weight,s_tp,tp(ms)) {:tp time of previous spike
: Calculate current value single synapse state variable at t-epsilon
UNITSOFF
:printf("%g %g\t",t,s_tp)
s_tp =s_tp*weight*exp(-(t-tp)/tau_d)
:printf("%g\t",s_tp)
UNITSON
s=s + frac_rec*weight*(1-s_tp)
s_tp = s_tp + frac_rec*(1-s_tp)
tp=t
}
}
and the most curious thing is that t0/tp which are of course used within the block are updated at the very end.
Moreover r0 and s_tp are respectively evaluated within the block...
So could you please explain me then the sense of passing these variables within the external arguments to the block and where does it happen?
Thanks a lot
Oscar Javier