Propagation of spike along the axon

This code performs basic simulation showing the propagation of action potential along axons for both unmyelinated and myelinated (saltatory conduction) fibers.

[1]:
import nrv
import matplotlib.pyplot as plt

# axon def
y = 0                                               # axon y position, in [um]
z = 0                                               # axon z position, in [um]
d = 6                                               # axon diameter, in [um]
L = 5000                                    # axon length, along x axis, in [um]
axon1 = nrv.myelinated(y,z,d,L,rec='all')

t_start = 0.1
duration = 0.5
amplitude = 0.35

amplitude = 0.195
axon2 = nrv.unmyelinated(y,z,d,L,dt=0.001,Nrec=2000)
axon1.insert_I_Clamp(0, t_start, duration, amplitude)

amplitude = 10
axon2.insert_I_Clamp(0, t_start, duration, amplitude)


results = axon1.simulate(t_sim=4.5)
del axon1

fig, ax = plt.subplots(1)
cbar = results.colormap_plot(ax, "V_mem")
ax.set_xlabel('Time (ms)')
ax.set_ylabel('x-position (µm)')
ax.set_title('propagation along myelinated fiber')
cbar.set_label(r'Membrane Voltage $V_m$ (mV)')

results = axon2.simulate(t_sim=4.5)
#nrv.rasterize(results,'V_mem')
del axon2

fig, ax = plt.subplots(1)
cbar = results.colormap_plot(ax, "V_mem")
ax.set_xlabel('Time (ms)')
ax.set_ylabel('x-position (µm)')
ax.set_title('propagation along unmyelinated fiber')
cbar.set_label(r'Membrane Voltage $V_m$ (mV)')
#plt.show()
Warning: no DISPLAY environment variable.
--No graphics will be displayed.
../../_images/examples_generic_01_propagation_Vmem_1_1.png
../../_images/examples_generic_01_propagation_Vmem_1_2.png