Couplers

A Coupler entity defines an algebraic relationship between the degrees of freedom of two or three joints.

This constraint element may be used to model idealized spur gears, rack and pinion gears, and differentials as simple constraints that relate the displacements in a set of joints. Couplers can be used to specify relationships between translational, rotational, and cylindrical joints only.

Create Couplers using the Couplers Tool

The following are the standard initial steps to create any type of coupler.
  1. From the Model Browser, select the system to which the coupler is to be added.
  2. From the Model ribbon, click the Couplers icon to invoke the Couplers create/edit context.
    A Couplers guide bar appears.
    Note: The Joint 1 collector is active by default.
  3. Optional: Select the Create Pair check box to create a pair entity.
    A coupler entity, like most of the entities that are created in MotionView, can be a single entity or a pair entity. Pair entities help to create models that are symmetric about the Z-X plane of the model. Their properties can also be symmetric about the Z-X plane (in other words, the Y property is mirrored). Asymmetry or symmetry of the coupler can be decided or specified when editing the created coupler.
  4. Select the number of joints to constrain.
    • 2 joints

      OR

    • 3 joints
  5. Select the first joint reference (Joint 1).
    • Select a joint in the modeling window.

      OR

    • On the guide bar, click the Advanced Selector and make your selection in the Model Tree.
    Note: When defining a pair coupler, use pair entities for Joint 1, Joint 2, and so on.
  6. Select the second joint reference (Joint 2).
    • Select a joint in the modeling window.

      OR

    • On the guide bar, click the Advanced Selector and make your selection in the Model Tree.
  7. If the number of joints to constrain is 3, select a third joint reference (Joint 3).
    • Select a joint in the modeling window.

      OR

    • On the guide bar, click the Advanced Selector and make your selection in the Model Tree.
  8. Optional: Click to reset the entity selections and select new entities.
  9. Once the reference selections are made, create the coupler using one of the following methods:
    • Click on the guide bar to create and orient the entity.

      OR

    • Click the button that appears at the mouse location in the modeling window.

      OR

    • Click to create the entity and exit the guide bar selections for this coupler.
    Once the coupler has been added to the model, the corresponding coupler will automatically be displayed in the browser area.
    Note: By default, variables names of entities in MotionView follow a certain convention. For example, all coupler entities have a variable name starting with 'c_'. This is the recommended convention to follow when building models in MotionView since it has many advantages in model editing and model manipulation.
Tip: A new coupler can be created from the Model Browser by right-clicking on the Model label (or any system/analysis of your choice) and selecting Add > Constraint > Coupler or by right-clicking Couplers and selecting Add Coupler.

Edit Couplers

  1. If the Couplers Entity Editor is not currently displayed, select the desired coupler by clicking on it in the Model Browser or in the modeling window.
    The Couplers Entity Editor is automatically displayed.
  2. Select the number of joints to constrain from the Type option.
    Note: If the selected coupler is a pair entity, first distinguish between the Left and Right tabs using the available drop-down menu to select the Side option, and then edit the properties. When defining a pair coupler, use pair entities for the joints.
    Tip: Use the Symmetry option to adjust the symmetry of the coupler's properties. Specifically, this option will determine if the pair entity is symmetric. If yes, then it is also responsible for specifying which side of the values of the pair entity (left or right) is to be used, by selecting Leading-Left or Leading-Right. Selecting any one side will make values of that side as “leader” and the values of the other side ("follower") will gray out and follow the values on the leader side.
  3. Click on the Joint 1 collector and pick the desired joint from the modeling window, or double-click the Advanced Selector to open the Model Tree (from which the desired joint can be selected).
  4. In the same manner, click the Joint 2 collector and pick the second joint for the coupler.
  5. If the number of joints to constrain is set to 3, repeat the same step for the Joint 3 collector.
    Note: If any of the joints are cylindrical, select the type of the displacement to be controlled by using the drop-down menus located to the right of each selected joint on the Entity Editor (translational or rotational).
  6. In the case of a two joint coupler, enter in the displacement ratio between joint one and joint two in the Ratio 1 box, in the Properties menu. In the case of a three joint coupler, enter in the two displacement ratios between joint one and joint two, and between joint two and joint three.

Couplers Properties

Property Description
Side If a pair entity is defined, select each Side, to define properties separately.
Symmetry Option used to define whether the coupler is symmetric and which side is the one responsible for properties definition.
General
Label Descriptive label for the entity.
Varname Variable name of the entity.
ID Integer identifier.
Active Active state of the entity. True or False. Entity is deactivated if False.
Use Virtual Make this a virtual constraint.*
Type Type of Coupler (2 or 3 joints).
Joint 1 First joint selection.
Jt 1 Coupling Axis First joint’s coupling axis. It defines the type of displacement to be controlled and is automatically specified. In the case of a cylindrical joint, you should manually select the type of displacement (translational or rotational).
Joint 2 Second joint selection.
Jt 2 Coupling Axis Second joint’s coupling axis. It defines the type of displacement to be controlled and is automatically specified. In the case of a cylindrical joint, you should manually select the type of displacement (translational or rotational).
Joint 3 Third joint selection (optional, this option is active only if Type 3 joints is selected).
Jt 3 Coupling Axis Third joint’s coupling axis (this option is active only if Type 3 joints is selected. It defines the type of displacement to be controlled and is automatically specified. In the case of a cylindrical joint, you should manually select the type of displacement (translational or rotational).
Properties
Ratio 1 Displacement ratio between joint one and joint two.
Ratio 2 Displacement ratio between joint two and joint three (active in the case of 3 joints type selection).
User-defined Selecting the check box, allows specifying the properties of the coupler using user subroutines.
User expr Expression defined with the USER solver function with parameters being passed to the user subroutine.
Use local file and function name Activating the check box, enables the definition of properties through a file.
Local file Local file selection for the subroutine.
Function Type Function type selection.
Function name Function name definition.
Note & Tags
Note Optional descriptive note.
Attachment Candidates Add tags for the entity to use as possible attachments to Systems/Assemblies/Analyses.

*Defines whether the constraint is virtual or regular. If the Use Virtual check box is selected, the constraint is implemented as a virtual constraint. Otherwise, the constraint is implemented as a regular algebraic constraint. See Comment 17 in Constraint: Joint for more information about virtual joints.

Use User-Defined Properties for a Coupler

If desired, define the coupler using the User-Defined tab, which will allow you to specify the properties of the coupler using user subroutines.

  1. From the Properties menu, click the User-defined properties check box.
  2. Define the user subroutine.
    1. Provide an expression with the USER solver function with parameters being passed to the user subroutine.
    2. Alternatively, activate the Use local file and function name check box to specify a local file where the subroutine code can be accessed by the solver.
      If this option is not specified, MotionSolve will search for a subroutine following its user subroutine loading rules.
    3. Select a Function Type from the drop-down menu.
    4. Select the Local File for the subroutine.
      The type of file to be specified will depend on the selected function type. For example, if DLL is selected, you can specify a file with a .dll extension (for Windows) or an .so extension (for Linux).
    5. Specify the function name in the subroutine that defines the entity, or accept the default name provided by MotionView.