# Friction Models Friction is a complex phenomenon resulting in resistance to motion of two contacting surfaces. In general, models describing friction can be divided into two categories: *static* friction models, which attempt to describe the steady-state behavior of frictional contact, and *dynamic* friction models, which model friction as the direct result of a dynamical system. Ratel supports multiple static models for approximating the friction force of a contact interaction, which provide trade-offs in numerical stability and accuracy. The notation and formulation for the friction models below are from {cite}`marques2016`. ## Static Friction Models Static friction models approximate the complex interaction between two contacting surfaces which result in friction as a force $\bm F$ with magnitude dependent on the forces normal to the contact interaction in the direction opposing the relative motion of the surfaces tangent to the contact interaction. ### Coulomb friction One of the simplest friction formulations is Coulomb friction, which, for non-zero tangential velocities, sets the magnitude of the frictional force to be $F_C = \mu_k \|\bm F_n\|$, where $\bm F_n$ is the normal contact force and $\mu_k$ is the kinetic coefficient of friction. For non-zero tangential velocities, the direction of the frictional force is $$ \sgn(\bm v_t) = \begin{cases} \frac{\bm v_t}{\|\bm v_t\|},& \text{if } \|\bm v_t\| > 0;\\ \bm 0,& \text{otherwise}; \end{cases} $$ where $\bm v_t = (I - \bm n \otimes \bm n) \bm v$ is the relative tangential velocity with respect to the other surface, which has the normal vector $\bm n$. Special consideration is required for the $\|\bm v_t\| = 0$ case, as this represents the "sticking" region, where the frictional force is high enough to prevent any relative motion. The treatment of the so-called "null-velocity" region is one of the major differentiating factors for different static friction models. Coulomb friction relies on the tangential forces external to the contact interaction, $\bm F_e$ to define the frictional force at null-velocity. That is, the frictional force in the Coulomb model is given by, $$ \bm F = \begin{cases} F_C \sgn(\bm v_t),& \|\bm v_t\| > 0;\\ \min(F_C, \|\bm F_e\|) \sgn(\bm F_e),& \|\bm v_t\| = 0. \end{cases} $$ #### Viscous damping Coulomb friction can be extended to allow for viscous damping, which is particularly relevant to lubricated contact. In Ratel, we implement viscous damping which is linearly dependent on the tangential velocity: $$ \bm F = \begin{cases} F_C \sgn(\bm v_t) + F_v \bm v_t,& \|\bm v_t\| > 0;\\ \min(F_C, \|\bm F_e\|) \sgn(\bm F_e),& \|\bm v_t\| = 0; \end{cases} $$ where $F_v$ is the viscous damping coefficient. #### Command-line options The relevant command-line options for Coulomb friction are given in Table [Coulomb Friction Options](coulomb_friction_options) below. For brevity, the string `[prefix]` is used in place of the full prefix `bc_platen_[platen_name]` in the option listings. (coulomb_friction_options)= :::{list-table} Coulomb Friction Options :header-rows: 1 :widths: 40 50 10 * - Option - Description - Default Value * - `-[prefix]_friction_type coulomb` - Required to enable Coulomb friction for a particular contact boundary condition. - * - `-[prefix]_friction_kinetic [non-negative real]` - Kinetic coefficient of friction $\mu_k$, unitless - `0.1` * - `-[prefix]_friction_viscous [non-negative real]` - Viscous damping coefficient $F_v$, units of $\frac{\mathrm{N}\cdot\mathrm{s}}{\mathrm{m}}$ - `0.0` ::: ### Threlfall friction One of the largest weaknesses of the Coulomb friction model is the discontinuity at $\|\bm v_t\| = 0$. The Threlfall model addresses this weakness by defining a tolerance velocity $v_0$ below which an exponential model is used to compute the frictional force. The model is given as: $$ \bm F = \begin{cases} F_C \left(\frac{1 - \exp\left(\frac{-3 \|\bm v_t\|}{v_0}\right)}{1 - \exp(-3)}\right) \sgn(\bm v_t), & \text{if } \|\bm v_t\| \leq v_0; \\ F_C \ \sgn(\bm v_t), & \text{if } \|\bm v_t\| > v_0,, \end{cases} $$ Note that as $v_0 \to 0$, the Threlfall model approaches the Coulomb model; that is, lower tolerance velocities more accurately approximate the discontinuity. #### Viscous damping Threlfall friction can also be extended to include viscous damping: $$ \bm F = \begin{cases} F_C \left(\frac{1 - \exp\left(\frac{-3 \|\bm v_t\|}{v_0}\right)}{1 - \exp(-3)}\right) \sgn(\bm v_t), & \text{if } \|\bm v_t\| \leq v_0; \\ F_C \ \sgn(\bm v_t) + (\|v_t\| - v_0) \sgn(\bm v_t), & \text{if } \|\bm v_t\| > v_0. \end{cases} $$ Note that due to the smoothed transition from null-velocity, the viscous damping is not active until $\|\bm v_t\| > v_0$. As such, the magnitude of the damping must be rescaled accordingly to $\|\bm v_t\| - v_0$. #### Command-line options The relevant command-line options for Threlfall friction are given in Table [Threlfall Friction Options](threlfall_friction_options) below. For brevity, the string `[prefix]` is used in place of the full prefix `bc_platen_[platen_name]` in the option listings. (threlfall_friction_options)= :::{list-table} Threlfall Friction Options :header-rows: 1 :widths: 40 50 10 * - Option - Description - Default Value * - `-[prefix]_friction_type threlfall` - Required to enable Threlfall friction for a particular contact boundary condition. - * - `-[prefix]_friction_kinetic [non-negative real]` - Kinetic coefficient of friction $\mu_k$, unitless - `0.1` * - `-[prefix]_friction_viscous [non-negative real]` - Viscous damping coefficient $F_v$, units of $\frac{\mathrm{N}\cdot\mathrm{s}}{\mathrm{m}}$ - `0.0` * - `-[prefix]_friction_tolerance_velocity [positive real]` - Tolerance velocity $v_0$ at which full frictional slipping is permitted, units of $\frac{\mathrm{m}}{\mathrm{s}^2}$. Only used by Threlfall friction model. - `0.05` ::: ## Dynamic Friction Models Ratel does not currently implement any dynamic friction models.