0% found this document useful (0 votes)
263 views

Adam Function

This document provides information on function expressions available in ADAMS/Solver for modeling non-standard phenomena. It lists various categories of functions including math functions, simulation constants, displacement functions, velocity functions, acceleration functions, force functions, and more specialized functions for modeling elements. Each function is then described individually in terms of its definition, format, arguments, mathematical calculation, and examples.

Uploaded by

Lai Pham
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
263 views

Adam Function

This document provides information on function expressions available in ADAMS/Solver for modeling non-standard phenomena. It lists various categories of functions including math functions, simulation constants, displacement functions, velocity functions, acceleration functions, force functions, and more specialized functions for modeling elements. Each function is then described individually in terms of its definition, format, arguments, mathematical calculation, and examples.

Uploaded by

Lai Pham
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 130

Using ADAMS/Solver 261

F
u
n
c
t
i
o
n
s
Function Expressions
You use function expressions to define a wide variety of non-standard phenomena in your model.
A comprehensive set of symbolic variables operators and functions are provided for this purpose.
These can be used to create complex expressions.
Below are the ADAMS/Solver function expressions grouped according to their function. Detailed
information on each function expression is found on the page indicated after its name below.
FORTRAN 77 Functions
ABS 273
ACOS 278
AINT 279
ANINT 282
ASIN 284
ATAN 285
ATAN2 286
COS 296
COSH 297
EXP 312
LOG 333
LOG10 334
MAX 335
MIN 336
MOD 337
SIGN 355
SIN 356
SINH 357
SQRT 359
TAN 365
TANH 366
Simulation Constants and Variables
TIME 368
MODE 338
PI 343
DTOR 308
RTOD 352
262 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
Displacement
AX 287
AY 288
AZ 289
DM 307
DX 309
DY 310
DZ 311
PHI 341
PITCH 345
PSI 349
ROLL 351
THETA 367
YAW 392
Velocity
VM 375
VR 376
VX 378
VY 379
VZ 380
WM 388
WX 389
WY 390
WZ 391
Acceleration
ACCM 274
ACCX 275
ACCY 276
ACCZ 277
WDTM 381
WDTX 382
WDTY 384
WDTZ 386
Generic Force
FM 314
FX 319
FY 320
FZ 321
TM 369
TX 370
TY 371
TZ 372
Using ADAMS/Solver 263
F
u
n
c
t
i
o
n
s
Element-Specific Applied Force
BEAM 290
BUSH 294
FIELD 313
GFORCE 322
NFORCE 340
SFORCE 353
SPDP 358
VFORCE 374
VTORQ 377
Element-Specific Reaction Force
CVCV 302
JOINT 330
JPRIM 332
MOTION 339
PTCV 350
System Element
ARYVAL 283
DIF 304
DIF1 305
PINVAL 344
POUVAL 348
VARVAL 373
Arithmetic IF
IF 326
Interpolation
AKISPL 280
CUBSPL 298
CURVE 300
General
BISTOP 291
CHEBY 295
FORCOS 315
FORSIN 317
HAVSIN 324
IMPACT 327
POLY 346
SHF 354
STEP 360
STEP5 363
SWEEP 361
264 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
ABS
Using ADAMS/Solver 265
F
u
n
c
t
i
o
n
s
ABS
Definition The ABS function returns the absolute value of the expression a.
Format ABS(a)
Arguments a
Any valid function expression.
Number of Arguments: 1
Examples Variable/1, FUNCTION=
ABS(DX(21,11)*VX(21,11)+DY(21,11)*VY(21,11)
+ DZ(21,11)*VZ(21,11))
This variable statement defines a new state variable. Its value is the
absolute value of the radial velocity between Markers 21 and 11.
ACCM
266 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
ACCM
Definition The ACCM function calculates the magnitude of the second time derivative of
the displacement vector of marker i from marker j. The time derivatives are
taken in the reference frame of marker l. Markers j and l default to the global
coordinate system and the global reference frame if they are not specified.
Format ACCM(i[,j][,l])
Arguments i
The marker whose acceleration is being measured.
j
The marker with respect to which the acceleration is being measured. Set j
= 0, while still specifying l, if you want j default to the global coordinate
system.
l
The reference frame in which the second time derivative of the
displacement vector is taken. Set l = 0 if you want the time derivatives to
be calculated in the ground reference frame.
Extended
Definition
Mathematically, ACCM is calculated as follows:
ACCM =
where
i
is the displacement of marker i in ground and
j
is the displacement
of marker j in ground.
Note that for any vector quantity
where (A) and (B) represent two arbitrary reference frames.
Examples REQUEST/10, F2=ACCM(21,11)
This statement defines the second component of a user-defined request as the
magnitude of translational acceleration of Marker 21 with respect to Marker
11. Since the l marker is not specified, the derivatives are taken in the
inertial reference frame.
REQUEST/10, F2=ACCM(21,11)
This statement defines the second component of a user-defined request as the
magnitude of the translational acceleration of Marker 21 with respect to
Marker 11. Vector time derivatives taken in reference to Marker 32.
d
2
dt
2
-------
( )
R
i
d
2
dt
2
-------
( )
R
j

,

_
d
2
dt
2
-------
( )
R
i
d
2
dt
2
-------
( )
R
j

,

_

1 2
R R
p
d
dt
----
A ( )
p
d
dt
----
B ( )
p
ACCX
Using ADAMS/Solver 267
F
u
n
c
t
i
o
n
s
ACCX
Definition The ACCX function returns the x-component of the difference between the
acceleration vector of marker i and the acceleration vector of marker j as
computed in the coordinate system of marker k. All vector time derivatives are
taken in the reference frame of marker l. Marker j defaults to the global
coordinate system if it is not specified. Similarly, markers k and l default to
the global coordinate system and the global reference frame if they are not
specified.
Format ACCX(i[,j][,k][,l])
Arguments i
The marker whose acceleration is being measured.
j
The marker with respect to which the acceleration is being measured. Set
j = 0, while still specifying l, if you want j to default to the global
coordinate system.
k
The marker in whose coordinate system the acceleration vector is being
expressed. Set k = 0 if you want the results to be calculated along the
x-axis of the global coordinate system.
l
The reference frame in which the second time derivative of the
displacement vector is taken. Set l = 0 if you want the time derivatives to
be taken in the ground reference frame.
Extended
Definition
Mathematically, ACCX is calculated as follows:
ACCX =
where
i
is the displacement of marker i in ground,
j
is the displacement of
marker j in ground, and
k
is the unit vector along the x-axis of marker k.
d
2
dt
2
-------
( )
R
i
d
2
dt
2
-------
( )
R
j
x

R R
x

ACCX
268 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
Examples DIFF/1, IC=0, FUNCTION=ACCX(21,11)
This statement defines a user-specified differential equation. The time
derivative of the state is specified to be the x-component of the acceleration
of Marker 21 with respect to Marker 11. The coordinate system for
calculating the component, and for referencing the frame that takes time
derivatives, defaults to ground.
DIFF/2, IC=1, FUNCTION=ACCX(21,0,31)
This statement defines a user-specified differential equation. The time
derivative of the state is specified to be the x-component of the acceleration
vector of Marker 21 with respect to the global origin. The vector is
expressed in the coordinate system of Marker 31. All time derivatives are
taken in the inertial reference frame since the l marker is not specified.
ACCY
Using ADAMS/Solver 269
F
u
n
c
t
i
o
n
s
ACCY
Definition The ACCY function returns the y-component of the difference between the
acceleration vector of marker i and the acceleration vector of marker j as
computed in the coordinate system of marker k. All vector time derivatives are
taken in the reference frame of marker l. Marker j defaults to the global
coordinate system if it is not specified. Similarly, markers k and l default to
the global coordinate system and the global reference frame if they are not
specified.
Format ACCY(i[,j][,k][,l])
Arguments i
The marker whose acceleration is being measured.
j
The marker with respect to which the acceleration is being measured. Set j
= 0, while still specifying l, if you want j to default to the global
coordinate system.
k
The marker in whose coordinate system the acceleration vector is being
expressed. Set k = 0 if you want the results to be calculated along the
x-axis of the global coordinate system.
l
The reference frame in which the second time derivative of the
displacement vector is taken. Set l = 0 if you want the time derivatives to
be taken in the ground reference frame.
Extended
Definition
Mathematically, ACCY is calculated as follows:
ACCY =
where
i
is the displacement of marker i in ground,
j
is the displacement of
marker j in ground, and
k
is the unit vector along the y-axis of marker k.
d
2
dt
2
-------
( )
R
i
d
2
dt
2
-------
( )
R
j
y

R R
y

ACCY
270 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
Examples DIFF/1, IC=0, FUNCTION=ACCX(21,11)
This statement defines a user-specified differential equation. The time
derivative of the state is specified to be the x-component of the acceleration
of Marker 21 with respect to Marker 11. The coordinate system for
calculating the component, and for referencing the frame that takes time
derivatives, defaults to ground.
DIFF/2, IC=1, FUNCTION=ACCX(21,0,31)
This statement defines a user-specified differential equation. The time
derivative of the state is specified to be the x-component of the acceleration
vector of Marker 21 with respect to the global origin. The vector is
expressed in the coordinate system of Marker 31. All time derivatives are
taken in the inertial reference frame since the l marker is not specified.
ACCZ
Using ADAMS/Solver 271
F
u
n
c
t
i
o
n
s
ACCZ
Definition The ACCZ function returns the z-component of the difference between the
acceleration vector of marker i and the acceleration vector of marker j as
computed in the coordinate system of marker k. All vector time derivatives are
taken in the reference frame of marker l. Marker j defaults to the global
coordinate system if it is not specified. Similarly, markers k and l default to
the global coordinate system and the global reference frame if they are not
specified.
Format ACCZ(i[,j][,k][,l])
Arguments i
The marker whose acceleration is being measured.
j
The marker with respect to which the acceleration is being measured. Set
j = 0, while still specifying l, if you want j default to the global
coordinate system.
k
The marker in whose coordinate system the acceleration vector is being
expressed. Set k = 0 if you want the results to be calculated along the
x-axis of the global coordinate system.
l
The reference frame in which the first time derivative of the displacement
vector is taken. Set l = 0 if you want the time derivatives to be taken in
the ground reference frame.
Extended
Definition
Mathematically, ACCZ is calculated as follows:
ACCZ =
where
i
is the displacement of marker i in ground,
j
is the displacement of
marker j in ground, and
k
is the unit vector along the z-axis of marker k.
d
2
dt
2
-------
( )
R
i
d
2
dt
2
-------
( )
R
j
z

R R
z

ACCZ
272 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
Examples DIFF/1, IC=0, FUNCTION=ACCX(21,11)
This statement defines a user-specified differential equation. The time
derivative of the state is specified to be the x-component of the acceleration
of Marker 21 with respect to Marker 11. The coordinate system for
calculating the component, and for referencing the frame that takes time
derivatives, defaults to ground.
DIFF/2, IC=1, FUNCTION=ACCX(21,0,31)
This statement defines a user-specified differential equation. The time
derivative of the state is specified to be the x-component of the acceleration
vector of Marker 21 with respect to the global origin. The vector is
expressed in the coordinate system of Marker 31. All time derivatives are
taken in the inertial reference frame since the l marker is not specified.
ACOS
Using ADAMS/Solver 273
F
u
n
c
t
i
o
n
s
ACOS
Definition The ACOS function calculates the arc cosine of an expression a. Expression a
must evaluate to a value whose absolute value is less than or equal to 1. The
value returned by ACOS lies in the range [0,] (i.e., 0 ACOS(a) ).
Format ACOS(a)
Arguments a
Any valid function expression.
Number of Arguments: 1
Examples VARIABLE/1, FU=
ACOS((DX(21,11)*DX(31,41)+DY(21,11)*DY(31,41)
+ DZ(21,11)*DZ(31,41))/(DM(21,11)*DM(31,41))
This statement specifies a new user-defined state variable. Its value is the
included angle of the lines joining Markers 11 and 21 and Markers 41 and
31. The result is in radians.

AINT
274 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
AINT
Definition The AINT function returns the nearest integer whose magnitude is not larger
than the integer value of the expression a.
AINT(a)= 0 if ABS(a)< 1
AINT(a)=int(a) if ABS(a) 1
The value of the mathematical function int of a variable x is equal to x if x is
an integer. If x is not an integer, then int(x) is equal to the nearest integer to
x whose magnitude is not greater than the magnitude of x. Thus int(-7.0) = -7,
int(-4.8) = -4, and int(4.8) = 4.
Format AINT(a)
Arguments a
Any valid function expression.
Number of Arguments: 1
Cautions Note that AINT is not a differentiable function. Be careful when using this
function in an expression that defines a force or motion input to the system.
Examples AINT(-6.5)= 0
AINT(4.6)= 4

AKISPL
Using ADAMS/Solver 275
F
u
n
c
t
i
o
n
s
AKISPL
Definition The AKISPL function returns the iord derivative of the interpolated value of
SPLINE/id at X=x and Z=z.
Format AKISPL (x,z,id)
or
AKISPL (x,0,id [,iord])
Arguments x
A real variable that specifies the independent variable value along the
x-axis of the AKISPL.
z
A real variable that specifies the second independent variable value along
the z-axis of the surface being interpolated. Specify z = 0 if the SPLINE
statement defines only one curve.
id
An integer variable that specifies the identifier of a SPLINE statement that
you define in the ADAMS/Solver dataset.
iord
An integer variable that specifies the order of the derivative to be taken at
the interpolated point. iord may not be specified when interpolating on a
surface (i.e., when z 0).
Range: 0 iord 2
Extended
Definition
The AKISPL function uses the Akima method of interpolation to create a
spline function across a set of data points. The data points to be interpolated
are defined by a SPLINE statement in the ADAMS/Solver dataset. The
SPLINE that you define in the dataset may represent a curve (x-y points) or a
surface (x-y-z points). Interpolation in the y direction is cubic, and
interpolation in the z direction is linear. To interpolate the values specified in a
curve, set z = 0.
iord specifies the order of the derivative and may be used only when
interpolating a curve (i.e., when z = 0).


AKISPL
276 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
AKISPL is very fast, since it uses local methods. It always produces good
results for the value of the function being approximated. AKISPL returns good
estimates for the first derivative of the approximated function when the data
points are evenly spaced. In instances where the data points are unevenly
spaced, the estimate of the first derivative may be in error. In all cases, the
second derivative of the function being approximated is unreliable.
Examples SFORCE/1, I=409, J=109, TRANSLATION
, FUNCTION=AKISPL(TIME, 0, 1, 1)
This SFORCE statement defines a translational force that acts between
Markers 409 and 109. The SPLINE statement provides the discrete data
used to generate the interpolation function using the Akima spline. Since
this SPLINE statement defines only one curve, the value of z is defined to
be 0. AKISPL returns the first derivative of the spline at the interpolated
point since iord = 1.
ANINT
Using ADAMS/Solver 277
F
u
n
c
t
i
o
n
s
ANINT
Definition The ANINT function calculates the nearest integer whose magnitude is not
larger than the real value of the expression a.
ANINT(a) = int(a + .5) if a 0
ANINT(a) = int(a - .5) if a < 0
The value of the mathematical function int of a variable x is equal to x if x is an
integer. If x is not an integer, then int(x) is equal to the nearest integer to
x whose magnitude is not greater than the magnitude of x. Thus int(-7.0) = -7,
int(-4.8) = -4, and int(4.8) = 4.
Format ANINT(a)
Arguments a
Any valid function expression.
Number of arguments: 1
Examples ANINT(-4.6)= -5
ANINT(4.6)= 5

ARYVAL
278 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
ARYVAL
Definition The ARYVAL function returns component comp of ARRAY/id. Depending on
the definition of ARRAY/id, this may be a constant that you defined in the
ADAMS/Solver dataset, an input to an LSE, GSE or TFSISO, a state variable
defined by an LSE, GSE or TFSISO, or an output from an LSE, GSE or
TFSISO.
Format ARYVAL (id, comp)
Arguments id
The identifier of the array whose data is being requested.
comp
An integer that specifies the component of the array to be returned.
Examples ARRAY/17, NUM=11.465,2.321
SFORCE/19, ROT, I=23, J=11
, FUNCTION=-ARYVAL(17,1)*(AZ(23,11)-ARYVAL(17,2))
This example illustrates how a value defined in an ARRAY statement can be
accessed using the ARYVAL function.
LSE/1, X=1, U=2, Y=3, A=11, B=12, C=13, D=14
This statement defines a set of linear state equations. The A, B, C, and D
matrices for this LSE are defined by matrices 11-14.
ARRAY/1, X, SIZE=2
ARRAY/2, U, SIZE=1, VAR=1
ARRAY/3, U, SIZE=3
These three ARRAY statements specify that LSE/1 as having two states, one
input that is specified by VARIABLE/1 and three outputs.
SFORCE/6, ROT, I=23, J=11, FUNCTION=ARYVAL(3,2)
The second output of the LSE is used to define a torque acting on the system.
ASIN
Using ADAMS/Solver 279
F
u
n
c
t
i
o
n
s
ASIN
Definition The ASIN function computes the arc sine of an expression a. ASIN is defined
only when the absolute value of a is less than or equal to 1. The range of ASIN
is [-/2, /2] (i.e., -/2 ASIN(a) /2).
Format ASIN(a)
Arguments a
Any valid function expression.
Number of arguments: 1
Examples DIFF/1, IC=1.05, FUNCTION=ASIN(DX(21,11)/DM(21,11))
This statement defines a user-specified differential equation. The initial
value of the state variable is 1.05. The time derivative of the state variable is
the expression ASIN(DX(21,11)/DM(21,11)).

ATAN
280 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
ATAN
Definition The ATAN function returns the arc tangent of an expression a. The range of
ATAN is [-/2, /2] (i.e., -/2 < ATAN(a)< /2).
Format ATAN(a)
Arguments a
Any valid function expression.
Number of arguments: 1
Examples SFORCE/1, ROTATIONAL, I=21, J=11
, FUNCTION=-10*ATAN(DY(42,33)/DX(42,33))
This SFORCE statement defines a torque acting between Markers 21 and 11.
The value of the torque is the spring constant (10) multiplied by the angle
between the line joining Markers 33 and 42 and the global x-axis as shown
in Figure 58.
Figure 58. Example Illustrating the Use of the ATAN Function
Marker 33
Marker 43
DX(42,33)
DY(42,33)
= ATAN(DY42,33)/DX(42,33))
ATAN2
Using ADAMS/Solver 281
F
u
n
c
t
i
o
n
s
ATAN2
Definition The ATAN2 function expression returns the arc tangent of the expression
a1/a2. a1 and a2 themselves may be expressions.
- < ATAN2(a1,a2) <
ATAN2(a1,a2) > 0 if a1 > 0
ATAN2(a1,a2) = 0 if a1 = 0, a2 > 0
ATAN2(a1,a2) = if a1 = 0, a2 < 0
ATAN2(a1,a2) < 0 if a1 < 0
ABS(ATAN2(a1,a2))= /2 if a2 = 0
ATAN2(a1,a2) undefined if a1 = 0, and a2 = 0
Format ATAN2(a1,a2)
Arguments a1
Any valid function expression.
a2
Any valid function expression.
Examples VARIABLE/1,
, FUNCTION=ATAN2(DY(21,31,41), DX(21,31,41))
This VARIABLE statement defines an algebraically-determined, user-
defined state variable in ADAMS/Solver. Its value is specified by the
expression containing ATAN2.
AX
282 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
AX
Definition The AX function returns the rotational displacement of marker i about the
x-axis of marker j. Marker j defaults to the global coordinate system if it is
not specified. This value is computed as follows: assume that rotations about
the other two axes (y- and z-axes) of marker j are zero. Then AX is the angle
between the two y-axes (or the two z-axes). AX is measured in a counter-
clockwise sense from the y-axis of marker J to the y-axis of marker I (see
Figure 59).
Figure 59. Measurement of AX
Format AX(i[,j])
Arguments i
The marker whose rotations are being sought.
j
The marker whose coordinate system is used as a reference to calculate the
rotations of marker i. When j is not specified, Solver defaults to the
global coordinate system.
Extended
Definition
Mathematically, AX is calculated as:
where
i
is the y-axis of marker i,
j
is the y-axis of marker j and
j
is the
z-axis of marker j.
y
i
y
j
z
j
z
i
AX(I,J)
AX ATAN2 y
i
z
j
y
i
y
j
, ( ) =
y y z
AX
Using ADAMS/Solver 283
F
u
n
c
t
i
o
n
s
Examples GFORCE/1, I=21, JFLOAT=31, RM=41
, FX=-20*AX(43,32)
This GFORCE statement applies a force at the origin of Marker 21 along the
x-axis of Marker 41. The reaction force is on floating Marker 31. The
floating Marker 31 can belong to another part but its location is always the
same as Marker 21.
The value of the force is -20 times the angle between the y axes of Markers
43 and 32. The angle is measured in a counterclockwise sense from the
y-axis of Marker 32 to the y-axis of Marker 43.
Cautions Note that ADAMS/Solver calculates the AX angle displacement differently
for a BUSHING, FIELD, BEAM, and GFORCE. One reason for using
different angles is to allow for large rotations about the z-axis.
ADAMS/Solver computes the angle displacement as follows:
AX ATAN2 z
i
y
j
z
i
z
j
, ( ) =
AY
284 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
AY
Definition The AY function returns the rotational displacement of marker i about the
y-axis of marker j. Marker j defaults to the global coordinate system if it is
not specified. The values are computed as follows: assume rotations about the
other two axes (x-, z-axes) of marker j are zero. Then AY is the angle between
the two x-axes (or the two z-axes). AY is measured counter- clockwise from the
x-axis of the J marker to the x-axis of the I marker (see Figure 60).
Figure 60. Measurement of AY
Format AY(i[,j])
Arguments i
The marker whose rotations are being sought.
j
The marker with respect to which the rotations are being measured.
Extended
Definition
Mathematically, AY is calculated as:
where
i
is the z-axis of marker i,
j
is the x-axis of marker j and
j
is the
z-axis of marker j.
Examples SFORCE/10, ROTATION, I=23, J=34
, FUNCTION=-4*(AY(46,57)**2)
This SFORCE statement applies a moment about the common z-axes of
Markers 23 and 34. The torque acts on Marker 23; the reaction torque acts
on Marker 34.
The value of the torque being applied is -4 times the square of the angle
between the x axes of Markers 46 and 57. The angle is measured in a
counterclockwise sense from the x-axis of Marker 57 to the x-axis of
Marker 46.
x
i
x
j
z
j
y
i
AY(I,J)
AY ATAN2 z
i
x
j
z
i
z
j
, ( ) =
z x z
AZ
Using ADAMS/Solver 285
F
u
n
c
t
i
o
n
s
AZ
Definition The AZ function returns the rotational displacement of marker i about the
z-axis of marker j. Marker j defaults to the global coordinate system if it is
not specified. This value is computed as follows: assume that rotations about
the other two axes (x-, y-axes) of marker j are zero. Then AZ is the angle
between the two x-axes (or the two y-axes). AZ is measured in a counter-
clockwise sense from the x-axis of the J marker to the x-axis of the I marker
(see Figure 61).
Figure 61. Measurement of AZ
Format AZ(i[,j])
Arguments i
The marker whose rotations are being sought.
j
The marker with respect to which the rotations are being measured.
Extended
Definition
Mathematically, AZ is calculated as:
where
i
is the x-axis of marker i,
j
is the x-axis of marker j and
j
is the
y-axis of marker j.
Examples VTORQUE/1, I=21, JFLOAT=31, RM=41
, TX=-10*(AX(21,32)-10D)\
, TY=-15*(AY(21,32)-15D)\
, TZ=-30*(AZ(21,32)-25D)
This VTORQUE statement applies a moment at Marker 21. The reaction
moment is at the floating Marker 31. The torques are expressed in the
coordinate system of Marker 41.
x
i
x
j
y
i
AZ(I,J)
y
j
AZ ATAN2 x
i
y
j
x
i
x
j
, ( ) =
x x y
BEAM
286 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
BEAM
Definition The BEAM function returns component comp of a force due to BEAM/id as
calculated in the coordinate system of marker rm. If jflag is set to zero, the
value returned is the force/torque acting on the I marker of the BEAM. If
jflag is set to 1, the value returned is that acting on the J marker. rm may be
specified as zero if the results are desired in the global coordinate system.
Format BEAM (id, jflag, comp, rm)
Arguments id
An integer specifying the identification member of the beam.
jflag
An integer flag specifying the beam connectivity marker at which the
forces and torques are computed.
0 = forces and moments at the I marker
1 = forces and moment at the J marker
comp
An integer value that specifies the component of the beam force to be
returned.
1 = Magnitude of the force
2 = x component of the force
3 = y component of the force
4 = z component of the force
5 = Magnitude of the torque
6 = x component of the torque
7 = y component of the torque
8 = z component of the torque
rm
The coordinate system in which the results are expressed. To return the
results in the global coordinate system, set rm = 0.
Examples REQUEST/1
, F2=BEAM(1001,0,2,0)\
, F3=BEAM(1001,0,3,0)\
, F4=BEAM(1001,0,4,0)
This REQUEST statement stores the x-, y-, and z-component of the forces in
BEAM/1001 in columns 2, 3, and 4, respectively. The forces are calculated
at the I marker. The results are computed in the global coordinate system.
BISTOP
Using ADAMS/Solver 287
F
u
n
c
t
i
o
n
s
BISTOP
Definition The BISTOP function models a gap element (see figure 5).
Format BISTOP (x, , x
1
, x
2
, k, e, c
max
, d)
Arguments x
The distance variable you want to use to compute the force. For example,
if you want to use the x displacement of Marker 0201 with respect to
0301, then x is DX(0201,0301,0301).
The time derivative of x to BISTOP. For example, if x is
DX(0201,0301,301)then is VX(0201,0301,0301,0301).
x
1
The lower bound of x. If x is less than x
1
ADAMS/Solver calculates a
positive value for the force. The value of x
1
must be less than the value of
x
2
.
x
2
The upper bound of x. If x is greater than x
2
ADAMS/Solver calculates a
negative value for the force. The value of x
2
must be greater than the
value of x
1
.
k
A non-negative value that specifies the stiffness of the boundary surface
interaction.
e
A positive value 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.
c
max
A non-negative variable that specifies the maximum damping coefficient.
d
A positive real variable that specifies the penetration at which the full
damping coefficient is applied.
x
x
x
BISTOP
288 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
Extended
Definition
The BISTOP function models a gap element. Figure 62 illustrates the BISTOP
force. The gap element consists of a slot which defines the domain of motion
of a Part I located in the slot. As long as Part I is inside the slot and has no
interference with the ends of the slot, it is free to move without forces acting on
it. When Part I 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 Part I back into the slot.
The BISTOP force has two components: A stiffness component dependent on
the penetration of Part I into the restricting Part J and a damping or viscous
component that may be used to model energy loss.
Figure 62. Example of the 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, c
max
, 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.
Examples You may model a slider in a slot with a BISTOP function as depicted in
Figure 62. Assume a translational joint constrains the slider to move in a slot.
The line of translation is along the colinear z-axes of the I and the J markers,
I belonging to the slider and J to the part containing the slot. You can use an
SFORCE statement together with the BISTOP function to restrict the
movement of the slider in the slot and model the gap.
x
N
z
L
I
M1 M2
z
x
J
^
^ ^
BISTOP
Using ADAMS/Solver 289
F
u
n
c
t
i
o
n
s
In Figure 62, 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, x
1
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 x
2
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 = DZ(I,J,J) and = VZ(I,J,J,J)
x = N + M1 for the left end of the slot and
x = N + L - M2 for the right end of the slot or
x
1
= N + M1, and
x
2
= N + L - M2
Note that when x
1
x x
2
there is no penetration and the force is zero
(penetration p = 0); when x < x1 penetration occurs at the end closer to the
J marker and the force is > 0 (penetration p = x
1
- x); and when x > x
1
penetration occurs at the end farther away from the J marker, and the force is
< 0 (penetration p = x - x
2
).
Also note than when p < d the instantaneous damping coefficient is a cubic
step function of the penetration, p; when p > d the instantaneous damping
coefficient is c
max
.
The BISTOP function for this example is:
BISTOP(DZ(I,J,J,J), VZ(I,J,J,J), x
1
, x
2
, k, e, c
max
, d)
The values of k, e, c
max
, 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:
x

BISTOP
Min(k*(x x) STEP(x,x d,c ,x ,0)*x',0) : x < x
0 : x x x
Max( k*(x x ) STEP(x,x ,0,x d,c )*x',0): x x
1 1 max 1 1
1 2
2 2 2 max 2
e
e



+ >

'

BUSH
290 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
BUSH
Definition The BUSH function returns component comp of a force due to BUSHING/id
as calculated in the coordinate system of marker rm. If jflag is set to zero,
the value returned is the force/torque acting on the I marker of the BUSHING.
If jflag is set to 1, the value returned is that acting on the J marker. rm may
be specified as zero if the results are desired in the global coordinate system.
Format BUSH (id, jflag, comp, rm)
Arguments id
An integer specifying the identification member of the bushing.
jflag
An integer flag specifying the bushing connectivity marker at which the
forces and torques are computed.
0 = forces and moments at the I marker
1 = forces and moment at the J marker
comp
An integer value that specifies the component of the bushing force to be
returned.
1 = Magnitude of the force
2 = x component of the force
3 = y component of the force
4 = z component of the force
5 = Magnitude of the torque
6 = x component of the torque
7 = y component of the torque
8 = z component of the torque
rm
The coordinate system in which the results are expressed. To return the
results in the global coordinate system, set rm = 0.
Examples REQUEST/1
, F2=BUSH(1001,0,2,0)\
, F3=BUSH(1001,0,3,0)\
, F4=BUSH(1001,0,4,0)
This REQUEST statement stores the x-, y-, and z-component of the forces in
BUSH/1001 in columns 2, 3, and 4, respectively. The forces are calculated
at the I marker. The results are computed in the global coordinate system.
CHEBY
Using ADAMS/Solver 291
F
u
n
c
t
i
o
n
s
CHEBY
Definition The CHEBY function evaluates a Chebyshev polynomial at a user specified
value x.
Format CHEBY (x, x
0
, a
0
, a
1
,..., a
30
)
Arguments x
An expression that specifies the independent variable. For example, if the
independent variable in the function is time, x is the system variable TIME.
x
0
The phase shift in the Chebyshev polynomial.
a
0
,a
1
,...,a
30
The coefficients for the Chebyshev polynomial. A maximum of thirty-one
coefficients may be specified.
Extended
Definition
The CHEBY function evaluates a Chebyshev polynomial at a user specified
value x. x
0
, a
0
, a
1
,..., a
30
are parameters used to define the constants for
the Chebyshev polynomial. The Chebyshev polynomial is defined as:
C(x) = a
j
T
j
(x-x
0
)
where the functions T
j
are recursively defined as:
T
j
(x-x
0
) = 2 * (x-x
0
) * T
j-1
(x-x
0
) - T
j-2
(x-x
0
)
with T
0
(x-x
0
) = 1, and T
1
(x-x
0
) = x-x
0
.
The index j has a range from zero to n, where n is the number of terms in
the series.
Note that:
T
2
(x-x
0
) = 2 * (x- x
0
)
2
- 1
T
3
(x-x
0
) = 4 * (x- x
0
)
3
- 3 * (x- x
0
)
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*time
2
- 4*time
COS
292 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
COS
Definition The COS function returns the cosine of an expression a.
Format COS(a)
Arguments a
Any valid function expression.
Number of Arguments: 1
Examples MOTION/2060, JOINT=2060, ROTATION,
, FUNCTION=20D+COS(2*PI*TIME)
This MOTION statement defines a rotational motion acting on
JOINT/2060. The rotational degree of freedom is specified to be
20D+COS(2*PI*TIME).
COSH
Using ADAMS/Solver 293
F
u
n
c
t
i
o
n
s
COSH
Definition The COSH function computes the hyperbolic cosine of an expression a.
COSH(a) = (e
a
+ e
-
a
) / 2.0
Format COSH(a)
Arguments a
Any valid function expression.
Number of Arguments: 1
Examples REQUEST/36,
, F2=COSH(DZ(21,11,11))
This REQUEST statement returns the hyperbolic cosine of the z-component
of the displacement of Marker 21 with respect to Marker 11 in its second
column. The result is computed in the coordinate system of Marker 11.
CUBSPL
294 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
CUBSPL
Definition The CUBSPL function returns the interpolated value of SPLINE/id at X=x
and Z=z or returns the iord derivative at the interpolated value of
SPLINE/id at X=x, Z=0.
Format CUBSPL (x, z, id)
or
CUBSPL (x, 0, id [,iord])
Arguments x
A real variable that specifies the independent variable value along the
x-axis of the CUBSPL.
z
A real variable that specifies the second independent variable value along
the z-axis of the surface being interpolated. If the SPLINE statement
defines only one curve, ADAMS/Solver ignores this variable.
id
An integer variable that specifies the identifier of a CUBSPL statement.
iord
An optional integer that specifies the order of the derivative at the
interpolate value to be returned by CUBSPL.
Range: 0 iord 2
Extended
Definition
The CUBSPL function uses the standard cubic method of interpolation to create
a spline function across a set of data points. The data points are defined in the
SPLINE statement in ADAMS/Solver data deck. The SPLINE that you define
in the ADAMS/Solver dataset may represent a curve (x-y points) or a surface
(x-y-z points). Interpolation in the y direction is cubic and interpolation in the z
direction is linear. To interpolate the values specified in a curve, set z = 0.
iord specifies the order of the derivative and may be used only when
interpolating a curve (i.e., when z = 0).

CUBSPL
Using ADAMS/Solver 295
F
u
n
c
t
i
o
n
s
CUBSPL, though not as fast as AKISPL, always produces good results for the
value of the function being approximated, its first and second derivatives.
There is no requirement on the data points being evenly spaced. This may be
an important consideration when you use splines to define functions in
ADAMS/Solver. The solution process often requires estimates of derivatives of
the functions being defined. The smoother a derivative is, the easier it is for the
solution process to converge.
If the spline data contains sudden changes in value, the CUBSPL function gives
more oscillatory results for the curve or surface than are given by the AKISPL
function.
Examples SPLINE/1,
, X= -3, -2, -1, 0, 1, 2, 3
, Y= -67.4, -48.6, -33.7, 4.8, 24.12, 37.6, 48.4
SFORCE/1, I=409, J=109, TRANSLATION,
, FUNCTION=CUBSPL(TIME, 0, 1)
This SFORCE statement defines the translational force acting between
Markers 409 and 109. The SPLINE statement provides the discrete data
used to generate the interpolation function using the cubic spline. Since the
SPLINE statement defines only one curve, the value of z is defined to be 0.
CURVE
296 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
CURVE
Definition The CURVE function evaluates a B-spline or user-written curve created by a
CURVE statement.
Format CURVE (alpha, iord, comp, id)
Arguments alpha
A real variable that identifies the value of the independent parameter, ,
at which the CURVE function evaluates the curve. If the curve is a B-
spline computed by the CURVE statement, alpha must be in the domain
-1 1. If the curve is computed by a CURSUB, alpha must be in
the domain MINPAR MAXPAR (these are specified in the
CURVE statement).
iord
An integer variable that specifies the order of the derivative the CURVE
function returns. The legal values are:
0 - returns the curve coordinate
1 - returns the first derivative
2 - return the second derivative
comp
An integer variable that specifies the component that the CURVE function
returns. The legal values are:
1 - returns the x coordinate or derivative
2 - returns the y coordinate or derivative
3 - returns the z coordinate or derivative
Parameters iord and icomp together allows you to request any one of
the following nine return values.
iord icomp=1 icomp=2 icomp=3
0 x() y() z()
1
2


dx ( )
d
---------------
dy ( )
d
---------------
dz ( )
d
--------------
d
2
x ( )
d
2
-----------------
d
2
y ( )
d
2
-----------------
d
2
z ( )
d
2
-----------------
CURVE
Using ADAMS/Solver 297
F
u
n
c
t
i
o
n
s
id
An integer variable that specifies the identifier of the CURVE statement.
Examples VFORCE/1, I=101, JFLOAT=201, RM=99,
, FX=CURVE(.4*TIME - 1, 0, 1, 8)\
, FY=CURVE(.4*TIME - 1, 0, 2, 8)\
, FZ=CURVE(.4*TIME - 1, 0, 3, 8)
This example applies a VFORCE acting between Markers 101 and 201. The
CURVE statement defines the force components as a function of alpha,
which varies from -1.0 to 1.0. The term .4*TIME-1 computes the
instantaneous value of alpha from the simulation time.
CVCV
298 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
CVCV
Definition The CVCV function returns component comp of a force or torque due to
CVCV/id as calculated in the coordinate system of marker rm. If jflag is
set to zero, the value returned is the force/torque acting on the IFLOAT marker
of the CVCV. If jflag is set to one, the value returned is that acting on the
JFLOAT marker. rm may be specified as zero if the results are desired in the
global coordinate system.
Format CVCV (id, jflag, comp, rm)
Arguments id
An integer specifying the identification member of the bushing.
jflag
An integer flag specifying the bushing connectivity marker at which the
forces and torques are computed.
0 = forces and moments at the I marker
1 = forces and moment at the J marker
comp
An integer value that specifies the component of the bushing force to be
returned.
1 = Magnitude of the force
2 = x component of the force
3 = y component of the force
4 = z component of the force
5 = Magnitude of the torque
6 = x component of the torque
7 = y component of the torque
8 = z component of the torque
rm
The coordinate system in which the results are expressed. To return the
results in the global coordinate system, set rm = 0.
CVCV
Using ADAMS/Solver 299
F
u
n
c
t
i
o
n
s
Examples REQUEST/18,
, F2=CVCV(210,0,2,0)\
, F3=CVCV(210,0,3,0)\
, F4=CVCV(210,0,4,0)\
, F6=CVCV(210,0,6,0)\
, F7=CVCV(210,0,7,0)\
, F8=CVCV(210,0,8,0)
This REQUEST statement returns all three components of the forces and
moments acting at the IFLOAT marker of CVCV Joint 210.
DIF
300 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
DIF
Definition The DIF function returns the value of the state variable associated with
DIFF/id.
Format DIF(id)
Arguments id
An integer variable that specifies the identifier of a DIFF statement.
DIF/23, IC=4.67, FUNCTION=WZ(236,467)
Example: SFORCE/1, i=236, j=467, ROTATION
, FUNCTION=-10*DIF(23-4*DIF1(23)
The DIF statement defines a rotational S-Force that acts along the common
z-axes of Markers 236 and 467.
The torque along the z-axes is defined to be -10 times the value of the state
that is defined by DIFF/23 -4 times the value of the time derivative of the
state that is defined by DIFF/23.
DIF1
Using ADAMS/Solver 301
F
u
n
c
t
i
o
n
s
DIF1
Definition The DIF1 function returns the value of the time derivative of the state variable
associated with DIFF/id. In instances where DIFF/id is used to define an
implicit algebraic equation, DIF1 returns an approximation of the time
derivative obtained by numerical differencing.
Format DIF1(id)
Arguments id
An integer variable that specifies the identifier of a DIFF statement.
Examples SFORCE/1, I=21, J=11, ROTATION
, FUNCTION= -20*(AZ(21,11)-10)**1.5
, -5*WZ(21,11,11)
DIF/1, IC=0, FUNCTION=SFORCE(1,0,8,11)*WZ(21,11)
This SFORCE statement specifies a nonlinear rotational spring acting
between Markers 21 and 11. The spring torque acts about the z axis of
Marker 11. DIF/1 specifies the instantaneous power used by SPRING/1.
The expression DIF(1) returns the integral of the instantaneous power
(i.e., the total work done by SPRING/1). DIF1(1) returns the
instantaneous power in SPRING/1.
DIM
302 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
DIM
Definition The DIM function calculates the positive difference of the instantaneous values
of two expressions a1 and a2.
DIM(a1,a2) = 0 if a1 a2
DIM(a1,a2) =a1-a2 if a1 > a2
Format DIM(a1,a2)
Arguments a1
Any valid function expression.
a2
Any valid function expression.
Cautions DIM is a discontinuous function and must be used with caution.

DM
Using ADAMS/Solver 303
F
u
n
c
t
i
o
n
s
DM
Definition The DM function returns the magnitude of the translational displacement vector
from marker j to marker i. Marker j defaults to the global coordinate system
if it is not specified. DM is the distance between markers i and j and, by
definition, is always non-negative.
Format DM(i[,j])
Arguments i
The marker whose origin is being measured.
j
The marker whose origin is the reference point for the displacement
calculation.
Extended
Definition
Mathematically, DM is calculated as follows:
DM =
where
i
is the displacement of marker i in the global coordinate system and
j
is the displacement of marker j in the global coordinate system.
Examples SFORCE/1, I=21, J=11, TRANSLATION
, FUNCTION=-30*(DM(21,11)-25)**1.72
This SFORCE statement defines a nonlinear spring whose free length is 25.
The stiffness is 30 force units per unit deformation. DM(21,11)-25
represent the deformation in the spring. 1.72 is the exponent to which the
deformation is raised.
R
i
R
j
[ ] R
i
R
j
[ ] )
1 2
R
R
DTOR
304 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
DTOR
Definition The DTOR variable returns degrees to radians conversion factor (PI/180).
Format DTOR
Examples VARIABLE/1, FUNCTION=30*DTOR*TIME
This VARIABLE statement specifies a user-defined, algebraically-
determined state variable whose value is 30 degrees*time. The state variable
is stored in radians.
DX
Using ADAMS/Solver 305
F
u
n
c
t
i
o
n
s
DX
Definition The DX function returns the x-component of the translational displacement
vector from marker j to marker i as expressed in the marker k coordinate
system. Marker j defaults to the global coordinate system if it is not specified.
Similarly, marker k defaults to ground if it is not specified.
Format DX(i[,j][,k])
Arguments i
The marker whose origin is being measured.
j
The marker whose origin is the reference point for the displacement
calculation.
k
The marker that is referenced to calculate the x-component of the
displacement vector. Set k = 0 if you want the results to be calculated
along the x-axis of the global coordinate system.
Extended
Definition
Mathematically, DX is calculated as follows:
where
i
is the displacement of marker i in ground and
j
is the
displacement of marker j in ground and
k
is the unit vector along the x-axis
of marker k.
Examples VARIABLE/1, FUNCTION=DX(21,11,32)**2
This VARIABLE statement specifies a user-defined, algebraically-
determined state variable. Its value is the square of the x-displacement of
Marker 21 with respect to Marker 11 as computed in the coordinate system
of Marker 32.
DX R
i
R
j
[ ] x
k
=
R R
x
DY
306 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
DY
Definition The DY function returns the y-component of the translational displacement
vector from marker j to marker i as expressed in the marker k coordinate
system. Marker j defaults to the global coordinate system if it is not specified.
Similarly, marker k defaults to the global coordinate system if it is not
specified.
Format DY(i[,j][,k])
Arguments i
The marker whose origin is being measured.
j
The marker whose origin is the reference point for the displacement
calculation. Set j=0 if you want j to default to the global coordinate
system while still specifying k.
k
The coordinates of the marker that are referenced to calculate coordinates
the y-component of the displacement vector is being calculated. Set k = 0
if you want the results to be calculated along the x-axis of the global
coordinate system.
Extended
Definition
Mathematically, DY is calculated as follows:
where
i
is the displacement of marker i in the global coordinate system and
j
is the displacement of marker j in the global coordinate system and
k
is
the unit vector along the y-axis of marker k.
Examples VARIABLE/1, FUNCTION=DY(21,11,32)**2
This VARIABLE statement specifies a user-defined, algebraically-
determined state variable. Its value is the square of the y-displacement of
Marker 21 with respect to Marker 11 as computed in the coordinate system
of Marker 32.
DY R
i
R
j
[ ] y
k
=
R
R y
DZ
Using ADAMS/Solver 307
F
u
n
c
t
i
o
n
s
DZ
Definition The DZ function returns the z-component of the translational displacement
vector from marker j to marker i as expressed in the marker k coordinate
system. Marker j defaults to the global coordinate system if it is not specified.
Similarly marker k defaults to the global coordinate system if it is not
specified.
Format DZ(i[,j][,k])
Arguments i
The marker whose origin is being measured.
j
The marker whose origin is the reference point for the displacement
calculation. Set j=0 if you want j to default to the global coordinate
system while still specifying l.
k
The marker in whose coordinates the z-component of the displacement
vector is being calculated. Set k = 0 if you want the results to be calculated
along the x-axis of the global coordinate system.
Extended
Definition
Mathematically, DZ is calculated as follows:
where
i
is the displacement of marker i in ground and
j
is the
displacement of marker j in ground and
k
is the unit vector along the z-axis
of marker k.
Examples VARIABLE/1, FUNCTION=DZ(21,11,32)**2
This VARIABLE statement specifies a user-defined, algebraically-
determined state variable. Its value is the square of the z-displacement of
Marker 21 with respect to Marker 11 as computed in the coordinate system
of Marker 32.
DZ R
i
R
j
[ ] z
k
=
R R
z
EXP
308 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
EXP
Definition The EXP function computes the value e
a
, where a is any expression.
Format EXP(a)
Arguments a
Any valid function expression.
Number of arguments: 1
Examples REQUEST/10, F2=EXP(WDTX(21,11,11,31))
In its second column, REQUEST/10 stores the value, e
WDTX(21,11,11,31)
,
where WDTX (21,11,11,31) is the x-component of the accelerations of
Marker 21 with respect to Marker 11 as expressed in the coordinate system
of Marker 11. The time derivative is taken in the reference frame of
Marker 31.
FIELD
Using ADAMS/Solver 309
F
u
n
c
t
i
o
n
s
FIELD
Definition The FIELD function returns component comp of a force due to FIELD/id as
calculated in the coordinate system of marker rm. If jflag is set to zero, the
value that is returned is the force/torque acting on the I marker of the FIELD.
If jflag is set to 1, the value that is returned is the value acting on the
J marker. For results that are in the global coordinate system, you can specify
rm as zero.
Format FIELD (id, jflag, comp, rm)
Arguments id
An integer specifying the identification member of the FIELD.
jflag
An integer flag specifying the FIELD connectivity marker at which the
forces and torques are computed.
0 = forces and moments at the I marker
1 = forces and moment at the J marker
comp
An integer value that specifies the component of the FIELD force to be
returned.
1 = Magnitude of the force
2 = x component of the force
3 = y component of the force
4 = z component of the force
5 = Magnitude of the torque
6 = x component of the torque
7 = y component of the torque
8 = z component of the torque
rm
The coordinate system in which the results are expressed. To return the
results in the global coordinate system, set rm = 0.
Examples REQUEST/1
, F2=FIELD(1001,0,2,0)\
, F3=FIELD(1001,0,3,0)\
, F4=FIELD(1001,0,4,0)
This REQUEST statement stores the x-, y-, and z-component of the forces in
FIELD/1001 in columns 2, 3, and 4, respectively. Solver calculates the
forces at the I marker, and computes results in the global coordinate system.
FM
310 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
FM
Definition The FM function returns the magnitude of the net translational force acting at
marker i due to all applied forces and constraints acting between markers i
and j.
To calculate the magnitude of the net translational force at marker i due to
action-only forces acting at i, set j = 0 or do not specify the j marker.
Format FM(i[,j])
Arguments i
An integer that specifies the identifier of the marker at which the
magnitude of the net force is to be calculated.
j
A second integer that specifies a marker identifier. All forces acting
between the [i,j] pair are included in the calculation. Set j = 0 or do
not specify it if you are interested in action-only forces.
Examples VARIABLE/1, FUNCTION=FM(23)
A user-defined state variable is specified by this VARIABLE statement. Its
value is the magnitude of the sum of all action-only forces acting at
Marker 23.
VARIABLE/1, FUNCTION=FM(23,11)
A user-defined state variable is specified by this VARIABLE statement. Its
value is the magnitude of the sum of all the forces at Marker 23 and acting
between Markers 23 and 11.
FORCOS
Using ADAMS/Solver 311
F
u
n
c
t
i
o
n
s
FORCOS
Definition The FORCOS function evaluates a Fourier Cosine series at a user-specified
value x. The x
0
, a
0
, a
1
,...,a
30
are parameters used to define the
constants for the Fourier Cosine series.
Format FORCOS (x, x
0
, w, a
0
, a
1
,..., a
30
)
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.
x
0
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 you use a D after the value.
a
0
,a
1
,...,a
30
The real variables that define as many as thirty-one coefficients for the
Fourier Cosine series.
Extended
Definition
The Fourier Cosine series is defined:
F(x) = a
0
+ * T
j
(x-x
0
)
where the functions T
j
are defined as:
T
j
(x-x
0
) = cos{j * * (x-x
0
)}
The index j has a range from 1 to n, where n is the number of terms in the
series.
a
j
j 1 =
n

FORCOS
312 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
Examples MOTION/1, JOINT=21, TRANSLATION,
, FUNCTION=FORCOS(TIME, 0, 360D, 1, 2, 3, 4)
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 a constant value of 1.0. The function defined is:
FORCOS = 1+2*COS(1*360D*TIME)
+3*COS(2*360D*TIME)
+4*COS(3*360D*TIME)
Figure 63 shows the curve.
Figure 63. Curve of a Harmonic Motion Defined by FORCOS
15.0
10.0
5.0
0.0
-5.0
15.0
10.0
5.0
0.0
-5.0
5.0
3.75
2.5
1.25
0.0 5.0
3.75
2.5
1.25
0.0
S
FORSIN
Using ADAMS/Solver 313
F
u
n
c
t
i
o
n
s
FORSIN
Definition The FORSIN function evaluates a Fourier Sine series at a user specified value
x. x
0
,a
0
,a
1
,...,a
30
are parameters used to define the constants for the
Fourier Sine series.
Format FORSIN (x, x
0
, w, a
0
, a
1
,..., a
30
)
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.
x
0
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 you use a D after the value.
a
0
A real variable that defines the constant bias term for the function.
a
1
,...,a
30
The real variables that define as many as thirty-one coefficients for the
Fourier Sine series.
Extended
Definition
The Fourier Sine series is defined:
F(x) = a
0
+ * T
j
(x-x
0
)
where the functions T
j
are defined as:
T
j
(x-x
0
) = sin{j * * (x-x
0
)}
The index j has a range from 1 to n, where n is the number of terms in the
series
a
j
j 1 =
n

FORSIN
314 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
Examples MOTION/1, JOINT=21, TRANSLATION,
, FUNCTION=FORSIN(TIME,-0.25, PI, 0, 1, 2, 3)
This MOTION statement defines a harmonic motion as a function of time.
The motion has a -0.25 second shift, a fundamental frequency of 0.5 cycle
( radians or 180 degrees) per time unit, and no constant value. The function
defined is:
FORSIN = 0+SIN(*(TIME+0.25))
+2*SIN(2*(TIME+0.25))
+3*SIN(3*(TIME+0.25))
Figure 64 shows the curve.
Figure 64. Curve of a Harmonic Motion Defined by FORSIN
6.0
3.0
0.0
-3.0
-6.0
6.0
3.0
0.0
-3.0
-6.0
5.0
3.75
2.5
1.25
0.0 5.0
3.75
2.5
1.25
0.0
FX
Using ADAMS/Solver 315
F
u
n
c
t
i
o
n
s
FX
Definition The FX function returns the x-component of the net translational force acting at
marker i, as computed in the coordinate system of marker k. All force
elements acting between markers i and j are included in the calculation of the
force, unless the force is an action-only type force. To return the x-component
of the action-only forces acting at marker i, you should omit specification of
markers j and k or specify them to be zero.
Format FX(i[,j][,k])
Arguments i
An integer that specifies the identifier of the marker at which the
magnitude of the net force is to be calculated.
j
A second integer that specifies a marker identifier. All forces acting
between the [i,j] pair are to be included in the calculation. Set j = 0 or
do not specify it if you are interested in action-only forces.
k
An integer that specifies the identifier of a marker (coordinate system) in
which the x-component of the force is to be returned. k defaults to the
global coordinate system when it is not specified.
Examples VARIABLE/1, FUNCTION=FX(23,0,432)
A user-defined state variable is specified by this VARIABLE statement. Its
value is FX(23,0,432). This is the x-component of the sum of all the
action-only forces acting at Marker 23. The x-axis of Marker 432 specifies
the direction along which the net translation force is computed.
FY
316 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
FY
Definition The FY function returns the y-component of the net translational force acting at
marker i, as computed in the coordinate system of marker k. All force
elements acting between markers i and j are included in the calculation of the
force, unless the force is an action-only type force. To return the y-component
of the action-only forces acting at marker i, you should omit specification of
markers j and k or specify them to be zero.
Format FY(i[,j][,k])
Arguments i
An integer that specifies the identifier of the marker at which the
magnitude of the net force is to be calculated.
j
A second integer that specifies a marker identifier. All forces acting
between the [i,j] pair are to be included in the calculation. Set j = 0 or
do not specify it if you are interested in action-only forces.
k
An integer that specifies the identifier of a marker (coordinate system) in
which the y-component of the force is to be returned. k defaults to the
global coordinate system when it is not specified.
Examples SFORCE/1, I=132, J=234, TRANSLATION, ACTIONONLY
, FUNCTION=-0.3*FY(677,866)
This SFORCE statement defines a translation, action-only force acting at
Marker 132. The force is directed along the z-axis of Marker 234. The value
of the force is -0.3 times the y-component of the net force along the global
y-axis, acting at Marker 677. All forces acting between Markers 677 and 866
are included in this calculation.
FZ
Using ADAMS/Solver 317
F
u
n
c
t
i
o
n
s
FZ
Definition The FZ function returns the z-component of the net translational force acting at
marker i, as computed in the coordinate system of marker k. All force
elements acting between markers i and j are included in the calculation of the
force, unless the force is an action-only type force. To return the z-component
of the action-only forces acting at marker i, you should omit specification of
markers j and k or specify them to be zero.
Format FZ(i[,j][,k])
Arguments i
An integer that specifies the identifier of the marker at which the
magnitude of the net force is to be calculated.
j
A second integer that specifies a marker identifier. All forces acting
between the [i,j] pair are to be included in the calculation. Set j = 0 or
do not specify it if you are interested in action-only forces.
k
An integer that specifies the identifier of a marker (coordinate system) in
which the z-component of the force is to be returned. k defaults to the
global coordinate system when it is not specified.
Examples SFORCE/1, I=23, J=11, TRANSLATION, ACTIONONLY
, FUNCTION=STEP5(FX(34), -1.5, -200, 1.5, 200)
This SFORCE statement defines a translational, action-only, nonlinear
force. The force is directed along the z-axis of Marker 11. The value of the
force is a 5
th
order step function (see STEP5 on page 359). The independent
variable for the STEP5 function is FX(34), the net force acting along the
global y-axis at Marker 34. Since no j marker is specified, only action-only
forces acting at Marker 34 are included in the calculation of FX().
GFORCE
318 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
GFORCE
Definition The GFORCE function returns the component comp of the force in
GFORCE/id in the coordinate system of marker rm. If jflag is set to zero,
Solver returns the value of the force/torque that acts on the I marker of
GFORCE. If jflag is set to 1, Solver returns the value that acts on the
J marker. To obtain results in the global coordinate system, you can specify rm
as zero.
Format GFORCE (id, jflag, comp, rm)
Arguments id
An integer specifying the identification number of the GFORCE.
jflag
An integer flag specifying the GFORCE connectivity marker at which the
forces and torques are computed.
0 = forces and moments at the I marker
1 = forces and moment at the J marker
comp
An integer value that specifies the component of the GFORCE to be
returned.
1 = Magnitude of the force
2 = x component of the force
3 = y component of the force
4 = z component of the force
5 = Magnitude of the torque
6 = x component of the torque
7 = y component of the torque
8 = z component of the torque
rm
The coordinate system in which the results are expressed. To return the
results in the global coordinate system, set rm = 0.
GFORCE
Using ADAMS/Solver 319
F
u
n
c
t
i
o
n
s
Examples GFORCE/1, I=516, J=34, RM=23
, FX=-0.3*GFORCE(1,0,4,23)\
, FY=0\
, FZ=IMPACT(DZ(516,0,23),VZ(516,0,23,23),4.6,1e5,1.5,10,0.01)
This GFORCE statement defines a force acting at Marker 516. The components
of the force are defined along the x-, y-, z-axes of Marker 23.
The x-component of the force is -0.3 times the z-component of the force.
The z-component of the force is defined as an impact force (see IMPACT on
page 323) that is a function of the displacement and velocity of Marker 516, as
seen by Marker 23.
HAVSIN
320 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
HAVSIN
Definition The HAVSIN function defines a haversine function. It is used most often to
represent a smooth transition between two functions.
Format HAVSIN (x, x
0
, h
0
, x
1
, h
1
)
Arguments x
The independent variable.
x
0
A real variable that specifies the x value at which the haversine function
begins.
x
1
A real variable that specifies the x value at which the haversine function
ends.
h
0
The initial value of the haversine function.
h
1
The final value of the haversine function.
Extended
Definition
The HAVSIN function is used most often to represent a smooth transition
between two functions (Figure 65). As an example, a HAVSIN may be used to
smoothly ramp up the motion in a joint from h
0
to some constant value h
1
.
Figure 65. Haversine Function
1.0
0.75
0.5
0.25
0.0
1.0
0.75
0.5
0.25
0.0
5.0
3.75
2.5
1.25
0.0 5.0
3.75
2.5
1.25
0.0
HAVSIN
Using ADAMS/Solver 321
F
u
n
c
t
i
o
n
s
The equation defining HAVSIN is:
a = (h
0
+ h
1
)/2
b = (h
1
- h
0
)/2
c = (x - x
0
)/(x
1
- x
0
)
Tips The HAVSIN function behavior is similar to the STEP functions (see STEP
on page 356 and STEP5 on page 359). The HAVSIN is much smoother than
either of these functions. The smoothness, however, causes its derivatives to
be larger than either STEP or STEP5.
Examples MOTION/1, JOINT=21, TRANSLATION
, FUNCTION=HAVSIN(TIME, 1, 0, 2, 1)
This MOTION statement defines a smooth transition from time 1 to time 2
with a displacement from 0 to 1.
HAVSIN
h :x x
( / ) :x x x
h :x x
0 0
0 1
1 1

+ < <

'

a b c * *sin 2
IF
322 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
IF
Definition The arithmetic IF function allows you to conditionally define a function
expression.
Format IF (expression 1: expression 2, expression 3, expression 4)
ADAMS/Solver evaluates expression 1.
x If the value of expression 1 is less than zero, the arithmetic IF is
evaluated using expression 2.
x If the value of expression 1 is zero, the arithmetic IF is evaluated using
expression 3.
x If the value of expression 1 is greater than zero, the arithmetic IF is
evaluated using expression 4.
Cautions When using an arithmetic IF function make sure that the resulting function is
continuous. If the function is discontinuous, ADAMS/Solver may fail to find a
solution when it encounters the discontinuity.
Examples SFORCE/1, I=20, J=31,
, FUNCTION=-6*IF(VR(10,31): 0, 0, VR(10,31)**3)
This function is interpreted as follows:
x If the radial velocity (see VR on page 374) between Markers 20 and 31
is less than or equal to zero, the value of SFORCE/1 is zero.
x If the radial velocity between Markers 10 and 31 is greater than zero,
the value of SFORCE/1 is -6*VR(10,31)**3.
IMPACT
Using ADAMS/Solver 323
F
u
n
c
t
i
o
n
s
IMPACT
Definition The IMPACT function models collisions.
Format IMPACT (x, , x
1
, k, e, c
max
, d)
Arguments x
An expression that specifies a distance variable that computes a force. For
example, if you use the x displacement of Marker 0201 with respect to
Marker 0301, then x is DX(0201,0301,0301). See DX on page 305.
An expression that defines communicates the time derivative of x to
IMPACT. For example, if x is DX(0201,0301), then is
VX(0201,0301,0,0301).
x
1
A positive real variable that specifies the free length of x. If x is less than
x
1
, then ADAMS/Solver calculates a positive value for the force.
Otherwise, the force value is zero. You can define x
1
as a real number,
function, or variable.
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.
c
max
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.
Extended
Definition
The IMPACT function activates when the distance between the I and the J
markers falls below a nominal free length (x
1
), that is, when two parts collide.
As long as the distance between the I and J markers is greater than x
1
, the
force is zero. An example of a system you can model with the IMPACT
function is a ball falling towards the ground. Figure 66 shows the free length
value x
1
at which the IMPACT force turns on.
x
x
x
IMPACT
324 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
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.
Figure 66. Example Illustrating the IMPACT Function
The equation defining IMPACT is:
Note that when x x
1
, no penetration occurs 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 = x
1
- x).
Also note that when p < d, the instantaneous damping coefficient is a cubic step
function of the penetration p.
When p > d, the instantaneous damping coefficient is c
max
.
ADAMS/Solver never returns a negative force for IMPACT. If the above
expression is negative, ADAMS/Solver returns a value of zero.
I
J
x
d
x
1
x
x
1
d
J
I
IMPACT =
Max(0,k(x -x) STEP(x,x d,c ,x ,0)*x): x x
0 : x x
1 1 max 1 1
1
e
<

'

IMPACT
Using ADAMS/Solver 325
F
u
n
c
t
i
o
n
s
Figure 67 is a plot of damping coefficient versus penetration.
Figure 67. Damping Coefficient versus Penetration
Examples SFORCE/1, I=11, J=21, TRANSLATION, ACTIONONLY
, FUNCTION=IMPACT(DZ(11,21,21),
, VZ(11,21,21,21),1.0, 100, 1.5, 25, 0.1)
This statement defines an impact force when a ball penetrates another object
such as a table. The force is a single-component force at Marker 11 and
along the z-axis of Marker 21. DZ(11,21,21) defines the instantaneous
displacement of Marker 11 with respect to Marker 21 along the z-axis of
Marker 21. VZ(11,21,21,21) defines the instantaneous velocity. The
free length is 1, i.e., 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.
VFORCE/1, I=27, JFLOAT=25, RM=26
, FX=0\
, FY=IMPACT(DY(4,1,1), VY(4,1,1), 1-AKISPL(DX(4,1,1),
, DZ(4,1,1)3),le7, 1.01, le4,.25)\
, FZ=0
This statement defines an impact force when a ball penetrates a surface
defined by a spline. The force is a translational force at Marker 27. The
DY(4,1,1) defines the y-component of the instantaneous displacement of
Marker 4 with respect to Marker 1. The VY(4,1,1) defines the y-component
of the instantaneous velocity. The free length is defined using spline 3,
which represents the surface. The independent variables in the spline are
defined using the x-component and z-component of the instantaneous
displacement of Marker 4 with respect to Marker 1, DX(4,1,1) and
DZ(4,1,1), respectively. The stiffness is le7, the exponent of deformation is
1.01, the maximum damping coefficient is 25, and the penetration at which
ADAMS/Solver applies full damping is.25.
c
max
0
d
Damping
Coefficient
Penetration
JOINT
326 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
JOINT
Definition The JOINT function returns component comp of a force or torque due to
JOINT/id as calculated in the coordinate system of marker rm. If jflag is
set to zero, the value returned is the force/torque acting on the I marker of the
JOINT. If jflag is set to one, the value returned is that acting on the
J marker. rm may be specified as zero if the results are desired in the global
coordinate system.
Format JOINT (id, jflag, comp, rm)
Arguments id
An integer specifying the identification member of the joint.
jflag
An integer flag specifying the joint connectivity marker at which the forces
and torques are computed.
0 = forces and moments at the I marker
1 = forces and moments at the J marker
comp
An integer value that specifies the component of the joint force to be
returned.
1 = Magnitude of the force
2 = x component of the force
3 = y component of the force
4 = z component of the force
5 = Magnitude of the torque
6 = x component of the torque
7 = y component of the torque
8 = z component of the torque
rm
The coordinate system in which the results are expressed. To return the
results in the global coordinate system, set rm = 0.
JOINT
Using ADAMS/Solver 327
F
u
n
c
t
i
o
n
s
Examples JOINT/1, REVOLUTE, I=46, J=23
SFORCE/1, ROTATION, I=46, J=23
, FUNCTION=-0.4*SIGN(1.0,WZ(46,23,23)*5.6*,
, (JOINT(1,0,1,23)-ABS(JOINT(1,0,4,23))))
This example illustrates how a simple dynamic friction force can be
added to a revolute joint. JOINT/1 is the revolute joint to which
frictional effects are to be added. 0.4 is the coefficient of friction and
5.6 is the radius of the sleeve defining the revolute joint. WZ(46,23,23)
determines the direction of rotation and the negative sign indicates that
the frictional moment about the z-axis of Marker 23 opposes this motion.
JOINT(1,0,1,23) determines the magnitude of the reaction force
at Marker 23. JOINT(1,0,4,23) determines the component of
the constraint force along the axis of the rotational of the joint.
JOINT(1,0,12)-ABS(JOINT(1,0,4,23)) defines the radial
load in the revolute joint (i.e., the normal force).
JPRIM
328 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
JPRIM
Definition The JPRIM function returns component comp of a force due to JPRIM/id as
calculated in the coordinate system of marker rm. If jflag is set to zero, the
value returned is the force/torque acting on the I marker of the JPRIM. If
jflag is set to one, the value returned is that acting on the J marker. rm may
be specified as zero if the results are desired in the global coordinate system.
Format JPRIM (id, jflag, comp, rm)
Arguments id
An integer specifying the identification member of the JPRIM.
jflag
An integer flag specifying the JPRIM connectivity marker at which the
forces and torques are computed.
0 = forces and moments at the I marker
1 = forces and moment at the J marker
comp
An integer value that specifies the component of the JPRIM force to be
returned.
1 = Magnitude of the force
2 = x component of the force
3 = y component of the force
4 = z component of the force
5 = Magnitude of the torque
6 = x component of the torque
7 = y component of the torque
8 = z component of the torque
rm
The coordinate system in which the results are expressed. To return the
results in the global coordinate system, set rm = 0.
Examples REQUEST/1
, F2=JPRIM(212,1,8,346)
In its second column, this REQUEST statement stores the z component of the
torque acting at the J marker of JPRIM 212. The torque component is
calculated in the coordinate system of Marker 346.
LOG
Using ADAMS/Solver 329
F
u
n
c
t
i
o
n
s
LOG
Definition The LOG function returns the natural logarithm an expression a. If e
x
=a then
LOG(a)= x. The LOG function is defined only for positive values of a
(i.e., a > 0). It is undefined for all other values.
Format LOG(a)
Arguments a
Any valid function expression that returns a positive value during a
simulation.
Number of Arguments: 1
Examples DIFF/1, IC=3.6
, FUNCTION=LOG(1+VM(21,31,31))
This DIFF statement defines a user specified differential equation. The
initial condition for the associated state is 3.6 and its derivative is the natural
logarithm of the expression 1+VM(21,31,31).
LOG10
330 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
LOG10
Definition The LOG10 function returns log to base 10 of an expression a. If 10x=a, then
LOG10(a)= x. The LOG10 function is defined only for positive values of a
(a>0). It is undefined for all other values.
Format LOG10(a)
Arguments a
Any valid function expression that returns a positive value during a
simulation.
Number of Arguments: 1
Examples DIFF/1, IC=3.6
, FUNCTION=LOG10(1+VM(21,31,31))
This DIFF statement defines a user specified differential equation. The
initial condition for the associated state is 3.6 and its derivative is the natural
logarithm of the expression 1+VM(21,31,31).
MAX
Using ADAMS/Solver 331
F
u
n
c
t
i
o
n
s
MAX
Definition The MAX function returns the maximum of two expressions a1 and a2.
MAX(a1,a2) = a1 if a1 a2
MAX(a1,a2) = a2 if a2 > a1
Format MAX(a1,a2)
Arguments a1
Any valid function expression.
a2
Any valid function expression.
Cautions The MAX function is generally discontinuous. Use this function expression with
care when you are specifying force or motion input.
Examples SFORCE/1, ROTATIONAL, ACTIONONLY, I=21, J=11
, FUNCTION=MAX(0,-3*(AZ(21,11)-25D))
This SFORCE statement defines an action-only torque that acts at Marker 21
and acts along the z-axis of Marker 11. The torque is defined to always be
non-negative through the use of the MAX function. Thus, the torque can only
act to decrease the AZ rotation of Marker 21 with respect to Marker 11
(see AZ on page 285).

MIN
332 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
MIN
Definition The MIN function returns the minimum of two expressions a1 and a2.
MIN(a1,a2) = a1 if a1 a2
MIN(a1,a2) = a2 if a2 < a1
Format MIN(a1,a2)
Arguments a1
Any valid function expression.
a2
Any valid function expression.
Cautions The MIN function is generally discontinuous. Use this function expression with
care when you are specifying force or motion input.
Examples SFORCE/1, ROTATIONAL, ACTIONONLY, I=21, J=11
, FUNCTION=MIN(0,-3*(AZ(21,11)-25D))
This SFORCE statement defines an action-only torque that acts at Marker 21
and acts along the z-axis of Marker 11. The torque is defined to always be
negative through the use of the MIN function. Thus, the torque can only act
to decrease the AZ rotation of Marker 21 with respect to Marker 11 (see AZ
on page 285).

MOD
Using ADAMS/Solver 333
F
u
n
c
t
i
o
n
s
MOD
Definition The MOD function returns the remainder when a1 is divided by a2.
MOD(a1,a2) = a1 - int(a1/a2) * a2
Format MOD(a1,a2)
Arguments a1
Any valid function expression.
a2
Any valid function expression.
Cautions The MOD function is generally discontinuous. Use this function expression with
care when you are specifying force or motion input.
Examples MOD(45,16)=13
MODE
334 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
MODE
Definition The MODE function returns the current analysis mode. These are defined as:
1 = Kinematics
2 = Reserved
3 = Initial conditions
4 = Dynamics
5 = Statics
6 = Quasi-statics
7 = Linear analysis
Format MODE
Cautions Use the MODE function with care if you use the STATICS argument on the
SIMULATE command to request a static or quasi-static simulation of a
kinematic system, ADAMS/Solver performs a kinematic analysis and,
consequently, returns a MODE analysis constant of 1 (not 5 or 6).
Examples SFORCE/1, TRANSLATION, I=21, J=11
, FUNCTION=IF(MODE-4:0,0,-4*(DM(21,11)-10.6))
This example defines a translational force that is active only during statics,
quasi-static, and linear analysis modes. For these analysis modes, the
SFORCE acts as a simple spring. For all other analyses, the net force applied
by the SFORCE is zero.
MOTION
Using ADAMS/Solver 335
F
u
n
c
t
i
o
n
s
MOTION
Definition The MOTION function returns component comp of a force due to MOTION/id
as calculated in the coordinate system of marker rm. If jflag is set to zero,
the value returned is the force/torque acting on the I marker of the MOTION. If
jflag is set to one, the value returned is that acting on the J marker. rm may
be specified as zero if the results are desired in the global coordinate system.
Format MOTION (id, jflag, comp, rm)
Arguments id
An integer specifying the identification number of the motion.
jflag
An integer flag specifying the motion connectivity marker at which the
forces and torques are computed.
0 = forces and moments at the I marker
1 = forces and moments at the J marker
comp
An integer value that specifies the component of the motion force to be
returned.
1 = Magnitude of the force
2 = x component of the force
3 = y component of the force
4 = z component of the force
5 = Magnitude of the torque
6 = x component of the torque
7 = y component of the torque
8 = z component of the torque
rm
The coordinate system in which the results are expressed. To return the
results in the global coordinate system, set rm = 0.
Examples JOINT/34, REVOLUTE, I=21, J=11
MOTION/1, ROTATIONAL, JOINT=34, FUNCTION=TIME**2
DIFF/1, IC=0
, FUNCTION=WZ(21,11)*MOTION(1,0,8,11)
This DIFF statement defines a user defined state. Its derivative is the
instantaneous power required to effect the displacement specified by
MOTION/1. Therefore, the value of the state is the total work done by
MOTION/1 during a simulation.
NFORCE
336 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
NFORCE
Definition The NFORCE function returns component comp of a force due to NFORCE/id
acting at the marker, at_marker, as calculated in the coordinate system of
marker rm. The rm marker may be specified as zero if the results are desired in
the global coordinate system. The marker must be one of the I or J markers
to which NFORCE/id connects.
Format NFORCE (id, at_marker, comp, rm)
Arguments id
An integer specifying the identification member of the NFORCE.
at_marker
An integer marker identifier specifying the NFORCE connectivity marker
at which the forces and torques are computed.
comp
An integer value that specifies the component of the NFORCE to be
returned.
1 = Magnitude of the force
2 = x component of the force
3 = y component of the force
4 = z component of the force
5 = Magnitude of the torque
6 = x component of the torque
7 = y component of the torque
8 = z component of the torque
rm
The coordinate system in which the results are expressed. To return the
results in the global coordinate system, set rm = 0.
Cautions The NFORCE function is available only from REQUEST and SENSOR
statements. It is not accessible from other statements.
PHI
Using ADAMS/Solver 337
F
u
n
c
t
i
o
n
s
dn
PHI
Definition The PHI function calculates the third angle (in radians) of a body-2 [313]
Euler rotation sequence between markers i and j. Marker j defaults to the
global coordinate system if it is not specified. See Figure 68 for a schematic
description of the body-2 [313] Euler rotation sequence.
Figure 68. Body-2 [313] Euler Angles
z,
z
'

'

'
x
x
y
y

z
z'
x
y
y'

x'

Line of nodes

The body-2 [313] sequence is


started by rotating
counterclockwise the initial
system of axes, xyz, by an angle
about the z-axis. The resultant
axes are labeled .
In the second stage the
intermediate axes, , are
rotated counterclockwise about
the axis by an angle . The new
resultant planes are labelled ' '
'. The '- axis is at the
intersection of the xy and ' '
planes and is known as the line of
nodes.
In the final rotation, the '- '-
'- axes are rotated
counterclockwise by an angle
about the -axis to produce the x'
y' z' axes, which is the desired
final direction.
PHI
338 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
Format PHI(i[,j])
Arguments i
The marker whose rotations are being sought.
j
The marker with respect to which the rotations are being measured.
Examples REQUEST/1, F2=PHI(222,434)
This REQUEST statement output the phi angle between Markers 222 and
434 in its second column.
PI
Using ADAMS/Solver 339
F
u
n
c
t
i
o
n
s
PI
Definition PI returns the ratio of the circumference of a circle to its diameter (3.14159...).
Format PI
PINVAL
340 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
PINVAL
Definition The PINVAL function returns component comp of PINPUT/id.
Format PINVAL (id, comp)
Arguments id
The identifier of the PINPUT whose data is being requested.
comp
An integer that specifies the component of the PINPUT to be returned.
Examples VARIABLE/21, FUNCTION=10*SIN(2.4*TIME)+3.5
VARIABLE/22, FUNCTION=DZ(21,11,32)
PINPUT/10, VARIABLES=21,22
SFORCE/1, TRANSLATIONAL, I=62, J=47
, FUNCTION=-1.08*(PINVAL(10,2)-4.6)
PINPUTs and POUTPUTs are used to generate the A, B, C, and D matrices
for a mechanical system at an operating point. PINPUTs define the inputs to
the system (plant) and POUTPUTs define the outputs from the system
(plant). These can be accessed with function expression also, as shown in the
example above. PINVAL(10,2) is the second element in the
VARIABLES list for PINPUT/10 (i.e., VARIABLE/22).
PITCH
Using ADAMS/Solver 341
F
u
n
c
t
i
o
n
s
PITCH
Definition Calculates the second angle of a Body-3 [3 -2 1] yaw-pitch-roll rotation
sequence between marker i and j. Marker j defaults to the global coordinate
system if it is not specified. Note that pitch is an Euler angle.
Format PITCH(i[,j])
Arguments i
The marker whose rotations are being sought.
j
The marker with respect to which the rotations are being measured.
Examples REQUEST/2, F2=PITCH(143)
This REQUEST statement output the pitch angle (in radians) of Marker 143
relative to the global coordinate system.
POLY
342 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
POLY
Definition The POLY function evaluates a standard polynomial at a user-specified
value x.
Format POLY (x, x
0
, a
0
, a
1
,..., a
30
)
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.
x
0
A real variable that specifies a shift in the polynomial.
a
0
,a
1
,...,a
30
The real variables that define as many as thirty-one coefficients for the
polynomial series.
Extended
Definition
The POLY function evaluates a standard polynomial at a user-specified value
x. x
0
,a
0
,a
1
,...,a
30
are parameters used to define the constants for the
polynomial. The standard polynomial is defined as:
P(x) = a
j
(x-x
0
)
j
= a
0
+ a
1
* (x-x
0
) + a
2
* (x-x
0
)
2
+...+ a
n
* (x-x
0
)
n
The index j has a range from zero to n, where n is the number of terms in the
series.
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 = time
2
j 0 =
n

POLY
Using ADAMS/Solver 343
F
u
n
c
t
i
o
n
s
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
switch between functions.
The expanded function is:
if (time - 5) then Poly=0
else Poly=10*time-5
SFORCE/3, I=10, J=20, TRANSLATION
, FUNCTION=-POLY(DM(10, 20), 10, 0, 25, 0, 0.75)
This SFORCE statement defines a force with a nonlinear force deformation
characteristic. This relationship is:
Poly=-25*[DM(10,20)-10]+ 0.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.

POUVAL
344 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
POUVAL
Definition The POUVAL function returns component comp of POUTPUT/id.
Format POUVAL (id, comp)
Arguments id
The identifier of the POUTPUT whose data is being requested.
comp
An integer that specifies the component of the POUTPUT to be returned.
Examples VARIABLE/21, FUNCTION=10*SIN(2.4*TIME)+3.5
VARIABLE/22, FUNCTION=DZ(21,11,32)
POUTPUT/10, VARIABLES=21,22
SFORCE/1, TRANSLATIONAL, I=62, J=47
, FUNCTION=-1.08*(POUVAL(10,2)-4.6)
PINPUTs and POUTPUTs are used to generate the A, B, C, and D matrices
for a mechanical system at an operating point. PINPUTs define the inputs to
the system (plant) and POUTPUTs define the outputs from the system
(plant). These can be accessed with function expression also, as shown in the
example above. POUVAL(10,2) is the second element in the
VARIABLES list for POUTPUT/10 (i.e., VARIABLE/22).
PSI
Using ADAMS/Solver 345
F
u
n
c
t
i
o
n
s
PSI
Definition The PSI function expression calculates the first angle (in radians) of a
body-2 [313] Euler rotation sequence between markers i and j. Marker j
defaults to the global coordinate system if it is not specified. See Figure 68 on
page 337 for a schematic of the Body-2 [313] Euler angles.
Format PSI(i[,j])
Arguments i
The marker whose rotations are being sought.
j
The marker with respect to which the rotations are being measured.
Examples REQUEST/1, F2=PSI(222,434)
This REQUEST statement output the psi angle between Markers 222 and
434 in its second column.
PTCV
346 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
PTCV
Definition The PTCV function returns component comp of a force due to PTCV/id as
calculated in the coordinate system of marker rm. If jflag is set to zero, the
value returned is the force acting on the I marker of the PTCV. If jflag is set
to one, the value returned is that acting on the JFLOAT marker. rm may be
specified as zero if the results are desired in the global coordinate system.
Format PTCV (id, jflag, comp, rm)
Arguments id
An integer specifying the identification member of the bushing.
jflag
An integer flag specifying the bushing connectivity marker at which the
forces and torques are computed.
0 = forces and moments at the I marker
1 = forces and moment at the J marker
comp
An integer value that specifies the component of the beam force to be
returned.
1 = Magnitude of the force
2 = x component of the force
3 = y component of the force
4 = z component of the force
5 = Magnitude of the torque
6 = x component of the torque
7 = y component of the torque
8 = z component of the torque
rm
The coordinate system in which the results are expressed. To return the
results in the global coordinate system, set rm = 0.
Cautions x The PTCV function may only be used with REQUESTs and SENSORs.
Examples REQUEST/1
, F2=PTCV(31,0,2,0)\
, F3=PTCV(31,0,3,0)\
, F4=PTCV(31,0,4,0)\
, F5=PTCV(31,0,5,0)\
, F6=PTCV(31,0,6,0)\
, F7=PTCV(31,0,7,0)\
, F8=PTCV(31,0,8,0)\
This REQUEST statement output the x-, y- and z-components of the force
and torque at the I marker of PTCV/31. Since rm is specified as zero, all
vectors are expressed in the global coordinate system.
ROLL
Using ADAMS/Solver 347
F
u
n
c
t
i
o
n
s
ROLL
Definition The ROLL function calculates the third angle of a Body-3 [3 -2 1] yaw-pitch-
roll rotation sequence between markers i and j. Marker j defaults to the
global coordinate system if it is not specified. Note that roll is an Euler angle.
Format ROLL(i[,j])
Arguments i
The marker whose rotations are being sought.
j
The marker with respect to which the rotations are being measured.
Examples REQUEST/2, F2=ROLL(143)
This REQUEST statement output the roll angle (in radians) of Marker 143
relative to the global coordinate system.
RTOD
348 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
RTOD
Definition RTOD returns the radians to degrees conversion factor.
Format RTOD
Examples REQUEST/1, F2=ROLL(23,14)*RTOD
This REQUEST statement outputs the roll angle between Markers 23 and 14
in degrees.
SFORCE
Using ADAMS/Solver 349
F
u
n
c
t
i
o
n
s
SFORCE
Definition The SFORCE function returns component comp of a force due to SFORCE/id
as calculated in the coordinate system of marker rm. If jflag is set to zero,
the value returned is the force/torque acting on the I marker of the SFORCE. If
jflag is set to 1, the value returned is that acting on the J marker. rm may be
specified as zero if the results are desired in the global coordinate system.
Format SFORCE (id, jflag, comp, rm)
Arguments id
An integer specifying the identification member of the SFORCE.
jflag
An integer flag specifying the SFORCE connectivity marker at which the
forces and torques are computed.
0 = forces and moments at the I marker
1 = forces and moment at the J marker
comp
An integer value that specifies the component of the SFORCE to be
returned.
1 = Magnitude of the force
2 = x component of the force
3 = y component of the force
4 = z component of the force
5 = Magnitude of the torque
6 = x component of the torque
7 = y component of the torque
8 = z component of the torque
rm
The coordinate system in which the results are expressed. Set rm = 0 if
you want to return the results in the global coordinate system.
Examples REQUEST/1
, F2=SFORCE(31,0,2,0)\
, F3=SFORCE(31,0,3,0)\
, F4=SFORCE(31,0,4,0)\
, F5=SFORCE(31,0,5,0)\
, F6=SFORCE(31,0,6,0)\
, F7=SFORCE(31,0,7,0)\
, F8=SFORCE(31,0,8,0)
This REQUEST statement output the x-, y- and z-components of the force
and torque at the I marker of SFORCE/31. Since rm is specified as zero,
all vectors are expressed in the global coordinate system.
SHF
350 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
SHF
Definition The SHF function evaluates a simple harmonic function. The following
equation defines SHF.
SHF = a*sin(*(x-x
0
)-phi)+b
Format SHF (x, x
0
, a, w, phi, b)
Arguments x
The independent variable in the function. It may be any valid expression.
For example, if the independent variable in the function is twice the
current simulation time, x is the system variable 2*TIME.
x
0
The offset in the independent variable x.
a
The amplitude of the harmonic function.

The frequency of the harmonic function. ADAMS/Solver assumes 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 you use a D after the value.
b
The average value of displacement of the harmonic function.
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.
SIGN
Using ADAMS/Solver 351
F
u
n
c
t
i
o
n
s
SIGN
Definition The SIGN function transfers the sign of a2 to the magnitude of a1.
SIGN(a1,a2) = ABS(a1) if a2 0
SIGN(a1,a2) = -ABS(a1) if a2 < 0
Format SIGN (a1,a2)
Arguments a1
Any valid function expression.
a2
Any valid function expression.
Cautions The SIGN function is discontinuous. Use this function with care to avoid
creating expressions that are discontinuous.
Examples VARIABLE/23, FUNCTION=10*SIGN(DM(24,33),VZ(24,33))
When VZ(24,33) 0, the value of VARIABLE/23 is
+10*DM(24,33). When VZ(24,33) < 0, the value of VARIABLE/23
is -10*DM(24,33).

SIN
352 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
SIN
Definition The SIN function returns the sine of an expression a.
Format SIN(a)
Arguments a
Any valid function expression.
Number of Arguments: 1
Examples SFORCE/1, TRANSLATION, I=23, J=34
, FUNCTION=SIN(10*TIME)
A translational force is defined to be acting along the line joining
Markers 23 and 34. The force at Marker 23 is defined to be
SIN(10*TIME).
SINH
Using ADAMS/Solver 353
F
u
n
c
t
i
o
n
s
SINH
Definition The SINH function return the hyperbolic sine of an expression a.
SINH(a) = (e
a
-e
-
a
) / 2.0
Format SINH(a)
Arguments a
Any valid function expression.
Number of Arguments: 1
Examples VARIABLE/1, FUNCTION=SINH(DX(21,32))
The value of VARIABLE/1 is the hyperbolic sine of the x-component of the
displacement between Markers 21 and 32, as calculated in the global
coordinate system.
SPDP
354 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
SPDP
Definition The SPDP function returns the component comp of a force due to
SPRINGDAMPER/id as calculated in the coordinate system of marker rm.
If jflag is set to zero, the value returned is the force/torque that acts on the
I marker of the SPRINGDAMPER. If jflag is set to 1, the value returned is
the value that acts on the j marker. To get results in the global coordinate
system, you can specify rm as zero.
Format SPDP (id, jflag, comp, rm)
Arguments id
An integer specifying the identification member of the SPDP.
jflag
An integer flag specifying the SPDP connectivity marker at which the
forces and torques are computed.
0 = forces and moments at the I marker
1 = forces and moment at the J marker
comp
An integer value that specifies the component of the SPDP force to be
returned.
1 = Magnitude of the force
2 = x component of the force
3 = y component of the force
4 = z component of the force
5 = Magnitude of the torque
6 = x component of the torque
7 = y component of the torque
8 = z component of the torque
rm
The coordinate system in which the results are expressed. Set rm = 0 if
you want to return the results in the global coordinate system.
Examples REQUEST/1
, F2=SPDP(31,0,2,0)\
, F3=SPDP(31,0,3,0)\
, F4=SPDP(31,0,4,0)\
, F5=SPDP(31,0,5,0)\
, F6=SPDP(31,0,6,0)\
, F7=SPDP(31,0,7,0)\
, F8=SPDP(31,0,8,0)
This REQUEST statement output the x-, y- and z-components of the force
and torque at the I marker of SPDP/31. Since rm is specified as zero, all
vectors are expressed in the global coordinate system.
SQRT
Using ADAMS/Solver 355
F
u
n
c
t
i
o
n
s
SQRT
Definition The SQRT function returns the square root of an expression a. The square root
function is defined only for non-negative values of the argument a.
Format SQRT(a)
Arguments a
Any valid function expression.
Number of Arguments: 1
Examples VARIABLE/23,
, FUNCTION=SQRT (FX(23,11)**2+FY(23,11)**2)
A new state variable with a value equal to the global square root of the sum
of the squares of the global x- and y- components net force acting between
Markers 21 and 11.
STEP
356 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
STEP
Definition The STEP function approximates the Heaviside step function with a cubic
polynomial. It has continuous first derivatives. Its second derivatives are
discontinuous at x=x
0
and x=x
1
.
Format STEP (x, x
0
, h
0
, x
1
, h
1
)
Arguments x
The independent variable. It can be a function expression.
x
0
A real variable that specifies the x value at which the STEP function
begins.
x
1
A real variable that specifies the x value at which the STEP function ends.
h
0
The initial value of the step.
h
1
The final value of the step.
Extended
Definition
The STEP function approximates the Heaviside step function with a cubic
polynomial. Figure 69 illustrates the STEP function.
Figure 69. STEP Function
1.0
0.75
0.5
0.25
0.0
1.0
0.75
0.5
0.25
0.0
5.0
3.75
2.5
1.25
0.0 5.0
3.75
2.5
1.25
0.0
STEP
Using ADAMS/Solver 357
F
u
n
c
t
i
o
n
s
The equation defining the STEP5 function is:
a = h
1
- h
0
= (x - x
0
)/(x
1
- x
0
)
Tips HAVERSINE, STEP5, and TANH offer other approximations for the Heaviside
step function. These have a higher degree of continuity and differentiability, but
may have larger derivatives.
Figure 70 compares the STEP, STEP5, HAVSIN and TANH functions.
Figure 70. Comparison of STEP, STEP5, HAVSIN and TANH
h
0
h
0
+ .
2
(3-2)
h
1
STEP =
: x < x
0
: x
0
< x < x
1
: x > x
1
1.0
0.75
0.5
0.25
0.0
1.0
0.75
0.5
0.25
0.0
5.0
3.75
2.5
1.25
0.0 5.0
3.75
2.5
1.25
0.0
, Q
1.25 1.25
TANH
STEP5
STEP(solid line)
HAVSIN (dashed line)
STEP
358 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
Figure 71 shows the first derivatives of these four functions.
Figure 71. First Derivatives of STEP, STEP5, HAVSIN and TANH
Examples MOTION/1, JOINT=21, TRANSLATION
, FUNCTION=STEP(TIME, 1, 0, 2, 1)
This MOTIONstatement defines a smooth step function from time 1 to time 2
with a displacement from 0 to 1.
2.5
1.875
1.25
0.625
0.0
2.5
1.875
1.25
0.625
0.0
5.0
3.75
2.5
1.25
0.0 5.0
3.75
2.5
1.25
0.0
TANH
STEP
HAVSIN
STEP5
STEP5
Using ADAMS/Solver 359
F
u
n
c
t
i
o
n
s
STEP5
Definition The STEP5 function provides approximation to the Heaviside step function
with a quintic polynomial. It has continuous first and second derivatives. Its
third derivative is discontinuous at x=x
0
and x=x
1
.
Format STEP5 (x, x
0
, h
0
, x
1
, h
1
)
Arguments x
The independent variable.
x
0
A real variable that specifies the x value at which the STEP5 function
begins.
x
1
A real variable that specifies the x value at which the STEP5 function
ends.
h
0
The initial value of the step.
h
1
The final value of the step.
Extended
Definition
Figure 72 illustrates the STEP5 function.
Figure 72. STEP5 Function
1.0
0.75
0.5
0.25
0.0
1.0
0.75
0.5
0.25
0.0
5.0
3.75
2.5
1.25
0.0 5.0
3.75
2.5
1.25
0.0
S: steps all
STEP5
360 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
The equation defining the STEP5 function is:
a = h
1
- h
0
= (x - x
0
)/(x
1
- x
0
)
Examples MOTION/1, JOINT=21, TRANSLATION
, FUNCTION=STEP5(TIME, 1, 0, 2, 1)
This MOTIONstatement defines a smooth step function from time 1 to time 2
with a displacement from 0 to 1.
STEP5
h : x x
h : x x x
h : x x
0 0
0 0 1
1 1

+ +
[ ]
< <

'

a
3
* 10 15 6
2
SWEEP
Using ADAMS/Solver 361
F
u
n
c
t
i
o
n
s
SWEEP
Definition The SWEEP function returns a constant amplitude sinusoidal function with
linearly increasing frequency.
Format SWEEP (x, a, x
0
, f
0
, x
1
, f
1
, d
x
)
Arguments x
The independent variable.
a
The amplitude of the sinusoidal function.
x
0
The value of the independent variable at which the SWEEP function
begins.
f
0
The initial frequency of the sinusoidal function.
x
1
The value of the independent variable value at which the SWEEP function
ends.
f
1
The final frequency.
d
x
The interval in which the SWEEP function becomes fully active.
Extended
Definition
Mathematically, SWEEP is calculated as follows:
SWEEP = STEP(x,0,0,dx,1)* a * sin(2 *freq(x)*x)
where:

f
0
if x < x
0
f
1
if x > x
1
f
0
1
2
--- f
1
f
0
( )
x x
0

x
1
x
0

---------------- +
if x
0
< x < x
1 freq (x) =
SWEEP
362 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
The figure below illustrates the SWEEP function.
Figure 73. Sweep Function
Examples The following example defines motion with a sinusoidal function with a rising
frequency from 2 to 6Hz during the time interval 0 to 5.
MOTION/1,JOINT=1
, FUNCTION=SWEEP(TIME, 1.0, 0.0, 2.0, 5.0, 6.0, 0.01)
Figure 74. Sinusoidal Function
f
1
f
0
x
0
x
1
freq(x)
TAN
Using ADAMS/Solver 363
F
u
n
c
t
i
o
n
s
TAN
Definition The TAN function returns the tangent of an expression a.
Format TAN(a)
Arguments a
Any valid function expression.
Number of Arguments: 1
TANH
364 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
TANH
Definition The TANH function returns the hyperbolic tangent of an expression a.
TANH(a)= (e
a
- e
-
a
) / (e
a
+ e
-
a
)
Format TANH(a)
Arguments a
Any valid function expression.
Number of Arguments: 1
Extended
Definition
Figure 75 illustrates the TANH function.
Figure 75. TANH Function
Examples MOTION/1, JOINT=21, TRANSLATION
, FUNCTION=0.5(1+TANH(5*(TIME-1.5)))
This MOTION statement defines a smooth step function that transitions from
a value of 0 to 1. The value of the step function at time=1.5 is 0.5.
1.0
0.75
0.5
0.25
0.0
1.0
0.75
0.5
0.25
0.0
5.0
3.75
2.5
1.25
0.0 5.0
3.75
2.5
1.25
0.0
THETA
Using ADAMS/Solver 365
F
u
n
c
t
i
o
n
s
c
THETA
Definition The THETA function calculates the second angle (in radians) of a body-2 [313]
Euler rotation sequence between markers i and j. Marker j defaults to the
global coordinate system if it is not specified. See Figure 68 on page 337 for a
schematic of the Body-2 [313] Euler angles.
Format THETA(i[,j])
Arguments i
The marker whose rotations are being sought.
j
The marker with respect to which the rotations are being measured.
Examples REQUEST/1, F2=THETA(222,434)
This REQUEST statement output the psi angle between Markers 222 and
434 in its second column.
TIME
366 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
TIME
Definition The TIME variable returns the current simulation time.
Format TIME
Examples SFORCE/1, TRANSLATION, I=21, J=32
, FUNCTION=10*SIN(2*PI*TIME)
This SFORCE statement defines a translational force acting between the
origins of Marker 21 and Marker 11. The value of the force is
10*SIN*(2*PI*TIME).
TM
Using ADAMS/Solver 367
F
u
n
c
t
i
o
n
s
TM
Definition The TM function returns the magnitude of the net torque acting at marker i due
to all applied torques and constraints acting between markers i and j.
To calculate the magnitude of the net torque at marker i due to action-only
torque acting at i, set j = 0.
Format TM(i[,j])
Arguments i
An integer that specifies the identifier of the marker at which the
magnitude of the net torque is to be calculated.
j
A second integer that specifies a marker identifier. All torques acting
between the [i,j] pair are to be included in the calculation. Set j = 0 or
do not specify it if you are interested in action-only torques.
Examples JOINT/1, REVOLUTE, I=32, J=44
MOTION/1, ROTATION, JOINT=1, FUNCTION=10*TIME
VARIABLE/31, FUNCTION=TM(32,44)
In this example a revolute joint and motion (through the joint) act between
Marker 32 and 44. A new algebraically determined state variable
VARIABLE/31 is defined to have the magnitude of the net torque between
these two markers as its value.
TX
368 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
TX
Definition The TX function returns the x-component of the net torque acting at marker i,
as computed in the coordinate system of marker k. All force elements acting
between markers i and j are included in the calculation of the torque, unless
the force element is an action-only type force. To return the x-component of
the action-only torques acting at marker i, you should omit specification of
marker j or specify it as zero.
Format TX(i[,j][,k])
Arguments i
An integer that specifies the identifier of the marker at which the
magnitude of the net torque is to be calculated.
j
A second integer that specifies a marker identifier. All torques acting
between the [i,j] pair are to be included in the calculation. Set j = 0 or
do not specify it if you are interested in action-only torques.
k
An integer that specifies the identifier of a marker (coordinate system) in
which the x-component of the torque is to be returned.
Examples JOINT/1, REVOLUTE, I=32, J=44
MOTION/1, ROTATION, JOINT=1, FUNCTION=10*TIME
VARIABLE/31, FUNCTION=TX(32,44)
In this example a revolute joint and motion (through the joint) act between
Marker 32 and 44. A new algebraically determined state variable
VARIABLE/31 is defined to have the magnitude of the net torque between
these two markers as its value.
TY
Using ADAMS/Solver 369
F
u
n
c
t
i
o
n
s
TY
Definition The TY function returns the y-component of the net torque acting at marker i
as computed in the coordinate system of marker k. All force elements acting
between markers i and j are included in the calculation of the torque, unless
the force element is an action-only type force. To return the y-component of
the action-only torques acting at marker i, you should omit specification of
marker j or specify it as zero.
Format TY(i[,j][,k])
Arguments i
An integer that specifies the identifier of the marker at which the
magnitude of the net torque is to be calculated.
j
A second integer that specifies a marker identifier. All torques acting
between the [i,j] pair are to be included in the calculation. Set j = 0 or
do not specify it if you are interested in action-only torques.
k
An integer that specifies the identifier of a marker (coordinate system) in
which the y-component of the torque is to be returned.
Examples JOINT/1, REVOLUTE, I=32, J=44
MOTION/1, ROTATION, JOINT=1, FUNCTION=10*TIME
VARIABLE/31, FUNCTION=TY(32,44)
In this example a revolute joint and motion (through the joint) act between
Marker 32 and 44. A new algebraically determined state variable
VARIABLE/31 is defined to have the magnitude of the net torque between
these two markers as its value.
TZ
370 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
TZ
Definition The TZ function returns the z-component of the net torque acting at marker i
as computed in the coordinate system of marker k. All force elements acting
between markers i and j are included in the calculation of the torque, unless
the force element is an action-only type force. To return the z-component of the
action-only torques acting at marker i, you should omit specification of marker
j or specify it as zero.
Format TZ(i[,j][,k])
Arguments i
An integer that specifies the identifier of the marker at which the
magnitude of the net torque is to be calculated.
j
A second integer that specifies a marker identifier. All torques acting
between the [i,j] pair are to be included in the calculation. Set j = 0 or
do not specify it if you are interested in action-only torques.
k
An integer that specifies the identifier of a marker (coordinate system) in
which the z-component of the torque is to be returned.
Examples JOINT/1, REVOLUTE, I=32, J=44
MOTION/1, ROTATION, JOINT=1, FUNCTION=10*TIME
VARIABLE/31, FUNCTION=TZ(32,44)
In this example a revolute joint and motion (through the joint) act between
Marker 32 and 44. A new algebraically determined state variable
VARIABLE/31 is defined to have the magnitude of the net torque between
these two markers as its value.
VARVAL
Using ADAMS/Solver 371
F
u
n
c
t
i
o
n
s
VARVAL
Definition The VARVAL function returns current value of VARIABLE/id.
Format VARVAL (id)
Arguments id
The identifier of the VARIABLE whose data is being requested.
Examples VARIABLE/10, FUNCTION=DX(21,32,43)
SFORCE/20, TRANSLATION, I=346, J=567
, FUNCTION=(VARVAL(10)-5)**2
In this example, VARIABLE/10 defines an algebraically determined user
specified state. SFORCE/20 is a non-linear translational spring whose force
magnitude is a function of this variable.
VFORCE
372 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
VFORCE
Definition The VFORCE function returns the component comp of the force in
VFORCE/id in the coordinate system of marker rm. If jflag is set to zero,
Solver returns the value of force/torque that acts on the I marker of VFORCE.
If jflag is set to 1, Solver returns the value that acts on the J marker. To
obtain results in the global coordinate system, you can specify rm as zero.
Format VFORCE (id, jflag, comp, rm)
Arguments id
An integer specifying the identification number of the VFORCE.
jflag
An integer flag specifying the VFORCE connectivity marker at which the
forces and torques are computed.
0 = forces and moments at the I marker
1 = forces and moment at the J marker
comp
An integer value that specifies the component of the VFORCE that is
returned.
1 = Magnitude of the force
2 = x component of the force
3 = y component of the force
4 = z component of the force
5 = Magnitude of the torque
6 = x component of the torque
7 = y component of the torque
8 = z component of the torque
rm
The coordinate system in which the results are expressed. Set rm = 0 if
you want to return the results in the global coordinate system.
Examples MARKER/236, QP=4,6,7, EU=90D,90D,0, PART=23
MARKER/169, PART=16, FLOATING
MARKER/168, QP=1,2,3, EU=30D,45D,60D, PART=16
VFORCE/19, I=236, JFLOAT=169
,FX=-10*VX(236,168,168,168)\
,FY=-10*VY(236,168,168,168)\
,FZ=-10*VZ(236,168,168,168)
REQUEST/1
,F2=VFORCE(23,0,2,0)\
This REQUEST statement contains the x-component of the force exerted by
VFORCE/19 calculated in the coordinate system of Marker 168.
VM
Using ADAMS/Solver 373
F
u
n
c
t
i
o
n
s
VM
Definition The VM function calculates the magnitude of the first time derivative of the
displacement vector of marker i with respect to marker j. The vector time
derivative is taken in the reference frame of marker l. Markers i and j default
to the global coordinate system if they are not specified.
Format VM(i[,j][,l])
Arguments i
The marker whose velocity is being measured.
j
The marker with respect to which the velocity is being measured. Set j =
0, while still specifying l, if you want j default to the global coordinate
system.
l
The reference frame in which the time derivative of the displacement
vector is taken. Set l = 0 if you want the time derivatives to be taken in
the ground reference frame.
Extended
Definition
Mathematically, VM is calculated as follows:
where
i
is the displacement of marker i in ground and
j
is the
displacement of marker j in ground.
Examples DIFF/51, IC=-6.2, FUNCTION=VM(23,0,32)
A dynamically determined user state is defined by DIFF/51. The time
derivative of the user-state is the magnitude of the velocity of the origin of
Marker 23 with respect to ground. The time derivative for the velocity
computation is taken in the reference frame of Marker 32.
VARIABLE/1, FUNCTION=VM(21,32,43)
This VARIABLE statement defines an algebraic, user-defined state whose
instantaneous value is the magnitude of the velocity vector between
Markers 21 and 32, as seen by an observer at Marker 43.
VM
d
dt
----
( )
R
i
d
dt
----
( )
R
j

,
_
d
dt
----
( )
R
i
d
dt
----
( )
R
j

,
_

1 2
=
R
R
VR
374 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
VR
Definition The VR function calculates the radial (relative) velocity of marker i with
respect to marker j. The vector time derivative is taken in the reference frame
of marker l. Markers j and l default to the global coordinate system if they
are not specified.
Format VR(i[,j][,l])
Arguments i
The marker whose velocity is being measured.
j
The marker with respect to which the velociy is being measured. Set j = 0,
while still specifying l, if you want j default to the global coordinate
system.
l
The reference frame in which the time derivative of the displacement
vector is taken. Set l = 0 if you want the time derivatives to be taken in the
ground reference frame.
Definition Mathematically, VR is calculated as follows:
/ DM(i,j)
where
i
is the displacement of marker i with respect to the global origin,
j
is the displacement of marker j with respect to the global origin, and
DM(i,j) is the distance between markers i and j.
As markers i and j separate from each other, VR is positive. VR is negative
when markers i and j approach each other.
Examples SFORCE/1, TRANSLATION, I=467, J=764
, FUNCTION=-10*VR(467,764)
This SFORCE statement defines a translational damper with a damping
constant of 10.
VR
d
dt
----
( )
R
i
d
dt
----
( )
R
j
R
i
R
j
[ ] =
R R
VTORQ
Using ADAMS/Solver 375
F
u
n
c
t
i
o
n
s
VTORQ
Definition The VTORQ function returns the component comp of force in VTORQUE/id
in the coordinate system of marker rm. If jflag is set to zero, Solver returns
the value of the torque that acts on the I marker of VTORQUE. If jflag is set
to 1, Solver returns the value that acts on the J marker. To obtain results in the
global coordinate system, you can specify rm as zero.
Format VTORQ (id, jflag, comp, rm)
Arguments id
An integer specifying the identification number of the VTORQ.
jflag
An integer flag specifying the VTORQ connectivity marker at which the
forces and torques are computed.
0 = forces and moments at the I marker
1 = forces and moment at the J marker
comp
An integer value that specifies the component of the VTORQ force to be
returned.
1 = Magnitude of the force (which is zero for a VTORQUE)
2 = x component of the force (which is zero for a VTORQUE)
3 = y component of the force (which is zero for a VTORQUE)
4 = z component of the force (which is zero for a VTORQUE)
5 = Magnitude of the torque
6 = x component of the torque
7 = y component of the torque
8 = z component of the torque
rm
The coordinate system in which the results are expressed. Set rm = 0 if
you want the results returned in the global coordinate system.
Examples MARKER/236, QP=4,6,7, EU=90D,90D,0, PART=23
MARKER/169, PART=16, FLOATING
MARKER/168, QP=1,2,3, EU=30D,45D,60D, PART=16
VTORQUE/19, I=236, JFLOAT=169
,TX=-10*WX(236,168,168,168)\
,TY=-10*WY(236,168,168,168)\
,TZ=-10*WZ(236,168,168,168)
REQUEST/1
,F2=VTORQ(23,0,2,0)\
This REQUEST statement contains the x-component of the torque exerted by
VTORQUE/19 calculated in the coordinate system of Marker 168.
VX
376 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
VX
Definition The VX function returns the x-component of the difference between the
velocity vector of marker i and the velocity vector of marker j as computed in
the coordinate system of marker k. All vector time derivatives are taken in the
reference frame of marker l. Marker j defaults to the global coordinate system
if it is not specified. Similarly, markers i and j default to the global coordinate
system if they are not specified.
Format VX(i[,j][,k][,l])
Arguments i
The marker whose velocity is being measured.
j
The marker with respect to which the velocity is being measured. Set j =
0, while still specifying l, if you want j to default to the global coordinate
system.
k
The marker in whose coordinate system the velocity vector is being
expressed. Set k = 0 if you want the results to be calculated along the
x-axis of the global coordinate system.
l
The reference frame in which the first time derivative of the displacement
vector is taken. Set l = 0 if you want the time derivatives to be taken in
the ground reference frame.
Extended
Definition
Mathematically, VX is calculated as follows:
where
i
is the displacement of marker i in ground,
j
is the displacement of
marker j in ground, and
k
is the unit vector along the x-axis of marker k.
Examples MARKER/236, QP=4,6,7, EU=90D,90D,0, PART=23
MARKER/169, PART=16, FLOATING
MARKER/168, QP=1,2,3, EU=30D,45D,60D, PART=16
VFORCE/236, I=236, JFLOAT=169
,FX=-10*VX(236,168,168,168)\
,FY=-15*VY(236,168,168,168)\
,FZ=-20*VZ(236,168,168,168)
This VFORCE statement defines a damper acting between Markers 236 and
168. Marker 169 is a floating marker that defines the reaction point on
Part 16. The damping force components are proportional to the components
of the velocity between Markers 236 and 168 as seen and measured by an
observer at Marker 168.
VX
d
dt
----
( )
R
i
d
dt
----
( )
R
j
x
k
=
R R
x
VY
Using ADAMS/Solver 377
F
u
n
c
t
i
o
n
s
VY
Definition The VY function returns the y-component of the difference between the
velocity vector of marker i and the velocity vector of marker j as computed in
the coordinate system of marker k. All vector time derivatives are taken in the
reference frame of marker l. Marker j defaults to the global coordinate system
if it is not specified. Similarly, markers i and j default to the global coordinate
system if they are not specified.
Format VY(i[,j][,k][,l])
Arguments i
The marker whose velocity is being measured.
j
The marker with respect to which the velocity is being measured. Set j =
0, while still specifying l, if you want j default to the global coordinate
system.
k
The marker in whose coordinate system the velocity vector is being
expressed. Set k = 0 if you want the results to be calculated along the
x-axis of the global coordinate system.
l
The reference frame in which the first time derivative of the displacement
vector is taken. Set l = 0 if you want the time derivatives to be taken in the
ground reference frame.
Extended
Definition
Mathematically, VY is calculated as follows:
where
i
is the displacement of marker i in ground,
j
is the displacement of
marker j in ground, and
k
is the unit vector along the y-axis of marker k.
Examples MARKER/236, QP=4,6,7, EU=90D,90D,0, PART=23
MARKER/169, PART=16, FLOATING
MARKER/168, QP=1,2,3, EU=30D,45D,60D, PART=16
VFORCE/236, I=236, JFLOAT=169
,FX=-10*VX(236,168,168,168)\
,FY=-15*VY(236,168,168,168)\
,FZ=-20*VZ(236,168,168,168)
This VFORCE statement defines a damper acting between Markers 236 and
168. Marker 169 is a floating marker that defines the reaction point on
Part 16. The damping force components are proportional to the components
of the velocity between Markers 236 and 168 as seen and measured by an
observer at Marker 168.
VY
d
dt
----
( )
R
i
d
dt
----
( )
R
j
y
k
=
R R
y
VZ
378 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
VZ
Definition The VZ function returns the z-component of the difference between the
velocity vector of marker i and the velocity vector of marker j as computed in
the coordinate system of marker k. All vector time derivatives are taken in the
reference frame of marker l. Marker j defaults to the global coordinate system
if it is not specified. Similarly, markers i and j default to the global coordinate
system if they are not specified.
Format VZ(i[,j][,k][,l])
Arguments i
The marker whose velocity is being measured.
j
The marker with respect to which the velocity is being measured. Set j =
0, while still specifying l, if you want j to default to the global coordinate
system.
k
The marker in whose coordinate system the velocity vector is expressed.
Set k = 0 if you want the results to be calculated along the x-axis of the
global coordinate system.
l
The reference frame in which the first time derivative of the displacement
vector is taken. Set l = 0 if you want the time derivatives to be taken in
the ground reference frame.
Extended
Definition
Mathematically, VZ is calculated as follows:
where
i
is the displacement of marker i in ground,
j
is the displacement of
marker j in ground, and
k
is the unit vector along the z-axis of marker k.
Examples MARKER/236, QP=4,6,7, EU=90D,90D,0, PART=23
MARKER/169, PART=16, FLOATING
MARKER/168, QP=1,2,3, EU=30D,45D,60D, PART=16
VFORCE/236, I=236, JFLOAT=169
,FX=-10*VX(236,168,168,168)\
,FY=-15*VY(236,168,168,168)\
,FZ=-20*VZ(236,168,168,168)
This VFORCE statement defines a damper acting between Markers 236 and
168. Marker 169 is a floating marker that defines the reaction point on
Part 16. The damping force components are proportional to the components
of the velocity between Markers 236 and 168 as seen and measured by an
observer at Marker 168.
VZ
d
dt
----
( )
R
i
d
dt
----
( )
R
j
= z
k

R R
z
WDTM
Using ADAMS/Solver 379
F
u
n
c
t
i
o
n
s
WDTM
Definition The WDTM function returns the magnitude of the difference between the
angular acceleration vector of marker i in the reference frame of marker l and
the angular acceleration of marker j in the reference frame of marker l.
Format WDTM(i[,j][,l])
Arguments i
The marker whose acceleration is being measured.
j
The marker with respect to which the acceleration is being measured. Set
j = 0, while still specifying l, if you want j default to the global
coordinate system.
l
The reference frame in which the first time derivative of the angular
velocity vector is taken. Set l = 0 if you want the time derivatives to be
taken in the ground reference frame.
Extended
Definition
Mathematically, WDTM is calculated as follows:
where
i
is the angular velocity of marker i in ground and
j
is the angular
velocity of marker j in ground.
Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23
MARKER/2169, PART=16
REQUEST/16
,F1=WDTM(1236,2169)\
,F2=WDTX(1236,2169,2169,2169)\
,F3=WDTY(1236,2169,2169,2169)\
,F4=WDTZ(1236,2169,2169,2169)
In its first column REQUEST/16 contains the magnitude of the angular
acceleration vector of Marker 1236 with respect to Marker 2169, as seen in
the global coordinate system and measured in the ground reference frame.
WDTM
d
dt
----
( )

i
d
dt
----
( )

,
_
d
dt
----
( )

i
d
dt
----
( )

,
_

1 2
=

WDTX
380 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
WDTX
Definition The WDTX function returns the x-component of the difference between the
angular acceleration vector of marker i in the reference frame of marker l and
the angular acceleration vector of marker j in the reference frame of marker l,
as computed in the coordinate system of marker k. Marker j defaults to global
coordinate system if it is not specified. Similarly, marker k and l default to
global coordinate system if they are not specified.
Format WDTX(i[,j][,k][,l])
Arguments i
The marker whose acceleration is being measured.
j
The marker with respect to which the acceleration is being measured. Set j
= 0, while still specifying l, if you want j to default to the global
coordinate system.
k
The marker in whose coordinate system the acceleration vector is being
expressed. Set k = 0 if you want the results to be calculated along the
x-axis of the global coordinate system.
l
The reference frame in which the first time derivative of the angular
acceleration vector is taken. Set l = 0 if you want the time derivatives to
be taken in the ground reference frame.
Extended
Definition
Mathematically, WDTX is calculated as follows:
where
i
is the angular acceleration vector of marker i in ground,
j
is the
angular acceleration vector of marker j in ground, and
k
is the unit vector
along the x-axis of marker k.
WDTX
d
dt
----
( )

i
d
dt
----
( )

j
x
k
=

x
WDTX
Using ADAMS/Solver 381
F
u
n
c
t
i
o
n
s
Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23
MARKER/2169, PART=16
REQUEST/16
,F1=WDTM(1236,2169)\
,F2=WDTX(1236,2169,2169,2169)\
,F3=WDTY(1236,2169,2169,2169)\
,F4=WDTZ(1236,2169,2169,2169)
In its second column REQUEST/16 contains the x-component of the
angular acceleration vector of Marker 1236 with respect to Marker 2169, as
seen in the global coordinate system of Marker 2169 and measured in the
reference frame containing Marker 2169.
WDTY
382 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
WDTY
Definition The WDTY function returns the y-component of the difference between the
angular acceleration vector of marker i in the reference frame of marker l and
the angular acceleration vector of marker j in the reference frame of marker l,
as computed in the coordinate system of marker k. Marker j defaults to the
global coordinate system if it is not specified. Similarly, marker k and l
default to the global coordinate system if they are not specified.
Format WDTY(i[,j][,k][,l])
Arguments i
The marker whose acceleration is being measured.
j
The marker with respect to which the acceleration is being measured. Set j
= 0, while still specifying l, if you want j to default to the global
coordinate system.
k
The marker in whose coordinate system the acceleration vector is being
expressed. Set k = 0 if you want the results to be calculated along the
x-axis of the global coordinate system.
l
The reference frame in which the first time derivative of the angular
acceleration vector is taken. Set l = 0 if you want the time derivatives to
be taken in the ground reference frame.
Extended
Definition
Mathematically, WDTY is calculated as follows:
where
i
is the angular acceleration vector of marker i in ground,
j
is the
angular acceleration vector of marker j in ground, and
k
is the unit vector
along the y-axis of marker k.
WDTY
d
dt
----
( )

i
d
dt
----
( )

j
y
k
=

y
WDTY
Using ADAMS/Solver 383
F
u
n
c
t
i
o
n
s
Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23
MARKER/2169, PART=16
REQUEST/16
,F1=WDTM(1236,2169)\
,F2=WDTX(1236,2169,2169,2169)\
,F3=WDTY(1236,2169,2169,2169)\
,F4=WDTZ(1236,2169,2169,2169)
In its third column REQUEST/16 contains the y-component of the angular
acceleration vector of Marker 1236 with respect to Marker 2169, as seen in
the global coordinate system of Marker 2169 and measured in the reference
frame containing Marker 2169.
WDTZ
384 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
WDTZ
Definition The WDTZ function returns the z-component of the difference between the
angular acceleration vector of marker i in the reference frame of marker l and
the angular acceleration vector of marker j in the reference frame of marker l,
as computed in the coordinate system of marker k. Marker j defaults to the
global coordinate system if it is not specified. Similarly, marker k and l
default to the global coordinate if they are not specified.
Format WDTZ(i[,j][,k][,l])
Arguments i
The marker whose acceleration is being measured.
j
The marker with respect to which the acceleration is being measured. Set
j = 0, while still specifying l, if you want j to default to the global
coordinate system.
k
The marker in whose coordinate system the acceleration vector is being
expressed. Set k = 0 if you want the results to be calculated along the
x-axis of the global coordinate system.
l
The reference frame in which the first time derivative of the angular
acceleration vector is taken. Set l = 0 if you want the time derivatives to
be taken in the ground reference frame.
Extended
Definition
Mathematically, WDTZ is calculated as follows:
where
i
is the angular acceleration vector of marker i in ground,
j
is the
angular acceleration vector of marker j in ground, and
k
is the unit vector
along the z-axis of marker k.
WDTZ
d
dt
----
( )

i
d
dt
----
( )

j
z
k
=

z
WDTZ
Using ADAMS/Solver 385
F
u
n
c
t
i
o
n
s
Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23
MARKER/2169, PART=16
REQUEST/16
,F1=WDTM(1236,2169)\
,F2=WDTX(1236,2169,2169,2169)\
,F3=WDTY(1236,2169,2169,2169)\
,F4=WDTZ(1236,2169,2169,2169)
In its fourth column REQUEST/16 contains the z-component of the angular
acceleration vector of Marker 1236 with respect to Marker 2169, as seen in
the global coordinate system of Marker 2169 and measured in the reference
frame containing Marker 2169.
WM
386 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
WM
Definition The WM function returns the magnitude of the angular velocity vector of
marker i with respect to marker j. Marker j defaults to the global coordinate
system if it is not specified.
Format WM(i[,j])
Arguments i
The marker whose velocity is being measured.
j
The marker with respect to which the velocity is being measured. Set j =
0, while still specifying l, if you want j to default to the global coordinate
system.
Extended
Definition
Mathematically, WM is calculated as follows:
WM = ([
i
-
j
] [
i
-
j
])
1/2
where
i
is the angular velocity vector of marker i in ground and
j
is the
angular velocity vector of marker j in ground.
Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23
MARKER/2169, PART=16
REQUEST/16
,F1=WM(1236,2169)\
,F2=WX(1236,2169,2169)\
,F3=WY(1236,2169,2169)\
,F4=WZ(1236,2169,2169)
In its first column, REQUEST/16 contains the magnitude of the angular
velocity vector of Marker 1236 and Marker 2169.


WX
Using ADAMS/Solver 387
F
u
n
c
t
i
o
n
s
WX
Definition The WX function returns the x-component of the difference between the angular
velocity vector of marker i in ground and the angular velocity vector of
marker j in ground, and expressed in the coordinate system of marker k.
Marker j defaults to the global coordinate system if it is not specified.
Similarly, marker k defaults to the global coordinate system if it is not
specified.
Format WX(i[,j][,k])
Arguments i
The marker whose velocity is being measured.
j
The marker with respect to which the velocity is being measured. Set j =
0, while still specifying l, if you want j to default to the global coordinate
system.
k
The marker in whose coordinate system the velocity vector is being
expressed. Set k = 0 if you want the results to be calculated along the
x-axis of the global coordinate system.
Definition Mathematically, WX is calculated as follows:
where
i
is the angular velocity vector of marker i in ground,
j
is the
angular velocity vector of marker j in ground, and
k
is the unit vector along
the x-axis of marker k.
Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23
MARKER/2169, PART=16
REQUEST/16
,F1=WM(1236,2169)\
,F2=WX(1236,2169,2169)\
,F3=WY(1236,2169,2169)\
,F4=WZ(1236,2169,2169)
In its second column, REQUEST/16 contains the x-component of the
angular velocity Markers 1236 and 2169 as measured in the coordinate
system of Marker 2169.
WX
i

j
[ ] x
k
=

x
WY
388 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
WY
Definition The WY function returns the y-component of the difference between the angular
velocity vector of marker i in ground and the angular velocity vector of
marker j in ground, and expressed in the coordinate system of marker k.
Marker j defaults to the global coordinate system if it is not specified.
Similarly, marker k defaults to the global coordinate system if it is not
specified.
Format WY(i[,j][,k])
Arguments i
The marker whose velocity is being measured.
j
The marker with respect to which the velocity is being measured. Set j =
0, while still specifying l, if you want j to default to the global coordinate
system .
k
The marker in whose coordinate system the velocity vector is being
expressed. Set k = 0 if you want the results to be calculated along the
x-axis of the global coordinate system.
Definition Mathematically, WY is calculated as follows:
where
i
is the angular velocity vector of marker i in ground,
j
is the
angular velocity vector of marker j in ground, and
k
is the unit vector along
the y-axis of marker k.
Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23
MARKER/2169, PART=16
REQUEST/16
,F1=WM(1236,2169)\
,F2=WX(1236,2169,2169)\
,F3=WY(1236,2169,2169)\
,F4=WZ(1236,2169,2169)
In its third column, REQUEST/16 contains the y-component of the angular
velocity Markers 1236 and 2169 as measured in the coordinate system of
Marker 2169.
WY
i

j
[ ] y
k
=

y
WZ
Using ADAMS/Solver 389
F
u
n
c
t
i
o
n
s
WZ
Definition The WZ function returns the z-component of the difference between the angular
velocity vector of marker i in ground and the angular velocity vector of
marker j in ground, and expressed in the coordinate system of marker k.
Marker j defaults to the global coordinate system if it is not specified.
Similarly, marker k defaults to the global coordinate system if it is not
specified.
Format WZ(i[,j][,k])
Arguments i
The marker whose velocity is being measured.
j
The marker with respect to which the velocity is being measured. Set j =
0, while still specifying l, if you want j to default to the global coordinate
system.
k
The marker in whose coordinate system the velocity vector is being
expressed. Set k = 0 if you want the results to be calculated along the
x-axis of the global coordinate system.
Extended
Definition
Mathematically, WZ is calculated as follows:
where
i
is the angular velocity vector of marker i in ground,
j
is the
angular velocity vector of marker j in ground, and
k
is the unit vector along
the z-axis of marker k.
Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23
MARKER/2169, PART=16
REQUEST/16
,F1=WM(1236,2169)\
,F2=WX(1236,2169,2169)\
,F3=WY(1236,2169,2169)\
,F4=WZ(1236,2169,2169)
In its fourth column, REQUEST/16 contains the z-component of the
angular velocity Markers 1236 and 2169 as measured in the coordinate
system of Marker 2169.
WZ
i

j
[ ] z
k
=

z
YAW
390 Using ADAMS/Solver
F
u
n
c
t
i
o
n
s
YAW
Definition The YAW function calculates the first angle of a Body-3 [3 -2 1] yaw-pitch-roll
rotation sequence between markers i and j. Marker j defaults to the global
coordinate system if it is not specified. Note that yaw is an Euler angle.
Format YAW(i[,j])
Arguments i
The marker whose rotations are being sought.
j
The marker with respect to which the rotations are being measured.
Examples REQUEST/1
,F2=YAW(21,11)\
,F3=PITCH(21,11)\
,F4=ROLL(21,11)
This REQUEST statement calculates the yaw, pitch, and roll angles between
Markers 21 and 11 for output purposes.

You might also like