Anda di halaman 1dari 58

A Quick Reference Guide for the use of Solver Data

Sets with the ADAMS Program

M BLUNDELL

School of Engineering, Coventry University

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

1.0 INTRODUCTION TO MULTIBODY SYSTEMS ANALYSIS


1.1 Multibody Systems Overview
1.2 The Analysis Process
1.3 Application in Industry

2.0 ADAMS OVERVIEW


2.1 Main Elements of an ADAMS Model
2.2 ADAMS Data Base and File Structure
2.3 Types of Analysis
2.4 Joint Library
2.5 Results from an Analysis
2.6 Presentation of Results

3.0 PARTS, MARKERS AND JOINTS


3.1 Co-ordinate Systems
3.2 Positioning of the LPRF
3.3 Positioning of a Marker
3.4 Defining a Part
3.5 Defining Markers
3.6 Example Part and Marker Statements
3.7 Constraining Motion of Parts
3.8 The Joint Statement
3.9 Motion Inputs at Joints
3.10 Degrees of Freedom
3.11 Gravitational Fields
3.12 System of Units
3.13 The Request Statement
3.14 The Output Statement
CONTENTS (Continued)

4.0 SCHEMATICS, SYNTAX AND GRAPHICS


4.1 Drawing s System Schematic
4.2 Numbering Convention
4.3 Example Input Deck
4.4 Syntax Rules
4.5 Graphics
4.6 The Graphics statement

5.0 FORCE ELEMENTS


5.1 Line-of-Sight Forces
5.2 Component Method
5.2 Spring Forces
5.4 Damper Forces
5.5 The Springdamper Statement
5.6 The Sforce Statement
5.7 Modelling Bushes
5.8 The Bushing Statement

6.0 ADVANCED CONSTRAINTS AND FUNCTION EXPRESSIONS


6.1 Joint Primitives
6.2 Function Expressions
6.3 Using Function Expressions
6.4 Step Functions
6.5 Arithmetic If Functions
6.6 Using Nonlinear Splines
1.0 INTRODUCTION TO MULTIBODY SYSTEMS ANALYSIS

1.1 Multibody Systems Overview

Multibody Systems Analysis may be summarised as:

The Analysis and Simulation of Mechanical Systems.


Systems can consist of rigid or flexible bodies.
Bodies are assembled using rigid joints or flexible connections.
System Elements such as springs and dampers can be nonlinear.
The mechanism can move through large displacement motion.
Automatic formation and solution of equations of motion.
Animated and plotted presentation of results.

1.2 The Analysis Process

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.

PRESENTATION OF RESULTS - On completion of the analysis a postprocessor is used to


present results in tables, XY plots or as animated graphics.

1.3 Applications in Industry


VEHICLE TRANSPORTATION
Vehicle Dynamics - handling, ride and durability studies
Suspension Systems, steering and transmission
Door hinges, tailgates, wiper mechanisms
Coach and truck dynamics

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

AGRICULTURE AND CONSTRUCTION


Off-road tracked or wheeled vehicle dynamics
Towed implement behaviour
Durability Analysis

2.0 ADAMS OVERVIEW


2.1 Main Elements of an ADAMS Model

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

2.2 ADAMS Data Base and File Structure


Text Editor ADAMS/View CAD Systems

ADAMS Input File

User ADAMS/Tire
Written ADAMS/Car
ADAMS/Vehicle
ADAMS ADAMS/Rail
Subroutines ADAMS/Android
etc

Output Message Graphics Request Results


File File File File File

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.

2.4 Joint Library

Revolute Spherical Cylindrical Translational

Planar Fixed Universal Rack & Pinion


2.5 Results from an Analysis

On completion of an analysis the following types of results can be generated:

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:

Vmag - Mag. of velocity Amag Mag. of angular velocity


Vx - Velocity in X direction Wx Angular velocity about X axis
Vy - Velocity in Z direction Wy Angular velocity about Y axis
Vz - Velocity in Z direction Wz Angular velocity about Z axis

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

3.0 PARTS, MARKERS AND JOINTS


3.1 Co-ordinate Systems

There are three types of right-handed Cartesian co-ordinate systems used:

GROUND REFERENCE FRAME (GRF)


Fixed on the ground and does not move

LOCAL PART REFERENCE FRAME (LPRF)


Each Part has a single LPRF
The LPRF moves and rotates with the Part
The LPRF is defined relative to the GRF

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:

Euler Angle Approach

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

3.3 Positioning of a Marker

The following two methods may be used to locate and orientate a Marker with respect to the
LPRF:

Euler Angle Approach

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

PART/ id [,MASS = r] [,CM = id] [,IM = id]


[,IP = xx, yy, zz [, xy, xz, yz]]
[[QG=x, y, z, REULER = a, b, c]]
,
[[QG = x, y, z, ZG = x, y, z, XG = x, y, z]]

[[,VX = x, Vy = y, VZ = z, WX = a, WY= b, WZ = c]]

Select one item

Optionally select the item

Optionally select an item combination

Example

PART/02, MASS=10.5, CM=0200, IP=3.8E3,0.02E3,3.8E3


,VX=25000, WZ=90.2

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.

MASS Specifies the part mass.

IP Mass moments of inertia. Normally only the principal moments of inertia Ixx,
Iyy, Izz are specified.

QG The origin of the LPRF relative to the GRF.

REULER Euler angle rotations of the LPRF relative to GRF.

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.

VX,VY,VZ The initial translational velocities of the CM


marker measured parallel 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

MARKER/ id [,PART = id]


[[QP=x, y, z, REULER = a, b, c]]
,
[[QP = x, y, z, ZP = x, y, z, XP = x, y, z]]

Select one item

Optionally select the item

Optionally select an item combination

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:

Euler angle approach to define the LPRF.

PART/02, MASS = 10, CM = 0200, IP = 0.02, 0.02, 0.001


, QG = 3.0, 4.87, 4.5, REU = 0D, -60D, 0D
MARKER/0200, QP = 0, 0, 0
MARKER/0201, QP = 0, 0, -1
MARKER/0202, QP = 0, 0, 1

XP-ZP-Method to define the Markers , LPRF undefined.

PART/02, MASS = 10, CM = 0200, IP = 0.02, 0.02, 0.001


MARKER/0200, QP = 3.0, 4.87, 4.5
, ZP = 3.0, 5.74, 5.0
,XP = 10.0, 4.87, 4.5
MARKER/0201, QP = 3.0, 3.0, 4.0
MARKER/0202, QP = 3.0, 5.74, 5.0

3.7 Constraining Motion of Parts


The standard joint library provides the following sets of constraints.

Joints Translational Rotational Total


Constraints Constraints Constraints

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

The JOINT statement describes a physically recognisable combination of constraints.

Format

CONVEL , ICTRAN = r1, r2


CYLINDRICAL , ICROT = r1, r2
FIXED
PLANAR
JOINT/id, I = id, J = id, RACKPIN, PD = r
REVOLUTE [, IC = r1,r2 ]
SCREW, PITCH = r
SPHERICAL
TRANSLATIONAL [, IC = r1, r2 ]
UNIVERSAL
Select one item

Optionally select the item

Optionally select an item combination

Example

JOINT/02, I = 0602, J = 0902, REV


3.9 Motion Inputs at Joints

Definition

A MOTION statement specifies a time dependent translational or rotational motion at a


TRANSLATIONAL, REVOLUTE or CYLINDRICAL joint.

Format

TRANSLATION
MOTION/id, JOINT = id ,
ROTATION

, FUNCTION = expression

Select one item

Optionally select the item

Arguments

JOINT = id The id number of the joint at which the motion is to be applied.


TRANSLATIONAL Specifies that the motion is translational

ROTATION Specifies that the motion is rotational

FUNCTION = Defines the expression used to define the motion

Example

MOTION/02, JOINT = 02, ROT, FUNCTION = 360D * TIME


3.10 Degrees of Freedom

Definition

For any model the number of degrees of freedom (DOF) in the system can be calculated using the
following equation:

DOF=6 x (No. of Parts) - (Constraints from Joints and Motions)

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

Optionally select an item combination

Arguments

IGRAV=r Defines the x component of gravitational


acceleration with respect to the GRF.

JGRAV=r Defines the y component of gravitational


acceleration with respect to the GRF.

KGRAV=r Defines the z component of gravitational


acceleration with respect to the GRF.

Example

ACCGRAV/ KGRAV = -9810.0


3.12 System of Units
Definition

A UNITS statement sets the appropriate units for an ADAMS analysis.

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

Select one item

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

Select one item

Optionally select the item

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

REQUEST/1, VEL, I= 0200, J=0100, RM=0200


, COMMENT = Velocity of Part 2 Centre of Mass

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.

Vmag - Mag. of velocity Amag Mag. of angular velocity


Vx - Velocity in X direction Wx Angular velocity about X axis
Vy - Velocity in Z direction Wy Angular velocity about Y axis
Vz - Velocity in Z direction Wz Angular velocity about Z axis

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

REQSAVE Save a Request File.


GRSAVE Save a Graphics File.
NOPRINT Suppress printout to the Tabular Output File.
TELETYPE Restrict Tabular Output File to 80 columns.
YPR Output angular displacements as Yaw, Pitch, Roll.

Z Z Z' Z'' Z'


Y''
Y' Y' Y'
X Y X'' X''
X' X'
YAW (+VE Z) PITCH (-VE Y) ROLL (+VE X)

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

The following suggested symbols may be used:


01
The Ground Part
GROUND
YG

XG The Ground Reference Frame


ZG

02 Part Identification Number

02 Point Identification Number

SPH Spherical Joint

REV Revolute Joint

CYL Cylindrical Joint

TRA Translational Joint

UNI Universal Joint

PLA Planar Joint

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:

PART/pp pp=01, ...., 99


01 reserved for ground

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

01 Crankshaft to Ground Revolute Joint


02 Crankshaft to Connecting Rod Spherical Joint
03 Connecting Rod to Piston Universal Joint
04 Piston to Ground Translational Joint

4.3 Example Input Deck


TILTED PISTON CRANK SHAFT MECHANISM

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:

FIRST LINE - The first line is the TITLE statement (required)

LAST LINE - The last line is an END statement (not required)

COMMENTS - Comments are indicated by more than five consecutive blanks or an


exclamation mark (Not in function expressions)

GENERAL STATEMENT SYNTAX - TYPE/id, KEYWORD= value

Note: All data entries in a statement must be separated by commas

NUMERICAL VALUES - Free format; fixed point and exponential notation allowed

ANGULAR DATA - Default: radians. Degrees must be designated by a postfix D

CONTINUATION LINES - A continuation line is indicated by a comma in column 1

But: A statement can only be interrupted where a comma would appear


A comment line must not precede a continuation line
The continuation comma within a function expression is not part of the
expression

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

4.6 The Graphics Statement


Definition

The GRAPHICS statement creates a three dimensional graphic display for use in post-processing.

Format

OUTLINE=id1 id2, ....


CIRCLE,CM=id{,RADIUS=r,RM=id}[,SEG=i]
ARC,CM=id,RANGLE=r{,RADIUS=r,RM=id}
GRAPHICS/ id, [,SEG=i]
CYLINDER,CM=id,[RANGLE=r],LENGTH=r
[,SIDES=i]{,RADIUS=r,RM=id}[,SEG=i]
FRUSTUM,CM=id,[RANGLE=r],LENGTH=r
[,SIDES=i],TOP=r,BOTTOM=r[,SEG=i]

Select one item

Optionally select the item

Optionally select an item combination

Example

GRA/02, OUT=0201,0201,0203,0204,-0205,0201

GRA/03, CYL, CM=0305, RAD=20, LEN=100

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.

RADIUS The radius of a circle, cylinder or arc.

RANGLE Defines the subtended angle of an arc, cylinder or frustum. Measured positive about
CM z-axis starting at the x-axis.

RM The reference marker to locate the edge of a circle, cylinder or arc.

SEG The number of straight lines to draw the circle.

LENGTH The length of the cylinder or frustum.

SIDES The number of straight lines between the two parallel circles to draw the cylinder or
frustum.

TOP The top radius of a frustum.

BOTTOM The bottom radius of a frustum.


5.0 FORCE ELEMENTS

5.1 Line-of-Sight Forces

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 orientation of the I and J marker have no effect.


5.2 Component Method

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.

Translational Action-Only Forces

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

Torque acts on the I marker and reacts on the J marker


Torque acts about z-axis
I and J marker must be parallel and point in the same direction
5.3 Spring Forces

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

COMPRESSION AT FREE LENGTH TENSION


POSITIVE FORCE ZERO FORCE NEGATIVE FORCE

L = Free Length of Spring ( at zero force )


DM(I,J) = Magnitude of Displacement between I and J Marker
K = Spring Stiffness
FORCE = K*(L-DM(I,J))

FORCE
L

Compression

DM(I,J)
Tension

5.4 Damper Forces


Dampers connect two parts (I marker on one part J marker on the other)
For Linear dampers use the SPRINGDAMPER statement
For Non-Linear dampers use the SFORCE statement
Consider the Linear Case

I I

MARKERS MARKERS
APPROACH SEPARATE
VR(I,J) IS -VE VR(I,J) IS +VE

J J

DAMPER FORCE IS POSITIVE DAMPER FORCE IS NEGATIVE

VR(I,J) = Radial line of sight velocity between I and J marker


C = Damping Coefficient

FORCE = -C * VR(I,J)

FORCE

Approaching

VR(I,J)
Separating

5.5 The Springdamper Statement


Definition

A SPRINGDAMPER statement applies a rotational or a translational spring damper between two


parts.

Format

SPRINGDAMPER/ id, I=id, J=id

,C = r
,K = r
,TRANSLATION
,FORCE = r
,LENGTH = r

,KT = r
,ROTATION ,CT = r
,TORQUE = r
,ANGLE = r

Select one item

Optionally select an item combination

Arguments
ANGLE = r Defines the reference angle for the torsional spring. If the reference torque is zero,
ANGLE equals the free angle.

C=r The viscous damping coefficient for the force.

CT = r The viscous damping coefficient for the torque.

FORCE = r The initial force in the spring at the given reference length.

K=r The spring stiffness for the force.

KT = r The rotational stiffness for the torque.

LENGTH = r Defines the reference length for the spring. If the reference force for the spring
is zero, LENGTH equals the free length.

TORQUE = r The initial torque at the given reference angle.

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

Select one item

Optionally select the item

Arguments

ACTIONONLY The force will act on the I marker only.

FUNCTION = Specifies the expression which will define the force or torque.

Example

SFO/0509, I=0205, J=0409, TRANS


,FUNCTION= 40*(150 - DM(0205,0409)) - 5*VR(0205,0409)

This is equivalent to the springdamper given in the previous example.


5.7 Modelling Bushes

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

General Form of the Equation

{Fij} = -[k] {dij} - [c] {vij} + {fij}

Which expands to become

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

Optionally select an item combination

Arguments

C=cx,cy,cz Damping coefficients


K=kx,ky,kz Stiffness coefficients
FORCE=fx,fy,fz Force preloads
CT=ctx,cty,ctz Torsional damping coefficients
KT=ktx,kty,ktz Torsional stiffness coefficients
TORQUE=tx,ty,tz Torsional preloads

Example

BUSH/03, I=0203, J=0503,


,K=7825,7825,944, KT=2.5E6,2.5E6,944
,C=35,35,480, CT=61E3,61E3,40
6.0 ADVANCED CONSTRAINTS AND FUNCTION EXPRESSIONS

6.1 Joint Primitives

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

Select one item

Example

JPRIM/04, I=0304, J=0604, INPLANE


ATPOINT ORIENTATION

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.:

SFORCE/01, I=1, J=2, FUNCTION = 60*DM(1,2)\ ,TRANS


or
SFORCE/01, I=1, J=2, TRANS, FUNCTION = 60*DM(1,2)
NUMBERS integers, real numbers, exponents

OPERATORS **, *, /, +, -

SYSTEM PI = 3.1415, DTOR = PI/180,


CONSTANTS RTOD = 180/PI

SYSTEM VARIABLES

time TIME

analysis mode MODE

linear displacement DM(I,J), DX(I,J,R), DY(I,J,R), DZ(I,J,R)

angular displacement AX(I,J), AY(I,J), AZ(I,J)

orientation PSI(I,J), THETA(I,J), PHI(I,J)


YAW(I,J),PITCH(I,J),ROLL(I,J)

translational velocities VM(I,J), VR(I,J)


VX(I,J,R), VY(I,J,R), VZ(I,J,R)

angular velocities WM(I,J,)


WX(I,J,R), WY(I,J,R), WZ(I,J,R)

translational ACCM(I,J)
accelerations ACCX(I,J,R), ACCY(I,J,R), ACCZ(I,J,R)

angular accelerations WDTM(I,J,)


WDTX(I,J,R), WDTY(I,J,R)
WDTZ(I,J,R)

translational forces FM(I,J,)


FX(I,J,R), FY(I,J,R), FZ(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)

FORTRAN FUNCTIONS ABS, ATAN, ATAN2, COS,


EXP, LOG, LOG10, MIN, MAX,
SIN, SQRT, TAN

ADAMS FUNCTIONS BISTOP,CHEBY,SHF,


FORCOS, FORSIN, HAVSIN,
IMPACT, POLY,SPLINE, STEP
6.3 Using Function Expressions

The following illustrate the use of system variables.

DM(I,J) Magnitude of displacement between two markers

DM (I,J)

y
z
z J

x
x I
y

DX(I,J,R) Returns the x component of the displacement vector of J to I resolved in the


axis system of R.

DX ( I,J,R)

z y
z
y J
x I x
y
x
R

DX is negative in this example


Consider modelling a linear spring without using the SPRINGDAMPER statement

01

0103
SPRING RATE = 400 N/mm
FREE LENGTH = 260 mm

0206

02

SFORCE/0603, I=0206, J=0103, TRANS


,FUNCTION= 400*(260 - DM(0206,0103))

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.

FUNCTION = STEP ( x, x1,y1,x2,y2)

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

JOINT/10, I=0310, J=0210, TRANS


MOTION/10, JOINT=10,
,FUNCTION = STEP(TIME,1.19,100,1.21,120)
6.5 Arithmetic IF Functions

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)

The FUNCTION is evaluated depending on the value of exp1:

IF exp1 < 0 the FUNCTION is calculated using exp2


IF exp1 = 0 the FUNCTION is calculated using exp3
IF exp1 > 0 the FUNCTION is calculated using exp4

Example: Using the Arithmetic If, define the following motion.

DISTANCE ( mm )

200 EXP3
EXP2 EXP4

100

1.0 2.0 3.0 TIME ( SECS )

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.

The SPLINE Statement

yn

y3
y2
y1

x1 x2 x3 xn X

SPLINE/id
,X = x1, x2, x3, . . . . . . . . . ., xn

,Y= y1, y2, y3, . . . . . . . . . ., yn

Note that the x values must be entered in ascending order.


For a MOTION the x values must be time.
For a FORCE the x values may be time or a system variable.
In order to access the data entered using a SPLINE statement a MOTION or FORCE makes use
of the CUBSPLINE FUNCTION.

FUNCTION = CUBSPLINE (x,0,id)

where x is the variable associated with the x values on the spline and id is the id number of the
SPLINE statement.

Example: Nonlinear spring

FORCE - DEFORMATION CURVE


01
FORCE
(N) Free
Length
0103

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

SFORCE/0603, I=0206, J=0103, TRANS


,FUNCTION=CUBSPLINE(DM(0206,0103),0,1)