Testing the adapting exponential integrate and fire model in NEST (Brette and Gerstner Fig 3D)


Run this example as a Jupyter notebook:

See our guide for more information and troubleshooting.


This example tests the adaptive integrate and fire model (AdEx) according to Brette and Gerstner [1] reproduces Figure 3D of the paper.

Note that Brette and Gerstner give the value for b in nA. To be consistent with the other parameters in the equations, b must be converted to pA (pico Ampere).

References

import matplotlib.pyplot as plt
import nest
import nest.voltage_trace

nest.ResetKernel()

First we make sure that the resolution of the simulation is 0.1 ms. This is important, since the slop of the action potential is very steep.

nest.resolution = 0.1
neuron = nest.Create("aeif_cond_exp")

Set the parameters of the neuron according to the paper.

neuron.set(V_peak=20.0, E_L=-60.0, a=80.0, b=80.5, tau_w=720.0)

Create and configure the stimulus which is a step current.

dc = nest.Create("dc_generator")

dc.set(amplitude=-800.0, start=0.0, stop=400.0)

We connect the DC generators.

nest.Connect(dc, neuron, "all_to_all")

And add a voltmeter to sample the membrane potentials from the neuron in intervals of 0.1 ms.

voltmeter = nest.Create("voltmeter", params={"interval": 0.1})
nest.Connect(voltmeter, neuron)

Finally, we simulate for 1000 ms and plot a voltage trace to produce the figure.

nest.Simulate(1000.0)

nest.voltage_trace.from_device(voltmeter)
plt.axis([0, 1000, -85, 0])
plt.show()

Gallery generated by Sphinx-Gallery