# Bueno-Orovio–Cherry–Fenton model

The Bueno-Orovio–Cherry–Fenton model, also simply called Bueno-Orovio model, is a minimal ionic model for human ventricular cells. It belongs to the category of phenomenological models, because of its characteristic of describing the electrophysiological behaviour of cardiac muscle cells without taking into account in a detailed way the underlying physiology and the specific mechanisms occurring inside the cells.
This mathematical model reproduces both single cell and important tissue-level properties, accounting for physiological action potential development and conduction velocity estimations. It also provides specific parameters choices, derived from parameter-fitting algorithms of the MATLAB Optimization Toolbox, for the modeling of epicardial, endocardial and myd-myocardial tissues. In this way it is possible to match the action potential morphologies, observed from experimental data, in the three different regions of the human ventricles. The Bueno-Orovio–Cherry–Fenton model is also able to describe reentrant and spiral wave dynamics, which occurs for instance during tachycardia or other types of arrhythmias.
From the mathematical perspective, it consists of a system of four differential equations. One PDE, similar to the monodomain model, for an adimensional version of the transmembrane potential, and three ODEs that define the evolution of the so-called gating variables, i.e. probability density functions whose aim is to model the fraction of open ion channels across a cell membrane.

## Mathematical modeling

The system of four differential equations reads as follows:
    ${\begin{cases}{\dfrac {\partial u}{\partial t}}=\nabla \cdot (D\nabla u)-(J_{fi}+J_{so}+J_{si})&{\text{in }}\Omega \times (0,T)\\[5pt]{\dfrac {\partial v}{\partial t}}={\dfrac {(1-H(u-\theta _{v}))(v_{\infty }-v)}{\tau _{v}^{-}}}-{\dfrac {H(u-\theta _{v})v}{\tau _{v}^{+}}}&{\text{in }}\Omega \times (0,T)\\[5pt]{\dfrac {\partial w}{\partial t}}={\dfrac {(1-H(u-\theta _{w}))(w_{\infty }-w)}{\tau _{w}^{-}}}-{\dfrac {H(u-\theta _{w})w}{\tau _{w}^{+}}}&{\text{in }}\Omega \times (0,T)\\[5pt]{\dfrac {\partial s}{\partial t}}={\dfrac {1}{\tau _{s}}}\left({\dfrac {1+\tanh(k_{s}(u-u_{s}))}{2}}-s\right)&{\text{in }}\Omega \times (0,T)\\[5pt]{\bigD\nabla u{\big )}\cdot {\boldsymbol {N}}=0&{\text{on }}\partial \Omega \times (0,T)\\[5pt]u=u_{0},\,v=v_{0},\,w=w_{0},\,s=s_{0}&{\text{in }}\Omega \times \{0\}\end{cases}}$
where $\Omega$ is the spatial domain and $T$ is the final time. The initial conditions are $u_{0}=0$, $v_{0}=1$, $w_{0}=1$, $s_{0}=0$.
$H(x-x_{0})$ refers to the Heaviside function centered in $x_{0}$. The adimensional transmembrane potential $u$ can be rescaled in mV by means of the affine transformation $V_{mV}=85.7u-84$. $v$, $w$ and $s$ refer to gating variables, where in particular $s$ can be also used as an indication of intracellular calcium ${{Ca}_{i}}^{2+}$ concentration (given in the adimensional range [0, 1] instead of molar concentration).
    $J_{fi},J_{so}$ and $J_{si}$ are the fast inward, slow outward and slow inward currents respectively, given by the following expressions:
    $J_{fi}=-{\frac {vH(u-\theta _{v})(u-\theta _{v})(u_{u}-u)}{\tau _{fi}}},$
    $J_{so}={\frac {(u-u_{o})(1-H(u-\theta _{w}))}{\tau _{o}}}+{\frac {H(u-\theta _{w})}{\tau _{so}}},$
    $J_{si}=-{\frac {H(u-\theta _{w})ws}{\tau _{si}}},$
All the above-mentioned ionic density currents are partially adimensional and are expressed in ${\dfrac {1}{\text{seconds}}}$.
Different parameters sets, as shown in Table 1, can be used to reproduce the action potential development of epicardial, endocardial and mid-myocardial human ventricular cells. There are some constants of the model, which are not located in Table 1, that can be deduced with the following formulas:
    $\tau _{v}^{-}=(1-H(u-\theta _{v}^{-}))\tau _{v_{1}}^{-}+H(u-\theta _{v}^{-})\tau _{v_{2}}^{-},$
    $\tau _{w}^{-}=\tau _{w_{1}}^{-}+(\tau _{w_{2}}^{-}-\tau _{w_{1}}^{-})(1+\tanh(k_{w}^{-}(u-u_{w}^{-})))/2,$
    $\tau _{so}=\tau _{{so}_{1}}+(\tau _{{so}_{2}}-\tau _{{so}_{1}})(1+\tanh(k_{so}(u-u_{so})))/2,$
    $\tau _{s}=(1-H(u-\theta _{w}))\tau _{s_{1}}+H(u-\theta _{w})\tau _{s_{2}},$
    $\tau _{o}=(1-H(u-\theta _{o}))\tau _{o_{1}}+H(u-\theta _{o})\tau _{o_{2}},$
    $v_{\infty }=1-H(u-\theta _{v}^{-}),$
    $w_{\infty }=(1-H(u-\theta _{o}))(1-u/\tau _{w_{\infty }})+H(u-\theta _{o})w_{\infty }^{*}.$
where the temporal constants, i.e. $\tau _{v}^{-},\tau _{w}^{-},\tau _{so},\tau _{s},\tau _{o}$ are expressed in seconds, whereas $v_{\infty }$ and $w_{\infty }$ are adimensional.
The diffusion coefficient $D$ results in a value of $1.171\pm 0.221{\dfrac {{\text{cm}}^{2}}{\text{seconds}}}$, which comes from experimental tests on human ventricular tissues.
In order to trigger the action potential development in a certain position of the domain $\Omega$, a forcing term $J_{\text{app}}({\boldsymbol {x}},t)$, which represents an externally applied density current, is usually added at the right hand side of the PDE and acts for a short time interval only.
Table 1: values of the parameters for different positions of the human heart :
| Parameter | $u_{o}$ | $u_{u}$ | $\theta _{v}$ | $\theta _{w}$ | $\theta _{v}^{-}$ | $\theta _{o}$ | $\tau _{v_{1}}^{-}$ | $\tau _{v_{2}}^{-}$ | $\tau _{v}^{+}$ | $\tau _{w_{1}}^{-}$ | $\tau _{w_{2}}^{-}$ | $k_{w}^{-}$ | $u_{w}^{-}$ | $\tau _{w}^{+}$ | $\tau _{fi}$ | $\tau _{o_{1}}$ | $\tau _{o_{2}}$ | $\tau _{{so}_{1}}$ | $\tau _{{so}_{2}}$ | $k_{so}$ | $u_{so}$ | $\tau _{s_{1}}$ | $\tau _{s_{2}}$ | $k_{s}$ | $u_{s}$ | $\tau _{si}$ | $\tau _{w_{\infty }}$ | $w_{\infty }^{*}$ |
| Unity of measure | - | - | - | - | - | - | seconds | seconds | seconds | seconds | seconds | - | - | seconds | seconds | seconds | seconds | seconds | seconds | - | - | seconds | seconds | - | - | seconds | - | - |
| Epicardium | 0 | 1.55 | 0.3 | 0.13 | 0.006 | 0.006 | 60e-3 | 1150e-3 | 1.4506e-3 | 60e-3 | 15e-3 | 65 | 0.03 | 200e-3 | 0.11e-3 | 400e-3 | 6e-3 | 30.0181e-3 | 0.9957e-3 | 2.0458 | 0.65 | 2.7342e-3 | 16e-3 | 2.0994 | 0.9087 | 1.8875e-3 | 0.07 | 0.94 |
| Endocardium | 0 | 1.56 | 0.3 | 0.13 | 0.2 | 0.006 | 75e-3 | 10e-3 | 1.4506e-3 | 6e-3 | 140e-3 | 200 | 0.016 | 280e-3 | 0.1e-3 | 470e-3 | 6e-3 | 40e-3 | 1.2e-3 | 2 | 0.65 | 2.7342e-3 | 2e-3 | 2.0994 | 0.9087 | 2.9013e-3 | 0.0273 | 0.78 |
| Myocardium | 0 | 1.61 | 0.3 | 0.13 | 0.1 | 0.005 | 80e-3 | 1.4506e-3 | 1.4506e-3 | 70e-3 | 8e-3 | 200 | 0.016 | 280e-3 | 0.078e-3 | 410e-3 | 7e-3 | 91e-3 | 0.8e-3 | 2.1 | 0.6 | 2.7342e-3 | 4e-3 | 2.0994 | 0.9087 | 3.3849e-3 | 0.01 | 0.5 |

## Weak formulation

Assume that ${\boldsymbol {z}}$ refers to the vector containing all the gating variables, i.e. ${\boldsymbol {z}}=[v,w,s]^{T}$, and ${\boldsymbol {F}}:\mathbb {R} ^{4}\rightarrow \mathbb {R} ^{3}$ contains the corresponding three right hand sides of the ionic model. The Bueno-Orovio–Cherry–Fenton model can be rewritten in the compact form:
    ${\begin{cases}{\dfrac {\partial u}{\partial t}}-\nabla \cdot (D\nabla u)+(J_{fi}+J_{so}+J_{si})=0&{\text{in }}\Omega \times (0,T)\\[5pt]{\dfrac {\partial {\boldsymbol {z}}}{\partial t}}={\boldsymbol {F}}(u,{\boldsymbol {z}})&{\text{in }}\Omega \times (0,T)\\\end{cases}}$
Let $p\in U=H^{1}(\Omega )$ and ${\boldsymbol {q}}\in {\boldsymbol {W}}=[L^{2}(\Omega )]^{3}$ be two generic test functions.
To obtain the weak formulation:
* multiply by $p\in U$ the first equation of the model and by ${\boldsymbol {q}}\in {\boldsymbol {W}}$ the equations for the evolution of the gating variables. Integrating both members of all the equations in the domain $\Omega$:
    ${\begin{cases}\displaystyle \int _{\Omega }{\dfrac {du(t)}{dt}}p\,d\Omega -\int _{\Omega }\nabla \cdot (D\nabla u(t))p\,d\Omega +\int _{\Omega }(J_{fi}+J_{so}+J_{si})p\,d\Omega =0&\forall p\in U\\[5pt]\displaystyle \int _{\Omega }{\dfrac {d{\boldsymbol {z}}(t)}{dt}}{\boldsymbol {q}}\,d\Omega =\int _{\Omega }{\boldsymbol {F}}(u(t),{\boldsymbol {z}}(t)){\boldsymbol {q}}\,d\Omega &\forall {\boldsymbol {q}}\in {\boldsymbol {W}}\end{cases}}$
* perform an integration by parts of the diffusive term of the first monodomain-like equation:
       $-\int _{\Omega }\nabla \cdot (D\nabla u(t))p\,d\Omega =\int _{\Omega }D\nabla u(t)\nabla p\,d\Omega -{\cancelto {\text{Neumann B.C.}}{\int _{\partial \Omega }(D\nabla u(t))\cdot {\boldsymbol {N}}p\,d\Omega }}$
Finally the weak formulation reads:
    Find $u\in L^{2}(0,T;H^{1}(\Omega ))$ and ${\boldsymbol {z}}\in L^{2}(0,T;[L^{2}(\Omega )]^{3})$, $\forall t\in (0,T)$, such that
       ${\begin{cases}\displaystyle \int _{\Omega }{\frac {du(t)}{dt}}p\,d\Omega +\int _{\Omega }D\nabla u(t)\cdot \nabla p\,d\Omega +\int _{\Omega }(J_{fi}+J_{so}+J_{si})p\,d\Omega =0&\forall p\in U\\[5pt]\displaystyle \int _{\Omega }{\frac {d{\boldsymbol {z}}(t)}{dt}}{\boldsymbol {q}}\,d\Omega =\int _{\Omega }{\boldsymbol {F}}(u(t),{\boldsymbol {z}}(t)){\boldsymbol {q}}\,d\Omega &\forall {\boldsymbol {q}}\in {\boldsymbol {W}}\\[5pt]u(0)=u_{0}\\[5pt]{\boldsymbol {z}}(0)={\boldsymbol {z}}_{0}\end{cases}}$

## Numerical discretization

There are several methods to discretize in space this system of equations, such as the finite element method (FEM) or isogeometric analysis (IGA).
Time discretization can be performed in several ways as well, such as using a backward differentiation formula (BDF) of order $\sigma$ or a Runge–Kutta method (RK).

### Space discretization with FEM

Let ${\mathcal {T}}_{h}$ be a tessellation of the computational domain $\Omega$ by means of a certain type of elements (such as tetrahedrons or hexahedra), with $h$ representing a chosen measure of the size of a single element $K\in {\mathcal {T}}_{h}$. Consider the set $\mathbb {P} ^{r}(K)$ of polynomials with degree smaller or equal than $r$ over an element $K$. Define ${\mathcal {X}}_{h}^{r}=\{f\in C^{0}({\bar {\Omega }}):f|_{K}\in \mathbb {P} ^{r}(K)\,\,\forall K\in {\mathcal {T}}_{h}\}$ as the finite dimensional space, whose dimension is $N_{h}=\dim({\mathcal {X}}_{h}^{r})$. The set of basis functions of ${\mathcal {X}}_{h}^{r}$ is referred to as $\{\phi _{i}\}_{i=1}^{N_{h}}$.
The semidiscretized formulation of the first equation of the model reads: find $u_{h}=u_{h}(t)=\sum _{j=1}^{N_{h}}{\bar {u}}_{j}(t)\phi _{j}$ projection of the solution $u(t)$ on ${\mathcal {X}}_{h}^{r}$, $\forall t\in (0,T)$, such that
    $\int _{\Omega }{\dot {u}}_{h}\phi _{i}\,d\Omega +\int _{\Omega }(D\nabla u_{h})\cdot \nabla \phi _{i}\,d\Omega +\int _{\Omega }J_{\text{ion}}(u_{h},{\boldsymbol {z}}_{h})\phi _{i}\,d\Omega =0\quad {\text{for }}i=1,\ldots ,N_{h}$
with $u_{h}(0)=\sum _{j=1}^{N_{h}}\left(\int _{\Omega }u_{0}\phi _{j}\,d\Omega \right)\phi _{j}$, ${\boldsymbol {z}}_{h}={\boldsymbol {z}}_{h}(t)=[v_{h}(t),w_{h}(t),s_{h}(t)]^{T}$ semidiscretized version of the three gating variables, and $J_{\text{ion}}(u_{h},{\boldsymbol {z}}_{h})=J_{fi}(u_{h},{\boldsymbol {z}}_{h})+J_{so}(u_{h},{\boldsymbol {z}}_{h})+J_{si}(u_{h},{\boldsymbol {z}}_{h})$ is the total ionic density current.
The space discretized version of the first equation can be rewritten as a system of non-linear ODEs by setting ${\boldsymbol {U}}_{h}(t)=\{{\bar {u}}_{j}(t)\}_{j=1}^{N_{h}}$ and ${\boldsymbol {Z}}_{h}(t)=\{{\bar {\boldsymbol {z}}}_{j}(t)\}_{j=1}^{N_{h}}$:
    ${\begin{cases}\mathbb {M} {\dot {\boldsymbol {U}}}_{h}(t)+\mathbb {K} {\boldsymbol {U}}_{h}(t)+{\boldsymbol {J}}_{\text{ion}}({\boldsymbol {U}}_{h}(t),{\boldsymbol {Z}}_{h}(t))=0&\forall t\in (0,T)\\{\boldsymbol {U}}_{h}(0)={\boldsymbol {U}}_{0,h}\end{cases}}$
where $\mathbb {M} _{ij}=\int _{\Omega }\phi _{j}\phi _{i}\,d\Omega$, $\mathbb {K} _{ij}=\int _{\Omega }D\nabla \phi _{j}\cdot \nabla \phi _{i}\,d\Omega$ and $\left({\boldsymbol {J}}_{\text{ion}}({\boldsymbol {U}}_{h}(t),{\boldsymbol {z}}_{h}(t))\right)_{i}=\int _{\Omega }J_{\text{ion}}(u_{h},{\boldsymbol {z}}_{h})\phi _{i}\,d\Omega$.
The non-linear term ${\boldsymbol {J}}_{\text{ion}}({\boldsymbol {U}}_{h}(t),{\boldsymbol {Z}}_{h}(t))$ can be treated in different ways, such as using state variable interpolation (SVI) or ionic currents interpolation (ICI). In the framework of SVI, by denoting with $\{{\boldsymbol {x}}_{s}^{K}\}_{s=1}^{N_{q}}$ and $\{\omega _{s}^{K}\}_{s=1}^{N_{q}}$ the quadrature nodes and weights of a generic element of the mesh $K\in {\mathcal {T}}_{h}$, both $u_{h}$ and ${\boldsymbol {z}}_{h}$ are evaluated at the quadrature nodes:
    $\int _{\Omega }J_{\text{ion}}(u_{h},{\boldsymbol {z}}_{h})\phi _{i}\,d\Omega \approx \sum _{K\in {\mathcal {T}}_{h}}\left(\sum _{s=1}^{N_{q}}J_{\text{ion}}\left(\sum _{j=1}^{N_{h}}{\bar {u}}_{j}(t)\phi _{j}({\boldsymbol {x}}_{s}^{K}),\sum _{j=1}^{N_{h}}{\bar {\boldsymbol {z}}}_{j}(t)\phi _{j}({\boldsymbol {x}}_{s}^{K})\right)\phi _{i}({\boldsymbol {x}}_{s}^{K})\omega _{s}^{K}\right)$
The equations for the three gating variables, which are ODEs, are directly solved in all the degrees of freedom (DOF) of the tessellation ${\mathcal {T}}_{h}$ separately, leading to the following semidiscrete form:
    ${\begin{cases}{\dot {\boldsymbol {Z}}}_{h}(t)={\boldsymbol {F}}({\boldsymbol {U}}_{h}(t),{\boldsymbol {Z}}_{h}(t))&\forall t\in (0,T)\\{\boldsymbol {Z}}_{h}(0)={\boldsymbol {Z}}_{0,h}\end{cases}}$

### Time discretization with BDF (implicit scheme)

With reference to the time interval $(0,T]$, let $\Delta t={\dfrac {T}{N}}$ be the chosen time step, with $N$ number of subintervals. A uniform partition in time $[t_{0}=0,t_{1}=\Delta t,\ldots ,t_{k},\ldots ,t_{N-1},t_{N}=T]$ is finally obtained.
At this stage, the full discretization of the Bueno-Orovio ionic model can be performed both in a monolithic and segregated fashion. With respect to the first methodology (the monolithic one), at time $t=t^{k}$, the full problem is entirely solved in one step in order to get $({\boldsymbol {U}}_{h}^{k+1},{\boldsymbol {Z}}_{h}^{k+1})$ by means of either Newton method or Fixed-point iterations:
    ${\begin{cases}\mathbb {M} \alpha {\dfrac {{\boldsymbol {U}}_{h}^{k+1}-{\boldsymbol {U}}_{{\text{ext}},h}^{k}}{\Delta t}}+\mathbb {K} {\boldsymbol {U}}_{h}^{k+1}+{\boldsymbol {J}}_{\text{ion}}({\boldsymbol {U}}_{h}^{k+1},{\boldsymbol {Z}}_{h}^{k+1})=0\\\alpha {\dfrac {{\boldsymbol {Z}}_{h}^{k+1}-{\boldsymbol {Z}}_{{\text{ext}},h}^{k}}{\Delta t}}={\boldsymbol {F}}({\boldsymbol {U}}_{h}^{k+1},{\boldsymbol {Z}}_{h}^{k+1})\end{cases}}$
where ${\boldsymbol {U}}_{{\text{ext}},h}^{k}$ and ${\boldsymbol {Z}}_{{\text{ext}},h}^{k}$ are extrapolations of transmembrane potential and gating variables at previous timesteps with respect to $t^{k+1}$, considering as many time instants as the order $\sigma$ of the BDF scheme. $\alpha$ is a coefficient which depends on the BDF order $\sigma$.
If a segregated method is employed, the equation for the evolution in time of the transmembrane potential and the ones of the gating variables are numerically solved separately:
* Firstly, ${\boldsymbol {Z}}_{h}^{k+1}$ is calculated, using an extrapolation at previous timesteps ${\boldsymbol {U}}_{{\text{ext}},h}^{k}$ for the transmembrane potential at the right hand side:
       $\alpha {\dfrac {{\boldsymbol {Z}}_{h}^{k+1}-{\boldsymbol {Z}}_{{\text{ext}},h}^{k}}{\Delta t}}={\boldsymbol {F}}({\boldsymbol {U}}_{{\text{ext}},h}^{k},{\boldsymbol {Z}}_{h}^{k+1})$
* Secondly, ${\boldsymbol {U}}_{h}^{k+1}$ is computed, exploiting the value of ${\boldsymbol {Z}}_{h}^{k+1}$ that has just been calculated:
       $\mathbb {M} \alpha {\dfrac {{\boldsymbol {U}}_{h}^{k+1}-{\boldsymbol {U}}_{{\text{ext}},h}^{k}}{\Delta t}}+\mathbb {K} {\boldsymbol {U}}_{h}^{k+1}+{\boldsymbol {J}}_{\text{ion}}({\boldsymbol {U}}_{h}^{k+1},{\boldsymbol {Z}}_{h}^{k+1})=0$
Another possible segregated scheme would be the one in which ${\boldsymbol {U}}_{h}^{k+1}$ is calculated first, and then it is used in the equations for ${\boldsymbol {Z}}_{h}^{k+1}$.