ACCELERATION | Specifies that the FUNCTION argument defines a second time derivative expression as a function of time. This expression is integrated twice to calculate a corresponding displacement. Notice, the provided expression may or may not define the acceleration of a component in the model. For example, if using the B2 option, the provided expression is the second time derivative of B2 (Euler angle) which may need other terms to define the angular acceleration of some component of the model. Default: DISPLACEMENT |
B1 | Specifies the first angle of the Body 1-2-3 Euler angle sequence as a function of time. The 123 rotation sequence of the I marker coordinate system is defined with respect to the J marker coordinate system. Range: None Default: None |
B2 | Specifies the second angle of the Body 1-2-3 Euler angle sequence as a function of time. The 123 rotation sequence of the I marker coordinate system is defined with respect to the J marker coordinate system. Range: None Default: None |
B3 | Specifies the third angle of the Body 1-2-3 Euler angle sequence as a function of time. The 123 rotation sequence of the I marker coordinate system is defined with respect to the J marker coordinate system. Range: None Default: None |
DISPLACEMENT | Specifies that the FUNCTION argument defines the motion displacement. This is the default. |
![]() | Specifies an expression or defines and constants to be passed to the MOTSUB user-written subroutine to determine the motion. The motion must be a function of time only and not a function of the state variables. To determine the motion with an expression, follow FUNCTION with an equal sign and the expression. To determine the motion with a user-written subroutine, follow FUNCTION with an equal sign, the character string USER, and the values (r1[,...,r30]) that you want Adams Solver (FORTRAN) to pass to MOTSUB. If the FUNCTION argument is used, it must either be the last argument in the MOTION statement or be followed by a backslash (\). |
ICDISP | Specifies the initial displacement of the motion, when the motion is defined in terms of velocity or acceleration. Default: 0 |
ICVEL | Specifies the initial velocity of the motion, when the motion is defined in terms of acceleration. Default: 0 |
I=id, J=id | Specifies the identifiers of the two markers whose displacement is being controlled. Range: Any valid non-floating marker not belonging to a flexible body Default: None |
JOINT=id | Specifies the identifier of the joint to which the motion is assigned. The joint must be either translational, revolute, or cylindrical. If you specify a translational joint, Adams Solver (FORTRAN) assumes you are assigning translational motion and does not allow you to assign rotational motion. Similarly, if you specify a revolute joint, Adams Solver (FORTRAN) assumes you are assigning rotational motion and does not allow you to assign translational motion. However, if a cylindrical joint is specified, either translational or rotational motion can be specified with TRANSLATION or ROTATION, respectively. |
ROTATION | Designates a rotational motion. This argument is necessary only when rotational motion is being applied to a cylindrical joint. |
ROUTINE=libname::subname | Specifies an alternative library and name for the user subroutine MOTSUB. Learn more about the ROUTINE Argument. |
TRANSLATION | Designates a translational motion. This argument is necessary only when translational motion is being applied to a cylindrical joint. |
VELOCITY | Specifies that the FUNCTION argument defines a time derivative expression as a function of time. This expression is integrated to calculate the corresponding displacement. This expression may or may not define the velocity of a component in the model. For example, if using the B2 option, the provided expression is the time derivative of B2 (Euler angle) which may need other terms to define the angular velocity of some component in the model. Default: DISPLACEMENT |
X | Specifies DX(I,J,J) as a function of time. DX is the x component of the displacement of the I marker with respect to the J marker evaluated in the J marker coordinate system. Range: None Default: None |
Y | Specifies DY(I,J,J) as a function of time. DY is the y component of the displacement of the I marker with respect to the J marker evaluated in the J marker coordinate system. Range: None Default: None |
Z | Specifies DZ(I,J,J) as a function of time. DZ is the z component of the displacement of the I marker with respect to the J marker evaluated in the J marker coordinate system. Range: None Default: None |
Tip: | ■If you want to determine the translational or rotational force a motion applies, use a REQUEST statement with the FORCE argument. ■A MOTION statement can define zero motion with respect to time. |
Important: | The FORTRAN Solver does not consider any change to MOTION function expression to be a topology change. This is because the FORTRAN Solver assumes that MOTION function expression will always be an explicit function of time. The C++ Solver attempts to determine if a MOTION function expression is an explicit function of time by analyzing it. If the C++ Solver determines that a MOTION function expression that IS an explicit function of time has changed to a new expression that is also an explicit function of time, then there is no change in model topology (which is equivalent to the FORTRAN Solver). However, if a MOTION function expression changes to something that IS NOT an explicit function of time, then the C++ Solver concludes that a topology change has occurred and an analysis separator will be added to the output files. This is different behavior from the FORTRAN Solver because the FORTRAN Solver will never add separators to the output files when a MOTION expression changes. |
Caution: | ■The motion must be a function of only time, not displacements, forces, or any other variables in the system. Otherwise, Adams Solver (FORTRAN) may have difficulty finding a solution. ■Motion function expressions are required to have first and second time derivatives. Non-smooth functions that do not have continuous first and second time derivatives can cause severe numerical problems. |
■Be careful when specifying multi-axial rotational motions between a pair of markers. B1, B2, and B3 specify a Body 1-2-3 rotation sequence and are Euler angles. This implies that the first rotation occurs about the x-axis of the J marker, the second rotation about an intermediate y-axis and the last about the z-axis of the I marker. For example, if you are measuring rotations between two markers in the sequence z, y, x, this corresponds to a Body 3 -2 1 rotation sequence, you will have to convert this to a Body 1-2-3 rotation sequence before specifying it in a MOTION. | |
■When using any of the following motion types: B1, B2, or B3, avoid situations where the B2 angle is at +/- 90degrees or +/- 270 degrees. At these angles the Body 1-2-3 angles are undefined. If this situation occurs, Adams Solver (FORTRAN) issues a warning and stops the execution. There is no solution for this condition. ■Do not use an initial conditions argument, such as, IC, ICTRAN, or ICROT, on a JOINT statement with a motion that acts in the same direction on the joint. If both are used, Adams Solver (FORTRAN) uses the MOTION statement and ignores the initial conditions argument(s) specifying motion in the same direction(s) specified by the JOINT statement. | |
■If the initial rotational displacement of a revolute or cylindrical joint (as specified by an IC or ICROT argument on a JOINT statement or by a MOTION statement) varies by anywhere from 5 to 60 degrees from the initial configuration of the joint as indicated by the input positions of the two markers constituting the joint, Adams Solver (FORTRAN) issues a warning message and continues execution. If the variation is greater than 60 degrees, Adams Solver (FORTRAN) issues an error message and stops execution. ■If a MOTION statement generates non-zero initial part accelerations, the Adams Solver (FORTRAN) integrator may not produce reliable accelerations and velocities for the first two or three internal integration steps. Adams Solver (FORTRAN) automatically corrects for this, so that values returned at the first output step are accurate. However, a sensor that depends on the accelerations or reaction forces due to this motion may trip unexpectedly prior to the first output step, even though the solution appears correct when the sensor is removed. If this occurs, you should modify the displacement function in the MOTION statement so that the initial accelerations are zero. | |
■The ABAM integrator does not support the VELOCITY and ACCELERATION arguments on the MOTION statement. ■Adams Solver (FORTRAN) cannot perform a kinematic analysis on a zero degree-of-freedom model containing motions with VELOCITY and ACCELERATION arguments. A dynamic analysis should be performed instead. ■A function expression for a MOTION statement can not use BISTOP and/or IMPACT functions. |