Solving Contact Mechanics Problems With Tamaas

Guillaume Anciaux

After the experience with Akantu following LMSM's philosophy, Tamaas was conceived open from the start

Guillaume Anciaux, IIC-LSMS

What is the project about?

Tamaas is a C++ library with a Python interface to efficiently solve contact mechanics problems with periodic rough surfaces, plasticity, adhesion and friction using the boundary element method.  It provides access to random rough surface generation procedures, statistical tools and a variety of contact algorithms.

Through its Python interface it exposes the accelerated linear operators it uses to compute equilibrium solutions, making prototyping new algorithms more convenient. The tool is versatile as it allows fast resolutions to be conducted, especially for academic fundamental studies of surfaces where concepts like power laws and physical properties need extremely fine discretizations (using several millions of degrees of freedom).

Image from an elastic-plastic contact simulation from the publication on the Journal of Open Science for Tamaas

Why Open?

The main target are academic applications, so it made sense to make the project Open, which is also an incentive to do things that are reusable from the very beginning. In addition it gives more visibility to the code and to the community. 

A publication in the Journal of Open Source Software was also part
of the open-science steps as even reviews and discussions during the publishing process are publicly available. In this remarkable journal, the editors and reviewers were actively involved in checking that proper tests are in place and that the documentation and examples are well written.

Because the project was funded by public money and is being developed by public researchers, it makes sense that general users should not have to pay for accessing such a tool. On top of that, scientists can check the code behind the produced results, as opposed to having a “black box” type of calculation.

Who benefits from it? 

Tamaas is aimed at researchers and practitioners wishing to compute realistic contact solutions for the study of interface phenomena, to study physical properties and fundamentals on surface properties. The main users are therefore academics and colleagues willing to reproduce results. Hence, Tamaas needs some coding to be run, which is a limitation for a more widespread use in the industry.

Still, several projects issued by industrial partners may benefit from
Tamaas’ ability to capture how surface textures affect contact
properties. Tamaas could actually become a mainstream software for industry dealing with surfaces, but the developer team is currently focusing on improving the tool possibilities, allowing to stay competitive in the academic ecosystem. This leaves aside the task of making Tamaas equipped with a user-friendly interface. Developing both aspects would be a challenge requiring extra resources.


How did you make it Open Software? 

We started with the project in c4science and it is now in GitLab, where we do continuous integration, examples, tests and documentation are following open-source highest standards.

The code was mainly designed by Lucas Frérot and Guillaume Anciaux. All the latest coding was achieved by Dr. Frérot, which includes cleaning of the code, creation of all the examples, documentation. He also was leading the writing of the JOOS paper.

Tamaas is an ongoing project that is still evolving thanks to the work of our lab and the community behind it. 


LSMS would like to acknowledge the financial support of the Swiss National Science Foundation for this project (grants #162569 “Contact mechanics of rough surfaces” and #191720 “Tribology of Polymers: from Atomistic to Continuum Scales”).


Contact: Guillaume Anciaux