# Signorini’s contact problem with Interior point optimizer (IPOPT)

Algorithm to solve the contact between an elastic body and a rigid foundation (obstacle).

## Problem

We consider Signorini’s problem which is the contact between a body and a rigid foundation. We treat only the linear elastic materials case and the plane strain hypothesis (2D) is assumed. Let $\Omega \subset \mathbb{R}^{2}$ denotes the body and $\Gamma= \partial \Omega$ its boundary. $\Gamma_{0} \subset \Gamma$ denotes the boundary part where a displacement is imposed, $\Gamma_{1} \subset \Gamma$ is the boundary part where a traction vector $\mathbf{t}$ is applied, finally $\Gamma_{C} \subset \Gamma$ denotes the potential contact area.

By imposing a null displacement on $\Gamma_{0}$, the displacement admissible set is defined as follows

$ \displaystyle{ \mathbf{V}= \left\lbrace \mathbf{v} \in \left( H^{1}(\Omega)\right)^{2} \, | \, \mathbf{v}=0 \text{ on } \Gamma_{0} \right\rbrace } $

The total potential energy $E_{p}$ is given by the following

$ \displaystyle{ E_{p}(\mathbf{v})= \frac{1}{2} \int_{\Omega} \boldsymbol{\sigma}^{T}.\boldsymbol{\epsilon} \, dV - \int_{\Gamma_{1}} \mathbf{t} . \mathbf{v} \, dA } $

where $\boldsymbol{\epsilon}$ and $\boldsymbol{\sigma}$ is respectively the strain vector and the stress vector, if $\mathbf{v}=(v_{1},v_{2})$ we have

$ \displaystyle{ \boldsymbol{\epsilon}=\begin{pmatrix} \epsilon_{x} \newline \epsilon_{y} \newline \gamma_{xy} \end{pmatrix}=\begin{pmatrix} \frac{\partial v_{1}}{\partial x} \newline \frac{\partial v_{2}}{\partial y} \newline \frac{\partial v_{1}}{\partial y} + \frac{\partial v_{2}}{\partial x} \end{pmatrix} \, \, \, and \, \, \, \boldsymbol{\sigma} = \mathbf{D} \boldsymbol{\epsilon} } $

In addition

$ \displaystyle{ \mathbf{D}=\frac{E}{(1+\nu)(1-2\nu)} \, \begin{bmatrix} 1-\nu & \nu & 0 \newline \nu & 1-\nu & 0 \newline 0 & 0 & \frac{1-2\nu}{2} \end{bmatrix} } $

with $E$ the Young’s modulus and $\nu$ the Poisson’s ratio.

The solution (the displacement field) of the contact problem involving a linear elastic body, can be written as the following minimization problem

$ \displaystyle{ \mathbf{u}= \underset{\mathbf{v} \in \mathbf{K}}{\text{argmin}} \, (E_{p}(\mathbf{v})) } $

where $\mathbf{K}$ is the set describing the non-penetration condition for the Signorini’s problem, and is given by

$ \displaystyle{ \mathbf{K} = \left\lbrace \mathbf{v} \in \mathbf{V} \, | \, (\mathbf{v}+\mathbf{X}-\bar{\mathbf{X}}).\mathbf{n} \geq 0 \text{ on } \Gamma_{C} \right\rbrace } $

where $\mathbf{X}$ is the position in the initial configuration, $\bar{\mathbf{X}}$ its projection on the obstacle and $\mathbf{n}$ is the outward unit normal vector at $\bar{\mathbf{X}}$.

## Discretization

In order to describe the non-pentration between the body $\Omega$ and the obstacle, the node-to-segment discretization is used, in other words the body nodes can not penetrate the obstacle. Let $i$ be a node of the body, belonging to the potential contact area $\Gamma_{C}$, then the non-penetration conditions in this case can be given as follows

$ \displaystyle{ (\mathbf{x}^{i}-\bar{\mathbf{x}}^{i}) . \mathbf{n}^{i} \geq 0 \, \, \, \forall \, i=1,\ldots,n_{C} } $

where $n_{C}$ is the number of the contact nodes, $ \mathbf{x}^{i} $ the actual position of the node $i$, $\bar{\mathbf{x}}^{i}$ the projection on the obstacle of $\mathbf{x}^{i}$ which is equal to $\bar{\mathbf{X}}^{i}$, the projection of the initial position, in the case of small displacements. Finally $\mathbf{n}^{i}$ is the outward unit normal vector at $\bar{\mathbf{x}}^{i}$.

In general, better and robust results can be obtained using the weak contact formulation (see [1,2]).

In the case of small deformations, the total potential energy $E_{p}$ can be given as follows

$ \displaystyle{ E_{p}(U)=\frac{1}{2}U^{T}KU - FU } $

where $K$ is the rigidity matrix, $F$ the nodale forces and $U \in \mathbb{R}^{n}$ the displacement field degrees of freedom vector. In addition the non-penetration constraints are linear and can be expressed as follows

$ \displaystyle{ AU + b \geq 0 } $

Finally, the contact problem for the linear elastic body, can be written as the following minimization problem

$ \begin{cases} \underset{V \in \mathbb{R}^{n}}{\text{min}} \, \frac{1}{2}V^{T}KV - FV \newline AV + b \geq 0 \end{cases} $

**NB :** One can find in [3] another formulation for the Signorini’s problem.

## Algorithms

we consider the contact between an elastic arch and a rigid one, due to an applied pressure. A new FreeFEM function, called projection, is used in order to compute the projection points.

Please cite [1] or [2] if you want to use the following code.

### Geometry

File `Geometry.idp`

### Material parameters

Definition of the elasticity law in 2D.

File `Elastic_lin_2d.idp`

### Minimization algorithm

Result - Von Mises stress |
---|

## References

[1] Finite element modeling of mechanical contact problems for industrial applications, H. Houssein, PhD thesis, Sorbonne Université

[2] A symmetric algorithm for solving mechanical contact problems using FreeFEM, H. Houssein, S. Garnotel, F. Hecht (To appear in Computational Methods in Applied Sciences, Springer)

[3] Frictionless contact problem for hyperelastic materials with interior point optimizer, H. Houssein, S. Garnotel, F. Hecht (HAL)

## Authors

Author: Houssam Houssein