Sie sind auf Seite 1von 148

1

Adams/Solver (FORTRAN) Functions


Adams/Solver (FORTRAN) Functions
You use function expressions to define a wide variety of nonstandard 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 (FORTRAN) function expressions grouped according to their function.
Detailed information on each function expression can be found by following the links.
Type of Function: Function Name:
FORTRAN 77 ABS
ACOS
AINT
ANINT
ASIN
ATAN
ATAN2
COS
COSH
EXP
LOG
MAX
MIN
MOD
SIGN
SIN
SINH
SQRT
TAN
TANH
Simulation constants and variables TIME
MODE
PI
DTOR
RTOD
Displacement AX
AY
AZ
DM
DX
DY
DZ
INCANG
PHI
PITCH
PSI
ROLL
THETA
YAW
Velocity VM
VR
VX
VY
VZ
WM
WX
WY
WZ
Acceleration ACCM
ACCX
ACCY
ACCZ
WDTM
WDTX
WDTY
WDTZ
Generic force FM
FX
FY
FZ
TM
TX
TY
TZ
Adams/Solver
Adams/Solver (FORTRAN) Functions
2
Element-specific applied force BEAM
BUSH
FIELD
FRICTION
GFORCE
NFORCE
SFORCE
SPDP
VFORCE
VTORQ
Element-specific reaction force CVCV
J OINT
J PRIM
MOTION
PTCV
System element ARYVAL
DIF
DIF1
PINVAL
POUVAL
SENVAL
VARVAL
Arithmetic IF IF
Interpolation AKISPL
CUBSPL
CURVE
INTERP
General BISTOP
CHEBY
FORCOS
FORSIN
HAVSIN
IMPACT
INVPSD
POLY
SHF
STEP
STEP5
SWEEP
Flexible body constants FXFREQ
FXMODE
Type of Function: Function Name:
3 ABS
Adams/Solver (FORTRAN) Functions
ABS
The ABS function returns the absolute value of the expression a.
Format
ABS(a)
Arguments
Examples
Var i abl e/ 1, FUNCTI ON= 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.
See other FORTRAN 77 available.
a Any valid function expression.
Number of Arguments: 1
Adams/Solver
Adams/Solver (FORTRAN) Functions
4
ACCM
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
Extended Definition
Mathematically, ACCM is calculated as follows:
where is the displacement of marker i in ground and is the displacement of marker j in ground.
Note that for any vector quantity :
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. See other Acceleration available.
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.
l The reference frame in which the second time derivative of the displacement vector is taken.
Set l =0 or omit the argument if you want the time derivatives to be calculated in the ground
coordinate system (GCS).
ACCM i j , l , ( )
t
2
2
d
d
Ri
l ( )
t
2
2
d
d
Rj
l ( )

t
2
2
d
d
Ri
l ( )
t
2
2
d
d
Rj
l ( )
=
Ri Rj
p
t d
d
A ( )
p
t d
d
B ( )
p =
5 ACCX
Adams/Solver (FORTRAN) Functions
ACCX
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
Extended Definition
Mathematically, ACCX is calculated as follows:
where is the displacement of marker i in ground, is the displacement of marker j in ground, and
is the unit vector along the x-axis of marker k.
Examples
DI FF/ 1, I C=0, FUNCTI ON=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.
DI FF/ 2, I C=1, FUNCTI ON=ACCX( 21, 0, 31)
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,
while still specifying l, 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 or omit the argument if you want the time derivatives to be taken in the ground
coordinate system (GCS).
ACCX i j , k , l , ( )
t
2
2
d
d
Ri
l ( )
t
2
2
d
d
Rj
l ( )
x

k
=
Ri Rj
x

k
Adams/Solver
Adams/Solver (FORTRAN) Functions
6
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.
See other Acceleration available.
7 ACCY
Adams/Solver (FORTRAN) Functions
ACCY
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
Extended Definition
Mathematically, ACCY is calculated as follows:
where is the displacement of marker i in ground, is the displacement of marker j in ground, and
is the unit vector along the y-axis of marker k.
Examples
DI FF/ 1, I C=0, FUNCTI ON=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.
DI FF/ 2, I C=1, FUNCTI ON=ACCX( 21, 0, 31)
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,
while still specifying l, if you want the results to be calculated along the y-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 or omit the argument if you want the time derivatives to be taken in the ground
coordinate system (GCS).
ACCY i j , k , l , ( )
t
2
2
d
d
Ri
l ( )
t
2
2
d
d
Rj
l ( )
y

k
=
Ri Rj
y

k
Adams/Solver
Adams/Solver (FORTRAN) Functions
8
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.
See other Acceleration available.
9 ACCZ
Adams/Solver (FORTRAN) Functions
ACCZ
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
Extended Definition
Mathematically, ACCZ is calculated as follows:
where is the displacement of marker i in ground, is the displacement of marker j in ground, and
is the unit vector along the z-axis of marker k.
Examples
DI FF/ 1, I C=0, FUNCTI ON=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.
DI FF/ 2, I C=1, FUNCTI ON=ACCX( 21, 0, 31)
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,
while still specifying l, if you want the results to be calculated along the z-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 or omit the argument if you want the time derivatives to be taken in the ground
coordinate system (GCS).
ACCZ i j , k , l , ( )
t
2
2
d
d
Ri
l ( )
t
2
2
d
d
Rj
l ( )
z

k
=
Ri Rj
z

k
Adams/Solver
Adams/Solver (FORTRAN) Functions
10
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.
See other Acceleration available.
11 ACOS
Adams/Solver (FORTRAN) Functions
ACOS
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
Examples
VARI ABLE/ 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.
See other FORTRAN 77 available.
a Any valid function expression.
Number of Arguments: 1
t
t
Adams/Solver
Adams/Solver (FORTRAN) Functions
12
AINT
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
Examples
AI NT( - 6. 5) = - 6
AI NT( 4. 6 ) = 4
See other FORTRAN 77 available.
a Any valid function expression.
Number of Arguments: 1
Caution: 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.
13 AKISPL
Adams/Solver (FORTRAN) Functions
AKISPL
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
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 (that is, when
z =0).
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.
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 (for example, when ).
Default: 0
Range: 0 <iord <2
z 0 =
Adams/Solver
Adams/Solver (FORTRAN) Functions
14
For more information on the Akima method of interpolation, see the references listed in Additional
Publications.
Examples
SFORCE/ 1, I =409, J =109, TRANSLATI ON
, FUNCTI ON=AKI SPL( TI ME, 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.
See other Interpolation available.
Tip: If you want to force a particular region of a spline function to be linear, you should know
that four consecutive points on a straight line will yield a linear section in the region
between the central two points, and, similarly, four consecutive points on a straight line at
the end of a spline will yield a linear fit from the second point onward.
15 ANINT
Adams/Solver (FORTRAN) Functions
ANINT
The ANINT function calculates the nearest integer to 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
Examples
ANI NT( - 4. 6) = - 5
ANI NT( 4. 6) = 5
See other FORTRAN 77 available.
a Any valid function expression.
Number of arguments: 1
Adams/Solver
Adams/Solver (FORTRAN) Functions
16
ARYVAL
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 (FORTRAN) 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
Examples
ARRAY/ 17, NUM=11. 465, 2. 321
SFORCE/ 19, ROT, I =23, J =11
, FUNCTI ON=- 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.
SFORCE/ 6, ROT, I =23, J =11, FUNCTI ON=ARYVAL( 3, 2)
The second output of the LSE is used to define a torque acting on the system.
See other System element available.
id The identifier of the array whose data is being requested.
comp An integer that specifies the component of the array to be returned.
17 ASIN
Adams/Solver (FORTRAN) Functions
ASIN
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] (that is, - /2 <ASIN(a) < /2).
Format
ASIN(a)
Arguments
Examples
DI FF/ 1, I C=1. 05, FUNCTI ON=ASI N( 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:
ASI N( DX( 21, 11) / DM( 21, 11) )
See other FORTRAN 77 available.
a Any valid function expression.
Number of arguments: 1
t t t t
Adams/Solver
Adams/Solver (FORTRAN) Functions
18
ATAN
The ATAN function returns the arc tangent of an expression a. The range of ATAN is [- /2, /2] (that
is, - /2 <ATAN(a)< /2).
Format
ATAN(a)
Arguments
Examples
SFORCE/ 1, ROTATI ONAL, I =21, J =11
, FUNCTI ON=- 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 the figure below.
Example Illustrating the Use of the ATAN Function
See other FORTRAN 77 available.
a Any valid function expression.
Number of arguments: 1
t t
t t
19 ATAN2
Adams/Solver (FORTRAN) Functions
ATAN2
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
Examples
VARI ABLE/ 1,
, FUNCTI ON=ATAN2( DY( 21, 31, 41) , DX( 21, 31, 41) )
This VARIABLE statement defines an algebraically-determined, user-defined state variable in
Adams/Solver (FORTRAN). Its value is specified by the expression containing ATAN2.
See other FORTRAN 77 available.
a1 Any valid function expression.
a2 Any valid function expression.
t t
t
t
Adams/Solver
Adams/Solver (FORTRAN) Functions
20
AX
The AX function returns the rotational displacement (in radians) of marker i about the x-axis of marker
j, and accounts for angle wrapping.
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 the figure below).
Measurement of AX
Format
AX(i[,j])
Arguments
Extended Definition
Mathematically, AX is calculated as:
where:
is the z-axis of marker i
is the y-azis of marker j
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, Adams/Solver (FORTRAN) defaults to the global coordinate system.
AX ATAN2 z

i
y

j
z

i
, z

j
- - ( ) =
z

i
y

j
21 AX
Adams/Solver (FORTRAN) Functions
is the z-axis of marker j
Examples
GFORCE/ 1, I =21, J FLOAT=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.
See other Displacement available.
z

j
Tip: If you want to change the AX function so it does not account for angle wrapping, use the
MOD function. For example, use the function:
(MOD(AX(2,1) +PI, 2 * PI) - PI
The MOD function achieves the cyclic effect and the +PI and -PI shift the curve
accordingly.
Caution: For large rotations (greater than 10 degrees) about the y-axis or z-axis on Marker j, the AX
function becomes increasingly non-physical. Moreover, AX is undefined when both
arguments to ATAN2 are zero. This occurs when the z-axis of marker i is orthogonal to the
plane defined by the y and z-axis of the j marker.
Adams/Solver
Adams/Solver (FORTRAN) Functions
22
AY
The AY function returns the rotational displacement (in radians) of marker i about the y-axis of marker
j, and accounts for angle wrapping.
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 z-axis of the J
marker to the z-axis of the I marker (see the figure below).
Measurement of AY
Format
AY(i[,j])
Arguments
Extended Defintion
Mathematically, AY is calculated as:
where:
is the z-axis of marker i
is the x-azis of marker j
i The marker whose rotations are being sought.
j The marker with respect to which the rotations are being measured.
AY ATAN2 z

i
x

j
z

i
, z

j
- - ( ) =
z

i
x

j
23 AY
Adams/Solver (FORTRAN) Functions
is the z-axis of marker j
Examples
SFORCE/ 10, ROTATI ON, I =23, J =34
, FUNCTI ON=- 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 z axes of Markers
46 and 57. The angle is measured in a counterclockwise sense from the z-axis of Marker 57 to the z-axis
of Marker 46.
See other Displacement available.
z

j
Tip: If you want to change the AY function so it does not account for angle wrapping, use the
MOD function. For example, use the function:
(MOD(AY(2,1)+PI,2*PI)-PI)
The MOD function achieves the cyclic effect and the +PI and -PI shift the curve
accordingly.
Caution: For large rotations (greater than 10 degrees) about the x-axis or z-axis of marker j, the AY
function becomes increasingly non-physical. Moreover, AY is undefined when both
arguments to ATAN2 are zero. This occurs when the z-axis of marker i is orthogonal to the
plane defined by the x and z-axis of the j marker.
Adams/Solver
Adams/Solver (FORTRAN) Functions
24
AZ
The AZ function returns the rotational displacement (in radians) of marker i about the z-axis of marker
j, and accounts for angle wrapping.
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 the figure below).
Measurement of AZ
Format
AZ(i [,j ])
Arguments
Extended Definition
Mathematically, AZ is calculated as:
where:
is the x-axis of marker i
is the x-azis of marker j
i The marker whose rotations are being sought.
j The marker with respect to which the rotations are being measured.
AZ ATAN2 x

i
y

j
x

i
, x

j
- - ( ) =
x

i
x

j
25 AZ
Adams/Solver (FORTRAN) Functions
is the y-axis of marker j
Examples
VTORQUE/ 1, I =21, J FLOAT=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.
See other Displacement available.
y

j
Tip: If you want to change the AZ function so it does not account for angle wrapping, use the
MOD function. For example, use the function:
(MOD(AZ(.model_1.PART_1.MAR_2, .model_1.ground.MAR_1)+PI,2*PI)-PI)
The MOD function achieves the cyclic effect and the +PI and -PI shift the curve
accordingly.
Caution: For large rotations (greater than 10 degrees) about the x-axis or y-axis of marker j, the AZ
function becomes increasingly non-physical. Moreover, AZ is undefined when both
arguments to ATAN2 are zero. This occurs when the x-axis of marker i is orthogonal to the
plane defined by the x and y-axis of the j marker.
Adams/Solver
Adams/Solver (FORTRAN) Functions
26
BEAM
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
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.
See other Element-specific applied force available.
id An integer specifying the identification number 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.
27 BISTOP
Adams/Solver (FORTRAN) Functions
BISTOP
The BISTOP function models a gap element (see Figure 1).
Format
BISTOP (x, ,x1, x2, k, e, cmax, d)
Arguments
Extended Definition
The BISTOP function models a gap element. Figure 1 below 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.
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 (FORTRAN) 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 (FORTRAN) 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

Adams/Solver
Adams/Solver (FORTRAN) Functions
28
Figure 1 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 (FORTRAN) always exerts the force between the I and the J markers.
Figure 2 Damping Coefficient versus Penetration
Examples
You may model a slider in a slot with a BISTOP function as depicted in Figure 1. 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.
Caution: When e is <1, the defined force contains a slope discontinuity that may casue difficulty for
the integrator.
29 BISTOP
Adams/Solver (FORTRAN) Functions
In Figure 1:
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.
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.
Therefore, the parameters for BISTOP 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
x1 =N +M1, and
x2 =N +L - M2
Note that when:
x
1
<x <x
2
, there is no penetration and the force is zero (penetration p =0).
x <x
1
penetration occurs at the end closer to the J marker and the force is >0 (penetration p =x
1

- x).
x >x
2
penetration occurs at the end farther away from the J marker, and the force is <0
(penetration p =x - x
2
).
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
.
The BISTOP function for this example is:
BI STOP( DZ( I , J , J , J ) , VZ( I , J , J , J ) , x1, x2, k, e, cmax, 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
Max k
-
x
1
x ( )
e
STEP x x
1
d c
max
x
1
0 , , , , ( )
-
x' 0 , ( ) x x
1
<
0 x
1
x x
2
s s
Min k
-
x x
2
( )
e
STEP x x
2
0 x
2
, , d c ,
max
+ , ( )
-
x' 0 , ( ) x x
2
>
)

`


=
Adams/Solver
Adams/Solver (FORTRAN) Functions
30
See other General available.
31 BUSH
Adams/Solver (FORTRAN) Functions
BUSH
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
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.
See other Element-specific applied force available.
id An integer specifying the identification number 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.
Adams/Solver
Adams/Solver (FORTRAN) Functions
32
CHEBY
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
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 Tj 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
)
wi t h 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 the following:
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
MOTI ON/ 1, J OI NT=21, TRANSLATI ON,
, FUNCTI ON = I F ( TI ME- 2: CHEBY( TI ME, 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 (FORTRAN) evaluates a Chebyshev polynomial to determine the
motion. The polynomial defined in the above example is:
Cheby = 1 + 0 * ( t i me- 1) - 1 * [ 2 ( t i me- 1)
2
- 1]
= 2*t i me
2
- 4*t i me
See other General available.
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.
E
33 CONTACT
Adams/Solver (FORTRAN) Functions
CONTACT
The CONTACT function returns the component comp of the force in CONTACT/id in the coordinate
system of marker rm. If jflag is set to zero, Adams/Solver (FORTRAN) returns the value of the
force/torque that acts on the I marker of CONTACT. If jflag is set to 1, Adams/Solver (FORTRAN)
returns the value that acts on the J marker. To obtain results in the global coordinate system, you can
specify rm as zero.
Format
CONTACT (id, jflag, comp, rm)
Arguments
Examples
REQUEST/ 1
, F2= CONTACT( 11, 0, 2, 0) /
, F3= CONTACT( 11, 0, 3, 0) /
, F4= CONTACT( 11, 0, 4, 0) /
, F6= CONTACT( 11, 0, 6, 0) /
, F7= CONTACT( 11, 0, 7, 0) /
, F8= CONTACT( 11, 0, 8, 0)
This REQUEST statement outputs the x-, y- and z-components of the force and torque at the I marker of
CONTACT/11. Because rm is specified as zero, all vectors are expressed in the global coordinate system.
id An integer specifying the identification number of the CONTACT.
jflag An integer flag specifying the CONTACT 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 CONTACT to be returned:
1 - Magnitude of the force applied by all incidents of contact ID
2 - x-component of the force applied by all incidents of contact ID
3 - y-component of the force applied by all incidents of contact ID
4 - z-component of the force applied by all incidents of contact ID
5 - Magnitude of the torque applied by all incidents of contact ID
6 - x-component of the torque applied by all incidents of contact ID
7 - y-component of the torque applied by all incidents of contact ID
8 - z-component of the torque applied by all incidents of contact ID
rm The coordinate system in which the results are expressed. To return the results in the global
coordinate system, set rm =0.
Adams/Solver
Adams/Solver (FORTRAN) Functions
34
COS
The COS function returns the cosine of an expression a.
Format
COS(a)
Arguments
Examples
MOTI ON/ 2060, J OI NT=2060, ROTATI ON,
, FUNCTI ON=20D+COS( 2*PI *TI ME)
This MOTION statement defines a rotational motion acting on J OINT/2060. The rotational degree of
freedom is specified to be 20D+COS(2*PI*TIME).
See other FORTRAN 77 available.
a Any valid function expression.
Number of Arguments: 1
35 COSH
Adams/Solver (FORTRAN) Functions
COSH
The COSH function computes the hyperbolic cosine of an expression a. COSH(a) =(e
a
+e
-a
) / 2.0
Format
COSH(a)
Arguments
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.
See other FORTRAN 77 available.
a Any valid function expression.
Number of Arguments: 1
Adams/Solver
Adams/Solver (FORTRAN) Functions
36
CUBSPL
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
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 (FORTRAN)
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 (that is, when
z =0).
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 (FORTRAN). 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.
For more information on the cubic method of interpolation, see the references listed in Additional
Publications.
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
(FORTRAN) 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
37 CUBSPL
Adams/Solver (FORTRAN) Functions
Examples
SPLI NE/ 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, TRANSLATI ON,
, FUNCTI ON=CUBSPL( TI ME, 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.
See other Interpolation available.
Adams/Solver
Adams/Solver (FORTRAN) Functions
38
CURVE
The CURVE function evaluates a B-spline or user-written curve that is created with the CURVE
statement.
Format
CURVE (alpha, iord, comp, id)
Arguments
Examples
VFORCE/ 1, I =101, J FLOAT=201, RM=99,
, FX=CURVE( . 4*TI ME - 1, 0, 1, 8) /
, FY=CURVE( . 4*TI ME - 1, 0, 2, 8) /
, FZ=CURVE( . 4*TI ME - 1, 0, 3, 8)
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 allow you to request any one of the following nine return
values:
id An integer variable that specifies the identifier of the CURVE statement.
iord icomp 1 = icomp 2 = icomp 3 =
0 x o ( ) y o ( ) z o ( )
1
x o ( ) d
o d
--------------
y o ( ) d
o d
--------------
z o ( ) d
o d
--------------
2
d
2
x o ( )
o
2
d
-----------------
d
2
y o ( )
o
2
d
-----------------
d
2
z o ( )
o
2
d
-----------------
39 CURVE
Adams/Solver (FORTRAN) Functions
This example applies to 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.
See other Interpolation available.
Adams/Solver
Adams/Solver (FORTRAN) Functions
40
CVCV
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 J FLOAT
marker. rm may be specified as zero if the results are desired in the global coordinate system.
Format
CVCV (id, jflag, comp, rm)
Arguments
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 J oint 210.
See other Element-specific reaction force available.
id An integer specifying the identification number of a curve_curve constraint.
jflag An integer flag specifying the curve_curve constraint marker at which the forces and
torques are computed.
0 =forces and moments at the IFLOAT marker
1 =forces and moment at the J FLOAT marker
comp An integer value that specifies the component of the curve_curve constraint 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
41 DIF
Adams/Solver (FORTRAN) Functions
DIF
The DIF function returns the value of the state associated with DIFF/id.
Format
DIF(id)
Arguments
Examples
SFORCE/ 1, I =21, J =11, ROTATI ON
, FUNCTI ON= - 20*( AZ( 21, 11) - 10) **1. 5
, - 5*WZ( 21, 11, 11)
DI FF/ 1, I C=0, FUNCTI ON=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. DIFF/1 specifies the instantaneous power used by
SPRING/1.
The expression DIF(1) returns the integral of the instantaneous power (that is, the total work done by
SPRING/1). DIF1(1) returns the instantaneous power in SPRING/1.
See other System element available.
id An integer variable that specifies the identifier of a DIFF statement.
Adams/Solver
Adams/Solver (FORTRAN) Functions
42
DIF1
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
Examples
SFORCE/ 1, I =21, J =11, ROTATI ON
, FUNCTI ON= - 20*( AZ( 21, 11) - 10) **1. 5
, - 5*WZ( 21, 11, 11)
DI FF/ 1, I C=0, FUNCTI ON=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. DIFF/1 specifies the instantaneous power used by
SPRING/1.
The expression DIF(1) returns the integral of the instantaneous power (that is, the total work done by
SPRING/1). DIF1(1) returns the instantaneous power in SPRING/1.
See other System element available.
id An integer variable that specifies the identifier of a DIFF statement.
43 DIM
Adams/Solver (FORTRAN) Functions
DIM
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.
Caution: DIM is a discontinuous function and must be used with caution.
Adams/Solver
Adams/Solver (FORTRAN) Functions
44
DM
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
Extended Definition
Mathematically, DM is calculated as follows:
where is the displacement of marker i in the global coordinate system and is the displacement of
marker j in the global coordinate system.
Examples
SFORCE/ 1, I =21, J =11, TRANSLATI ON
, FUNCTI ON=- 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.
See other Displacement available.
i The marker whose origin is being measured.
j The marker whose origin is the reference point for the displacement calculation.
DM R
i
R
j
| | R
i
R
j
| | - =
R
i
R
j
45 DTOR
Adams/Solver (FORTRAN) Functions
DTOR
The DTOR variable returns degrees to radians conversion factor (PI/180).
Format
DTOR
Examples
VARI ABLE/ 1, FUNCTI ON=30*DTOR*TI ME
This VARIABLE statement specifies a user-defined, algebraically-determined state variable whose value
is 30 degrees*time. The state variable is stored in radians.
See other Simulation constants and variables available.
Adams/Solver
Adams/Solver (FORTRAN) Functions
46
DX
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
Extended Definition
Mathematically, DX is calculated as follows:
where:
is the displacement of marker i in the global coordinate system.
is the displacement of marker j in the global coordinate system.
is the unit vector along the x-axis of marker k.
Examples
VARI ABLE/ 1, FUNCTI ON=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.
See other Displacement available.
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 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.
DX R
i
R
j
| | x

k
=
R
i
R
j
x

k
47 DY
Adams/Solver (FORTRAN) Functions
DY
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
Extended Definition
Mathematically, DY is calculated as follows:
where:
is the displacement of marker i in the global coordinate system.
is the displacement of marker j in the global coordinate system.
is the unit vector along the y-axis of marker k.
Examples
VARI ABLE/ 1, FUNCTI ON=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.
See other Displacement available.
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 y-axis of the global coordinate system.
DY R
i
R
j
| | y

k
=
R
i
R
j
y

k
Adams/Solver
Adams/Solver (FORTRAN) Functions
48
DZ
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
Extended Definition
Mathematically, DZ is calculated as follows:
where:
is the displacement of marker i in the global coordinate system.
is the displacement of marker j in the global coordinate system.
is the unit vector along the z-axis of marker k.
Examples
VARI ABLE/ 1, FUNCTI ON=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.
See other Displacement available.
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 z-axis of the global
coordinate system.
DZ R
i
R
j
| | z

k
=
R
i
R
j
z

k
49 EXP
Adams/Solver (FORTRAN) Functions
EXP
The EXP function computes the value e
a
, where a is any expression.
Format
EXP(a)
Arguments
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.
See other FORTRAN 77 available.
a Any valid function expression.
Number of arguments: 1
Adams/Solver
Adams/Solver (FORTRAN) Functions
50
FIELD
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
Examples
REQUEST/ 1
, F2=FI ELD( 1001, 0, 2, 0) /
, F3=FI ELD( 1001, 0, 3, 0) /
, F4=FI ELD( 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. Adams/Solver (FORTRAN) calculates the forces at the I marker, and computes
results in the global coordinate system.
See other Element-specific applied force available.
id An integer specifying the identification number 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.
51 FM
Adams/Solver (FORTRAN) Functions
FM
The FM function returns the magnitude of the net translational force acting at marker i. All force and
constraint elements between markers i and j are included in the calculation of the force, unless a force is
an action-only type. To return the magnitude of the action-only forces acting at marker i, you should omit
the specification of marker j or specify it to be zero.
Format
FM(i[,j])
Arguments
Examples
VARI ABLE/ 1, FUNCTI ON=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.
VARI ABLE/ 1, FUNCTI ON=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 applied and constraint forces at Marker 23 and acting between Markers 23 and 11.
See other Generic force available.
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.
Adams/Solver
Adams/Solver (FORTRAN) Functions
52
FORCOS
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
Extended Definition
The Fourier Cosine series is defined:
where the function are defined as:
The index j has a range from 1 to n, where n is the number of terms in the series.
Examples
MOTI ON/ 1, J OI NT=21, TRANSLATI ON,
, FUNCTI ON=FORCOS( TI ME, 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:
x A real variable that specifies the independent variable. For example, if the independent
variable in the function is time, x is the system variable TIME.
x0 A real variable that specifies a shift in the Fourier Cosine series.
w A real variable that specifies the fundamental frequency of the series. Adams/Solver
(FORTRAN) assumes w 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 Cosine
series.
F x ( ) a
o
a
j
T
j
x x
o
( ) +
j 1 =
n

+ =
T
j
T
j
x x
o
( ) j e x x
o
( ) { } cos =
53 FORCOS
Adams/Solver (FORTRAN) Functions
FORCOS = 1+2*COS( 1*360D*TI ME)
+3*COS( 2*360D*TI ME)
+4*COS( 3*360D*TI ME)
The curve is shown next.
Curve of a Harmonic Motion Defined by FORCOS
See other General available.
Adams/Solver
Adams/Solver (FORTRAN) Functions
54
FORSIN
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
Extended Definition
The Fourier Sine series is defined:
where the funtions 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.
Examples
MOTI ON/ 1, J OI NT=21, TRANSLATI ON,
, FUNCTI ON=FORSI N( TI ME, - 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:
FORSI N = 0+SI N( *( TI ME+0. 25) )
+2*SI N( 2 *( TI ME+0. 25) )
+3*SI N( 3 *( TI ME+0. 25) )
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.
w A real variable that specifies the fundamental frequency of the series. Adams/Solver
(FORTRAN) 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.
e
F x ( ) a
0
a
j
-
T
j
x x
0
( )
j 1 =
n

+ =
e
t
t
t
t
55 FORSIN
Adams/Solver (FORTRAN) Functions
The curve is shown next.
Curve of a Harmonic Motioned Defined by FORSIN
See other General available.
Adams/Solver
Adams/Solver (FORTRAN) Functions
56
FRICTION
The FRICTION function returns force and other friction data from the FRICTION statement. You can
use this function in only REQUEST and SENSOR function expressions.
Format
FRICTION (id, index)
Arguments
Friction Index
id An integer variable specifying the identification of a FRICTION statement from which
output data is requested.
INDEX An integer variable specifying the output component index to be returned. See the table
below for a list of component indices.
Index: Name: Description:
1 FFX Friction force along the x-axis of the J OINTs J marker
2 FFY Friction force along the y-axis of the J OINTs J marker
3 FFZ Friction force along the z-axis of the J OINTs J marker
4 FTX Friction torque about the x-axis of the J OINTs J marker
5 FTY Friction torque about the y-axis of the J OINTs J marker
6 FTZ Friction torque about the z-axis of the J OINTs J marker
7 x Friction coefficient along the x-axis of the J OINTs J marker
8 y Friction coefficient along the y-axis of the J OINTs J marker
9 z Friction coefficient along the z-axis of the J OINTs J marker
10 rx Friction coefficient about the x-axis of the J OINTs J marker
11 ry Friction coefficient about the y-axis of the J OINTs J marker
12 rz Friction coefficient about the z-axis of the J OINTs J marker
13 1 Effective friction coefficient at static friction (returns zero if sliding)
14 Vx J oint velocity at sliding surfaces along the x-axis of the J OINTs J marker
15 Vy J oint velocity at sliding surfaces along the y-axis of the J OINTs J marker
16 Vz J oint velocity at sliding surfaces along z-axis of the J OINTs J marker
17 Wx J oint angular velocity about the x-axis of the J OINTs J marker
18 Wy J oint angular velocity about the y-axis of the J OINTs J marker
19 Wz J oint angular velocity about the z-axis of the J OINTs J marker
57 FRICTION
Adams/Solver (FORTRAN) Functions
Examples
Request / 101
, F2=FRI CTI ON ( 2, 1) / , F3=FRI CTI ON ( 2, 2) / , F4=FRI CTI ON ( 2, 3) /
, F6=FRI CTI ON ( 2, 4) / , F7=FRI CTI ON ( 2, 5) / , F8=FRI CTI ON ( 2, 6) /
This REQUEST statement defines a user REQUEST that returns the friction forces associated with the
statement FRICTION/2. The second component of the user request contains the X component of the
friction-force vector resolved in the associated J marker coordinate system of the J OINT.
See other Element-specific applied force available.
20 CREEP_X Static friction creep along the x-axis of the J OINTs J marker
21 CREEP_Y Static friction creep along the y-axis of the J OINTs J marker
22 CREEP_Z Static friction creep along the z-axis of the J OINTs J marker
23 CREEP_RX Static friction creep about the x-axis of the J OINTs J marker
24 CREEP_RY Static friction creep about the y-axis of the J OINTs J marker
25 CREEP_RZ Static friction creep about the z-axis of the J OINTs J marker
26 BETA Stiction transition factor
Index: Name: Description:
Caution: The FRICTION function is accessible only through the REQUEST and SENSOR function
expressions.
The FRICTION function evaluates to zero if the index corresponds to a force or velocity
which is not used by the corresponding friction model. For example, if FRICTION/2 from
above is applied on a translational joint, then FRICTION (2,1) would be zero because the
friction force is applied along the z axes of the joint.
Adams/Solver
Adams/Solver (FORTRAN) Functions
58
FX
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 and constraint elements acting between markers i and j
are included in the calculation of the force, unless a 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 marker j or
specify it to be zero. Note that you can not specify marker k and omit marker j. In this case, you should
specify marker j to be zero.
Format
FX(i[,j][,k])
Arguments
Examples
VARI ABLE/ 1, FUNCTI ON=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 as computed in the
coordinate system of Marker 32.
See other Generic force available.
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.
59 FXFREQ
Adams/Solver (FORTRAN) Functions
FXFREQ
The FXFREQ function returns the modal frequency in cycles per user-defined time for the current mode
of the current FLEX_BODY when used in function expressions defining the CRATIO argument of a
FLEX_BODY. (Learn more about FLEX_BODY). FXMODE returns zero when used in other
expressions.
Format
FXFREQ
Extended Definition
Adams/Solver (FORTRAN) evaluates each function expression used to define CRATIO of a
FLEX_BODY separately for each active mode of the FLEX_BODY (each mode has a CRATIO value).
FXFREQ returns the modal frequency of the mode for which CRATIO is being evaluated.
Examples
FLEX_BODY/ 1,
, CRATI O = I F( FXFREQ- 100: 0. 01, 0. 1, i f ( FXFREQ- 1000: 0. 1, 1. 0, 1. 0) )
For a model using units of seconds for time, this example recreates the default modal damping scheme
using nested IF function expressions.
See other Flexible body constants available.
Adams/Solver
Adams/Solver (FORTRAN) Functions
60
FXMODE
The FXMODE function returns the mode number of the current mode of the current FLEX_BODY when
used in function expressions defining the CRATIO argument of a FLEX_BODY. FXMODE returns zero
when used in other expressions. (Learn more on FLEX_BODY.)
Format
FXMODE
Extended Definition
Adams/Solver (FORTRAN) evaluates each function expression used to define CRATIO of a
FLEX_BODY separately for each active mode of the FLEX_BODY (each mode has a CRATIO value).
FXMODE returns the mode number of the mode for which CRATIO is being evaluated.
Examples
FLEX_BODY/ 1
, CRATI O = STEP( TI ME, 0. 1, 1. 0, 1. 2, STEP( FXMODE, 5. 0, 0. 02, 10, 0. 2) )
This example specifies modal damping that varies both with time and mode number, such that all modes
have 100% critical damping until
time =0.1, after which:
Modal damping decreases smoothly to between 2% and 20% of modal damping at time =1.2.
Mode numbers 1 through 5 reach 2% modal damping.
Mode numbers 6 through 9 reach modal damping values smoothly distributed between 2% and
20%.
Mode numbers 10 and up reach 20% modal damping.
See other Flexible body constants available.
61 FY
Adams/Solver (FORTRAN) Functions
FY
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 and constraint elements acting between markers i and j
are included in the calculation of the force, unless a 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 marker j or
specify it to be zero. Note that you can not specify marker k and omit marker j. In this case, you should
specify marker j to be zero.
Format
FY(i[,j][,k])
Arguments
Examples
SFORCE/ 1, I =132, J =234, TRANSLATI ON, ACTI ONONLY
, FUNCTI ON=- 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.
See other Generic force available.
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.
Adams/Solver
Adams/Solver (FORTRAN) Functions
62
FZ
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 and constraint elements acting between markers i and j are
included in the calculation of the force, unless a 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 marker j or
specify it to be zero. Note that you can not specify marker k and omit marker j. In this case, you should
specify marker j to be zero.
Format
FZ(i[,j][,k])
Arguments
Examples
SFORCE/ 1, I =23, J =11, TRANSLATI ON, ACTI ONONLY
, FUNCTI ON=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 5th order step function (see STEP5). The independent
variable for the STEP5 function is FZ(34), the net force acting along the global z-axis at Marker 34. Since
no j marker is specified, only action-only forces acting at Marker 34 are included in the calculation of
FZ().
See other Generic force available.
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.
63 GFORCE
Adams/Solver (FORTRAN) Functions
GFORCE
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, Adams/Solver (FORTRAN) returns the value of the force/torque that
acts on the I marker of GFORCE/id. If jflag is set to 1, Adams/Solver (FORTRAN) 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
Examples
GFORCE/ 1, I =516, J =34, RM=23
, FX=- 0. 3*GFORCE( 1, 0, 4, 23) /
, FY=0/
, FZ=I MPACT( 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 ) that is a function of the
displacement and velocity of Marker 516, as seen by Marker 23.
See other Element-specific applied force available.
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.
Adams/Solver
Adams/Solver (FORTRAN) Functions
64
HAVSIN
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
Extended Definition
The HAVSIN function is used most often to represent a smooth transition between two functions (see the
figure below). 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
.
Haversine Function
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
)
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.
65 HAVSIN
Adams/Solver (FORTRAN) Functions
Examples
MOTI ON/ 1, J OI NT=21, VELOCI TY
, FUNCTI ON=HAVSI N( TI ME, 1, 0, 2, 1)
This MOTION statement defines a smooth transition in velocity from time 1 to time 2. Note that the
motion is specified in velocity rather than displacement.
See other General available.
HAVSIN
h
o
x x
0
s
a b
-
c
-
t
t
2
---
\ .
| |
sin + x
0
x < x
1
<
h
1
x x
1
>
)


`



=
Tip: The HAVSIN function behavior is similar to the STEP function. It has a discontinuous
second derivative and therefore is not recommended for use in displacement level motions.
Adams/Solver
Adams/Solver (FORTRAN) Functions
66
IF
The arithmetic IF function allows you to conditionally define a function expression.
IF (expression 1: expression 2, expression 3, expression 4)
Adams/Solver (FORTRAN) evaluates expression 1.
If the value of expression 1 is less than zero, the arithmetic IF is evaluated using expression 2.
If the value of expression 1 is zero, the arithmetic IF is evaluated using expression 3.
If the value of expression 1 is greater than zero, the arithmetic IF is evaluated using expression 4.
The arithmetic IF function allows you to conditionally define a function expression.
Format
IF (test : lt, eq, gt)
Arguments
test Any valid function expression. Adams/Solver (FORTRAN) evaluated the test expression to
determine which branch of the arithmetic IF, lt, eq, or gt will be selected.
lt Any valid function expression. If the value of the test expression is less than zero,
Adams/Solver (FORTRAN) evaluates the lt expression and the IF function takes the value
of lt. Otherwise, the lt expression is not evaluated.
eq Any valid function expression. If the value of the test expression is equal to zero,
Adams/Solver (FORTRAN) evaluates the eq expression and the IF function takes the value
of eq. Otherwise, the eq expression is not evaluated.
gt Any valid function expression. If the value of the test expression is equal to zero,
Adams/Solver (FORTRAN) evaluates the gt expression and the IF function takes the value
of gt. Otherwise, the gt expression is not evaluated.
Caution: When using an arithmetic IF function, ensure that the resulting function is continuous. If
the function is discontinuous, Adams/Solver (FORTRAN) may fail to find a solution when
it encounters the discontinuity. Even the greater reliability can be achieved if continuity of
the first derivative can be ensured.
Much greater care is required when using an arithmetic IF function to define a MOTION
element. In this case, a continuous second derivative is also required. The use of arithmetic
IF functions to define MOTION is best avoided.
67 IF
Adams/Solver (FORTRAN) Functions
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:
If the radial velocity (see VR) between Markers 20 and 31 is less than or equal to zero, the value
of SFORCE/1 is zero.
If the radial velocity between Markers 10 and 31 is greater than zero, the value of SFORCE/1 is
-6*VR(10,31)**3.
Adams/Solver
Adams/Solver (FORTRAN) Functions
68
IMPACT
IThe IMPACT function models collisions.
Format
IMPACT (x, , x
1
, k, e, c
max
, d)
Arguments
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 3 below shows the free length value x
1
at which the IMPACT
force turns on.
The force has two components, a spring or stiffness component and a damping or viscous component.
The stiffness component is proportional to k, and 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.
x An expression that specifies a distance variable used to compute the IMPACT function. 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.
An expression that specifies 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 (FORTRAN) 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 the 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
(FORTRAN) applies full damping.
x

69 IMPACT
Adams/Solver (FORTRAN) Functions
Figure 3 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)
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 (FORTRAN) never returns a negative force for IMPACT. If the above expression is
negative, Adams/Solver (FORTRAN) returns a value of zero.
Figure 4 below is a plot of damping coefficient versus penetration.
IMPACT
Max 0 k , x
1
x ( )
e
STEP x x
1
d c
max
x
1
0 , , , , ( )
-
x

( ) x x
1
<
0 x x
1
>
)
`

=
Adams/Solver
Adams/Solver (FORTRAN) Functions
70
Figure 4 Damping Coefficient versus Penetration
Tip: Define the exponent value as: e >2.1 for the contact modeling fu. According to design
studies models run better using this exponent value in the IMPACT function.
Caution: For maximum performance, define e >1. When e is <1, the defined force contains
a slope discontinuity that may cause difficulty for the integrator.
If your model uses different length units than the stiffness properties you would
like to use, you need to scale the stiffness by:
l engt h conver si on f act or **exponent
The reason for this is that the contact force due to penetration is defined as:
Adams/View will do this conversion for you if you change the units under
Settings. However, you will need to do it if you enter the parameters in different
units.
Example:
k = 3800 N/ mm
e = 2. 0
cur r ent model uni t s: f or ce = N, l engt h = m
st i f f ness t o ent er f or cont act = 3800*( 1000**2) = 3. 8e9
Also note that only length is raised to the exponent, so if you have a different force
unit, you would only scale it by the force conversion factor.
F
n
k*(g **e)+Step(g,0,0,d
max
C
max
, ( )*
t d
dg
=
71 IMPACT
Adams/Solver (FORTRAN) Functions
Examples
SFORCE/ 1, I =11, J =21, TRANSLATI ON, ACTI ONONLY
, FUNCTI ON=I MPACT( 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; that is, 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
(FORTRAN) applies full damping is 0.1.
VFORCE/ 1, I =27, J FLOAT=25, RM=26
, FX=0/
, FY=I MPACT( DY( 4, 1, 1) , VY( 4, 1, 1) , 1- AKI SPL( DX( 4, 1, 1) ,
, DZ( 4, 1, 1) , 3) , l e7, 1. 01, l e4, . 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 le4, and
the penetration at which Adams/Solver (FORTRAN) applies full damping is 0.25.
See other General available.
Adams/Solver
Adams/Solver (FORTRAN) Functions
72
INCANG
The INCANG function computes the included angle between the line defined by markers i and j, and the
line defined by markers j and k. The three markers can be on separate parts.
Format
INCANG (i, j, k)
Arguments
Examples
Var i abl e/ 1, Fun=I NCANG( 3, 2, 4) *RTOD/
The variable computes the angle between the line segments that markers 2 and 3, and markers 2 and 4,
define.
See other Displacement available.
Note: During the simulation, the first non-zero value is always positive.
i A marker on the first line.
j A marker on the first line.
k A marker on the second line.
73 INTERP
Adams/Solver (FORTRAN) Functions
INTERP
IThe INTERP function returns the iord derivative of the interpolated value of SPLINE/id at time=x. The
INTERP function supports time-series splines, which are splines that include a FILE argument that
specifies a time history file of type DAC or RPC III.
Format
INTERP (x, method, id [,iord])
Arguments
Extended Definition
The INTERP function uses linear or cubic interpolation to create a function across a set of data points.
The data points are defined in a SPLINE statement in the Adams/Solver data deck. The SPLINE
statement with the FILE argument that you define in the Adams/Solver dataset must reference a time
series file of type DAC or RPC III. For more information on these file types, see Adams/Durability.
In general, the INTERP function with linear interpolation will not be a smooth function because, in
almost all cases, the function will be discontinuous in the first derivative. Therefore, the estimate of the
first derivative may be erroneous even though, by definition, the data points of a DAC or RPC time
history file are evenly spaced. In all cases, the second derivative of the function being approximated is
unreliable with linear interpolation.
On the other hand, with cubic interpolation, the INTERP function will be continuous to the second
derivative. Therefore, we recommend that you use cubic interpolation, especially if first or second
derivatives of the function will be evaluated.
x A real variable that specifies the value of time, the independent variable along the x-axis of
the time series spline that is being interpolated.
method An integer variable that specifies the method of interpolation, either linear or cubic
interpolation.
Range: method =1 (linear interpolation)
method =3 (cubic interpolation)
id An integer variable that specifies the identifier of a SPLINE statement that you define in
the Adams/Solver dataset. The SPLINE id must reference time series data from a DAC or
RPC III file.
iord An integer variable specifying the order of the derivative that Adams/Solver takes at the
interpolated point, and then returns through INTERP.
Default: 0 (take no derivative)
Range: 0 <iord <2
Adams/Solver
Adams/Solver (FORTRAN) Functions
74
Examples
SPLI NE/ 101
, FI LE=t est _dat a. r sp
, CHANNEL=9
SFORCE/ 1, I =409, J =109, TRANSLATI ON
, FUNCTI ON=I NTERP( TI ME, 3, 101)
The SFORCE statement defines a translational force that acts between Markers 409 and 109. The
SPLINE statement specifies that the discrete data used to interpolate the value of the SFORCE comes
from CHANNEL 9 of the RPC III file test_data.rsp.
The INTERP function references this spline, defines the independent variable to be simply, TIME, and
selects cubic as the method of interpolation.
See other Interpolation available.
75 INVPSD
Adams/Solver (FORTRAN) Functions
INVPSD
IThe INVPSD (Inverse Power Spectral Density) function regenerates a time signal from a power spectral
density description.
Format
INVPSD (x, id, fo, fi, nf, linlog, seed)
Arguments
Extended Definition
Mathematically, INVPSD is calculated as follows:
The regenerated signal consists of a series of sinusoidal functions where the amplitudes, A
i
, are
determined in such a way that the effective value for the PSD and the time signal are the same. The phase
angle, , is calculated by a pseudo-random number generator.
Using the same seed value will always result in the same set of phase angles.
x The independent variable.
id The id number of the spline containing the PSD versus frequency data.
f0 A real variable that specifies the lowest frequency to be regenerated.
f1 A real variable that specifies the highest frequency to be regenerated.
nf An integer that specifies the number of frequencies. This number is supposed to be larger
than 1 and less than 200.
linlog An integer variable that acts as a flag indicating whether the PSD data points are
interpolated in the linear or logarithmic domain.
The legal values are:
yes (0) - linear domain
no (1) - logarithmic domain
seed A real variable that specifies a seed for a random number generator, used to calculate the
phase shifts. During a simulation, PSD can be called with up to a maximum of 20 different
seeds.
INVPSD A
i
2tf
i
x
i
+ ( ) sin ( )
i 1 =
n
f

i
0
i
2t s s ( )
Adams/Solver
Adams/Solver (FORTRAN) Functions
76
Examples
For the power spectral density data shown in Figure 5, INVPSD(TIME, spline_1, 1, 10, 20, 0, 0)
regenerates the time signal shown in Figure 6.
Figure 5 PSD vs. Frequency in Log-Log Scale
Figure 6 Regenerated Time Signal
See other General available.
77 JOINT
Adams/Solver (FORTRAN) Functions
JOINT
The J OINT function returns component comp of a force or torque due to J OINT/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 J OINT. 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
J OINT (id, jflag, comp, rm)
Arguments
Examples
J OI NT/ 1, REVOLUTE, I =46, J =23
SFORCE/ 1, ROTATI ON, I =46, J =23
, FUNCTI ON=- 0. 4*SI GN( 1. 0, WZ( 46, 23, 23) *5. 6*,
, ( J OI NT( 1, 0, 1, 23) - ABS( J OI NT( 1, 0, 4, 23) ) ) )
This example illustrates how a simple dynamic friction force can be added to a revolute joint. J OINT/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.
J OINT(1,0,1,23) determines the magnitude of the reaction force at Marker 23. J OINT(1,0,4,23)
determines the component of the constraint force along the axis of the rotational of the joint.
J OINT(1,0,12)-ABS(J OINT(1,0,4,23)) defines the radial load in the revolute joint (i.e., the normal
force). See other Element-specific reaction force available.
id An integer specifying the identification number 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.
Adams/Solver
Adams/Solver (FORTRAN) Functions
78
JPRIM
J The J PRIM function returns component comp of a force due to J PRIM/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 J PRIM. 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
J PRIM (id, jflag, comp, rm)
Arguments
Examples
REQUEST/ 1
, F2=J PRI M( 212, 1, 8, 346)
In its second column, this REQUEST statement stores the z component of the torque acting at the J
marker of J PRIM 212. The torque component is calculated in the coordinate system of Marker 346.
See other Element-specific reaction force available.
id An integer specifying the identification number of the J PRIM.
jflag An integer flag specifying the J PRIM 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 J PRIM 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.
79 LOG
Adams/Solver (FORTRAN) Functions
LOG
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 (that is, a >0). It is undefined for all other values.
Format
LOG(a)
Arguments
Examples
DI FF/ 1, I C=3. 6
, FUNCTI ON=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).
See other FORTRAN 77 available.
a Any valid function expression that returns a positive value during a simulation.
Number of Arguments: 1
Adams/Solver
Adams/Solver (FORTRAN) Functions
80
MAX
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
Examples
SFORCE/ 1, ROTATI ONAL, ACTI ONONLY, I =21, J =11
, FUNCTI ON=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).
See other FORTRAN 77 available.
a1 Any valid function expression.
a2 Any valid function expression.
Caution: The MAX function is generally discontinuous. Use this function expression with care when
you are specifying force or motion input.
81 MIN
Adams/Solver (FORTRAN) Functions
MIN
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
Examples
SFORCE/ 1, ROTATI ONAL, ACTI ONONLY, I =21, J =11
, FUNCTI ON=MI N( 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).
See other FORTRAN 77 available.
a1 Any valid function expression.
a2 Any valid function expression.
Caution: The MIN function is generally discontinuous. Use this function expression with care when
you are specifying force or motion input.
Adams/Solver
Adams/Solver (FORTRAN) Functions
82
MOD
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
Examples
MOD(45,16)=13
See other FORTRAN 77 available.
a1 Any valid function expression.
a2 Any valid non-zero function expression.
Caution: The MOD function is generally discontinuous. Use this function expression with care when
you are specifying force or motion input.
83 MODE
Adams/Solver (FORTRAN) Functions
MODE
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
Examples
SFORCE/ 1, TRANSLATI ON, I =21, J =11
, FUNCTI ON=I F( 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.
See other Simulation constants and variables available.
Caution: 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 (FORTRAN) performs a kinematic analysis and, consequently, returns a
MODE analysis constant of 1 (not 5 or 6).
Adams/Solver
Adams/Solver (FORTRAN) Functions
84
MOTION
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
Examples
J OI NT/ 34, REVOLUTE, I =21, J =11
MOTI ON/ 1, ROTATI ONAL, J OI NT=34, FUNCTI ON=TI ME**2
DI FF/ 1, I C=0
, FUNCTI ON=WZ( 21, 11) *MOTI ON( 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.
See other Element-specific reaction force available.
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.
85 NFORCE
Adams/Solver (FORTRAN) Functions
NFORCE
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 number 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.
Adams/Solver
Adams/Solver (FORTRAN) Functions
86
Cautions
See other Element-specific applied force available.
Adams/Solver
(FORTRAN) Adams/Solver (C++)
The NFORCE function is
available only from
REQUEST and SENSOR
statements. It is not
accessible from other
statements.
Unlike Adams/Solver (FORTRAN), the NFORCE measure can
appear in any function expression in the Adams/Solver (C++)
dataset.
Adams/Solver (C++) does not have support for the NFORCE
measure from the SYSFNC utility subroutine. Instead, use the FX,
FY, and FZ. measures. These can either be used to measure the sum
of forces on a single marker, or the sum of forces transmitted by all
connectors connecting a pair of markers. Unfortunately, these
measures can not directly compute the force transmitted between
two I markers on an NFORCE and something similar to FX(I1,J )-
FX(I2,J ) may be required.
87 PHI
Adams/Solver (FORTRAN) Functions
PHI
The PHI function calculates the third angle (in radians) of a body-fixed-3-1-3 Euler rotation sequence
between markers i and j. Marker j defaults to the global coordinate system if it is not specified. See
Figure 7 for a schematic description of the body-fixed-3-1-3 Euler rotation sequence.
Format
PHI(i[,j])
Arguments
Examples
REQUEST/ 1, F2=PHI ( 222, 434)
This REQUEST statement output the phi angle between Markers 222 and 434 in its second column.
See other Displacement available.
i The marker whose rotations are being sought.
j The marker with respect to which the rotations are being measured.
Adams/Solver
Adams/Solver (FORTRAN) Functions
88
Figure 7 Body-fixed-3-1-3 Euler Angles
89 PHI
Adams/Solver (FORTRAN) Functions
The body-fixed-3-1-3 sequence is started by
rotating counterclockwise the initial system of
axes, xyz, by an angle about the z-axis. The
resultant axes are labeled . (Notice that z
coincides with . )
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. (Notice that coincides with '.)
In the final rotation, the '- '- z '- axes are
rotated counterclockwise by an angle about the
-axis to produce the x' y' z' axes, which is the
desired final direction. (Notice that coincides
with '.)
+
q,
,
q,

u
q ,
q

q
|
,
,
,
Adams/Solver
Adams/Solver (FORTRAN) Functions
90
PI
PI returns the ratio of the circumference of a circle to its diameter (3.14159...).
Format
PI
See other Simulation constants and variables available.
91 PINVAL
Adams/Solver (FORTRAN) Functions
PINVAL
The PINVAL function returns component comp of PINPUT/id.
Format
PINVAL (id, comp)
Arguments
Examples
VARI ABLE/ 21, FUNCTI ON=10*SI N( 2. 4*TI ME) +3. 5
VARI ABLE/ 22, FUNCTI ON=DZ( 21, 11, 32)
PI NPUT/ 10, VARI ABLES=21, 22
SFORCE/ 1, TRANSLATI ONAL, I =62, J =47
, FUNCTI ON=- 1. 08*( PI NVAL( 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 (that is,
VARIABLE/22).
See other System element available.
id The identifier of the PINPUT whose data is being requested.
comp An integer that specifies the component of the PINPUT to be returned.
Adams/Solver
Adams/Solver (FORTRAN) Functions
92
PITCH
Calculates the second angle of a body-fixed 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
Examples
REQUEST/ 2, F2=PI TCH( 143)
This REQUEST statement outputs the pitch angle (in radians) of Marker 143 relative to the global
coordinate system.
See other Displacement available.
i The marker whose rotations are being sought.
j The marker with respect to which the rotations are being measured.
93 POLY
Adams/Solver (FORTRAN) Functions
POLY
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
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:
The index j has a range from zero to n, where n is the number of terms in the series.
Examples
MOTI ON/ 1, J OI NT=21, TRANSLATI ON
, FUNCTI ON=POLY( TI ME, 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
MOTI ON/ 1, J OI NT=21, TRANSLATI ON
, FUNCTI ON = I F( TI ME- 5: 0, 0, POLY( TI ME, 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
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.
P x ( ) a
j
x x
0
( )j
j 0 =
n

=
a
0
a
1
-
x x
0
( ) a
2
-
x x
0
( )
2
. a
n
-
x x
0
( )
n
+ + + + =
Adams/Solver
Adams/Solver (FORTRAN) Functions
94
else Poly=10*time-5
SFORCE/ 3, I =10, J =20, TRANSLATI ON
, FUNCTI ON=- 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:
Pol y=- 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.
See other General available.
95 POUVAL
Adams/Solver (FORTRAN) Functions
POUVAL
The POUVAL function returns component comp of POUTPUT/id.
Format
POUVAL (id, comp)
Arguments
Examples
VARI ABLE/ 21, FUNCTI ON=10*SI N( 2. 4*TI ME) +3. 5
VARI ABLE/ 22, FUNCTI ON=DZ( 21, 11, 32)
POUTPUT/ 10, VARI ABLES=21, 22
SFORCE/ 1, TRANSLATI ONAL, I =62, J =47
, FUNCTI ON=- 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 (that is,
VARIABLE/22).
See other System element available.
id The identifier of the POUTPUT whose data is being requested.
comp An integer that specifies the component of the POUTPUT to be returned.
Adams/Solver
Adams/Solver (FORTRAN) Functions
96
PSI
The PSI function expression calculates the first angle (in radians) of a body-fixed 3-1-3 Euler rotation
sequence between markers i and j. Marker j defaults to the global coordinate system if it is not specified.
For a schematic of the body-fixed-3-1-3 Euler angles, click here.
Format
PSI(i[,j])
Arguments
Examples
REQUEST/ 1, F2=PSI ( 222, 434)
This REQUEST statement output the psi angle between Markers 222 and 434 in its second column.
See other Displacement available.
i The marker whose rotations are being sought.
j The marker with respect to which the rotations are being measured.
97 PTCV
Adams/Solver (FORTRAN) Functions
PTCV
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 J FLOAT marker. rm may be specified
as zero if the results are desired in the global coordinate system.
Format
PTCV (id, jflag, comp, rm)
Arguments
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 outputs 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.
See other Element-specific reaction force available.
id An integer specifying the identification number of the point-to-curve constraint.
jflag An integer flag specifying the point-to-curve 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 point-to-curve constraint 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.
Adams/Solver
Adams/Solver (FORTRAN) Functions
98
ROLL
The ROLL function calculates the third angle of a body-fixed 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
Examples
REQUEST/ 2, F2=ROLL( 143)
This REQUEST statement outputs the roll angle (in radians) of Marker 143 relative to the global
coordinate system.
See other Displacement available.
i The marker whose rotations are being sought.
j The marker with respect to which the rotations are being measured.
99 RTOD
Adams/Solver (FORTRAN) Functions
RTOD
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.
See other Simulation constants and variables available.
Adams/Solver
Adams/Solver (FORTRAN) Functions
100
SENVAL
The SENVAL function returns the last scored value from the function expression or user-written
subroutine associated with the EVALUATE argument on SENSOR/id. See the SENSOR statement for
more information.
Format
SENVAL(id)
Arguments
Examples
VARI ABLE/ 1, FUNCTI ON=SENVAL( 100)
SENSOR/ 100, EQ, VALUE=0
, FUNCTI ON=AZ( 22, 11) - PI / 2/
, EVALUATE=SENVAL( 100) +1
This SENSOR statement counts the number of times function AZ(22,11) passes through /2. The
VARIABLE statement defines a variable equal to the count.
id An integer specifying the identification number of the SENSOR.
Caution: If the SENSOR/id does not have the EVALUATE argument, SENVAL(id) returns zero.
101 SFORCE
Adams/Solver (FORTRAN) Functions
SFORCE
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 or torque acting on
the I marker of the SFORCE/id. If jflag is set to 1, the value returned is that which acts on the J marker.
You can specify rm as zero if you want the results to be returned in the global coordinate system.
Format
SFORCE (id, jflag, comp, rm)
Arguments
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 outputs 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.
See other Element-specific applied force available.
id An integer specifying the identification number 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.
Adams/Solver
Adams/Solver (FORTRAN) Functions
102
SHF
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
Examples
MOTI ON/ 1, J OI NT=21, TRANSLATI ON
, FUNCTI ON=SHF( TI ME, 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.
See other General available.
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.
e
e e
e
103 SIGN
Adams/Solver (FORTRAN) Functions
SIGN
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
Examples
VARI ABLE/ 23, FUNCTI ON=10*SI GN( 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).
See other FORTRAN 77 available.
a1 Any valid function expression.
a2 Any valid function expression.
Caution: The SIGN function is discontinuous. Use this function with care to avoid creating
expressions that are discontinuous.
Adams/Solver
Adams/Solver (FORTRAN) Functions
104
SIN
The SIN function returns the sine of an expression a.
Format
SIN(a)
Arguments
Examples
SFORCE/ 1, TRANSLATI ON, I =23, J =34
, FUNCTI ON=SI N( 10*TI ME)
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).
See other FORTRAN 77 available.
a Any valid function expression.
Number of Arguments: 1
105 SINH
Adams/Solver (FORTRAN) Functions
SINH
The SINH function return the hyperbolic sine of an expression a.
SINH(a) =(e
a
- e
-a
) /2.0
Format
SINH(a)
Arguments
Examples
VARI ABLE/ 1, FUNCTI ON=SI NH( 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.
See other FORTRAN 77 available.
a Any valid function expression.
Number of Arguments: 1
Adams/Solver
Adams/Solver (FORTRAN) Functions
106
SPDP
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
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.
See other Element-specific applied force available.
id An integer specifying the identification number 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.
107 SQRT
Adams/Solver (FORTRAN) Functions
SQRT
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
Examples
VARI ABLE/ 23,
, FUNCTI ON=SQRT ( FX( 23, 11) **2+FY( 23, 11) **2)
A new state variable with a value equal to the square root of the sum of the squares of the global x- and
y- components of the net force acting between Markers 21 and 11.
See other FORTRAN 77 available.
a Any valid function expression.
Number of Arguments: 1
Adams/Solver
Adams/Solver (FORTRAN) Functions
108
STEP
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
Extended Definition
The STEP function approximates the Heaviside step function with a cubic polynomial. The figure below
illustrates the STEP function.
Step Function
The equation defining the STEP function is:
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.
109 STEP
Adams/Solver (FORTRAN) Functions
The figure shown next compares the STEP, STEP5, HAVSIN, and TANH functions.
Comparisons of STEP, STEP5, HAVSIN, and TANH
The next figure shows the first derivatives of these four functions.
a h
1
h
0
=
A x x
0
( ) x
1
x
0
( ) =
STEP
h
0
x x
0
s
h
0
a
-
A
2
3 2A ( ) + x
0
x x
1
< <
h
1
x x
1
>
)

`


=
Tip: HAVERSINE, STEP5, and TANH offer other approximations for the Heaviside step
function. These (except for HAVERSINE) have a higher degree of continuity and
differentiability, but may have larger derivatives.
Adams/Solver
Adams/Solver (FORTRAN) Functions
110
First Derivatives of STEP, STEP5, HAVSIN, and TANH
Examples
MOTI ON/ 1, J OI NT=21, VELOCI TY
, FUNCTI ON=STEP( TI ME, 1, 0, 2, 1)
This MOTION statement defines a smooth step function from time 1 to time 2 with a velocity from 0 to
1. Note that the motion is specified at the velocity rather than the position level. This prevents the second-
order derivative to be invoked during acceleration computation, which is something that would happen
if the motion were defined as a displacement level motion.
See other General available.
111 STEP5
Adams/Solver (FORTRAN) Functions
STEP5
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
Extended Definition
The figure shown next illustrates the STEP5 function.
STEP5 Function
The equation defining the STEP5 function is:
=h
1
- h
0
=(x - x
0
)/(x
1
- x
0
)
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.
o
A
Adams/Solver
Adams/Solver (FORTRAN) Functions
112
Examples
MOTI ON/ 1, J OI NT=21, TRANSLATI ON
, FUNCTI ON=STEP5( TI ME, 1, 0, 2, 1)
This MOTION statement defines a smooth step function from TIME=1 to TIME=2 with a displacement
from 0 to 1.
See other General available.
STEP5
h
0
x x
0
s
h
0
aA
3-
10 15A 6A
2
+ | | + x
0
x x
1
< <
h
1
x x
1
>
)

`


=
113 SWEEP
Adams/Solver (FORTRAN) Functions
SWEEP
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
, dx)
Arguments
Extended Definition
Mathematically, SWEEP is calculated as follows:
where:
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.
dx The interval in which the SWEEP function becomes fully active.
SWEEP STEP5 x x
0
f
0
dx f
1
, , , , ( ) a 2t freq x ( ) x phase x ( ) + ( ) ( ) sin =
freq x ( )
f
0
: x x
0
<
f
0
f
1
f
0

x
0
x
1
+
----------------
\ .
| |
x + : x
0
x x
1
< <
f
1
: x
1
x <
)


`



=
Adams/Solver
Adams/Solver (FORTRAN) Functions
114
The figure below illustrates the 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.
MOTI ON/ 1, J OI NT=1
, FUNCTI ON=SWEEP( TI ME, 1. 0, 0. 0, 2. 0, 5. 0, 6. 0, 0. 01)
115 SWEEP
Adams/Solver (FORTRAN) Functions
See other General available.
Adams/Solver
Adams/Solver (FORTRAN) Functions
116
TAN
The TAN function returns the tangent of an expression a.
Format
TAN(a)
Arguments
See other FORTRAN 77 available.
a Any valid function expression.
Number of arguments: 1
117 TANH
Adams/Solver (FORTRAN) Functions
TANH
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
Extended Definition
The figure below illustrates the TANH function.
TANH Function
Examples
MOTI ON/ 1, J OI NT=21, TRANSLATI ON
, FUNCTI ON=0. 5( 1+TANH( 5*( TI ME- 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.
See other FORTRAN 77 available.
a Any valid function expression.
Number of arguments: 1
Adams/Solver
Adams/Solver (FORTRAN) Functions
118
THETA
The THETA function calculates the second angle (in radians) of a body-two fixed 3-1-3 Euler rotation
sequence between markers i and j. Marker j defaults to the global coordinate system if it is not specified.
View a schematic of the body-fixed-3-1-3 Euler angles.
Format
THETA(i[,j])
Arguments
Examples
REQUEST/ 1, F2=THETA( 222, 434)
This REQUEST statement output the THETA angle between Markers 222 and 434 in its second column.
See other Displacement available.
i The marker whose rotations are being sought.
j The marker with respect to which the rotations are being measured.
119 TIME
Adams/Solver (FORTRAN) Functions
TIME
The TIME variable returns the current simulation time.
Format
TIME
Examples
SFORCE/ 1, TRANSLATI ON, I =21, J =32
, FUNCTI ON=10*SI N( 2*PI *TI ME)
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).
See other Simulation constants and variables available.
Adams/Solver
Adams/Solver (FORTRAN) Functions
120
TM
The TM function returns the magnitude of the net torque acting at marker i. All force and constraint
elements between markers i and j are included in the calculation of torque, unless it is an action-only type.
To return the torque magnitude of the action-only forces acting as marker i, you should omit specification
of marker j, or specify it to be zero.
Format
TM(i[j])
Arguments
Examples
J OI NT/ 1, REVOLUTE, I =32, J =44
MOTI ON/ 1, ROTATI ON, J OI NT=1, FUNCTI ON=10*TI ME
VARI ABLE/ 31, FUNCTI ON=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.
The TM function returns the magnitude of the net torque acting at marker i. All force and constraint
elements between markers i and j are included in the calculation of torque, unless it is an action-only type.
To return the torque magnitude of the action-only forces acting as marker i, you should omit specification
of marker j, or specify it to be zero.
See other Generic force available.
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.
121 TX
Adams/Solver (FORTRAN) Functions
TX
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 and constraint elements acting between markers i and j are
included in the calculation of the torque, unless a 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. Note that you can not specify marker k and omit marker j. In this case, you should
specify marker j to be zero.
Format
TX(i[,j][,k])
Arguments
Examples
J OI NT/ 1, REVOLUTE, I =32, J =44
MOTI ON/ 1, ROTATI ON, J OI NT=1, FUNCTI ON=10*TI ME
VARI ABLE/ 31, FUNCTI ON=TX( 32, 44)
In this example a revolute joint and motion (through the joint) act between Marker 32 and 44. A new state
variable VARIABLE/31 is defined to have the x-component of the sum of all torques acting between
markers 32 and 44 as computed in the global coordinate system. Since joint 1 and motion 1 are defined
between markers 32 and 44, their reaction torque will be included in the computation of TX().
See other Generic force available.
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. k defaults to the global coordinate system when it is
not specified.
Adams/Solver
Adams/Solver (FORTRAN) Functions
122
TY
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 and constraint elements acting between markers i and j are
included in the calculation of the torque, unless a 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. Note that you can not specify marker k and omit marker j. In this case, you should
specify marker j to be zero.
Format
TY(i[,j][,k])
Arguments
Examples
J OI NT/ 1, REVOLUTE, I =32, J =44
MOTI ON/ 1, ROTATI ON, J OI NT=1, FUNCTI ON=10*TI ME
VARI ABLE/ 31, FUNCTI ON=TY( 32, 44)
In this example a revolute joint and motion (through the joint) act between Marker 32 and 44. A new state
variable VARIABLE/31 is defined to have the y-component of the sum of all torques acting between
markers 32 and 44 as computed in the global coordinate system. Since joint 1 and motion 1 are defined
between markers 32 and 44, their reaction torque will be included in the computation of TY( ).
See other Generic force available.
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. k defaults to the global coordinate system when it is
not specified.
123 TZ
Adams/Solver (FORTRAN) Functions
TZ
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 and constraint elements acting between markers i and j are
included in the calculation of the torque, unless a 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. Note that you can not specify marker k and omit marker j. In this case, you should
specify marker j to be zero.
Format
TZ(i[,j][,k])
Arguments
Examples
J OI NT/ 1, REVOLUTE, I =32, J =44
MOTI ON/ 1, ROTATI ON, J OI NT=1, FUNCTI ON=10*TI ME
VARI ABLE/ 31, FUNCTI ON=TZ( 32, 44)
In this example a revolute joint and motion (through the joint) act between Marker 32 and 44. A
determined state variable VARIABLE/31 is defined to have the z-component of the sum of all torques
acting between markers 32 and 44 as computed in the global coordinate system. Since joint 1 and motion
1 are defined between markers 32 and 44, their reaction torque will be included in the computation of
TZ().
See other Generic force available.
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. k defaults to the global coordinate system when it is not specified.
Adams/Solver
Adams/Solver (FORTRAN) Functions
124
VARVAL
The VARVAL function returns current value of VARIABLE/id.
Format
VARVAL (id)
Arguments
Examples
VARI ABLE/ 10, FUNCTI ON=DX( 21, 32, 43)
SFORCE/ 20, TRANSLATI ON, I =346, J =567
, FUNCTI ON=( VARVAL( 10) - 5) **2
In this example, VARIABLE/10 defines an algebraically determined user-specified state. SFORCE/20 is
a nonlinear translational spring whose force magnitude is a function of this variable.
See other System element available.
id The identifier of the VARIABLE whose data is being requested.
125 VFORCE
Adams/Solver (FORTRAN) Functions
VFORCE
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, Adams/Solver (FORTRAN) returns the value of force/torque that acts
on the I marker of VFORCE/id. If jflag is set to 1, Adams/Solver (FORTRAN) 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
Examples
MARKER/ 236, QP=4, 6, 7, EU=90D, 90D, 0, PART=23
MARKER/ 169, PART=16, FLOATI NG
MARKER/ 168, QP=1, 2, 3, EU=30D, 45D, 60D, PART=16
VFORCE/ 19, I =236, J FLOAT=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) / s
This REQUEST statement contains the x-component of the force exerted by VFORCE/19 calculated in
the coordinate system of Marker 168.
See other Element-specific applied force available.
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.
Adams/Solver
Adams/Solver (FORTRAN) Functions
126
VM
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
Extended Definition
Mathematically, VM is calculated as follows:
where is the displacement of marker i in ground and is the displacement of marker j in ground.
Examples
DI FF/ 51, I C=- 6. 2, FUNCTI ON=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.
VARI ABLE/ 1, FUNCTI ON=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.
See other Velocity available.
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.
l The reference frame in which the time derivative of the displacement vector is taken. Set l =0
or omit the argument if you want the time derivatives to be taken in the ground coordinate
system (GCS).
VM i j l , , ( )
t
2
2
d
d
l ( )
R
i
t
2
2
d
d
l ( )
R
j

t
2
2
d
d
l ( )
R
i
t
2
2
d
d
l ( )
R
j
=
R
i
R
j
127 VR
Adams/Solver (FORTRAN) Functions
VR
The VR function calculates the radial (separation) 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
Extended Definition
Mathematically, VR is calculated by projecting the velocity vector on a unit vector along the line of sight
between i and j, as follows:
where:
is the displacement of marker i with respect to the global origin.
is the displacement of marker j with respect to the global origin.
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.
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 or
omit the argument if you want the time derivatives to be taken in the ground coordinate system
(GCS).
VR i j l , , ( )
t d
d
l ( )
R
i
t d
d
l ( )
R
j
R
i
R
j
| |
R
i
R
j
| | R
i
R
j
| |
----------------------------------------------------------------------- VXYZ UV DXYZ ( ) = =
R
i
R
j
Adams/Solver
Adams/Solver (FORTRAN) Functions
128
Examples
SFORCE/ 1, TRANSLATI ON, I =467, J =764
, FUNCTI ON=- 10*VR( 467, 764)
! def i nes a t r ansl at i onal damper wi t h a dampi ng const ant of 10.
See other Velocity available.
129 VTORQ
Adams/Solver (FORTRAN) Functions
VTORQ
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, Adams/Solver (FORTRAN) returns the value of the torque that acts
on the I marker of VTORQUE/id. If jflag is set to 1, Adams/Solver (FORTRAN) 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
Examples
MARKER/ 236, QP=4, 6, 7, EU=90D, 90D, 0, PART=23
MARKER/ 169, PART=16, FLOATI NG
MARKER/ 168, QP=1, 2, 3, EU=30D, 45D, 60D, PART=16
VTORQUE/ 19, I =236, J FLOAT=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( 19, 0, 2, 168) /
This REQUEST statement contains the x-component of the torque exerted by VTORQUE/19 calculated
in the coordinate system of Marker 168.
See other Element-specific applied force available.
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.
Adams/Solver
Adams/Solver (FORTRAN) Functions
130
VX
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
Extended Definition
Mathematically, VX is calculated as follows:
where:
is the displacement of marker i in ground.
is the displacement of marker j in ground.
is the unit vector along the x-axis of marker k.
denotes time differentiation in the reference frame of the l marker.
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, while
still specifying l, 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 or omit the argument if you want the time derivatives to be taken in the ground coordinate
system (GCS).
VX i j k l , , , ( )
t d
d
l ( )
Ri
t d
d
l ( )
Rj x

k
=
R
i
R
j
x

k
t d
d
l ( )
131 VX
Adams/Solver (FORTRAN) Functions
Examples
MARKER/ 236, QP=4, 6, 7, EU=90D, 90D, 0, PART=23
MARKER/ 169, PART=16, FLOATI NG
MARKER/ 168, QP=1, 2, 3, EU=30D, 45D, 60D, PART=16
VFORCE/ 236, I =236, J FLOAT=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.
See other Velocity available.
Adams/Solver
Adams/Solver (FORTRAN) Functions
132
VY
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
Extended Defintion
Mathematically, VY is calculated as follows:
where:
is the displacement of marker i in ground.
is the displacement of marker j in ground.
is the unit vector along the y-axis of marker k.
denotes time differentiation in the reference frame of the l marker.
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, while
still specifying l, if you want the results to be calculated along the y-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 or omit the argument if you want the time derivatives to be taken in the ground coordinate
system (GCS).
VY i j k l , , , ( )
t d
d
l ( )
Ri
t d
d
l ( )
Rj y

k
=
R
i
R
j
y

k
t d
d
l ( )
133 VY
Adams/Solver (FORTRAN) Functions
Examples
MARKER/ 236, QP=4, 6, 7, EU=90D, 90D, 0, PART=23
MARKER/ 169, PART=16, FLOATI NG
MARKER/ 168, QP=1, 2, 3, EU=30D, 45D, 60D, PART=16
VFORCE/ 236, I =236, J FLOAT=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.
See other Velocity available.
Adams/Solver
Adams/Solver (FORTRAN) Functions
134
VZ
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
Extended Definition
Mathematically, VZ is calculated as follows:
where:
is the displacement of marker i in ground.
is the displacement of marker j in ground.
is the unit vector along the y-axis of marker k.
denotes time differentiation in the reference frame of the l marker.
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, while still
specifying l, if you want the results to be calculated along the z-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 or omit the argument if you want the time derivatives to be taken in the ground coordinate
system (GCS).
VZ i j k l , , , ( )
t d
d
l ( )
Ri
t d
d
l ( )
Rj z

k
=
R
i
R
j
z

k
t d
d
l ( )
135 VZ
Adams/Solver (FORTRAN) Functions
Examples
MARKER/ 236, QP=4, 6, 7, EU=90D, 90D, 0, PART=23
MARKER/ 169, PART=16, FLOATI NG
MARKER/ 168, QP=1, 2, 3, EU=30D, 45D, 60D, PART=16
VFORCE/ 236, I =236, J FLOAT=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.
See other Velocity available.
Adams/Solver
Adams/Solver (FORTRAN) Functions
136
WDTM
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
Extended Definition
Mathematically, WDTM is calculated as follows:
where:
is the angular velocity vector of marker i in ground.
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=WDTM( 1236, 2169) /
, F2=WDTX( 1236, 2169, 2169, 2169) /
, F3=WDTY( 1236, 2169, 2169, 2169) /
, F4=WDTZ( 1236, 2169, 2169, 2169)
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 coordinate system (GCS).
WDTM i j l , , ( )
t d
d
l ( )
e
i
t d
d
l ( )
e
j

t d
d
l ( )
e
i
t d
d
l ( )
e
j
=
ei
e
j
137 WDTM
Adams/Solver (FORTRAN) Functions
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
coordinate system (GCS).
See other Acceleration available.
Adams/Solver
Adams/Solver (FORTRAN) Functions
138
WDTX
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
Extended Definition
Mathematically, WDTX is calculated as follows:
where:
is the angular velocity vector of marker i in ground.
is the angular velocity vector of marker j in ground.
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
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,
while still specifying l, 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 coordinate system
(GCS).
WDTX i j k l , , , ( )
t d
d
l ( )
ei
t d
d
l ( )
ej x

k
=
ei
ej
x

k
139 WDTX
Adams/Solver (FORTRAN) Functions
, 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.
See other Acceleration available.
Adams/Solver
Adams/Solver (FORTRAN) Functions
140
WDTY
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
Extended Definition
Mathematically, WDTY is calculated as follows:
where:
is the angular velocity vector of marker i in ground.
is the angular velocity vector of marker j in ground.
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=WDTM( 1236, 2169) /
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,
while still specifying l, if you want the results to be calculated along the y-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 coordinate system (GCS).
WDTY i j k l , , , ( )
t d
d
l ( )
ei
t d
d
l ( )
ej y

k
=
ei
ej
y

k
141 WDTY
Adams/Solver (FORTRAN) Functions
, 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.
See other Acceleration available.
Adams/Solver
Adams/Solver (FORTRAN) Functions
142
WDTZ
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
Extended Definition
Mathematically, WDTZ is calculated as follows:
where:
is the angular velocity vector of marker i in ground.
is the angular velocity vector of marker j in ground.
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=WDTM( 1236, 2169) /
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,
while still specifying l, if you want the results to be calculated along the z-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 coordinate system (GCS).
WDTZ i j k l , , , ( )
t d
d
l ( )
ei
t d
d
l ( )
ej z

k
=
ei
ej
z

k
143 WDTZ
Adams/Solver (FORTRAN) Functions
, 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.
See other Acceleration available.
Adams/Solver
Adams/Solver (FORTRAN) Functions
144
WM
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
Extended Definition
Mathematically, WM is calculated as follows:
where:
is the angular velocity vector of marker i in ground.
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.
See other Velocity available.
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.
WM i j , ( ) e
i
e
j
| | e
i
e
j
| | =
ei
ej
145 WX
Adams/Solver (FORTRAN) Functions
WX
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
Extended Definition
Mathematically, WX is calculated as follows:
where:
is the angular velocity vector of marker i in ground.
is the angular velocity vector of marker j in ground.
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. See other Velocity available.
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.
WX i j k , , ( ) e
i
ej | | x

k
=
ei
ej
x

k
Adams/Solver
Adams/Solver (FORTRAN) Functions
146
WY
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
Extended Definition
Mathematically, WY is calculated as follows:
where:
is the angular velocity vector of marker i in ground.
is the angular velocity vector of marker j in ground.
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. See other Velocity available.
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 y-axis of the global coordinate system.
WY i j k , , ( ) e
i
ej | | y

k
=
ei
ej
y

k
147 WZ
Adams/Solver (FORTRAN) Functions
WZ
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
Extended Definition
Mathematically, WZ is calculated as follows:
where:
is the angular velocity vector of marker i in ground.
is the angular velocity vector of marker j in ground.
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. See other Velocity available.
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 z-axis of the global coordinate system.
WZ i j k , , ( ) e
i
ej | | z

k
=
ei
ej
z

k
Adams/Solver
Adams/Solver (FORTRAN) Functions
148
YAW
The YAW function calculates the first angle of a body-fixed 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
Examples
REQUEST/ 1
, F2=YAW( 21, 11) /
, F3=PI TCH( 21, 11) /
, F4=ROLL( 21, 11)
This REQUEST statement calculates the yaw, pitch, and roll angles between Markers 21 and 11 for
output purposes.
See other Displacement available.
i The marker whose rotations are being sought.
j The marker with respect to which the rotations are being measured.

Das könnte Ihnen auch gefallen