ECCOMAS 2024

Akantu: a finite element code for fracture and contact mechanics

  • Richart, Nicolas (École Polytechnique Fédérale de Lausanne)
  • Anciaux, Guillaume (École Polytechnique Fédérale de Lausanne)
  • Molinari, Jean-François (École Polytechnique Fédérale de Lausanne)

Please login to view abstract download link

Akantu is an open-source finite element library developed in C++. It started in 2010 as a platform for the researchers of the Computational Solid Mechanics Laboratory at École Polytechnique Fédérale de Lausanne to experiment with different methods of resolution for large scale problems of fracture and contact mechanics. As a consequence, the design principles of the code aim to balance readability, extensibility and performance. To achieve this balance, the code is designed as a mixture between two strategies. First, it is object-oriented for the extensibility of high level routines. Second, it uses the structure of arrays paradigm, which allows for performance and vectorization in the critical kernels. The code is also written for distributed memory machines, using state-of-the-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. In addition to the specific design choices made for fracture and contact mechanics simulations, Akantu needs to be extensible enough to implement other classical equations that might be needed in other applications like diffusion mechanisms for heat or liquids, non-local continuum damage, or phase-field. The rapid development of prototypes for new features is made possible through a python interface. All these features make Akantu one of the few open-source finite-element codes suited for large scale dynamic fracture and contact mechanics problems.