/* * A Simplified Ventricular Myocyte Model * * Model Status * * This version of this model was created by Penny Noble of Oxford * University, and is known to read in COR and PCEnv. The parameter * values used in this variant (BR) of the Fenton-Karma model are * consistent with the original Beeler-Reuter model (see Table * 1 of the 1998 model errata). Simulations of this CellML model * can be run using CMISS. * * Model Structure * * Ventricular fibrillation (VF) is a disorganised electrical wave * activity that disrupts the regular and synchronised contraction * of the ventricular muscle and consequently destroys the main * pumping function of the heart. Research to date has suggested * that electrical vortices are the mechanism underlying VF. These * are manisfested in the 2D heart as spiral waves, and in the * 3D heart as scroll waves of action potential. Compared with * the extensive knowledge available on vortex filament behaviour * in an isotropic medium, relatively little is known about how * the vortices behave in the anisotropic ventricular muscle. This * 1998 publication by Fenton and Karma (fully referenced below) * explores the dynamics of the vortex filament in continuous myocardium * via numerical simulation. * * Over the past 25 to 30 years, mathematical models that describe * ventricular action potential have become increasingly complex * as new experimental data has become available and has been incorporated * into the mathematical equations. Although these complex models * are more realistic, they are also computationally expensive * to run, and isolating subsets of essential parameters from the * model is difficult. One traditional method for avoiding this * complexity is to use simplified models such as the FitzHugh-Nagumo * model, 1961. However, these simplified models have been criticised * as being too simple and as not having the capacity to fully * capture certain important features of the ventricular action * potential. * * The modelling approach that Fenton and Karma take is to use * a simplified ionic model of ventricular action potential with * three membrane currents. This model retains enough detail to * quantitatively reproduce the behaviour of the ventricular action * potential captured by the more complex ionic models of cardiac * action potential (such as the Beeler-Reuter 1977 model, and * the original Luo-Rudy 1991 model), but it is less computationally * expensive than these other models. * * The three currents in the Fenton-Karma model are: * * Ifi, a fast inward current which corresponds to the INa current * * Iso, a slow outward current which corresponds to the IK current * * Isi, a slow inward current which corresponds to the ICa current * * (see below). The authors choose to use these labels as opposed * to Na, K and Ca, as a reminder that Ifi, Iso, and Isi do not * actually represent measured currents, but only their activation, * inactivation and reactivation dynamics which are needed to quantitatively * reproduce restitution properties. * * Model validation indicates that this simplified model is able * to faithfully reproduce the 2D patterns of reentry of the more * complex models. * * The complete original paper reference is cited below: * * Vortex dynamics in three-dimensional continuous myocardium with * fiber rotation: Filament instability and fibrillation, Flavio * Fenton and Alain Karma, 1998, Chaos, 8, 20-47. (Full text (HTML) * and PDF versions of the article are available to subscribers * on the Chaos website.) PubMed ID: 12779708 * * cell diagram * * [[Image file: cell_diagram.gif]] * * A schematic diagram of the three ionic currents described by * the Fenton-Karma model of a ventricular myocyte. * * The Fenton-Karma model has been described here in CellML (the * raw CellML description of the Fenton-Karma model can be downloaded * in various formats as described in ). */ import nsrunit; // Warning: unit conversion turned off due to unit errors in 2 equation(s) unit conversion off; unit ms=.001 second^1; unit per_ms=1E3 second^(-1); unit mV=.001 kilogram^1*meter^2*second^(-3)*ampere^(-1); unit per_mV=1E3 kilogram^(-1)*meter^(-2)*second^3*ampere^1; unit per_mV_ms=1E6 kilogram^(-1)*meter^(-2)*second^2*ampere^1; unit mS_per_cm2=10 kilogram^(-1)*meter^(-4)*second^3*ampere^2; unit uF_per_cm2=.01 kilogram^(-1)*meter^(-4)*second^4*ampere^2; unit uA_per_cm2=.01 meter^(-2)*ampere^1; unit concentration_units=1 meter^(-3)*mole^1; math main { realDomain time ms; time.min=0; extern time.max; extern time.delta; real u(time) dimensionless; when(time=time.min) u=0; real Cm uF_per_cm2; Cm=1; real Vm(time) mV; real V_0 mV; V_0=-85; real V_fi mV; V_fi=15; real J_fi(time) per_ms; real J_so(time) per_ms; real J_si(time) per_ms; real J_stim(time) per_ms; real p(time) dimensionless; real u_c mV; u_c=0.13; real q(time) dimensionless; real u_v dimensionless; u_v=0.04; real tau_d ms; real g_fi_max mS_per_cm2; g_fi_max=4; real v(time) dimensionless; when(time=time.min) v=1; real tau_v_minus(time) ms; real tau_v1_minus ms; tau_v1_minus=1250; real tau_v2_minus ms; tau_v2_minus=19.6; real tau_v_plus ms; tau_v_plus=3.33; real tau_0 ms; tau_0=12.5; real tau_r ms; tau_r=33.33; real tau_si ms; tau_si=29; real u_csi dimensionless; u_csi=0.85; real k dimensionless; k=10; real w(time) dimensionless; when(time=time.min) w=1; real tau_w_minus ms; tau_w_minus=41; real tau_w_plus ms; tau_w_plus=870; // // J_stim=(if ((time>=(100 ms)) and (time<=(101 ms))) (-1)*(.2 per_ms) else (0 per_ms)); u:time=((-1)*(J_fi+J_so+J_si+J_stim)); Vm=(V_0+u*(V_fi-V_0)); // p=(if (u q=(if (u tau_d=(Cm/g_fi_max); J_fi=((-1)*v*p*(1-u)*(u-u_c)/tau_d); // tau_v_minus=(q*tau_v1_minus+(1-q)*tau_v2_minus); v:time=((1-p)*(1-v)/tau_v_minus-p*v/tau_v_plus); // J_so=(u*(1-p)/tau_0+p/tau_r); // J_si=((-1)*w*(1+tanh(k*(u-u_csi)))/(2*tau_si)); // w:time=((1-p)*(1-w)/tau_w_minus-p*w/tau_w_plus); }