# 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 flange_b.s <= xmax  the sliding mass can move freely.

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

NameLabelDescriptionData TypeValid Values

mo_smax

smax

Right stop for (right end of) sliding mass

Scalar

mo_smin

smin

Left stop for (left end of) sliding mass

Scalar

mo_L

L

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

Scalar

mo_Unknown

Unknown

Value of mode is not known

Scalar

mo_Free

Free

Element is not active

Scalar

mo_Forward

Forward

v_rel > 0 (forward sliding)

Scalar

mo_Stuck

Stuck

v_rel = 0 (forward sliding, locked or backward sliding)

Scalar

mo_Backward

Backward

v_rel < 0 (backward sliding)

Scalar

mo_unitAcceleration

unitAcceleration

Scalar

mo_unitForce

unitForce

Scalar

mo_m

m

Mass

Scalar

mo_F_prop

F_prop

Velocity dependent friction

Scalar

mo_F_Coulomb

F_Coulomb

Constant friction: Coulomb force

Scalar

mo_F_Stribeck

F_Stribeck

Stribeck effect

Scalar

mo_fexp

fexp

Exponential decay

Scalar

mo_useHeatPort

useHeatPort

=true, if heatPort is enabled

Number

0
1

NameLabelDescriptionData TypeValid Values

mo_v_small

v_small

Relative velocity near to zero (see model info text)

Scalar

NameLabelDescriptionData TypeValid Values

mo_v_relfric

v_relfric

v_relfric

Structure

mo_v_relfric/fixed

fixed

Cell of scalars

true
false

mo_v_relfric/start

start

Cell of scalars

mo_a_relfric

a_relfric

a_relfric

Structure

mo_a_relfric/fixed

fixed

Cell of scalars

true
false

mo_a_relfric/start

start

Cell of scalars

mo_f

f

f

Structure

mo_f/fixed

fixed

Cell of scalars

true
false

mo_f/start

start

Cell of scalars

mo_f0

f0

f0

Structure

mo_f0/fixed

fixed

Cell of scalars

true
false

mo_f0/start

start

Cell of scalars

mo_f0_max

f0_max

f0_max

Structure

mo_f0_max/fixed

fixed

Cell of scalars

true
false

mo_f0_max/start

start

Cell of scalars

mo_free

free

free

Structure

mo_free/fixed

fixed

Cell of scalars

true
false

mo_free/start

start

Cell of scalars

mo_sa

sa

sa

Structure

mo_sa/fixed

fixed

Cell of scalars

true
false

mo_sa/start

start

Cell of scalars

mo_startForward

startForward

startForward

Structure

mo_startForward/fixed

fixed

Cell of scalars

true
false

mo_startForward/start

start

Cell of scalars

mo_startBackward

startBackward

startBackward

Structure

mo_startBackward/fixed

fixed

Cell of scalars

true
false

mo_startBackward/start

start

Cell of scalars

mo_locked

locked

locked

Structure

mo_locked/fixed

fixed

Cell of scalars

true
false

mo_locked/start

start

Cell of scalars

mo_s

s

s

Structure

mo_s/fixed

fixed

Cell of scalars

true
false

mo_s/start

start

Cell of scalars

mo_mode

mode

mode

Structure

mo_mode/fixed

fixed

Cell of scalars

true
false

mo_mode/start

start

Cell of scalars

mo_v

v

v

Structure

mo_v/fixed

fixed

Cell of scalars

true
false

mo_v/start

start

Cell of scalars

mo_a

a

a

Structure

mo_a/fixed

fixed

Cell of scalars

true
false

mo_a/start

start

Cell of scalars

mo_lossPower

lossPower

lossPower

Structure

mo_lossPower/fixed

fixed

Cell of scalars

true
false

mo_lossPower/start

start

Cell of scalars

mo_stopped

stopped

stopped

Structure

mo_stopped/fixed

fixed

Cell of scalars

true
false

mo_stopped/start

start

Cell of scalars

## Ports

NameTypeDescriptionIO TypeNumber

flange_a

implicit

Left flange of translational component

input

1

flange_b

implicit

Right flange of translational component

output

1

Port 3

implicit

Optional port to which dissipated losses are transported in form of heat

input

mo_useHeatPort