Local variable time step method (Lytton, Hines 2005)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:33975
The local variable time-step method utilizes separate variable step integrators for individual neurons in the network. It is most suitable for medium size networks in which average synaptic input intervals to a single cell are much greater than a fixed step dt.
Reference:
1 . Lytton WW, Hines ML (2005) Independent variable time-step integration of individual neurons for network simulations. Neural Comput 17:903-21 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type:
Brain Region(s)/Organism:
Cell Type(s):
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Methods;
Implementer(s): Hines, Michael [Michael.Hines at Yale.edu];
objref rnd, rvinitvec, rfreqvec, rdelvec
objref  fhvinit
rnd = new Random()
rnd.MCellRan4()

rvinitvec = new Vector(ncell)
rfreqvec = new Vector(ncell)
rdelvec = new Vector(nclist.count)

fhvinit = new FInitializeHandler(0, "vinit()")

{
vinitmin=-68
vinitmax=-55
delaymin=0 variable_domain(&delaymin, 0, 100)
delaydel=0 variable_domain(&delaydel, 0, 100)
mcur=.001
varcur=0
ncact=1
}

proc ranvinit() {
	rvinitvec.resize(ncell)
	rnd.uniform(0,1)
	rvinitvec.setrand(rnd)
	rvinitvec.sort
}
proc ranfreq() {
	rfreqvec.resize(ncell)
	rnd.uniform(-.5,.5)
	rfreqvec.setrand(rnd)
	rfreqvec.sort
	setfreq()
}
proc randelay() {
	rdelvec.resize(nclist.count)
	rnd.uniform(0,1)
	rdelvec.setrand(rnd)
	setdel()
}


proc vinit() {local i, dv
	dv = vinitmax - vinitmin
	for i = 0, ncell-1 {
		cells.object(i).soma.v(.5) = vinitmin + dv*rvinitvec.x[i]
	}
}

proc setfreq() { local i
	for i=0, ncell-1 {
		cells.object(i).soma.amp_cur = mcur + varcur*rfreqvec.x[i]
	}
}

proc setdel() { local i
	for i=0, nclist.count-1 {
		nclist.object(i).delay = delaymin + delaydel*rdelvec.x[i]
	}
}

proc ncactive() { local i
	for i=0, nclist.count-1 {
		nclist.object(i).active(ncact)
	}
}

ranvinit()	
ranfreq()
randelay()
ncactive()

Loading data, please wait...