Overview of Mechanism Design The Mechanism Design task lets

advertisement
Overview of Mechanism Design
The Mechanism Design task lets you simulate and analyze the mechanical behavior of an assembly.
Understanding Mechanisms
A mechanism is two or more rigid bodies arranged so that one rigid body is constrained to move relative
to another.
You can create constraints, such as joints, gears, and couplers, to control the motion between the rigid
bodies. Once you've defined constraints, you can apply motion definitions to them. You can also define
other applied loads on the entire mechanism, such as forces or gravity.
You can further define the relationships in your mechanism with external loads, gears, couplers, and
spring-dampers to create a robust simulation of an actual mechanism.
Solving Mechanisms
Mechanism Design includes an internal solver that lets you perform kinematic analyses on your
mechanism. A kinematic analysis simulates the motion of a mechanical system as a function of time and
determines the range of values for displacement, velocity, and acceleration of rigid bodies. It also
determines the reaction forces on constraints. However, it does not solve for mechanisms that have any
degrees of freedom, and won't generate motions that result from initiating forces. Such mechanisms
require dynamic analyses.
With a special license (the product is called Motion Simulation), you can also perform dynamic analyses
within I-DEAS, using the internal ADAMS/Solver. Or, you can define the mechanism within Mechanism
Design and then export the data to an external ADAMS/Solver.
Once you've solved a mechanism (either kinematically or dynamically), you can post process the results
of the solve. For example, you can animate the mechanism or graph results data.
See Also


Solving a Mechanism
Exporting and Importing Mechanism Data
General Process for Creating a Mechanism
Follow this basic approach for creating a mechanism.
Pre-Processing
Define and constrain the mechanism geometry.
(A) create assembly hierarchy; (B) define rigid bodies if necessary; (C) create constraints; (D) create the
ground; (E) verify the degrees of freedom
Create loads, such as forces and motions.
(F) create motions; (G) create additional loads - optional; (H) create spring dampers - optional
Processing
Define parameters for the solve and solve the mechanism.
(A) create ADAMS requests if you want additional results; (B) define the solve parameters; (C) solve the
mechanism
Post-Processing
You can perform any of the post-processing functions at any time after solving the mechanism.
(A) graph the functions; (B) animate the mechanism; (C) initiate a motion analysis; (D) display
configurations; (E) interference check
For more information about specific icons, use Help, On Context.
Understanding Rigid Bodies
A rigid body is a part (or subassembly) whose shape (or the orientation of its instances) is fixed and
remains unaltered when forces are applied to it.
A mechanism consists of two or more rigid bodies, with one rigid body constrained to move relative to
another. Joints, gears, and couplers control the motion between rigid bodies. The behavior of a
mechanism results from the constraints and loads that you apply to rigid bodies.
In this figure:
 A = input motion
 B = output motion
 C = grounded rigid body.
Each rigid body has six degrees of freedom (DOF):
 translation in each of the x, y, and z directions
 rotations about the x, y, and z axes
Every constraint, such as a joint, that you create on a rigid body removes between one and six DOF,
depending upon the type of constraint.
Creating Rigid Bodies Implicitly or Explicitly
Whenever you create a constraint (joint, marker, gear, coupler, or spring-damper), the software implicitly
creates rigid bodies for you. For example, if you define a joint, the software creates rigid bodies on the
two instances constrained by that joint.
Though you usually don't create a rigid body explicitly, you can use Create Rigid Body to define an
instance of a part or subassembly as a rigid body.
Locate the icon.
Explicitly created rigid bodies can be useful. For example, you can isolate a subassembly of your
mechanism by making it a rigid body. This essentially locks the subassembly's parts together so that you
can focus your attention elsewhere in the mechanism.
Note: You can't define an instance as a rigid body if a parent or child of that instance is already defined as
a rigid body.
Creating Joints
The icons on the Constraints subpanel let you define joints and other types of constraints.
Locate the icon.
Mechanism Design lets you create different kinds of joints, including translational, planar, and universal
joints. General Joints lets you define special rackpin and screw joints. Mechanism Design also lets you
define multi-joints, such as gears and couplers, as well as cam constraints.
A joint connects two mechanical components. All joints require two rigid bodies and a marker attached to
each one. Markers are coordinate systems that represent the location and axes of the joints in your
mechanism.
Note: Unless you're creating a mechanism that requires gears, couplers, or complex constraints, you'll
probably never have to explicitly define rigid bodies or their markers. When you create a joint by picking
two instances, the software automatically creates them for you.
General Process for Creating Joints
These steps describe the general process for creating most types of joints:
1. Before you create a joint, orient the two instances with which you want to create the joint.
1. Pick the joint creation icon, such as Revolute, from the Constraints subpanel.
3. Pick the two instances you want to use to create the joint. You can also use these MB3 options:
Hierarchy opens the Hierarchy form where you can pick assembly instances.
Marker picks markers you've already created on an instance.
4. Pick a point to locate the joint origin.
5. Pick vectors to define the joint's axes (when necessary).
See Also


Creating Markers
Understanding Degrees of Freedom
Understanding Degrees of Freedom
A degree of freedom is an unconstrained displacement function. Degrees of freedom (DOF) indicate how
an entity can move relative to another entity. Every rigid body in a mechanism has six DOF:
 translations in the X, Y, or Z direction
 rotations about the X, Y, or Z axis
In a mechanical system simulation, connecting two rigid bodies by a joint limits the bodies' motion to the
DOF allowed by the joint. Each kind of joint constrains different degrees of freedom to allow different
types of motion.
Each freedom is mathematically represented as a joint variable. Thus, when you define all of the joint
variables in a mechanism, the position of every rigid body is also defined. You can plot these joint
variables after you solve for the motion of the mechanism.
Degrees of Freedom for Different Joint Types
Joints remove between one and six DOF. This table summarizes the degrees of freedom for each joint
type.
Joint
Translational
Degrees
of Rotational Degrees of Freedom Total Degrees of Freedom
Type
Freedom Constrained
Constrained
Constrained
Revolute 3
2
5
Translatio
2
3
5
nal
Cylindric
2
2
4
al
Spherical 3
0
3
Universal 3
1
4
Planar
1
2
3
Fixed
3
3
6
Determining the DOF for a Mechanism
Use Verify Mechanism to have the software automatically calculate the DOF for a mechanism.
Locate the icon.
You can also use the Gruebler Count to manually determine the DOF in a mechanism:
DOF=[6*(number of rigid bodies -1)] - (number of active constraints)
Note: Because the grounded rigid body doesn't contribute any degrees of freedom to the model, one rigid
body is subtracted from the total number of rigid bodies.
Creating Markers
Markers are coordinate systems that represent the location and axes of the joints in your mechanism. You
can also use markers to:
 apply forces
 identify points for measuring displacement, velocity, and acceleration
 create a convenient center of rotation or a translational axis when you have irregularly shaped
geometry
 identify connection points for spring-dampers or contact points for gears
Each marker has an origin and an XYZ orientation with respect to its rigid body. You'll never see the
markers for a joint, unless you turn off joint visibility. Instead, you'll see a joint symbol, which displays
the action vector for the joint.
The software creates markers automatically when you create joints. However, you can also use Create
Marker to define markers.
Locate the icon.
Note: If you create a marker on an instance that isn't already defined as a rigid body, the software
rigidifies that instance.
Defining the I and J Markers
For each marker pair at a joint, the software always defines one as the "J" marker and the other as the "I"
marker.
 If you pick markers to define the joint, the first marker that you define becomes J and the second
becomes I.
 If you pick instances in an assembly to define the joint, the J marker is placed on the first instance
and the I marker is placed on the second instance.
In solution results for motions, the body identified by the I marker moves with respect to the
corresponding J marker.
Understanding Revolute Joints
Use Revolute Joint on the Constraints subpanel to define a revolute joint.
Locate the icon.
A revolute joint allows one DOF: the angle of rotation (in degrees) about the Z axes of the two rigid body
markers associated with the joint. Thus, its joint variable is the angle between the X axes of the two
markers.
You can create this joint by selecting two (previously created) markers instead of two rigid bodies.
However, you must ensure that the Z axes of both markers are aligned and that the origins of both
markers are coincident. If you create a joint by picking two instances, the software creates and aligns the
markers automatically.
Note: If the axes of the markers aren't all collinear, the initial value of the joint variable will be the angle
between the X axes.
Understanding Translational Joints
Translational Joint on the Constraints subpanel lets you define translational joints.
Locate the icon.
A translational joint allows one DOF: the translation along Z axes of the two rigid body markers
associated with the joint. Its joint variable is the distance between the origin of the marker on the first
rigid body and the origin of the marker on the second rigid body,
If the markers aren't coincident, the initial value of the joint variable is equal to the distance between the
origins (i.e., the position of the I rigid body with respect to the J rigid body).
You can create this joint by selecting two previously created markers instead of two rigid bodies.
However, you must ensure that the X and Y axes of both markers are aligned, and that the Z axes are
collinear. If you create a joint by picking two instances, the markers will be created and aligned
automatically.
Understanding Cylindrical Joints
Cylindrical Joint on the Constraints subpanel lets you define cylindrical joints.
Locate the icon.
A cylindrical joint allows two DOF: one translational and one rotational about the Z axes of the markers
associated with the joint. Thus, the joint variables represent:
 the distance between the origin of the two markers along their z-axes
 the angle between the x-axes of the markers
If the axes of the marker aren't coincident, the initial values of the joint variables are equal to the distance
between the origins and the angle between the X axes.
You can create this joint by selecting two (previously created) markers instead of two rigid bodies.
However, you must align the Z axes of the markers and make them collinear. If you create a joint by
picking two instances, the software creates and aligns the markers automatically.
Understanding Spherical Joints
Spherical Joint on the Constraints subpanel lets you create spherical joints.
Locate the icon.
A spherical joint allows three rotational DOF: the rotations about the X, Y, and Z axes of the markers
associated with the joint. Thus, the variables are the rotations between each pair of marker axes: X 1 X2, Y1
Y2 and Z1 Z2. You can't apply a motion to this joint, but it accurately transfers the motion of one rigid
body to another.
The initial values of the joint variables are equal to the angles between each pair of axes.
Avoid configurations that allow the joint variable Z to approach 0° or 180°. This causes the spin-axes of
joint variables X and Y to become collinear, which may cause mathematical problems.
You can create this joint by selecting two (previously created) markers instead of two rigid bodies.
However, you must ensure that their origins are coincident and that their Z axes aren't aligned. If you
create a joint by picking two instances, the software automatically creates markers which have coincident
origins with the second marker rotated 90 degrees about its own Y axis to the first marker.
Understanding Planar Joints
Planar Joint on the Constraints subpanel lets you define planar joints.
Locate the icon.
A planar joint allows three DOF: two translations (one along the X axes and one along the Y axes) and
one rotation about the Z axes of the markers associated with a joint. The joint variables represent:
 (X), the distance between the origin of the two markers along their X axes
 (Y), the distance between the origin of the two markers along their Y axes
 () the angle about Z axes of the markers
You can't apply a motion to this joint, but it accurately transfers the motion of one rigid body to another.
When you create a planar joint, the first part marker's Z axis is constrained so that it remains parallel to
and co-directed with the second part marker's Z axis. Planar joints don't allow linear displacement along
the Z axis.
Think of a planar joint as a magnet on an iron plate. The magnet can move along the X and Y axes and
can rotate about the Z axis. However, it can't move off the plate or rotate into the plate. Thus, this joint
allows the XY plane of one part to slide along the XY plane of another part.
To create this joint, you can select two (previously created) markers instead of two rigid bodies. However,
you must create the markers so the XY planes of the two markers are coplanar. If you pick two instances
to create a joint, the markers are created and aligned automatically.
Understanding General Joints
General Joint on the Constraints subpanel lets you create rackpin or screw type joints in your model.
Locate the icon.
A general joint defines a connection between the markers of two rigid bodies. The DOF constraints are
determined by the user-suppplied keyword. Currently, only "SCREW" and "RACKPIN" are acceptable
keywords. You can't apply a motion to this joint, but it accurately transfers the motion of one rigid body
to another.
A general joint has no joint variable and isn't verifiable. Use UPPERCASE KEYWORDS, or the
translator may not recognize the keyword as the intended joint.
Using the General Joint to Create a Rackpin Joint
A rackpin joint allows one DOF: the translation of one rigid body's marker relative to the rotation of
another rigid body's marker. Thus, the pinion's rotation is related to the translation of the rack.
1.
2.
2.
4.
Orient the two instances you want to use to create the joint.
Orient the two instances you want to use to create the joint.
Create a revolute joint between the rod and the pinion. Pick the rod first, then the pinion.
Create a translational joint between the rod and the rack. Pick the rod first, then the rack.
5. Create a marker on the rack, with its origin at the pitch-tangency point between the rack and the
pinion. Ensure that the z-axis of the marker is aligned with the direction of the rack's motion and
that the x-axis of the marker is aligned with the rotational axis of the pinion.
6. Create a second marker on the pinion, with its origin at the center of pinion rotation. Align the zaxis of this marker with the pinion's rotational axis. Ensure that the z-axis of this marker and xaxis of the rack's marker are aligned and point in the same direction.
Note: The joint variable is based on the right-hand rule. Thus, flipping the pinion's z-axis
(and corresponding x-axis of the rack's marker) reverses the sense of this joint variable.
6. Pick General Joint
7. Pick the markers that you created on the rack and pinion by selecting Markers (MB3). Pick the
marker that you created at pitch-tangency on the rack first. Pick the marker that you created at the
rotational axis on the pinion second.
Note: Don't select instances to define the joint.
8. Enter the keyword "RACKPIN."
9. Press Return for the integer information.
10. Enter the pinion diameter for the real information. The sign of the pitch diameter (positive or
negative) will cause the pinion to rotate clockwise or counterclockwise, depending upon the
marker's orientation.
Using the General Joint to Create a Screw Joint
A screw joint allows two DOF: the translation of one rigid body's marker relative to the rotation of
another rigid body's marker. Thus, the nut translates as the screw rotates. In this picture, the rigid body
markers are shown only for clarity. They're not normally visible.
1. Orient the two instances you want to use to create the joint.
2. Create a marker and position it at the center of the nut with its z-axis along the rotational axis of
the screw.
3. Create and position a second marker at a convenient point along the screw's axis. The z-axes of
both markers must be parallel.
4. Enter the keyword "SCREW."
5. Press Return for the integer information.
6. Enter the screw pitch (the Z translation for each revolution) for the real information. Enter a
positive pitch to create a right-hand thread and a negative pitch to create a left-hand thread.
For this kind of joint to work properly, you also need to create a rotational joint between the screw and a
rigid body (the base, for example), and a translational joint between the nut and the base.
Understanding Universal Joints
Universal Joint on the Constraints subpanel lets you create universal joints between entities in your
model.
Locate the icon.
A universal joint allows two DOF: the two angles of rotation with respect to the two collinear X axes of
the markers associated with the joint. Thus, the joint variables represent:
 the angle between the X axes of the markers
 the angle between the Y axes of the markers.
In this figure, (A) is the pivot axis, and (B) is the spin axis.
You can't apply a motion to this joint, but it accurately transfers the motion of one rigid body to another.
You can create this joint by selecting two (previously created) markers instead of two rigid bodies.
However, you must ensure that the markers' Z axes are coincident, perpendicular to each other, and
normal to the rigid body's axis of rotation or centerlines. If you create a joint by picking two instances, the
software automatically creates and aligns the markers.
Creating Couplers
Use Coupler to create coupler constraints between revolute, translational, or cylindrical joints.
Locate the icon.
Couplers are useful if your mechanism uses belts and pulleys or chains and sprockets to transfer motion
and energy. Couplers are simple representations of mathematical belts and chains in your mechanism.
(High-fidelity models of belts and chains require the definition of many rigid bodies and joints, along
with the use of the dynamics solver.)
Couplers relate the motion of joints by the following equation:
J1S1 + J2S2 = 0.0
where J1 and J2 are the joint variables and S1 and S2 are the scale factors.
One coupler can relate the motion of only two joints. However, more than one coupler can emanate from
the same joint (pulley or sprocket).
Use Manage Multi-Joints to rename, delete or get information on couplers.
Creating Gears
Gear on the Constraints subpanel lets you create gear constraints between translational, revolute, or
cylindrical joints.
Locate the icon.
A gear defines a constraint relationship between two joints at a contact point represented by a marker that
you create. The contact point is the point of common velocity between the two rigid bodies. A gear
simply relates the motion of one joint to the motion of another joint.
In this figure:
 A = carrier part
 B = joint 1
 C = joint 2
To create a gear:
3. Create a marker and attach it to the carrier part (the rigid body common to both joints). The
position of the marker must be located at the contact point of the gears or at the point of common
velocity. The distances between the origin of the marker and the origins of the joints determine
the gear ratio.
Note: The marker's Z axis determines the line of action of the gears. Thus, the gear won't
solve correctly if the marker's Z axis is parallel to the action vector of a revolute joint.
You must rotate the marker by 0,90,0 to put its Z axis in the global XY plane, then rotate
it about the X axis to give the correct line of action of the gear.
3. Pick the first joint by picking its visible marker. For a gear to work properly, both joints must be
associated with the carrier part.
Note: The common carrier must serve as the first member of each joint.
5. Pick the second joint.
6. Pick the marker that you created in step one. This marker will relate the first joint's motion to the
second joint's motion.
Understanding How the Software Determines Gear Ratio
The software bases the gear ratio on the distance between the origin of the marker (placed at the contact
point) and the origins of the two joints. Thus, one joint is an inverse multiple of the other. In this figure:
 A = joint on gear 1
 B= joint on gear 2
 C =marker
 gear ratio = a/b
Overview of Creating Cam Constraints
Cam-Follower and Cam-Cam on the Constraints subpanel let you create cam constraints.
 Cam-followers restrict a point on one instance in a mechanism to lie on a curve (or cam profile)
of another instance in that same mechanism.
 Cam-cams restrict a planar curve on one instance in a mechanism to be in contact with, and
tangent to, a planar curve on a second instance in that same mechanism.
Locate the icon.
Hint: If the contact point in a cam constraint jumps from point to point in an unnatural fashion, rerun the
simulation with a larger number of output steps.
Tips for Creating Cam Profiles
To create a curve for a cam profile, you can:
 Create a spline, possibly in conjunction with other curves, and extrude it.
 Create a profile from a series of curves, each of which must share common endpoints. You can
then use Merge Curves in the Modeling task to join the curves.
Note: If you merge curves, the Modeling task replaces them with a spline. The spline
serves as an abstraction of the geometry that helped to describe the product's design
intent. You should use Merge Curves with caution because you'll lose most, if not all, of
your wireframe constraints when the software creates the spline.
When you use an open curve for a cam profile, be sure to extend the curve well past the expected length
of contact (about 20% extra on each side). The solver stops with an error if the contact point moves off an
open curve, even while it's iterating to the next position.
Creating Cam-Cam Constraints
Use Cam-Cam on the Constraints subpanel to create cam-cam constraints.
Locate the icon.
The cam-cam constraint allows four DOF: rotations about two axes (the curves are constrained to be
tangent at the contact point) and two translations (one translation along the tangent of each curve).
You can use a cam-cam constraint to model:
 a rounded follower that rides on a cam
 the profiles of two parts that roll on each other at a single point of contact.
In a cam-cam constraint:
 The cam profiles on the two instances must share a common point.
 The two curves must be tangent at the contact point.
 The curves may be open or closed, but they must be planar.
 The two curves must lie in the same plane throughout the simulation.
A cam-cam constraint isn't like a gear joint because the two cam profile curves are free to slide with
respect to each other. The cam-cam constraint doesn't prevent a circular cam follower from spinning
about its axis.
Hint: For cam-cam constraints, you should define convex cam profiles to ensure that the two curves
always have a single contact point. A convex curve is defined as a curve where any line segment that
connects two points on the curve will lie within the area of the curve. Here, (A) shows a convex curve
with a single contact point, while (B) shows a non convex curve with multiple possible contact points.
Creating a Cam-Cam Constraint
1. Pick the edge on the first part instance that defines the first cam profile. You can pick any open or
closed curve, but it must be associated with one of the part instances in the mechanism, and it
can't be a line.
2. Pick the edge on the second part instance (B) that defines the second cam profile.
Note: The software doesn't display a marker in a cam-cam constraint because the location of contact
moves along both curves.
Creating Cam-Follower Constraints
Cam-Follower on the Constraints subpanel lets you create cam-follower constraints.
Locate the icon.
You can create a cam-follower to model:
 a point follower that rides on a cam
 a pin that slides within a curved slot.
A cam-follower constraint allows four DOF: rotations about all three axes and translation along the curve
(cam profile).
To create a cam-follower constraint:
1. Pick the edge on the first part instance in the mechanism that defines the cam profile. You can
pick an open or closed curve, but it must be associated with one of the parts in the mechanism,
and it can't be a line.
2. Pick the point on the second part instance that defines the location of the follower point. You
can't pick a point associated with the first part instance.
Understanding and Creating Spring
Dampers
Spring Damper, Bushing, and Field Matrix let you create different types of spring dampers. You can
define spring dampers on translational, revolute, and cylindrical joints.
Locate the icon.
Spring dampers define the pre-load force (F), stiffness (K), and damping characteristics (C) of
translational and rotational joints. You can use them to produce a force in response to the displacement
and velocity of two rigid bodies, much like a shock absorber.
You can define a spring damper on an existing joint or on two markers associated with two rigid bodies.
If you explicitly create markers for a spring damper, you must ensure that the Z axes of the triads are
collinear.
Understanding Types of Spring Dampers
The most commonly used spring dampers are linear (spring damper) or orthogonal (bushing).
 Linear spring dampers mathematically emulate (translational or rotational) shock absorbers,
pistons, or wound springs. They allow motion in one DOF.
 Bushings emulate (transational or rotational) spring dampers. They allow motion in six DOF,
with no coupling between DOF.
Field Matrix spring dampers are similar to bushings, but allow coupling between the DOF.
General Process for Creating a Spring Damper or Bushing
Note: If you use this process to create a bushing, you must enter six values for stiffness, damping, and
pre-load force values.
3. Pick the joint where you want to define the spring damper.
If you don't have a joint defined, pick Location (MB3) to select geometry on the screen.
The software automatically creates two coincident markers which you'll need to orient
with respect to two rigid bodies.
4. If you pick a marker, define the motion of the damper as either translational or rotational.
6. For each matrix element, enter values for stiffness, damping, and pre-load force. For Field Matrix
spring dampers, you must also enter force, stiffness, and damping values to define coupling
among the DOF.
 The stiffness coefficient (K) is the linear stiffness value in each spring DOF.
 The damping coefficient (C) is the viscous damping value in each damper DOF.
 The pre-load force (F) is a known force (tension or compression) exerted by a spring at a known
reference length.
7. Enter a value for the spring's reference length (length of the spring for a known spring pre-load).
You must define either the pre-load force and/or the reference length if you're modeling a
spring in an initially loaded state.
Defining the Units for Spring Dampers
For each DOF, enter the matrix element values for force, stiffness, and damping.
Spring damper variable
Translation units
Rotation units
stiffness
force/length
torque/degree
damping
force second/length
torque second/length
pre-load
force
torque
reference length
length
degree
Matrix Values for Bushings
This table shows matrix values for bushings.
Matrix Values for Field Matrix Spring
Dampers
This table shows matrix values for Field Matrix spring dampers.
Creating and Managing Loads
After you've created the joints, gears, couplers, and spring dampers for your mechanism, you can create
loads. Loads are the burdens or mechanical forces that bear on a rigid body or mechanism. You can create
four kinds of loads: gravity, motion, force, and initial conditions.
Understanding Motions
Use Motions to define motions for your mechanism.
Locate the icon.
Motions are function expressions that define how a part must move in one particular direction.
Mechanism Design supports one type of motion: displacement as a function of time, expressed as (t).
You can apply motions to revolute, translational, or cylindrical joints. The software uses the joint's
orientation to define the direction in which the relative motion should occur. You can define translational
or rotational motions.
Each motion removes one DOF from a mechanism. Motions are based on functions, which actually drive
the kinematic motion. Consequently, the function defined for a motion dictates the relative behavior of
the rigid bodies associated with the joint. For example, you can:
 Use a constant value function to define a constant displacement or rotation over the specified time
interval.
 Use an expression to define a displacement or rotation dictated by mathematical expressions
related to time, such as 180*sin(360*t).
 Use a direct entry function with ADAMS variables to drive the motion.
See Also

Overview of Defining Functions
Overview of Creating Forces and Torques
Use Create Force or Create Torque to apply a simple force or torque to joints, markers, and rigid bodies.
Use Create Vector Force, Create Vector Torque, or Create General Force to apply a complex force to a
marker or rigid body. You can specify the individual X, Y, and Z components of a complex force or
torque.
Locate the icon.
A force is an effect that has magnitude and direction. Forces have six components: three translational, and
three rotational (torque).
 A translational force produces a positive value force that pushes markers apart, such as in the case
of a compressed coil spring. A negative force value brings the markers together, as in the case of
a spring in tension.
 A rotational force (torque) produces a positive value which tends to rotate the first marker in a
positive direction with respect to the second marker (clockwise motion if the Z axis of the marker
faces you, using the right hand rule).
Creating Simple Forces and Torques
Use Create Force and Create Torque to define simple, one-directional forces and torques on joints,
markers, or rigid bodies.
Locate the icon.
You can define a simple force or torque as either an Action Only or Action Reaction force.
 The software applies an Action Only force only to the recipient rigid body. It doesn't consider the
reaction on the associated rigid body. Gravity is an example of an action-only type of force.

The software applies an Action Reaction force to both rigid bodies. The software applies a force
to the recipient rigid body and applies an equal and opposite reaction force to the associated rigid
body. The resulting force is similar to a spring. An Action Reaction force with a positive value
tends to repel the bodies, while a negative value tends to pull them together.
Applying a Force to a Joint or a Rigid Body
When you apply a force/torque to a joint, the software applies the force along the Z axis defined for the
joint.
When you apply a force/torque to a rigid body, you must first define a new marker on that rigid body. The
marker as the point of application for the force or torque. The marker's Z axis determines the direction of
the force.
Applying a Force to a Marker
When you apply a force/torque to a marker, the direction vector of the applied force depends on whether
you're creating an Action Only or Action Reaction force.
 For Action Only forces, the first marker you select determines the point of application for the
force. The Z axis of the second marker you select determines the direction of the force.
For example, a positive force acts along the positive direction of the Z axis of the second
marker. A positive torque acts according to the right hand rule (in a clockwise manner
about the Z axis of the second marker).
 For Action Reaction forces, the force acts along a vector connecting the two markers.
Note: If you create a marker on a rigid body that moves, then the marker also moves. When you define a
force, if the second marker you select moves, then the direction of the force changes at each solution step,
as the rigid body moves.
Creating Complex Forces and Torques
You can use Create Vector Force, Create Vector Torque, and Create General Force to define complex,
multiple-component forces and torques for a mechanism.
Locate the icon.
You can define a complex force or torque on a rigid body or between two markers. You can't define
complex forces or torques on joints.
When you define complex forces, the first marker or rigid body you select defines the point of application
of the force or torque. The second marker or rigid body you select defines the point at which the software
applies an equal and opposite reaction force/torque.
Note: If the second marker you select is on a grounded part, the solver won't calculate reaction
forces/torques.
Defining Reference Markers for Vector Forces or Torques
When you create vector forces or torques, you can also define a reference marker to control the direction
vectors along or about which the software applies the X, Y, and Z force/torque components.
 If you define a reference marker, the software applies the X, Y, and Z components of the
force/torque according to the reference marker's orientation.
 If you don't define a reference marker, the software uses the X, Y and Z axes of the global
coordinate system to define the direction vectors for the components of the force/torque.
Creating Simple Contacts
You can model simple contact forces between two rigid bodies, either two spheres, or a sphere and an
unbounded plane. To derive useful information from these contact models, however, you need to use a
dynamic solver (either Motion Simulation, available with an optional license, or an external
ADAMS/Solver).
Locate the icon.
These tools let you model collisions between objects. At their simplest, they let you model impacts
between spheres or between a sphere and a plane. The type of contact you model will mimic sphere to
sphere or sphere to plane contact, but you can use these contacts on general topology, and model more
complex contacts between two parts of a mechanism. For example, you could model the contact forces
between a 100 pound block weight and its base in a piece of universal gym equipment. To do this, you
would first create a sphere (with a very small radius) and place it on the flat surface of the weight (on the
side that comes in contact with the base), then create a plane contact on the base.
Note: You must create markers before you create the contact. The sphere's marker represents the center of
the sphere. The orientation of the sphere's marker isn't signficant (so you can accept the default).
Similarly, in sphere/plane contact, you must also create a marker to represent the plane. The plane's
marker must be oriented so that the X and Y axes define the plane, and the Z axis defines the direction of
the contact force.
Sphere/Sphere Contact
To model sphere/sphere contact:
2. Pick Sphere/Sphere Contact.
2. Give a name to the contact force (default is 1-CONTACT1 for the first contact).
7. Pick the marker on the first sphere, and supply the radius of the sphere. Repeat for the second
sphere.
8. When prompted, supply values for:
-stiffness (spring component, which resists penetration)
-damping (viscous component, which opposes the direction of relative motion)
-force exponent (>1 stiffens, <1 dampens)
-penetration (how much one body penetrates into another before the contact applies
maximum force)
For more information about these values, consult the ADAMS/Solver Reference Manual, (Impact
Function).
Sphere/Plane Contact
To model sphere/plane contact:
1. Pick Sphere/Plane Contact.
2. Pick the marker on the sphere, and supply the radius of the sphere.
3. Pick the marker on the plane.
4. Give a name to the contact force (default is 1-CONTACT1 for the first contact).
5. When prompted, supply values for:
-stiffness (spring component, which resists penetration)
-damping (viscous component, which opposes the direction of relative motion)
-force exponent (>1 stiffens, <1 dampens)
-penetration (how much one body penetrates into another before the contact applies
maximum force)
For more information about these values, consult the ADAMS/Solver Reference Manual, (IMPACT
Function).
In the following example of sphere to plane contact, we limit the movement of the pin in the slot by
creating a sphere marker on the end of the pin, a plane marker at the end of the slot and modeling the
contact between them.
This figure shows the locations of the markers at contact.
Specifying Initial Conditions
Pick Create Initial Conditions to specify initial conditions (variables) for joints, rigid bodies, or markers
in a fully dynamic solve.
Locate the icon.
The initial conditions prescribe the starting state of the mechanism, specifically the initial displacements
and velocities for joints and rigid bodies.
The solver won't consider initial conditions when it solves kinematic or static force problems. You may
define any number of initial conditions for a selected joint, marker, or rigid body.
Defining the Initial Condition for a Joint
5.
6.
8.
9.
2.
Enter a name or number for the initial condition.
Specify joint as the type of condition.
Pick a joint.
Enter an initial value for each joint variable.
Enter an initial value for the velocity of the joint.
Defining the Initial Condition for a Rigid Body
1. Enter a name or number for the initial condition.
2. Specify rigid body as the type of condition.
3. Pick a rigid body.
4. Enter an initial value for the translation of the rigid body.
5. Enter an initial value for the translational velocity of the rigid body. Specify the velocity in each
direction (X, Y, and Z). Translational velocities are expressed with respect to ground.
6. Enter an initial value for the rotation of the rigid body. The rotation is expressed with respect to
the center of mass of the part.
7. Enter an initial value for the rotational velocity of the rigid body. Specify the velocity in each
direction (X, Y, and Z).
Overview of Defining Functions
In Mechanism Design, you can work with user-defined and result functions.
 You can use user-defined functions to define forces and motions to apply to a mechanism. These
functions define a relationship between an independent and a dependent variable, such as a time
and velocity.
 The software generates result functions during a solve. You can't create result functions, but you
can plot and manage them.
You can use the Functions, Create menu commands to create several types of user-defined functions:
 Expression functions define a selected ordinate variable as a function of time.
 Cubic splines are defined by a curve-fitting through data points.
 Direct entry functions define non-standard functions that pass directly to the solver.
See Also


Creating Groups of Functions
Post Processing Mechanism Results
Creating Expression Functions
An expression function uses a mathematical equation to specify how an input force or motion varies over
time. For example, this graph shows a function that defines velocity as sin (2*t).
 A = velocity
 B = time
1.
2.
9.
10.
Pick the Functions, Create menu command.
Enter a name for the function.
Pick the function group in which to store the function.
Pick Expression as the type of function to create.
3. Pick a variable for the ordinate (Y axis) units, such as Torque or Position
2. Enter the expression you want the software to evaluate.
Operators for Expression Functions
You can use these operators when you create an expression function:
Expression
+
*
/
**
sin ()
cos ()
tan ()
asin ()
acos ()
atan ()
degrees ()
radians ()
log ()
alog ()
In ()
exp ()
sqrt ()
abs ()
int ()
frac ()
sign ()
ent ()
Description
Addition
Subtraction
Multiplication
Division
Exponentiation
Sine (degrees)
Cosine (degrees)
Tangent (degrees)
Arc sine (degrees)
Arc cosine (degrees)
Arc tangent (degrees)
Radians to degrees
Degrees to radians
Common log, base 10
Natural log, base e
Antilog, base 10
Exponentiation e to power
Square root
Absolute value
Integer part
Fractional part
Sign of value
Round down to integer
Creating Cubic Spline Functions
If you know the value for a variable, such as force, at specific points in time, the software can create a
continuous function by fitting a cubic spline through those known points. In this graph:
 A = velocity
 B = time
The order of the cubic spline is set by the Spline End Conditions command in the Functions, Defaults
menu.
1. Pick the Functions, Create menu command.
2. Enter a name for the function.
10. Pick the function group in which to store the function.
11. Pick Cubic Spline as the type of function to create.
4. Pick the ordinate (Y axis) units.
3. Locate the function points on the graph. You can pick locations on the screen or pick Keyin
(MB3) to enter ordinate time and values for each point.
Creating Direct Entry Functions
You can create direct entry functions to define complicated forces and motions. These direct entry
functions use ADAMS syntax and variables and pass directly to the solver. For example, to model a
contact force between two instances, you can create a direct entry function of the ADAMS IMPACT
function, such as follows:
IMPACT(DX(3,4,4), VX(3,4,4),.25,1.5,1.5,0,.1)
You would then create a force that references this function.
You can also use direct entry functions to define the explicit dependence of a joint displacement, velocity,
or acceleration, on time. The function expression is therefore limited and dependent on system constants
and simulation time only.
Creating a Direct Entry Function
3.
4.
11.
12.
5.
Pick the Functions, Create menu command.
Enter a name for the function.
Pick the function group in which to store the function.
Pick Direct Entry as the type of function to create.
On the Direct Entry form, pick File to read in a direct entry function from a file or pick Key In to
create a direct entry function.
Your expression must use the ADAMS terminology for functions.
Direct entry functions are useful for defining complicated forces and motions.
Direct Entry Function Syntax and Notation
You can create a direct entry from any valid combination of simple constants, operators, parameters, and
available standard ADAMS/Solver functions.
Simple Constants
Direct entry functions can include integers and real numbers only. Complex numbers aren't currently
supported. Any legal number is accepted by the function expression. The definition of a legal integer and
a legal real number is quite machine dependent, and may therefore change from system to system.
Typically in ADAMS/Solver, an integer is limited to having an absolute value less than 2 31 - 1. A real
number in ADAMS/Solver, is typically limited to having an absolute value less than 10^26. This will also
depend upon the type of hardware you are using.
Operators
ADAMS/Solver allows the standard FORTRAN-77 set of operators. The operators and their sequence of
evaluation are shown in the following table:
Symbol
Operation
Precedence
**
Exponentiation
1
/
Division
2
*
Multiplication
2
+
Addition
3
Subtraction
3
ADAMS/Solver executes exponentiation (**) before all other operators and executes multiplication (*)
and division (/) before addition (+) and subtraction (-). When a statement has operators of the same
priority, ADAMS/Solver executes them from left to right unless it is in an explicit violation of ANSI
standards. You can use parentheses to alter the precedence of operators. For example, in the equation:
FUNCTION = (1 - TIME) * 30 / PI
ADAMS/Solver subtracts "TIME" from "1" before it performs multiplication of the result with "30" and
division by "PI" (3.1415...). The precedence rules in ADAMS/Solver are consistent with the precedence
rules in FORTRAN. For more information, refer to an ANSI FORTRAN reference manual.
Functions
A direct entry function may contain built-in ADAMS/Solver constants and "standard" functions such as
TIME and STEP(...).
Some functions require input parameters. You may specify these parameters as function subexpressions
themselves or as constants. Some functions have optional parameters (i.e., these parameters need not be
defined for complete specification of a function). If an optional parameter occurs in the middle of a
parameter sequence, you must use zero as a place holder for that particular optional parameter. If the
optional parameter occurs at the end of a parameter sequence, you may ignore it entirely. ADAMS/Solver
will give unspecified optional parameters default values prior to evaluating the function. These default
values will be explained in the context of the individual functions.
Note: Mechanism Design limits function expressions to a maximum of 20 lines or 500 characters. When
you use the Direct Entry form to create your function, you don't need to begin each line with a comma.
Blanks
A direct entry function can contain any number of blank spaces. They are often used to improve the
readability of the function expression.
Direct Entry Function Limitations

You can only nest functions, subexpressions or operations ten levels deep. For example,
FUNCTION = f1 (f2 (f3 (f4 ) ) ), where f1, f2, f3, f4 are function subexpressions, is a
syntactically legal function definition.
However, FUNCTION = f1 (f2 (... (f11 ) ... ), isn't a legal definition, since subexpressions
have been nested eleven levels deep.

You can't use more than 1,000 symbols, including operators, brackets, functions, or numbers, in a
single function expression.

A function can be dependent on a maximum of 25 elements of each type. For example, each
expression may be a function of a maximum of 25 PARTS, or 25 FORCES.
Overview of Direct Entry Functions Available in
ADAMS/Solver
Function Types
FORTRAN-77
Intrinsic
Functions
Pre-defined
Parameters
Brief Explanation
Function Names
AINT, ANINT, NINT, ABS, MOD, SIGN, DIM, MAX, MIN,
Emulate
FORTRAN
SQRT, EXP, LOG, LOG10, SIN, COS, TAN, ASIN, ACOS,
math run-time libraries
ATAN, ATAN2, SINH, COSH, TANH
Commonly
used
TIME, PI, DTOR, RTOD, MODE
constants or variables
Return
current DM,DX, DY, DZ, AX, AY, AZ, PSI, THETA, PHI, YAW,
Kinematic
kinematic state of the PITCH, ROLL, VM, VX, VY, VZ, VR, WM, WX, WY, WZ,
Functions
model
ACCX, ACCY, ACCZ, WDTM, WDTX, WDTY, WDTZ
Generic Force Return the net force
FM, FX, FY, FZ, TM, TX, TY, TZ
Functions
acting at a marker
Element
Return force at an
BEAM, BUSH, FIELD, SPDP, SFORCE, GFORCE, VFORCE,
Specific Force attachment point of the
VTORQ, PTCV, CVCV, JOINT, JPRIM, MOTION
Functions
element
System
Return current state of
Element
system
modeling PINVAL, POUVAL, VARVAL, ARYVAL, DIF, DIF1
Functions
element
Orthogonal
Allow approximating
POLY, CHEBY, FORCOS, FORSIN
Functions
functions
Piecewise
Interpolates data points AKIMA, CUBSPL, CURVE
Interpolation
Special
Commonly used "nonADAMS
BISTOP, HAVSIN, IMPACT, SHF, STEP
standard" functions
Functions
Arithmetic IF Allows branching IF in
IF
Function
expression
You should also see the ADAMS/Solver Reference Manual for more information on all available
functions.
Understanding General Utility Functions
The general utility functions in the ADAMS/Solver are a collection of common mathematical functions
that may be convenient when you write function expressions.
Function Name
Description
BISTOP
Models a gap element
CHEBY
Evaluates a Chebyshev polynomial
FORCOS
Evaluates a Fourier Cosine series
FORSIN
Evaluates a Fourier Sine series
HAVSIN
Models a Haversine function
IMPACT
Models an impact phenomenon
POLY
Evaluates a standard polynomial
SHF
Models a simple harmonic function X=A sin X=A sin (t-to)
STEP
Approximates the Haversine step utility function
Arithmetic IF
Lets you conditionally define a function expression
BISTOP
Format:
The BISTOP function models a "gap element." The gap element consists of a slot which defines the
domain of motion of a part located in the slot. As long as the part is located in the slot and has no
interference with the ends of the slot, it's free to move without forces acting on the part.
When the part tries to move beyond the physical definition of the slot, impact forces representing contact
are created by the BISTOP function. The created force tends to move the floating part back into the slot.
This figure shows an example of a BISTOP function:
To prevent a discontinuity in the damping force at zero penetration, the damping coefficient is defined as
a cubic step function of the penetration. Thus at zero penetration, the damping coefficient is always zero.
The damping coefficient achieves a maximum, cmax, at a user-defined penetration, d.
Even though the points of contact between the floating part and the restricting part may change as the
system moves, ADAMS/Solver always exerts the force between the I and the J markers.
BISTOP Arguments
x = A real variable that specifies the distance variable the user wants to use to compute the force. For
example, if the user wants to use the x displacement of Marker 21 with respect to 31, then x is DX
(21,31).
x1 = A real variable that specifies the lower bound of x. If x is less than x1, ADAMS/Solver calculates a
positive value for the force. The value of x1 must be less than the value of x2.
x2 = A real variable that specifies the upper bound of x. If x is greater than x2 ADAMS/Solver calculates a
negative value for the force. The value of x2 must be greater than the value of x1.
k = A non-negative real variable that specifies the stiffness of boundary surface interaction.
e = A positive real variable that specifies the exponent of the force deformation characteristic. For a
stiffening spring characteristic, e > 1.0. For a softening spring characteristic, 0 < e < 1.0.
cmax = A non-negative real variable that specifies the maximum damping coefficient.
d = A positive real variable that specifies the boundary penetration at which ADAMS/Solver applies full
damping.
BISTOP Examples
The user may model a system with the BISTOP function with a slider in a slot as depicted in the above
figure. Assume a translational joint constrains the slider to move in a slot. The line of translation is along
the collinear z-axes of the I and the J markers, I belonging to the slider and J to the part containing the
slot. The user can use an SFORCE statement together with the BISTOP function to restrict the movement
of the slider in the slot and model the gap.
In the figure above, x is the instantaneous distance between the I and the J markers, N is the distance
between the J marker and the left end of the slot, M1 is the distance between the I marker and the left
edge of the floating part, L is the length of the slot, M2 is the distance between the I marker and the right
edge of the floating part, x1 is the instantaneous distance between the I and the J markers when the
floating part first comes into contact with the left end of the slot, and x2 is the instantaneous distance
between the I and the J markers when the floating part first comes into contact with the right end of the
slot.
Hence, the parameters for the BISTOP function for this example are:
x = N + M1 for the left end of the slot and
x = N + L - M2 for the right end of the slot or
x1 = N + M1, and
x2 = N + L - M2
Note that when x1 x x2 there is no penetration and the force is zero (penetration p = 0); when x < x 1
penetration occurs at the end closer to the J marker and the force is > 0 (penetration p = x1 - x); and when x
> x1 penetration occurs at the end farther away from the J marker, and the force is < 0 (penetration p = x x2).
Also note than when p < d the instantaneous damping coefficient is a cubic step function of the
penetration, p; p > d the instantaneous damping coefficient is c max.
The BISTOP function for this example is:
BISTOP(DZ(I,J,J), VZ(I,J,J), x1, x2, k, e, cmax, d)
The values of k, e, cmax, and d depend on the materials used in the two parts and on the shapes of the parts,
and are used to define the contact force.
The BISTOP force can be mathematically expressed as follows:
CHEBY
Format: CHEBY (x, x0, a0, a1,..., a30)
The CHEBY function evaluates a Chebyshev polynomial at a user specified value x. x 0, a0, a1,..., a30 are
parameters used to define the constants for the Chebyshev polynomial. The Chebyshev polynomial is
defined as:
C(x) = aj Tj (x-x0)
where the functions Tj are recursively defined as:
Tj (x-x0) = 2 * (x-x0) * Tj-1 (x-x0) - Tj-2 (x-x0)
where To (x-x0) = 1, and T1 (x-x0) = x-x0.
The index "j" has a range from zero to "n", where "n" is the number of terms in the series.
Note that:
T2 (x-x0) = 2 * (x- x0)2 - 1
T3 (x-x0) = 4 * (x- x0)3 - 3 * (x- x0)
CHEBY Arguments
x = A real variable that specifies the independent variable. For example, if the independent variable in the
function is time, x is the system variable TIME.
x0 = A real variable that specifies a shift in the Chebyshev polynomial.
a0,a1,...,a30 = The real variables that define as many as 31 coefficients for the Chebyshev polynomial.
CHEBY Examples
MOTION/1, JOINT=21, TRANSLATION,
,FUNCTION = IF ( TIME-2:CHEBY(TIME, 1, 1, 0, -1), 0, 0)
This MOTION statement defines a motion using a quadratic Chebyshev polynomial and the system
variable TIME. The arithmetic IF ensures that the function remains zero after 2 time units. When time is
less than 2 time units, ADAMS/Solver evaluates a Chebyshev polynomial to determine the motion. The
polynomial defined in the above example is:
Cheby = 1+0 * (time-1) -1 * [2 (time-1)2-1] = 2 *time2 -4 * time
FORCOS
Format: FORCOS (x, x0,w, a0, a1,..., a30)
The FORCOS function evaluates a Fourier Cosine series at a user specified value x. x 0 a0,a1,..., a30 are
parameters used to define the constants for the Fourier Cosine series. The Fourier Cosine series is
defined:
F(x) = aj * Tj (x - xo)
where the functions Tj are defined as:
Tj (x - x0) = cos{j * * (x-x0)}
The index j has a range from 0 to n, where n is the number of terms in the series.
FORCOS Arguments
x = A real variable that specifies the independent variable. For example, if the independent variable in the
function is time, x is the system variable TIME.
x0 = A real variable that specifies a shift in the Fourier Cosine series.
A real variable that specifies the fundamental frequency of the series. ADAMS/Solver assumes is in
radians per unit of the independent variable unless the user uses a D after the value.
a0,a1,...,a30 = The real variables that define as many as 31 coefficients for the Fourier Cosine series.
FORCOS Examples
MOTION/1,
JOINT=21,
TRANSLATION,
, FUNCTION=FORCOS(TIME, 0, 360D, 0, 1)
This MOTION statement defines a harmonic motion as a function of time. The motion has no shift, has a
fundamental frequency of 1 cycle (360D) per time unit, has no constant value, and has an amplitude of 1.
The function defined is:
FORCOS = cos(360D*time)
This figure shows the curve of the harmonic motion defined by FORCOS.
FORSIN
Format: FORSIN (x, x0, w, a0, a1,..., a30)
The FORSIN function evaluates a Fourier Sine series with a constant bias at a user specified value x.
x0,a0,a1,..., a30 are parameters used to define the constants for the Fourier Sine series. The Fourier Sine
series is defined:
F(x) = aj * Tj (x - xo)
where the functions Tj are defined as:
Tj (x-x0) = sin{j * * (x-x0)}
The index j has a range from 0 to n, where n is the number of terms in the series.
FORSIN Arguments
x = A real variable that specifies the independent variable. For example, if the independent variable in the
function is time, x is the system variable TIME.
x0 = A real variable that specifies a shift in the Fourier Sine series.
= A real variable that specifies the fundamental frequency of the series. ADAMS/Solver assumes is in
radians per unit of the independent variable unless the user uses a D after the value.
a0 = A real variable that defines the constant bias term for the function.
a1,...,a30 = The real variables that define as many as thirty-one coefficients for the Fourier Sine series.
FORSIN Examples
MOTION/1, JOINT=21, TRANSLATION, , FUNCTION=FORSIN(TIME, -0.25, 360D, 0, 1)
This MOTION statement defines a harmonic motion as a function of time. The motion has a -0.25 second
shift, has a fundamental frequency of 1 cycle (360D) per time unit, has no constant value, and has an
amplitude of 1. The function defined is: FORSIN = sin (360D* (time+0.25)).
This figure shows the curve of the harmonic motion defined by FORSIN.
IMPACT
Format:
The IMPACT function models collisions. It evaluates a function that turns on when the distance between
the I and the J markers falls below a nominal free length, denoted as x1, (that is, when two parts collide).
As long as the distance between the I and the J markers is greater than x1, the force is zero. An example
of a system the user can model with the IMPACT function is a ball impacting the ground. The following
figure shows the free length value x1 at which the IMPACT force turns on.
The force has two components, a spring or stiffness component and a damping or viscous component.
 The stiffness coefficient, k , is a function of the penetration of the I marker within the free length
distance from the J marker.
 The stiffness component opposes the penetration.
The damping component of the force is a function of the speed of penetration. The damping opposes the
direction of relative motion. To prevent a discontinuity in the damping force at contact, the damping
coefficient is, by definition, a cubic step function of the penetration. Thus, at zero penetration, the
damping coefficient is always zero. The damping coefficient achieves a maximum, c max , at a user-defined
penetration, d.
This figure illustrates the IMPACT function:
IMPACT Arguments
x = A real variable that specifies the distance variable the user wants to use to compute the force. For
example, if the user wants to use the x displacement of Marker 21 with respect to Marker 31, then x is
DX(21,31,31).
x1 = A positive real variable that specifies the free length of x. If x is less than x1 ADAMS/Solver
calculates a positive value for the force. Otherwise, the force value is zero.
k = A non-negative real variable that specifies the stiffness of boundary surface interaction.
e = A positive real variable that specifies the exponent of the force deformation characteristic. For a
stiffening spring characteristic, e > 1.0. For a softening spring characteristic, 0 < e < 1.0.
cmax = A non-negative real variable that specifies the maximum damping coefficient.
d = A positive real variable that specifies the boundary penetration at which ADAMS/Solver applies full
damping.
Note: When x x1 there is no penetration and the force is zero (penetration p = 0) and when x < x 1
penetration occurs at the end closer to the J marker, and the force is > 0 (penetration p = x1 - x).
When p < d the instantaneous damping coefficient is a cubic step function of the penetration, p and when
p > d the instantaneous damping coefficient is cmax.
This figure shows a plot of damping coefficient versus penetration.
IMPACT Examples
SFORCE/1, I=11, J=21, TRANSLATION, ACTIONONLY, ,
FUNCTION=IMPACT(DZ(11, 21, 21), VZ(11, 21, 21),1.0, ,100, 1.5, 25, 0.1)
This SFORCE statement defines an impact force when a ball penetrates a stationary object such as
ground. The force is a single-component force at Marker 11 and along the z-axis of Marker 21. System
variable DZ(11,21,21) defines the instantaneous displacement of Marker 11 with respect to Marker 21
along the z-axis of Marker 21. System variable VZ(11,21,21) defines the instantaneous velocity. The free
length is 1 (the radius of the ball is 1 unit). The stiffness is 100, and the exponent of deformation is 1.5,
the maximum damping coefficient is 25. The penetration at which ADAMS/Solver applies full damping
is 0.1.
POLY
Format: Poly (x, x0, a0, a1,..., a30)
The POLY function evaluates a standard polynomial at a user-specified value x. x0,a0,a1,..., a30 are
parameters used to define the constants for the polynomial. The standard polynomial is defined as:
P(x) = aj (x-x0)j
= a0 + a1 * (x-x0) + a2 * (x-x0)2 +...+ an * (x-x0)n
The index j has a range from zero to n, where n is the number of terms in the series.
POLY Arguments
x = A real variable that specifies the independent variable. For example, if the independent variable in the
function is time, x is the system variable TIME.
x0 = A real variable that specifies a shift in the polynomial.
a0,a1,...,a30 = The real variables that define as many as 31 coefficients for the polynomial series.
POLY Examples
MOTION/1, JOINT=21, TRANSLATION,
, FUNCTION=POLY(TIME, 0, 0, 0, 1)
This MOTION statement uses a quadratic polynomial function with respect to the system variable TIME
to define a motion. That expanded function is: Poly = time2
MOTION/1, JOINT=21, TRANSLATION,
, FUNCTION = IF(TIME-5: 0, 0, POLY(TIME, 5, 0, 10))
This MOTION statement uses an arithmetic IF in its function expression to set the value of the motion to
zero when time is less than five time units, to zero when time is equal to five time units, and to the value
of a polynomial function when time is greater than five time units.
The expanded function is Poly = 10 * (time - 5)
SFORCE/3, I=10, J=20, TRANSLATION,
,FUNCTION=-POLY(DM(10, 20), 10, 0, 25, 0, 75)
This SFORCE statement defines a force with a nonlinear force deformation characteristic. This
relationship is:
Poly=-25*[DM(10,20)-10]-75*[DM(10,20)-10]3,
where, DM(10,20) represents the magnitude of the displacement of Marker 10 with respect to Marker 20.
The free length of the spring is 10 units.
SHF
Format: SHF (x, x0, a, , phi, b)
The SHF function evaluates a simple harmonic function. This equation defines SHF:
SHF = a*sin( *(x-x0)-phi)+b
SHF Arguments
x = The independent variable in the function. It may be any value of interest to the user so that the user
can compute the value with the function expression. For example, if the independent variable in the
function is time, x is the system variable TIME.
x0 = The offset in the independent variable x.
a = The amplitude of the harmonic function.
The frequency of the harmonic function. ADAMS/Solver assumes w is in radians per unit of the
independent variable. Conversion to degrees per unit of the independent is achieved by appending a D
after the number specifying .
phi = A phase shift in the harmonic function. ADAMS/Solver assumes phi is in radians unless the user
uses a D after the value.
b = The average value of displacement of the harmonic function.
SHF Examples
MOTION/1, JOINT=21, TRANSLATION,
, FUNCTION=SHF(TIME, 25D, PI, 360D, 0, 5)
This MOTION statement uses SHF to define the harmonic function:
SHF = 5+Pi*sin(360D*(time-25D))
The motion has a shift of 25 degrees, has an amplitude of Pi, has a frequency of 1 cycle (360D) per time
unit, has zero phase shift, and has an average value of displacement of 5 units.
STEP
Format
STEP (x, x0, h0, x1, h1)
Definition
The STEP function approximates the Haversine step function with a cubic polynomial. The figure below
illustrates the STEP function.
STEP Function:
The equation defining the STEP function is:
Arguments
x = The independent variable.
x0 = A real variable that specifies the x value at which the STEP function begins.
x1 = A real variable that specifies the x value at which the STEP function ends.
h0 = The initial value of the step.
h1 = The final value of the step.
Examples
MOTION/1, JOINT=21, TRANSLATION,
, FUNCTION=STEP(TIME, 1, 0, 2, 1)
This MOTION statement defines a smooth step function from time 1 to time 2 with a displacement from
0 to 1.
Arithmetic IF
Format: IF (expression 1: expression 2, expression 3, expression 4)
Arithmetic IFs allow the user to conditionally define a function expression. The ADAMS/Solver
evaluates expression 1:
 If the value of expression 1 is less than zero, the arithmetic IF is evaluated using expression 2.
 If the value of expression 1 is zero, the arithmetic IF is evaluated using expression 3.
 If the value of expression 1 is greater than zero, the arithmetic IF is evaluated using expression 4.
Arithmetic IF Example
FUNCTION = -6 * IF(VR(10,31): 0, 0, VR(10,31) ** 3)
This function is interpreted as follows:
 If the radial velocity between markers 10 and 31 is less than or equal to zero, the value of the
function expression is zero.
 If the radial velocity between markers 10 and 31 is greater than zero, the value of the function
expression is -6*VR(10,31)**3.
Note: When you use an arithmetic IF, ensure that the resulting function is continuous. If the function is
discontinuous, the ADAMS/Solver may fail to find a solution when it encounters the discontinuity.
Understanding Displacement Functions
Displacement functions return a requested magnitude or component of the translational vector or the
Euler rotational sequence between two markers.
Function Name
Definition
DM (i1 [, i2])
Magnitude of translational displacement
DX (i1 [, i2] [,i3])
X component of translational displacement
DY (i1 [, i2] [,i3])
Y component of translational displacement
DZ (i1 [, i2] [,i3])
Z component of translational displacement
AX (i1 [, i2])
Rotation about X axis
AY (i1 [, i2])
Rotation about Y axis
AZ (i1 [, i2])
Rotation about Z axis
 For functions where the software calculates results for i1 relative to i2, if you don't specify
marker i2, i2 defaults to the ground.
 For functions where the software calculates results for i1 relative to i2 in terms of the coordinates
of i3, if you don't specify marker i3, i3 defaults to the ground.
DM ( i1 [, i2] )
DM ( i1 [,i2] ) calculates the magnitude of the translational displacement vector from marker i1 to marker
i2. DM is the distance between markers i1 and i2 and, by definition, is always positive.
DM is calculated as follows:
DX ( i1 [, i2, i3] )
DX ( i1 [, i2, i3] ) calculates the x-component of the translational displacement vector from marker i2 to
marker i1 as expressed in the coordinate system of marker i3.
DX is calculated as follows:
DY ( i1 [, i2, i3] )
DY ( i1 [, i2, i3] ) calculates the y-component of the translational displacement vector from marker i2 to
marker i1 as expressed in the coordinate system of marker i3.
DY is calculated as follows:
DZ ( i1 [, i2, i3] )
DZ ( i1 [, i2, i3] ) calculates the z-component of the translational displacement vector from marker i2 to
marker i1 as expressed in the coordinate system of marker i3.
DZ is calculated as follows:
AX ( i1 [, i2] )
AX ( i1 [, i2] ) calculates the rotational displacement of marker i1 about the x-axis of marker i2. This
value is computed as follows:
 Assume that the rotations of marker i2 about the other two axes (y and z-axes) are zero.
 AX is the angle between the two y-axes (or the two z-axes).
Mathematically, AX is calculated as follows:
AY ( i1 [, i2] )
AY ( i1 [, i2] ) calculates the rotational displacement of marker i1 about the y-axis of marker i2. This
value is computed as follows:
 Assume that the rotations of marker i2 about the other two axes (x and z-axes) are zero.
 AY is the angle between the two x-axes (or the two z-axes).
AY is calculated as follows:
AZ ( i1 [, i2] )
AZ ( i1 [, i2] ) calculates the rotational displacement of marker i1 about the z-axis of marker i2. This
value is computed as follows:
 Assume that the rotations of marker i2 about the other two axes (x and y-axes) are zero.
 AZ is the angle between the two x-axes (or the two y-axes).
AZ is calculated as follows:
Understanding Acceleration Functions
Acceleration functions return a requested magnitude or component of the translational or rotational
acceleration vector between two markers in a mechanism.
Function Name
Definition
ACCM (i1[. i2])
Magnitude of translational acceleration
ACCX (i1[.i2] [.i3])
X component of translational acceleration
ACCY (i1[.i2] [.i3])
Y component of translational acceleration
ACCZ (i1[.i2] [.i3])
Z component of translational acceleration
WDTM (i1 [.i2])
Magnitude of angular acceleration
WDTX (i1 [.i2] [.i3])
X component of angular acceleration
WDTY (i1 [.i2] [.i3])
Y component of angular acceleration
WDTZ (i1 [.i2] [.i3])
Z component of angular acceleration
Note: The time derivative of the corresponding displacement vector is always taken in the reference frame
of the mechanism's ground and not in the marker i2 reference frame.
For functions where the software calculates results for i1 relative to i2, if you don't specify marker i2, i2
defaults to the ground.
For functions where the software calculates results for i1 relative to i2 in terms of the coordinates of i3, if
you don't specify marker i3, i3 defaults to the ground.
ACCM ( i1 [, i2] )
ACCM (i1 [, i2] ) calculates the magnitude of the translational acceleration vector of marker i1 with
respect to marker i2.
ACCM is calculated as follows:
ACCX ( i1 [, i2, i3] )
VX ( i1 [, i2, i3] ) calculates the x-component of the difference between the global acceleration vector of
marker i1 and the global acceleration vector of marker i2, as computed in the coordinate of marker i3.
ACCX is calculated as follows:
ACCY ( i1 [, i2, i3] )
ACCY ( i1 [, i2, i3] ) calculates the y-component of the difference between the global acceleration vector
of marker i1 and the global acceleration vector of marker i2, as computed in the coordinate of marker i3.
ACCY is calculated as follows:
ACCZ ( i1 [, i2, i3] )
ACCZ ( i1 [, i2, i3] ) calculates the z-component of the difference between the global acceleration vector
of marker i1 and the global acceleration vector of marker i2, as computed in the coordinate of marker i3.
ACCZ is calculated as follows:
WDTM ( i1 [, i2] )
WDTM ( i1 [, i2] ) calculates the difference between the angular acceleration vector of marker i1 and the
angular acceleration vector of marker i2.
WDTM is calculated as follows:
WDTX ( i1 [, i2, i3] )
WDTX ( i1 [, i2, i3] ) calculates the x-component of the difference between the angular acceleration
vector of marker i1 in the ground and the angular acceleration vector of marker i2 in the ground, as
computed in the coordinate system of marker i3.
WDTX is calculated as follows:
WDTY ( i1 [, i2, i3] )
WDTY ( i1 [, i2, i3] ) calculates the y-component of the difference between the angular acceleration
vector of marker i1 in the ground and the angular acceleration vector of marker i2 in the ground, as
computed in the coordinate system of marker i3.
WDTY is calculated as follows:
WDTZ ( i1 [, i2, i3] )
WDTZ ( i1 [, i2, i3] ) calculates the z-component of the difference between the angular velocity vector of
marker i1 in the ground and the angular velocity vector of marker i2 in the ground, as computed in the
coordinate system of marker i3.
WDTZ is calculated as follows:
Understanding Velocity Functions
Velocity functions return a requested magnitude or component of the translational or rotational velocity
vector between two markers in a mechanism.
Function Name
Definition
VM (i1 [, i2])
Magnitude of translational velocity
VR (i1 [, i2] [,i3])
Radial velocity
VX (i1 [, i2] [,i3])
X component of translational velocity
VY (i1 [, i2] [,i3])
Y component of translational velocity
VZ (i1 [, i2] [,i3])
Z component of translational velocity
WM (i1 [, i2])
Magnitude of angular velocity
WX (i1 [, i2] [, i3])
X component of angular velocity
WY (i1 [, i2] [, i3])
Y component of angular velocity
WZ (i1 [, i2] [, i3])
Z component of angular velocity
Note: The time derivative of the corresponding displacement vector is always taken in the reference frame
of the mechanism's ground and not in either the i2 or i3 marker reference frame.
For functions where the software calculates results for i1 relative to i2, if you don't specify marker i2, i2
defaults to the ground.
For functions where the software calculates results for i1 relative to i2 in terms of the coordinates of i3, if
you don't specify marker i3, i3 defaults to the ground.
VM ( i1 [, i2])
VM (i1 [, i2]) calculates the magnitude of the translational velocity vector of marker i1 with respect to
marker i2.
VM is calculated as follows:
VR ( i1 [, i2])
VR (i1 [, i2]) calculates the radial (relative) velocity of marker i1 with respect to marker i2.
VR is calculated as follows:

VR is positive when marker i1 and marker i2 are separating from each other.

VR is negative when marker i1 and marker i2 are approaching each other.
VX ( i1 [, i2, i3] )
VX ( i1 [, i2, i3]) calculates the x-component of the difference between the global velocity vector of
marker i1 and the global velocity vector of marker i2, as computed in the coordinate of marker i3.
VX is calculated as follows:
VY ( i1 [, i2, i3] )
VY ( i1 [, i2, i3]) calculates the y-component of the difference between the global velocity vector of
marker i1 and the global velocity vector of marker i2, as computed in the coordinate of marker i3.
VY is calculated as follows:
VZ ( i1 [, i2, i3] )
VZ ( i1 [, i2, i3]) calculates the z-component of the difference between the global velocity vector of
marker i1 and the global velocity vector of marker i2, as computed in the coordinate of marker i3.
VZ is calculated as follows:
WM ( i1 [, i2, i3] )
WM ( i1 [, i2, i3] ) calculates the magnitude of the angular velocity vector of marker i1 with respect to
marker i2.
WM is calculated as follows:
WX ( i1 [, i2] )
WX ( i1 [, i2] ) calculates the x-component of the difference between the angular velocity vector of
marker i1 in the ground and the angular velocity vector of marker i2 in the ground, as computed in the
coordinate system of marker i3.
WX is calculated as follows:
WY ( i1 [, i2. i3] )
WY ( i1 [, i2, i3] ) calculates the y-component of the difference between the angular velocity vector of
marker i1 in the ground and the angular velocity vector of marker i2 in the ground, as computed in the
coordinate system of marker i3.
WY is calculated as follows:
WZ ( i1 [, i2, i3] )
WZ ( i1 [, i2, i3] ) calculates the z-component of the difference between the angular velocity vector of
marker i1 in the ground and the angular velocity vector of marker i2 in the ground, as computed in the
coordinate system of marker i3.
WZ is calculated as follows:
Understanding General Force Functions
Generic force functions return either the net applied and reaction force between two markers, or the net
applied action-only forces at a marker.
Function Name
Definition
FM (i1 [, i2]
Magnitude of force
FX (i1 [, i2] [, i3]
X component of force
FY (i1 [, i2] [, i3]
Y component of force
FZ (i1 [, i2] [, i3]
Z component of force
TM (i1 [, i2]
Magnitude of torque
TX (i1 [, i2] [, i3]
X component of torque
TY (i1 [, i2] [, i3]
Y component of torque
TZ (i1 [, i2] [, i3]
Z component of force
The first parameter, i1, always defines the marker at which the net force is being calculated, and i2
defines a second marker. In action-reaction forces, to obtain the net force acting at marker i1, sum the
vectors of each force element that acts between i1 and i2.
To obtain a measure number for a force vector in a specific coordinate system, specify a third marker, i3.
The first parameter is mandatory. The second and third parameters are optional and default to zero. You
can also set i2 and i3 to zero.
 If i2 is zero, ADAMS/Solver returns only the action-only forces acting at marker i1.
 If i3 is zero, ADAMS/Solver resolves the vector components in the ground reference frame.
FM ( i1 [, i2] )
FM ( i1 [, i2]) calculates the magnitude of the net translational forces acting at marker i1. To return the
magnitude of action-only forces at marker i1, don't specify marker i2, or set marker i2 to zero.
FX ( i1 [, i2, i3] )
FM ( i1 [, i2, i3]) calculates the x-component of the net translational force acting at marker i1, as
computed in the coordinate system of marker i3. Unless the force is an action-only force, all force
elements acting between markers i1 and i2 are included in the calculation. To return the x-component of
the action-only forces acting at marker i1, don't specify marker i2 or i3, or set marker i2 to zero.
FY ( i1 [, i2, i3] )
FY ( i1 [, i2, i3]) calculates the y-component of the net translational force acting at marker i1, as
computed in the coordinate system of marker i3. Unless the force is an action-only force, all force
elements acting between markers i1 and i2 are included in the calculation. To return the y-component of
the action-only forces acting at marker i1, don't specify marker i2 or i3, or set marker i2 to zero.
FZ ( i1 [, i2, i3] )
FZ ( i1 [, i2, i3]) calculates the y-component of the net translational force acting at marker i1, as
computed in the coordinate system of marker i3. Unless the force is an action-only force, all force
elements acting between markers i1 and i2 are included in the calculation. To return the z-component of
the action-only forces acting at marker i1, don't specify marker i2 or i3, or set marker i2 to zero.
TM ( i1 [, i2] )
TM ( i1 [, i2] ) calculates the magnitude of the net torque acting at marker i1. To return the magnitude of
action-only torques acting at marker i1, don't specify marker i2, or set marker i2 to zero.
TX ( i1 [, i2, i3] )
TX ( i1 [, i2, i3]) calculates the x-component of the net torque acting at marker i1, as computed in the
coordinate system of marker i3. Unless the force is an action-only force, all force elements acting between
markers i1 and i2 are included in the calculation. To return the x-component of the action-only torques
acting at marker i1, don't specify marker i2 or i3, or set marker i2 to zero.
TY ( i1 [, i2, i3] )
TY ( i1 [, i2, i3]) calculates the y-component of the net torque acting at marker i1, as computed in the
coordinate system of marker i3. Unless the force is an action-only force, all force elements acting between
markers i1 and i2 are included in the calculation. To return the y-component of the action-only torques
acting at marker i1, don't specify marker i2 or i3, or set marker i2 to zero.
TZ ( i1 [, i2, i3] )
TZ ( i1 [, i2, i3]) calculates the z-component of the net torque acting at marker i1, as computed in the
coordinate system of marker i3. Unless the force is an action-only force, all force elements acting between
markers i1 and i2 are included in the calculation. To return the z-component of the action-only torques
acting at marker i1, don't specify marker i2 or i3, or set marker i2 to zero.
Creating Groups of Functions
Use the Functions, Group Functions menu commands to create and manage groups of functions or to
create and manage groups of other function groups.
When you create a function, the software stores it in a function group. In this way, you can collect all the
functions from a specific solution run, or plot a group of functions at the same time. Every function must
reside in at least one function group.
The default function group is "USER_DEFINED." The User Defined group can contain input functions
for the mechanism model but not functions output from a simulation.
Once you've created function groups, you can create groups of other function groups to create a hierarchy.
You can either create a group of functions or a group of other function groups.
Solving a Mechanism
After you've created a mechanism and defined loads and motions, you can solve the mechanism to
simulate its behavior over a specified period of time.
When you solve a mechanism, the solver applies motions, forces, and gravity to the mechanism to define
and run a simulation. The software stores the results of a solve in run records. These results include:
 sequential configurations, which you can animate
 body displacement, velocity, and acceleration
 reaction forces such as torques and cam forces
 applied forces
 ADAMS Request results
The output configurations are especially useful for animations. During a solution, the solver sequentially
reorients the mechanism based on the loads and its joints, and stores these sequences of configurations.
The number of output steps that you specify for the solve indicates the number of configurations the
software will solve.
Using the Kinematics Solver
The internal solver performs kinematic analyses. This simulates the motion of a mechanical system and
determines the range of values for displacement, velocity, and acceleration of rigid bodies, and the
reaction forces on constraints.
In a kinematic solution:
 System motion is a function of input motions and constraints.
 External loads and inertial forces affect reaction forces at constraints but don't affect motion.
 Bodies and joints are assumed to be rigid.

There are zero degrees of freedom.
Using the Dynamics Solver
If you have a license for Motion Simulation (the internal dynamics solver), you can solve models with
one or more degrees of freedom.
Using an External ADAMS/Solver
Mechanism Design allows you to use solvers other than the standard internal one, including customized
versions of ADAMS/Solver. To replace the internal solver with an external one, set the environment
variable "SDRC_ADAMS_SOLVER" to the path where the external ADAMS/Solver is installed. On
UNIX systems, this location must contain the "mdi" script. On NT, this location must contain a
"common" subdirectory that holds the "mdi.bat" script. These scripts are used by Mechanism Design to
start the solver.
Here is a sample environment variable for UNIX that uses K-shell.
export SDRC_ADAMS_SOLVER = /usr/local/adams
Once the environment variable has been set and I-DEAS is running, all work in Mechanism Design will
function normally. You don't have to make any changes to the regular solve procedure. When you pick
Solve, Mechanism Design will write an ADAMS dataset, along with an ADAMS command file, to the
current directory. These items will be used as inputs to the external solver, and a results file will be
written to the same directory. This results file will automatically be read and processed by Mechanism
Design.
See Also


Exporting Mechanism Data to ADAMS
Importing Mechanism Results from ADAMS
Setting up a Solve
Use Solve Setup to select loads and define parameters for a solve.
Locate the icon.
Use the Mechanism Load Selection form to select loads. You must apply at least one load to the
mechanism. You can also use the Mechanism Load Selection form along with the Loadcase Management
form to create loadcases.
Once you've selected loads or a loadcase, you can use the Mechanism Solution Parameters form to
specify parameters for the solve, such as number of steps. If you're doing a dynamic solve, decide
whether or not you want all the forces that will affect the model to be in a state of equilibrium before the
solve begins. In that case, toggle on Initial Static Equilibrium.
Pick Output Selection to use the Mechanism Output Selection form to define the data you want the solver
to return, such as Applied Forces.
Initiating a Solve
Pick Solve to begin a solve.
Locate the icon.
The loads and/or loadcases the software uses for the solve vary based on the situations described below.
 If you select Solve and you haven't specified loads on the Mechanism Load Selection form or
selected loadcases on the Loadcase Management form, the software uses all motions, initial
conditions, forces, and gravity that you've defined to solve the mechanism.
 If you select loads and then select Solve, the software creates a temporary loadcase ( "9999
Last_Used_Loadcase") to store the selected loads.
 If you select an existing or stored loadcase and then select Solve, the software uses the loads that
make up that loadcase to solve the mechanism.
Each subsequent solve uses the loads or loadcases you've selected until you select new loads or loadcases.
Post Processing Mechanism Results
Once you've solved a mechanism, you can use different post processing tools to analyze, display, and
manage result data from a solve. For example, you can:
 animate and display mechanism sequences
 graph result functions
Animating Mechanism Sequences
A sequence is an ordered list of configurations. The software automatically creates a sequence when you
solve a mechanism. You can use Animate Hardware and Animate Software to rapidly display a sequence
to give the appearance of motion.
 Animate Hardware is very fast, but the software disables the display of joints and dimensions
during the animation.
 Animate Software retains the display of joints and dimensions. You can also see assembly
annotation dimension values change with each frame display.
Locate the icon.
See Also

Animating an Assembly
Guidelines for Using Configurations Generated by the Solver
If you want to use a specific configuration returned by the solver, and you used assembly relations (such
as line-to-line constraints) to create the assembly, first turn off the Automatic Assembly Update option on
the Update Options form to keep the software from solving the assembly constraint network.
If you don't turn off Automatic Assembly Update, the software reestablishes the assembly's constraints and
reorients the instances within the assembly, overwriting the configuration generated by the solver.
Note: If you simply want to animate a configuration sequence, you don't need to turn off Automatic
Assembly Update.
Understanding and Graphing Result Functions
During a solve, the software generates different result functions. It stores these functions in function
groups.
Result functions describe the rigid body motion, reaction forces, and applied forces. Result functions for
body motion include the X,Y, Z displacements, rotations, and magnitudes.
 The software calculates reaction force functions to describe the forces and torques that
correspond to joint constraints and the kinematic input motions of the mechanism.
 The software calculates body motions for each ungrounded rigid body as the change in the in the
body's change in center of gravity position with respect to global coordinate directions.
Note: The software includes functions for velocities and accelerations (eight results each)
for body motion results if you specified those options on the Mechanism Output Selection
form.
You can use the tools on the Graphing subpanel to graph these result functions.
Locate the icon.
For example, once you create a function graph, you can use Overlay XY to overlay a second function
graph on the first graph. You can then compare and display two different functions.
Understanding Motion Analysis
After you've solved the mechanism, you can use Motion Analysis to calculate the relative position,
velocity, and acceleration of one marker or joint with respect to another marker.
Locate the icon.
Motion Analysis calculates a set of response functions that define the relative motion of a marker with
respect to another marker. The number and type of response functions depend on the selected type of
motion analysis. The software places these response functions in a new function group.
For example, to calculate acceleration for a marker, you must have a set of acceleration functions. This set
must include six response functions: the first three functions define linear acceleration, and the second
three define angular acceleration. The number of time steps on the abscissa must be the same for all
response functions in the set.
For example, you want the software to calculate the motion of marker 1 (A) relative to marker 2 (B).
This graph shows the motion function of marker 1 from the mechanism solution.
Exporting Mechanism Data to ADAMS
Use File, Export
5. Select File, Export
6. In the Export Selections form, pick Mechanism to ADAMS.
12. Use the Mechanism Load Selection form to select the load types and applied loads to export.
Then use the Export to ADAMS form to specify options such as a run name.
The software creates a .adm (ADAMS Model Data) file to store the data you're exporting.
See Also

Solving a Mechanism
(c) 1999 Structural Dynamics Research
Importing Mechanism Results from ADAMS
Use File, Import
7. Select File, Import
8. Use the Import Selections form to select Mechanism Results from ADAMS.
13. Use the Import from ADAMS form to specify options, such as the name of the .res file (ADAMS
results file) you're importing.
See Also

Solving a Mechanism
Download