Spatial gridding and temporal accuracy in NEURON (Hines and Carnevale 2001)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:53451
A heuristic for compartmentalization based on the space constant at 100 Hz is proposed. The paper also discusses spatio/temporal accuracy and the use of CVODE.
Reference:
1 . Hines ML, Carnevale NT (2001) NEURON: a tool for neuroscientists. Neuroscientist 7:123-35 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism:
Cell Type(s):
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Tutorial/Teaching; Methods;
Implementer(s): Hines, Michael [Michael.Hines at Yale.edu];
{load_file("nrngui.hoc")}
objectvar save_window_, rvp_
objectvar scene_vector_[6]
objectvar ocbox_, ocbox_list_, scene_, scene_list_
{ocbox_list_ = new List()  scene_list_ = new List()}
{pwman_place(0,0,0)}

//Begin CellBuild[0]
{
load_file("celbild.hoc", "CellBuild")
}
{ocbox_ = new CellBuild(1)}
{object_push(ocbox_)}
{
version(5.7)
continuous = 1
}
{object_push(topol)}
{
first = 0
slist.remove_all()
sname = "dend"
objref tobj
}
{
tobj = new CellBuildSection("dend",0, 0, tobj, 0) slist.append(tobj)
  tobj.position(-45,15,60,15) tobj.lx=7.39059 tobj.ly=2.42468 tobj.i3d=0
all_init()
}
for i=0, slist.count-1 {slist.object(i).rdses()}
{object_pop()}
{
}
{object_push(subsets)}
{first = 0}
{ tobj = snlist.object(0)}
{consist()}
{object_pop()}
{
}
{object_push(geom)}
{
first = 0
tobj = new GeoSpec(2)
tobj.value = 2500
bild.topol.slist.object(0).geo.append(tobj)
tobj = new GeoSpec(3)
tobj.value = 1
bild.topol.slist.object(0).geo.append(tobj)
tobj = new GeoSpec(6)
tobj.value = 125
bild.topol.slist.object(0).geo.append(tobj)
set_default()
}
{object_pop()}
{
}
{object_push(memb)}
{first=0}
{
tobj = new FakeMechStan(0)
tobj.value = 160
tobj.set_default()
tobj = new MStanWrap(tobj, 0)
bild.subsets.snlist.object(0).ml.append(tobj)
}
{
tobj = new FakeMechStan(1)
tobj.value = 1
tobj.set_default()
tobj = new MStanWrap(tobj, 0)
bild.subsets.snlist.object(0).ml.append(tobj)
}
{
tobj = new MechanismStandard("pas")
tobj.set("g_pas", 6.25e-05, 0)
tobj.set("e_pas", -70, 0)
tobj = new MStanWrap(tobj, 1)
bild.subsets.snlist.object(0).ml.append(tobj)
}
{object_pop()}
{
}
{object_push(manage)}
{
first = 0
classname = "Cell"
etop=1 esub=1 egeom=1 emem=1
itop=1 isub=0 igeom=0 imem=0
bild.topol.names_off = 0
bild.topol.circles_off = 0
output_index = 0  output_x = 1
}
{object_pop()}
{
cexport()
}
{object_pop()}
{
save_window_=ocbox_.gtopol
save_window_.size(-200,200,-150,150)
scene_vector_[2] = save_window_
ocbox_.gtopol = save_window_
save_window_.save_name("ocbox_.gtopol")
}
{
ocbox_.map("CellBuild[0]", 117, 494, 788.16, 358.08)
}
objref ocbox_
//End CellBuild[0]


//Begin PointProcessManager
{
load_file("pointman.hoc")
}
{
dend ocbox_ = new PointProcessManager(0)
}
{object_push(ocbox_)}
{
mt.select("IClamp") i = mt.selected()
ms[i] = new MechanismStandard("IClamp")
ms[i].set("del", 0, 0)
ms[i].set("dur", 0.05, 0)
ms[i].set("amp", 0.25, 0)
mt.select("AlphaSynapse") i = mt.selected()
ms[i] = new MechanismStandard("AlphaSynapse")
ms[i].set("onset", 0, 0)
ms[i].set("tau", 1, 0)
ms[i].set("gmax", 0.001, 0)
ms[i].set("e", 0, 0)
mt.select("IClamp") i = mt.selected() maction(i)
hoc_ac_ = 0.5
sec.sec move() d1.flip_to(0)
}
{object_pop() doNotify()}
{
ocbox_ = ocbox_.v1
ocbox_.map("PointProcessManager", 412, 89, 208.32, 326.4)
}
objref ocbox_
//End PointProcessManager

{
xpanel("RunControl", 0)
v_init = -70
xvalue("Init","v_init", 1,"stdinit()", 1, 1 )
xbutton("Init & Run","run()")
xbutton("Stop","stoprun=1")
runStopAt = 5
xvalue("Continue til","runStopAt", 1,"{continuerun(runStopAt) stoprun=1}", 1, 1 )
runStopIn = 1
xvalue("Continue for","runStopIn", 1,"{continuerun(t + runStopIn) stoprun=1}", 1, 1 )
xbutton("Single Step","steprun()")
t = 0.25
xvalue("t","t", 2 )
tstop = 0.25
xvalue("Tstop","tstop", 1,"tstop_changed()", 0, 1 )
dt = 0.05
xvalue("dt","dt", 1,"setdt()", 0, 1 )
steps_per_ms = 20
xvalue("Points plotted/ms","steps_per_ms", 1,"setdt()", 0, 1 )
screen_update_invl = 0.05
xvalue("Scrn update invl","screen_update_invl", 1,"", 0, 1 )
realtime = 0
xvalue("Real Time","realtime", 0,"", 0, 1 )
xpanel(116,86)
}
{
save_window_ = new Graph(0)
save_window_.size(0,0.25,-70,-60)
scene_vector_[4] = save_window_
{save_window_.view(0, -70, 0.25, 10, 677, 10, 300.48, 200.32)}
graphList[0].append(save_window_)
save_window_.save_name("graphList[0].")
save_window_.addexpr("v(.5)", 1, 1, 0.8, 0.9, 2)
}
objectvar scene_vector_[1]
{doNotify()}

Loading data, please wait...