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
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
The following tutorial notebooks can also be used to learn about Tamaas:
The changelog can be consulted here.
Contributions to Tamaas are welcome, whether they are code, bug, or documentation related.
To contribute code to Tamaas, you can use Arcanist to send code differentials. In a nutshell, the process to contribute is:
Create a branch for the modifications you wish to submit
Work on your branch (commits + run tests)
arc diffto send your code for review
Commit any requested changes
arc diffto send your modifications
Checkout a code differential using
arc patch D???
Accept the code differential on c4science.
arc landto merge the differential