# How does the Coulomb & Viscous block in Simulink work?

37 views (last 30 days)
MathWorks Support Team on 27 Jun 2009
I want to know how to use the Coulomb & Viscous block in Simulink. I would like to know what are the parameters that are passed to it.

MathWorks Support Team on 27 Jun 2009
This change has been incorporated into the documentation in Release 2009a (R2009a). For previous releases, read below for any additional information:
The Coulomb and Viscous Friction block models Coulomb (static) and viscous (dynamic) friction. The block models a discontinuity at zero and a linear gain otherwise. The offset corresponds to the Coulombic friction; the gain corresponds to the viscous friction. The block is implemented as:
y = sign(u) * (Gain * abs(u) + Offset)
where y is the output, u is the input, and Gain and Offset are block parameters.
The Offset corresponds to the Coulombic friction and by default we give it four values. The default Offset vector lets you test the same input against 4 different offsets. You may wish to have only one.
The Gain corresponds to signal gain at nonzero input points and is set to 1 by default..
You can also right click on the block and choose 'Look under mask' to see the implementation.

Foad Sojoodi Farimani on 6 Feb 2017
Edited: Foad Sojoodi Farimani on 6 Feb 2017
I'm actually not a fan of the existing implementation. that's why I made my own custom block as you can see blow:
if the relative velocity is zero and the shear force is less than normal force multiplied by static friction coefficient, the friction resists the shear force (it is equal to the external shear force). else it is equal to the normal force multiplied by kinetic friction coefficient. P.S. do not forget to turn off "Enable zero-crossing detection" option in the sign block

### Categories

Find more on Discontinuities in Help Center and File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!