Main Content

Rod

R2026b

Axially flexible bar or cable

  • Rod block

Libraries:
Simscape / Driveline / Couplings & Drives

Description

The Rod block represents an axially flexible bar or cable in tension or compression.

Forces pulling away from the rod at ports B and F represent tension.

Forces pushing into the rod at ports B and F represent compression.

To represent the bar or cable, the block uses a lumped parameter model, where N is the value of the Number of flexible elements parameter. The block uses N spring and damper sets to connect N+1 lumped masses in series. The spring represents elasticity. The damper represents material damping. The figure demonstrates an equivalent network to the Rod block with the Number of flexible elements parameter set to 3.

Four Mass blocks connected by parallel Spring and Damper blocks.

When you set Parameterization to By stiffness and inertia or By material and geometry, the block evenly distributes the total mass of the rod over the mass blocks. The stiffness of the spring in each spring and damper circuit is equal to N times the stiffness of the rod material.

When you set Parameterization to By segment stiffness and inertia or By material and segment geometry, you define each segment by its individual properties. The block distributes the N flexible elements uniformly along the total rod length and interpolates the segment properties across the elements. The length of the vector parameters determines the number of segments.

Equations

The defining equations for the model are

η=2ζK⋅m2

A=π(D2−d2)4

K=E⋅AL

m=A⋅L⋅ρ

where:

  • η is the damping of the rod.

  • ς is the damping ratio of the rod material.

  • K is the stiffness of the rod.

  • A is the cross-sectional area of the rod.

  • D is the outer diameter of the rod.

  • d is the inner diameter of the rod, where

    • d = 0 for a solid rod.

    • d > 0 for an annular, or hollow, rod.

  • E is the Young's modulus, or the modulus of elasticity, of the rod material.

  • L is the length of the rod.

  • m is the mass of the rod.

  • ρ is the density of the rod material.

When you set Parameterization to By segment stiffness and inertia or By material and segment geometry, the block defines the mass, stiffness, and damping coefficient for each flexible element. xj is the location of the jth node, where j ∈ [1, 2, 3, … N+1]. The block distributes the nodes uniformly along the rod length, and assigns the mass to each flexible element, such that

Mi=∫xixi+1ρ(x)A(x)dx,

where, i ∈ [1, 2, 3, … N]. The block assigns the stiffness of the spring in each flexible element, such that

ki=(∫xixi+11E(x)A(x)dx)−1.

The damping coefficient in each flexible element is

ηi=2ζkiMi2.

In each segment, the block treats ρ(x), E(x), and A(x) as uniform and interpolates the segment properties across elements by using the tablelookup function.

The mass assigned to each nodal point is

mj=12(Mj−1+Mj) for j∈[2,3,…,N].

For the nodes at the two ends of the rod,

m1=12M1mN+1=12MN

Assumptions and Limitations

  • Cables do not go slack.

  • Bars do not buckle.

  • When you set Parameterization to By segment stiffness and inertia or By material and segment geometry, the block treats the material properties and cross-sectional geometry in each segment as uniform.

  • The block does not support combinations of varying material properties and varying segment geometry.

Ports

Conserving

expand all

Translational conserving port associated with the rod or cable base.

Programmatic Use

Port: B

Translational conserving port associated with the rod or cable follower.

Programmatic Use

Port: F

Parameters

expand all

Rod

Parameterization method for the rod. Select from these options:

  • By stiffness and inertia — Specify uniform stiffness and mass for the entire rod.

  • By material and geometry — Specify material properties and uniform geometry. The block computes the stiffness and mass from the geometry.

  • By segment stiffness and inertia — Specify stiffness and mass for each segment individually as vectors.

  • By material and segment geometry — Specify material properties and geometry for each segment. The block computes the stiffness and mass for each segment from the geometry.

Programmatic Use

Parameter: parameterization
Values: "sdl.enum.rodParameterization.stiffnessInertia" | "sdl.enum.rodParameterization.materialProperties" | "sdl.enum.rodParameterization.StiffnessInertiaVaried" | "sdl.enum.rodParameterization.MaterialPropertiesVaried"

Stiffness of the bar of cable material.

Dependencies

To enable this parameter, set Parameterization to By stiffness and inertia.

Programmatic Use

Parameter: stiffness

Mass of the bar or cable.

Dependencies

To enable this parameter, set Parameterization to By stiffness and inertia.

Programmatic Use

Parameter: mass

Cross-sectional geometry of the bar or cable.

Dependencies

To enable this parameter, set Parameterization to By material and geometry or By material and segment geometry.

Programmatic Use

Parameter: geometry
Values: "sdl.enum.shaftConstruction.solid" | "sdl.enum.shaftConstruction.annular"

Length of the bar or cable.

Dependencies

To enable this parameter, set Parameterization to By material and geometry.

Programmatic Use

Parameter: length

Outer diameter of the bar or cable.

Dependencies

To enable this parameter, set Parameterization to By material and geometry.

Programmatic Use

Parameter: diameter_outer

Rod inner diameter.

Dependencies

To enable this parameter, set Parameterization to By material and geometry and set Geometry to Annular.

Programmatic Use

Parameter: diameter_inner

Density of the bar or cable material.

Dependencies

To enable this parameter, set Parameterization to By material and geometry or By material and segment geometry.

Programmatic Use

Parameter: density

Young's modulus of the bar or cable material.

Dependencies

To enable this parameter, set Parameterization to By material and geometry or By material and segment geometry.

Programmatic Use

Parameter: Youngs_modulus

Bar or cable material damping ratio.

Programmatic Use

Parameter: damping_ratio

Number of flexible elements, N, that the block uses to approximate the bar or cable. A larger value of N increases the accuracy of the model but reduces simulation speed. A single-element model, where N = 1, approximates only the first eigenfrequency of the rod.

For higher-mode accuracy, increase N. For example, a 16-element model represents the four lowest eigenfrequencies with an accuracy of 0.1, 1.9, 1.6, and 5.3 percent.

When you set Parameterization to By segment stiffness and inertia or By material and segment geometry, the value of this parameter controls discretization accuracy.

Programmatic Use

Parameter: n_elements

Stiffness of each segment. Specify the parameter as a vector of positive elements, with the elements in order from the base to the follower.

Dependencies

To enable this parameter, set Parameterization to By segment stiffness and inertia.

Programmatic Use

Parameter: stiffnesses

Mass of each segment. Specify the parameter as a vector of positive elements, with the elements in order from the base to the follower.

Dependencies

To enable this parameter, set Parameterization to By segment stiffness and inertia.

Programmatic Use

Parameter: masses

Length of each segment. Specify the parameter as a vector of positive elements, with the elements in order from the base to the follower.

Dependencies

To enable this parameter, set Parameterization to By material and segment geometry.

Programmatic Use

Parameter: lengths

Outer diameter of each segment. Specify the parameter as a vector of positive elements, with the elements in order from the base to the follower.

Dependencies

To enable this parameter, set Parameterization to By material and segment geometry.

Programmatic Use

Parameter: diameter_outers

Inner diameter of each segment. Specify the parameter as a vector of positive elements, with the elements in order from the base to the follower.

Dependencies

To enable this parameter, set Parameterization to By material and segment geometry and set Geometry to Annular.

Programmatic Use

Parameter: diameter_inners

Viscous Losses

Viscous friction coefficients at the base port, B, and the follower port, F.

Programmatic Use

Parameter: mu_visc

Extended Capabilities

expand all

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

Version History

Introduced in R2018b

expand all