Details
- Tag
- Luo_Ji
Tamaas is a C++/Python library that implements a number of numerical methods based on integral equations to efficiently solve contact problems with rough surfaces. The word تماس (tamaas) means "contact" in Arabic and Farsi.
Here is a list of dependencies for Tamaas:
Optional dependencies are:
Note that a Debian distribution should have the right packages for all these dependencies (they package the right version of thrust extracted from CUDA in stretch-backports non-free and buster non-free).
You should first clone the git submodules that are dependencies to tamaas (expolit, pybind11 and googletest):
git submodule update --init --recursive
The build system uses SCons. In order to compile Tamaas with the default options:
scons
After compiling a first time, you can edit the compilation options in the file build-setup.conf, or alternatively supply the options directly in the command line:
scons option=value [...]
To get a list of all build options and their possible values, you can run scons -h. You can run scons -H to see the SCons-specific options (among them -j n executes the build with n threads and -c cleans the build). Note that the build is aware of the CXX and CXXFLAGS environment variables.
Once compiled, you can install the python module with pip (preferably in a virtual environment):
pip install -e build-release/python
Check that everything is working fine with:
python3 -c 'import tamaas; print(tamaas)'
To run tests, execute pytest build-<build_type> if you have compiled Tamaas with tests activated (scons build_tests=True use_googletest=True).
To build the documentation, activate the build_doc option. The compiled indexes for the doxygen C++ API and Sphinx documentation can be found in doc/build/{doxygen,sphinx}/html/index.html.
Example simulations can be found in the examples/ directory. There is no guarantee that the examples in examples/legacy/ all work however.
Please cite Tamaas as:
Frérot, L., Anciaux, G., Rey, V., Pham-Ba, S., J.-F., Molinari (2019). Tamaas, a high-performance library for periodic rough surface contact, doi:10.5281/zenodo.3479237.
If you use the elastic-plastic contact capabilities of Tamaas, please cite:
Frérot, L., Bonnet, M., Molinari, J.-F. & Anciaux, G. A Fourier-accelerated volume integral method for elastoplastic contact. Computer Methods in Applied Mechanics and Engineering 351, 951–976 (2019) doi:10.1016/j.cma.2019.04.006.
If you use the adhesive contact capabilities of Tamaas, please cite:
Rey, V., Anciaux, G. & Molinari, J.-F. Normal adhesive contact on rough surfaces: efficient algorithm for FFT-based BEM resolution. Comput Mech 1–13 (2017) doi:10.1007/s00466-017-1392-5.
Tamaas is distributed under the terms of the GNU Affero General Public License v3.0.