Tamaas — A high-performance library for periodic rough surface contact

https://img.shields.io/badge/code-c4science.ch%2Ftag%2Ftamaas-9cf.svg https://zenodo.org/badge/DOI/10.5281/zenodo.3479236.svg https://joss.theoj.org/papers/86903c51f3c66964eef7776d8aeaf17d/status.svg

Tamaas (from تماس meaning “contact” in Arabic and Farsi) is a high-performance rough-surface periodic contact code based on boundary and volume integral equations. The clever mathematical formulation of the underlying numerical methods (see e.g. 10.1007/s00466-017-1392-5 and arXiv:1811.11558) allows the use of the fast-Fourier Transform, a great help in achieving peak performance: Tamaas is consistently two orders of magnitude faster (and lighter) than traditional FEM! Tamaas is aimed at researchers and practitioners wishing to compute realistic contact solutions for the study of interface phenomena.

Library overview

Tamaas is mainly composed of three components:

  • Random surface generation procedures

  • Model state objects and operators

  • Contact solving procedures

These parts are meant to be independent as well as inter-operable. The first one provides an interface to several stochastic surface generation algorithms described in Random rough surfaces. The second provides an interface to a state object Model (and C++ class tamaas::Model) as well as integral operators based on the state object (see Model and integral operators). Finally, the third part provides contact solving routines that make use of the integral operators for performance (see Solving contact).

Seeking help

You can ask your questions on c4science using this form. If you do not have an account, you can create one here.



To contribute code to Tamaas, you can use Arcanist to send code differentials. In a nutshell, the process to contribute is:

  1. Create a branch for the modifications you wish to submit

  2. Work on your branch (commits + run tests)

  3. arc diff to send your code for review

  4. Commit any requested changes

  5. arc diff to send your modifications

For reviewers:

  1. Checkout a code differential using arc patch D???

  2. Accept the code differential on c4science.

  3. arc land to merge the differential

  4. Profit with arc anoid

Bug reports

You can also contribute to Tamaas by reporting any bugs you find here if you have an account on c4science.

Indices and tables