Hard stop

Spring and damper that act only when the gap closes (contact).

  • translational
  • Modelica Standard Library
  • 2 ports
  • 3 parameters
BlockHard stopKindhardStopLibraryTranslational

Description

A spring and damper that act only in contact. Contact occurs when the distance flange_b.s − flange_a.s falls below s_rel0; above it the block exerts no force.

The contact force only pushes the flanges apart. The damping part is limited to the size of the spring part, so the force starts from zero at first contact and never pulls.

Example

End stops and motion sources A sliding mass that hits its stops, a mass pushed into an elastic stop, and masses driven by speed and position sources.

20 sin(πt) NForce sourceMass with stopsPosition (stops)Push 10 NMass 1 kgElastic stopStop at 0.1 mPosition (elastic stop)0.2 m/sSpeed sourceMass 1 kg (speed)Velocity (speed source)0.1 sin(πt) mPosition sourceMass 1 kg (position)Position (position source)
In Gradara, select a Hard stop block and press F1, then choose Open example. It opens as a new model in My models, ready to run.

Also in this example:ConstantSine waveFixed (translational)MassMass with stopsForce sourceConstant forceVelocity sourcePosition sourcePosition sensorVelocity sensor

Ports

Conserving terminals 2

  • aflange_a

    Flange a. Receives −f.

  • bflange_b

    Flange b. Receives f, which is zero or negative (pushing).

Parameters

  • Contact stiffnessc1000000 N/m

    ≥ 0

    Contact stiffness, in N/m. Zero or positive.

  • Contact dampingd100 N·s/m

    ≥ 0

    Contact damping, in N·s/m. Zero or positive.

  • Gaps_rel00.01 m

    Relative position at which contact begins, in meters. This is a free length, not a gap measured from the current position.

Equations

Modelica
s_rel = flange_b.s − flange_a.s, v_rel = ds_rel/dt
Contact when s_rel < s_rel0:
f_c = c · (s_rel − s_rel0), f = f_c + min(max(d · v_rel, f_c), −f_c)
No contact: f = 0
flange_b.f = f, flange_a.f = −f

Implementation

Modelica Standard Library 4.1.0Modelica.Mechanics.Translational.Components.ElastoGap
MSL documentation

Assumptions and limitations

  • If both flanges start at the same position, s_rel = 0, which is inside the contact region for any positive s_rel0: the stop starts compressed by s_rel0. Set initial positions accordingly.
  • Initialization can fail if a steady force pushes the flanges apart and nothing else balances it.

See also

Select a block in Gradara and press F1 to open its page offline.