Upload
vutuong
View
224
Download
2
Embed Size (px)
Citation preview
Index
Symbols!(logical NOT operator) – see hoc syntax:
expressions: operators!= (inequality operator) – see hoc syntax:
expressions: operators$ – see funcs and procs: arguments:
positional syntax$1 – see funcs and procs: arguments:
positional syntax$i – see funcs and procs: arguments:
symbolic positional syntax$o – see funcs and procs: arguments:
positional syntax$s – see funcs and procs: arguments:
positional syntax% (remainder operator) – see hoc syntax:
expressions: operators& (pointer operator) – see hoc syntax: pointer
operator&& (logical AND operator) – see hoc syntax:
expressions: operators'(apostrophe) – see DERIVATIVE block:
'(apostrophe)()(paired left and right parentheses) – see
hoc syntax: expressions: operators (1) – see units: dimensionless* (multiplication operator) – see hoc syntax:
expressions: operators*/ – see hoc syntax: comments� (addition operator) – see hoc syntax:
expressions: operators� (subtraction operator) – see hoc syntax:
expressions: operators� (unaryminus operator) – see hoc syntax:
expressions: operators–> (sink reaction indicator) – see KINETIC
block: –> (sink reaction indicator)
/ (division operator) – see hoc syntax:expressions: operators
/* – see hoc syntax: comments// – see hoc syntax: comments: (colon) – see NMODL: comments, range
variable: linear taper< (less than operator) – see hoc syntax:
expressions: operators<–> (reaction indicator) – see KINETIC
block: <–> (reaction indicator)<< (explicit flux) – see KINETIC block:
<< (explicit flux)<= (less than or equal to operator) – see hoc
syntax: expressions: operators= (assignment operator) – see hoc syntax:
expressions: operators== (equality operator) – see hoc syntax:
expressions: operators> (greater than operator) – see hoc syntax:
expressions: operators>= (greater than or equal to operator) –
see hoc syntax: expressions: operators
[] (index operator) – see hoc syntax:variables: double, Vector class,object: array, section: array, NMODL:arrays, STATE variable: array inNMODL
\(backslash) – see hoc syntax: continuationcharacter
ˆ(exponentiation operator) – see hoc syntax:expressions: operators
ˆC (Control C) – see hoc: interruptingexecution
ˆD (Control D) – see hoc: starting and exiting
_(underscore) – see hoc syntax: names
413
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
_ion – see ion mechanism: _ion suffixx_ion – see ion mechanism:
automatically createdxi0_x_ion – see ion mechanism: default
concentration: specification in hocxo0_x_ion – see ion mechanism: default
concentration: specification in hoc{} – see hoc syntax: statements: compound
statement|| (logical OR operator) – see hoc syntax:
expressions: operators~ (tilde) – see KINETIC block: ~ (tilde)
33 – see nseg: why triple nseg?3-D model – see model: 3-D, 3-D
specification of geometry3-D specification of geometry 103, 105, 144
3-D information 105, 109arc3d() 109calculation of L, diam, area(), and ri()
105, 108coordinates
absolute vs. relative 146–147data – see 3-D specification of geometry:
3-D informationalso see quantitative morphometric data
diam3d() 105checking 108
diameter 105problems 108also see 3-D specification of geometry:
calculation of L, diam, area(),and ri()
n3d() 105, 109number of 3-D points
effect on computational efficiency 106vs. nseg 106also see n3d()
origin of cell – see section: root section: is3-D origin of cell
points – see 3-D specification of geometry:3-D information
pt3dadd() 105also see stylized specification of geometry
Aabrupt change – see variable: abrupt change
of, NET_RECEIVE block: handlingabrupt changes and discontinuities
absolute error 63, 71–72local 75
tolerance 75, 79, 251also see STATE block: specifying local
absolute error tolerancealso see relative error, numerical error
absolute tolerance—see absolute error: local:tolerance
abstraction 33–34AC length constant – see length constant: ACaccess 100, 143
also see section: currently accessed: defaultsection
accumulation – see ion accumulationaccuracy 33, 64, 91
effect of boundary conditions 54of ionic currents – see membrane current:
ionic: accuracy, standard run system:fcurrent()
order – see numeric integration: order ofaccuracy
physiological 79, 85quantitative 67spatial – see spatial accuracyvs. speed 73, 117temporal – see temporal accuracyalso see judgment, discretization, numerical
error, parameters: sensitivity toacell_home_ – see NetWork Builder:
exporting reusable code: acell_home_active current – see channel: voltage-gatedactive transport 41, 199
electrically silent 256initialization 203–205
pump transient 204kinetic scheme 200
also see Example 9.9: a calcium pumppump current 255–258
countering with a NONSPECIFIC_CURRENT 256
initialization 258also see buffer, diffusion, ion accumulation
adaptive integration – see numeric integration:adaptive
adaptive time step – see numeric integration:adaptive
adding items to NEURON Main Menu – seeNEURONMainMenu class:miscellaneous_add()
adding new functions to NEURON – seeNMODL
adding new mechanisms – see mechanisms:user-defined, nrniv: adding newmechanisms, NMODL
414 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
addition operator – see hoc syntax:expressions: operators
addplot() – see standard run system:addplot()
advance microstep – see numeric integration:adaptive: advance microstep
also see standard run system: fadvance():local time step integration
advance() – see standard run system:advance()
afferent event – see event: externalaggregation of events to time step boundaries
– see numeric integration: fixed timestep: event aggregation
algebralinear – see linear algebra
algebraic equation – see equation: algebraicalgebraic difference equation – see equation:
differenceAlphaSynapse 19
graphical interface – seePointProcessManager GUI
parameters 20preserving spatial accuracy – see point
process: preserving spatial accuracyalso see Example 10.4: alpha function
synapsealpha function synapse – see AlphaSynapse,
Example 10.4: alpha function synapseAlt key – see Graph class: menu_tool()amount of material – see material: amountampa.mod – see Example 10.6: saturating
synapsesAMPAergic synapse – see Example 10.3:
synapse with exponential decay, Example10.6: saturating synapses
amplification factor – see amplifier: gainamplifier 45
feedback – see feedback: amplifiergain 45, 49headstage 49also see circuit: element: amplifier
analysis 24initialization – see initialization: analysis
analytic solutionand discrete event simulation – see discrete
event simulation: conditions forcable equation – see equation: cable:
analytic solutionanatomical data – see quantitative
morphometric dataanatomical distance – see distance
anatomical propertiesseparating biology from numerical issues 92
also see section, range, range variablespecifying – see 3-D specification of
geometry, stylized specification ofgeometry, topology: specifying
also see geometry, topologyAND operator – see hoc syntax: expressions:
operatorsapostrophe – see DERIVATIVE block:
'(apostrophe)approximate Jacobian – see Jacobian:
approximateapproximation 25, 34, 52–53
of a continuous system by a discrete system60, 90
piecewise linear – see continuous variable:piecewise linear approximation
also see Jacobian: approximatearc length – see rangearc3d() – see 3-D specification of
geometry: arc3d()architecture – see topologyarea
membrane – see surface area, membrane areasurface – see surface area, membrane areazero area nodes – see section: nodes: zero area
areaas an ASSIGNED variable – see ASSIGNED
variable: v, celsius, t, dt, diam,and area
also see area()area() 104
calculation of – see stylized specification ofgeometry: calculation of area() andri(), 3-D specification of geometry:calculation of L, diam, area(), andri()
effect of creating a Shape – see Shapeobject: creating: effect on diam,area(), and ri()
effect of define_shape() – seedefine_shape(): effect on diam,area(), and ri()
stylized vs. 3-D surface integral 110arguments – see funcs and procs: arguments
section as – see SectionRef classtrapping – see good programming style:
bulletproofing against nonsensearguments
also see FUNCTION block, PROCEDUREblock, NET_RECEIVE block
Index 415
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
arithmetic operators – see hoc syntax:expressions: operators
arraysin NMODL – see NMODL: arrays, STATE
variable: array in NMODLof numbers – see hoc syntax: variables:
double, Vector classof objects – see object: arrayof sections – see section: array
ArtCellGUIbringing up an ArtCellGUI 311cell names – see NetWork Builder: cells:
nameschanging – see ArtCellGUI: specifying
cell typeschanging cell parameters – see NetWork
Builder: caveatsalso see PointProcessGroupManager
specifying cell types 311Artificial Cell – see ArtCellGUIartificial cell – see artificial spiking cellartificial neuron – see artificial spiking cellartificial spiking cell 82–83, 289
advantages and uses 265computational efficiency 290, 292
differences from other point processes290–291
implemented as point processes 290IntFire1 – see IntFire1 class,
Example 10.7: IntFire1, a basicintegrate and fire model
IntFire2 – see IntFire2 class,Example 10.8: IntFire2, firing rateproportional to input
IntFire4 – see IntFire4 class,Example 10.9: IntFire4, differentsynaptic time constants
under CVODE 88also see biophysical neuron model,
integrate and fire, IntFire1 class,IntFire2 class, IntFire4 class,NEURON block: ARTIFICIAL_CELL
ARTIFICIAL_CELL – see NEURON block:ARTIFICIAL_CELL, artificial spikingcell
ASCII file – see plain text fileASSIGNED block 212, 222, 231, 250
also see PARAMETER block, STATE blockASSIGNED variable 184, 195, 212
abrupt change of – see variable: abruptchange of, NetCon class: event(),NET_RECEIVE block: handlingabrupt changes and discontinuities
accuracy 169, 172GLOBAL
spatial variation 232vs. RANGE 215, 230also see NEURON block: GLOBAL
initialization 187also see initialization
is a range variable by default 213also see NEURON block: RANGE, range
variablev, celsius, t, dt, diam, and area
213visibility at the hoc level 213, 218when to use for an equilbrium potential 223also see PARAMETER variable, STATE
variable, state variable: as anASSIGNED variable, ion_style()
assignment operator – see hoc syntax:expressions: operators
assumptions 1, 41–42, 46, 51, 53at_time() – see CVODE: and model
descriptions: at_time(), variable:abrupt change of, NET_RECEIVE block:handling abrupt changes anddiscontinuities
atol 79also see absolute error: local: tolerance
attaching a section – see connectattenuation
at high frequencies 122also see membrane time constant: and
attenuation of fast signals, spatialdecay of fast signals
Avogadro’s number – see units: moleaxial current 51–54, 56
positive current convention 51axial resistance 52–53
infinite 107, 115also see diameter: zero or narrow diameter
also see ri(), Ra, cytoplasmic resistivity
Bb_flux – see KINETIC block: b_fluxbackward Euler method 61, 66–68, 165
and LONGITUDINAL_DIFFUSION 253iteration coefficient 62local error 67, 83stability 67summary 86also see modified Euler method, numeric
integration: fixed time stepbackward flux – see flux: backward,
KINETIC block: b_flux
416 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
backslash (\) – see hoc syntax: continuationcharacter
balancecharge – see charge: conservationmass – see material: conservation
ball and stick 34bandpass 122barbed wire shape – see stylized specification
of geometry: strange shapesbase class – see class: base class, object-
oriented programming: polymorphism,object-oriented programming: inheritance
biological properties vs. purely computationalissues 92
biophysical mechanism – see distributedmechanism, point process
biophysical neuron model 82, 265also see artificial spiking cell
biophysical propertiesseparating biology from numerical issues 92
also see section, range, range variablespecifying 111, 133also see distributed mechanism, point
processblocks – see NMODL: named blocksboundary conditions 51
effect on accuracy – see accuracy: effect ofboundary conditions
sealed end 54, 56branch
cell 92also see neurite, section
circuit – see circuit: edgebranched architecture 51, 53, 91, 98
also see topologybranched cable – see cable: branchedbreak – see hoc syntax: flow control:
breakBREAKPOINT block 213, 223
abrupt change of a variable – see variable:abrupt change of, NetCon class:event(), NET_RECEIVE block:handling abrupt changes anddiscontinuities
and computations that must be performedonly once per time step 224
and counts, flags, and random numbers 223and PROCEDUREs 224and rate functions 224and variables that depend on the number of
executions 223at_time() – see CVODE: and model
descriptions: at_time(), variable:
abrupt change of, NET_RECEIVEblock: handling abrupt changes anddiscontinuities
currents assigned at end of 223METHOD – see BREAKPOINT block:
SOLVESOLVE 168–170, 223, 225cnexp 225derivimplicit 226is not a function call 224sparse 87, 243also see STATE variable
state_discontinuity() – seeCVODE: and model descriptions:state_discontinuity(),variable: abrupt change of,NET_RECEIVE block: handlingabrupt changes and discontinuities
time-dependent PARAMETER – seePARAMETER variable: time-dependent, Vector class: play()
translation of 168, 170browser – see directory browser, variable
browser, Plot what? GUIbuffer 37
also see ion accumulation, diffusion,Example 9.8: calcium diffusion withbuffering
built-in constants – see hoc syntax: variables:built-in constants
built-in editor – see em, emacsbulletproofing against nonsense arguments –
see good programming style:bulletproofing against nonsensearguments
CC code
embedding – see NMODL: VERBATIM . . .ENDVERBATIM
ca_ion – see ion mechanism: automaticallycreated
cable 50branched 53equation – see equation: cablepassive cylindrical 56–58, 60unbranched 50, 53–54, 92
CABLE 164cadif.mod – see Example 9.8: calcium
diffusion with bufferingcagk.mod – see Example 9.5: a calcium-
activated, voltage-gated currentcai – see calcium, ion mechanism
Index 417
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
cai0_ca_ion – see calcium, ionmechanism: default concentration:specification in hoc
calciumamount of 41buffering – see Example 9.8: calcium
diffusion with bufferingconcentration 42
free 80current 199
effect on concentration 200diffusion – see Example 9.8: calcium
diffusion with bufferingpump 41, 79, 199
also see Example 9.9: a calcium pump,active transport
also see ion mechanismcalcium-activated current – see Example 9.5: a
calcium-activated, voltage-gated currentcall by reference vs. call by value – see funcs
and procs: arguments: call by referencevs. call by value, NET_RECEIVE block:arguments are call by reference,FUNCTION block: arguments are call byvalue, PROCEDURE block: arguments arecall by value
also see funcs and procs: arguments:pointer, hoc syntax: pointer operator
cao – see calcium, ion mechanismcao0_ca_ion – see calcium, ion
mechanism: default concentration:specification in hoc
capacitanceelectrode – see electrode: capacitancecompensation – see electrode: capacitance:
compensationmembrane – see cm, membrane capacitance,
specific membrane capacitancecapacitive current – see membrane current:
capacitivecapacitor
feedback – see feedback: capacitoralso see circuit: element: capacitor
Cell Map – see NetWork Builder: cells: Cell Mapcell time queue – see standard run system:
event delivery system: cell time queueCellBuilder 5
bringing up 6hoc output
exported cell 135root section 8, 21
also see section: default section
spatial grid – see CellBuilder GUI:Geometry page: d_lambda
CellBuilder GUIBiophysics page 13
assigning values 16specifying strategy 15
Continuous Create 17, 152–153Geometry page 12
assigning values 14d_lambda 14
also see spatial accuracy, spatial grid,d_lambda rule
specifying strategy 13Management page 16
Export 16, 135Subsets page 8, 10
all subset 11making a new subset 12
Topology page 8base name 10Basename 10changing the name of a section 11making a new section 9
celsius 212–213, 231as an ASSIGNED variable – see
ASSIGNED variable: v, celsius, t,dt, diam, and area
central difference method – see Crank–Nicholson method
changing a variable in mid-run – seePARAMETER variable: time-dependent,variable: abrupt change of
changing point process location with hoccode – see point process: loc()
changing standard functions and procedures –see standard GUI library: redefiningfunctions and procedures, standard runlibrary: redefining functions andprocedures
channel 53analytic integration of states – see numeric
integration: analytic integration ofchannel states
calcium-activated – see Example 9.5: acalcium-activated, voltage-gatedcurrent
conductance 53current
accuracy – see membrane current: ionic:accuracy, standard run system:fcurrent()
density 84, 92
418 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
gating model 87HH type 70, 225
also see channel: linearnonlinear 226under CVODE 88
initialization – see initialization: channelmodel
ligand-gated 36also see Example 10.1: graded synaptic
transmission, Example 10.5: use-dependent synaptic plasticity,Example 10.6: saturating synapses
linear 87also see channel: gating model: HH-type
model 36nonlinear 87
under CVODE 88ohmic – see channel: linearvoltage-gated 36
also see Example 9.4: a voltage-gatedcurrent, Example 9.5: a calcium-activated, voltage-gated current,Example 9.7: kinetic scheme for avoltage-gated current
chaos and numerical error – see numericalerror: chaotic system
chaotic system – see initialization: categories:to a desired state
charge 50conservation 51–52
also see Kirchhoff’s current law, gapjunction: conservation of charge
electronic – see e: electronic charge vs.units conversion factor
chemicalnotation – see kinetic schemereaction – see kinetic schemesignal – see signal: chemical
child section – see section: childchord conductance – see conductance: chordcircuit 44
analysis 44branch 44edge 44element 45
amplifier 45capacitor 45current source 45ground 45resistor 45voltage source 45wire 45
equivalent 48, 53also see section: equivalent circuit
linear – see linear circuitnode 44parallel RC 45positive current convention 45
clamp – see current clamp, voltage clampclass 363
base class 376also see object-oriented programming:
polymorphism, object-orientedprogramming: inheritance
defining a new class – see template: writinga template
subclass 376also see object-oriented programming:
polymorphism, object-orientedprogramming: inheritance
vs. object 363also see object, object-oriented
programming, templateclass definition – see template, classClose button – see GUI: tools: Close buttonclosed end – see boundary conditions: sealed endclosed system 36, 38, 40cm 13, 15–16, 94
default value 103also see specific membrane capacitance,
membrane capacitanceCm – see cmcnexp – see DERIVATIVE block,
BREAKPOINT block: SOLVE: cnexpcollection
of numbers – see hoc syntax: variables:double, Vector class
of objects – see object: array, List classof sections – see SectionList class,
CellBuilder GUI: Subsets pagecommand history – see hoc: history functionCOMMENT . . . ENDCOMMENT – see
NMODL: commentscomments – see hoc syntax: comments,
NMODL: commentscomparison of real values – see hoc syntax:
float_epsilonCOMPARTMENT – see KINETIC block:
COMPARTMENTcompartment 37, 52, 60
adjacent 53, 56size 37, 41–42, 52, 92vs. biologically relevant structures 92, 96vs. conceptual clarity 96also see segment
Index 419
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
compartmental model – see model:compartmental
compartmentalization 8, 14also see discretization
complexity 32–34, 91compound statement – see hoc syntax:
statements: compound statementcomputational efficiency 68–74, 82, 87–88,
91, 98, 126, 163, 181, 207, 210, 225, 239,243, 253, 261
and STATEs 83rate tables – see numeric integration:
analytic integration of channel statesstaggered time steps – see Crank–Nicholson
method: staggered time stepstree topology 165, 167, 169why is NEURON fast? 344also see d_lambda rule, function table,
IntFire2 class: firing time: efficientcomputation, IntFire4 class: firingtime: efficient computation, synaptictransmission: spike-triggered:computational efficiency in NEURON,discrete event simulation:computational efficiency
computational modelimplementing with hoc 130also see model: computational
computational solution – see numeric solutioncomputer display – see GUI: screencomputing
purpose – see insightconcentration 36, 41, 42
and accuracy 87default – see ion mechanism: default
concentrationspecification in hoc – see ion
mechanism: default concentration:specification in hoc
gradient 50initialization – see ion mechanism: default
concentration, initialization: ionspecification – see ion mechanism: default
concentration, initialization: ionalso see ion accumulation, ion mechanism,
initialization: ionconceptual clarity 129, 144, 207–208, 239, 261conceptual model – see model: conceptualconductance
absolute 112density 111
also see channel: density
ion channel – see channel: conductancemembrane – see specific membrane
conductance, membrane resistanceslope 70
conflicts between hoc and GUI tools – seehoc: conflicts with GUI
connect 101, 130preserving spatial accuracy 102preventing confusion – see section: child:
connect 0 end to parentalso see section
connectivity – see NetCon class, List object:managing network connections with
conservation law 50also see charge: conservation, material:
conservation, kinetic scheme:conservation rules
CONSERVE – see KINETIC block: CONSERVEconsistency of units – see units: consistencyCONSTANT
vs. PARAMETER or LOCAL variable 257CONSTANT block 257constant
built-in constant – see hoc syntax:variables: built-in constants
length – see length constantmembrane time – see membrane time
constantrate – see rate constanttime – see time constant
constant current mechanism 196also see initialization: strategies: injecting a
constant currentcontinuation character (\) 348continue – see hoc syntax: flow control:
continuecontinuerun() – see standard run system:
continuerun()continuous function – see function: continuouscontinuous system – see system: continuouscontinuous variable 90–91
piecewise linear approximation 96–97also see range variable: estimating by linear
interpolation between nodesControl C – see hoc: interrupting executionControl D – see hoc: starting and exitingControl key – see Graph class:
menu_tool()control – see simulation controlconvergence 275–276
also see synaptic transmission: spike-triggered
420 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
conversion factor – see scale factor, NMODL:units conversion factor, UNITS block:units scaling
correspondence between conceptual andcomputational model – see model:correspondence between conceptual andcomputational
Crank–Nicholson method 61, 68–72, 165hybrid of backward and forward Euler 68iteration coefficient 62local error 68, 84, 166
kinetic scheme 87second order correct plots 180stability 70staggered time steps 70–72, 165, 169summary 86unstaggered time steps 70–71also see secondorder
create 101, 130also see section
creating an object – see object: creatingcreating an object reference – see object
reference: declaringcriterion for proper initialization – see
initialization: criterion for properinitialization
Ctrl key – see Graph class: menu_tool()current 44
absolute 112also see current: density
axial – see axial currentbalance – see equation: current balance,
Kirchhoff’s current lawcalcium-activated – see Example 9.5: a
calcium-activated, voltage-gatedcurrent
capacitive 122also see membrane current: capacitive
density 51, 54, 111also see current: absolute
electrode 49, 51also see ELECTRODE_CURRENT
ionic – see membrane current: ionicmembrane – see membrane currentsign convention – see membrane current:
positive current convention, axialcurrent: positive current convention,circuit: positive current convention
source 51, 53also see circuit: element: current source
transmembrane – see membrane currentvoltage-gated – see channel: voltage-gated
current clamp 48preserving spatial accuracy – see point
process: preserving spatial accuracyalso see IClamp class, Example 9.3: an
intracellular stimulating electrodecurrently accessed section – see section:
currently accessedcursor – see focus: cursorcustom GUI – see user interface: custom GUIcustom initialization – see initialization:
categories, initialization: strategiesCVODE 73–82, 171
abrupt changes and discontinuities – seeCVODE: and model descriptions,variable: abrupt change of,NET_RECEIVE block: handlingabrupt changes and discontinuities
and LONGITUDINAL_DIFFUSION 253and model descriptions 88at_time() 171, 218, 260–262state_discontinuity()
260–262also see NET_RECEIVE block:
state_discontinuity()as generic term for adaptive integration
172default error criteria 80interpolation formulas – see numeric
integration: adaptive: interpolationformulas
local error 75, 79step() under – see standard run system:
step(): under CVODEsummary 88also see numeric integration: adaptive,
standard run system: CVODECVode class 172re_init() 161, 187–188, 196, 263
also see initialization: strategies:changing a state variable
record() 83, 166, 179, 187CVODES 172
also see CVODE, numeric integration:adaptive
cytoplasmic resistivity 15, 54, 56, 94also see Ra
Dd_lambda rule 8, 122–126
also see discretization, spatial gridd_X rule 123
also see discretization, spatial grid
Index 421
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
DASPK 73–74, 172summary 88also see numeric integration: adaptive,
standard run system: DASPK, IDAdaughter section – see section: childDC length constant – see length constant: DCdeclaring an object reference – see object
reference: declaringdeclaring variables – see NMODL: declaring
variablesdefault section – see access, section:
currently accessed: default sectiondeferred computation – see standard run
system: event delivery system:implementing deferred computation
DEFINE – see NMODL: DEFINEdefine_shape()
effect on diam, area(), and ri() 108defining a new class – see template: writing a
templatedefining a new template – see template:
writing a templatedelayed action – see standard run system:
event delivery system: implementingdeferred computation
delta function – see function: deltademonstration program – see neurondemodensity 36, 42
also see channel: density, conductance:density, current: density, material:density, state: as density
density mechanism – see distributed mechanismDERIVATIVE block 225, 232, 237'(apostrophe) 225and CVODE 88dependent variable
is a STATE variable 184also see initialization: channel model:
Hodgkin–Huxley stylederivimplicit – see DERIVATIVE
block, BREAKPOINT block: SOLVE:derivimplicit
detaching a section – see disconnect()detail 33–34
how much 1, 27also see judgment
developing new GUI tools – see GUI tooldevelopment
diam 13, 94, 132as an ASSIGNED variable – see
ASSIGNED variable: v, celsius, t,dt, diam, and area
calculation from 3-D data – see 3-Dspecification of geometry: calculationof L, diam, area(), and ri()
checking 108also see 3-D specification of geometry:
diam3d(): checkingdefault value 103effect of creating a Shape – see Shape
object: creating: effect on diam,area(), and ri()
effect of define_shape() – seedefine_shape(): effect on diam,area(), and ri()
specifying3-D specification – see 3-D specification
of geometry: calculation of L,diam, area(), and ri()
stylized specification 104tapering 115updating from 3-D data 109
diam3d() – see 3-D specification ofgeometry: diam3d()
diameter 3, 94abrupt change 110change flag 168checking – see diam: checking, 3-D
specification of geometry:diam3d(): checking
problems – see 3-D specification ofgeometry: diameter: problems
zero or narrow diameter 107also see axial resistance: infinite, diam:
checking, 3-D specification ofgeometry: diam3d(): checking
also see diam, stylized specification ofgeometry, 3-D specification ofgeometry: diam3d()
difference equation – see equation: differencedifferential algebraic solver – see DASPKdifferential equation – see equation:
differentialdiffusion 41, 199
kinetic scheme 200, 238longitudinal 253
model geometry – see ion accumulation:initialization: of model geometry
radial 246, 254restricted – see Example 9.6: extracellular
potassium accumulationunder CVODE 88with buffering – see Example 9.8: calcium
diffusion with buffering
422 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
also see active transport, buffer, ionaccumulation, Example 9.8: calciumdiffusion with buffering
dimensionless variable – see units: dimensionlessdimensions – see unitsdirectory browser 17–18disconnect() 101discontinuity – see variable: abrupt change of,
diameter: abrupt changealso see function: discrete
discrepancybetween conceptual model and
computational model 34also see model: correspondence between
conceptual and computationalbetween physical system and conceptual
model 28between prediction and simulation 27, 29
discrete event simulation 83, 88computational efficiency 290conditions for 83, 88, 290also see standard run system:
fadvance(): global time stepintegration, standard run system:fadvance(): local time stepintegration
discrete event system – see standard runsystem: event delivery system
discrete events and adaptive integration – seestandard run system: event deliverysystem: adaptive integration and, standardrun system: fadvance(): global timestep integration, standard run system:fadvance(): local time step integration
discrete input event – see event: externaldiscrete simulation – see discrete event
simulationdiscretization 14, 25, 51, 56
guidelines 121intent and judgment 91, 118parameter – see nsegrule – see d_lambda rule, d_X rule,
discretization: guidelinesspatial 51, 53–54, 91–92
also see �, length constant, d_lambdarule, spatial grid, spatial accuracy
temporal 51, 91, 118also see dt, t
testing – see spatial accuracy, temporalaccuracy
discretization interval – see x, spatial griddisplay – see GUI: screen
distancenormalized distance along a section – see
rangephysical distance along a section 114
distributed mechanism 13, 18, 111, 113, 133,208, 220
adding new – see mechanisms: user-defined, NMODL
insert – see insertvs. point process 113also see NEURON block: SUFFIX
Distributed Mechanism GUIManager
Inserter 214Distributed Mechanism Manager – see
Distributed Mechanism GUI: Managerdistributed physical system – see system:
continuousdivergence 275
also see synaptic transmission: spike-triggered
divide and conquer – see good programmingstyle: divide and conquer
division operator – see hoc syntax:expressions: operators
doEvents() – see standard run system:doEvents()
dot notationaccessing object members – see object:
public members: dot notationspecifying section properties – see section:
currently accessed: dot notationdouble – see hoc syntax: variables: doubledt 24
as an ASSIGNED variable – seeASSIGNED variable: v, celsius, t,dt, diam, and area
also see dt: use in NMODLfixed – see numeric integration: fixed time
stepuse in NMODL 210, 213variable – see numeric integration: adaptivealso see standard run system: setdt(),
standard run system: fadvance(),RunControl GUI: dt, RunControl GUI:Points plotted/ms
t 61–72, 91fixed – see numeric integration: fixed time
stepalso see discretization
x 59–61also see spatial grid, discretization
Index 423
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
Ee
electronic charge vs. units conversion factor231
also see NMODL: units conversion factoralso see units: e
e_pas – see pas mechanismedge – see circuit: edgeefficiency – see computational efficiencyeigenfunction 65–66eigenvalue 48, 65elapsed simulation time 24
also see telectrical synapse – see gap junction, synapse:
ephapticelectrode
capacitance 48compensation 48
current – see current: electrode,ELECTRODE_CURRENT
intracellular stimulating – see Example 9.3:an intracellular stimulating electrode
resistance 48shunting effect of sharp microelectrode –
see Example 9.2: a localized shuntELECTRODE_CURRENT 186electronic charge – see e: electronic charge vs.
units conversion factorelectronic instrumentation – see linear circuitelectrotonic architecture
spurious effect of changing nseg 102else – see hoc syntax: flow control: elseem 362
also see emacsemacs
blocks of textcopying to the kill buffer 408cutting to the kill buffer 408marking 408pasting from the kill buffer 408
buffers 406, 409cursor movement 407entering 407exiting 407files 409modes 406, 408repeating commands
kill current command 407macros 411repeating commands 411
search and replace 409send command to OS 409
textdeleting 408formatting 409inserting 408
windows 410embedding C code – see NMODL:
VERBATIM . . . ENDVERBATIMempty temporal resolution – see temporal
accuracy: emptyencapsulating code – see object-oriented
programming: encapsulating codeENDCOMMENT – see NMODL: commentsENDVERBATIM – see NMODL:
VERBATIM . . . ENDVERBATIMenhancing NEURON – see NMODLEOT (ˆD) – see hoc: starting and exitingephapse – see synapse: ephapticephaptic synapse – see synapse: ephapticequality operator – see hoc syntax:
expressions: operatorsequation
algebraic 36, 74, 86–87, 114cable 50, 53
analytic solution 56characteristic 45conservation 211current balance 44, 46, 167–169, 211
also see Kirchhoff’s current lawdifference 51differential 36–39, 42, 46, 48, 50, 63, 65, 114
coupled vs. independent 66, 71ordinary 46, 53partial 51stiff – see system: stiff
iteration – see iteration: equationnode – see equation: current balance,
Kirchhoff’s current lawsacred runes 85system – see system equations
equilibrium potentialASSIGNED vs. PARAMETER – see
ASSIGNED variable: when to use foran equilibrium potential
computation 186, 195also see ion_style(), NEURON block:
NONSPECIFIC_CURRENT:equilibrium potential
initialization – see initialization: ionalso see ion_style()
equivalent circuit – see circuit: equivalent,section: equivalent circuit
Erase – see Graph GUI: primary menu: Erase
424 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
erasing traces – see Graph GUI: primarymenu: Erase
error – see numerical error, hoc: errorhandling, error message
error messagediam = 0 107no accessed section 143no message for pt3dadd with zero
diameter 108also see hoc: error handling
Euler method – see backward Euler method,forward Euler method
event 81, 87afferent – see event: externalaggregation – see numeric integration: fixed
time step: event aggregationdelivery 80–81delivery system – see standard run system:
event delivery systemdiscrete – see discrete event simulationexternal 288
distinguishing from a self-event 288flag 288
also see event: external: distinguishingfrom a self-event
handler – see NetCon class: event()input 80–81
also see event: externallogical 80mouse – see mouse: eventsnet_send 186queue – see standard run system: event
delivery system: cell time queue,standard run system: event deliverysystem: event time queue
self-event 261, 288distinguishing from an external event –
see event: external: distinguishingfrom a self-event
implementing absolute refractory period– see IntFire1 class: refractoryperiod
implementing deferred computation – seestandard run system: event deliverysystem: implementing deferredcomputation
implementing transmitter release duration– see Example 10.6: saturatingsynapses
also see event: external, NET_RECEIVEblock: net_move(),NET_RECEIVE block:
net_send(), IntFire2 class:firing time: role of self-events,IntFire4 class: firing time: roleof self-events
spike – see event: externaltimes
notification – see CVODE: and modeldescriptions: at_time(), NetConclass: event()
with adaptive integration 218, 263also see NetCon class: event()
with fixed time step integration – seenumeric integration: fixed time step:event aggregation
also see standard run system: eventdelivery system: event time queue
event aggregation to time step boundaries –see numeric integration: fixed time step:event aggregation
event handler – see NetCon class: event()event queue – see standard run system: event
delivery system: event time queueevent times – see event: timesevent-driven simulation – see discrete event
simulationevent() – see NetCon class: event()Example 9.1: a passive “leak” current 208Example 9.2: a localized shunt 214Example 9.3: an intracellular stimulating
electrode 217Example 9.4: a voltage-gated current 220Example 9.5: a calcium-activated, voltage-
gated current 228Example 9.6: extracellular potassium
accumulation 233Example 9.7: kinetic scheme for a voltage-
gated current 240Example 9.8: calcium diffusion with
buffering 245Example 9.9: a calcium pump 255Example 10.1: graded synaptic transmission
266Example 10.2: a gap junction 271Example 10.3: synapse with exponential
decay 277Example 10.4: alpha function synapse 280Example 10.5: use-dependent synaptic
plasticity 281Example 10.6: saturating synapses 284Example 10.7: IntFire1, a basic integrate
and fire model 290
Index 425
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
Example 10.8: IntFire2, firing rateproportional to input 297
Example 10.9: IntFire4, different synaptictime constants 301
execute() 385exiting hoc – see hoc: starting and exitingexiting NEURON – see NEURON: starting
and exitingExp2Syn
computational efficiency 280also see Example 10.4: alpha function
synapseexplicit Euler method – see forward Euler
methodexplicit flux – see KINETIC block:
<<(explicit flux)exploiting reusable code – see good
programming style: exploiting reusablecode
exploratory simulations – see GUI: vs. hoc
exponentiation operator – see hoc syntax:expressions: operators
ExpSyn – see Example 10.3: synapse withexponential decay
expsyn1.mod – see Example 10.3: synapsewith exponential decay
extensive variable – see variable: extensiveexternal event – see event: externalextracellular field – see extracellular
mechanism, system equations: matrixform: extracellular field
extracellular mechanism 56, 74, 87computational efficiency 167effect of ELECTRODE_CURRENT – see
NEURON block:ELECTRODE_CURRENT: effect onextracellular mechanism
initialization – see initialization:extracellular mechanism
vext 186also see NEURON block:
ELECTRODE_CURRENT: effect onextracellular mechanism
extracellular potassium accumulation – seeExample 9.6: extracellular potassiumaccumulation
Ff_flux – see KINETIC block: f_fluxF-H space – see Example 9.6: extracellular
potassium accumulation
factoramplification – see amplifier: gainconversion or scale – see scale factor,
NMODL: units conversion factor,UNITS block: units scaling
fadvance.c 164, 185also see initialization: finitialize()
fadvance() – see standard run system:fadvance()
FALSE – see hoc syntax: expressions: logicalexpressions
fan-in – see convergencealso see synaptic transmission: spike-triggered
fan-out – see divergencealso see synaptic transmission: spike-triggered
faraday – see units: faradayfast signals
spatial decay – see spatial decay of fast signalsfast_flushPlot() – see standard run
system: fast_flushPlot()fast_flush_list – see standard run
system: plotting system:fast_flush_list
fcurrent() – see standard run system:fcurrent()
feedbackamplifier 49capacitor 49positive 49
field – see extracellular mechanismfilehoc file – see hocmod file – see mod file, NMODLreading and writing – see hoc syntax: basic
input and outputses file – see session filesession file – see session file
finitialize() – see initialization:finitialize()
fixeddt – see numeric integration: fixed time step t – see numeric integration: fixed time steptime step – see numeric integration: fixed
time stepfloat_epsilon – see hoc syntax:
float_epsilonflow control – see hoc syntax: flow controlflushPlot() – see standard run system:
flushPlot()flush_list – see standard run system:
plotting system: flush_listflux 37–39, 42
426 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
backward 39also see KINETIC block: b_flux
forward 39also see KINETIC block: f_flux
also see KINETIC block: << (explicit flux)FOCAL 164focus
cursor 10for – see hoc syntax: flow control: forfor (x) 114forall 100forsec 100forward Euler method 61
iteration coefficient 61local error 64, 83stability 62, 64, 243also see numerical integration: fixed time
stepforward flux – see flux: forward, KINETIC
block: f_fluxFourier theory 56fprint() – see hoc syntax: basic input and
output: fprint()FROM . . . TO . . . – see NMODL:
FROM . . . TO . . . (loop statement)Frankenhaeuser-Hodgkin space – see Example
9.6: extracellular potassium accumulationfrecord_init() – see initialization:
frecord_init()frequency 66
spatial 57, 59–61, 122also see spatial accuracy, spatial grid,
numerical error: spatialtemporal 122
fscan() – see hoc syntax: basic input andoutput: fscan()
funcs and procs$ – see funcs and procs: arguments:
positional syntax$i – see funcs and procs: arguments:
symbolic positional syntax$o – see funcs and procs: arguments:
objects and objrefs$s – see funcs and procs: arguments:
strdef& – see hoc syntax: pointer operatorarguments
call by reference vs. call by value 359, 366numarg() 358objects and objrefs 358–359, 366pointer 358
also see hoc syntax: pointer operator
positional syntax 358strdef 358–359symbolic positional syntax 358
defining 357local variable 360
also see hoc syntax: namesrecursion 360return 357
also see hoc syntax: flow control: returnreturned value – see funcs and procs:
returnFUNCTION
calling from hoc – see hoc: calling anNMODL FUNCTION or PROCEDURE
functioncontinuous
of space 51also see range variable
of time 51delta 51discrete 77piecewise linear 78, 80
also see continuous variable: piecewiselinear approximation
rate – see BREAKPOINT block: and ratefunctions, KINETIC block: reactionrates: voltage sensitive
table – see function tablealso see funcs and procs, FUNCTION
FUNCTION block 226, 232arguments are call by value 283
function call operator – see hoc syntax:expressions: operators
function table 114, 170also see NMODL: FUNCTION_TABLE
FUNCTION_TABLE – see NMODL:FUNCTION_TABLE
Gg_pas – see pas mechanismgain – see amplifier: gaingap junction 265–266, 271
computational efficiency 167conservation of charge 271
also see charge: conservation, equation:current balance, Kirchhoff’s currentlaw
spurious oscillations 271under CVODE 88also see Example 10.2: a gap junction,
synapse: ephaptic, LinearCircuitBuilder:for gap junctions
Index 427
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
gap.mod – see Example 10.2: a gap junctiongating model – see channel: gating modelgating state
initialization – see initialization: channelmodel
custom initialization – see initialization:strategies: changing a state variable
gating variable – see gating stateGaussian elimination 74, 167–169generic starting point for GUI tool
development – see GUI tooldevelopment: generic starting point
GENESIS 207, 210geometry 98
artifactsstylized specification reinterpreted as 3-D
specification 108zero diameter 107
specifying – see 3-D specification ofgeometry, stylized specification ofgeometry
also see CellBuilder GUI: Geometry pagealso see topology, anatomical properties
getstr() – see hoc syntax: basic input andoutput: getstr()
GLOBAL – see NEURON block: GLOBAL,ASSIGNED variable: GLOBAL,PARAMETER variable: is GLOBAL bydefault
also see LOCAL variable: declared outside an equation block: scope andpersistence
global – see GLOBAL, global variableglobal error – see numerical error: globalglobal time step – see numeric integration:
adaptive: global time stepglobal variable – see variable: local vs.
nonlocal, hoc syntax: names, template:writing a template: external
GMODL 210good programming style
bulletproofing against nonsense arguments330
divide and conquer 5exploiting reusable code 307, 324, 328iterative development 155, 329, 378, 381modular programming 5, 142, 328
control – see simulation controlinstrumentation – see instrumentationmodel specification – see model
specificationprogram organization 98, 154
separating model specification from userinterface 155, 328
also see hoc: idiomgraded synapse – see synaptic transmission:
gradedgradient – see concentration: gradient, voltage:
gradientgradsyn.mod – see Example 10.1: graded
synaptic transmissionGraph
automatically updating plots and x axis –see standard run system: addplot()
creatingShape plot 22Space Plot 22Voltage axis 21
incorporating into plotting system – seestandard run system: plotting system:incorporating Graphs and objects,standard run system: addplot()
Graph classaddexpr() 180addvar() 180begin() 180–181
also see initialization: initPlot(),standard run system: Plot()
beginline() 390erase_all() 337, 389exec_menu() 392flush() 180–181, 393mark() 393menu_tool() 380plot() 180–181
also see standard run system: Plot()save_name() 385size() 181, 337, 391view_count() 180–181view_info() 394view() 335also see standard run system: addplot()
Graph GUIprimary menu
Erase 29Keep Lines 28Plot what? – see Plot what? GUI
graphraster – see spike trains: recording and
plotting, NetWork Builder: buttons:SpikePlot
also see Graphgraph lists – see standard run system: plotting
system: graphLists
428 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
graph theory 44, 317graphical interface – see user interface:
custom GUI, NEURON Main Menugraphical tools – see NEURON Main Menu,
CellBuilder, Graph, PFWM,PointProcessManager, RunControl,Shape plot, Shape Plot, Space Plot, Plotwhat?, GUI tool development
graphics terminology – see GUI: graphicsterminology
greater than operator – see hoc syntax:expressions: operators
greater than or equal to operator – see hocsyntax: expressions: operators
ground – see circuit: element: groundgsyn.mod – see Example 10.5: use-
dependent synaptic plasticityGUI
combining with hoc 141, 324computer display – see GUI: screenconflicts with hoc or other GUI tools 152focus – see focus: cursorgraphics terminology 378implementing a computational model – see
CellBuilder, NetWork Buildermapping to the screen – see GUI: screen:
mapping to the screenmodel 378model coordinates 378
also see GUI: scene coordinatesscene 378scene coordinates 378
making scene and view coordinatesequivalent 395
vs. screen coordinates 394screen 378
mapping to the screen 378also see GUI tool development:
mapping to the screenscreen coordinates 378
vs. scene coordinates – see GUI: scene coordinates: vs. screencoordinates
toolsare implemented in hoc 129, 344Close button 381, 383developing new tools – see GUI tool
developmentwork by constructing hoc programs
129, 344also see NEURON Main Menu GUI
view 378
which view contains the mouse – seeGraph class: view_info()
vs. hoc 128also see user interface: custom GUI,
NEURON Main Menu, standard GUIlibrary
GUI tool developmentbasic pattern – see GUI tool development:
generic starting pointbox – see VBox, HBoxClose button – see GUI: tools: Close buttongeneral issues
allowing multiple instances 380,383–384
destroying 381, 383–384encapsulating 380saving and retrieving 380, 385, 395
also see session file, session file:object_push(), session file:object_pop(), GUI: scenecoordinates: making scene andview coordinates equivalent
generic starting point 387graphical model – see GUI: modelmapping to the screen 386–387
window title 384also see GUI: screen: mapping to the
screen, VBox class: map()mouse events – see mouse: eventspanel – see xpanel()which view contains the mouse – see
Graph class: view_info()
HHamming, R.W. 86HBox 383
also see VBoxhh mechanism 16hiding information – see object-oriented
programming: information hidingHinton plot 180history function – see hoc: history functionhoc 2, 17, 128, 343
adding new mechanisms – see nrniv:adding new mechanisms, mechanisms:user-defined, NMODL
calling an NMODL FUNCTION orPROCEDURE 226
specifying proper instance withsetdata_ 226
can do anything that a GUI tool can 130combining with GUI 141, 324
Index 429
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
hoc (contd)conflicts with GUI 152efficient simulation – see computational
efficiency: why is NEURON fast?enhancements and extensions 343error handling 348functions – see funcs and procshistory function 347idiomforall nseg*=3 97forall psection() 134load_file("nrngui.hoc") 142,
159also see List class: iteration
immediate mode 347implementing a computational model 130interrupting execution 349
also see hoc: starting and exitingKernighan and Pike 343keywords – see hoc syntax: keywordslibraries 344
also see standard GUI library, standardrun library
oc> prompt 347parse errors – see hoc: error handlingprocedures – see funcs and procsrun-time errors – see hoc: error handlingscalar – see hoc syntax: variables: scalarsscope – see hoc syntax: names, funcs and
procs: local variable, variable: localvs. nonlocal, LOCAL variable,ASSIGNED variable: GLOBAL,NEURON block: GLOBAL,PARAMETER variable: is GLOBAL bydefault
also see object: public members,template: writing a template:public, template: writing atemplate: external
speed – see computational efficiency: whyis NEURON fast?
starting and exiting 346stopping – see hoc: interrupting execution
also see hoc: starting and exitingsyntax – see hoc syntaxtop level of the interpreter 385
also see execute()user-defined variable – see hoc syntax:
namesvs. GUI 128also see hoc syntax, Programmer’s
Reference, good programming style
hoc fileexecuting – see NEURON: starting with a
specific hoc file, nrngui, nrnivalso see load_file(), hoc syntax:
basic input and output: xopen()hoc syntax
basic input and outputfprint() 361fscan() 362getstr() 362print 361printf() 361read() 361ropen() 362sprint() 361wopen() 361xopen() 362
also see load_file()xred() 362
comments 130, 355continuation character 348expressions 354
logical comparison of real values – see hoc syntax:float_epsilon
logical expressions 355operators 354precedence – see hoc syntax:
expressions: operatorsfloat_epsilon 355flow control 356break 100, 357continue 100, 357else 356for 356if 356iterator 356iterator_statement 356quit() 357return 100, 357
also see funcs and procs: returnstop 357while 356
functions – see funcs and procskeywords 350names 350operators – see hoc syntax: expressions:
operators, hoc syntax: pointeroperator
pointer operator 358precedence of operations – see hoc syntax:
expressions: operators
430 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
procedures – see funcs and procsstatements 355
compound statement 355variables 353
arrays – see hoc syntax: variables:double
built-in constants 353cannot change type 156cannot redefine type 354double 353
also see Vector classobjref – see object reference: objrefscalars 353strdef 354strings – see hoc syntax: variables:
strdefalso see hoc: idiom, Programmer’s
ReferenceHodgkin–Huxley delayed rectifier – see
Example 9.4: a voltage-gated currentHodgkin–Huxley mechanism – see hh
mechanismhypothesis 1, 24
testing 32–33also see model: conceptual
IIClamp class 112
preserving spatial accuracy – see pointprocess: preserving spatial accuracy
iclamp1.mod – see Example 9.3: anintracellular stimulating electrode
IDA 172initialization 187also see numeric integration: adaptive,
DASPK, SUNDIALSidiom – see hoc: idiomif – see hoc syntax: flow control: ifimmediate mode – see hoc: immediate modeimplicit Euler method – see backward Euler
methodinequality operator – see hoc syntax:
expressions: operatorsinformation hiding – see object-oriented
programming: information hidinginheritance – see object-oriented
programming: inheritanceINITIAL block 186, 188, 190, 224
initializing STATE variables – see STATEvariable: initialization
inside NET_RECEIVE block – seeNET_RECEIVE block: INITIAL block
sequence-dependent 186SOLVESTEADYSTATE sparse 189, 243, 258also see initialization: channel model:
kinetic schemealso see initialization, mechanisms:
initialization sequence, mechanisms:user-defined: call order
init() – see initialization: init()initial value problem 48initialization 24, 28, 140
adaptive integration – see numeric integration:adaptive: initialization, CVode class:re_init(), IDA: initialization
active transport – see active transport:initialization
analysis 183ASSIGNED variable – see ASSIGNED
variable: initializationbasic 185
also see initialization:finitialize(), initialization:default
categories 225of a chaotic system – see initialization:
categories: to a desired stateof an oscillating system – see
initialization: categories: to adesired state
overview of custom initialization 185, 188also see initialization: init(): custom
to a desired state 198to a particular resting potential 195to steady state 197also see initialization: basic, initialization:
defaultchannel model 188
Hodgkin–Huxley style 188kinetic scheme 189
also see INITIAL block: SOLVE:STEADYSTATE sparse, ini-tialization: strategies: changing astate variable, initialization:strategies: changing modelparameters, initialization: strate-gies: steady state initialization ofcomplex kinetic schemes
criterion for proper initialization 183custom 152
also see initialization: categories,initialization: strategies,initialization: init(): custom
Index 431
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
initialization (contd)default 187
also see initialization: init(),initialization: stdinit(),initialization: basic
diffusion – see ion accumulation:initialization
dt – see standard run system: setdt()event delivery system – see standard run
system: event delivery system:initialization, initialization:finitialize()
extracellular mechanism 186fcurrent() – see standard run system:
fcurrent(): in initializationfinitialize() 160, 164, 175,
185–187, 219, 224fixed time step integration – see numeric
integration: fixed time step:initialization
frecord_init() 188init() 160, 164, 187–188
custom 195–198, 204also see initialization: strategies:
changing a state variableinitPlot() 164, 180, 187internal data structures dependent on
topology and geometry 185also see ion accumulation: initialization:
of model geometryion 186, 191–194
accumulation – see ion accumulation:initialization
also see ion mechanism: defaultconcentration, ion_style(),initialization: strategies: changing astate variable
kinetic scheme 183also see INITIAL block: SOLVE:
STEADYSTATE sparse,KINETIC block: CONSERVE: whenis it required for initialization?
linear circuit 183, 186membrane potential – see initialization:
v_init, membrane potential:initialization
NetCon object – see NET_RECEIVEblock: INITIAL block
network 183, 186non-steady state 166object – see template: variable initializationrandom number generator 183
Random.play() 185recording 183
also see initialization:frecord_init(), Vector class:record(): initialization
startsw() 187also see run time, standard run system:
realtimeSTATE variable – see STATE variable:
initializationstate0 – see STATE variable:
initializationstdinit() 160, 164, 180, 187steady state – see initialization: categories: to
steady state, initialization: categories: toa particular resting potential
strategies 225changing a state variable 187–188
also see STATE variable: initialization,ion mechanism: initialization,ion mechanism: defatult concen-tration: specification in hoc
changing an equilibrium potential 195changing model parameters 199groundhog day 199injecting a constant current 196jumping back to move forward 197steady state initialization of complex
kinetic schemes 258also see initialization: init(): custom
synaptic weight vector – see NET_RECEIVEblock: INITIAL block
t 185template – see template: variable initializationv_init 24, 186–188
also see membrane potential: initializationVector.play() 186Vector.record() – see initialization:
frecord_init(), Vector class:record(): initialization
weight vector – see NET_RECEIVE block:INITIAL block
also see RunControl GUI: Init, RunControlGUI: Init & Run, INITIAL block,NET_RECEIVE block: INITIALblock, Graph class: begin(),mechanisms: initialization sequence,mechanisms: user-defined: call order
initialize microstep – see numeric integration:adaptive: initialize microstep
also see standard run system: fadvance():local time step integration
432 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
initPlot() – see initialization:initPlot()
input and output – see hoc syntax: basic inputand output
input event – see event: externalinsert 111, 133
also see uninsertinsight 32, 34, 86instability – see numeric integration:
instability, KINETIC block: reactionrates: STATE-dependent, and instability
instrumentation 5, 18, 154integrate and fire 83, 88
also see artificial spiking cellintegration – see numeric integrationintensive variable – see variable: intensiveintent – see user’s intentinterpolate microstep – see numeric integration:
adaptive: interpolate microstepalso see standard run system: fadvance():
local time step integrationinterpolation – see Vector class: play():
with interpolationinterpreter – see hocIntFire1 class 290
effect of an input event 292m – see IntFire1 class: membrane state
variableM – see IntFire1 class: membrane state
variable: visualizingmembrane state variable 290
time constant 290visualizing 292, 296
refrac – see IntFire1 class: refractoryperiod
refractory period 294tau – see IntFire1 class: membrane
state variable: time constantalso see artificial spiking cell, Example
10.7: IntFire1, a basic integrateand fire model
IntFire2 class 297approximate firing rate 298bias – see IntFire2 class: synaptic
current state variable: biasconstraint on time constants 298effect of an external event 297, 299firing time
efficient computation 299role of self-events 299
i – see IntFire2 class: synaptic currentstate variable
ib – see IntFire2 class: synaptic currentstate variable: bias
m – see IntFire2 class: membrane statevariable
membrane state variable 297time constant 297
also see IntFire2 class: constrainton time constants
synaptic current state variable 297bias 297time constant 297
also see IntFire2 class: constrainton time constants
taum – see IntFire2 class: membranestate variable: time constant
taus – see IntFire2 class: synapticcurrent state variable: time constant
also see artificial spiking cell, Example10.8: IntFire2, firing rateproportional to input
IntFire4 class 301constraint on time constants 301, 399convergence tolerance 304e – see IntFire4 class: synaptic current
state variables: excitatoryeffect of an external event 301eps – see IntFire4 class: convergence
tolerancefiring time
efficient computation 302role of self-events 303
i1 – see IntFire4 class: synaptic currentstate variables: inhibitory
i2 – see IntFire4 class: synaptic currentstate variables: inhibitory
m – see IntFire4 class: membrane statevariable
membrane state variable 301time constant 301, 399
synaptic current state variablesexcitatory 302inhibitory 302time constants 301, 399
also see IntFire4 class: constrainton time constants
taue – see IntFire4 class: synapticcurrent state variables: time constants
taui1 – see IntFire4 class: synapticcurrent state variables: time constants
taui2 – see IntFire4 class: synapticcurrent state variables: time constants
Index 433
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
IntFire4 class (contd)taum – see IntFire4 class: synaptic
current state variables: time constants
also see artificial spiking cell, Example10.9: IntFire4, different synaptictime constants
intuition 32–33ion accumulation 199
initialization 200of model geometry 251also see ion mechanism: default
concentration, ion_style(),initialization: strategies: changing astate variable, initialization:strategies: changing modelparameters
kinetic scheme 200also see Example 9.8: calcium diffusion
with buffering, Example 9.9: acalcium pump
under CVODE 88also see active transport, buffer, diffusion,
ion mechanism, ion_style(),equilibrium potential, STATE variable:ion concentration as, Example 9.6:extracellular potassium accumulation
ion channel 13ion concentration – see concentration, ion
accumulation, ion mechanismion mechanism_ion suffix 190automatically created 190, 235default concentration
for user-created ion names 194name 194specification in hoc 194–195
equilibrium potential – see equilibriumpotential: computation
initialization 194, 236also see initialization: ion
ion_style() 194also see ASSIGNED variable, PARAMETER
variable, STATE variable, concentration,initialization: ion
ionic conductance 18also see channel: density
isopotential – see membrane potential:isopotential
iterationcoefficient 61equation 61
of nonlinear equations – see numericintegration: iteration of nonlinearequation
over a List – see List class: iterationover nodes – see range variable: iterating
over nodesover sections – see section: iterating over
sectionsusing iterator – see hoc syntax: flow
control: iteratoriterative development – see good
programming style: iterative developmentiterator – see hoc syntax: flow control:
iteratoriterator_statement – see hoc syntax:
flow control: iterator_statement
JJacobian 239, 243
analytic 114approximate 74, 226, 253, 271computing di/dv elements 168, 189, 262nearly singular 244user-supplied 226
judgment 1, 30, 34, 85also see accuracy, detail, qualitative results
Kk-mole – see units: k-molek_ion – see ion mechanism: automatically
createdk3st.mod – see Example 9.7: kinetic
scheme for a voltage-gated currentkd.mod – see Example 9.4: a voltage-gated
currentKeep Lines – see Graph GUI: primary menu:
Keep LinesKernighan, B.W. – see hoc: Kernighan and
Pikekext.mod – see Example 9.6: extracellular
potassium accumulationkeyboard
Alt key – see Graph class: menu_tool()Control C – see hoc: interrupting executionControl D – see hoc: starting and exitingControl key – see Graph class:
menu_tool()Shift key – see Graph class:
menu_tool()keywords – see hoc syntax: keywords,
NMODLki – see potassium, ion mechanism
434 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
ki0_k_ion – see potassium, ionmechanism: default concentration:specification in hoc
KINETIC block 243, 252, 259–> (sink reaction indicator) 261~ (tilde) 238<–> (reaction indicator) 238<< (explicit flux) 253and CVODE 88b_flux 238COMPARTMENT 247, 253–254CONSERVE 243–244
when is it required for initialization?244, 252, 258
dependent variableis a STATE variable 184also see KINETIC block: reactants:
ASSIGNED or PARAMETERvariables as
f_flux 238initialization – see initialization: channel
model: kinetic scheme, INITIALblock: SOLVE: STEADYSTATEsparse
LONGITUDINAL_DIFFUSION 253radial diffusion – see Example 9.8: calcium
diffusion with bufferingreactants 238ASSIGNED or PARAMETER variables as
242also see KINETIC block: dependent
variable: is a STATE variablereaction rates 238STATE-dependent, and instability 239voltage-sensitive 239
reaction statement 238also see Crank–Nicholson method: local
error: kinetic scheme, BREAKPOINTblock: SOLVE: sparse
kinetic scheme 36–37compartment size 41also see scale factor, NMODL: units
conversion factor, KINETIC block:COMPARTMENT
conservation rules 39also see scale factor, NMODL: units
conversion factor, KINETIC block:COMPARTMENT
equivalent differential equations 38initialization – see initialization: channel
model: kinetic scheme, initialization:strategies: changing a state variable,
initialization: strategies: changingmodel parameters, KINETIC block:CONSERVE: when is it required forinitialization?
reactants – see KINETIC block: reactantsreaction rates – see KINETIC block:
reaction ratesalso see KINETIC block
Kirchhoff’s current law 44also see charge: conservation, equation:
current balanceko – see potassium, ion mechanismko0_k_ion – see potassium, ion
mechanism: default concentration:specification in hoc
L� – see length constantL 13, 94, 132
calculation from 3-D data – see 3-Dspecification of geometry: calculationof L, diam, area(), and ri()
change flag 168default value 103specifying
stylized specification 1043-D specification – see 3-D specification
of geometry: calculation of L,diam, area(), and ri()
updating from 3-D data 109also see length
lambda_f() 123leak current – see pas mechanism, leak.modleak.mod – see Example 9.1: a passive
“leak” currentlegacy code – see troubleshooting: legacy
codelength 3, 94
arc – see rangealso see L
length constant 13–14AC 122DC 121also see d_lambda rule
less than operator – see hoc syntax:expressions: operators
less than or equal to operator – see hocsyntax: expressions: operators
linear algebra 65LINEAR block 223
dependent variableis a STATE variable 184
Index 435
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
linear circuit 56, 74, 87computational efficiency 167initialization – see initialization: linear circuitalso see system equations: matrix form:
linear circuitlinear taper – see range variable: linear taperLinearCircuitBuilder
for gap junctions 272linearity – see channel: linear, channel: gating
model: HH-typeLinearMechanism class 101list
of objects – see List classof sections – see SectionList class
List class 373append() 335, 373count() 325, 330, 373iteration 373object stack 374object() 325, 330, 373remove_all() 330remove() 375
List objectmanaging network cells with 327managing network connections with 279, 327
load_file() 124, 362also see hoc syntax: basic input and output:
xopen(), hoc: idiom:load_file("nrngui.hoc")
loc() – see point process: loc()local – see hoc syntax: names, funcs and
procs: local variable, LOCAL variablealso see object: public members: vs. private
members, template: writing a template:public
local absolute error – see absolute error: locallocal error – see numerical error: locallocal relative error – see relative error: locallocal time step – see numeric integration:
adaptive: local time stepLOCAL variable
declared outside an equation blockinitial value 251scope and persistence 251also see NEURON block: GLOBAL
declared within an equation blockscope and persistence 227
local variable – see hoc syntax: names, funcsand procs: local variable, LOCAL variable
also see object: public members: vs. privatemembers, template: writing a template:public
logical comparison of real values – see hocsyntax: float_epsilon
logical comparison operators – see hocsyntax: expressions: operators
logical expressions – see hoc syntax:expressions: logical expressions
logical operators – see hoc syntax:expressions: operators
LONGITUDINAL_DIFFUSION – seeKINETIC block:LONGITUDINAL_DIFFUSION
longitudinal diffusion – see diffusion: kineticscheme: longitudinal, KINETIC block:LONGITUDINAL_DIFFUSION
loop statement – see NMODL: FROM . . . TO . . . (loop statement)
also see hoc syntax: flow control: for,hoc syntax: flow control: while
Mmapping to the screen – see GUI: screen:
mapping to the screenMarkov process
kinetic scheme 238mass 50
also see materialmass balance – see material: conservationmaterial 36
amount 36, 42concentration 36conservation 36, 238, 242–244, 259density 36
mechanismsadding new – see mechanisms: user-definedinitialization sequence 186involving delay – see standard run system:
event delivery system: implementingdeferred computation
user-defined 113call order 186also see nrniv: adding new
mechanisms, NMODLalso see distributed mechanism, point process
membrane area 51also see area(), surface area
membrane capacitance 15, 53, 91also see cm, specific membrane capacitance
membrane conductance – see specificmembrane conductance
membrane currentcapacitive 53, 122ionic 53, 122
436 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
accuracy 169positive current convention 51
membrane potential 20–21, 49, 54, 94initialization 186–188
also see initialization: v_init,initialization: categories,initialization: strategies
isopotential 53also see v, membrane state variable
membrane resistance 16, 121membrane state variable – see IntFire1
class: membrane state variable,IntFire2 class: membrane statevariable, IntFire4 class: membranestate variable
membrane time constant 122and attenuation of fast signals 123
METHOD – see BREAKPOINT block: SOLVEmicroelectrode – see electrodeMicroEMACS 362
also see em, emacsmicrostep – see numeric integration: adaptive:
advance microstep, numeric integration:adaptive: initialize microstep, numericintegration: adaptive: interpolatemicrostep
miscellaneous_add() – seeNEURONMainMenu class:miscellaneous_add()
mistakeprogramming – see hoc: error handling
mknrndll – see NMODL: translator:mknrndll
mod file 207, 345compiling
under MSWindows – see NMODL:translator: mknrndll
under UNIX/Linux – see NMODL:translator: nrnivmodl
also see NMODLmodel
3-D 110also see 3-D specification of geometry
ball and stick 34compartmental 92, 96computational 1, 5, 33
analysis 24essential steps 128implementation 34, 98
also see computational model: implementing with hoc
model specification 16
conceptual 1, 3, 28, 33, 36, 118correspondence between conceptual and
computational 128, 130also see discrepancy: between conceptual
model and compartmental modelnetwork – see network modelpurpose – see judgment, user’s intentsimulation control – see simulation controlstylized 104
also see stylized specification of geometrytesting 141
also see topology: checkingMOdel Description Language – see MODLmodel coordinates – see GUI: model
coordinatesvs. screen coordinates – see GUI: scene
coordinates: vs. screen coordinatesmodel description language – see NMODLmodel properties
specifying 98also see anatomical properties:
specifying, biophysical properties:specifying
model specification 5, 16, 154as virtual experimental preparation 154vs. user interface – see good programming
style: separating model specificationfrom user interface
also see model properties: specifyingmodeling 73, 79
empirically-based 32, 61rationale 33
modified Euler method 271also see backward Euler method
modifying standard functions and procedures– see standard run library: redefiningfunctions and procedures, standard GUIlibrary: redefining functions andprocedures
MODL 208vs. NMODL 208, 210
modlunit 216, 231also see units: checking
modular programming – see good programming style: modularprogramming
modulus operator – see hoc syntax:expressions: operators
mole – see units: molemole equivalents 39morphometric data – see quantitative
morphometric data
Index 437
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
mousebutton – see mouse: eventscursor – see focus: cursorevents 379
Alt, Control, or Shift key – see Graphclass: menu_tool()
cursor coordinates 380, 392handling 380, 392also see Graph class: menu_tool()
which view contains the mouse – seeGraph class: view_info()
movie – see Vector: moviemultiplication operator – see hoc syntax:
expressions: operators
Nn3d() – see 3-D specification of geometry:
n3d()na_ion – see ion mechanism: automatically
creatednai – see ion mechanismnai0_na_ion – see ion mechanism: default
concentration: specification in hocnao – see ion mechanismnao0_na_ion – see ion mechanism: default
concentration: specification in hocNational Biomedical Simulation Resource
project 208Nernst equation – see initialization: ion,
ion_style()Nernst potential – see equilibrium potential,
initialization: ion, ion_style()net_event() – see NET_RECEIVE block:
net_event()net_move() – see NET_RECEIVE block:
net_move()NET_RECEIVE block 275, 278
arguments are call by reference 283flag – see event: flaghandling abrupt changes and discontinuities
262INITIAL block 186, 224, 283
also see NetCon class: weight vectornet_event() 292, 299, 303net_move() 289, 299net_send() 289, 295state_discontinuity() 262also see Examples 10.3–10.9
net_send() – see NET_RECEIVE block:net_send()
NetConand standard run system 166
NetCon class 272, 274delay 274event() 263record() 335source variable 274states – see NetCon class: weight vectorstream-specificity 274, 279target 275threshold 274weight 274weight vector 275
initialization 283NetCon object
as a channel for a stream of events 289initialization – see NET_RECEIVE block:
INITIAL blocknetcvode.cpp 166NetGUI class – see NetWork BuilderNetReadyCellGUI
bringing up a NetReadyCellGUI 322cell names – see NetWork Builder: cells:
nameschanging cell parameters – see NetWork
Builder: caveatsNetWork Builder
adjusting model parameters 318bringing up a NetWork Builder 313buttons
Create 318, 323Delays – see NetWork Builder:
specifying delays and weightsHoc File – see NetWork Builder:
exporting reusable codeLocate – see NetWork Builder: cells:
creatingShow Cell Map – see NetWork Builder:
cells: Cell MapSpikePlot 318Src–> Tar – see NetWork Builder: setting
up network architectureWeights – see NetWork Builder:
specifying delays and weightscanvas 314
dragging 315caveats 322cells
Cell Map 324connecting – see NetWork Builder:
setting up network architecture,NetWork Builder: specifying delaysand weights
creating 314
438 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
names 314, 323also see NetWork Builder: cells: Cell Map
types – see NetWork Builder: palette of celltypes, ArtCellGUI, NetReadyCellGUI
changing a network – see NetWork Builder:caveats
changing cell parameters – see NetWorkBuilder: caveats
creating an instance of a network – seeNetWork Builder: buttons: Create
default section – see NetWork Builder:exporting reusable code: acell_home_
delays and weights – see NetWork Builder:specifying delays and weights
exploiting reusable code 328exporting reusable code 324acell_home_ 326network cell templates 326network instantiation 328network specification interface 327
hints 314network architecture – see NetWork Builder:
setting up network architecturepalette of cell types 314plotting spikes – see NetWork Builder:
buttons: SpikePlotreusable code – see NetWork Builder:
exploiting reusable codesaving a hoc file – see NetWork Builder:
exporting reusable codesetting up network architecture 315specifying delays and weights 316
network modelarchitecture – see convergence, divergence
also see NetCon, List object:managing network connections with
building with GUI – see ArtCellGUI,NetReadyCellGUI, NetWork Builder
connectivity – see NetCon, List object:managing network connections with
creating algorithmically 329initialization – see initialization: network,
NET_RECEIVE block: INITIAL blockneurite 51, 92, 105
also see sectionNEURON
adding new mechanisms – see mechanisms:user-defined, nrniv: adding newmechanisms, NMODL
last change date – see NEURON: startupbanner
starting and exiting 6
starting with a specific hoc file 133startup banner 347version number – see NEURON: startup
banneralso see hoc: starting and exiting
NEURON block 210ARTIFICIAL_CELL 291
also see artificial spiking cell, IntFire1class, IntFire2 class, IntFire4class
ELECTRODE_CURRENT 218effect on extracellular mechanism
218GLOBAL 190, 211
also see ASSIGNED variable: GLOBAL,PARAMETER variable: is GLOBALby default
NONSPECIFIC_CURRENT 211equilibrium potential 223also see active transport: pump current:
countering with a NONSPECIFIC_CURRENT
POINT_PROCESS 215also see point process
POINTER 268also see POINTER variable
RANGE 190, 211, 218also see range, range variable,
ASSIGNED variable: GLOBAL: vs.RANGE, ASSIGNED variable: is arange variable by default,PARAMETER variable: GLOBAL vs.RANGE, STATE variable: isautomatically RANGE
SUFFIX 211also see distributed mechanism
USEION 222, 230effect on initialization sequence 186READ ex (reading an equilibrium
potential) 222READ ix (reading an ionic current)
235, 250READ xi (reading an intracellular
concentration) 230, 250READ xo (reading an extracellular
concentration) 255WRITE ix (writing an ionic current)
222, 230, 233, 255, 259WRITE xi (writing an intracellular
concentration) 193, 250WRITE xo (writing an extracellular
concentration) 193, 235
Index 439
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
NEURON demonstration program – seeneurondemo
NEURON Main Menu 6adding items – see NEURONMainMenu
class: miscellaneous_add()creating 142, 155
NEURON Main Menu GUIBuild
CellBuilder 6NetWork Builder 313
Fileload session 18Quit 347save session 17, 23
GraphCurrent axis 180Phase Plane 180Shape plot 22State axis 180Voltage axis 21, 180
ToolsMiscellaneous 384Point Processes 19
also see PointProcessGroupManager,PointProcessManager
RunControl 24VariableStepControl 165, 319
also see VariableTimeStep GUINEURON MOdel Description Language – see
NMODLNEURON program group 6neuron.exe 345neurondemo 345NEURONMainMenu classmiscellaneous_add() 384
NEURONMainMenu objectis always NEURONMainMenu[0] 384
NEURON’s interpreter – see hocnew – see object: newNMODL 113
abrupt change of a variable – see variable:abrupt change of, NET_RECEIVEblock: handling abrupt changes anddiscontinuities
arraysare not dynamic 250, 255index starts at 0 250STATE variable – see STATE variable:
array in NMODLCOMMENT . . . ENDCOMMENT – see
NMODL: commentscomments 209
declaring variables 211specifying units 212also see NMODL: named blocks:
variable declaration, ASSIGNEDblock, CONSTANT block,PARAMETER block, STATE block,LOCAL variable, NMODL: DEFINE
DEFINE 250dt – see dt: use in NMODLFROM . . . TO . . . (loop statement) 252function – see FUNCTION blockFUNCTION_TABLE 244loop statement – see NMODL: FROM . . .
TO . . . (loop statement)mknrndll – see NMODL: translator:
mknrndllnamed blocks 208ASSIGNED – see ASSIGNED blockBREAKPOINT – see BREAKPOINT blockCONSTANT – see CONSTANT blockDERIVATIVE – see DERIVATIVE blockequation definition 208
also see BREAKPOINT block,DERIVATIVE block, FUNC-TION block, INITIAL block,KINETIC block, PROCEDUREblock
FUNCTION – see FUNCTION blockgeneral form 210INITIAL – see INITIAL blockKINETIC – see KINETIC blockNEURON – see NEURON blockNONLINEAR – see NONLINEAR blockPARAMETER – see PARAMETER blockPROCEDURE – see PROCEDURE blockvariable declaration 208
also see ASSIGNED block, PARAME-TER block, STATE block, LOCALvariable
nocmodl – see NMODL: translator:nocmodl
nrnivmodl – see NMODL: translator:nrnivmodl
procedure – see PROCEDURE blockt – see t: use in NMODLtranslator 207, 209, 239–240, 244mknrndll 186, 191, 346
also see nrnmech.dllnmodl 211nocmodl 192, 211, 346nocmodl.exe 211nrnivmodl 186, 191, 345
440 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
units conversion factor 216, 231, 237,250–251, 259
parentheses 216–217also see UNITS block: units scaling,
scale factorUNITSOFF . . . UNITSON 227user-defined variable 210VERBATIM . . . ENDVERBATIM 209vs. MODL – see MODL: vs. NMODLalso see mod file
nmodl – see NMODL: translator: nmodlnocmodl – see NMODL: translator:
nocmodlnocmodl.exe – see NMODL: translator:
nocmodl.exenode
circuit – see circuit: nodeequation – see equation: current balance,
Kirchhoff’s current lawsection – see section: nodes
“nonbiological” model – see artificial spikingcell, integrate and fire
NONLINEAR block 223dependent variable
is a STATE variable 184nonlinearity – see system: nonlinear, channel:
nonlinearnoninteractive simulations – see GUI: vs. hocNONSPECIFIC_CURRENT – see NEURON
block: NONSPECIFIC_CURRENTnormalized distance along a section – see rangeNOT operator – see hoc syntax: expressions:
operatorsnotation
chemical reaction – see kinetic schemecircuit – see circuit
nrngui 6, 133loads GUI and standard run library 142
nrniv 133, 345adding new mechanisms 345
also see mechanisms: user-defined,NMODL
also see nrnguinrniv.exe 345
also see nrniv, neuron.exenrnivmodl – see NMODL: translator:
nrnivmodlnrnmech.dll 346
also see mknrndllnrnunits.lib 212, 231
also see units: databasenseg 95, 132
effect on spatial accuracy and resolution 96effect on range variable – see range
variable: effect of changing nseg,range variable: inhomogeneous:reassert after changing nseg
may reposition internally attached sectionsand point processes 102, 112
vs. number of 3-D points 106why triple nseg? 97why use odd values? 97also see spatial grid, discretization, segment
nstep_steprun – see standard run system:setdt(), RunControl GUI: Pointsplotted/ms
NULLobject – see object: NULLobjectnumarg() – see funcs and procs:
arguments: numarg()numeric integration 28, 56, 62, 86
accuracy – see accuracy, numericintegration: order of accuracy
adaptive 72, 87, 224, 226, 236, 243,260–261, 263
advance microstep 173and events – see event: times: with
adaptive integration, standard runsystem: event delivery system:adaptive integration and, standardrun system: fadvance(): globaltime step integration, standard runsystem: fadvance(): local timestep integration
and the standard run system – seestandard run system: event deliverysystem: adaptive integration and,standard run system: fadvance():global time step integration, standardrun system: fadvance(): localtime step integration
error control – see numerical error: controlglobal time step 81–82, 88
also see standard run system: fad-vance(): global time step inte-gration, VariableTimeStepGUI–global vs. local time steps
global variable time step – see numericintegration: adaptive: global time step
GUI control – see VariableTimeStep GUIinitialization 187
also see CVode class: re_init(),initialization
initialize microstep 173interpolate microstep 173
Index 441
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
numeric integration (contd)interpolation formulas 174local time step 74, 80–82, 88, 166
also see standard run system: fad-vance(): local time step inte-gration, standard run system:event time queue, standard runsystem: cell time queue, CVodeclass: record(),VariableTimeStep GUI–globalvs. local time steps
local variable time step – see numericintegration: adaptive: local time step
microstep – see numeric integration:adaptive: advance microstep,numeric integration: adaptive:initialize microstep, numericintegration: adaptive: interpolatemicrostep
switching to fixed time step 88toggling on and off – see
VariableTimeStep GUI: togglingadaptive integration on and off
with discrete events – see standard runsystem: event delivery system:adaptive integration and, standardrun system: fadvance(): globaltime step integration, standard runsystem: fadvance(): local timestep integration, event: times: withadaptive integration
also see CVODE, CVODES, DASPK,IDA, SUNDIALS, standard runsystem: fadvance(): global timestep integration, standard runsystem: fadvance(): local timestep integration
analytic integration of channel states 72,165, 170
central difference method – see Crank–Nicholson method
error – see accuracy, numerical error,numeric integration: order of accuracy
explicit 63, 86, 243also see forward Euler method
fixed time step 75, 86, 225, 236, 263event aggregation 81, 166, 171,
218, 260also see event: times: with adaptive
integrationinitialization 186
also see initializationswitching to adaptive 88
also see backward Euler method, forwardEuler method, Crank–Nicholsonmethod, standard run system:fadvance(): fixed time step
implicit 63, 86–87, 243also see backward Euler method, Crank–
Nicholson methodinitialization – see numeric integration:
adaptive: initialization, numericintegration: fixed time step:initialization, initialization
instability 62, 64also see numeric integration: stability
iteration of nonlinear equations 70, 87NEURON’s default method – see backward
Euler methodorder of accuracy 71, 75, 83
first 226, 243also see backward Euler method,
forward Euler methodsecond 225, 246
also see Crank–Nicholson method, spatial accuracy: second order
variable 226also see numeric integration: adaptive,
CVODE, DASPKprecision – see numeric integration: order
of accuracystability 74, 86, 91
effect of signal sources 66, 86also see system equations: effect of
signal sourcesalso see numeric integration: instability,
system: stiff, backward Eulermethod, forward Euler method,Crank–Nicholson method
summary 86numeric solution – see numeric integrationnumerical error 83
absolute – see absolute errorcaused by changing nseg – see nseg: may
reposition internally attached sectionsand point processes
chaotic system 84control 62, 79
also see absolute error: local: tolerance,relative error: local: tolerance
criterion – see absolute error: local:tolerance, relative error: local:tolerance
cumulative – see numerical error: globalglobal 76, 83
442 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
integrated 166also see numerical error: global
local 64, 68, 75, 83, 171also see absolute error: local, relative
error: localmessage – see error message, hoc: error
handlingoscillations 67, 70programming – see hoc: error handlingrelative – see relative errorroundoff 65, 97spatial 56, 60, 96
also see spatial accuracytemporal 56
effect of spatial discretization 60, 119also see temporal accuracy
tolerance – see absolute error: local:tolerance, relative error: local: tolerance
total – see numerical error: globalalso see parameters: sensitivity to, accuracy:
physiological, accuracy: qualitativenumerical oscillations – see numerical error:
oscillations, numeric integration:instability
Nyquist sampling theorem 59
Oobject 363
array 372as an argument – see funcs and procs:
arguments: objects and objrefscalling a method – see object: public
members: accessing from hoccollection – see object: array, List classcreating 365destroying 365dot notation – see object: public members:
dot notationincorporating into plotting system – see
standard run system: plotting system:incorporating Graphs and objects
initializing variables – see template:variable initialization
list – see List classmethods 366, 368
calling – see object: public members:accessing from hoc
namehow generated 370vs. object reference 370
new 365notifying at every step – see standard run
system: plotting system: notifyingGraphs and objects
NULLobject 365, 371, 372using the NULLobject 372
objref – see object reference: objrefpassing to a func or proc – see funcs
and procs: arguments: objects andobjrefs
private vs. public – see object: publicmembers: vs. private members,template: writing a template: public
public membersaccessing from hoc 366dot notation 366vs. private members 366also see template: writing a template:
publicreference – see object reference, object:
reference countreference count 366, 370, 383set – see object: array, List classspecifying attributes – see template: writing,
object: public members: dot notationstack – see List class: object stackstate 363, 366this – see object reference: thisvs. class 363vs. object reference 364also see object reference, class, template,
object-oriented programmingobject name – see object: nameobject name vs. object reference – see object
reference: vs. object nameobject reference 112, 364
as an argument – see funcs and procs:arguments: objects and objrefs
cannot be redefined as scalar, double, orstring 365
count – see object: reference countdeclaring 364objectvar 364
also see object reference: cannot redefineas scalar, double, or string
objref 112, 365also see object reference: cannot redefine
as scalar, double, or stringpassing to a func or proc – see funcs
and procs: arguments: objects andobjrefs
points to an object 364, 366this 383vs. object 364vs. object name 370
object variable – see object reference:objectvar
Index 443
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
object_pop() – see session file:object_pop()
object_push() – see session file:object_push()
object-oriented programmingencapsulating code 375information hiding 363inheritance 327, 363, 376
also see class: base class, class: subclasspolymorphism 181, 363, 376
also see class: base class, class: subclassalso see object, object reference, class,
templateobjectvar – see object reference:
objectvarobjref – see object reference: objrefoc 346
also see nrnivocbox_ – see session file: ocbox_Ohm’s law 52online Programmer’s Reference – see
Programmer’s Referenceoperators – see hoc syntax: expressions:
operatorsoperator precedence – see hoc syntax:
expressions: operatorsoptimization 30OR operator – see hoc syntax: expressions:
operatorsordinary differential equation – see equation:
differential: ordinaryoscillating system – see initialization:
categories: to a desired stateoscillations – see numerical error: oscillationsoscilloscope 23oxymoron 306
Ppanel – see xpanel()PARAMETER block 212
assigning default PARAMETER values 212default value of state0 190
also see STATE variable: state0,STATE block: START
specifying minimum and maximum limits212
PARAMETER variable 184, 212abrupt change of – see variable: abrupt change
of, NET_RECEIVE block: handlingabrupt changes and discontinuities
default value – see PARAMETER block:assigning default PARAMETER values
GLOBAL vs. RANGE 212, 235, 256also see NEURON block: RANGE
is GLOBAL by default 254also see NEURON block: GLOBAL
RANGE 218specifying minimum and maximum
limits – see PARAMETER block:specifying minimum and maximumlimits
time-dependent 161, 263visibility at the hoc level 212when to use for an equilbrium potential
223also see ASSIGNED variable, STATE
variable, ion_style()parameters
biophysical 15–16geometric 13–14sensitivity to 84also see PARAMETER variable
parent section – see section: parentparentheses – see hoc syntax: expressions:
operators, NMODL: units conversionfactor: parentheses, UNITS block: unitsscaling
parse errors – see hoc: error handlingpartial differential equation – see equation:
differential: partialpas mechanism 15e_pas 16g_pas 16
passive cylindrical cable – see cable: passivecylindrical
passive leak current – see Example 9.1: apassive “leak” current
PFWM 16is implemented in C 344saving and retrieving session files – see
session file: saving: from PFWM,session file: loading: from PFWM
physical distance – see distancephysical system 33
representing by a model 33–34physiological accuracy – see accuracy:
physiologicalpiecewise linear approximation – see range
variable: estimating by linearinterpolation between nodes
piecewise linear function – see function:piecewise linear
Pike, R. – see hoc: Kernighan and Pikeplain text file 130
444 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
plasticitysynaptic – see synaptic plasticity
Plot what? GUI 228, 233also see variable browser
Plot() – see standard run system: Plot()plot lists – see standard run system: plotting
system: fast_flush_list, standardrun system: plotting system:flush_list, standard run system:plotting system: graphLists
plotting spike trains – see spike trains:recording and plotting, NetWork Builder:buttons: SpikePlot
plotting system – see standard run system:plotting system
point process 18, 112, 214, 217adding new – see mechanisms: user-
defined, NMODLattaching – see point process: insertingchanging location with hoc code – see
point process: loc()creating 112destroying 112effect of nseg on location 112inserting 112loc() 113preserving spatial accuracy 97specifying attributes 112vs. distributed mechanism 113also see NEURON block:
POINT_PROCESS, artificial spikingcell, NEURON block:ARTIFICIAL_CELL
Point Process Viewer GUI 217POINTER – see POINTER variable, NEURON
block: POINTER, setpointerpointer – see hoc syntax: pointer operator,
NEURON block: POINTER, POINTERvariable
pointer operator – see hoc syntax: pointeroperator
Pointer class 359POINTER variable 268
effect on Jacobian – see Jacobian:approximate
also see NEURON block: POINTER,setpointer, variable: local vs.nonlocal
PointProcessGroupManagerbringing up a PointProcessGroupManager
319PointProcessManager 18
configuring asAlphaSynapse 19
creating 19, 148location 20, 27
changing 27parameters 20
PointProcessManager GUISelectPointProcess 19Show
Shape 27Points plotted/ms – see RunControl GUI:
Points plotted/mspolymorphism – see object-oriented
programming: polymorphismpotassium
concentration – see Example 9.6:extracellular potassium accumulation
current – see Example 9.4: a voltage-gatedcurrent, Example 9.5: a calcium-activated, voltage-gated current
also see ion mechanismpotential
reversal – see equilibrium potentialalso see membrane potential, voltage
precedence of operations – see hoc syntax:expressions: operators
prediction 33print – see hoc syntax: basic input and
output: printPrint & File Window Manager – see PFWMprintf() – see hoc syntax: basic input and
output: printf()private vs. public – see object: public
members: vs. private members, template:writing a template: public
proc – see funcs and procsPROCEDURE
calling from hoc – see hoc: calling anNMODL FUNCTION or PROCEDURE
also see PROCEDURE block, BREAKPOINTblock: and PROCEDUREs
procedure – see funcs and procs, PROCEDUREPROCEDURE block 232
arguments are call by value 283program organization – see good
programming style: program organizationProgrammer’s Reference 343programming – see hoc
good practices – see good programming stylemistake – see hoc: error handling
project management 154also see good programming style
Index 445
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
proper initialization – see initialization:criterion for proper initialization
psection() 103pt3d – see 3-D specification of geometrypt3d data – see 3-D specification of geometry:
3-D informationpt3d list – see 3-D specification of geometry:
3-D informationpt3dadd() – see 3-D specification of
geometry: pt3dadd()public – see object: public members,
template: writing a template: publicpump
calcium – see calcium: pumpalso see active transport
purpose of computing – see insightpurpose of the model – see user’s intentpush_section() 100
Qqualitative results 67
also see accuracy, judgmentquantitative morphometric data 98, 105, 126,
144bad diameter values – see diameter: zero or
narrow diameteralso see 3-D specification of geometry
queuecell time – see standard run system: event
delivery system: cell time queueevent time – see standard run system: event
delivery system: event time queueQuiet – see RunControl GUI: Quietquit() – see hoc syntax: flow control:
quit()quitting NEURON – see NEURON: exiting,
hoc syntax: flow control: quit()
RRa 13, 15, 94
default value 16, 103also see cytoplasmic resistivity
radial diffusion – see diffusion: radialramp clamp – see voltage clamp: ramp clampRandom classplay()
initialization – see initialization:Random.play()
random number generatorinitialization – see initialization: random
number generator
RANGE – see NEURON block: RANGE, range,range variable
range 93RANGE variable – see range variablerange variable 93
dot notation – see section: currentlyaccessed: dot notation
effect of changing nseg 115–117estimating by linear interpolation between
nodes 97inhomogeneous
reassert after changing nseg 116in which section? – see section: currently
accessediterating over nodes 114linear taper 115linear variation along a section – see range
variable: linear taperrangevar(x) returns value at nearest
internal node 94also see range, NEURON block: RANGE,
ASSIGNED variable: is a rangevariable by default, PARAMETERvariable: RANGE, STATE variable: isautomatically RANGE
raster plot – see spike trains: recording andplotting, NetWork Builder: buttons:SpikePlot
rate constant 37rate functions – see BREAKPOINT block: and
rate functions, KINETIC block: reactionrates: voltage-sensitive
re_init() – see CVode class: re_init()reactants – see KINETIC block: reactantsreaction – see kinetic scheme
chemical – see kinetic schemerates – see KINETIC block: reaction ratesreactants – see KINETIC block: reactantsscheme – see kinetic scheme, KINETIC
blockstatement – see KINETIC block: reaction
statementalso see KINETIC block: <–> (reaction
indicator)READ – see NEURON block: USEIONread() – see hoc syntax: basic input and
output: read()reading an ion concentration – see NEURON
block: USEIONreading and writing files – see hoc syntax:
basic input and output
446 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
real model neuron – see oxymoronrealtime – see standard run system:
realtimerecording – see CVode class: record(),
NetCon class: record(), Vectorclass: record()
recording spike trains – see NetCon class:record(), spike trains: recording andplotting, NetWork Builder: buttons:SpikePlot
recursion – see funcs and procs: recursionredefining standard functions and
procedures – see standard run library:redefining functions and procedures,standard GUI library: redefiningfunctions and procedures
reference count – see object: reference count
refractory period – see IntFire1 class:refractory period
relative errorlocal 75, 79
tolerance 75also see absolute error: local, numerical
error: localalso see absolute error
relative local error – see relative error: localrelative tolerance – see relative error: local:
toleranceremainder operator – see hoc syntax:
expressions: operatorsresistance
axial – see axial resistancealso see ri(), Ra, cytoplasmic resistivity
electrode – see electrode: resistancemembrane – see specific membrane
resistanceresistivity – see cytoplasmic resistivity, Raresistor – see circuit: element: resistorrestore() – see SaveState class:
restore()restricted diffusion – see Example 9.6:
extracellular potassium accumulationreturn – see hoc syntax: flow control:
returnalso see funcs and procs: return
returned value – see funcs and procs:return
reusable code – see good programming style:exploiting reusable code
reversal potential – see equilibrium potential
ri()calculation of – see stylized specification of
geometry: calculation of area() andri(), 3-D specification of geometry:calculation of L, diam, area(), andri()
effect of creating a Shape – see Shapeobject: creating: effect on diam,area(), and ri()
effect of define_shape() – seedefine_shape(): effect on diam,area(), and ri()
infinite 107, 115also see diameter: zero or narrow
diameteralso see axial resistance
rise time 122Rm – see specific membrane resistanceroot section – see section: root sectionropen() – see hoc syntax: basic input and
output: ropen()roundoff error – see numerical error:
roundoffrun control – see RunControl GUI, simulation
control, standard run systemrun time 98, 158, 171
also see RunControl GUI: Real Time,standard run system: realtime,initialization: startsw()
run time system – see standard run systemrun-time errors – see hoc: error handlingrun() – see standard run system: run()RunControl 21
creating 24, 151, 157RunControl GUI
Continue for 158–159, 162also see standard run system:
continuerun()Continue til 158–159, 162
also see standard run system:continuerun()
dt 24, 158also see RunControl GUI: Points
plotted/ms, standard run system:setdt()
Init 24, 158–159Init & Run 24, 152, 158–159, 163
also see standard run system: run()Points plotted/ms 24, 158–159, 162
also see standard run system: setdt(),standard run system: step()
Index 447
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
RunControl GUI (contd)Quiet 158–159, 162
also see standard run system:stdrun_quiet
Real Time 158, 163also see standard run system:
continuerun(), standard runsystem: realtime
Single Step 158–159, 162also see standard run system: step()
Stop 158, 162–163also see standard run system: stoprun
t 24, 158Tstop 24, 152, 158, 163
also see standard run system: tstopRunge-Kutta method
stability 243running a simulation 26runtime
error – see hoc: error handlingsystem – see standard run systemalso see run time
Ssacred runes – see equation: sacred runessampling theorem – see Nyquist sampling
theoremSaveState classfread() 198fwrite() 198restore() 199save() 198also see initialization: categories: to a
desired statescalar – see hoc syntax: variables: scalarsscale factor 43
also see NMODL: units conversion factor,UNITS block: units scaling
scene – see GUI: scenescene coordinates – see GUI: scene coordinatesscene coordinates vs. screen coordinates – see
GUI: scene coordinates: vs. screencoordinates
screen – see GUI: screenscreen coordinates – see GUI: screen
coordinatesSCoP 208, 213scope – see hoc syntax: names, funcs and
procs: local variable, variable: local vs.nonlocal, LOCAL variable, ASSIGNEDvariable: GLOBAL, NEURON block:GLOBAL, PARAMETER variable: isGLOBAL by default
also see object: public members, template:writing a template: public, template:writing a template: external
sealed end – see boundary conditions: sealedend
SEClamppreserving spatial accuracy – see point
process: preserving spatial accuracyalso see voltage clamp
secname() 108second messenger – see Example 10.5: use-
dependent synaptic plasticityalso see calcium
secondorder 86, 169, 180also see Crank–Nicholson method,
backward Euler methodsection 8, 92access – see access, section: currently
accessed: default sectionarc length – see rangearea – see segment: surface areaarray 103as argument or variable – see
SectionRef classattaching – see connectchild 101
connect 0 end to parent 105, 148connecting – see connectcreating – see createcurrently accessed
default section 21, 23, 100, 143–144dot notation 94–95, 99section stack 99
daughter – see section: childdefault parameter values – see cm, diam,
L, Radefault section – see section: currently
accessed: default sectionvs. root section – see section: root
section: vs. default sectiondetaching – see disconnect()diam – see diamdiameter – see diameter, diam, 3-D
specification of geometry: diam3d()disconnecting – see disconnect()equivalent circuit 106–107iterating over nodes – see range variable:
iterating over nodesiterating over sections 108, 123L – see Llength – see Lnodes 96
448 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
internal vs. terminal 95iterating over – see range variable:
iterating over nodeslocations 95
also see nseg: why use odd values?zero area 74, 97
normalized distance along a section – see rangenseg – see nsegorientation 138, 145, 147parent 101properties
specifying – see section: currently accessed,3-D specification of geometry, stylizedspecification of geometry, biophysicalproperties: specifying
Ra – see Raroot section 8, 101, 134
is 3-D origin of cell 146, 149vs. default section 102, 134
sets – see SectionList classstack – see section: currently accessed:
section stackvariable – see section variable
section variable 93also see L, nseg, Ra
section.h 169SectionList class 138SectionRef class 100segment 95
diameter – see diamsurface area – see area, area()also see compartment, nseg, section: nodes
self-event – see event: self-eventsensitivity – see parameters: sensitivity toseparating biology from numerical issues 92
also see section, range, range variableses file – see session filesession file 16
loadingfrom NEURON Main Menu 18from PFWM 16
object_pop() 388object_push() 388ocbox_ 388
also see VBox class: map()saving
from NEURON Main Menu 17from PFWM 16
setof numbers – see hoc syntax: variables:
double, Vector classof objects – see object: array, List class
of sections – see SectionList class,CellBuilder GUI: Subsets page
setdata_ – see hoc: calling an NMODLFUNCTION or PROCEDURE: specifyingproper instance with setdata_
setdt() – see standard run system:setdt()
setpointer 269also see POINTER variable
Shape objectcreating
effect on diam, area(), and ri() 108Shape plot 9, 103
creating 22, 145effect on diam, area(), and ri()
108Shape Plot 180Shape plot GUI
primary menuSpace Plot 22also see Space Plot
Shape StyleShow Diam 145
shared object – see NMODL: translator:nrnivmodl, nrniv
shell 41Shift key – see Graph class: menu_tool()shunt.mod – see Example 9.2: a localized
shuntsign convention – see membrane current:
positive current convention, axial current:positive current convention, circuit:positive current convention
signalchemical 50, 119electrical 50, 119
signal monitors 20vs. signal sources 20
signal sources 18effect on system equations – see system
equations: effect of signal sources,numeric integration: stability: effect ofsignal sources
load – see system equations: effect of signalsources, numeric integration: stability:effect of signal sources
also see distributed mechanism, pointprocess
simplification 33–35simulation
control – see simulation controlevent-driven – see discrete event simulation
Index 449
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
simulation (contd)interactive vs. noninteractive – see GUI: vs.
hoctime 24
also see t, elapsed simulation timesimulation control 5, 21, 139, 154
running 26starting 26stopping – see standard run system:
tstop, RunControl GUI: Tstop,RunControl GUI: Stop, hoc:interrupting execution
also see standard run system, goodprogramming style: modularprogramming, good programmingstyle: program organization
Simulation Control Program – see SCoPsimulation environment
utility of 32, 34sink reaction – see KINETIC block: –>(sink
reaction indicator)size – see compartment: size, discretization,
nsegslope conductance – see conductance: slopesodium – see ion mechanismsolution
analytic – see analytic solutioncomputational – see numeric integrationnumeric – see numeric integration
SOLVE – see BREAKPOINT block: SOLVE,INITIAL block: SOLVE:STEADYSTATE sparse
solve.c 169source
current – see current: source, circuit:element: current source
NetCon class: source variablesignal – see signal sourcesvoltage – see circuit: element: voltage source
space 21–22, 25, 32space constant – see �, length constant,
d_lambda rulespace plot 20Space Plot 180
creating 22sparse – see KINETIC block, BREAKPOINT
block: SOLVE: sparse, INITIAL block:SOLVE: STEADYSTATE sparse
spatial accuracy 96checking 97second order 57, 96
preserving 97, 102
also see discretization: spatial, nseg: effecton spatial accuracy and resolution
spatial decay of fast signals 122spatial discretization – see discretization:
spatial, spatial gridspatial error – see numerical error: spatial,
spatial accuracyspatial frequency – see frequency: spatialspatial grid 57
checking 97choosing – see discretization: guidelines,
d_lambda rule, d_X rule, CellBuilderGUI: Geometry page: specifyingstrategy
also see discretization: spatialspatial resolution – see discretization: spatial,
numerical error: spatial, spatial accuracy,spatial grid
specific membrane capacitance 53, 56, 91–92,94
also see cmspecific membrane conductance 56specific membrane resistance 122
also see specific membrane conductancespecifying geometry – see 3-D specification of
geometry, stylized specification ofgeometry
also see geometry, anatomical propertiesspecifying model properties – see model
properties: specifyingspecifying object attributes – see template:
writing, object: public members: dotnotation
specifying section properties – see section:currently accessed, 3-D specification ofgeometry, stylized specification ofgeometry, biophysical properties:specifying
specifying the current section – see section:currently accessed
specifying the spatial grid – see discretization:spatial grid, nseg, spatial grid
specifying topology – see topology: specifyingspeed – see computational efficiencyspeed vs. accuracy – see accuracy: vs. speedspike event – see event: externalspike trains
recording and plotting 335also see NetCon class: record(),
NetWork Builder: buttons: SpikePlotSpikePlot – see NetWork Builder: buttons:
SpikePlot
450 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
sprint() – see hoc syntax: basic input andoutput: sprint()
squid axon 28also see hh mechanism
stability – see numeric integration: stabilitystack of objects – see List class: object stackstaggered time steps – see Crank–Nicholson
method: staggered time stepsstandard GUI library
changing functions and procedures – seestandard GUI library: redefiningfunctions and procedures
hoc source accompanies NEURON 344loading – see nrngui, hoc: idiom:
load_file("nrngui.hoc")not loading – see nrnivredefining functions and procedures 344
standard run librarychanging functions and procedures – see
standard run library: redefiningfunctions and procedures
hoc source accompanies NEURON 344redefining functions and procedures 344
standard run system 152addplot() 152, 181advance() 160, 181continuerun() 160, 162–163, 181CVODE 164DASPK 165discrete events – see standard run system:
fadvance(): global time stepintegration, standard run system:fadvance(): local time stepintegration
doEvents() 163event delivery system 165
adaptive integration and 171, 179and models with discontinuities – see
variable: abrupt change of, event:times
cell time queue 173also see numeric integration: adaptive:
local time step, standard run sys-tem: fadvance(): global timestep integration, standard run sys-tem: fadvance(): local timestep integration
event time queue 173, 292also see numeric integration: adaptive:
local time step, standard runsystem: fadvance(): globaltime step integration, standard run
system: fadvance(): localtime step integration
event times – see event: times, standardrun system: event time queue
external event – see event: externalimplementing deferred computation 289,
296, 302also see event: self-event
initialization 183, 185–186input event – see event: externalself event – see event: self-eventalso see event, standard run system:
fadvance(): global time stepintegration, standard run system:fadvance(): local time stepintegration
fadvance() 81, 158, 160, 164, 184, 243,263
discrete events – see standard run system:fadvance(): global time stepintegration, standard run system:fadvance(): local time stepintegration
fixed time step 165global time step integration 179local time step integration 166, 173
fast_flushPlot() 181fcurrent() 164, 170, 186
in initialization 188–189, 196finitialize() – see initialization:
finitialize()flushPlot() 162, 180–181graph lists – see standard run system:
plotting system: graphListsGraphs and objects
incorporating – see standard run system:plotting system: incorporatingGraphs and objects
notifying – see standard run system:plotting system: notifying Graphsand objects
init() – see initialization: init()initialization – see initialization, numeric
integration: adaptive: initialize microstepinitPlot() – see initialization:
initPlot()is implemented in hoc 344NetCon – see NetCon: and standard run
systemnstep_steprun – see standard run
system: setdt(), RunControl GUI:Points plotted/ms
Index 451
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
standard run system (contd)Plot() 162, 180
also see standard run system: stepplot lists – see standard run system: plotting
system: fast_flush_list,standard run system: plotting system:flush_list, standard run system:plotting system: graphLists
plotting system 179fast_flush_list 180flush_list 180graphLists 179incorporating Graphs and objects 181
also see standard run system: plottingsystem: graphLists, standardrun system: addplot()
notifying Graphs and objects 179also see standard run system: plotting
system: graphListsspecial uses 162
realtime 163–164, 187run() 159–160, 163, 179setdt() 161, 164, 187stdinit() – see initialization:
stdinit()stdrun_quiet 163, 180step 158, 162step() 160–162
under CVODE 162steprun() 160, 162steps_per_ms – see standard run system:
setdt(), standard run system: step,RunControl GUI: Points plotted/ms
stoprun 162–163tstop 152, 163, 181also see RunControl GUI, standard run
librarySTART – see STATE block: START, STATE
variable: initializationstarting hoc – see hoc: starting and exiting,
NEURON: starting and exitingstarting NEURON – see NEURON: starting
and exiting, hoc: starting and exitingstartsw() – see initialization: startsw()state 36, 38, 41
as amount of material 36as concentration 36as density 36as probability 36restoring – see SaveState class:
restore(), initialization: categories:to a desired state
saving – see SaveState class: save()STATE block 223
specifying local absolute error tolerance251
START 190also see STATE variable: initialization,
PARAMETER block: default value ofstate0
also see ASSIGNED block, PARAMETERblock
state variable 67, 70, 73as an ASSIGNED variable 185changing after finitialize() – see
initialization: strategies: changing astate variable
custom initialization – see initialization:strategies: changing a state variable
initialization – see STATE variable:initialization, initialization
of a mechanism vs. state variable of amodel 213
vs. STATE variable – see STATE variable:vs. state variable
STATE variable 168, 184, 223abrupt change of – see variable: abrupt
change of, NetCon class: event(),NET_RECEIVE block: handlingabrupt changes and discontinuities
and COMPARTMENT statement – seeKINETIC block: COMPARTMENT
array in NMODL 244conservation – see KINETIC block:
CONSERVEinitialization 224
default vs. explicit 190state0 190, 237
also see PARAMETER block: defaultvalue of state0, STATE block:START
also see initialization, KINETIC block:CONSERVE
ion concentration as 236is automatically RANGE 223
also see NEURON block: RANGEspecifying local absolute error tolerance –
see STATE block: specifying localabsolute error tolerance
vs. state variable 184, 242also see ASSIGNED variable, PARAMETER
variable, ion_style(), statevariable
452 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
state_discontinuity() – seeCVODE: and model descriptions:state_discontinuity(), variable:abrupt change of, NET_RECEIVE block:state_discontinuity()
state0 – see STATE variable: initialization,INITIAL block
stdgui.hoc – see standard GUI librarystdinit() – see initialization:
stdinit()stdlib.hoc 123, 357, 373
also see standard run systemstdrun.hoc 159
also see standard run system, standard runlibrary
stdrun_quiet – see standard run system:stdrun_quiet
steady stateinitialization – see initialization: steady
state, initialization: non-steady stateof complex kinetic schemes – see
initialization: strategies: steady stateinitialization of complex kineticschemes, INITIAL block: SOLVE:STEADYSTATE sparse
STEADYSTATE – see INITIAL block: SOLVE:STEADYSTATE sparse, initialization
step – see standard run system: stepstep() – see standard run system: step()steprun() – see standard run system:
steprun()stiffness – see system: stiffstoichiometry 39stop – see hoc syntax: flow control: stopstopping hoc – see hoc: interrupting
execution, hoc: starting and exitingstopping NEURON – see NEURON: starting
and exiting, hoc: interrupting executionstoprun – see standard run system: stoprunstorage oscilloscope 23strange shapes – see stylilzed specification of
geometry: strange shapesstrdef – see hoc syntax: variables:
strdefstring – see hoc syntax: variables: strdefString class 373stylized model – see model: stylized, stylized
specification of geometrystylized specification of geometry 103–104,
132calculation of area() and ri() 104diam – see diam
L – see Lreinterpretation as 3-D specification 108strange shapes 144also see 3-D specification of geometry
subclass – see class: subclass, object-orientedprogramming: polymorphism, object-oriented programming: inheritance
subtraction operator – see hoc syntax:expressions: operators
SUFFIX – see NEURON block: SUFFIXSUNDIALS 172
also see CVODES, IDAsurface area 52
also see area(), membrane areasynapse
alpha function – see AlphaSynapse,Exp2Syn, Example 10.4: alphafunction synapse
AlphaSynapse 19AMPAergic – see Example 10.3: synapse
with exponential decayalso see Example 10.6: saturating
synapsesas instrumentation 139conductance change 19
alpha function – see AlphaSynapse,Exp2Syn, Example 10.4: alphafunction synapse
exponentially decaying – see ExpSyn,Example 10.3: synapse withexponential decay
also see Example 10.5: use-dependentsynaptic plasticity, Example 10.6:saturating synapses
electrical – see gap junction, synapse:ephaptic
ephaptic 265graded – see synaptic transmission: gradedplasticity – see synaptic plasticitysaturating – see Example 10.6: saturating
synapsesstrength – see NetCon class: weightweight – see NetCon class: weightalso see AlphaSynapse, ExpSyn,
Exp2Synsynaptic connection – see NetCon classsynaptic convergence – see convergence
also see synaptic transmission: spike-triggered
synaptic delay – see NetCon class: delaysynaptic divergence – see divergence
also see synaptic transmission: spike-triggered
Index 453
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
synaptic latency – see NetCon class: delaysynaptic plasticity 83
stream-specific – see Example 10.5: use-dependent synaptic plasticity, Example10.6: saturating synapses
synaptic strength – see NetCon class: weightsynaptic transmission
delay – see NetCon class: delaygraded 265
conceptual model 266implementation in NMODL 268also see Example 10.1: graded synaptic
transmissionlatency – see NetCon class: delaysaturating – see Example 10.6: saturating
synapsesspike-triggered
computational efficiency in NEURON 275conceptual model 273event-based implementation 273
also see NetCon class,NET_RECEIVE block, event:external, event: self-event,Example 10.3: synapse withexponential decay, Example 10.4:alpha function synapse, Example10.5: use-dependent synapticplasticity, Example 10.6: saturat-ing synapses
weight – see NetCon class: weightalso see gap junction
synaptic weight – see NetCon class: weightsyntax – see hoc syntax, NMODL
also see Programmer’s Referencesyntax error
example 100also see hoc: error handling
systemchaotic – see initialization: categories: to a
desired statecontinuous 55–58, 60, 96
piecewise linear approximation – seerange variable: estimating by linearinterpolation between nodes
discretized 57, 60also see discretization
linear 65, 71, 86nonlinear 71, 87oscillating – see initialization: categories: to
a desired statestiff 66, 73, 86–87, 169
also see numeric integration: stability
system equationseffect of signal sources 20
also see numeric integration: stability:effect of signal sources
matrix form 73extracellular field 74linear circuit 74also see equation: algebraic
stiff – see system: stiffalso see eigenfunction, eigenvalue
Tt 24, 26
as an ASSIGNED variable – seeASSIGNED variable: v, celsius, t,dt, diam, and area
also see t: use in NMODLinitialization – see initialization: tthe independent variable in NEURON 213use in NMODL 213also see time
� – see time constant�m – see membrane time constanttable – see function tabletable_ – see NMODL: FUNCTION_TABLEtapering – see diam: tapering, range variable:
linear taperTaylor’s series 66, 83temperature – see celsiustemplate 363
cannot be redefined 156, 367direct commands 368names cannot redefine hoc keywords 369this – see object reference: thisvariable initialization
default initialization 368init() procedure 368
visibility – see template: writing a template:public, object: public members
writing a template 367begintemplate 367endtemplate 368external 368public 367
also see object: public membersalso see class, object, object-oriented
programmingtemporal accuracy
empty 87also see discretization: temporal
temporal discretization – see discretization:temporal
454 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
temporal frequency – see frequency: temporaltemporal resolution – see temporal accuracy,
discretization: temporalthis – see object reference: thisthree dimensional specification – see 3-D
specification of geometrytilde – see KINETIC block: ~ (tilde)time 21, 24–26, 32
rise – see rise timealso see t
time constant 48also see membrane time constant
time-dependent variable – see PARAMETERvariable: time-dependent, variable: time-dependent, Vector class: play()
time stepand stability – see numeric integration:
stability, backward Euler method,forward Euler method, Crank–Nicholson method
choosing – see discretization: temporalfixed – see numeric integration: fixed time
stepalso see dt, t, discretization: temporal,
numeric integration: adaptivetime stream – see numeric integration: local
time steptolerance
error – see absolute error: local: tolerance,relative error: local: tolerance
top level of the interpreter – see hoc: top levelof the interpreter
topology 8, 35, 98checking 102–103, 134, 150loops of sections 101specifying 101, 130viewing 103also see branched architecture
topology, subsets, geometry, biophysics 138topology() 102, 150total error – see numerical error: globaltotal ionic current – see membrane current:
ionictransient signals
spatial decay – see spatial decay of fast signalstransmembrane current – see membrane currenttreeset.c 167troubleshooting
conflicts between hoc and GUI – see GUI:conflicts with hoc or other GUI tools
disappearing section 148Graphs don’t work 151
legacy code 142no default section 142no NEURON Main Menu toolbar 142strange shapes – see stylized specification
of geometry: strange shapesTRUE – see hoc syntax: expressions: logical
expressionststop – see standard run system: tstopTstop – see RunControl GUI: Tstop, standard
run system: tstop
Uunaryminus operator – see hoc syntax:
expressions: operatorsunderstanding 32, 33uninsert 153units 36
checking 212, 216, 254also see modlunit
consistency 40, 42–43, 247, 254conversion factor – see scale factor,
NMODL: units conversion factor,UNITS block: units scaling
database 212also see nrnunits.lib
defining new names – see UNITS block:defining new names
dimensionless(1) 250by default 212
e 231also see e: electronic charge vs. units
conversion factorfaraday 231k-mole 231mole 256scaling – see UNITS block: units scalingspecifying 227
also see NMODL: declaring variables:specifying units
UNITS block 222defining new names 222units scaling 231, 250
units scaling – see UNITS block: units scalingUNITSOFF . . . UNITSON – see NMODL:
UNITSOFF . . . UNITSONUNITSON – see NMODL: UNITSOFF . . .
UNITSONuse-dependent synaptic plasticity – see
Example 10.5: use-dependent synapticplasticity, Example 10.6: saturatingsynapses
Index 455
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
USEION – see NEURON block: USEIONuser-defined mechanisms – see mechanisms:
user-defineduser interface 154
as virtual experimental rig 23, 154custom GUI 22, 29vs. model specification – see good
programming style: separating modelspecification from user interface
user’s intent 81
Vv 21, 94, 168
as an ASSIGNED variable – seeASSIGNED variable: v, celsius, t,dt, diam, and area
is a RANGE variable 211also see membrane potential
v_init – see initialization: v_initvariable
abrupt change of 161, 171, 260–262,277–278, 280, 291–292, 294,297–298, 301–302
also see CVODE: and modeldescriptions: at_time(), CVODE:and model descriptions:state_discontinuity(),NetCon class: event(),NET_RECEIVE block: handlingabrupt changes and discontinuities
ASSIGNED – see ASSIGNED variablechanging in mid-run – see variable: abrupt
change of, PARAMETER variable:time-dependent
CONSTANT – see CONSTANTcontinuous – see continuous variabledeclaring in NMODL – see NMODL:
declaring variables, NMODL: namedblocks: variable declaration,ASSIGNED block, CONSTANT block,PARAMETER block, STATE block,LOCAL variable, NMODL: DEFINE
dimensionless – see units: dimensionlessextensive 247global – see variable: local vs. nonlocal,
hoc syntax: names, template: writinga template: external, NEURONblock: GLOBAL, ASSIGNED variable:GLOBAL, PARAMETER variable: isGLOBAL by default
initializing – see initialization, template:variable initialization
intensive 247LOCAL – see LOCAL variablelocal vs. nonlocal 266
also see POINTER variablenames – see hoc syntax: namesobject – see object, object referencePARAMETER – see PARAMETER variablePOINTER – see POINTER variablerange – see range variablescope – see hoc syntax: names, funcs and
procs: local variable, variable: localvs. nonlocal, LOCAL variable,ASSIGNED variable: GLOBAL,NEURON block: GLOBAL,PARAMETER variable: is GLOBAL bydefault
also see object: public members,template: writing a template:public, template: writing atemplate: external
section – see section variablestate – see state variablestate vs. STATE – see STATE variable: vs.
state variableSTATE – see STATE variablestring – see hoc syntax: variables: strdeftime-dependent – see PARAMETER
variable: time-dependent, Vectorclass: play()
user-definedin hoc – see hoc syntax: namesin NMODL – see NMODL: user-defined
variablevariable browser 29
also see Plot what? GUIvariable order integration – see numeric
integration: adaptivevariable order, variable time step
integration – see numeric integration:adaptive
variable time step method – see numericintegration: adaptive
VariableTimeStep GUIbringing up – see NEURON Main Menu:
Tools: VariableStepControlDetails
Local step – see VariableTimeStep GUI:global vs. local time steps
global vs. local time steps 319also see numeric integration: adaptive:
global time step, numericintegration: adaptive: local time step
456 Index
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information
toggling adaptive integration on and off 320Use variable dt checkbox – see
VariableTimeStep GUI: togglingadaptive integration on and off
VBox 383VBox class
intercept() 383map() 383–384, 386
also see session file: ocbox_mapping to the screen
window title 384ref() 383save() 385
Vectormovie 180
Vector classc() 337fill() 337mark() 337play() 77
at specific times 167initialization – see initialization:
Vector.play()under adaptive integration 78under fixed time step integration 78with interpolation 78, 161, 167, 263
record() 171, 187at specific times 167initialization 187
also see initialization:frecord_init()
also see CVode class: record()VERBATIM – see NMODL: VERBATIM . . .
ENDVERBATIMverification 28version number – see NEURON: startup bannervext – see extracellular mechanism:
vextview – see GUI: viewvirtual experimental preparation – see model
specification: as “virtual experimentalpreparation”
virtual experimental rig – see user interface: asvirtual experimental rig
visibility – see template: writing a template:public, object: public members
Vm 20also see membrane potential, v
voltage 44
gradient 50membrane – see membrane potential, v
voltage clampand stability – see numeric integration:
stability: effect of signal sources,system equations: effect of signalsources
currentaccuracy 169
preserving spatial accuracy – see pointprocess: preserving spatial accuracy
ramp clamp 77voltage-gated current – see channel: voltage-
gatedvolume – see compartment: size
Wweight – see NetCon class: weightweight vector – see NetCon class: weight
vectorwhat are the names of things? 29which view contains the mouse? – see Graph
class: view_info()while – see hoc syntax: flow control: whilewhy is NEURON fast? – see computational
efficiency: why is NEURON fast?window title – see GUI tool development:
mapping to the screen: window titlewopen() – see hoc syntax: basic input and
output: wopen()WRITE – see NEURON block: USEIONwriting an ion concentration – see NEURON
block: USEIONwriting files – see hoc syntax: basic input and
output
Xx-expression – see standard run system:
plotting system: graphListsxopen() – see hoc syntax: basic input and
output: xopen()xpanel() 334, 395xpvalue() 395xred() – see hoc syntax: basic input and
output: xred()xvalue() 334, 395
Zzero area node – see section: nodes: zero area
Index 457
© Cambridge University Press www.cambridge.org
Cambridge University Press0521843219 - The Neuron BookTed Carnevale and Michael HinesIndexMore information