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 Written ADAMS Subroutines ADAMS/Tire ADAMS/Car ADAMS/Vehicle ADAMS/Rail 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 Planar Spherical Fixed Cylindrical Universal Translational 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 Y Z MARKER Wz GROUND REFERENCE FRAME Z X X Vz 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 MRF Zn LPRF ZG On {QG}1 Xn GRF XG O1 Om {QP}n GROUND YG Yn Part n Zm 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 Xn 01 On GROUND ZG QG Zn GRF Part n O1 XG YG Z Z1 Z Z1 Y3 Y2 Y2 Y1 Y1 Y X X1 X1 Location by: QG = x, y, z REU = X1 X2 XG-ZG method Z Body n {ZG}1 ZG {XG}1 X Zn LPRF Yn GRF {QG}1 O1 XG Q On 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 LPRF Xn Location by: On Yn QP = x, y, z REU = ( Same as for LPRF) Zm XP-ZP method ZP Zz XP Zm MRF Ym LPRF Xn On QP Om Yn 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 0201 z 30 0 x y 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 mass=10 Ixx = 0.02 Iyy = 0.02 Izz = 0.001 3.7 Constraining Motion of Parts The standard joint library provides the following sets of constraints. Joints Translational Constraints Rotational Total 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 JOINT/id, I = id, J = id , CONVEL , ICTRAN = r1, r2 CYLINDRICAL , ICROT = r1, r2 FIXED PLANAR 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 MOTION/id, JOINT = id , TRANSLATION 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 M REV REV Parts 6x3 Revs -5 x 4 Motion -1 x 1 = = = 18 -20 -1 Total DOF = -3 The following system although not obvious produces the correct zero degree of freedom (kinematic) model. CYL SPH Parts M REV REV 6x3 = 18 Revs -5 x 2 Cyls -4 x 1 Sphs -3 x 1 Motion -1 x 1 = = = = -10 -4 -3 -1 = 0 Total DOF 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 UNITS/ FORCE= , LENGTH= DYNE KILOGRAM_FORCE KNEWTON KPOUND_FORCE , MASS= NEWTON OUNCE_FORCE POUND_FORCE CENTIMETER FOOT KILOMETER INCH METER MILLIMETER MILE GRAM KILOGRAM KPOUND_MASS OUNCE_MASS POUND_MASS SLUG HOUR MILLISECOND , TIME= MINUTE SECOND 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. REQUEST/id, Format DISPLACEMENT VELOCITY ACCELERATION FORCE , I=id ,J=id ,RM=id , 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 Y 02 Z 0200 Wz GROUND REFERENCE FRAME Z X X Vz 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 NOPRINT TELETYPE YPR OUTPUT/ 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 X X' YAW (+VE Z) Y' X'' Y' X'' X' PITCH (-VE Y) Example OUTPUT/REQSAVE,GRSAVE,TELETYPE,YPR ROLL (+VE X) 4.0 SCHEMATICS, SYNTAX AND GRAPHICS 4.1 Drawing a System Schematic Real System System Schematic 01 01 M GROUND YG ZG 02 REV XG 03 02 SPH CRANKSHAFT CONROD 03 04 04 TRA UNI PISTON The following suggested symbols may be used: 01 GROUND The Ground Part YG XG ZG The Ground Reference Frame 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 YG REV XG ZG 02 02 0101 0202 0302 SPH 03 03 0303 CONROD Parts Ground 02 Crankshaft 03 Connecting Rod 04 Piston 0403 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 0404 04 TRA UNI CRANKSHAFT 01 04 PISTON 0104 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 - Note: TYPE/id, KEYWORD= value 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 OUTLINE 0204 0201 CIRCLE CYLINDER ARC FRUSTUM 0203 0205 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 RANGLE The radius of a circle, cylinder or arc. Defines the subtended angle of an arc, cylinder or frustum. Measured positive about CM z-axis starting at the x-axis. RM SEG LENGTH SIDES The reference marker to locate the edge of a circle, cylinder or arc. The number of straight lines to draw the circle. The length of the cylinder or frustum. The number of straight lines between the two parallel circles to draw the cylinder or frustum. TOP BOTTOM The top radius of a frustum. 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 x 02 y I Line-of-Sight Force Element x J y z 03 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 Action-only Force z x 02 I y x J z 03 y Force acts on the I marker Sense and direction defined by z-axis of the J marker Rotational Forces x z 02 I Torque acting on the I marker y x J z Reaction torque acting 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 y 03 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 I DM(I,J) DM(I,J) L J J J COMPRESSION AT FREE LENGTH POSITIVE FORCE ZERO FORCE TENSION 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 Tension DM(I,J) 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 Separating VR(I,J) 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 ,TRANSLATION ,C = r ,K = r ,FORCE = r ,LENGTH = r ,ROTATION ,KT = r ,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 SFORCE/ id, I=id, J=id, TRANSLATION 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 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 + fz 5.8 The Bushing Statement Definition A BUSHING statement defines a massless bushing with linear stiffness and damping properties Format BUSHING/id, I=id, J=id ,C = cx, cy, cz ,K = kx, ky, kz ,FORCE = fx, fy, fz ,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 PARALLEL_AXES INLINE Z I Z J Z I J INPLANE PERPENDICULAR_AXES Z Z J I 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 J z 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) y z z J y x I y R x DX is negative in this example x 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) x 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 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)) 2.0 3.0 TIME ( SECS ) 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 Y yn y3 y2 y1 x1 x2 x3 xn 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. X 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 01 FORCE - DEFORMATION CURVE FORCE (N) 0103 Free Length Compression 0206 DM (0206,0103) (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)