MOTION

The MOTION command redefines and/or lists the characteristics of a MOTION statement which specifies a system degree of freedom as an explicitly function of time. For more information, see the MOTION statement.

Format

Arguments

 
ACCELERATION
Respecifies that the FUNCTION argument defines the motion acceleration as a function of time.
B1
Respecifies the first angle of the Body 1-2-3 Euler angle sequence as a function of time.
Range: None
B2
Respecifies the second angle of the Body 1-2-3 Euler angle sequence as a function of time.
Range: None
B3
Respecifies the third angle of the Body 1-2-3 Euler angle sequence as a function of time.

Range: None
DISPLACEMENT
Respecifies that the FUNCTION argument defines the motion displacement. This is the default.
Respecifies an expression or redefines and passes constants to a user-written subroutine to determine the motion. The motion must be a function of time only and not a function of the state variables.
ICDISP
Respecifies the initial displacement of the motion, when the motion is defined in terms of velocity or acceleration.
ICVEL
Respecifies the initial velocity of the motion, when the motion is defined in terms of acceleration.
I=id, J=id
Respecifies the identifiers of the two markers whose displacement is being controlled.
Range: Any valid non-floating marker not belonging to a flexible body
JOINT
Respecifies the identifier of the joint to which the motion is assigned. The joint must be translational, revolute, or cylindrical.
LIST
Lists the current values of the data in the MOTION statement.
ROTATION
Respecifies that Adams Solver (C++) is to apply a rotational motion. The type of motion is ambiguous for cylindrical joints only.
ROUTINE=libname::subname
Specifies an alternative library and name for the user subroutine MOTSUB.
Learn more about the ROUTINE Argument.
TRANSLATION
Respecifies that Adams Solver (C++) is to apply a translational motion. The type of motion is ambiguous for cylindrical joints only.
VELOCITY
Respecifies that the FUNCTION argument defines the motion velocity.
X
Respecifies DX(I,J,J) as a function of time. Range: None
Y
Respecifies DY(I,J,J) as a function of time. Range: None
Z
Respecifies DZ(I,J,J) as a function of time. Range: None

Extended Definition

The MOTION command allows you to list or modify the characteristics of an existing MOTION statement. You can change the motion definition, change the joint to which the motion is being applied, and/or change the type of motion on a cylindrical joint.
After a change to a MOTION, Adams Solver (C++) reprocesses the model at the next SIMULATE command, as if it had just been read in from the dataset. During the reprocessing, Adams Solver (C++) checks the entire model for consistency, reinitializes user subroutines, and recomputes initial conditions.
While checking, Adams Solver (C++) verifies that the model is still valid with the new MOTION. If, for example, the new MOTION conflicts with another MOTION at the same joint, Adams Solver (C++) issues an error.
Adams Solver (C++) also reinitializes user subroutines to re-establish functional dependencies. For each element that refers to a user-written subroutine, Adams Solver (C++) calls the user-written subroutine with IFLAG set to true.
Prior to the actual simulation, Adams Solver (C++) computes initial conditions for the model. If this is the first simulation, Adams Solver (C++) begins with the positions and velocities specified in the dataset. If you ran a previous simulation, Adams Solver (C++) begins with the final displacements and velocities. Adams Solver (C++) then adjusts the initial conditions to ensure that they are consistent with the model constraints. If this is the first simulation, Adams Solver (C++) also maintains any user-supplied joint initial-conditions and part positions specified as EXACT.

Examples

MOTION/3,JOINT=21
This MOTION command applies Motion 3 to Joint 21.
MOTION/11, FUNCTION=5+2*TIME
This MOTION command specifies, as a function of time, the translation or rotation for Motion 11.
See other Constraints available.