Skip to article frontmatterSkip to article content

Simulating mechanical forces

Authors
Affiliations
Simula Research Laboratory
Simula Research Laboratory

Meshes and microstructure

Cylindrical domain

We consider a cylindrical domain Ω(a,r)=[a,a]×ω(r)\Omega(a, r) = [-a, a] \times \omega(r) with

ω(r)={(y,z)R2:y2+z2<r}\omega(r) = \{ (y, z) \in \mathbb{R}^2 : y^2 + z^2 < r \}

We let a=2000μma = 2000 \mu m and r=300μmr = 300 \mu m and will refer to Ω0\Omega_0 as Ω(300,2000)\Omega(300, 2000)

Cylindrical domain

Figure 1:Cylindrical mesh with a=2000μma = 2000 \mu m and r=300μmr = 300 \mu m

For the cylinder we also define a local coordinate system in the longitudinal (aka fiber) direction

In our case we orient the fibers along the height the cylinder, i.e

f0=(100)\mathbf{f}_0 = \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix}
long

Figure 2:Showing the orientation of the cardiac fibers for the cylinder along the longitudinal direction

In a cylinder there is a natural decomposition into radial and circumferential components. We have the radial basis function given by

er=(0y/(y2+z2)z/(y2+z2))\mathbf{e}_r = \begin{pmatrix} 0 \\ y / (y^2 + z^2) \\ z / (y^2 + z^2) \end{pmatrix}
Radial

Figure 3:Showing the orientation of radial components

and the circumferential basis function given by

ec=(0z/(y2+z2)y/(y2+z2))\mathbf{e}_c = \begin{pmatrix} 0 \\ z / (y^2 + z^2) \\ -y / (y^2 + z^2) \end{pmatrix}
Circ

Figure 4:Showing the orientation of circular components

LV domain

We will also test out an idealized LV domain generated using cardiac-geometries

LV mesh

Figure 5:Idealized LV mesh with width of 1.5 mm, a short axis radius of 4 mm and a long axis radius of 8 mm.

For the LV we also have the rule based fiber orientations

LV fiber

Figure 6:Fiber orientations in the LV with and endo / epi fiber angle of 60/-60.

LV sheet

Figure 7:Sheet orientations in the LV.

LV sheet normal

Figure 8:Sheet-normal orientations in the LV.

Material model

We use the the transversely isotropic version of the Holzapfel Ogden model, i.e

Ψ(F)=a2b(eb(I13)1)+af2bfH(I4f01)(ebf(I4f01)+21)+κ(Jln(J)J+1)\Psi(\mathbf{F}) = \frac{a}{2 b} \left( e^{ b (I_1 - 3)} -1 \right) + \frac{a_f}{2 b_f} \mathcal{H}(I_{4\mathbf{f}_0} - 1) \left( e^{ b_f (I_{4\mathbf{f}_0} - 1)_+^2} -1 \right) + \kappa (J \mathrm{ln}(J) - J + 1)

with

(x)+=max{x,0}(x)_+ = \max\{x,0\}

and

H(x)={1,if x>00,if x0\mathcal{H}(x) = \begin{cases} 1, & \text{if $x > 0$} \\ 0, & \text{if $x \leq 0$} \end{cases}

is the Heaviside function. Here

I1=tr(FTF)I_1 = \mathrm{tr}(\mathbf{F}^T\mathbf{F})

and

I4f0=(Ff0)TFf0I_{4\mathbf{f}_0} = (\mathbf{F} \mathbf{f}_0)^T \cdot \mathbf{F} \mathbf{f}_0

and

J=det(F)J = \mathrm{det}(\mathbf{F})

with f0\mathbf{f}_0 being the direction the muscle fibers.

Material parameters

The material parameter are

ParameterValue
aa2280 Pa
bb9.726
afa_f1685 Pa
bfb_f15.779

Modeling of compressibility

Modeling of active contraction

Similar to Finsberg et. al we use an active strain formulation and decompose the deformation gradient into an active and an elastic part

F=FeFa\mathbf{F} = \mathbf{F}_e \mathbf{F}_a

with

Fa=(1γ)ff+11γ(Iff).\mathbf{F}_a = (1 - \gamma) \mathbf{f} \otimes \mathbf{f} + \frac{1}{\sqrt{1 - \gamma}} (\mathbf{I} - \mathbf{f} \otimes \mathbf{f}).

In these experiments we use γ=0.2\gamma = 0.2 to represent end systole.

Variational formulation

We model the myocardium as incompressible using a two field variational approach and P2P1\mathbb{P}_2-\mathbb{P}_1 finite elements for the displacement u\mathbf{u} and hydrostatic pressure pp. m

The Euler‐Lagrange equations in the Lagrangian form reads: find (u,p)H1(Ω0)×L2(Ω0)(\mathbf{u},p) \in H^1(\Omega_0) \times L^2(\Omega_0) such that for all (δu,δu)H1(Ω0)×L2(Ω0)(\delta \mathbf{u},\delta \mathbf{u}) \in H^1(\Omega_0) \times L^2(\Omega_0) we have

δΠ(u,p)=0.\delta \Pi(\mathbf{u}, p) = 0.

For the cylinder we have

δΠ(u,p)=Ω0[P:δuδp(J1)pJFT:δu]dV+Ω0aΩ0akuδudS\delta \Pi(\mathbf{u}, p) = \int_{\Omega_0}\left[ \mathbf{P} : \nabla \delta \mathbf{u} - \delta p (J - 1) - pJ \mathbf{F}^{-T}: \delta \mathbf{u} \right] \mathrm{d}V + \int_{\partial \Omega_0^{a} \cup \Omega_0^{-a}} k \mathbf{u} \cdot \delta \mathbf{u} \mathrm{d}S

where Ω0a={a}×ω(r) \Omega_0^{a} = \{ a \} \times \omega(r) represents the boundaries at each end of the cylinder. Here we enforce a Robin type boundary condition at both ends of the cylinder with a spring kk. This parameter will be used to represent the loading conditions and we choose k=k= 1 Pa / μm to represent standard loading conditions.

For the left ventricle we have

δΠ(u,p)=Ω0[P:δuδp(J1)pJFT:δu]dV+Ω0epikuδudS+Ω0endoplvJFTNδudS.\delta \Pi(\mathbf{u}, p) = \int_{\Omega_0}\left[ \mathbf{P} : \nabla \delta \mathbf{u} - \delta p (J - 1) - pJ \mathbf{F}^{-T}: \delta \mathbf{u} \right] \mathrm{d}V + \int_{\partial \Omega_0^{\mathrm{epi}}} k \mathbf{u} \cdot \delta \mathbf{u} \mathrm{d}S + \int_{\partial \Omega_0^{\mathrm{endo}}} p_{\mathrm{lv}} J \mathbf{F}^T \mathbf{N} \cdot \delta \mathbf{u} \mathrm{d}S.

Here we enforce a Robin type boundary condition at the epicardium, Ω0epi \Omega_0^{\mathrm{epi}}, with a spring k=0.5k = 0.5 kPa / mm, and an endocardial pressure plvp_{\mathrm{lv}} on the endocardium Ω0endo \Omega_0^{\mathrm{endo}}. In addition we fix the basal plane in the longitudinal direction.

Cauchy stress

The Cauchy stress tensor is given by

σ=J1ΨFFT\sigma = J^{-1} \frac{\partial \Psi }{\partial \mathbf{F}} \mathbf{F}^T

We can extract different components of the Cauchy stress tensor. For example the fiber component can be extracted using the following formula

σff=fTσf\sigma_{ff} = \mathbf{f}^T \cdot \sigma \mathbf{f}

where f\mathbf{f} is the vector field displayed in Figure 6 in the current configuration.

Numerical experiments

Cylinder

For the experiments with the cylinder we simulated two states; one relaxed state and one contracted state. For the contracted state we used γ=0.2\gamma = 0.2

Cylinder varying spring

We tested different values of the spring constant kk, with k=3k = 3 Pa / μm, representing standard load, k=0.1k = 0.1 Pa / μm representing unloaded and k=10k = 10 kPa / μm representing increased load.

spring Diameter

Figure 9:Resulting diameter at the center for the cylinder in relaxed and contracted state for spring constants

spring Length

Figure 10:Resulting length of the cylinder in relaxed and contracted state for spring constants

spring Length

Figure 10:Fractional shortening

spring Strain

Figure 12:Resulting strain the cylinder in the contracted state for different spring constants in the longitudinal ExxE_{xx}, circumferential EcE_{c} and radial ErE_r direction

spring Stress

Figure 13:Resulting stress the cylinder in the contracted state for different spring constants in the longitudinal σxx\sigma_{xx}, circumferential σc\sigma_{c} and radial σr\sigma_r direction

spring Stress

Figure 13:Resulting deviatoric and hydrostatic stress the cylinder in the contracted state for different spring constants in the longitudinal σxx\sigma_{xx}, circumferential σc\sigma_{c} and radial σr\sigma_r direction

Twitch

To simulate twitch we create a syntetic curve for γ,

γ(t)={γmin if t<=t0,γmaxγminβ(ett0τ1ett0τ2)+γmin otherwise\gamma(t) = \begin{cases} \gamma_{\mathrm{min}} & \text{ if } t <= t_0, \\ \frac{\gamma_{\mathrm{max}} - \gamma_{\mathrm{min}}}{\beta} \left( e^{-\frac{t - t_0}{\tau_1}} - e^{-\frac{t - t_0}{\tau_2}} \right) + \gamma_{\mathrm{min}} & \text{ otherwise} \\ \end{cases}

and

β=(τ1τ2)1τ1τ21(τ1τ2)11τ2τ1.\beta = \left(\frac{\tau_1}{\tau_2}\right)^{- \frac{1}{\frac{\tau_1}{\tau_2} - 1}} - \left(\frac{\tau_1}{\tau_2}\right)^{- \frac{1}{1 - \frac{\tau_2}{\tau_1}}}.
cylinder_twitch Diameter

Figure 15:Resulting diameter at the center for the cylinder in relaxed and contracted state for spring constants

cylinder_twitch Length

Figure 16:Resulting length of the cylinder in relaxed and contracted state for spring constants

cylinder_twitch Length

Figure 16:Fractional shortening

cylinder_twitch Stress

Figure 18:Resulting stress the cylinder in the contracted state for different spring constants in the longitudinal σxx\sigma_{xx}, circumferential σc\sigma_{c} and radial σr\sigma_r direction

cylinder_twitch Stress label

Figure 19:Label corresponding to figure Figure 18 showing which regions we average the stress

LV

For the LV we have two different states; one where we have no endocardial pressure (referred to as the unloaded state) and one where we apply an endocardial pressure of 15 kPa (referred to as the loaded state). In both cases we set γ=0.2\gamma = 0.2.

LV strain

Figure 20:Strain in the fiber, sheet and sheet normal direction for the unloaded and loaded state

LV stress

Figure 21:Stress in the fiber, sheet and sheet normal direction for the unloaded and loaded state

LV stress

Figure 21:Stress in the fiber, sheet and sheet normal direction for the unloaded and loaded state

References
  1. Holzapfel, G. A., & Ogden, R. W. (2009). Constitutive modelling of passive myocardium: a structurally based framework for material characterization. Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, 367(1902), 3445–3475. 10.1098/rsta.2009.0091
  2. Finsberg, H., Xi, C., Tan, J. L., Zhong, L., Genet, M., Sundnes, J., Lee, L. C., & Wall, S. T. (2018). Efficient estimation of personalized biventricular mechanical function employing gradient‐based optimization. International Journal for Numerical Methods in Biomedical Engineering, 34(7). 10.1002/cnm.2982