A number of patterns were found in these records which were difficult or impossible to explain on the basis of standard models. An understanding of patterns such as these we feel is imperative to understanding the dynamics associated with many heart arrhythmias, including many which are life-threatening. Accordingly, we have been constructing mathematical models which can reproduce these more complicated patterns.
The pattern which we were most intent in understanding was one in which large and small amplitude action potentials alternated. In general,this type of pattern is quite common and well-understood. What was peculiar in these experiments, however, was that both the large amplitude and small amplitude action potentials, taken as separate sets, exhibited substantial, roughly sinusoidal variations in amplitude as functions of time. This type of behavior cannot be explained by standard restitution function theory.
To explain this behavior, we constructed a mathematical model which is based on two dynamical variables which we call "memory" variables. They reflect both the current and, notably, the past state of the preparation as weighted integrals of the previous membrane potential history over time. These two variables, M and L, have time constants of 50 and 400 msec, respectively, which characterize the time over which the memory is effective.
This model is the subject of this Java applet. The model may be started by clicking on the button below. (If you don't see a button, your browser is not Java-enabled for some reason.) Three panels should appear: the Control Panel, the APD vs. DI return map panel, and the Traces panel.
The Control Panel allows you to ramp the basic cycle length (BCL), defined as the time between stimuli in msec, from the "Current BCL" up or down to value you can define in the box labeled "Until BCL equals." The BCL will be increased by the amount set in "Increment BCL by" after each stimulus until the desired BCL is reached. Note that you must press the return key after entering each number for the number to be effective.
The value labeled "Current V0" determines the resting potential for the model. Its effect on the dynamics is somewhat technical in nature; see below.
The scroll bar labeled "Speed" controls how fast the simulation runs. You may wish to make this slower than the fastest possible speed for two possible reasons: (1) you may want to look in detail at what's going on, or (2) your browser or Java virtual machine may not be able to display the data fast enough. The latter is indicated by a breaking up of the waveforms appearing in the Traces window. (This shouldn't occur, but does because I'm not that good at scheduling Java threads yet, or maybe it's just a Java bug.)
The simulation may also be paused or stepped one stimulus at a time by clicking on the two buttons at the bottom of the Control Panel.
The Traces window shows the membrane potential (the green trace) and the memory variables M and L (blue and purple, respectively) as functions of time. The user-definable parameters in the Trace window control how long it takes for the traces to draw across the "screen" (sweep time in msec) and the maximum and minimum values of M and L visible on the screen.
The APD vs. DI window shows a return map of the action potential duration (APD) on the vertical axis plotted against the preceding diastolic interval (DI) on the horizontal axis. The diastolic interval is just defined here to be the BCL minus the previous APD. It is possible for DI to be negative by our definitions, since the APD is allowed to be larger than the BCL. These return maps are useful diagnostic tools for dynamical systems models such as this one. The parameters in the APD vs. DI window define the maximum and minimum values of APD and DI visible on the plot.
Running the simulation with the default parameters shows that the model is capable of reproducing the sinusoidal large-small-large-small action potential behavior described above.
Another relevant simulation run comes from first setting the BCL to be 140 msec, allowing the model to settle down to a steady state, then decreasing the BCL by 0.01 msec each stimulus until 105 msec is reached. (You can change the BCL abruptly to any value by setting the desired value in the "Until BCL equals" window and then setting "Increment BCL by" to some large number that gets you to the desired BCL in one step.) Setting DImax = 12 msec, DImin = -38, APDmax = 150, and APDmin = 100 will allow you to see the whole evolution of the simulation in the return map window. Note in the Traces window that initially all the action potentials look the same. Somewhere below BCL=130, the large-small-large-small alternation of action potentials will appear fairly suddenly. Around BCL=113, the alternating pattern will start to undulate sinusoidally, then return back to a simple and more accentuated alternating pattern. This is the same behavior observed in the experiment as the BCL was decreased.
Technical note: The value of V0 does not affect the dynamics as long as the membrane potential remains positive relative to its value. This condition is equivalent to full repolarization never occurring or all the DI's being negative. The definitions of both APD and DI do depend of the value on V0, however, so changing V0 changes the APD vs. DI return map. The map must represent the same dynamics, of course. When V0 is raised high enough so that some of the action potentials repolarize fully to its value, the dynamics does then change.
The paper describing the details of this model has been accepted by the Journal of Theoretical Biology and should appear later this year (1997). The abstract for the paper is available on this site.
See some other movies associated with this work.