CONICAL Demo 4:

Hodgin-Huxley Action Potentials

Introduction

This program creates a compartment with standard Hodgkin-Huxley channels. Current is injected, resulting in a series of action potentials.

Code Overview

The complete code for the program is contained in main.cpp. In summary:
  1. Define global parameters.
  2. Define a procedure to set up a compartment.
  3. Define procedures to set up sodium and potassium channels.
  4. Create the compartments, setting appropriate parameters.
  5. Loop through time. At each time step,
    1. call gStepmaster.StepAll(DT)
    2. Output membrane voltages

Program Output

The actual output of this program is a table of numbers, which has been graphed (by importing the data to ClarisWorks) below.
As you can see, the steady current injection causes a string of action potentials (or "spikes").

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:

Source FilesHeader Files
ChanAB.cpp
ChanHH.cpp
Cmprtmnt.cpp
Cylinder.cpp
main.cpp
Stepmstr.cpp
VSink.cpp
ChanAB.h
ChanHH.h
Channel.h
ChanStd.h
Cmprtmnt.h
Current.h
Cylinder.h
Injector.h
StdForms.h
Stepmstr.h
VSink.h
VSource.h

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.