1 Introduction
-
In the first example, we simulate acute regional myocardial ischemia in a patient-specific biventricular heart model and investigate the role of each growth type contributing to the ventricular remodelling in the ischemic region, where electrocardiogram (ECG) and the volume-time (v-t) curve are simultaneously computed.
-
In the second example, we compare the divergent patterns of LV remodelling when the heart is exposed to different pressure loading conditions and investigate its mechanism behind using LV heart model.
2 Multiphysics problem: electro-visco-elastic-growth response
2.1 Primary field variables and kinematics of the multi-field problem
2.2 Balance equations
2.3 Constitutive equations of finite growth
3 Discrete equation of finite growth
3.1 Local Newton iteration for finite growth
3.2 Global Newton iteration for finite growth
4 Governing equations for myocardial growth
4.1 Stretch-driven fibre growth
4.2 Stress-driven sheet growth
1 | Input: \(\lambda ^\text {g}_{\text {f,n}}\), \(\lambda ^\text {g}_{\text {s,n}}\) and \({{\textbf {F}}}\) |
2 | initialize \(\lambda ^\text {g}_{\text {f}}\) \(\leftarrow \) \(\lambda ^\text {g}_{\text {f,n}}\) and \(\lambda ^\text {g}_{\text {s}}\) \(\leftarrow \) \(\lambda ^\text {g}_{\text {s,n}}\) |
! | LOCAL NEWTON ITERATION FOR STRETCH-DRIVEN FIBRE GROWTH |
3 | \(\phi ^\text {g}= \lambda ^{\text {ma}} - \lambda ^{\text {up}}_{\text {crit}} > 0\) or \(\phi ^\text {g}= \lambda ^{\text {ma}} - \lambda ^{\text {down}}_{\text {crit}} > 0\) ? |
4 | compute total stretch along fibre direction \(\lambda _{\text {f}}=\sqrt{{{\textbf {f}}}_{0}{{\textbf {F}}}^{{\top }}{{\textbf {F}}}{{\textbf {f}}}_{0}}\) |
5 | compute the mechanical-active stretch along fibre direction \(\lambda ^{\text {ma}}_{\text {f}}=\lambda _{\text {f}} / \lambda ^\text {g}_{\text {f}} \) |
6 | if \(\phi ^\text {g}= \lambda ^{\text {ma}} - \lambda ^{\text {up}}_{\text {crit}} > 0\): forward stretch-driven fibre growth |
7 | compute growth function \(k^\text {g}=[[\lambda ^{\text {max}}_{\text {f}}-\lambda ^\text {g}_{\text {f}}]/[\lambda ^{\text {max}}_{\text {f}}-\lambda ^{\text {min}}_{\text {f}}]]^{\gamma ^\text {g}}/\tau ^\text {u}_\text {f}\) |
8 | if \(\phi ^\text {g}= \lambda ^{\text {ma}} - \lambda ^{\text {down}}_{\text {crit}} < 0\): reverse stretch-driven fibre growth |
9 | compute growth function \(k^\text {g}=[[\lambda ^\text {g}_{\text {f}}-\lambda ^{\text {min}}_{\text {f}}]/[\lambda ^{\text {max}}_{\text {f}}-\lambda ^{\text {min}}_{\text {f}}]]^{\gamma ^\text {g}}/\tau ^\text {d}_\text {f}\) |
10 | compute the residual \(R =\lambda ^\text {g}_{\text {f}}-\lambda ^\text {g}_{\text {f,n}} - k^\text {g}\phi ^\text {g}\Delta t\) |
11 | compute the tangent \(K = \partial R / \partial \lambda ^\text {g}_{\text {f}}\) |
12 | update the growth stretch along fibre direction \(\lambda ^\text {g}_{\text {f}} \leftarrow \lambda ^\text {g}_{\text {f}} - R/K\) |
13 | check convergence \(R < TOL\) ? |
14 | goto 31 |
! | LOCAL NEWTON ITERATION FOR STRESS-DRIVEN SHEET GROWTH |
15 | \(\phi ^\text {g}= \text {tr}({{\textbf {M}}}^{\text {ma}}) - M^{\text {up}}_{\text {crit}} > 0\) or \(\phi ^\text {g}= \text {tr} ({{\textbf {M}}}^{\text {ma}}) - M^{\text {up}}_{\text {crit}} < 0\) ? |
16 | compute the growth deformation tensor \({{\textbf {F}}}^\text {g}= \lambda ^\text {g}_{\text {f}} {{\textbf {f}}}\otimes {{\textbf {f}}}+ \lambda ^\text {g}_{\text {s}} {{\textbf {s}}}\otimes {{\textbf {s}}}+ \lambda ^\text {g}_{\text {n}} {{\textbf {n}}}\otimes {{\textbf {n}}}\) |
17 | compute the inverse of the growth deformation tensor \({{\textbf {F}}}^{\text {g}-1}\) |
18 | compute the mechanical-active deformation gradient tensor \({{\textbf {F}}}^{\text {ma}} = {{\textbf {F}}}\cdot {{\textbf {F}}}^{\text {g}-1}\) |
19 | compute the mechanical-active right Cauchy Green tensor \({{\textbf {C}}}^{\text {ma}} = {{{\textbf {F}}}^{\text {ma}^{{\top }}}} \cdot {\textbf {g}} \cdot {{\textbf {F}}}^{\text {ma}}\) |
20 | compute the mechanical-active second Piola Kirchhoff stress tensor \({{\textbf {S}}}^{\text {ma}}= 2\partial \psi / \partial {{\textbf {C}}}^{\text {ma}}\) |
21 | compute the trace of the mechanical-active Mandel stress \(\text {tr}({{\textbf {M}}}^{\text {ma}}) = \text {tr}({{\textbf {C}}}^{\text {ma}} \cdot {{\textbf {S}}}^{\text {ma}})\) |
22 | if \(\phi ^\text {g}= \text {tr}({{\textbf {M}}}^{\text {ma}}) - M^{\text {up}}_{\text {crit}} > 0\): forward stress driven fibre growth |
23 | compute growth function \(k^\text {g}=[[\lambda ^{\text {max}}_{\text {s}}-\lambda ^\text {g}_{\text {s}}]/[\lambda ^{\text {max}}_{\text {s}}-\lambda ^{\text {min}}_{\text {s}}]]^{\gamma ^\text {g}}/\tau ^\text {u}_\text {s}\) |
24 | if \(\phi ^\text {g}= \text {tr}({{\textbf {M}}}^{\text {ma}}) - M^{\text {down}}_{\text {crit}} < 0\): reverse stress driven fibre growth |
25 | compute growth function \(k^\text {g}=[[\lambda ^\text {g}_{\text {s}}-\lambda ^{\text {min}}_{\text {s}}]/[\lambda ^{\text {max}}_{\text {s}}-\lambda ^{\text {min}}_{\text {s}}]]^{\gamma ^\text {g}}/\tau ^\text {d}_\text {s}\) |
26 | compute the residual \(R =\lambda ^\text {g}_{\text {s}}-\lambda ^\text {g}_{\text {s,n}} - k^\text {g}\phi ^\text {g}\Delta t\) |
27 | compute the tangent \(K = \partial R / \partial \lambda ^\text {g}_{\text {s}}\) |
28 | update the growth stretch along sheet direction \(\lambda ^\text {g}_{\text {s}} \leftarrow \lambda ^\text {g}_{\text {s}} - R/K\) |
29 | check convergence \(R < TOL\) ? |
30 | goto 31 |
! | UPDATE OF STRESS TENSOR AND TANGENT MODULI |
31 | compute the growth deformation tensor \({{\textbf {F}}}^\text {g}= \lambda ^\text {g}_{\text {f}} {{\textbf {f}}}\otimes {{\textbf {f}}}+ \lambda ^\text {g}_{\text {s}} {{\textbf {s}}}\otimes {{\textbf {s}}}+ \lambda ^\text {g}_{\text {n}} {{\textbf {n}}}\otimes {{\textbf {n}}}\) |
32 | compute the inverse of the growth deformation tensor \({{\textbf {F}}}^{\text {g}-1}\) |
33 | compute the mechanical-active deformation gradient tensor \({{\textbf {F}}}^{\text {ma}} = {{\textbf {F}}}\cdot {{\textbf {F}}}^{\text {g}-1}\) |
34 | compute the mechanical-active right Cauchy Green tensor \({{\textbf {C}}}^{\text {ma}} = {{{\textbf {F}}}^{\text {ma}^{{\top }}}} \cdot {\textbf {g}} \cdot {{\textbf {F}}}^{\text {ma}}\) |
35 | compute the mechanical-active second Piola Kirchhoff stress tensor \({{\textbf {S}}}^{\text {ma}}= 2\partial \psi / \partial {{\textbf {C}}}^{\text {ma}}\) |
36 | compute the second Piola Kirchhoff stress tensor \({{\textbf {S}}}= {{\textbf {F}}}^{\text {g}-1}\cdot {{\textbf {S}}}^{\text {ma}}\cdot {{\textbf {F}}}^{\text {g}-{{\top }}} \) |
37 | compute the Lagrangian moduli \({{\textbf {L}}}\) |
38 | apply a push forward to Kirchhoff stresses \({\varvec{\tau }}={{\textbf {F}}}\cdot {{\textbf {S}}}\cdot {{\textbf {F}}}^{{\top }} \) |
39 | apply a push forward to Eulerian moduli \({{\textbf {e}}}= [{{\textbf {F}}}\overline{\otimes }{{\textbf {F}}}]:{{\textbf {L}}}:[{{\textbf {F}}}^{{\top }}\overline{\otimes }{{\textbf {F}}}^{{\top }}]\) |
4.3 Type-selection algorithm
5 Numerical examples
Mechanics | |
passive stress | \(a=0.309\) kPa, \(b=9.194\) [-], \(\kappa =50\) kPa |
\(a_{\text {f}}=12.093\) kPa, \(b_{\text {f}}=20.407\) [-] | |
\(a_{\text {s}}=1.383\) kPa, \(b_{\text {s}}=19.476\) [-] | |
\(a_{\text {fs}}=0.272\) kPa, \(b_{\text {fs}}=12.266\) [-] | |
visco-active stress | \(\mu _{\text {f}}=75.382\) kPa, \(\eta _{\text {f}}=98.157\) kPas |
\(\mu _{\text {s}}=18.874\) kPa, \(\eta _{\text {s}}=59.157\) kPas | |
\(\mu _{\text {n}}=9.37\) kPa, \(\eta _{\text {n}}=29.793\) kPas | |
\(m_{\text {f}}=0\) [-], \(m_{\text {s}}=0\) [-], \(m_{\text {n}}=0\) [-] | |
intracellular calcium concentration | \(k_{1}=0.008\) [-], \(\zeta =0.01\) [-], \(p=3\) [-] |
myocardial contraction | \(k_{2}=0.025\) [-], \(\xi =0.030\) [-], \(q=0.001\) [-] |
Electrophysiology | |
Aliev-Panfilov model | \(\alpha =0.01\) [-], \(b=0.1\) [-], \(c=8\) [-] |
\(\gamma =0.0005\) [-], \(\mu _{1}=0.15\) [-], \(\mu _{2}=0.3\) [-] | |
conduction | \(d_{\text {iso}}=0.5\) mm\(^{2}\)/ms, \(d_{\text {ani}}=5.0\) mm\(^{2}\)/ms |
unit conversion | \(\beta _{\phi }=100\) mV, \(\delta _{\phi }=80\) mV |
\(\beta _{t}=12.9[1-0.006t^{\text {act}}/\text {ms}]\) ms | |
Ventricular pressure | |
isovolumetric-contraction | \(\bar{\kappa }=500\) mmHg/ms |
ejection | \(R_{p}=1\) mmHg ms/mm\(^{3}\) |
\(R_{c}=10^{-3}\) mmHg ms/mm\(^{3}\) | |
\(C_{ap}=800\) mm\(^{3}\)/mmHg | |
isovolumetric-relaxation | \(\bar{\kappa }=500\) mmHg/ms |
filling | \(\bar{\kappa }=-0.05\) mmHg/ms |
switch pressures | \(p_{1}=4\) mmHg, \(p_{2}=67\) mmHg |
Myocardial growth | |
stretch-driven fibre growth | \(\tau ^{\text {u}}_{\text {f}}=4.0\) [-], \(\gamma ^\text {u}_\text {f}= 4.0\) [-], \(\lambda ^{\text {max}}_\text {f}= 1.50\) [-] |
\(\tau ^{\text {d}}_{\text {f}}=2.5\) [-], \(\gamma ^\text {d}_\text {f}= 2.5\) [-], \(\lambda ^{\text {min}}_\text {f}= 0.85\) [-] | |
stress-driven fibre growth | \(\tau ^{\text {u}}_{\text {s}}=4.0\) [-], \(\gamma ^\text {u}_\text {s}= 4.0\) [-], \(\lambda ^{\text {max}}_\text {s}= 1.50\) [-] |
\(\tau ^{\text {d}}_{\text {s}}=2.5\) [-], \(\gamma ^\text {d}_\text {s}= 2.5\) [-], \(\lambda ^{\text {min}}_\text {s}= 0.85\) [-] |