Unloading
Module: tutorials.04_EM_tissue.03_unloading.run
Section author: Matthias Gsell <matthias.gsell@medunigraz.at>
Calculate the unloaded reference geometry from a known mesh configuration under loading.
Patient-specific models for numerical simulations of the cardiovascular system are mainly based on medical imaging techniques such as X-ray computed tomography (CT) or magnetic resonance imaging (MRI). But at the moment of the medical image acquisition, a physiological pressure load is present. When using the in vivo obtained patient-specific model, this model does not correspond to the unloaded configuration. Thus, we need a suitable algorithm to determine the unloaded configuration from the in vivo model and from the present physiological pressure.
For our purpose, we use a backward displacement method described in [Bols2013] which is based on a fixed-point iteration. Before we describe the method, we make some definitions. We denote by the stress free reference configuration which is yet unknown. The first argument denotes the material coordinates and the second argument corresponds to stress ( which is zero ) of the unloaded configuration. A simple forward computation leads to the equilibrium configuration , with the coordinates of the deformed geometry and the second-prder stress tensor . This configuration results from a pressure load applied at the inner surface of the undeformed configuration, i.e.
with the outer normal vector , and at the outer surface. See figure Fig. 135.
We write
where is an appropriate forward solver. The deformation is then defined by the mapping .
We denote the measured geometry and the measured pressure load by and respectively. Then the backward problem is as follows.
Find the in vivo configuration which is unknown since just is known, and which is in equilibrium. Therefore, we have to find the corresponding unloaded configuration such that
where denotes the unknown unloaded reference geometry which can be written as .
The backward displacement method then reads as follows.
To run a simple ring example just run the command
./run.py --meshtype ring --pressure 4.0 --fast --visualize
where the parameter meshtype specifies the mesh and pressure is the
pressure to unload from. The visualize flag runs meshalyzer and shows
the result. For further information / help on the arguments and flags see below, to get the full
help run ./run.py --help
.
-h, --help show this help message and exit
--pressure PRESSURE End diastolic pressure to unload from ( in kPa )
(default: 1.5kPa for ring/ellipsoid, 5kPa for cube)
--np NP number of processes
--meshtype TYPE choose the mesh type,
choices = {cube,ring,ellipsoid}
--dimension DIMENSION choose the inner diameter of the mesh cavity, or the
side length in the case of a cube ( in mm )
--fast set resolution and material (example specific) to
fast-solving values
--resolution RES set target mesh resolution ( in mm )
--material TYPE choose the material model
choices = {mooneyrivlin, linear, neohookean, holzapfelogden,
demiray, anisotropic, holzapfelarterial,
stvenantkirchhoff, guccione}
--parameters PRM=VAL [PRM=VAL ...] set material model parameters
MATERIAL PARAMETERS:
mooneyrivlin { kappa, c_1, c_2 }
linear { E, lmbda, mu, nu }
neohookean { kappa, c }
holzapfelogden { kappa, a, a_f, a_fs, a_s, b, b_f, b_fs, b_s }
demiray { kappa, a, b }
anisotropic { kappa, a_f, b_f, c }
holzapfelarterial { kappa, c, k_1, k_2 }
stvenantkirchhoff { lmbda, mu }
guccione { kappa, b_f, b_fs, b_t, a }
In this section we want to present two examples to which the algorithm was applied. The black wireframe shows the initial geometry.
References
[Bols2013] | Bols, J. and Degroote, J. and Trachet, B. and Verhegghe, B. and Segers, P. and Vierendeels, J., A computational method to assess the in vivo stresses and unloaded configuration of patient-specific blood vessels (2013), Journal of computational and Applied mathematics, Volume 246 |