Example cellml/aliev_panfilov_1996: Panfilov modified FitzHugh-Nagumo

This example solves the modified FitzHugh-Nagumo activation model by Aliev and Panfilov (1996), defined by a CellML version of the model.

Their modifications to the original FHN model are designed to allow the model to better represent the action potential shape and restitution properties of cardiac tissue. The image below illustrates the restitution properties of the model, with the yellow trace the free action potential, the green for a cycle length of 700ms, and the red for a cycle length of 350ms.

NOTE: This example requires a CellML 1.0 enabled version of CMISS to run.

The comfile run by this example is as follows:

# Example showing how to use a cellml model

# If the example path is not set, default to current directory
if (! defined $example) {
    $example = "./";
# Drop off the trailing / in the example path
$chopped = chop $example;
if ($chopped ne "/") {
    $example .= $chopped;

fem define parameters;r;$example/fhn;

# default nodes, elements and grids to get a single grid point
fem define node;d;
fem define bas;d;
fem define elem;d;
fem define grid;d;
fem update grid geometry;
fem update grid metric;

# Define the a user defined CellML electrophysiological model
fem define equation;r;$example/cellml;

# Define the CellML model to use and map the parameters to CMISS and
# specify initial/boundary conditions for the cell model.
# Note: the "save temporary files" question is set to yes for testing
#       of the generated code. You might want to turn this off if you
#       are not running this as a test example.
fem define cell;r;$example/fhn_panfilov;

# Initialise the spatial properties of the model (there are none).
fem define material;r;$example/fhn cell;
fem define material;r;$example/fhn;
fem update grid material;

# Define the zero transmembrane flux boundary condition.
fem define initial;r;$example/fhn;

# Define an explicit LSODA integrator.
fem define solve;r;$example/lsoda;

# Initialise the solve.
fem solve to 0;

# Create a history file to store output variables of interest.
fem open history;fhn_panfilov write variables yqs niqslist 1..5 binary;

# Loop through time integrating the cellular model.
$Tend = 1500;
$dt = 1.0;
for ($time=0;$time<$Tend;$time+=$dt) {
    fem solve restart to $time;
    fem write history time $time variables yqs binary;

fem close history binary;

# Evaluate signals for the variables from the history file.
fem evaluate electrode;fhn_panfilov history fhn_panfilov from grid yqs iy 1..5 binary;

# Define an export of the CMISS signals to UnEMAP signals..
fem define export;r;$example/fhn;

# ..and export the signals to a UnEMAP signal file.
fem export signal;fhn_panfilov electrodes signal fhn_panfilov names cell;

# For testing we compare the generated CMISS signal files
if ($TESTING) {
    fem compare signal;fhn_panfilov basis both masterfile $example/fhn_panfilov comparefile fhn_panfilov binary;

Files used by this example are:

Name                     Modified     Size

aliev_panfilov_1996.com 21-Jun-2003 2.2k cellml.ipequa 21-Jun-2003 1.5k fhn.ipexpo 21-Jun-2003 657 fhn.ipinit 21-Jun-2003 214 fhn.ipmatc 21-Jun-2003 356 fhn.ipmate 21-Jun-2003 3.2k fhn.ippara 21-Jun-2003 5.9k fhn_panfilov.binsig 17-Feb-2004 80k fhn_panfilov.cml 17-Feb-2004 18k fhn_panfilov.ipcell 21-Jun-2003 3.5k lsoda.ipsolv 21-Jun-2003 1.2k

Download the entire example:

Name                                        Modified     Size

examples_cellml_aliev_panfilov_1996.tar.gz 19-Aug-2006 45k

Testing status by version:

StatusTestedReal time (s)
cmSuccessSun Mar 6 00:03:50 20163
cm-debugSuccessSat Mar 5 00:14:58 20166
cmSuccessSun Aug 19 02:40:35 200767
cm-debugSuccessWed Aug 15 02:17:29 2007116
cm-debug-clear-mallocSuccessSat Aug 18 02:34:51 2007120
cm-debug-clear-malloc7SuccessMon Aug 20 02:33:37 2007120
cm64SuccessSun Aug 19 02:44:18 200766
cm64-debugSuccessTue Aug 21 02:16:55 2007120
cm64-debug-clear-mallocSuccessThu Apr 1 11:43:00 200450
cmSuccessWed Mar 4 01:10:48 20095
cm-debugSuccessMon Mar 2 01:12:42 200918
cm64SuccessWed Mar 4 01:10:01 20094
cm64-debugSuccessTue Mar 3 01:16:50 200916
cmSuccessSun Mar 6 00:01:11 20162
cm-debugSuccessSat Mar 5 00:01:54 20163

Testing status by file:

Html last generated: Sun Mar 6 05:51:19 2016

Input last modified: Wed Feb 18 13:17:58 2004

CMISS Help / Examples / cellml / aliev_panfilov_1996