
FUNCTION=USER(r1[,...,r30]) | Specifies up to thirty user-defined constants passed to the externally-defined subroutine COUSUB, COUXX, COUXX2. These subroutines define the coupler displacement constraint function, and provide its first and second order partials, respectively (see the COUSUB, COUXX, COUXX2 subroutines). |
JOINTS=id1,id2[,id3] | Specifies the identifiers of as many as three joints whose translational and/or rotational displacements are to be coupled. You can only specify identifiers of translational, revolute, and cylindrical joints. |
ROUTINE=lib1::cou1, lib2::cou2, lib3::cou3 | Specifies alternative library and subroutine names for the user subroutines COUSUB, COUXX, and COUXX2 respectively. Learn more about the ROUTINE Argument. |
SCALES=[r1,]r2[,r3] | Defines the relative motion of the joints specified with JOINTS. Adams Solver (FORTRAN) uses the values in the SCALES argument to form the equation: (r1 * q1) + (r2 * q2) + (r3 * q3) = 0, where r1, r2, and r3 are the scale factors for the three joints, and for each joint, q1, q2, and q3 are the translational or rotational displacements of the joint I marker with respect to the J marker. Suppose two joints are being coupled, and SCALES=1,-2. The equation that relates the two joints is: (1 * q1) + (-2 * q2) = 0 or q1 = 2 * q2. The displacement (q1) of the I marker with respect to the J marker in the first joint is twice that of the displacement (q2) of the I marker with respect to the J marker in the second joint; the two displacements have the same sign. If two joints are specified in the JOINTS argument, r2 must be specified. Adams Solver (FORTRAN) assumes r2 if only one value is specified and uses the default value of 1 for r1. If three joints are specified in the JOINT argument, you should either specify three scale values r1,r2, and r3, or provide only two scale values. In the latter case, the two values are assigned by the Solver to r2 and r3 (in this order) while r1 is given the default value 1.0. Defaults: r1 (1); r2, r3 (none) Range: non-zero real numbers |
![]() | Indicates whether joints transfer translational or rotational motion. If the coupler includes no cylindrical joints, do not use TYPE. However, if the coupler includes one or more cylindrical joints, TYPE must be used. In that case, input T (translational) or R (rotational) for each joint specified with JOINTS, even the translational or revolute joints. Because Adams Solver assumes that translational joints transfer translational motion and that revolute joints transfer rotational motion, Adams Solver ignores T’s and R’s for translational and revolute joints; they are place holders only. But because a cylindrical joint permits either translational or rotational motion, Adams Solver needs a T or R for each cylindrical joint to determine the type of motion on which the coupler acts. |
Tip: | ■To measure translational motion, Adams Solver (FORTRAN) finds the displacement of the I marker origin with respect to the J marker origin along the J marker z-axis. Positive translations are along the positive z-axis of J, and negative translations are along its negative z-axis. ■To measure rotational motion, Adams Solver (FORTRAN) finds the displacement of the x-axis of the I marker with respect to the x-axis of the J marker about the common z-axis of the I and the J markers. To determine the positive sense of rotation, apply the right-hand rule to the z-axis. ■The COUPLER can relate any combination of translational and rotational motions. A two-joint COUPLER, for example, can relate translational motion to translational motion, rotational to rotational, or translational to rotational. |
■The COUPLER is a constraint between joint degrees of freedom. Therefore, it models only the reaction forces that are along or about the degrees of freedom that are being coupled. You can model a pair of mating spur gears as a COUPLER between two REVOLUTE joints. If (I1, J1) are the I and J markers of the first joint and (I2, J2) are the I and J markers of the second joint, the COUPLER constraint is: AZ(I1,J1) * scale_1 + AZ(I2,J2) * scale_2 = 0 where scale_1 and scale_2 are the radii of the two gears. The reaction forces generated by the COUPLER are the torques at the two joints required to maintain the constraint shown above. The reaction on the first joint is the torque about the z-axis of marker J1. The reaction on the second joint is the torque about the z-axis of marker J2. You can compute the tooth force from these torques, but Adams Solver (FORTRAN) does not explicitly solve for them. You can also model a rack and pinion gear as a COUPLER relating the rotation in a REVOLUTE joint, with the translation in a TRANSLATIONAL joint. If (I1, J1) are the I and J markers of the REVOLUTE joint and (I2, J2) are the I and J markers of the TRANSLATIONAL joint, the COUPLER constraint is: AZ(I1,J1) * scale_1 + DZ(I2,J2,J2) * scale_2 = 0 where scale_1 is the pinion radius, and scale_2=1. The COUPLER reaction on the REVOLUTE joint is a torque about the z-axis of Marker J1, and the reaction on the TRANSLATIONAL joint is a force along the z-axis of Marker J2. |
Caution: | ■When measuring rotational motions in couplers, Adams Solver (FORTRAN) assumes radians rather than degrees. Use a D after the value to indicate that the units are degrees. ■When measuring translational motions in couplers, Adams Solver (FORTRAN) uses the system units of translation. ■If one or more cylindrical joints for the coupler is specified, Adams Solver (FORTRAN) requires you to input one or more entries for the TYPE argument, depending on the order of the cylindrical joint(s) in the JOINTS argument list. Adams Solver (FORTRAN) must have a type entry for every cylindrical joint and a place holder entry for every joint entered before a cylindrical joint on the JOINTS argument. |
