When two objects interact, a contact may occur. Such interactions are present in countless applications, ranging from car tires on roads and human joints during movement to robotic grippers handling objects. That is why understanding and simulating contact is essential in many fields of engineering.
Despite advances in computing power and numerical methods, contact remains one of the most challenging problems for many reasons. For example, small changes in how surfaces touch, separate, or slide relative to each other can have a significant impact on the results. Additionally, the exact contact area is often unknown beforehand and must be determined during the simulation itself.
One of the most widely used approaches to dealing with such problems is the Finite Element Method. Established commercial software packages provide powerful tools that allow engineers and researchers to solve highly complex contact problems. However, from the user’s perspective, these programs are often black boxes, making it difficult to understand how different numerical methods work or why a simulation sometimes fails. As a result, users may struggle to identify the strengths and limitations of different contact formulations or find a suitable numerical strategy.
The FEABody-ContactLab project, available on GitHub, focuses on the development of an open and extensible computational framework for contact mechanics simulations.
Currently MATLAB-based, it integrates classical constraint-enforcement techniques, including the penalty method, Lagrange multipliers, and augmented Lagrangian approaches, and presents their implementation in a clear and accessible form. The framework also includes more advanced techniques, such as Nitsche’s method and related formulations, together with supporting derivations and implementation descriptions.
Its open structure allows users to examine the individual steps of the numerical procedures and gain a deeper understanding of the implemented approaches. At the same time, its modular design makes it possible to introduce new methods and compare them directly with existing ones. To maintain simplicity and transparency, the project focuses exclusively on two-dimensional problems and currently employs a single Q4 finite-element type, whose behavior, advantages, and limitations are well understood. This makes the framework particularly suitable for education, numerical experimentation, and systematic comparison of contact methods.
The framework also provides different strategies for selecting contact points and evaluating the contact interface. In addition, users can choose between different approaches to numerical differentiation. These options make it possible to investigate how individual numerical choices affect accuracy, stability, convergence, and computational performance. Rather than providing another general-purpose finite element package, FEABody-ContactLab aims to provide a transparent environment in which contact algorithms can be understood, modified, tested, and compared. In this way, the project can serve both as an educational tool and as a platform for the development and evaluation of new numerical approaches to contact mechanics.
Leonid Obrezkov sai Fuugin säätiöltä 5 000 euron apurahan avoimen MATLAB-pohjaisen kontaktimekaniikan simulointikehyksen kehittämiseen.
Fuugin säätiö jakaa apurahoja avointen tietojärjestelmien ja avoimen lähdekoodin ohjelmistojen kehittämiseen liittyvään työhön. Säätiön jatkuvaan apurahahakuun voi jättää hakemuksen milloin tahansa. Sama hakija tai hanke voi myös hakea avustusta useita kertoja.