File Exchange

image thumbnail

An LCP solution of the linear elastic contact mechanics problem

version (2.73 KB) by Andreas Almqvist
An LCP solution of the one-dimensional linear elastic contact mechanics problem


Updated 26 Aug 2013

View License

A script that solves the linear complementarity problem associated with
the Boussinesq contact mechanics problem

h = K*p+g, h'*p=0, h,p >=0,

where the unknown h is the gap between two elastic (half-space) bodies and the unknown p is the corresponding contact pressure.

Cite As

Andreas Almqvist (2021). An LCP solution of the linear elastic contact mechanics problem (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (7)

yang zhao

haq haq

Dear Andreas Almqvist,
Thank you very much for the codes. But I think thers is a missing difination of the function LCPSolve. Could you please update the file as well? Thanks

Paolo Cinat

Aitor Arana

Andreas Almqvist

Dear Krishnan and Daniel, Thank you both for showing interest in this solution. Both of you can find the answer to your questions in C.H. Venner's PhD Thesis, which can be downloaded for free here:

Krishnan S

Which point load solution has been used finding the kernel?


Very useful, well written and fast code. However, it lacks dimensional definitions/explanations for the input parameters (Radii, E, iv, g0). It seems there is a mix of meters and millimeter but it is hard to judge the quantities.

2/E' = (1-nu1^2)/E1+(1-nu2^2)/E2 is also defined as:
1/E' = (1-nu1^2)/E1+(1-nu2^2)/E2 by Johnson but the factor 2 is compensated for in your calculations of ph and b, but I cannot see whether it is compensated in K as well.

MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!