Good questions.
Corinne wrote:in the original demofig1.hoc code (from the patdemo folder), 'Ena' is specified.
Ena is merely a symbolic constant. It has nothing to do with NEURON's internals. ena is the name of the sodium equilibrium potential. In demofig1.hoc the loop
Code: Select all
forall if(ismembrane("na_ion")) {
ena = Ena
. . .
}
ensures that ena is assigned the value that was stored in the symbolic constant Ena.
NEURON knows about sodium and potassium. It knows their valences, and assumes default values for ena, ek, nai, nao, ki, and ko that are appropriate for squid axon in seawater at 6 deg C. If a section contains no mechanism that WRITEs nai or nao, ena is merely an ordinary parameter that can be assigned any value you like. Same goes for ek.
If a section contains a mechanism that WRITEs nai or nao, ena will be calculated using the Nernst equation. Same goes for ki, ko, and ek.
NEURON doesn't know about any other ions unless a section contains a mechanism specified by NMODL source code that contains a
USEION foo
statement.
Now would be a good time to read the Programmer's Reference documentation about USEION, READ, WRITE, and VALENCE--see
http://www.neuron.yale.edu/neuron/stati ... tml#Useion
et seq.
At some point you may also want to read about ion_style().
All of this exquisite flexibility was implemented so that NEURON can be used to handle the wide range of strategies that modelers have used to deal with ionic concentrations and equilibrium potentials.
When looking at the na.mod file it says 'ena' is read in
This only means that the value of ena comes from code that lies outside of this mechanism.
Is there a place I can specify this parameter via the gui
NEURON Main Menu / Tools / Distributed mechanisms / Viewers / Shape Name
will give you a stick figure diagram of the cell and a list of section names. With this tool you can spawn a panel of parameters by double clicking on either a section or its name. But the value displayed will belong to just that section since ionic equilibrium potential, like ionic concentration and membrane potential, is a range variable, not a global. If you want to specify the value of ena in all sections that contain a mechanism that uses sodium, you will have to use a
forall if(ismembrane("na_ion")) { statements that change ena in the current section }
loop to iterate over all sections that have ena.