We start by making a ball & stick model in which the natural resting potential of the somatic sphere and dendritic cylinder are different. No matter what v_init you choose, default initializaton to a uniform membrane potential results in simulations that show an initial drift of v as the cell settles toward a stable state.
After demonstrating this initial drift, we will implement and test a method for initializing to steady state that leaves membrane potential nonuniform in space but constant in time.
Section | Anatomy | Compartmentalization | Biophysics |
soma | length 20 microns diameter 20 microns |
d_lambda = 0.1 | Ra = 160 ohm cm, Cm = 1 uf/cm2 Hodgkin-Huxley channels |
dend | length 1000 microns diameter 5 microns |
d_lambda = 0.1 | Ra = 160 ohm cm, Cm = 1 uf/cm2 passive with Rm = 10,000 ohm cm2 |
Add dend.v(1) to the graph (use Plot what?), then run another simulation.
Use Move Text and View = plot as needed to get a better picture.
Add a space plot and use its Set View to change the y axis range to -70 -65.
Run another simulation and watch how drastically v changes from the initial condition.
Save everything to a session file called all.ses (use File / save session) and exit NEURON.
// load the GUI tools load_file("nrngui.hoc") // the model and user interface load_file("all.ses") // custom steady state init load_file("ssprocinit.hoc")Also make a file called ssprocinit.hoc that contains these lines :
proc init() { local dtsav, temp finitialize( v_init) t = -1e10 dtsav = dt dt = 1e9 // if cvode is on, turn it off to do large fixed step temp = cvode.active() if (temp!=0) { cvode.active(0) } while (t<-1e9) { fadvance() } // restore cvode if necessary if (temp!=0) { cvode.active(1) } dt = dtsav t = 0 if (cvode.active()) { cvode.re_init() } else { fcurrent() } frecord_init() }Now use NEURON to execute initss.hoc.