EndoBeams.jl: A Julia finite element package for beam-to-surface contact problems in cardiovascular mechanics. (September 2022) - Bisighini, Beatrice; Aguirre, Miquel; Pierrat, Baptiste; Perrin, David; Avril, Stéphane
Highlights: Novel implementation in Julia of an efficient finite element modelling framework for the numerical simulation of frictional contact interactions between beams and rigid surfaces; Contact surface represented by discrete Signed Distance Field, predefined in 3D background mesh; Evaluation of code robustness and computational speed by comparison with the original Matlab code and the commercial software Abaqus; Introduction of additional mechanical contributions to model constraints and viscous damping; Cardiovascular application simulating the deployment of a braided stent within an idealized artery. Abstract: The increasing use of mini-invasive and endovascular surgical techniques is at the origin of the pressing need for computational models to support planning and training. Several implantable devices have a wire-like structure, which can be modelled using beam elements. Our objective is to create an efficient Finite Element (FE) modelling framework for such devices. For that, we developed the EndoBeams.jl package, written exclusively in Julia, for the numerical simulation of contact interactions between wire-like structures and rigid surfaces. The package is based on a 3D FE corotational formulation for frictional contact dynamics of beams. The rigid target surface is described implicitly using a signed distance field, predefined in a volumetric grid. Since the main objective behind this package is to find the best compromise between computational speed and code readability, the algorithm, originally in Matlab, was translated and optimised in Julia, a programming language designed to combine the performance of low-level languages with the productivity of high-level ones. To evaluate the robustness, a set of tests were conducted to compare the simulation results and computational time of EndoBeams.jl against literature data, the original Matlab code and the commercial software Abaqus. The tests proved the accuracy of the underlying beam-to-surface formulation and showed the drastic performance improvement of the Julia code with respect to the original one. EndoBeams.jl is also slightly faster than Abaqus. Finally, as a proof of concept in cardiovascular medicine, a further example is shown where the deployment of a braided stent is simulated within an idealised artery.