Specification of Rallpack 3 : axon with squid channels

=============================================================================

1. Objective.
Tests the ability of a simulator to evaluate the Hodgkin-Huxley channel models.

=============================================================================

2. Simulation
This model consists of the cable from Rallpack1 with the addition of
squid sodium and potassium channels from Hodgkin and Huxley.

This simulation models a uniform unbranched cable with
1000 identical compartments, with a length constant of 1, a diameter
of 1 micron, and a total length of 1 mm.
The membrane properties are :
RA = 1.0 ohms meter		= 100 ohms cm
RM = 4.0 ohms meter^2		= 40000 ohms cm^2
CM = 0.01 Farads/meter^2	= 1.0 uf/cm^2
Eleak = ERest = -0.065 V	= -65 mV

The channel properties are as described by Hodkin and Huxley, as follows :
(We have reversed their sign convention, and take the resting potential to
be -65 mV)

ENa = 0.050 V			= 50 mV
EK  = -0.077 V			= -77 mV
GNa = 1200 Siemens/m^2		= 120 mmho/cm^2
GK  = 360 Siemens/m^2		= 36 mmho/cm^2
(For each compartment :
Gbar_Na= 3.77e-9 Siemens	= 3.77e-6 mmho
Gbar_K = 1.131e-9 Siemens	= 1.131e-6 mmho )

gNa= Gbar_Na * m^3 * h
gK = Gbar_K * n^4

dm/dt = alpha_m*(1-m) - beta_m*m
dh/dt = alpha_h*(1-h) - beta_h*h

dn/dt = alpha_n*(1-n) - beta_n*n

alpha_m = A (v-V0) / (exp((v-V0)/B) - 1)
A = -0.1e6    1/(Volts*sec)	= -0.1	1/(mV*msec)
B = -0.01     Volts		= -10	mV
V0= -0.040    Volts		= -40	mV

beta_m = A exp((v-V0)/B)
A = 4.0e3     1/sec		= 4.0	1/msec
B = -0.018    Volts		= -18	mV
V0= -0.065    Volts		= -65	mV

alpha_h = A exp((v-V0)/B)
A = 70.0      1/sec		= 0.07	1/msec
B = -0.020    Volts		= -20	mV
V0= -0.065    Volts		= -65	mV

beta_h = A / (exp((v-V0)/B) + 1)
A = 1.0e3     1/sec		= 1.0	1/msec
B = -0.010    Volts		= -10	mV
V0= -0.035    Volts		= -35	mV


alpha_n = A (v-V0) / (exp((v-V0)/B) - 1)
A = -10.0e3   1/(Volts*sec)	= -0.01	1/(mV*msec)
B = -0.01     Volts		= -10	mV
V0= -0.055    Volts		= -55	mV

beta_n = A exp((v-V0)/B)
A = 125.0     1/sec		= 0.125	1/msec
B = -0.080    Volts		= -80	mV
V0= -0.065    Volts		= -65	mV


A current of 0.1 nA is injected in the first compartment. Membrane voltages
are recorded for the first and last compartments.
This model is run for a simulated time of 0.25 seconds.

=============================================================================

3. Correct solution.
There is no analytic solution available for the complete cable model. We will
use the original solutions of Hodgkin and Huxley
(J Physiol 117,pp 500-544, 1952) as the basis for the benchmark.
Since we are simulating for longer times and in
a cable, we have used as our reference waveforms generated by Genesis and
by Cable (Hines), using the parameters discussed above and an exponential
evaluation for the channel kinetics, and timesteps of 1 usec. The two
simulators give very similar results, differing by < 1% by the srms test
described below.
The reference waveforms (provided in this directory) are
ref_axon.0.neuron	(waveform at injection site, generated by NEURON)
ref_axon.x.neuron	(waveform at far end of axon, generated by NEURON)
ref_axon.0.genesis	(waveform at injection site, generated by GENESIS)
ref_axon.x.genesis	(waveform at far end of axon, generated by GENESIS)
These reference waveforms start at time 0 and have 5001 data points,
ending at time 0.25 sec. If a simulator saves the output values at the end of
every time step as opposed to the beginning, it may be necessary to shift
the output curves by one time step.

Since spike waveforms will give very large rms differences with relatively
small differences in spike period, we adopt a different method for comparing
results. The rms differences for the following spike parameters are
calculated by the analysis program srms.c : 
	ISI
	PTP
	Spike shape (scaled).
These are all normalized and summed to give the benchmark output.

Note : The srms program performs a very simplistic comparison which is
sensitive to a number of uncontrolled factors such as sampling interval
and jitter in the waveforms. It does, however, produce the appropriate
values when comparing identical waveforms whose time or voltage axes are 
scaled with respect to each other. The 'srms' values it generates are not
easily related to intuitive ideas of waveform difference, being rather larger
than one would expect. It is valuable to visually compare the spike traces
in addition to using the srms values.

=============================================================================

4. Performance measures. (See ../README for definitions)
General information
                Rallpack name, Simulator name and version
                Peak speed and model size at which the speed is attained
                Asymptotic accuracy (error %)
                Semi-accurate timestep (Timestep for 2x asymptotic error)
                Hardware information : model and MIPS rating.
                Simulation setup time for 1000 compartment model
                Integration method
                Compartment equivalents : Description, value

Detailed report :
        1 Accuracy vs. Timestep
        2 Accuracy vs. Simulation speed
                A set of simulations of the same model size should be run at
                a range of timesteps, and the accuracy and simulation speed
                should be calculated for each case.
                The timesteps should cover the 'useful' range for the model,
                within which the accuracy goes from close to its asymptotic
                (best) value to a few % error. Typical timesteps are
                5,10,20,50,100,200,500 and 1000 usec. The recommended model size
                is 1000 compartments. The model size should be quoted.
                These results can be tabulated and/or graphed.
                If the raw speed is independent of timestep (i.e. the
                simulation speed is directly proportional to timestep, which is
                usually true) the two graphs can be merged, and the respective
                x axis scales should be displayed.
                The x axis may be displayed on a log scale.

        3 Raw speed vs. Model size
        4 Model memory per compartment vs. Model size
                A set of simulations with a range of model sizes should
                be carried out, calculating the raw speed and model memory
                for each case. All simulations should use the same timestep,
                which should be quoted. The suggested timestep is 50 usec.
                Recommended model sizes are 1, 10, 100, 1000 and 10000
                compartments.
                These results can be tabulated and/or graphed.
                If graphed, they may be displayed on the same graph with
                the two y axis scales displayed.
                The x axis may be displayed on a log scale.

=============================================================================
