CEPS  24.01
Cardiac ElectroPhysiology Simulator
Ionic Models

General framework

Ionic models describe how the transmembrane voltage and ionic species interact across cellular membranes. These exchanges are generally described by ODE systems, with gate variables representing the permeability of ion channels (transmembrane proteines) to different species, and additional variables describing the state of the system, that are called miscallenous variables in CEPS implementation. Together with the transmembrane voltage, this forms the ODE system:

\[ \displaystyle\frac{\mathrm{d}}{\mathrm{d}t}\begin{pmatrix} W \\ C \\ v \end{pmatrix} = \begin{pmatrix} H(X,t) \\ G(X,t) \\ \frac{1}{C_\mathrm{m}}\left(\sum_{i}I_i(X,t)+I_{\mathrm{app}}(t)\right)\end{pmatrix}, \]

where

  • $ W = (w_k)_{k=1,N_w}^t $ are the gate variables,
  • $ C = (c_k)_{k=1,N_c}^t $ are the misc variables,
  • $ v $ is the scalar transmembrane voltage,
  • $ X $ designates the whole vector $(W,C,v)^t$,
  • $ H = (h_k)_{k=1,N_w}^t,\quad h(X,t)_k = \displaystyle\frac{w_{k,\infty}(X,t)-w_k(X,t)}{\tau_k} $ is the standard evolution function for gate variables (sliding-door models), with limit values $w_{k,\infty}$ and dynamics $\tau_k$,
  • $ I_i $ are ionic currents considered by the model to act on $ v $,
  • $ I_{\mathrm{app}} $ is an external applied current,
  • $ C_\mathrm{m} $ is the cell membrane capacitance.

Each value is defined everywhere in regions of the computational domain that are set through the main input file and mesh attributes. Several ionic models can then coexist, and some regions can have no ionic model at all. Usually, there is a model defined at each degree of freedom of the PDE problem, meaning that there exists a large number of arrays that have the size of the discretization mesh.

For more information on how the ODE systems are solved, please refer to the numerics page.

Implemented models

  • Beeler-Reuter (BR77) : Reconstruction of the action potential of ventricular myocardial fibres, Beeler, G.W. and Reuter, H. 1977 Journal of Physiology , 268, 177-210. PubMed ID: 874889
  • Courtemanche-Ramirez-Nattel (CRN98) : Ionic mechanisms underlying human atrial action potential properties: insights from a mathematical model. M. Courtemanche, R.J. Ramirez, and S. Nattel.
    Am. J. Physiol., 275 (Heart Circ. Physiol.44):H301–H321, 1998. PubMed ID: 9688927
  • Aliev-Panvilov (AP95) : A simple two-variable model of cardiac excitation, Rubin R. Aliev, Alexander V. Panfilov, 1996 Chaos, Solitons & Fractals, 7(3), 293-301 doi.
  • Mitchell-Schaeffer (MS03) : A two-current model for the dynamics of cardiac membrane, Colleen C. Mitchell, David G. Schaeffer, 2003, Bulletin of Mathematical Biology , 65, (5), 767-793. PubMed ID: 12909250
  • Ten-Tusscher Panvilov 2006 (TTP06), with its three variants for endo-, epi- and midmyo-cardium : Alternans and spiral breakup in a human ventricular tissue model, K.H.W.J. ten Tusscher, A.V. Panfilov, Sep 2006, American Journal of Physiology, Heart and Circulatory Physiology, 291 3, H1088-1100. PubMed ID: 16565318
  • O'Hara-Rudy CiPA V1.0 2017 (OrdmD16), for which you can also select one of the three variants for endo-, epi- and midmyo-cardium. CellML page with all references therein.

Parameters of input file

Keyword Value format Default value Description
ionic model solver STRING FBE Check the ODE Solvers section for a list available ODE solvers
ionic model Comma separated list of groups : <Id> <model> [attributes] Mandatory parameter. See Ionic Models for more information.
Id is the identifier of the unknown on which the model is added (problem dependent)
model is one of TTP06_Endo, TTP06_MidMyo, TTP06_Epi, MS03, CRN98, BR77
attributes can be given to restrict the model to specific regions

Many options are specific to a given ionic model. They are prefixed with the model name, and have the same name as the variable in the CellML repository they were extracted from.

Mitchell-Schaeffer

Keyword Value format Default value Description
MS03 vmin scalar -90 Normalization used to convert from mV to [0,1]
MS03 vmax scalar 50 Normalization used to convert from mV to [0,1]
MS03 tau in scalar 0.3
MS03 tau out scalar 6
MS03 tau open scalar 130
MS03 tau close scalar 150
MS03 vGate scalar 0.13
MS03 v init scalar 8.20413566106744e-6 Initial condition for transmembrane voltage (without unit). Default value is from cellML.
MS03 h init scalar 0.8789655121804799 Initial condition for gate opening (without unit). Default value is from cellML.

Beeler-Reuter

Keyword Value format Default value Description
BR77 gS scalar 9e-4
BR77 ENa scalar 50
BR77 gNa Function STRING CONSTANT 0.04 Can be passed of values from file (with this data on nodes) or piecewise values.
BR77 gNaCa Function STRING CONSTANT 3e-5 Can be passed of values from file (with this data on nodes) or piecewise values

Courtemanche-Ramirez-Nattel

Keyword Value format Default value Description
CRN98 R scalar 8.3143
CRN98 T scalar 310
CRN98 F scalar 96.4867
CRN98 vcell scalar 20100
CRN98 vi scalar 0.68 *vcell
CRN98 vup scalar 0.0552*vcell
CRN98 vrel scalar 0.0048*vcell
CRN98 ko scalar 5.4
CRN98 nao scalar 140
CRN98 cao scalar 1.8
CRN98 gna scalar 7.8
CRN98 gk1 scalar 0.09
CRN98 gto scalar 0.1652
CRN98 gkr scalar 0.029411765
CRN98 gks scalar 0.12941176
CRN98 gcal scalar 0.12375
CRN98 gbca scalar 0.001131
CRN98 gbna scalar 0.0006744375
CRN98 inakmax scalar 0.59933874
CRN98 inacamax scalar 1600
CRN98 icapmax scalar 0.275
CRN98 iupmax scalar 0.005
CRN98 kq10 scalar 3
CRN98 sigma scalar (exp(nao)/67.3-1)/7
CRN98 kmnai scalar 10
CRN98 kmko scalar 1.5
CRN98 kmna scalar 87.5
CRN98 kmca scalar 1.38
CRN98 ksat scalar 0.1
CRN98 krel scalar 30
CRN98 kup scalar 0.00092
CRN98 caupmax scalar 15
CRN98 cmdnmax scalar 0.05
CRN98 trpnmax scalar 0.07
CRN98 csqnmax scalar 10
CRN98 kmcmdn scalar 0.00238
CRN98 kmtrpn scalar 0.0005
CRN98 kmcsqn scalar 0.8
CRN98 taufca scalar 2
CRN98 tautr scalar 180
CRN98 gbk scalar 0
CRN98 gamma scalar 0.35
CRN98 tauu scalar 8
CRN98 cell surface scalar 4.648e-5 Normalization factor to match CEPS units. Assumes a cell is a cylinder of 10 $\si{\micro\metre}$ radius.

Ten Tuscher-Panvilov

In this table key can be either TTP06_endo, TTP06_midmyo or TTP06_epi

Keyword Value format Default value Description
key R scalar 8314.472
key T scalar 310
key F scalar 96485.3415
key vc scalar 0.016404
key pkna scalar 0.03
key ko scalar 5.4
key nao scalar 140
key cao scalar 2
key gk1 scalar 5.405
key gkr scalar 0.153
key gna scalar 14.838
key gbna scalar 0.00029
key gcal scalar 0.0000398
key gbca scalar 0.000592
key pnak scalar 2.724
key kmk scalar 1
key kmna scalar 40
key knaca scalar 1000
key ksat scalar 0.1
key alpha scalar 2.5
key gamma scalar 0.35
key kmca scalar 1.38
key kmna scalar 87.5
key gpca scalar 0.1238
key kpca scalar 0.0005
key gpk scalar 0.0146
key k1prime scalar 0.15
key k2prime scalar 0.045
key k3 scalar 0.06
key k4 scalar 0.005
key ec scalar 1.5
key maxsr scalar 2.5
key minsr scalar 1
key vrel scalar 0.102
key vxfer scalar 0.0038
key kup scalar 0.00025
key vleak scalar 0.00036
key vmaxup scalar 0.006375
key bufc scalar 0.2
key kbufc scalar 0.001
key bufsr scalar 10
key kbuf scalar 0.3
key bufss scalar 0.4
key kbufss scalar 0.00025
key vsr scalar 0.001094
key vss scalar 0.00005468
key gks scalar 0.098 for midmyo, 0.392 otherwise
key gto scalar 0.073 for endo, 0.294 otherwise

O'Hara Rudy modified with drugs 2016

Keyword Value format Default value Description
ORdmD16 IKr_factor scalar 1.119
ORdmD16 IKs_factor scalar 1.648
ORdmD16 IK1_factor scalar 1.414
ORdmD16 ICaL_factor scalar 1.018
ORdmD16 INaL_factor scalar 2.274
ORdmD16 nao scalar 140.0
ORdmD16 cao scalar 1.8
ORdmD16 ko scalar 5.4
ORdmD16 R scalar 8314.0
ORdmD16 T scalar 310.0
ORdmD16 F scalar 96485.0
ORdmD16 L scalar 0.01
ORdmD16 rad scalar 0.0011
ORdmD16 vmyo_fraction scalar 0.68
ORdmD16 vnsr_fraction scalar 0.0552
ORdmD16 vjsr_fraction scalar 0.0048
ORdmD16 vss_fraction scalar 0.02
ORdmD16 drug scalar 1448
ORdmD16 ICNa scalar 5800
ORdmD16 hNa scalar 1
ORdmD16 ICNaL scalar 18870
ORdmD16 hNaL scalar 0.6
ORdmD16 ICto scalar 9266
ORdmD16 hto scalar 0.7
ORdmD16 ICCal scalar 26349.5
ORdmD16 hCal scalar 1.185
ORdmD16 ICKr scalar 1500
ORdmD16 hKr scalar 0.88
ORdmD16 ICKs scalar 20000
ORdmD16 hKs scalar 1
ORdmD16 ICK1 scalar nan
ORdmD16 hK1 scalar nan
ORdmD16 PKNa scalar 0.018333

Other constants are deduced from these ones. For now, they cannot be changed manually.