# Rope

**Libraries:**

Simscape /
Driveline /
Couplings & Drives

## Description

The Rope block represents an element that transfers tension
between two contact points. You can treat it as an arbitrary tension transfer device to
simulate a variety of situations, including pulley networks, cable drives, and
serpentine belts. You can choose whether the block exhibits slack upon loss of tension.
The block has a base port, **B**, and a follower port,
**F**. The rope stretches in tension when the base port leads the
follower port.

The block considers only the longitudinal translational motion and force of the rope ends. For the ideal case, the block is equivalent to the spring-damper or spring-mass-damper systems illustrated in the figures, depending on whether you choose to model the mass. These figures do not necessarily apply when you simulate slack.

**Tip**

Confirm that your model performs correctly with **Rope model** set to
`Ideal - No tension`

. While in this mode, verify that
the **B** and **F** ports are oriented properly by
viewing the tension plots of each rope in the **Simscape Results
Viewer** and looking for unexpected negative values.

You simulate a rope with arbitrary physical properties by adjusting the block parameters. The Rope block can act as a belt, cable, or any other device that has tensile strength and transmits tension between two contact points. A contact point can be a pulley, a drum, or an ideal source.

The block is useful for modeling stationary or travelling pulley networks. You can drive the Rope block with sources like the Ideal Translational Velocity Source block, or a Rope Drum block attached to an Ideal Force Source block.

For greater fidelity or numerical stability, you can choose to model the effect of mass on
the system. When you set **Model mass** to
`On`

, the block distributes half of the total mass to
either end of the rope. Adding even a small amount of mass can improve the
initialization of your model. You can also specify the initial conditions of the rope.
If you choose to simulate slack, the block will stop applying stiffness and damping when
the rope is no longer in tension.

### Equations

The Rope block characterizes the external load at the base port as

$${F}_{B}({x}_{s}(t),t)=\frac{m}{2}{\ddot{x}}_{B}(t)+D({x}_{s}(t)){\dot{x}}_{s}(t)+K({x}_{s}(t)){x}_{s}(t),$$

and at the follower port,

$${F}_{F}({x}_{s}(t),t)=\frac{m}{2}{\ddot{x}}_{F}(t)-D({x}_{s}(t)){\dot{x}}_{s}(t)-K({x}_{s}(t)){x}_{s}(t),$$

where $${x}_{s}(t)={x}_{B}(t)-{x}_{F}(t)$$. The forces vary as functions of time and the stretch deformation,
*x _{s}*. Here,

*K*and

*B*are functions of

*x*, such that $$K({x}_{s})=K$$ when there is no slack or you are not simulating slack. Otherwise, $$K({x}_{s})=0$$ when slack occurs. That is, when $${x}_{s}<0$$. The same logic applies for

_{s}*B*. Ignore the mass terms unless you are modeling mass.

The variables have the following meanings:

*F*is the tension force, where $$F={F}_{B}=-{F}_{F}.$$*K*is the spring stiffness coefficient. $$K({x}_{s})=0$$ when you set**Rope model**to`Model rope slack`

and $${x}_{s}<0$$.*D*is the damping coefficient.*m*is the total mass. This is equivalent to the**Mass**parameter. The block distributes half of the total mass to each end.*x*is the position of the base node._{B}*x*is the position of the follower node._{F}*x*is the deformation due to stretching. This is equivalent to the_{s}**Stretch**variable.*ẋ*is the stretch velocity._{s}

### Variables

Use the **Variables** tab to set the priority and initial target
values for the block variables before simulating. For more information, see Set Priority and Initial Target for Block Variables.

## Ports

### Conserving

## Parameters

## Extended Capabilities

## Version History

**Introduced in R2021a**