shyam_u2 wrote:In the spikeout.mod file, what is the use of Break point block and the conductance variable g. I dont see a similar thing in Intfire1 class neuron.
Excellent question. Intfire1 is an artificial spiking cell with sufficiently simple dynamics that its future behavior is analytically predictable from its present state. Consequently there is no need for numerical integration, and no need to update its state variables at each time step. The only time computation must be done is when it receives a new event, and this is handled by the NET_RECEIVE block.*
The COBA cell, however, is a "conductance based" model, i.e. its synaptic inputs actually produce conductance changes, generating currents that are integrated by membrane capacitance. To complicate matters, when membrane potential reaches firing threshold, the membrane potential is supposed to undergo a large, transient conductance change that emulates a spike and returns membrane potential to a subthresold level. spikeout.mod is the mechanism that is responsible for emulating the spike, and its conductance g is instrumental in that process. The BREAKPOINT block exists to contain the assignment statement
i = g*(v - vrefrac)
which calculates the current generated by this functional representation of a spike mechanism. This statement is in the BREAKPOINT block so that it will be updated at every new time step.
If you haven't already done so, please read the references mentioned in my previous post.
*--NEURON has two other artificial spiking cells built in, both of which are similarly efficient and for the same reason (Intfire2, Intfire4), and others are possible (I have implemented an Intfire3 as well as variants of these that have use dependent synaptic plasticity (short term potentiation and depression), and Bill Lytton has implemented many others that have more complexities yet remain computationally efficient).