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.
Andreas Almqvist (2020). An LCP solution of the linear elastic contact mechanics problem (https://www.mathworks.com/matlabcentral/fileexchange/43216-an-lcp-solution-of-the-linear-elastic-contact-mechanics-problem), MATLAB Central File Exchange. Retrieved .
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
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: https://www2.ts.ctw.utwente.nl/venner/PHD-THESIS/venner.pdf
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.