The extracellular and intracellular solutions must be set with the i.c. soln and e.c. soln list selectors before the calculation will run. The pre-command and v/i command selectors need not be set, but if they are they will take precedence over the other parameters. In this case, the pre-command is applied in voltage clamp to the channel(s) before any data is recorded. The recording corresponds the SteppedProfile object inthe v/i command field.
If the pre-command is null, then the channels are held at a membrane potential of V_0 mv for Tinit ms before recoding begins. If the v/i command is null, then the model is run in current clamp mode for runtime ms with a step size of timestep. If either of pre-command or v/i command is set but does not define its own sampling, then timestep is used.
Either or both of pre-command and v/i command may have multiple steps. The calculation runs for whichever has more steps, taking one pre-step and then one real step, and so on. If one runs out before the other then the last available step is used repeatedly as required. The most useful case is probably that one or the other has only one step, in which case either the same command is run repeatedly for different initializers, or the same initializer is used for different commands.
The SteppedProfile objects indicated by pre-command and v/i command may contain their own sampling information which overrides the timestep field. That is, the sampling interval is also used as the timestep in the calculation. For voltage clamp calculations this is fine because the calculation of the evolution of the state of the channel is exact: one step of 10 ms gets you to exactly the same state as 100 steps of 0.1 ms. It is therefore possible to speed up the calculations by taking large steps in periods of constant potential, particularly in the pre-conditioner Profile, without any loss of accuracy.
In curent clamp mode, however, a forward Euler method is used for the voltage evolution which is stable, but inaccurate for large timesteps. In this case, the sample interval should be varied from time to time to assess the extent to which the solution is affected by numerical errors.
|     field |     type   |     contents / default value |     |
| timestep | double | 0.1 | variable: timestep type: double |
| runtime | double | 100.0 | variable: runtime type: double |
| Cmem | double | 1.0 | variable: Cmem type: double |
| V_0 | double | -70.0 | variable: V_0 type: double |
| Tinit | double | 1000.0 | Tinit: initialization time for channel to reach equilibrium at starting potential |
| method | choice | variable: method type: choice | |
| KSCalc-results | object | CalcResults | |
| e.c. soln | list selection; boolean; one only | Solution | |
| i.c. soln | list selection; boolean; one only | Solution | |
| channel density | list selection; float; subset | KSChannel | |
| v/i command | list selection; boolean; one only | SteppedProfile | |
| pre-command | list selection; boolean; one only | SteppedProfile |