Akantu: an HPC finite-element library for contact and dynamic fracture simulations

the heart of modern research in mechanics of materials. For example, the buildup and release of elastic energy at geological fault is what causes earthquakes, and the intricate details of the slip zone, the propagation of slip fronts and waves radiated through the various geological media are still active areas of research

causes earthquakes, and the intricate details of the slip zone, the propagation of slip fronts and waves radiated through the various geological media are still active areas of research (Kammer et al., 2012(Kammer et al., , 2014;;Roch et al., 2022).Similarly, understanding fracture in heterogeneous materials such as concrete, masonry or ceramics necessitates the modeling of interaction of crack fronts with complex materials (A. I. Cuba Ramos et al., 2018;Taheri Mousavi et al., 2015;Yilmaz et al., 2017), the representation of residual shear stresses in the contact of newly-formed crack surfaces (Pundir & Anciaux, 2021;Zhang et al., 2017), and the accurate characterization of transient dynamics (Corrado & Molinari, 2016;Vocialta et al., 2018) and material structure evolution (A. I. Cuba Ramos et al., 2018;Gallyamov et al., 2020).
The finite-element method is now ubiquitous in virtually all areas of solid mechanics.With meticulous care on code architecture and performance, we show that our finite-element library Akantu can handle the requirements mentioned above for state-of-the-art research in mechanics of materials.Akantu is designed from the ground up for high-performance, highly distributed computations, while retaining the necessary flexibility to handle: • crack propagation with cohesive elements • non-local damage models • plastic and visco-plastic constitutive laws • large deformations • contact constraints (including rate and state friction) • interaction between contact and cohesive elements (residual crack shear strength)

Statement of need
Understanding the interplay between material constitutive behavior and interface processes such as crack propagation, contact and friction is fundamental to a number of application domains.Thanks to its versatility, the finite-element method (FEM) has become an essential tool in these areas.However, codes that can handle cutting edge simulations with interaction of material behavior and interface processes in a high-performance computing (HPC) setting are rare, particularity in the open-source space.Being able to simulate the aforementioned interface processes in an efficient manner is the primary raison d'être of Akantu.Even though Akantu is meant to be a generic FEM library, the physics currently implemented, all serve the goal to get a better understanding of fracture, contact and friction mechanism at a continuum scale.At its heart, Akantu leverages a SOA (structure of array) architecture in order to take advantage of an object-oriented high-level abstraction, and maintains performance in the critical areas of the code.In addition, Akantu benefits from distributed memory parallelization using state-ofthe-art domain decomposition methods.A distinguishing feature is its communication strategy, which relies on a layer of ghost elements instead of the more conventional ghost nodes.This choice simplifies the implementation of algorithms involving topological changes of the meshes in parallel, such as the dynamic insertion of cohesive elements.Figure 1  Akantu differs from other existing codes in its ability to combine fracture dynamics and contact mechanics by introducing new free surfaces through cohesive elements insertion strategy.Other open-source parallel finite-element codes are capable of performing fracture and/or contact mechanics simulations: among others, the most well-known that can be cited are deal.II (Arndt et al., 2023), FEniCS (Baratta et al., 2023), GetFEM (Renard & Poulios, 2021), MFEM (Anderson et al., 2021), MoFEM (Kaczmarczyk et al., 2020), Moose (Lindsay et al., 2022), OOFEM (Patzák, 2012).These codes can do fracture mechanics through continuum damage modeling, phase-field and in some cases, X-FEM.Some of them implement traction-separation laws (cohesive elements) by means of a discontinuous Galerkin formulation.Only a subset of these codes is capable of performing contact mechanics computations.If we consider the dynamic insertion of cohesive elements, which avoids the burden of having interface elements pre-inserted everywhere and allows representing explicitly the newly formed cracked surfaces, there is only one other code capable of doing such simulations in parallel (Espinha et al., 2013), to our best knowledge.However this package is not distributed as open-source software.

Scaling analysis
High performance and scalability is a necessity for the resolution of fracture and contact simulations.To illustrate the possibilities offered by Akantu, a 3D simulation is presented where a cube composed of 4'392'180 tetrahedra and 734'594 nodes is being compressed and sheared (cf Figure 2).This simulation only serves to demonstrate how Akantu behaves in a situation where massive fragmentation takes place: about 460'000 cohesive elements are inserted during the run.The code, material and mesh files to reproduce the study can be found on Zenodo (Nicolas Richart, 2024).This simulation was run on 1 to 720 cores, on a cluster composed of Intel Xeon nodes with two sockets of 36 cores, 512Gb of RAM and dual 25Gb Ethernet links.The time to solution (TTS) averaged over six different runs is computed for each core count on the -axis in Figure 3.The overhead due to cohesive element insertion is also highlighted by providing the TTS when cohesive element insertions are precluded.When cohesive element insertion is not active, (cf. Figure 3 'no insertion'), the time to solution scales well up to ~576 cores.The simulations are running on a newly installed machine and the impact of the network on the loss of scalability is not fully understood, the min and max measures vary a lot after 288 cores (four nodes).The scalability with insertion of cohesive elements (Figure 3 'insertion') decreases, and starts to plateau at around 288 cores: this is due to the extra communications needed to change the topology of the mesh.Roch et al. (2022), Gallyamov, Leemann, et al. (2022), Gallyamov, Shakoorioskooie, et al. (2022), and Gallyamov et al. (2023).

Figure 1 :
Figure 1: Dynamic fragmentation of a tempered glass pane using cohesive elements.
taken fromVocialta et al. (2018) illustrates the usage of cohesive elements to simulate the dynamic fragmentation of tempered glass panes.

Figure 3 :
Figure 3: Time to solution with and without cohesive insertion.