# Friction-contact problems (2D or 3D)¶

Problem statement:

Given

• a symmetric positive semi definite matrix $${M} \in {{\mathrm{I\!R}}}^{n \times n}$$
• a vector :math: {q} in {{mathrm{I!R}}}^n
• a vector of coefficients of friction $$\mu \in{{\mathrm{I\!R}}}^{n_c}$$

the (reduced or dual) frictional contact problem is to find two vectors $$u\in{{\mathrm{I\!R}}}^n$$ , the relative local velocity and $$r\in {{\mathrm{I\!R}}}^n$$ , the contact forces denoted by $$\mathrm{FC}(M,q,\mu)$$ such that

$\begin{split}\begin{eqnarray*} \begin{cases} u = M r + q \\ \hat u = u +\left[ \left[\begin{array}{c} \mu^\alpha \|u^\alpha_{T}\|\\ 0 \\ 0 \end{array}\right]^T, \alpha = 1 \ldots n_c \right]^T \\ \ \ C^\star_{\mu} \ni {\hat u} \perp r \in C_{\mu} \end{cases} \end{eqnarray*}\end{split}$

where the Coulomb friction cone is defined by $$C_{\mu} = \prod\limits_{\alpha=1\ldots n_c} C^{\alpha}_{\mu^\alpha}$$

with $$C^{\alpha}_{\mu^\alpha} =\{ r^\alpha, \|r_{t}\| \leq \mu_{\alpha} |r^\alpha_{n}|\}$$ , and the set $$C^{\alpha,\star}_{\mu^\alpha}$$ its dual.

The modified local velocity $$\widehat u$$ . Coulomb’s friction law with Signorini’s condition for the unilateral contact written in terms of second order complementarity condition

$\begin{eqnarray} C^\star_{\mu} \ni {\hat u} \perp r \in C_{\mu} \end{eqnarray}$

can be interpreted in a more usual form

$\begin{split}\begin{eqnarray} \begin{cases} 0 \leq u_{N} \perp r_N \geq 0 \quad\quad\text{ Signorini condition}\\ u_T = 0 \Rightarrow \|r_T\| \leq \mu |r_n| \quad\quad\text{ Sticking mode} \\ u_T \neq 0 \Rightarrow r_T = - \mu |r_n| \frac{u_T }{\|u_T\|} \quad\quad\text{ Sliding mode} \end{cases} \end{eqnarray}\end{split}$

This problem models any instance of discretized frictional contact problem obtained from

• the time-discretization of dynamics contact problems with event-capturing of event-tracking schemes,
• the time-discretization of quasi-static contact problems,
• the modeling of static contact problems. In this last case, $$u$$ plays the role of the relative displacement at contact

The problem is stored and given to the solver in Siconos/Numerics thanks to a C structure FrictionContactProblem .

Available solvers for Friction Contact 3D:

see Friction_cst.h for solver ids. Use the generic function fc3d_driver() to call one the the specific solvers listed below:

• fc3d_nsgs() : non-smooth Gauss-Seidel solver. SolverId : SICONOS_FRICTION_3D_NSGS =500,
• fc3d_nsgs_velocity() : non-smooth Gauss-Seidel solver based on velocity updates SolverId : SICONOS_FRICTION_3D_NSGSV =501,
• fc3d_proximal() : Proximal point solver for friction-contact 3D problem SolverId : SICONOS_FRICTION_3D_PROX =502,
• fc3d_TrescaFixedPoint() : Fixed point solver for friction-contact 3D problem based on the Tresca problem with fixed friction threshold SolverId : SICONOS_FRICTION_3D_TFP =503,
• fc3d_globalAlartCurnier() : Global Alart Curnier solver SolverId : SICONOS_FRICTION_3D_NSN_AC =504,
• fc3d_DeSaxceFixedPoint() : Fixed Point solver for friction-contact 3D problem based on the De Saxce Formulation SolverId : SICONOS_FRICTION_3D_DSFP=505,
• fc3d_ExtraGradient() : Extra Gradient solver for friction-contact 3D problem based on the De Saxce Formulation SolverId : SICONOS_FRICTION_3D_EG=506,
• fc3d_HyperplaneProjection() : Hyperplane Projection solver for friction-contact 3D problem based on the De Saxce Formulation SolverId : SICONOS_FRICTION_3D_HP=507,

(see the functions/solvers list in fc3d_Solvers.h )

Required and optional parameters:

fc3d problems needs some specific parameters, given to the fc3d_driver() function thanks to a SolverOptions structure.

Available solvers for Friction Contact 2D:

• fc2d_nsgs() , Non Linear Gauss Seidel solver. SolverId SICONOS_FRICTION_2D_NSGS =400,
• fc2d_cpg() , conjugate projected gradient SolverId SICONOS_FRICTION_2D_CPG =401,
• fc2d_pgs(), projected Gauss Seidel solver. SolverId SICONOS_FRICTION_2D_PGS =402,
• fc2d_latin() , latin solver. SolverId SICONOS_FRICTION_2D_LATIN =403,
• fc2d_lexicolemke() , lemke solver. SolverId SICONOS_FRICTION_2D_LMEKE =404,