Documentos de Académico
Documentos de Profesional
Documentos de Cultura
M BLUNDELL
September 2002
PREFACE
These notes are intended as reference material for students making use of the ADAMS (
Automatic Dynamic Analysis of Mechanical Systems ) program. ADAMS is an industry standard
program and the most well known amongst a class of programs used in the computer aided
engineering discipline known as multibody systems analysis. Using this technology engineers can
analyse and simulate the performance of mechanical systems that undergo large displacement
dynamic motion.
More detailed explanations are available in the ADAMS User Manuals now to be found on
line where the software is installed. Users are also referred to the web site www.adams.com where
the technical knowledge base is a rich source of information. Some of the diagrams and figures in
these notes have been copied from the ADAMS User manuals with the kind permission of
Mechanical Dynamics International Limited.
The material contained here is based on a method of creating ADAMS models using data
sets or SOLVER files are they are now known. Note that this guide is not an extensive list of all
the statements and functions available. Rather it is intended as a useful quick reference for
newcomers to the program. There are many ways of generating models most notably now using
the interactive Graphical User Interface (GUI) incorporated in ADAMS/View. Users may move on
to that using the get started guides built into the ADAMS/Help facility once they understand the
basics involved through building models using the methods described here.
C Mike Blundell
School of Engineering
Coventry University
2002
CONTENTS
IDEALISATION - Describe the real system by a 'model' containing rigid or flexible parts,
joint, springs, dampers, forces and applied motions.
MODEL GENERATION - A preprocessor is used to generate a computer input file containing all
the data to describe the model, such as masses, mass centres, joint locations, spring rates ....
GENERATE EQUATIONS - The equations of motion for the system are automatically formulated
based on the principles of Lagrangian dynamics.
EQUATION SOLUTION - The equations of motion are assembled in matrix form and solved to
provide analysis outputs at different points in time.
AEROSPACE
Flight dynamics and control systems
Landing Gear studies
Satellite solar panel deployment
Pilot ejection
MANUFACTURING
Material Handling Machinery
Robot Dynamics and Control
ELECTROMECHANICAL DEVICES
Tape drives, CD players, VCRs
Circuit breakers
Timing Mechanisms
PARTS
Rigid Bodies
Definition by mass, mass centre, and mass moments of inertia
Every model must include a fixed GROUND part
POINTS
Geometric entities used to plan the model
Not part of the final data set
Used with PARTS to define Ids for MARKERS
MARKERS
Defined as a point fixed on a part
Belongs to and moves with the part during the simulation
Used to define the location and orientation of mass centres, joints, springs, graphics, .....
JOINTS
A library of standard joints
A joint connects two parts
The relative motion is constrained by joint type
MOTIONS
Used to input translational or rotational displacements
Can only be input at certain joints and are defined as a function of time
FORCES
Can be linear or nonlinear and translational or rotational
Defined as Action/Reaction (ie. springs) or Action Only
Body forces and joint reactions are calculated automatically
User ADAMS/Tire
Written ADAMS/Car
ADAMS/Vehicle
ADAMS ADAMS/Rail
Subroutines ADAMS/Android
etc
ADAMS/View
2.3 Types of Analysis
KINEMATIC
Movement controlled by joint selection and motion inputs.
Movements not effected by external forces or mass properties.
Systems have zero rigid body Degrees of Freedom (DOF).
STATIC
Determine static equilibrium position and reaction forces.
Velocities and accelerations are set to zero.
Often needed before dynamic analysis (ie. full vehicle models).
Can be run QUASI-STATIC in time domain.
DYNAMIC
Complete nonlinear transient multi-degree of freedom systems using numerical integration to solve
the equations of motion. Users can select the integrator for solution and control the accuracy of the
solution process.
DISPLACEMENTS
VELOCITIES
ACCELERATIONS
FORCES
USER DEFINED OUTPUTS (ie Roll Centre Height)
For each result the magnitude and components will be available. For example the velocities on a
part could be requested to give:
Vy
The components may be resolved parallel to
the Ground Reference Frame or using a Mark
Wy
MARKER Z
Wz Z GROUND
REFERENCE
X FRAME
Vz X
Wx Vx Y
2.6 Presentation of Results
TABULAR OUTPUT
Time Mag X Y Z
0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
1.25000E-02 8.65328E+00 -1.64802E-01 6.05460E-01 8.63050E+00
2.50000E-02 1.72386E+01 -2.93963E-01 9.87716E-01 1.72078E+01
3.75000E-02 2.57077E+01 -3.89073E-01 1.15126E+00 2.56790E+01
5.00000E-02 3.40128E+01 -4.52273E-01 1.10528E+00 3.39919E+01
6.25000E-02 4.21068E+01 -4.86185E-01 8.63417E-01 4.20952E+01
XY PLOTS
GRAPHICAL ANIMATION
MARKERS
A Marker can belong to the Ground or to a Part
The Marker moves and rotates with the Part
Markers are used to define mass centres, joint locations ...
Markers are defined relative to the LPRF
Markers can be defined relative to the GRF if no LPRF is defined for that part
Ym
Marker m
Xm
01 Zn MRF
{QP}n Om
GROUND
LPRF
ZG
Yn Zm
On
{QG}1
Xn
GRF Part n
O1 YG
XG
3.2 Positioning of the LPRF
The following two methods may be used to locate and orientate the LPRF with respect to the
GRF:
Yn
LPRF
01 Xn
GROUND On
ZG
QG Zn
GRF Part n
O1 YG
XG
Z Z1 Z Z1
Y3
Y2
Y2
Y1 Y1
Y
X
X1 X1
X1 X2
Location by: QG = x, y, z
REU =
XG-ZG method
Z
Body n
{ZG}1
Zn
ZG
{XG}1 X LPRF
Yn
GRF
Q On
O1
{QG}1
XG YG
01
Xn
GROUND
Location by: QG = x, y, z
XG = x, y, z
ZG = x, y, z
The following two methods may be used to locate and orientate a Marker with respect to the
LPRF:
Ym
Marker
Xm
Om
Zn QP Zm
LPRF
On Yn
Xn
Location by: QP = x, y, z
REU = ( Same as for LPRF)
XP-ZP method
ZP
Zm
Zz
XP
MRF
Ym
LPRF Om
QP
On Yn
Xn
Marker m
Xm
Body n
Location by: QP = x, y, z
XP = x, y, z
ZP = x, y, z
3.4 Defining a Part
Definition
The PART statement defines the inertial properties of a rigid body, its initial position, orientation
and velocity.
Format
PART/id, GROUND
or
Example
Arguments
CM The id-number of the marker that defines the centre of mass position and
orientation.
IM The id-number of the marker about which the moments of inertia are given,
defaults to CM.
IP Mass moments of inertia. Normally only the principal moments of inertia Ixx,
Iyy, Izz are specified.
XG The co-ordinates of a point in the xz-plane of the LPRF measured relative to the
GRF.
ZG The co-ordinates of a point on the z-axis of the LPRF measured relative to the
GRF.
WX,WY,WZ The initial angular velocities of the CM marker measured about its own axes.
3.5 Defining a Marker
Definition
The MARKER statement defines the position and orientation of a geometric point on a part.
Format
Arguments
PART Id-number of the part to which the marker belongs. The default is the last part
defined in the data set.
QP, REU The origin and euler angles relative to the LPRF.
QP,XP,ZP The origin, any point on the xz-plane, any point on the z-axis all relative to the
LPRF.
Example
MARKER/0200, PART = 02
,QP = 103.0, 57.5, 247.2, REU= 90D, 90D, 0D
3.6 Example Part and Marker Statements
1
Z
1 0202
0200
z
mass=10
0201 300 Ixx = 0.02
x Iyy = 0.02
y Izz = 0.001
4
Y
GRF 3
4
X
Formulate part and marker statements using:
Constant Velocity 3 1 4
Cylindrical 2 2 4
Fixed 3 3 6
Planar 1 2 3
Rack-and-pinion 0.5* 0.5* 1
Revolute 3 2 5
Screw 0.5* 0.5* 1
Spherical 3 0 3
Translational 2 3 5
Universal 3 1 4
* The rack-and-pinion and screw joints are shown as half translational and half rotational because
they relate a translational motion to a rotational motion. They each create one constraint, but the
constraint is neither purely translational nor purely rotational.
3.8 The Joint Statement
Definition
Format
Example
Definition
Format
TRANSLATION
MOTION/id, JOINT = id ,
ROTATION
, FUNCTION = expression
Arguments
Example
Definition
For any model the number of degrees of freedom (DOF) in the system can be calculated using the
following equation:
Each Part has 6 rigid body degrees of freedom. The Ground Part is not included as it does not
move.
Example
For the linkage shown the use of revolute joints seems the obvious solution. This scheme will
however produce a model which is overconstrained.
REV REV
Parts 6x3 = 18
Revs -5 x 4 = -20
M
REV REV Motion -1 x 1 = -1
Total DOF = -3
The following system although not obvious produces the correct zero degree of freedom
(kinematic) model.
CYL SPH
Parts 6x3 = 18
Revs -5 x 2 = -10
Cyls -4 x 1 = -4
M
REV
Sphs -3 x 1 = -3
REV
Motion -1 x 1 = -1
Total DOF = 0
3.11 Gravitational Fields
Definition
The ACCGRAV statement specifies the magnitude and direction of the acceleration due to gravity:
Format
,IGRAV=r
ACCGRAV/ ,JGRAV=r
,KGRAV=r
Arguments
Example
Format
DYNE
GRAM
KILOGRAM_FORCE
KILOGRAM
KNEWTON
KPOUND_MASS
UNITS/ FORCE= KPOUND_FORCE , MASS=
OUNCE_MASS
NEWTON
POUND_MASS
OUNCE_FORCE
SLUG
POUND_FORCE
CENTIMETER
FOOT
HOUR
KILOMETER
MILLISECOND
, LENGTH= INCH , TIME=
MINUTE
METER
SECOND
MILLIMETER
MILE
Example
UNITS/FORCE=NEWT,MASS=KILO,LEN=MILL,TIME=SEC
3.13 The Request Statement
Definition
A REQUEST statement indicates a set of data the user wants ADAMS to write to the Tabular
Output File And the Request File.
DISPLACEMENT
VELOCITY
REQUEST/id, , I=id ,J=id ,RM=id
ACCELERATION
FORCE
Format
, COMMENTS=c
Notes
For each request the results calculated are for the I marker relative to the J Marker.
The J Marker is not required for an Action-only Force.
The components of each request are resolved using the reference marker RM. If this is ommitted
the results are resolved using the GRF. The RM has no effect on angular displacement output.
Angular displacements are output as Euler Angles and are written to the Tabular Output
File in degrees. All other angular output is calculated in radians. Angular displacements may be
output as Yaw, Pitch and Roll using the OUTPUT statement.
Example
In this case the velocity of marker 0200 is requested relative to marker 0100 which belongs to the
ground part and does not move. For this request eight results including the magnitude and
components of velocity will be available.
The velocity components are resolved using the reference marker 0200 as shown. In this case the
RM is the same as the I marker but need not always be so.
Vy
Wy
02
0200 Z
Wz GROUND
Z REFERENCE
X FRAME
Vz X
0100
Wx Vx Y
3.14 The Output Statement
Definition
An OUTPUT statement controls the generation of Request and Graphics Files and the format of
the Tabular Output File.
Format
REQSAVE
GRSAVE
OUTPUT/ NOPRINT
TELETYPE
YPR
Optionally select an item combination
Arguments
Example
OUTPUT/REQSAVE,GRSAVE,TELETYPE,YPR
4.0 SCHEMATICS, SYNTAX AND GRAPHICS
4.1 Drawing a System Schematic
Real System
System Schematic
01 01
GROUND M
YG REV
ZG XG
03 04
02 03 04
02
CONROD
SPH UNI TRA
PISTON
CRANKSHAFT
M Motion Input
F Applied Force
Spring
Damper
4.2 Numbering Convention
The following convention is proposed in order to offer a structured system for the numbering of
various system elements. The purpose of this is to provide a more readable input deck which can
greatly assist with de-bugging.
Before writing the data set, the model should be divided into parts and points.
ADAMS ID structure:
MARKER/mmmm mmmm=ppqq
where pp is the part to which
the marker belongs and qq is
the point number
JOINT/jj jj=qq
where qq is the point number
MOTION/mm mm=jj
where jj is the joint number
FORCE/ff ff=qq
for 'one point forces' (bushes,
action-only forces)
SPRING/ssss ssss=qqqq
where qqqq are the two points
at each end of the spring
Example
01 01
GROUND M
0201 0101
YG REV
ZG XG
0202 03 04
0404
02 03 0303 04
02 0403
0302CONROD
SPH UNI TRA
PISTON
CRANKSHAFT
0104
Parts
01 Ground
02 Crankshaft
03 Connecting Rod
04 Piston
Points
GROUND PART
PART/01, GROUND
MARKER/0100, QP= 0,0,0
MARKER/0101, QP= 0,0,-100
MARKER/0104, QP= 230,0,0, ZP= 250,0,0
CRANKSHAFT
PART/02, MASS= 2, IP= 0,8,0, CM= 0200
MARKER/0200, QP= 20,-40,0
MARKER/0201, QP= 0,0,-100
MARKER/0202, QP= 30,-60,0
CONNECTING ROD
PART/03, MASS= 0.7, IP= 24,24,0 CM= 0300
MARKER/0300, QP= 90,-32.3,0, ZP= 200,0,0
MARKER/0302, QP= 30,-60,0
MARKER/0303, QP= 200,0,0, REU= 0D,-90D,0D
PISTON
PART/04, MASS= 0.4, CM= 0400
MARKER/0400, QP= 210,0,0
MARKER/0403, QP= 200,0,0
MARKER/0404, QP= 230,0,0, ZP= 250,0,0
CONSTRAINTS
JOINT/01, REV, I=0201, J=0101
JOINT/02, SPH, I=0302, J=0202
JOINT/03, UNI, I=0403, J=0303
JOINT/04, TRA, I=0404, J=0104
MOTION/01, JOINT=01, ROT, FUNCTION = 2000*TIME/60
SYSTEM PARAMETERS
OUTPUT/REQSAVE, GRSAVE, TELETYPE
UNITS/LENGTH= MILLI, MASS= KILO, FORCE= NEWTON, TIME= SECS
ACCGRAV/JGRAV= -9810
REQUESTS
REQUEST/1, DIS, I=0400, J=0100, C= Displacement of piston from mass origin
REQUEST/2, VEL, I=0400, J=0100, C= Velocity of piston
REQUEST/3 ACC, I=0400, J=0100, C= Acceleration of piston
END
4.4 Syntax Rules
In order to prepare the ADAMS input deck the main syntax rules which must be followed are:
NUMERICAL VALUES - Free format; fixed point and exponential notation allowed
ABBREVIATIONS - Almost all keywords can be abbreviated to the first two letters
DEFAULT VALUES - The default for numerical values is 0 unless specified otherwise
MULTIPLE DEFINITIONS - If any statement or any entry within a statement is defined more than
once, the last one is used. A warning is issued
4.5 Graphics
The GRAPHICS statement must be included in the ADAMS input deck in order to create three
dimensional graphics for later postprocessing. The following graphics elements are a summary of
some of those available.
0202 0203
OUTLINE 0204
0201 0205
CIRCLE
CYLINDER
ARC
FRUSTUM
The GRAPHICS statement creates a three dimensional graphic display for use in post-processing.
Format
Example
GRA/02, OUT=0201,0201,0203,0204,-0205,0201
Arguments
OUTLINE=id, .... A sequence of marker id's on one part which are connected by straight lines. A
negative marker specifies an invisible line.
CM The marker id for the centre of CIRCLE, CYLINDER or FRUSTUM. The z-axis
of this marker is the central axis of the circle, cylinder or frustum.
RANGLE Defines the subtended angle of an arc, cylinder or frustum. Measured positive about
CM z-axis starting at the x-axis.
SIDES The number of straight lines between the two parallel circles to draw the cylinder or
frustum.
Force elements of this nature act along the line of sight between two points on two separate parts.
Examples are the SPRINGDAMPER element and translational action-reaction forces defined
through the SFORCE statement.
z
I
x Line-of-Sight
02 y Force Element
y J
03
z
The force acts along the line-of sight between an I marker on one part and a J marker on another
part.
The forces acting on the I and J marker are equal and opposite.
The component method applies to translational Action-Only forces where the direction and sense
of the force must be defined and to rotational forces where the axis about which the torque acts is
required.
z Action-only
I Force
x
02 y
z J
03
y
Force acts on the I marker
Sense and direction defined by z-axis of the J marker
Rotational Forces
x Torque acting
I on the I marker
z
02 y
z J
Reaction torque acting 03
y
on the J marker
Springs connect two parts (I marker on one part J marker on the other)
For Linear springs use the SPRINGDAMPER statement
For Non-Linear springs use the SFORCE statement
Consider the Linear Case
I
I
DM(I,J)
DM(I,J) L
J
J
J
FORCE
L
Compression
DM(I,J)
Tension
I I
MARKERS MARKERS
APPROACH SEPARATE
VR(I,J) IS -VE VR(I,J) IS +VE
J J
FORCE = -C * VR(I,J)
FORCE
Approaching
VR(I,J)
Separating
Format
,C = r
,K = r
,TRANSLATION
,FORCE = r
,LENGTH = r
,KT = r
,ROTATION ,CT = r
,TORQUE = r
,ANGLE = r
Arguments
ANGLE = r Defines the reference angle for the torsional spring. If the reference torque is zero,
ANGLE equals the free angle.
FORCE = r The initial force in the spring at the given reference length.
LENGTH = r Defines the reference length for the spring. If the reference force for the spring
is zero, LENGTH equals the free length.
Example
SPR/0509,I=0205,J=0409,TRANS,K=40,L=150,C=5
This defines a translational spring damper. The data must be consistent for the system of units
being used ie. N/mm, mm, Ns/mm.
5.6 The Sforce Statement
Definition
A SFORCE statement applies a single component force or torque to one or both of the parts it
connects.
Format
TRANSLATION
SFORCE/ id, I=id, J=id, ROTATION ,ACTIONONLY
,FUNCTION = expression
Arguments
FUNCTION = Specifies the expression which will define the force or torque.
Example
A Bush connects two parts (I marker on one part J marker on the other).
Generates six linear equations based on stiffness and damping.
I
y I and J Markers Coincident
z J
x
Fx kx 0 0 0 0 0 dx cx 0 0 0 0 0 vx fx
Fy 0 ky 0 0 0 0 dy 0 cy 0 0 0 0 vy fy
Fz 0 0 kz 0 0 0 dz 0 0 cz 0 0 0 vz fz
+
Tx 0 0 0 ktx 0 0 rx 0 0 0 ctx 0 0 wx tx
Ty 0 0 0 0 kty 0 ry 0 0 0 0 cty 0 wy ty
Tz 0 0 0 0 0 ktz rz 0 0 0 0 0 ctz wz tz
5.8 The Bushing Statement
Definition
A BUSHING statement defines a massless bushing with linear stiffness and damping properties
Format
,C = cx, cy, cz
,K = kx, ky, kz
,FORCE = fx, fy, fz
BUSHING/id, I=id, J=id
,CT = ctx, cty, ctz
,KT = ktx, kty, ktz
,TORQUE = tx, ty, tz
Arguments
Example
Definition
A JPRIM statement describes a joint primitive, which constrains one two or three degrees of either
translational or rotational freedom.
Format
ATPOINT
INLINE
JPRIM/ id,I=id,J=id, INPLANE
ORIENTATION
PARALELL_AXES
PERPENDICULAR
Example
J
I,J
I
INLINE PARALLEL_AXES
I Z
Z
J
Z I
INPLANE PERPENDICULAR_AXES
Z
Z I
J Z
I J
CONSTRAINED
FREE
6.2 Function Expressions
Function Expressions are used to define force and motion inputs to a system model.
Components Examples
Numbers
FUNCTION = 1E2 +3.4+6
Operators
FUNCTION = 3*6/2+3-2**2
System constants
FUNCTION = PI+20
System variables
FUNCTION = DX(1040,2010)
Arithmetic IFs
FUNCTION = IF(TIME-5:-1,0,1)
FORTRAN functions
FUNCTION = SIN(TIME*360D)
Continuation commas
FUNCTION = 1+1+1+1+1+1+1+1
,+1+1+1+1+1+1
ADAMS functions
FUNCTION = POLY(0,0,6.28)
Note that a function expression must be terminated by a backslash if it is not the last part of the
statement, e.g.:
OPERATORS **, *, /, +, -
SYSTEM VARIABLES
time TIME
translational ACCM(I,J)
accelerations ACCX(I,J,R), ACCY(I,J,R), ACCZ(I,J,R)
torques TM(I,J,)
TX(I,J,R), TY(I,J,R), TZ(I,J,R)
ARITHMETIC IF IF(exp1:exp2,exp3,exp4)
DM (I,J)
y
z
z J
x
x I
y
DX ( I,J,R)
z y
z
y J
x I x
y
x
R
01
0103
SPRING RATE = 400 N/mm
FREE LENGTH = 260 mm
0206
02
Note that for this formulation a positive function produces a repelling force (compression) and a
negative function produces an attracting force (tension)
6.4 Step Functions
The purpose of the STEP FUNCTION is to define a change of state in the expression which is
continuous.
y
(x2,y2)
(x1,y1)
Example: Switch a cylinder length from 100 to 120 at a simulation time of 1.2
seconds.
100 mm 20 mm
0210
0310 z z
02
03
The ARITHMETIC IF FUNCTION is used to branch to different states depending on the value of
a user defined expression within the function.
FUNCTION = IF(exp1:exp2,exp3,exp4)
DISTANCE ( mm )
200 EXP3
EXP2 EXP4
100
MOTION/10, JOINT=10
,FUNCTION=IF(TIME-1.5:
,STEP(TIME,1.0,100,1.2,120),
,120,
,STEP(TIME,2.0,120,2.5,50))
6.6 Using Nonlinear Splines
The most direct method to represent a nonlinearity in a system is to use the SPLINE statement and
the SPLINE FUNCTION.
yn
y3
y2
y1
x1 x2 x3 xn X
SPLINE/id
,X = x1, x2, x3, . . . . . . . . . ., xn
where x is the variable associated with the x values on the spline and id is the id number of the
SPLINE statement.
Compression
DM (0206,0103)
0206 (mm)
02
Extension
SPLINE/1
,X = 220, 230, 240, 250, 260, 270, 280, 285, 290
,Y = 20E3,15E3,7E3, 3E3, 0, -4E3,-8E3,-11E3,-15E3