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

Problem statement.:

Given

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

the (global or global) frictional contact problem is to find three vectors $$v\in{{\mathrm{I\!R}}}^n$$ , the (global) velocity $$u\in{{\mathrm{I\!R}}}^{d\,n_c}$$ , the relative local velocity and $$r\in {{\mathrm{I\!R}}}^{d,n_c}$$ , the contact forces denoted by $$\mathrm{PFC}(M,H,q,b,\mu)$$ such that

$\begin{split}\begin{eqnarray*} \begin{cases} M v = q + H r \\ u = H^\top v + b \\ \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 GlobalFrictionContactProblem .

Available solvers for Friction Contact 3D:

Use the generic function gfc3d_driver() to call one the the specific solvers listed below:

Required and optional parameters:

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

Global Friction-Contact 3D problems Solvers:

This page gives an overview of the available solvers for friction-contact (3D) problems and their required parameters.

For each solver, the input argument are:

• a FrictionContactProblem
• the unknowns (reaction,velocity)
• info, the termination value (0: convergence, >0 problem which depends on the solver)
• a SolverOptions structure, which handles iparam and dparam

Non-Smooth Gauss Seidel Solver:

function: fc3d_nsgs() parameters: