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. =============================================================================