CONICAL Demo 5:
Propagation Delay
Introduction
This program is similar to the Hodgkin-Huxley demo.
But here, we create two compartments, and connect them with a delay link.
At t=0.01 s, a 5 ms current pulse is injected into the first
compartment. This triggers an action potential, which propagates through
a 15 ms delay to the second compartment, triggering an action potential
there.
Code Overview
The complete code for the program is contained in main.cpp. In summary:
- Define global parameters.
- Define procedures to set up sodium and potassium channels.
- Define a procedure to set up a compartment.
- Create the compartments, setting appropriate parameters.
- Join the compartments with a Delay.
- Loop through time. At each time step,
- Output membrane voltages
- Call gStepmaster.Step(DT)
- Update the injector
to give a current pulse
To avoid messy initial conditions, the simulation is run for 50 ms before
output is begun. This gives all the channels and compartments a chance
to reach a stable equilibrium state.
Program Output
The actual output of this program is a table
of numbers, which has been graphed (by importing the data to
ClarisWorks)
below.
Building the Program
If you have the full set of CONICAL source code, you should be able to
simply copy main.cpp into your project and build
it. Of course, this will contain a few files you don't need. A
minimal project would contain just the following files:
NOTE: Since this demo uses ChanStd, it is susceptible to a bug in some
versions of the Symantec C++ compiler which will prevent it from compiling.
See Note About Symantec C++ for more
details.