# 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).

## Tutorials¶

The following tutorial notebooks can also be used to learn about Tamaas:

## Citations¶

Tamaas is the fruit of a research effort. To give proper credit to its creators and the scientists behind the methods it implements, you can use the tamaas.utils.publications() function at the end of your python scripts. This function scans global variables and prints the relevant citations for the different capabilities of Tamaas used. Note that it may miss citations if some objects are not explicitly stored in named variables, so please examine the relevant publications in 10.21105/joss.02121.

## Changelog¶

The changelog can be consulted here.

## Seeking help¶

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

## Contribution¶

Contributions to Tamaas are welcome, whether they are code, bug, or documentation related.