# MassWithStopAndFriction

Sliding mass with hard stop and Stribeck friction

## Library

Modelica/Mechanics/Translational/Components

## Description

This element describes the *Stribeck friction characteristics* of a sliding mass,
i. e. the frictional force acting between the sliding mass and the support. Included is a
*hard stop* for the position.

The surface is fixed and there is friction between sliding mass and surface. The frictional force f is given for positive velocity v by:

f = F_Coulomb + F_prop * v + F_Stribeck * exp (-fexp * v)

The distance between the left and the right connector is given by parameter L. The position of the center of gravity, coordinate s, is in the middle between the two flanges.

There are hard stops at smax and smin, i. e. if
* flange_a.s >= smin* and

*the sliding mass can move freely.*

`flange_b.s <= xmax `

When the absolute velocity becomes zero, the sliding mass becomes stuck, i.e., the absolute position remains constant. In this phase the friction force is calculated from a force balance due to the requirement that the absolute acceleration shall be zero. The elements begin to slide when the friction force exceeds a threshold value, called the maximum static friction force, computed via:

maximum_static_friction = F_Coulomb + F_Stribeck

**This requires the states Stop.s and Stop.v** . If these states are eliminated during the index reduction
the model will not work. To avoid this any inertias should be connected via springs
to the Stop element, other sliding masses, dampers or hydraulic chambers must be avoided.

For more details of the used friction model see the following reference:

- Beater P. (1999):
- Entwurf hydraulischer Maschinen. Springer Verlag Berlin Heidelberg New York.

The friction model is implemented in a "clean" way by state events and leads to continuous/discrete systems of equations which have to be solved by appropriate numerical methods. The method is described in (see also a short sketch in UsersGuide.ModelingOfFriction):

- Otter M., Elmqvist H., and Mattsson S.E. (1999):
*Hybrid Modeling in Modelica based on the Synchronous Data Flow Principle*. CACSD'99, Aug. 22.-26, Hawaii.

More precise friction models take into account the elasticity of the material when the two elements are "stuck", as well as other effects, like hysteresis. This has the advantage that the friction element can be completely described by a differential equation without events. The drawback is that the system becomes stiff (about 10-20 times slower simulation) and that more material constants have to be supplied which requires more sophisticated identification. For more details, see the following references, especially (Armstrong and Canudas de Wit 1996):

- Armstrong B. (1991):
*Control of Machines with Friction*. Kluwer Academic Press, Boston MA.

- Armstrong B., and Canudas de Wit C. (1996):
*Friction Modeling and Compensation.*The Control Handbook, edited by W.S.Levine, CRC Press, pp. 1369-1382.

- Canudas de Wit C., Olsson H., Åström K.J., and Lischinsky P. (1995):
*A new model for control of systems with friction.*IEEE Transactions on Automatic Control, Vol. 40, No. 3, pp. 419-425.

#### Optional heatPort

The dissipated energy is transported in form of heat to the optional heatPort connector that can be enabled via parameter "useHeatPort". Independently whether the heatPort is or is not enabled, the dissipated power is defined with variable "lossPower". If contact occurs at the hard stops, the lossPower is not correctly modelled at this time instant, because the hard stop would introduce a Dirac impulse in the lossPower due to the discontinuously changing kinetic energy of the mass (lossPower is the derivative of the kinetic energy at the time instant of the impact).

## Parameters

Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|

| smax | Right stop for (right end of) sliding mass | Scalar | |

| smin | Left stop for (left end of) sliding mass | Scalar | |

| L | Length of component, from left flange to right flange (= flange_b.s - flange_a.s) | Scalar | |

| Unknown | Value of mode is not known | Scalar | |

| Free | Element is not active | Scalar | |

| Forward | v_rel > 0 (forward sliding) | Scalar | |

| Stuck | v_rel = 0 (forward sliding, locked or backward sliding) | Scalar | |

| Backward | v_rel < 0 (backward sliding) | Scalar | |

| unitAcceleration | Scalar | ||

| unitForce | Scalar | ||

| m | Mass | Scalar | |

| F_prop | Velocity dependent friction | Scalar | |

| F_Coulomb | Constant friction: Coulomb force | Scalar | |

| F_Stribeck | Stribeck effect | Scalar | |

| fexp | Exponential decay | Scalar | |

| useHeatPort | =true, if heatPort is enabled | Number | 0 |

Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|

| v_small | Relative velocity near to zero (see model info text) | Scalar |

Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|

| v_relfric | v_relfric | Structure | |

| fixed | Cell of scalars | true | |

| start | Cell of scalars | ||

| a_relfric | a_relfric | Structure | |

| fixed | Cell of scalars | true | |

| start | Cell of scalars | ||

| f | f | Structure | |

| fixed | Cell of scalars | true | |

| start | Cell of scalars | ||

| f0 | f0 | Structure | |

| fixed | Cell of scalars | true | |

| start | Cell of scalars | ||

| f0_max | f0_max | Structure | |

| fixed | Cell of scalars | true | |

| start | Cell of scalars | ||

| free | free | Structure | |

| fixed | Cell of scalars | true | |

| start | Cell of scalars | ||

| sa | sa | Structure | |

| fixed | Cell of scalars | true | |

| start | Cell of scalars | ||

| startForward | startForward | Structure | |

| fixed | Cell of scalars | true | |

| start | Cell of scalars | ||

| startBackward | startBackward | Structure | |

| fixed | Cell of scalars | true | |

| start | Cell of scalars | ||

| locked | locked | Structure | |

| fixed | Cell of scalars | true | |

| start | Cell of scalars | ||

| s | s | Structure | |

| fixed | Cell of scalars | true | |

| start | Cell of scalars | ||

| mode | mode | Structure | |

| fixed | Cell of scalars | true | |

| start | Cell of scalars | ||

| v | v | Structure | |

| fixed | Cell of scalars | true | |

| start | Cell of scalars | ||

| a | a | Structure | |

| fixed | Cell of scalars | true | |

| start | Cell of scalars | ||

| lossPower | lossPower | Structure | |

| fixed | Cell of scalars | true | |

| start | Cell of scalars | ||

| stopped | stopped | Structure | |

| fixed | Cell of scalars | true | |

| start | Cell of scalars |

## Ports

Name | Type | Description | IO Type | Number |
---|---|---|---|---|

| implicit | Left flange of translational component | input | 1 |

| implicit | Right flange of translational component | output | 1 |

| implicit | Optional port to which dissipated losses are transported in form of heat | input | mo_useHeatPort |