Numerical Integration of Izhikevich and HH model neurons (Stewart and Bair 2009)

 Download zip file 
Help downloading and running models
The Parker-Sochacki method is a new technique for the numerical integration of differential equations applicable to many neuronal models. Using this method, the solution order can be adapted according to the local conditions at each time step, enabling adaptive error control without changing the integration timestep. We apply the Parker-Sochacki method to the Izhikevich ‘simple’ model and a Hodgkin-Huxley type neuron, comparing the results with those obtained using the Runge-Kutta and Bulirsch-Stoer methods.
1 . Stewart RD, Bair W (2009) Spiking neural network simulation: numerical integration with the Parker-Sochacki method. J Comput Neurosci 27:115-33 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism:
Cell Type(s): Hodgkin-Huxley neuron;
Gap Junctions:
Receptor(s): AMPA; Glutamate;
Transmitter(s): Gaba; Glutamate;
Simulation Environment: C or C++ program; MATLAB;
Model Concept(s): Simplified Models; Detailed Neuronal Models; Methods;
Implementer(s): Stewart, Robert [Robert.Stewart at];
Search NeuronDB for information about:  AMPA; Glutamate; Gaba; Glutamate;
/*Header file to accompany iz_util.c*/
/*Written by Dr Robert Stewart for Stewart & Bair, 2009*/

#ifndef INC_IZ_UTIL_H
#define INC_IZ_UTIL_H

#define MAX_IN 20
typedef struct {
	double E; 											/*Electrical elastance 1/C*/
	double vr;											/*Resting mebrane potential*/
	double k;												/*Scaling constant*/
	double l;												/*-k*vt*/
	double a;												/*Recovery variable rate constant*/
	double b;												/*Scaling constant*/
	double v_peak;									/*Peak voltage during spike*/
	double v_reset;									/*Post-spike reset potential*/
	double u_step;									/*Post-spike recovery variable step*/
	double I;												/*Input current*/
	double g_ampa;									/*AMPA conductance*/
	double g_gaba;									/*GABA_A conductance*/
	double E_ampa;									/*AMPA reversal potential*/
	double E_gaba;									/*GABA reversal potential*/
	double v;												/*Membrane voltage*/
	double u;												/*Recovery variable*/
	int n_in;												/*Number of synaptic events in input buffers*/
	double in_t[MAX_IN];						/*Time input buffer*/
	float in_w[MAX_IN];							/*Weight input buffer*/
} neuron_iz;

typedef struct {
	unsigned int n; 								/*Target neuron*/
	float w; 												/*Weight*/
	unsigned int i;									/*Delay interval*/
} synapse;

void iz_derivs(double *, double *, double *);
void iz_first(double **, double **, double *);
void iz_iter(double **, double **, double *, int);

#endif /* INC_IZ_UTIL_H */

Loading data, please wait...