def test_twocomp(sim): """Pass a simulation object as parameter""" spine_area_mult = 2.0 cell = moose.Cell('mycell', sim.model) soma = MyCompartment('soma', cell) soma.length = 20e-6 soma.diameter = 2 * 7.5e-6 soma.Em = -65e-3 soma.initVm = -65e-3 soma.setSpecificCm(9e-3) soma.setSpecificRm(5.0) soma.setSpecificRa(2.5) dend = MyCompartment('dend', cell) dend.length = 40e-6 dend.diameter = 2 * 1.06e-6 dend.Em = -65e-3 dend.initVm = -65e-3 dend.setSpecificCm(9e-3 * spine_area_mult) dend.setSpecificRm(5.0 / spine_area_mult) dend.setSpecificRa(2.5) soma.traubConnect(dend) vm_table = dend.insertRecorder("Vm1", "Vm", sim.data) dend.insertPulseGen("pulsegen1", sim.model, firstLevel=3e-10, firstDelay=20e-3, firstWidth=100e-3) # sim.schedule() # sim.run(100e-3) # sim.dump_data("data") return cell
chan.Ek = EK elif channel.startswith('Na'): chan.Ek = ENa elif channel.startswith('Ca'): chan.Ek = ECa elif channel.startswith('AR'): chan.Ek = EAR # chan.X = 0.25 else: print 'Error: unknown channel', channel soma.insertCaPool(5.2e-6 / 2e-10, 50e-3) vm_table = soma.insertRecorder('Vm', 'Vm', sim.data) soma.insertPulseGen('pulsegen', sim.model, firstLevel=3e-10, firstDelay=20.0e-3, firstWidth=1e3) print 'Rm:', soma.Rm print 'Cm:', soma.Cm, print 'Em:', soma.Em gk_naf2_table = moose.Table('Gk_NaF2', sim.data) gk_naf2_table.stepMode = 3 chan = moose.HHChannel(soma.path + '/NaF2') print chan.Gbar, chan.Ek chan.connect('Gk', gk_naf2_table, 'inputRequest') sim.schedule() config.context.useClock(0, sim.model.path + '/##') soma.useClock(1, 'init') for channel in soma.channels: channel.useClock(0)
print chan.name, chan.Gbar if channel.startswith('K'): chan.Ek = EK elif channel.startswith('Na'): chan.Ek = ENa elif channel.startswith('Ca'): chan.Ek = ECa elif channel.startswith('AR'): chan.Ek = EAR # chan.X = 0.25 else: print 'Error: unknown channel', channel soma.insertCaPool(5.2e-6 / 2e-10, 50e-3) vm_table = soma.insertRecorder('Vm', 'Vm', sim.data) soma.insertPulseGen('pulsegen', sim.model, firstLevel=3e-10, firstDelay=20.0e-3, firstWidth=1e3) print 'Rm:', soma.Rm print 'Cm:', soma.Cm, print 'Em:', soma.Em gk_naf2_table = moose.Table('Gk_NaF2', sim.data) gk_naf2_table.stepMode = 3 chan = moose.HHChannel(soma.path + '/NaF2') print chan.Gbar, chan.Ek chan.connect('Gk', gk_naf2_table, 'inputRequest') sim.schedule() config.context.useClock(0, sim.model.path + '/##') soma.useClock(1, 'init') for channel in soma.channels: channel.useClock(0) sim.run(50e-3) for i in range(len(gk_naf2_table)):