Massless Cable Technical Documentation

The Massless Segment option in the Segment Definition of a cable segment is currently a technical preview.

  • Keyframe saving and restore will not work correctly

  • Some graphical inaccuracies are present

  • Other unspecified issues may be present.

Massless Segment Summary

Here you will find a supplement to the documentation on the Massless Cable Segment which describes how the massless segments are constructed, and the advanced uses of the feature.

Use Case

The intended use case for the massless segment is to model cables which are under tension, and where the dynamic behavior of the pulleys in the run of massless segments is not required. The Massless Cable Segment has been designed to improve performance of cable simulations. If you have performance issues, when trying to simulate a complex cable system under tension, which has many constraints from the cable, and the hinges used to create the pulleys, the massless cable segments can help you reduce the overall computational cost of the simulation. This makes massless segments especially useful for modelling complex reeving systems in an efficient way.

Summary

Using the feature is simple, to change the segment type to a massless segment, find the appropriate segment in the Segment Definitions container of the Dynamic Generic Cable Extension, and select the ‘Massless Definition’ option.

Below is a short summary of the massless segment, and its uses and functionality. More detailed information can be found in the following sections.

  • Selecting to use massless cable segment instructs Vortex to use a massless cable constraint to model the cable for that cable segment.

    • The massless segment option is mutually exclusive to the other cable segment types. If the flexible definition is selected, the segment will be flexible, if the massless definition is selected, the segment will be massless and if neither is selected, the segment will be a default rigid segment.

The massless cable constraint is a special constraint used just by the cable system, and is special because it optimizes the number of constraints required to model the cable by using the same constraint to model massless segments which occur one after the other.

  • The constraint uses the same stiffness and damping values as other segments in the cable, which are set either in the ‘Dynamics Properties’ extension that is created when the ‘Generic Cable’ extension is added to the work document, or in the ‘Dynamics Generic Cable Extension' if there is no 'Dynamics Properties’ extension.

  • Constraints in Vortex can only constraint a maximum of six parts. The massless cable constraint optimizes the constraint by treating a collection of merged parts as a single part, and by merging pulleys to the parts to which they are hinged, depending on the merge request selected in the point definition.

Limitations

  • The massless segment does not support a collision geometry

  • The massless segment does not support torsion

  • The massless segment does not support fluid interactions

Therefore, the Collision Geometry, Support Torsion, Fixed Point-Point Distance and the Fluid Definition container fields in the Segment Definition will be ignored.

Massless Segment Technical Information

In this section we discuss the implementation of the constraint, in order to assist in debugging your content, and knowing when and how to use this feature.

As with other constraints in the cable system, the constraint acts on the parts in the point definitions of the cable. A sequence of massless cable segments does this in a more complex way than other cable system constraints in order to minimize the number of constraints which are needed for the model. Fewer constraints means a faster solve time, so this allows the performance to be improved for certain types of cable systems.

  • Constraints in Vortex can simultaneously constraint a maximum of six parts. In order to maximize how many point definitions can be involved in the same massless cable constraint, the massless cable constraint doesn’t always use the parts associated to the point definition directly; if those parts are merged, the constraint will use a single representative part for all the parts which are merged together.

  • As discussed above, pulleys internal to the series of massless segments are merged to their base part, unless the ‘Dynamic’ merge request option is selected. In this case, a new constraint is begun. Any pulley which is internal to a massless constraint will be merged. See the Merge Request Options document for more details about merge requests.

  • An example of a system with massless segments can be seen below. It shows that the two adjacent massless segments are modelled using a single massless constraint, that the pulley internal to the series of massless segments is merged, and that the pulley at the end of the series of massless segments is dynamic.

Massless Segments in the Editor

Massless Constraint Options

In the editor, Massless Segments can be chosen easily in the segment definition container of the Dynamic Generic Cable Extension.

  • To set a segment to be massless, simply select the ‘Massless Definition’ checkbox in the segment definition container for the appropriate segment. An ‘Arc Segment’ definition in-between two massless segments will not interrupt the constraint, and the two segments with a pulley between them will be part of the same constraint, unless that pulley is required to be dynamic via a merge request.

The merge request options (detailed here: Merge Request Options) are found in the Point Definition container.

  • The merge request can be used to request a specific merge type for the point definition. If the merge request cannot be satisfied, the pulley will instead remain unmerged, and provide an interface between two adjacent massless constraints. A merge request cannot be satisfied if the pulley is at the ‘end’ of a massless constraint, meaning that adding the pulley to the constraint will saturate the number of parts it can contain.

Debugging Massless Constraints

There are some options for establishing whether the constraint is working correctly from within the editor.

  • Edit-time warnings

    • If the cable is configured so that there is a ring between a massless segment, and a segment of another type, a warning will be shown in the editor. This is because this configuration is not currently supported by the massless constraint.

  • Simulation-time warnings

    • As whether a pulley can be merged or not, and so how many parts are added to a massless constraint are not known until simulation time, it is possible that upon simulating, the constraint will find that the last point definition constrained by the massless constraint is a ring. Since this is unsupported currently, the editor will display a warning and the cable will not be built. An attempt can be made to rectify this problem by setting the merge request of the last pulley before the ring to ensure that it is dynamic. This will start a new constraint as close to the ring as possible, and give the best chance of fitting all parts in the constraint.

    • In general, the massless constraints made by the cable system can be configured by using the merge requests to force massless constraints to be started at specific points.

  • If the pulley and base are in different solver groups, then the pulley will not be merged.

  • The constraint accessory can be activated at simulation time to show the attachment frames relevant to the massless constraints. The attachment frames are placed at the center of mass positions of the groups of merged parts, and show what is constrained together via spring-shaped links between the frames. In this way, the parts involved, and the number of parts in, the massless constraints can be established. An example is shown below where a cable system with many falls has three constraint attachment frames at the winch, the center of mass of the upper row of pulleys, and the center of mass of the lower row of pulleys.