Table of Contents
Fetching ...

The lifex library version 2.0

Michele Bucelli

TL;DR

lifex addresses scalable finite element simulations of multiphysics and multiscale problems. The 2.0 release introduces non-matching mesh data transfer via radial basis function interpolation, faster point localization with R-tree based DoF locators, and expanded support for 1D/2D and mixed-dimensional problems, along with a streamlined checkpointing and IO system. It also extends core features to cardiac-related modules and provides new examples (e.g., InterfaceCoupling2D3D, ExampleRBFInterpolation) to demonstrate the workflow and scalability. Overall, these updates enhance usability, robustness, and performance for large-scale multiphysics simulations and heterogeneous domain coupling.

Abstract

This article presents updates to lifex [Africa, SoftwareX (2022)], a C++ library for high-performance finite element simulations of multiphysics, multiscale and multidomain problems. In this release, we introduce an additional intergrid transfer method for non-matching multiphysics coupling on the same domain, significantly optimize nearest-neighbor point searches and interface coupling utilities, extend the support for 2D and mixed-dimensional problems, and provide improved facilities for input/output and simulation serialization and restart. These advancements also propagate to the previously released modules of lifex specifically designed for cardiac modeling and simulation, namely lifex-fiber [Africa et al., BMC Bioinformatics (2023)], lifex-ep [Africa et al., BMC Bioinformatics (2023)] and lifex-cfd [Africa et al., Computer Physics Communications (2024)]. The changes introduced in this release aim at consolidating lifex's position as a valuable and versatile tool for the simulation of multiphysics systems.

The lifex library version 2.0

TL;DR

lifex addresses scalable finite element simulations of multiphysics and multiscale problems. The 2.0 release introduces non-matching mesh data transfer via radial basis function interpolation, faster point localization with R-tree based DoF locators, and expanded support for 1D/2D and mixed-dimensional problems, along with a streamlined checkpointing and IO system. It also extends core features to cardiac-related modules and provides new examples (e.g., InterfaceCoupling2D3D, ExampleRBFInterpolation) to demonstrate the workflow and scalability. Overall, these updates enhance usability, robustness, and performance for large-scale multiphysics simulations and heterogeneous domain coupling.

Abstract

This article presents updates to lifex [Africa, SoftwareX (2022)], a C++ library for high-performance finite element simulations of multiphysics, multiscale and multidomain problems. In this release, we introduce an additional intergrid transfer method for non-matching multiphysics coupling on the same domain, significantly optimize nearest-neighbor point searches and interface coupling utilities, extend the support for 2D and mixed-dimensional problems, and provide improved facilities for input/output and simulation serialization and restart. These advancements also propagate to the previously released modules of lifex specifically designed for cardiac modeling and simulation, namely lifex-fiber [Africa et al., BMC Bioinformatics (2023)], lifex-ep [Africa et al., BMC Bioinformatics (2023)] and lifex-cfd [Africa et al., Computer Physics Communications (2024)]. The changes introduced in this release aim at consolidating lifex's position as a valuable and versatile tool for the simulation of multiphysics systems.

Paper Structure

This paper contains 11 sections, 3 figures, 1 table.

Figures (3)

  • Figure 1: The lifex logo. Image licensed under the CC-BY-SA 4.0 license.
  • Figure 2: Performance of the new DoFLocator class compared to the old find_closest_dof function. (a) Wall time against the number of mesh points, for 100.0 repeated queries, using one parallel process. DoFLocator, both with and without R-trees, is close to 100.0 times faster than the old function. (b) Computational time against number of queries, for a mesh with 274625.0 vertices, using one parallel process. The advantage of R-trees becomes evident as the number of queries increases. (c) Nearly ideal parallel speedup of a strong scalability study, with 100.0 repeated queries on a mesh with 2146689.0 vertices.
  • Figure 3: (a) Strong scalability of the function compute_interface_maps, that establishes a mapping between the interface DoF of two domains with a common boundary. This test couples a surface and a volume problem, with 1049601.0 and 135398529.0 DoF, respectively, and 1049601.0 interface DoF. (b) Example of coupling a surface and a volume problem through their common interface, as implemented by the new example InterfaceCoupling2D3D. We first solve a Laplace-Beltrami problem on a portion of the domain's boundary (top), and then solve a Laplace problem in the whole domain (bottom), with Dirichlet conditions taken from the surface problem. Atrial model taken from ferrer2015detailed.