Belt Pulley

Power transmission element with frictional belt wrapped around pulley circumference


Simscape / Driveline / Couplings & Drives


This block represents a pulley wrapped in a flexible flat or V-shaped belt. The model accounts for friction between the flexible belt and the pulley periphery. If the friction force is not sufficient to drive the load, the model allows slip. The relationship between the tensions in the tight and loose branches conforms to the Euler equation. The model accounts for centrifugal loading in the flexible belt, pulley inertia, and bearing friction.

The block dialog box enables you to select the relative belt direction of motion. Depending on the chosen setting, the two belt ends can move in equal or opposite directions. The block model assumes noncompliance in the belt and no resistance to motion due to wrapping around the pulley.

The block equations model power transmission between the belt branches or to/from the pulley. The tight and loose branches use the same calculation. Without sufficient tension, the frictional force is not enough to transmit power between the pulley and belt.

The model is valid when both ends of the belt are in tension. An optional warning can display at the MATLAB® command line when either belt end loses tension. When assembling a model, ensure that tension is maintained throughout the simulation. Consider this requirement when you interpret the simulation results.


If the relative velocity between the belt and pulley is positive or zero, that is Vrel0, the Belt Pulley block calculates friction force as


If the relative velocity is negative, that is Vrel<0, the friction force is calculated as


In both cases:





  • Vrel is the relative velocity between the belt and pulley periphery.

  • VA is the Branch A linear velocity.

  • VB is the Branch B linear velocity.

  • ωS is the pulley angular velocity.

  • R is the pulley radius.

  • FC is the belt centrifugal force.

  • ρ is the belt linear density.

  • Ffr is the friction force between the pulley and the belt.

  • FA is the force acting along branch A.

  • FB is the force acting along branch B.

  • f is the friction coefficient.

  • θ is the contact wrap angle.

For a flat belt, specify the value of f directly in the block parameters dialog box. For a V-belt, the model calculates the value as



  • f' is the effective friction coefficient for a V-belt.

  • Φ is the V-belt sheave angle.

The idealization of the discontinuity at Vrel = 0 is both difficult for the solver to resolve and not physically accurate. To alleviate this issue, the friction coefficient is assumed to change its value as a function of the relative velocity such that



  • μ is the instantaneous value of the friction coefficient.

  • f is the steady-state value of the friction coefficient.

  • Vthr is the friction velocity threshold.

The friction velocity threshold controls the width of the region within which the friction coefficient changes its value from zero to a steady-state maximum. The friction velocity threshold specifies the velocity at which the hyperbolic tangent equals 0.999. The smaller the value, the steeper is the change of μ.

This friction force is calculated as


The resulting torque on the pulley is given as



  • TS is the pulley torque.

  • b is the bearing viscous damping.

  • Fthr is the force threshold.

Assumptions and Limitations

  • The model does not account for compliance along the length of the belt.

  • Both belt ends maintain adequate tension throughout the simulation.


The sign convention is such that, when Belt direction is set to Ends move in opposite direction, a positive rotation in port S tends to give a negative translation for port A and a positive translation for port B.


expand all

Rotational conserving port associated with the pulley shaft.

Translational conserving port associated with the belt end A.

Translational conserving port associated with the belt end B.



Belt type

Type of flexible element modeled.

  • Flat belt — (Default)

  • V-belt— Exposes the V-belt sheave angle and Number of V-belts parameters.

V-belt sheave angle

Sheave angle of the V-belt. Default is 30 deg.

The V-belt sheave angle parameter is visible only when the Belt type parameter is V-belt.

Number of V-belts

Number of parallel V-belts. The default value is 1.

Non-integer values are rounded to the nearest integer. Increasing the number of belts increases the friction force, effective mass per unit length, and maximum allowable tension.

The Number of V-belts parameter is visible only when the Belt type parameter is V-belt.

Centrifugal force

Select whether to include the effects of centrifugal force. If included, centrifugal force saturates to approximately 90% of the value of the force on each belt end. Options are:

  • Do not model centrifugal force - Suitable for HIL simulation — Default option which does not include centrifugal force contributions.

  • Model centrifugal force— Exposes the Belt mass per unit length parameter for configuring the centrifugal force contribution.

Belt mass per unit length

Linear density of each belt. Default is 0.6 kg/m.

The model uses this parameter to calculate the centrifugal loading. This parameter is enabled only if you select Model centrifugal force for the Centrifugal force parameter.

Belt direction.

Relative direction of translational motion of one belt end with respect to the other. Options include:

  • Ends move in opposite direction

  • Ends move in same direction

Maximum tension

Specifies whether the block throws an assertion when the belt tension is too large.

  • No maximum tension — (Default)

  • Specify maximum tension — Throws an assertion when the belt tension is too high. Exposes the Belt maximum tension parameter.

Belt maximum tension

Maximum allowable tension for each belt. Default is 1e+5 N.

When the tension on either end of the belt meets or exceeds this value, the simulation ends with an error.

The Belt maximum tension parameter is visible only when the Maximum tension parameter is Specify maximum tension.

Tension warning

Specifies whether the block writes a warning at the MATLAB command line when the tension at either end of the belt falls below zero.

  • Do not check tension — (Default)

  • Warn if either end loses tension

Select the Pulley tab to specify the pulley characteristics.


Pulley radius

Radius of the pulley. Default is 0.15 m.

Bearing viscous friction coefficient

Viscous friction associated with the bearings that hold the axis of the pulley. Default is 0.001 N*m/(rad/s).


Specifies whether the block models rotational inertia of the pulley.

  • No inertia — (Default)

  • Specify inertia and initial velocity — Models rotational inertia. Exposes the Pulley inertia and Pulley initial velocity parameters.

Pulley inertia

Rotational inertia of the pulley. Default is 0.01 kg*m^2.

The Pulley inertia parameter is visible only when the Inertia parameter is Specify inertia and initial velocity.

Pulley initial velocity

Initial rotational velocity of the pulley. Default is 0 rad/s.

The Pulley initial velocity parameter is visible only when the Inertia parameter is Specify inertia and initial velocity.

to specify contact characteristics, use the Contact pane.


Contact friction coefficient

Coulomb friction coefficient between the belt and the pulley surface. Default is 0.5.

Wrap angle

Angle of contact between the belt and pulley. Default is 180 deg.

Friction velocity threshold

Relative velocity required for peak kinetic friction in the contact. The friction velocity threshold improves the numerical stability of the simulation by ensuring that the force is continuous when the direction of the velocity changes. Default is 0.001 m/s.

Real-Time Simulation

Hardware-in-the-Loop Simulation

For optimal simulation performance, set the Belt > Centrifugal force parameter to Do not model centrifugal force - Suitable for HIL simulation.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.