Usage
The code is documented via Python’s documentation strings that can be accesses via the help command or by appending a questions mark ? in ipython/jupyter. There are two command line tools available that may be a good starting point. They are in the commandline subdirectory:
hard_wall.py: Command line front end for calculations with hard, impenetrable walls between rigid and elastic flat. This front end exclusively uses Polonsky & Keer’s constrained conjugate gradient solver to find the deformation of the substrate under the additional contact constraints. Run hard_wall.py –help to get a list of command line options.
soft_wall.py: Command line front end for calculations with soft (possibly adhesive) interactions between rigid and elastic flat. This is a stub rather than a fully featured command line tool that can be used as a starting point for modified script. The present implementation is set up for a solution of Martin Müser’s contact mechanics challenge.
Elastic half-space module
Coordinate system
\(h(x)\) is the content of the topography.
\(b\): rigid body penetration
\(h_b(x) = b + h(x)\) is the height of the indenter with respect to the surface of the undeformed halfspace
\(u(x)\) displacement of the halfspace
\(g(x) = u(x) - (b + h(x))\): gap
The simulation models the indentation of an elastic halfspace (flat) with a rigid indenter whose geometry is given by the topography.
If \(h(x)\) contains positive values the first contact will occur at \(b < 0\)