The specification comes from Upi Bhalla's 1992 Rallpack distribution,
which is included below.
Note that only the accuracy aspect of the test is of interet for the Java
implementation of PSICS.
=============================================================================
1. Objective
Tests the ability of the simulator to handle a uniform unbranched passive
cable model.
=============================================================================
2. Simulation
This simulation models a simple 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
EM = -0.065 Volts = -65 mV
ELEAK = EREST = EM
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. Theoretical solution
The 'correct' solution is based on the Laplace-transform solution
of the finite cable with constant current injection, with a factor of 2.0
scaling using the method of 'reflections' since our system has current
injection in one end. See "Electrical current flow in excitable cells",
OUP, 1983; Jack, Noble and Tsien, pp 79,80, also pp 68. This solution is
a sum of a series, and therefore its accuracy depends on the number of
terms used in the sum. The use 10 terms gives at least six figure accuracy.
The correct solution is implemented in the directory rallpack/theor. It
may be run using the command 'currinj'; the default settings correspond
to rallpack1.
The correct waveforms (provided in this directory) are
ref_cable.0 Laplace transform solution for current injection site
ref_cable.x Laplace transform solution for far end of cable.
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.
The error function 'erfc' used by the theoretical solution is from
"Numerical recipes in C", CUP 9188; Press, Flannery, Teukolsky and Vetterling.
The root mean squared comparison with the theoretical solution is
performed with the function 'rms' provided in the rallpack/comparison
directory.
=============================================================================
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
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.
=============================================================================