Metadata-Version: 2.1
Name: ContactMechanics
Version: 1.2.0
Summary: Efficient contact mechanics using elastic half-space methods
Author-email: Till Junge <till.junge@altermail.ch>, Lars Pastewka <lars.pastewka@imtek.uni-freiburg.de>, Antoine Sanner <antoine.sanner@imtek.uni-freiburg.de>
Requires-Python: >=3.8.0
Description-Content-Type: text/markdown
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python
Requires-Dist: numpy
Requires-Dist: scipy>=1.9.0
Requires-Dist: NuMPI>=0.4.0
Requires-Dist: muSpectre>=0.25.1
Requires-Dist: SurfaceTopography>=1.12.2
Requires-Dist: netCDF4
Requires-Dist: sphinx ; extra == "docs"
Requires-Dist: sphinx-rtd-theme ; extra == "docs"
Requires-Dist: myst_nb ; extra == "docs"
Requires-Dist: numpydoc ; extra == "docs"
Requires-Dist: flake8<5 ; extra == "test"
Requires-Dist: pytest ; extra == "test"
Requires-Dist: pytest-cov ; extra == "test"
Requires-Dist: pytest-flake8 ; extra == "test"
Requires-Dist: runtests ; extra == "test"
Project-URL: changelog, https://github.com/ContactEngineering/ContactMechanics/blob/master/ContactMechanics/ChangeLog.md
Project-URL: documentation, https://contactengineering.github.io/ContactMechanics/
Project-URL: repository, https://github.com/ContactEngineering/ContactMechanics
Provides-Extra: docs
Provides-Extra: test

ContactMechanics
==============

*Contact mechanics with Python.* This code implements computation of contact geometry and pressure of a rigid object on a flat elastic half-space. All calculations assume small deformations; in that limit, the contact of any two objects of arbitrary geometry and elastic moduli can be mapped on that of a rigid indenter on an elastic flat.

The methods that are implemented in this code are described in various papers:

- Fast-Fourier transform (FFT) for the computation of elastic deformation of periodic substrates.
    - [Stanley, Kato, J. Tribol. 119, 481 (1997)](https://doi.org/10.1115/1.2833523)
    - [Campana, Müser, Phys. Rev. B 74, 075420 (2006)](https://doi.org/10.1103/PhysRevB.74.075420)
    - [Pastewka, Sharp, Robbins, Phys. Rev. B 86, 075459 (2012)](https://doi.org/10.1103/PhysRevB.86.075459)
- Decoupling of images for non-periodic calculation with the FFT.
    - Hockney, Methods Comput. Phys. 9, 135 (1970)
    - [Liu, Wang, Liu, Wear 243, 101 (2000)](https://doi.org/10.1016/S0043-1648(00)00427-0)
    - [Pastewka, Robbins, Appl. Phys. Lett. 108, 221601 (2016)](https://doi.org/10.1063/1.4950802)
- Fast solution of nonadhesive, hard-wall interactions.
    - [Polonsky, Keer, Wear 231, 206 (1999)](https://doi.org/10.1016/S0043-1648(99)00113-1)
- Contact plasticity.
    - [Almqvist, Sahlin, Larsson, Glavatskih, Tribol. Int. 40, 574 (2007)](https://doi.org/10.1016/j.triboint.2005.11.008) 
    - [Weber, Suhina, Junge, Pastewka, Brouwer, Bonn, Nature Comm. 9, 888 (2018)](https://doi.org/10.1038/s41467-018-02981-y)

Build status
------------

The following badge should say _build passing_. This means that all automated tests completed successfully for the master branch.

[![Build Status](https://github.com/ContactEngineering/ContactMechanics/actions/workflows/tests.yml/badge.svg)](https://github.com/ContactEngineering/ContactMechanics/actions/workflows/tests.yml?query=branch%3Amaster)

Documentation
-------------

[Sphinx](https://www.sphinx-doc.org/)-generated documentation can be found [here](https://contactengineering.github.io/ContactMechanics/).

Installation
------------

Quick install with: `python3 -m pip install ContactMechanics`

[Running contact mechanics simulations](examples/easy_hardwall_simulation.ipynb)
--------------------------------------------------------------------------------

Dependencies
------------

The package requires :
- **numpy** - https://www.numpy.org/
- **NuMPI** - https://github.com/imtek-simulation/numpi
- **muSpectre** - https://gitlab.com/muspectre/muspectre
- **SurfaceTopography** - https://github.com/ContactEngineering/SurfaceTopography

Optional dependencies:
- **runtests** - https://github.com/bccp/runtests

Funding
-------

Development of this project is funded by the [European Research Council](https://erc.europa.eu) within [Starting Grant 757343](https://cordis.europa.eu/project/id/757343) and by the [Deutsche Forschungsgemeinschaft](https://www.dfg.de/en) within projects [PA 2023/2](https://gepris.dfg.de/gepris/projekt/258153560) and [EXC 2193](https://gepris.dfg.de/gepris/projekt/390951807).

