PyAnsys Heart overview#
This overview describes key techniques in cardiac modeling and provides a list of references. It assumes that you have a basic knowledge of LS-DYNA usage. For a comprehensive understanding of the modeling process, see the LS-DYNA manuals.
Anatomy generation#
PyAnsys Heart supports generating electrophysiology, electro-mechanical, and mechanical models from 24 pathological (Strocchi et al.) and 20 healthy (Rodero et al.) hearts.
Note
Input CASE and VTK files for both repositories are available in these publications on the Zenodo website:
These VTK and CASE files are processed into a compatible input format where the naming and IDs of the surfaces are inferred from the part IDs and consequently written to an input VTP file and JSON file. These input files are then further processed into a HeartModel that contains the various relevant anatomical features (left ventricle, right ventricle, endo- and epicardium, and cavities). This HeartModel is a Python object that then has physics added processed before being exported as an LS-DYNA model.
Some anatomical details are difficult to capture with medical imaging techniques but are crucial for physical simulations. Fortunately, some rule-based methods proposed in the literature are included in PyAnsys Heart.
- Conduction System
Atrial fibers can be generated by a rule-based method published in Piersanti et al.. Unlike ventricular fibers, which rely on the keyword
*EM_EP_CREATEFIBERORIENTATION
in LS-DYNA, this algorithm is implemented in PyAnsys Heart by solving multiple (thermal) Laplace’s equations in LS-DYNA.
- UHC
A consistent UHC (Universal Heart Coordinates) system can be convenient for landmark determination, data transferring, and more. A universal ventricular coordinate system presented in Bayer et al.2 is implemented. A universal coordinate system for atria, as presented in Roney et al., is to be implemented.
Electrophysiology#
PyAnsys Heart provides three options for cardiac electrophysiology modeling (electrical propagation) in the
simulator.settings.settings.epanalysis.solvertype
API:
Monodomain
(*EM_CONTROL
with EMSOL=11 in LS-DYNA)Eikonal` (``*EM_CONTROL
with EMSOL=14 in LS-DYNA)ReactionEikonal
model (*EM_CONTROL
with EMSOL=15 in LS-DYNA)
General descriptions follow for these and other models:
- Monodomain
The Monodomain model, a reaction-diffusion model, is a simplification of the Bidomain model Potse et al.. In LS-DYNA, the passive electrical material properties (electrical conductivity, membrane capacitance, and surface/volume ratio) corresponding to the Monodomain model are set in
*EM_MAT_003
for the myocardium and*EM_MAT_001
for the beams of the conduction system. These are to be completed with active properties using a cell model. For more information, see the “cell model” entry.Note
LS-DYNA offers the possibility of using the Bidomain model, Monodomain model, or a mix of both of these models. However, PyAnsys Heart exposes only the Monodomain model currently.
- Eikonal
The Eikonal model does not use a cell model but only computes the activation time. The passive electrical material properties are set with
*EM_MAT_003
for 3D tissue and*EM_MAT_001
for the beams of the conduction system.
- Reaction Eikonal
The Reaction Eikonal model first computes the activation time on each node, and then it assigns action potential curves to each node with a time delay that corresponds to the activation time. Passive properties are the same as those for the pure Eikonal model.
- Cell model
The cell model used in PyAnsys Heart is the TenTusscher et al. model. Other models to be added in the future. When UHCs are computed, the transmural coordinate is used to distinguish between endo-, epi-, and mid- myocardium layers using the corresponding version of the TenTusscher model.
Note
LS-DYNA supports other cell models and user-defined models. For more information, see the
*EM_EP
collection of keywords in the LS-DYNA manuals.
- Stimulation
Tissue stimulation is set by default on the SA node in a four-chamber model and in the left and right apex in case of a left ventricle or biventricular model. However, you can define your own stimulation origin and profile.
Mechanics#
Descriptions follow for key elements in cardiac mechanical models, along with their default options in PyAnsys Heart.
- Material
Cardiac tissue mechanics is modeled using MAT_295, which consists of two components: passive and active. By default, the passive component is represented by the Holzapfel-type model for both isotropic and anisotropic properties. For the active component, the Guccione model (ACTYPE=1) is used for mechanical models, while the Hunter model (ACTYPE=3) is employed for electromechanical models.
- Boundary conditions
Boundary conditions are considered following the approach presented in Strocchi et al.. Robin-type conditions are applied at the heart’s valve regions, depending on the specific model constructed. Additionally, the pericardium’s effect is accounted for by adding springs and dampers at the epicardium. For the ventricles, the stiffness of springs is scaled from different locations to constrain the motion primarily at the apex region.
- Circulation model
Many papers have described the coupling between 3D heart models and 0D circulation models, such as those by Agustin et al.. LS-DYNA uses
CONTROL_VOLUME
related keywords to achieve this coupling. By default, PyAnsys Heart provides a simple open-loop model. Specifically, a two-element Windkessel model is applied to the left and right ventricle. If atria are present, atrioventricular valves are represented by a diode model, and a constant venous inflow is set for both atria. If no atrium is present, a constant venous pressure (preload) is set.
- Stress free configuration
It is assumed that the input geometry is in the state of end-diastole. To account for the initial stress from the end-diastolic pressure, the stress-free configuration is computed using the keyword
*CONTROL_REFERENCE_CONFIGURATION
. Then, the pressure is reapplied to the stress-free geometry, and a virtual end-diastolic mesh with the initial stress is exported. This mesh and initial stress is subsequently used in the final simulation.
References#
Agustin et al.: Augustin, Christoph M., et al. “A computationally efficient physiologically comprehensive 3D-0D closed-loop model of the heart and circulation.” Computer methods in applied mechanics and engineering 386 (2021): 114092.
Bayer et al.: Bayer, J.D., Blake, R. C., Plank, G., and Trayanova, N. A., “A novel rule-based algorithm for assigning myocardial fiber orientation to computational heart models,” Annals of biomedical engineering, 40(10), 2243-2254 (2012)
Bayer et al.2: Bayer, Jason, et al. “Universal ventricular coordinates: A generic framework for describing position within the heart and transferring data.” Medical image analysis 45 (2018): 83-93.
Costabal et al.: Costabal, Francisco Sahli, Daniel E. Hurtado, and Ellen Kuhl. “Generating Purkinje networks in the human heart.” Journal of biomechanics 49.12 (2016): 2455-2465.
Piersanti et al.: Piersanti, Roberto, et al. “Modeling cardiac muscle fibers in ventricular and atrial electrophysiology simulations.” Computer Methods in Applied Mechanics and Engineering 373 (2021): 113468.
Potse et al.: Potse, M., Dube, B., Richer, J., Vinet, A., Gulrajani, R.: A comparison of monodomain and bidomain reaction-diffusion models for action potential propagation in the human heart. IEEE Transactions on Biomedical Engineering 53(12), 2425- 2435 (dec 2006).
Rodero et al.: Rodero, C., et al. (2021). Virtual cohort of adult healthy four-chamber heart meshes from CT images. In PLOS Computational Biology (1.0.0).
Roney et al.: Roney, Caroline H., et al., “Universal atrial coordinates applied to visualisation, registration and construction of patient specific meshes.” Medical image analysis 55 (2019): 65-75.
Strocchi et al.: Strocchi, Marina, et al. “Simulating ventricular systolic motion in a four-chamber heart model with spatially varying robin boundary conditions to model the effect of the pericardium.” Journal of Biomechanics 101 (2020): 109645.
TenTusscher et al.: Ten Tusscher, K. H., & Panfilov, A. V. (2006). Alternans and spiral breakup in a human ventricular tissue model. American Journal of Physiology-Heart and Circulatory Physiology, 291(3), H1088-H1100.