What is FCLIB ?
FCLIB is
- A open source collection of Frictional Contact (FC) problems stored in a specific HDF5 format
- A open source light implementation of Input/Output functions in C Language to read and write problems
Goals of the project (2011-2017)
The goal of this work is to set up a collection of 2D and 3D Frictional Contact (FC) problems in order to
- set up a list of benchmarks
- provide a standard framework for testing available and new algorithms for solving discrete frictional contact problems
- share common formulations of problems in order to exchange data
How to download ?
- https://github.com/FrictionalContactLibrary/fclib : source of the reader/writer C API on github
- https://github.com/FrictionalContactLibrary/fclib-library : The collection of problems with the help of git-lfs
- https://github.com/FrictionalContactLibrary/fclib-scripts : Some scripts that generate the problems
References
FCLIB: a collection of discrete 3D Frictional Contact problems.
Vincent Acary, Maurice Brémond, Tomasz Koziara, Franck Pérignon. [Technical Report] RT-0444, INRIA. 2014, pp.34.
Numerical Methods for Nonsmooth Dynamical Systems: Applications in Mechanics and Electronics
Vincent Acary, Bernard Brogliato
Springer Verlag, 35, pp.526, 2008, Lecture Notes in Applied and Computational Mechanics, 978-3-540-75391-9
What is a Frictional contact problem ?
A Frictional contact problem is algebraic problem obtained after possible time and space discretizations of problems of mechanics of solid involving contact and Coulomb's friction. The mathematical structure of the problem is a second-order cone complementarity problem. For more details, you could have a look to the fclib specifications
The local Frictional Contact problem with equality constraints
Given
- a positive semi–definite matrix \({W} \in {\mathrm{I\!R}}^{m \times m}\)
- a matrix \({V} \in {\mathrm{I\!R}}^{m \times p}\)
- a matrix \({R} \in {\mathrm{I\!R}}^{p \times p}\)
- a vector \(q \in {\mathrm{I\!R}}^{m}\),
- a vector \(s \in {\mathrm{I\!R}}^{p}\),
- a vector of coefficients of friction \(\mu \in {\mathrm{I\!R}}^{n_c}\)
the Mixed 3DFC problem is to find three vectors \(u\in{\mathrm{I\!R}}^m\), \(r\in {\mathrm{I\!R}}^m\) and \(\lambda \in {\mathrm{I\!R}}^p\) denoted by \(\mathrm{M3DFC}(R,V,W,q,s,\mu)\) such that
\begin{eqnarray*}\label{eq:lcp1} \begin{cases} V^T {r} + R \lambda + s = 0 \\ \\ \hat u = W {r} + V\lambda + q +\left[ \left[\begin{array}{c} \mu^\alpha \|u^\alpha_T\|\\ 0 \\ 0 \end{array}\right]^T, \alpha = 1 \ldots n_c \right]^T \\ \\ K^\star_{\mu} \ni {\hat u} \perp r \in K_{\mu} \end{cases} \end{eqnarray*}
where the Coulomb friction cone for a contact \(\alpha\) is defined by
\begin{eqnarray*} \label{eq:CCC} K _{\mu^\alpha}^{\alpha} = \{r^\alpha, \|r^\alpha_T \| \leq \mu^\alpha |r^\alpha_N| \} \end{eqnarray*}
and the set \(K^{\alpha,\star}_{\mu^\alpha}\) is its dual.
The Global Frictional Contact problem with equality constraints
We are also dealing with global FC problem defined by
Given
- a positive definite matrix \({M} \in {\mathrm{I\!R}}^{n \times n}\)
- a vector \( {f} \in {\mathrm{I\!R}}^n\),
- a matrix \({H} \in {\mathrm{I\!R}}^{n \times m}\)
- a matrix \({G} \in {\mathrm{I\!R}}^{n \times p}\)
- a vector \(w \in {\mathrm{I\!R}}^{m}\),
- a vector \(b \in {\mathrm{I\!R}}^{p}\),
- a vector of coefficients of friction \(\mu \in {\mathrm{I\!R}}^{n_c}\)
the Global Mixed 3DFC problem is to find four vectors \( {v} \in {\mathrm{I\!R}}^n\), \(u\in{\mathrm{I\!R}}^m\), \(r\in {\mathrm{I\!R}}^m\) and \(\lambda \in {\mathrm{I\!R}}^p\) denoted by \(\mathrm{GM3DFC}(M,H,G,w,b,\mu)\) such that
\begin{eqnarray*} \begin{cases} M v = {H} {r} + G\lambda + {f} \\ \\ G^T v +b =0 \\ \\ \hat u = H^T v + w +\left[ \left[\begin{array}{c} \mu \|u^\alpha_T\|\\ 0 \\ 0 \end{array}\right]^T, \alpha = 1 \ldots n_c \right]^T \\ \\ K^\star_{\mu} \ni {\hat u} \perp r \in K_{\mu} \end{cases} \end{eqnarray*}
Problems without equality constraints
If the original problems do not contain inequality constraints, or if they are reduced, the problems do no have the variables \(\lambda\) as unknowns and can be simplified. However, the storage in HDF5 file remains the same.
Merit functions.
The API provides also some Merit functions which measures if one set of vectors satisfies the previous problems.