130
Using ADAMS/Solver 261 Functions Function Expressions You use function expressions to define a wide variety of non-standard phenomena in your model. A comprehensive set of symbolic variables operators and functions are provided for this purpose. These can be used to create complex expressions. Below are the ADAMS/Solver function expressions grouped according to their function. Detailed information on each function expression is found on the page indicated after its name below. FORTRAN 77 Functions ABS 273 ACOS 278 AINT 279 ANINT 282 ASIN 284 ATAN 285 ATAN2 286 COS 296 COSH 297 EXP 312 LOG 333 LOG10 334 MAX 335 MIN 336 MOD 337 SIGN 355 SIN 356 SINH 357 SQRT 359 TAN 365 TANH 366 Simulation Constants and Variables TIME 368 MODE 338 PI 343 DTOR 308 RTOD 352

Function Expressions - Mechanical Engineering · 2014-10-06 · Using ADAMS/Solver 261 Functions Function Expressions You use function expressions to define a wide variety of non-standard

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Fun

ctio

ns

odel.rpose.

ailedw.

Function ExpressionsYou use function expressions to define a wide variety of non-standard phenomena in your mA comprehensive set of symbolic variables operators and functions are provided for this puThese can be used to create complex expressions.

Below are the ADAMS/Solver function expressions grouped according to their function. Detinformation on each function expression is found on the page indicated after its name belo

FORTRAN 77 FunctionsABS 273ACOS 278AINT 279ANINT 282ASIN 284ATAN 285ATAN2 286COS 296COSH 297EXP 312LOG 333LOG10 334MAX 335MIN 336MOD 337SIGN 355SIN 356SINH 357SQRT 359TAN 365TANH 366

Simulation Constants and VariablesTIME 368MODE 338PI 343DTOR 308RTOD 352

Using ADAMS/Solver 261

262

Fun

ctio

ns

DisplacementAX 287AY 288AZ 289DM 307DX 309DY 310DZ 311PHI 341PITCH 345PSI 349ROLL 351THETA 367YAW 392

VelocityVM 375VR 376VX 378VY 379VZ 380WM 388WX 389WY 390WZ 391

AccelerationACCM 274ACCX 275ACCY 276ACCZ 277WDTM 381WDTX 382WDTY 384WDTZ 386

Generic ForceFM 314FX 319FY 320FZ 321TM 369TX 370TY 371TZ 372

Using ADAMS/Solver

Fun

ctio

ns

Element-Specific Applied ForceBEAM 290BUSH 294FIELD 313GFORCE 322NFORCE 340SFORCE 353SPDP 358VFORCE 374VTORQ 377

Element-Specific Reaction ForceCVCV 302JOINT 330JPRIM 332MOTION 339PTCV 350

System ElementARYVAL 283DIF 304DIF1 305PINVAL 344POUVAL 348VARVAL 373

Arithmetic IFIF 326

InterpolationAKISPL 280CUBSPL 298CURVE 300

GeneralBISTOP 291CHEBY 295FORCOS 315FORSIN 317HAVSIN 324IMPACT 327POLY 346SHF 354STEP 360STEP5 363SWEEP 361

Using ADAMS/Solver 263

264

Fun

ctio

ns

Using ADAMS/Solver

ABS

Using ADAMS/Solver 265

Fun

ctio

ns

ABS

Definition TheABS function returns the absolute value of the expressiona.

Format ABS(a)

Arguments aAny valid function expression.

Number of Arguments: 1

Examples Variable/1, FUNCTION=ABS(DX(21,11)*VX(21,11)+DY(21,11)*VY(21,11)+ DZ(21,11)*VZ(21,11))

This variable statement defines a new state variable. Its value is theabsolute value of the radial velocity between Markers 21 and 11.

ACCM

266 Using ADAMS/Solver

Fun

ctio

ns

ACCM

Definition TheACCM function calculates the magnitude of the second time derivative ofthe displacement vector of markeri from markerj . The time derivatives aretaken in the reference frame of markerl . Markersj andl default to the globalcoordinate system and the global reference frame if they are not specified.

Format ACCM(i[,j][,l])

Arguments iThe marker whose acceleration is being measured.

jThe marker with respect to which the acceleration is being measured. Setj= 0, while still specifyingl , if you wantj default to the global coordinatesystem.

lThe reference frame in which the second time derivative of thedisplacement vector is taken. Setl = 0 if you want the time derivatives tobe calculated in the ground reference frame.

ExtendedDefinition

Mathematically,ACCM is calculated as follows:

ACCM =

where i is the displacement of markeri in ground and j is the displacement

of markerj in ground.

Note that for any vector quantity

where (A) and (B) represent two arbitrary reference frames.

Examples REQUEST/10, F2=ACCM(21,11)

This statement defines the second component of a user-defined request as themagnitude of translational acceleration of Marker 21 with respect to Marker11. Since thel marker is not specified, the derivatives are taken in theinertial reference frame.

REQUEST/10, F2=ACCM(21,11)

This statement defines the second component of a user-defined request as themagnitude of the translational acceleration of Marker 21 with respect toMarker 11. Vector time derivatives taken in reference to Marker 32.

d2

dt2

-------( )

Rid

2

dt2

-------( )

Rj– d

2

dt2

-------( )

Rid

2

dt2

-------( )

Rj–

•1 2⁄

R R

p

ddt----

A( )p

ddt----

B( )p≠

ACCX

Fun

ctio

ns

et

g

ACCX

Definition TheACCX function returns the x-component of the difference between theacceleration vector of markeri and the acceleration vector of markerj ascomputed in the coordinate system of markerk . All vector time derivatives aretaken in the reference frame of markerl . Markerj defaults to the globalcoordinate system if it is not specified. Similarly, markersk andl default tothe global coordinate system and the global reference frame if they are notspecified.

Format ACCX(i[,j][,k][,l])

Arguments iThe marker whose acceleration is being measured.

jThe marker with respect to which the acceleration is being measured. Sj = 0, while still specifyingl , if you wantj to default to the globalcoordinate system.

kThe marker in whose coordinate system the acceleration vector is beinexpressed. Setk = 0 if you want the results to be calculated along thex-axis of the global coordinate system.

lThe reference frame in which the second time derivative of thedisplacement vector is taken. Setl = 0 if you want the time derivatives tobe taken in the ground reference frame.

ExtendedDefinition

Mathematically,ACCX is calculated as follows:

ACCX =

where i is the displacement of markeri in ground, j is the displacement of

markerj in ground, and k is the unit vector along the x-axis of markerk .

d2

dt2

-------( )

Rid

2

dt2

-------( )

Rj– xk•

R R

x

Using ADAMS/Solver 267

ACCX

268

Fun

ctio

ns

tion

e

tion

re

Examples DIFF/1, IC=0, FUNCTION=ACCX(21,11)

This statement defines a user-specified differential equation. The timederivative of the state is specified to be the x-component of the acceleraof Marker 21 with respect to Marker 11. The coordinate system forcalculating the component, and for referencing the frame that takes timderivatives, defaults to ground.

DIFF/2, IC=1, FUNCTION=ACCX(21,0,31)

This statement defines a user-specified differential equation. The timederivative of the state is specified to be the x-component of the acceleravector of Marker 21 with respect to the global origin. The vector isexpressed in the coordinate system of Marker 31. All time derivatives ataken in the inertial reference frame since thel marker is not specified.

Using ADAMS/Solver

ACCY

U

Fun

ctio

ns

et

g

ACCY

Definition TheACCY function returns the y-component of the difference between theacceleration vector of markeri and the acceleration vector of markerj ascomputed in the coordinate system of markerk . All vector time derivatives aretaken in the reference frame of markerl . Markerj defaults to the globalcoordinate system if it is not specified. Similarly, markersk andl default tothe global coordinate system and the global reference frame if they are notspecified.

Format ACCY(i[,j][,k][,l])

Arguments iThe marker whose acceleration is being measured.

jThe marker with respect to which the acceleration is being measured. Sj= 0, while still specifyingl , if you wantj to default to the globalcoordinate system.

kThe marker in whose coordinate system the acceleration vector is beinexpressed. Setk = 0 if you want the results to be calculated along thex-axis of the global coordinate system.

lThe reference frame in which the second time derivative of thedisplacement vector is taken. Setl = 0 if you want the time derivatives tobe taken in the ground reference frame.

ExtendedDefinition

Mathematically,ACCY is calculated as follows:

ACCY =

where i is the displacement of markeri in ground, j is the displacement of

markerj in ground, and k is the unit vector along the y-axis of markerk .

d2

dt2

-------( )

Rid

2

dt2

-------( )

Rj– yk•

R R

y

sing ADAMS/Solver 269

ACCY

270

Fun

ctio

ns

tion

e

tion

re

Examples DIFF/1, IC=0, FUNCTION=ACCX(21,11)

This statement defines a user-specified differential equation. The timederivative of the state is specified to be the x-component of the acceleraof Marker 21 with respect to Marker 11. The coordinate system forcalculating the component, and for referencing the frame that takes timderivatives, defaults to ground.

DIFF/2, IC=1, FUNCTION=ACCX(21,0,31)

This statement defines a user-specified differential equation. The timederivative of the state is specified to be the x-component of the acceleravector of Marker 21 with respect to the global origin. The vector isexpressed in the coordinate system of Marker 31. All time derivatives ataken in the inertial reference frame since thel marker is not specified.

Using ADAMS/Solver

ACCZ

Fun

ctio

ns

Set

g

nt

ACCZ

Definition TheACCZ function returns the z-component of the difference between theacceleration vector of markeri and the acceleration vector of markerj ascomputed in the coordinate system of markerk . All vector time derivatives aretaken in the reference frame of markerl . Markerj defaults to the globalcoordinate system if it is not specified. Similarly, markersk andl default tothe global coordinate system and the global reference frame if they are notspecified.

Format ACCZ(i[,j][,k][,l])

Arguments iThe marker whose acceleration is being measured.

jThe marker with respect to which the acceleration is being measured. j = 0, while still specifyingl , if you wantj default to the globalcoordinate system.

kThe marker in whose coordinate system the acceleration vector is beinexpressed. Setk = 0 if you want the results to be calculated along thex-axis of the global coordinate system.

lThe reference frame in which the first time derivative of the displacemevector is taken. Setl = 0 if you want the time derivatives to be taken inthe ground reference frame.

ExtendedDefinition

Mathematically,ACCZ is calculated as follows:

ACCZ =

where i is the displacement of markeri in ground, j is the displacement of

markerj in ground, and k is the unit vector along the z-axis of markerk .

d2

dt2

-------( )

Rid

2

dt2

-------( )

Rj– zk•

R R

z

Using ADAMS/Solver 271

ACCZ

272

Fun

ctio

ns

tion

e

tion

re

Examples DIFF/1, IC=0, FUNCTION=ACCX(21,11)

This statement defines a user-specified differential equation. The timederivative of the state is specified to be the x-component of the acceleraof Marker 21 with respect to Marker 11. The coordinate system forcalculating the component, and for referencing the frame that takes timderivatives, defaults to ground.

DIFF/2, IC=1, FUNCTION=ACCX(21,0,31)

This statement defines a user-specified differential equation. The timederivative of the state is specified to be the x-component of the acceleravector of Marker 21 with respect to the global origin. The vector isexpressed in the coordinate system of Marker 31. All time derivatives ataken in the inertial reference frame since thel marker is not specified.

Using ADAMS/Solver

ACOS

Using ADAMS/Solver 273

Fun

ctio

ns

ACOS

Definition TheACOS function calculates the arc cosine of an expressiona. Expressionamust evaluate to a value whose absolute value is less than or equal to 1. The

value returned byACOS lies in the range [0,π] (i.e., 0 ACOS(a) π).

Format ACOS(a)

Arguments aAny valid function expression.

Number of Arguments: 1

Examples VARIABLE/1, FU=ACOS((DX(21,11)*DX(31,41)+DY(21,11)*DY(31,41)+ DZ(21,11)*DZ(31,41))/(DM(21,11)*DM(31,41))

This statement specifies a new user-defined state variable. Its value is theincluded angle of the lines joining Markers 11 and 21 and Markers 41 and31. The result is in radians.

≤ ≤

AINT

274 Using ADAMS/Solver

Fun

ctio

ns

AINT

Definition TheAINT function returns the nearest integer whose magnitude is not largerthan the integer value of the expressiona.

AINT(a) = 0 if ABS(a) < 1

AINT(a)=int(a) if ABS(a) 1

The value of the mathematical functionint of a variablex is equal tox if x isan integer. Ifx is not an integer, thenint(x) is equal to the nearest integer tox whose magnitude is not greater than the magnitude ofx . Thusint (-7.0) = -7,int (-4.8) = -4, andint (4.8) = 4.

Format AINT(a)

Arguments aAny valid function expression.

Number of Arguments: 1

Cautions Note thatAINT is not a differentiable function. Be careful when using thisfunction in an expression that defines a force or motion input to the system.

Examples AINT(-6.5)= 0

AINT(4.6)= 4

AKISPL

Fun

ctio

ns

ng

at

d

r a

in a

AKISPL

Definition TheAKISPL function returns theiord derivative of the interpolated value ofSPLINE/ id atX=x andZ=z .

Format AKISPL (x,z,id)

or

AKISPL (x,0,id [,iord])

Arguments xA real variable that specifies the independent variable value along thex-axis of theAKISPL .

zA real variable that specifies the second independent variable value alothe z-axis of the surface being interpolated. Specifyz = 0 if theSPLINEstatement defines only one curve.

idAn integer variable that specifies the identifier of aSPLINE statement thatyou define in the ADAMS/Solver dataset.

iordAn integer variable that specifies the order of the derivative to be takenthe interpolated point.iord may not be specified when interpolating on asurface (i.e., whenz 0).

Range: 0 iord 2

ExtendedDefinition

TheAKISPL function uses the Akima method of interpolation to create aspline function across a set of data points. The data points to be interpolateare defined by aSPLINE statement in the ADAMS/Solver dataset. TheSPLINE that you define in the dataset may represent a curve (x-y points) osurface (x-y-z points). Interpolation in the y direction is cubic, andinterpolation in the z direction is linear. To interpolate the values specified curve, setz = 0.

iord specifies the order of the derivative and may be used only wheninterpolating a curve (i.e., whenz = 0).

≤ ≤

Using ADAMS/Solver 275

AKISPL

276

Fun

ctio

ns

e

AKISPL is very fast, since it uses local methods. It always produces goodresults for the value of the function being approximated.AKISPL returns goodestimates for the first derivative of the approximated function when the datapoints are evenly spaced. In instances where the data points are unevenlyspaced, the estimate of the first derivative may be in error. In all cases, thesecond derivative of the function being approximated is unreliable.

Examples SFORCE/1, I=409, J=109, TRANSLATION, FUNCTION=AKISPL(TIME, 0, 1, 1)

This SFORCE statement defines a translational force that acts betweenMarkers 409 and 109. TheSPLINE statement provides the discrete dataused to generate the interpolation function using the Akima spline. SincthisSPLINE statement defines only one curve, the value ofz is defined tobe 0.AKISPL returns the first derivative of the spline at the interpolatedpoint sinceiord = 1.

Using ADAMS/Solver

ANINT

Using ADAMS/Solver 277

Fun

ctio

ns

ANINT

Definition TheANINT function calculates the nearest integer whose magnitude is notlarger than the real value of the expressiona.

ANINT(a) = int (a + .5) if a 0

ANINT(a) = int (a - .5) if a < 0

The value of the mathematical functionint of a variable x is equal to x if x is aninteger. If x is not an integer, thenint(x) is equal to the nearest integer tox whose magnitude is not greater than the magnitude of x. Thusint (-7.0) = -7,int (-4.8) = -4, andint (4.8) = 4.

Format ANINT(a)

Arguments aAny valid function expression.

Number of arguments: 1

Examples ANINT(-4.6)= -5

ANINT(4.6)= 5

ARYVAL

278 Using ADAMS/Solver

Fun

ctio

ns

ARYVAL

Definition TheARYVAL function returns componentcomp of ARRAY/id . Depending onthe definition ofARRAY/id , this may be a constant that you defined in theADAMS/Solver dataset, an input to anLSE, GSE or TFSISO, a state variabledefined by anLSE, GSE or TFSISO, or an output from anLSE, GSE orTFSISO.

Format ARYVAL (id, comp)

Arguments idThe identifier of the array whose data is being requested.

compAn integer that specifies the component of the array to be returned.

Examples ARRAY/17, NUM=11.465,2.321SFORCE/19, ROT, I=23, J=11, FUNCTION=-ARYVAL(17,1)*(AZ(23,11)-ARYVAL(17,2))

This example illustrates how a value defined in anARRAY statement can beaccessed using theARYVAL 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. TheA, B, C, andDmatrices for thisLSE are defined by matrices 11-14.

ARRAY/1, X, SIZE=2ARRAY/2, U, SIZE=1, VAR=1ARRAY/3, U, SIZE=3

These threeARRAY statements specify thatLSE/1 as having two states, oneinput that is specified byVARIABLE/1 and three outputs.

SFORCE/6, ROT, I=23, J=11, FUNCTION=ARYVAL(3,2)

The second output of theLSE is used to define a torque acting on the system.

ASIN

Using ADAMS/Solver 279

Fun

ctio

ns

ASIN

Definition TheASIN function computes the arc sine of an expressiona. ASIN is definedonly when the absolute value ofa is less than or equal to 1. The range ofASIN

is [-π/2, π/2] (i.e., -π/2 ASIN(a) π/2).

Format ASIN(a)

Arguments aAny valid function expression.

Number of arguments: 1

Examples DIFF/1, IC=1.05, FUNCTION=ASIN(DX(21,11)/DM(21,11))

This statement defines a user-specified differential equation. The initialvalue of the state variable is 1.05. The time derivative of the state variable isthe expressionASIN(DX(21,11)/DM(21,11)).

≤ ≤

ATAN

280 Using ADAMS/Solver

Fun

ctio

ns

ATAN

Definition TheATAN function returns the arc tangent of an expressiona. The range ofATAN is [-π/2, π/2] (i.e., -π/2 < ATAN(a) < π/2).

Format ATAN(a)

Arguments aAny valid function expression.

Number of arguments: 1

Examples SFORCE/1, ROTATIONAL, I=21, J=11, FUNCTION=-10*ATAN(DY(42,33)/DX(42,33))

ThisSFORCE statement defines a torque acting between Markers 21 and 11.The value of the torque is the spring constant (10) multiplied by the anglebetween the line joining Markers 33 and 42 and the global x-axis as shownin Figure 58.

Figure 58. Example Illustrating the Use of the ATAN Function

Marker 33

Marker 43

θ DX(42,33)

DY(42,33)

θ = ATAN(DY42,33)/DX(42,33))

ATAN2

Using ADAMS/Solver 281

Fun

ctio

ns

ATAN2

Definition TheATAN2 function expression returns the arc tangent of the expressiona1/a2. a1 anda2 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, anda2 = 0

Format ATAN2(a1,a2)

Arguments a1Any valid function expression.

a2Any valid function expression.

Examples VARIABLE/1,, FUNCTION=ATAN2(DY(21,31,41), DX(21,31,41))

This VARIABLE statement defines an algebraically-determined, user-defined state variable in ADAMS/Solver. Its value is specified by theexpression containingATAN2.

AX

282

Fun

ctio

ns

ut

te the

AX

Definition TheAX function returns the rotational displacement of markeri about thex-axis of markerj . Markerj defaults to the global coordinate system if it isnot specified. This value is computed as follows: assume that rotations abothe other two axes (y- and z-axes) of markerj are zero. ThenAX is the anglebetween the two y-axes (or the two z-axes).AX is measured in a counter-clockwise sense from the y-axis of markerJ to the y-axis of markerI (seeFigure 59).

Figure 59. Measurement of AX

Format AX(i[,j])

Arguments iThe marker whose rotations are being sought.

jThe marker whose coordinate system is used as a reference to calcularotations of markeri . Whenj is not specified, Solver defaults to theglobal coordinate system.

ExtendedDefinition

Mathematically,AX is calculated as:

where i is the y-axis of markeri , j is the y-axis of markerj and j is the

z-axis of markerj .

yi

yj

zj

zi

AX(I,J)

AX ATAN2 yi zj yi yj•,•( )=

y y z

Using ADAMS/Solver

AX

Fun

ctio

ns

the

the

kerse

Examples GFORCE/1, I=21, JFLOAT=31, RM=41, FX=-20*AX(43,32)

ThisGFORCE statement applies a force at the origin of Marker 21 along x-axis of Marker 41. The reaction force is on floating Marker 31. Thefloating Marker 31 can belong to another part but its location is always same as Marker 21.

The value of the force is -20 times the angle between the y axes of Mar43 and 32. The angle is measured in a counterclockwise sense from thy-axis of Marker 32 to the y-axis of Marker 43.

Cautions Note that ADAMS/Solver calculates theAX angle displacement differentlyfor aBUSHING, FIELD , BEAM, andGFORCE. One reason for usingdifferent angles is to allow for large rotations about the z-axis.ADAMS/Solver computes the angle displacement as follows:

AX ATAN2 zi– yj zi zj•,•( )=

Using ADAMS/Solver 283

AY

284 Using ADAMS/Solver

Fun

ctio

ns

AY

Definition TheAY function returns the rotational displacement of markeri about they-axis of markerj . Markerj defaults to the global coordinate system if it isnot specified. The values are computed as follows: assume rotations about theother two axes (x-, z-axes) of markerj are zero. ThenAY is the angle betweenthe two x-axes (or the two z-axes).AY is measured counter- clockwise from thex-axis of theJ marker to the x-axis of theI marker (see Figure 60).

Figure 60. Measurement of AY

Format AY(i[,j])

Arguments iThe marker whose rotations are being sought.

jThe marker with respect to which the rotations are being measured.

ExtendedDefinition

Mathematically,AY is calculated as:

where i is the z-axis of markeri , j is the x-axis of markerj and j is the

z-axis of markerj .

Examples SFORCE/10, ROTATION, I=23, J=34, FUNCTION=-4*(AY(46,57)**2)

This SFORCE statement applies a moment about the common z-axes ofMarkers 23 and 34. The torque acts on Marker 23; the reaction torque actson Marker 34.

The value of the torque being applied is -4 times the square of the anglebetween the x axes of Markers 46 and 57. The angle is measured in acounterclockwise sense from the x-axis of Marker 57 to the x-axis ofMarker 46.

xi

xj

zj

yi

AY(I,J)

AY ATAN2 zi xj zi zj•,•( )=

z x z

AZ

Using ADAMS/Solver 285

Fun

ctio

ns

AZ

Definition TheAZ function returns the rotational displacement of markeri about thez-axis of markerj . Markerj defaults to the global coordinate system if it isnot specified. This value is computed as follows: assume that rotations aboutthe other two axes (x-, y-axes) of markerj are zero. ThenAZ is the anglebetween the two x-axes (or the two y-axes).AZ is measured in a counter-clockwise sense from the x-axis of theJ marker to the x-axis of theI marker(see Figure 61).

Figure 61. Measurement of AZ

Format AZ(i[,j])

Arguments iThe marker whose rotations are being sought.

jThe marker with respect to which the rotations are being measured.

ExtendedDefinition

Mathematically,AZ is calculated as:

where i is the x-axis of markeri , j is the x-axis of markerj and j is the

y-axis of markerj .

Examples VTORQUE/1, I=21, JFLOAT=31, RM=41, TX=-10*(AX(21,32)-10D)\, TY=-15*(AY(21,32)-15D)\, TZ=-30*(AZ(21,32)-25D)

This VTORQUE statement applies a moment at Marker 21. The reactionmoment is at the floating Marker 31. The torques are expressed in thecoordinate system of Marker 41.

xi

xj

yi

AZ(I,J)

yj

AZ ATAN2 xi yj xi xj•,•( )=

x x y

BEAM

286 Using ADAMS/Solver

Fun

ctio

ns

BEAM

Definition TheBEAM function returns componentcomp of a force due toBEAM/id ascalculated in the coordinate system of markerrm. If jflag is set to zero, thevalue returned is the force/torque acting on theI marker of theBEAM. Ifjflag is set to 1, the value returned is that acting on theJ marker.rm may bespecified as zero if the results are desired in the global coordinate system.

Format BEAM (id, jflag, comp, rm)

Arguments idAn integer specifying the identification member of the beam.

jflagAn integer flag specifying the beam connectivity marker at which theforces and torques are computed.

0 = forces and moments at theI marker

1 = forces and moment at theJ markercomp

An integer value that specifies the component of the beam force to bereturned.

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 torquerm

The coordinate system in which the results are expressed. To return theresults in the global coordinate system, setrm = 0.

Examples REQUEST/1, F2=BEAM(1001,0,2,0)\, F3=BEAM(1001,0,3,0)\, F4=BEAM(1001,0,4,0)

ThisREQUEST statement stores the x-, y-, and z-component of the forces inBEAM/1001 in columns 2, 3, and 4, respectively. The forces are calculatedat theI marker. The results are computed in the global coordinate system.

BISTOP

Fun

ctio

ns

le,

e

t.

BISTOP

Definition TheBISTOP function models a gap element (see figure 5).

Format BISTOP (x, , x1, x

2, k, e, c

max, d)

Arguments xThe distance variable you want to use to compute the force. For exampif you want to use thex displacement of Marker 0201 with respect to0301, thenx is DX(0201,0301,0301) .

The time derivative ofx to BISTOP. For example, ifx isDX(0201,0301,301) then isVX(0201,0301,0301,0301) .

x1The lower bound ofx . If x is less thanx1 ADAMS/Solver calculates apositive value for the force. The value ofx1 must be less than the value ofx2.

x2The upper bound ofx . If x is greater thanx2 ADAMS/Solver calculates anegative value for the force. The value ofx2 must be greater than thevalue ofx1.

kA non-negative value that specifies the stiffness of the boundary surfacinteraction.

eA positive value that specifies the exponent of the force deformationcharacteristic. For a stiffening spring characteristic,e > 1.0. For asoftening spring characteristic, 0 <e < 1.0.

cmaxA non-negative variable that specifies the maximum damping coefficien

dA positive real variable that specifies the penetration at which the fulldamping coefficient is applied.

x

x

x

Using ADAMS/Solver 287

BISTOP

288

Fun

ctio

ns

on

onct

on

hus

rt

ot.

ExtendedDefinition

TheBISTOP function models a gap element. Figure 62 illustrates theBISTOPforce. The gap element consists of a slot which defines the domain of motiof a Part I located in the slot. As long as Part I is inside the slot and has nointerference with the ends of the slot, it is free to move without forces actingit. When Part I tries to move beyond the physical definition of the slot, impaforces representing contact are created by theBISTOP function. The createdforce tends to move Part I back into the slot.

TheBISTOP force has two components: A stiffness component dependent the penetration of Part I into the restricting Part J and a damping or viscouscomponent that may be used to model energy loss.

Figure 62. Example of the BISTOP Function

To prevent a discontinuity in the damping force at zero penetration, thedamping coefficient is defined as a cubic step function of the penetration. Tat zero penetration, the damping coefficient is always zero. The dampingcoefficient achieves a maximum,cmax, at a user-defined penetration,d. Even

though the points of contact between the floating part and the restricting pamay change as the system moves, ADAMS/Solver always exerts the forcebetween theI and theJ markers.

Examples You may model a slider in a slot with aBISTOP function as depicted inFigure 62. Assume a translational joint constrains the slider to move in a slThe line of translation is along the colinear z-axes of theI and theJ markers,I belonging to the slider andJ to the part containing the slot. You can use anSFORCE statement together with theBISTOP function to restrict themovement of the slider in the slot and model the “gap.”

x

N

z

L

I

M1 M2

z

x

J

^

^^

Using ADAMS/Solver

BISTOP

Fun

ctio

ns

f

ts

In Figure 62,x is the instantaneous distance between theI and theJ markers,N is the distance between theJ marker and the left end of the slot, M1 is thedistance between theI marker and the left edge of the floating part, L is thelength of the slot, M2 is the distance between theI marker and the right edgeof the floating part,x1 is the instantaneous distance between theI and the

J markers when the floating part first comes into contact with the left end othe slot, andx2 is the instantaneous distance between theI and theJ markers

when the floating part first comes into contact with the right end of the slot.

Hence, the parameters for theBISTOP function for this example are:

x = DZ(I,J,J) and = VZ(I,J,J,J)

x = N + M1 for the left end of the slot and

x = N + L - M2 for the right end of the slot or

x1 = N + M1, and

x2 = N + L - M2

Note that whenx1 x x 2 there is no penetration and the force is zero

(penetrationp = 0); whenx < x1 penetration occurs at the end closer to theJ marker and the force is > 0 (penetrationp = x1 - x ); and whenx > x1

penetration occurs at the end farther away from theJ marker, and the force is< 0 (penetrationp = x - x2).

Also note than whenp < d the instantaneous damping coefficient is a cubicstep function of the penetration,p; whenp > d the instantaneous dampingcoefficient iscmax.

TheBISTOP function for this example is:

BISTOP(DZ(I,J,J,J), VZ(I,J,J,J), x 1, x 2, k, e, c max, d)

The values ofk , e, cmax, andd depend on the materials used in the two parand on the shapes of the parts and are used to define the contact force.

TheBISTOP force can be mathematically expressed as follows:

x

≤ ≤

BISTOP

Min(k*(x x) STEP(x,x d,c ,x ,0)*x',0) : x < x

0 : x x x

Max( k*(x x ) STEP(x,x ,0,x d,c )*x',0): x x

1 1 max 1 1

1 2

2 2 2 max 2

e

e

=− − −

≤ ≤

− − − + >

Using ADAMS/Solver 289

BUSH

290 Using ADAMS/Solver

Fun

ctio

ns

BUSH

Definition TheBUSH function returns componentcomp of a force due toBUSHING/idas calculated in the coordinate system of markerrm. If jflag is set to zero,the value returned is the force/torque acting on theI marker of theBUSHING.If jflag is set to 1, the value returned is that acting on theJ marker.rm maybe specified as zero if the results are desired in the global coordinate system.

Format BUSH (id, jflag, comp, rm)

Arguments idAn integer specifying the identification member of the bushing.

jflagAn integer flag specifying the bushing connectivity marker at which theforces and torques are computed.

0 = forces and moments at theI marker

1 = forces and moment at theJ markercomp

An integer value that specifies the component of the bushing force to bereturned.

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 torquerm

The coordinate system in which the results are expressed. To return theresults in the global coordinate system, setrm = 0.

Examples REQUEST/1, F2=BUSH(1001,0,2,0)\, F3=BUSH(1001,0,3,0)\, F4=BUSH(1001,0,4,0)

ThisREQUEST statement stores the x-, y-, and z-component of the forces inBUSH/1001 in columns 2, 3, and 4, respectively. The forces are calculatedat theI marker. The results are computed in the global coordinate system.

CHEBY

Using ADAMS/Solver 291

Fun

ctio

ns

CHEBY

Definition TheCHEBY function evaluates a Chebyshev polynomial at a user specifiedvaluex .

Format CHEBY (x, x 0, a 0, a 1,..., a 30)

Arguments xAn expression that specifies the independent variable. For example, if theindependent variable in the function is time,x is the system variableTIME.

x0The phase shift in the Chebyshev polynomial.

a0,a 1,...,a 30The coefficients for the Chebyshev polynomial. A maximum of thirty-onecoefficients may be specified.

ExtendedDefinition

TheCHEBY function evaluates a Chebyshev polynomial at a user specifiedvaluex . x0, a0, a

1,... , a

30 are parameters used to define the constants for

the Chebyshev polynomial. The Chebyshev polynomial is defined as:

C(x) = ∑ aj Tj (x-x 0)

where the functions Tj are recursively defined as:

Tj (x-x 0) = 2 * (x-x 0) * Tj-1 (x-x 0) - Tj- 2 (x-x 0)

with T0 (x-x 0) = 1, andT1 (x-x 0) = x-x 0.

The index “j” has a range from zero to “n”, where “n” is the number of terms inthe series.

Note that:T2 (x-x 0) = 2 * (x- x 0) 2 - 1

T3 (x-x 0) = 4 * (x- x 0) 3 - 3 * (x- x 0)

Examples MOTION/1, JOINT=21, TRANSLATION,,FUNCTION = IF (TIME-2:CHEBY(TIME, 1, 1, 0, -1), 0, 0)

This MOTION statement defines a motion using a quadratic Chebyshevpolynomial and the system variableTIME. The arithmeticIF ensures thatthe function remains zero after 2 time units. When time is less than 2 timeunits, ADAMS/Solver evaluates a Chebyshev polynomial to determine themotion. The polynomial defined in the above example is:

Cheby = 1 + 0 *(time -1) - 1 * [ 2 (time -1)2 - 1]

= 2*time2 - 4*time

COS

292 Using ADAMS/Solver

Fun

ctio

ns

COS

Definition TheCOS function returns the cosine of an expressiona.

Format COS(a)

Arguments aAny valid function expression.

Number of Arguments: 1

Examples MOTION/2060, JOINT=2060, ROTATION,, FUNCTION=20D+COS(2*PI*TIME)

This MOTION statement defines a rotational motion acting onJOINT/2060 . The rotational degree of freedom is specified to be20D+COS(2*PI*TIME) .

COSH

Using ADAMS/Solver 293

Fun

ctio

ns

COSH

Definition TheCOSH function computes the hyperbolic cosine of an expressiona.

COSH(a) = (ea + e-a) / 2.0

Format COSH(a)

Arguments aAny valid function expression.

Number of Arguments: 1

Examples REQUEST/36,, F2=COSH(DZ(21,11,11))

ThisREQUEST statement returns the hyperbolic cosine of the z-componentof the displacement of Marker 21 with respect to Marker 11 in its secondcolumn. The result is computed in the coordinate system of Marker 11.

CUBSPL

294

Fun

ctio

ns

ng

ate the

ce z

CUBSPL

Definition TheCUBSPL function returns the interpolated value ofSPLINE/ id atX=xandZ=z or returns theiord derivative at the interpolated value ofSPLINE/ id atX=x, Z=0.

Format CUBSPL (x, z, id)

or

CUBSPL (x, 0, id [,iord])

Arguments xA real variable that specifies the independent variable value along thex-axis of theCUBSPL.

zA real variable that specifies the second independent variable value alothe z-axis of the surface being interpolated. If theSPLINE statementdefines only one curve, ADAMS/Solver ignores this variable.

idAn integer variable that specifies the identifier of aCUBSPL statement.

iordAn optional integer that specifies the order of the derivative at theinterpolate value to be returned byCUBSPL.

Range: 0 iord 2

ExtendedDefinition

TheCUBSPL function uses the standard cubic method of interpolation to crea spline function across a set of data points. The data points are defined inSPLINE statement in ADAMS/Solver data deck. TheSPLINE that you definein the ADAMS/Solver dataset may represent a curve (x-y points) or a surfa(x-y-z points). Interpolation in the y direction is cubic and interpolation in thedirection is linear. To interpolate the values specified in a curve, setz = 0.

iord specifies the order of the derivative and may be used only wheninterpolating a curve (i.e., whenz = 0).

≤ ≤

Using ADAMS/Solver

CUBSPL

Fun

ctio

ns

be

s ofr the

the

CUBSPL, though not as fast asAKISPL , always produces good results for thevalue of the function being approximated, its first and second derivatives.There is no requirement on the data points being evenly spaced. This mayan important consideration when you use splines to define functions inADAMS/Solver. The solution process often requires estimates of derivativethe functions being defined. The smoother a derivative is, the easier it is fosolution process to converge.

If the spline data contains sudden changes in value, theCUBSPL function givesmore oscillatory results for the curve or surface than are given by theAKISPLfunction.

Examples SPLINE/1,, X= -3, -2, -1, 0, 1, 2, 3, Y= -67.4, -48.6, -33.7, 4.8, 24.12, 37.6, 48.4

SFORCE/1, I=409, J=109, TRANSLATION,, FUNCTION=CUBSPL(TIME, 0, 1)

This SFORCE statement defines the translational force acting betweenMarkers 409 and 109. TheSPLINE statement provides the discrete dataused to generate the interpolation function using the cubic spline. SinceSPLINE statement defines only one curve, the value ofz is defined to be 0.

Using ADAMS/Solver 295

CURVE

296

Fun

ctio

ns

CURVE

Definition TheCURVE function evaluates a B-spline or user-written curve created by aCURVEstatement.

Format CURVE (alpha, iord, comp, id)

Arguments alphaA real variable that identifies the value of the independent parameter,α,at which theCURVE function evaluates the curve. If the curve is a B-spline computed by theCURVE statement,alpha must be in the domain-1 α 1. If the curve is computed by aCURSUB, alpha must be inthe domainMINPAR α MAXPAR (these are specified in theCURVEstatement).

iordAn integer variable that specifies the order of the derivative theCURVEfunction returns. The legal values are:

0 - returns the curve coordinate1 - returns the first derivative2 - return the second derivative

compAn integer variable that specifies the component that theCURVEfunctionreturns. The legal values are:

1 - returns the x coordinate or derivative2 - returns the y coordinate or derivative3 - returns the z coordinate or derivative

Parametersiord andicomp together allows you to request any one ofthe following nine return values.

iord icomp=1 icomp=2 icomp=3

0 x(α) y(α) z(α)

1

2

≤ ≤≤ ≤

dx α( )dα

--------------- dy α( )dα

--------------- dz α( )dα

--------------

d2x α( )

dα2----------------- d

2y α( )

dα2----------------- d

2z α( )

dα2-----------------

Using ADAMS/Solver

CURVE

Fun

ctio

ns

e

idAn integer variable that specifies the identifier of theCURVE statement.

Examples VFORCE/1, I=101, JFLOAT=201, RM=99,, FX=CURVE(.4*TIME - 1, 0, 1, 8)\, FY=CURVE(.4*TIME - 1, 0, 2, 8)\, FZ=CURVE(.4*TIME - 1, 0, 3, 8)

This example applies aVFORCE acting between Markers 101 and 201. ThCURVE statement defines the force components as a function ofalpha ,which varies from -1.0 to 1.0. The term .4*TIME-1 computes theinstantaneous value ofalpha from the simulation time.

Using ADAMS/Solver 297

CVCV

298

Fun

ctio

ns

e

e

e

CVCV

Definition TheCVCV function returns componentcomp of a force or torque due toCVCV/id as calculated in the coordinate system of markerrm. If jflag isset to zero, the value returned is the force/torque acting on theIFLOAT markerof theCVCV. If jflag is set to one, the value returned is that acting on theJFLOAT marker.rm may be specified as zero if the results are desired in thglobal coordinate system.

Format CVCV (id, jflag, comp, rm)

Arguments idAn integer specifying the identification member of the bushing.

jflagAn integer flag specifying the bushing connectivity marker at which theforces and torques are computed.

0 = forces and moments at theI marker

1 = forces and moment at theJ markercomp

An integer value that specifies the component of the bushing force to breturned.

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 torquerm

The coordinate system in which the results are expressed. To return thresults in the global coordinate system, setrm = 0.

Using ADAMS/Solver

CVCV

Fun

ctio

ns

d

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 anmoments acting at theIFLOAT marker ofCVCV Joint 210.

Using ADAMS/Solver 299

DIF

300 Using ADAMS/Solver

Fun

ctio

ns

DIF

Definition TheDIF function returns the value of the state variable associated withDIFF/ id .

Format DIF(id)

Arguments idAn integer variable that specifies the identifier of aDIFF statement.DIF/23, IC=4.67, FUNCTION=WZ(236,467)

Example: SFORCE/1, i=236, j=467, ROTATION, FUNCTION=-10*DIF(23-4*DIF1(23)

The DIF statement defines a rotational S-Force that acts along the commonz-axes of Markers 236 and 467.

The torque along the z-axes is defined to be -10 times the value of the statethat is defined by DIFF/23 -4 times the value of the time derivative of thestate that is defined by DIFF/23.

DIF1

Using ADAMS/Solver 301

Fun

ctio

ns

DIF1

Definition TheDIF1 function returns the value of the time derivative of the state variableassociated withDIFF/ id . In instances whereDIFF/ id is used to define animplicit algebraic equation,DIF1 returns an approximation of the timederivative obtained by numerical differencing.

Format DIF1(id)

Arguments idAn integer variable that specifies the identifier of aDIFF statement.

Examples SFORCE/1, I=21, J=11, ROTATION, FUNCTION= -20*(AZ(21,11)-10)**1.5, -5*WZ(21,11,11)

DIF/1, IC=0, FUNCTION=SFORCE(1,0,8,11)*WZ(21,11)

This SFORCE statement specifies a nonlinear rotational spring actingbetween Markers 21 and 11. The spring torque acts about the z axis ofMarker 11.DIF/1 specifies the instantaneous power used bySPRING/1 .

The expressionDIF(1) returns the integral of the instantaneous power(i.e., the total work done bySPRING/1 ). DIF1(1) returns theinstantaneous power inSPRING/1 .

DIM

302 Using ADAMS/Solver

Fun

ctio

ns

DIM

Definition TheDIM function calculates the positive difference of the instantaneous valuesof two expressionsa1 anda2 .

DIM(a1,a2) = 0 if a1 a2

DIM(a1,a2) =a1-a2 if a1 > a2

Format DIM(a1,a2)

Arguments a1Any valid function expression.

a2Any valid function expression.

Cautions DIM is a discontinuous function and must be used with caution.

DM

Using ADAMS/Solver 303

Fun

ctio

ns

DM

Definition TheDM function returns the magnitude of the translational displacement vectorfrom markerj to markeri . Markerj defaults to the global coordinate systemif it is not specified.DM is the distance between markersi andj and, bydefinition, is always non-negative.

Format DM(i[,j])

Arguments iThe marker whose origin is being measured.

jThe marker whose origin is the reference point for the displacementcalculation.

ExtendedDefinition

Mathematically,DM is calculated as follows:

DM =

where i is the displacement of markeri in the global coordinate system and

j is the displacement of markerj in the global coordinate system.

Examples SFORCE/1, I=21, J=11, TRANSLATION, FUNCTION=-30*(DM(21,11)-25)**1.72

ThisSFORCE statement defines a nonlinear spring whose free length is 25.The stiffness is 30 force units per unit deformation.DM(21,11)-25represent the deformation in the spring. 1.72 is the exponent to which thedeformation is raised.

Ri Rj–[ ] Ri Rj–[ ]• )1 2⁄

R

R

DTOR

304 Using ADAMS/Solver

Fun

ctio

ns

DTOR

Definition TheDTOR variable returns degrees to radians conversion factor (PI/180).

Format DTOR

Examples VARIABLE/1, FUNCTION=30*DTOR*TIME

This VARIABLE statement specifies a user-defined, algebraically-determined state variable whose value is 30 degrees*time. The state variableis stored in radians.

DX

Using ADAMS/Solver 305

Fun

ctio

ns

DX

Definition TheDX function returns the x-component of the translational displacementvector from markerj to markeri as expressed in the markerk coordinatesystem. Markerj defaults to the global coordinate system if it is not specified.Similarly, markerk defaults to ground if it is not specified.

Format DX(i[,j][,k])

Arguments iThe marker whose origin is being measured.

jThe marker whose origin is the reference point for the displacementcalculation.

kThe marker that is referenced to calculate the x-component of thedisplacement vector. Setk = 0 if you want the results to be calculatedalong the x-axis of the global coordinate system.

ExtendedDefinition

Mathematically,DX is calculated as follows:

where i is the displacement of markeri in ground and j is the

displacement of markerj in ground and k is the unit vector along the x-axis

of markerk .

Examples VARIABLE/1, FUNCTION=DX(21,11,32)**2

This VARIABLE statement specifies a user-defined, algebraically-determined state variable. Its value is the square of the x-displacement ofMarker 21 with respect to Marker 11 as computed in the coordinate systemof Marker 32.

DX Ri Rj–[ ] xk•=

R R

x

DY

306 Using ADAMS/Solver

Fun

ctio

ns

DY

Definition TheDY function returns the y-component of the translational displacementvector from markerj to markeri as expressed in the markerk coordinatesystem. Markerj defaults to the global coordinate system if it is not specified.Similarly, markerk defaults to the global coordinate system if it is notspecified.

Format DY(i[,j][,k])

Arguments iThe marker whose origin is being measured.

jThe marker whose origin is the reference point for the displacementcalculation. Setj=0 if you wantj to default to the global coordinatesystem while still specifyingk .

kThe coordinates of the marker that are referenced to calculate coordinatesthe y-component of the displacement vector is being calculated. Setk = 0if you want the results to be calculated along the x-axis of the globalcoordinate system.

ExtendedDefinition

Mathematically,DY is calculated as follows:

where i is the displacement of markeri in the global coordinate system and

j is the displacement of markerj in the global coordinate system andk is

the unit vector along the y-axis of markerk .

Examples VARIABLE/1, FUNCTION=DY(21,11,32)**2

This VARIABLE statement specifies a user-defined, algebraically-determined state variable. Its value is the square of the y-displacement ofMarker 21 with respect to Marker 11 as computed in the coordinate systemof Marker 32.

DY Ri Rj–[ ] yk•=

R

R y

DZ

Using ADAMS/Solver 307

Fun

ctio

ns

DZ

Definition TheDZ function returns the z-component of the translational displacementvector from markerj to markeri as expressed in the markerk coordinatesystem. Markerj defaults to the global coordinate system if it is not specified.Similarly markerk defaults to the global coordinate system if it is notspecified.

Format DZ(i[,j][,k])

Arguments iThe marker whose origin is being measured.

jThe marker whose origin is the reference point for the displacementcalculation. Setj=0 if you wantj to default to the global coordinatesystem while still specifyingl .

kThe marker in whose coordinates the z-component of the displacementvector is being calculated. Setk = 0 if you want the results to be calculatedalong the x-axis of the global coordinate system.

ExtendedDefinition

Mathematically,DZ is calculated as follows:

where i is the displacement of markeri in ground and j is the

displacement of markerj in ground and k is the unit vector along the z-axis

of markerk .

Examples VARIABLE/1, FUNCTION=DZ(21,11,32)**2

This VARIABLE statement specifies a user-defined, algebraically-determined state variable. Its value is the square of the z-displacement ofMarker 21 with respect to Marker 11 as computed in the coordinate systemof Marker 32.

DZ Ri Rj–[ ] zk•=

R R

z

EXP

308 Using ADAMS/Solver

Fun

ctio

ns

EXP

Definition TheEXP function computes the value ea, wherea is any expression.

Format EXP(a)

Arguments aAny valid function expression.

Number of arguments: 1

Examples REQUEST/10, F2=EXP(WDTX(21,11,11,31))

In its second column,REQUEST/10 stores the value, eWDTX(21,11,11,31) ,

where WDTX (21,11,11,31) is the x-component of the accelerations ofMarker 21 with respect to Marker 11 as expressed in the coordinate systemof Marker 11. The time derivative is taken in the reference frame ofMarker 31.

FIELD

Using ADAMS/Solver 309

Fun

ctio

ns

FIELD

Definition TheFIELD function returns componentcomp of a force due toFIELD/ id ascalculated in the coordinate system of markerrm. If jflag is set to zero, thevalue that is returned is the force/torque acting on theI marker of theFIELD .If jflag is set to 1, the value that is returned is the value acting on theJ marker. For results that are in the global coordinate system, you can specifyrm as zero.

Format FIELD (id, jflag, comp, rm)

Arguments idAn integer specifying the identification member of theFIELD .

jflagAn integer flag specifying theFIELD connectivity marker at which theforces and torques are computed.

0 = forces and moments at theI marker

1 = forces and moment at theJ markercomp

An integer value that specifies the component of theFIELD force to bereturned.

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 torquerm

The coordinate system in which the results are expressed. To return theresults in the global coordinate system, setrm = 0.

Examples REQUEST/1, F2=FIELD(1001,0,2,0)\, F3=FIELD(1001,0,3,0)\, F4=FIELD(1001,0,4,0)

ThisREQUEST statement stores the x-, y-, and z-component of the forces inFIELD/1001 in columns 2, 3, and 4, respectively. Solver calculates theforces at theI marker, and computes results in the global coordinate system.

FM

310 Using ADAMS/Solver

Fun

ctio

ns

FM

Definition TheFM function returns the magnitude of thenet translational force acting atmarkeri due to all applied forces and constraints acting between markersiandj .

To calculate the magnitude of the net translational force at markeri due toaction-only forces acting ati , setj = 0 or do not specify thej marker.

Format FM(i[,j])

Arguments iAn integer that specifies the identifier of the marker at which themagnitude of the net force is to be calculated.

jA second integer that specifies a marker identifier. All forces actingbetween the[i,j] pair are included in the calculation. Setj = 0 or donot specify it if you are interested in action-only forces.

Examples VARIABLE/1, FUNCTION=FM(23)

A user-defined state variable is specified by thisVARIABLE statement. Itsvalue is the magnitude of the sum of all action-only forces acting atMarker 23.

VARIABLE/1, FUNCTION=FM(23,11)

A user-defined state variable is specified by thisVARIABLE statement. Itsvalue is the magnitude of the sum of all the forces at Marker 23 and actingbetween Markers 23 and 11.

FORCOS

Fun

ctio

ns

the

FORCOS

Definition TheFORCOS function evaluates a Fourier Cosine series at a user-specifiedvaluex . Thex0, 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 xA real variable that specifies the independent variable. For example, if independent variable in the function is time,x is the system variableTIME.

x0A real variable that specifies a shift in the Fourier Cosine series.

ωA real variable that specifies the fundamental frequency of the series.ADAMS/Solver assumesω is in radians per unit of the independentvariable unless you use aD after the value.

a0,a 1,...,a 30The real variables that define as many as thirty-one coefficients for theFourier Cosine series.

ExtendedDefinition

The Fourier Cosine series is defined:

F(x) = a 0 + * Tj (x-x 0)

where the functionsTj are defined as:

Tj (x-x 0) = cos{ j * ω * (x-x 0)}

The indexj has a range from 1 ton, wheren is the number of terms in theseries.

a j

j 1=

n

Using ADAMS/Solver 311

FORCOS

312

Fun

ctio

ns

. per

Examples MOTION/1, JOINT=21, TRANSLATION,, FUNCTION=FORCOS(TIME, 0, 360D, 1, 2, 3, 4)

This MOTION statement defines a harmonic motion as a function of timeThe motion has no shift, has a fundamental frequency of 1 cycle (360D)time unit, has a constant value of 1.0. The function defined is:

FORCOS = 1+2*COS(1*360D*TIME)+3*COS(2*360D*TIME)+4*COS(3*360D*TIME)

Figure 63 shows the curve.

Figure 63. Curve of a Harmonic Motion Defined by FORCOS

15.0

10.0

5.0

0.0

-5.0

15.0

10.0

5.0

0.0

-5.0

5.03.75

2.51.25

0.0 5.03.75

2.51.25

0.0

S

Using ADAMS/Solver

FORSIN

Fun

ctio

ns

lue

the

FORSIN

Definition TheFORSIN function evaluates a Fourier Sine series at a user specified vax . x0,a 0,a 1,...,a 30 are parameters used to define the constants for the

Fourier Sine series.

Format FORSIN (x, x0, w, a

0, a

1,..., a

30)

Arguments xA real variable that specifies the independent variable. For example, if independent variable in the function is time,x is the system variableTIME.

x0A real variable that specifies a shift in the Fourier Sine series.

ωA real variable that specifies the fundamental frequency of the series.ADAMS/Solver assumesω is in radians per unit of the independentvariable unless you use aD after the value.

a0A real variable that defines the constant bias term for the function.

a1,...,a 30The real variables that define as many as thirty-one coefficients for theFourier Sine series.

ExtendedDefinition

The Fourier Sine series is defined:

F(x) = a 0 + * Tj (x-x 0)

where the functionsTj are defined as:

Tj (x-x 0) = sin{ j * ω * (x-x 0)}

The indexj has a range from 1 ton, wheren is the number of terms in theseries

a j

j 1=

n

Using ADAMS/Solver 313

FORSIN

314

Fun

ctio

ns

.cle

ction

Examples MOTION/1, JOINT=21, TRANSLATION,, FUNCTION=FORSIN(TIME,-0.25, PI, 0, 1, 2, 3)

ThisMOTIONstatement defines a harmonic motion as a function of timeThe motion has a -0.25 second shift, a fundamental frequency of 0.5 cy(π radians or 180 degrees) per time unit, and no constant value. The fundefined is:

FORSIN = 0+SIN( π*(TIME+0.25))+2*SIN(2 π*(TIME+0.25))+3*SIN(3 π*(TIME+0.25))

Figure 64 shows the curve.

Figure 64. Curve of a Harmonic Motion Defined by FORSIN

6.0

3.0

0.0

-3.0

-6.0

6.0

3.0

0.0

-3.0

-6.0

5.03.75

2.51.25

0.0 5.03.75

2.51.25

0.0

Using ADAMS/Solver

FX

Using ADAMS/Solver 315

Fun

ctio

ns

FX

Definition TheFX function returns the x-component of the net translational force acting atmarkeri , as computed in the coordinate system of markerk . All forceelements acting between markersi andj are included in the calculation of theforce, unless the force is an action-only type force. To return the x-componentof the action-only forces acting at markeri , you should omit specification ofmarkersj andk or specify them to be zero.

Format FX(i[,j][,k])

Arguments iAn integer that specifies the identifier of the marker at which themagnitude of the net force is to be calculated.

jA second integer that specifies a marker identifier. All forces actingbetween the[i,j] pair are to be included in the calculation. Setj = 0 ordo not specify it if you are interested in action-only forces.

kAn integer that specifies the identifier of a marker (coordinate system) inwhich the x-component of the force is to be returned.k defaults to theglobal coordinate system when it is not specified.

Examples VARIABLE/1, FUNCTION=FX(23,0,432)

A user-defined state variable is specified by thisVARIABLE statement. Itsvalue isFX(23,0,432) . This is the x-component of the sum of all theaction-only forces acting at Marker 23. The x-axis of Marker 432 specifiesthe direction along which the net translation force is computed.

FY

316 Using ADAMS/Solver

Fun

ctio

ns

FY

Definition TheFY function returns the y-component of the net translational force acting atmarkeri , as computed in the coordinate system of markerk . All forceelements acting between markersi andj are included in the calculation of theforce, unless the force is an action-only type force. To return the y-componentof the action-only forces acting at markeri , you should omit specification ofmarkersj andk or specify them to be zero.

Format FY(i[,j][,k])

Arguments iAn integer that specifies the identifier of the marker at which themagnitude of the net force is to be calculated.

jA second integer that specifies a marker identifier. All forces actingbetween the[i,j] pair are to be included in the calculation. Setj = 0 ordo not specify it if you are interested in action-only forces.

kAn integer that specifies the identifier of a marker (coordinate system) inwhich the y-component of the force is to be returned.k defaults to theglobal coordinate system when it is not specified.

Examples SFORCE/1, I=132, J=234, TRANSLATION, ACTIONONLY, FUNCTION=-0.3*FY(677,866)

This SFORCE statement defines a translation, action-only force acting atMarker 132. The force is directed along the z-axis of Marker 234. The valueof the force is -0.3 times the y-component of the net force along the globaly-axis, acting at Marker 677. All forces acting between Markers 677 and 866are included in this calculation.

FZ

Using ADAMS/Solver 317

Fun

ctio

ns

FZ

Definition TheFZ function returns the z-component of the net translational force acting atmarkeri , as computed in the coordinate system of markerk . All forceelements acting between markersi andj are included in the calculation of theforce, unless the force is an action-only type force. To return the z-componentof the action-only forces acting at markeri , you should omit specification ofmarkersj andk or specify them to be zero.

Format FZ(i[,j][,k])

Arguments iAn integer that specifies the identifier of the marker at which themagnitude of the net force is to be calculated.

jA second integer that specifies a marker identifier. All forces actingbetween the[i,j] pair are to be included in the calculation. Setj = 0 ordo not specify it if you are interested in action-only forces.

kAn integer that specifies the identifier of a marker (coordinate system) inwhich the z-component of the force is to be returned.k defaults to theglobal coordinate system when it is not specified.

Examples SFORCE/1, I=23, J=11, TRANSLATION, ACTIONONLY, FUNCTION=STEP5(FX(34), -1.5, -200, 1.5, 200)

This SFORCE statement defines a translational, action-only, nonlinearforce. The force is directed along the z-axis of Marker 11. The value of theforce is a 5th order step function (seeSTEP5 on page 359). The independentvariable for theSTEP5 function isFX(34) , the net force acting along theglobal y-axis at Marker 34. Since noj marker is specified, only action-onlyforces acting at Marker 34 are included in the calculation ofFX() .

GFORCE

318

Fun

ctio

ns

e

GFORCE

Definition TheGFORCE function returns the componentcomp of the force inGFORCE/id in the coordinate system of markerrm. If jflag is set to zero,Solver returns the value of the force/torque that acts on theI marker ofGFORCE. If jflag is set to 1, Solver returns the value that acts on theJ marker. To obtain results in the global coordinate system, you can specifyrmas zero.

Format GFORCE (id, jflag, comp, rm)

Arguments idAn integer specifying the identification number of theGFORCE.

jflagAn integer flag specifying theGFORCE connectivity marker at which theforces and torques are computed.

0 = forces and moments at theI marker

1 = forces and moment at theJ markercomp

An integer value that specifies the component of theGFORCE to bereturned.

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 torquerm

The coordinate system in which the results are expressed. To return thresults in the global coordinate system, setrm = 0.

Using ADAMS/Solver

GFORCE

U

Fun

ctio

ns

nts

, as

Examples GFORCE/1, I=516, J=34, RM=23, FX=-0.3*GFORCE(1,0,4,23)\, FY=0\, FZ=IMPACT(DZ(516,0,23),VZ(516,0,23,23),4.6,1e5,1.5,10,0.01)

ThisGFORCE statement defines a force acting at Marker 516. The componeof 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 (seeIMPACT onpage 323) that is a function of the displacement and velocity of Marker 516seen by Marker 23.

sing ADAMS/Solver 319

HAVSIN

320

Fun

ctio

ns

HAVSIN

Definition TheHAVSIN function defines a haversine function. It is used most often torepresent a smooth transition between two functions.

Format HAVSIN (x, x 0, h 0, x 1, h 1)

Arguments xThe independent variable.

x0A real variable that specifies thex value at which the haversine functionbegins.

x1A real variable that specifies thex value at which the haversine functionends.

h0The initial value of the haversine function.

h1The final value of the haversine function.

ExtendedDefinition

TheHAVSIN function is used most often to represent a smooth transitionbetween two functions (Figure 65). As an example, aHAVSIN may be used tosmoothly ramp up the motion in a joint fromh0 to some constant valueh1.

Figure 65. Haversine Function

1.0

0.75

0.5

0.25

0.0

1.0

0.75

0.5

0.25

0.0

5.03.75

2.51.25

0.0 5.03.75

2.51.25

0.0

Using ADAMS/Solver

HAVSIN

U

Fun

ctio

nses to

2

The equation definingHAVSIN is:

a = (h0 + h1)/2

b = (h1 - h0)/2

c = (x - x0)/(x1 - x0)

Tips TheHAVSIN function behavior is similar to theSTEP functions (seeSTEPon page 356 andSTEP5 on page 359). TheHAVSIN is much smoother thaneither of these functions. The smoothness, however, causes its derivativbe larger than eitherSTEP or STEP5.

Examples MOTION/1, JOINT=21, TRANSLATION, FUNCTION=HAVSIN(TIME, 1, 0, 2, 1)

ThisMOTION statement defines a smooth transition from time 1 to timewith a displacement from 0 to 1.

HAVSIN

h :x x

( / ) :x x x

h :x x

0 0

0 1

1 1

=≤

+ − < <≥

a b c ** sin 2π π

sing ADAMS/Solver 321

IF

322 Using ADAMS/Solver

Fun

ctio

ns

IF

Definition The arithmeticIF function allows you to conditionally define a functionexpression.

Format IF (expression 1: expression 2, expression 3, expression 4)

ADAMS/Solver evaluates expression 1.

◆ If the value of expression 1 is less than zero, the arithmeticIF isevaluated using expression 2.

◆ If the value of expression 1 is zero, the arithmeticIF is evaluated usingexpression 3.

◆ If the value of expression 1 is greater than zero, the arithmeticIF isevaluated using expression 4.

Cautions When using an arithmeticIF function make sure that the resulting function iscontinuous. If the function is discontinuous, ADAMS/Solver may fail to find asolution when it encounters the discontinuity.

Examples SFORCE/1, I=20, J=31,, FUNCTION=-6*IF(VR(10,31): 0, 0, VR(10,31)**3)

This function is interpreted as follows:

◆ If the radial velocity (seeVR on page 374) between Markers 20 and 31is less than or equal to zero, the value ofSFORCE/1 is zero.

◆ If the radial velocity between Markers 10 and 31 is greater than zero,the value ofSFORCE/1 is -6*VR(10,31)**3 .

IMPACT

Fun

ctio

ns

For

h

IMPACT

Definition TheIMPACT function models collisions.

Format IMPACT (x, , x1, k, e, c

max, d)

Arguments xAn expression that specifies a distance variable that computes a force.example, if you use thex displacement of Marker 0201 with respect toMarker 0301, thenx is DX(0201,0301,0301) . SeeDX on page 305.

An expression that defines communicates the time derivative ofx toIMPACT. For example, ifx is DX(0201,0301) , then isVX(0201,0301,0,0301) .

x1A positive real variable that specifies the free length ofx . If x is less thanx1, then ADAMS/Solver calculates a positive value for the force.Otherwise, the force value is zero. You can definex1 as a real number,function, or variable.

kA non-negative real variable that specifies the stiffness of boundarysurface interaction.

eA positive real variable that specifies the exponent of the forcedeformation characteristic. For a stiffening spring characteristic,e > 1.0.For a softening spring characteristic, 0 <e < 1.0.

cmaxA non-negative real variable that specifies the maximum dampingcoefficient.

dA positive real variable that specifies the boundary penetration at whichADAMS/Solver applies full damping.

ExtendedDefinition

TheIMPACT function activates when the distance between theI and theJmarkers falls below a nominal free length (x1), that is, when two parts collide.

As long as the distance between theI andJ markers is greater thanx1, the

force is zero. An example of a system you can model with theIMPACTfunction is a ball falling towards the ground. Figure 66 shows the free lengtvaluex1 at which theIMPACT force turns on.

x

x

x

Using ADAMS/Solver 323

IMPACT

324

Fun

ctio

ns

ng or

a

e

ng

p

The force has two components, a spring or stiffness component and a dampiviscous component. The stiffness coefficient,k , is a function of the penetration oftheI marker within the free length distance from theJ marker. The stiffnesscomponent opposes the penetration. The damping component of the force isfunction of the speed of penetration. The damping opposes the direction ofrelative motion. To prevent a discontinuity in the damping force at contact, thdamping coefficient is, by definition, a cubic step function of the penetration.Thus, at zero penetration, the damping coefficient is always zero. The dampicoefficient achieves a maximum,cmax, at a user-defined penetration,d.

Figure 66. Example Illustrating the IMPACT Function

The equation definingIMPACT is:

Note that whenx ≥ x1, no penetration occurs and the force is zero (penetration

p = 0). Whenx < x1, penetration occurs at the end closer to theJ marker, and

the force is > 0 (penetrationp = x1 - x ).

Also note that whenp < d, the instantaneous damping coefficient is a cubic stefunction of the penetrationp.

Whenp > d, the instantaneous damping coefficient iscmax.ADAMS/Solver never returns a negative force forIMPACT. If the aboveexpression is negative, ADAMS/Solver returns a value of zero.

I

J x

d

x1

x

x1d

J

I

IMPACT =Max(0,k(x -x) STEP(x,x d,c ,x ,0)*x): x x

0 : x x1 1 max 1 1

1

e − − <≥

˙

Using ADAMS/Solver

IMPACT

Fun

ctio

ns

bjectd

f

and 25.

e

ofent

are

n isich

Figure 67 is a plot of damping coefficient versus penetration.

Figure 67. Damping Coefficient versus Penetration

Examples SFORCE/1, I=11, J=21, TRANSLATION, ACTIONONLY, FUNCTION=IMPACT(DZ(11,21,21),, VZ(11,21,21,21),1.0, 100, 1.5, 25, 0.1)

This statement defines an impact force when a ball penetrates another osuch as a table. The force is a single-component force at Marker 11 analong the z-axis of Marker 21.DZ(11,21,21) defines the instantaneousdisplacement of Marker 11 with respect to Marker 21 along the z-axis oMarker 21.VZ(11,21,21,21) defines the instantaneous velocity. Thefree length is 1, i.e., the radius of the ball is 1 unit. The stiffness is 100, the exponent of deformation is 1.5, the maximum damping coefficient isThe penetration at which ADAMS/Solver applies full damping is 0.1.

VFORCE/1, I=27, JFLOAT=25, RM=26, FX=0\, FY=IMPACT(DY(4,1,1), VY(4,1,1), 1-AKISPL(DX(4,1,1),, DZ(4,1,1)3),le7, 1.01, le4,.25)\, FZ=0

This statement defines an impact force when a ball penetrates a surfacdefined by a spline. The force is a translational force at Marker 27. TheDY(4,1,1) defines the y-component of the instantaneous displacement Marker 4 with respect to Marker 1. The VY(4,1,1) defines the y-componof the instantaneous velocity. The free length is defined using spline 3,which represents the surface. The independent variables in the spline defined using the x-component and z-component of the instantaneousdisplacement of Marker 4 with respect to Marker 1, DX(4,1,1) andDZ(4,1,1), respectively. The stiffness is le7, the exponent of deformatio1.01, the maximum damping coefficient is 25, and the penetration at whADAMS/Solver applies full damping is.25.

cmax

0 d

DampingCoefficient

Penetration

Using ADAMS/Solver 325

JOINT

326

Fun

ctio

ns

l

es

e

JOINT

Definition TheJOINT function returns componentcomp of a force or torque due toJOINT/ id as calculated in the coordinate system of markerrm. If jflag isset to zero, the value returned is the force/torque acting on theI marker of theJOINT . If jflag is set to one, the value returned is that acting on theJ marker.rm may be specified as zero if the results are desired in the globacoordinate system.

Format JOINT (id, jflag, comp, rm)

Arguments idAn integer specifying the identification member of the joint.

jflagAn integer flag specifying the joint connectivity marker at which the forcand torques are computed.

0 = forces and moments at theI marker

1 = forces and moments at theJ markercomp

An integer value that specifies the component of the joint force to bereturned.

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 torquerm

The coordinate system in which the results are expressed. To return thresults in the global coordinate system, setrm = 0.

Using ADAMS/Solver

JOINT

Fun

ctio

ns

tn.

Examples JOINT/1, REVOLUTE, I=46, J=23SFORCE/1, ROTATION, I=46, J=23, FUNCTION=-0.4*SIGN(1.0,WZ(46,23,23)*5.6*,, (JOINT(1,0,1,23)-ABS(JOINT(1,0,4,23))))

This example illustrates how a simple dynamic friction force can beadded to a revolute joint.JOINT/1 is the revolute joint to whichfrictional effects are to be added.0.4 is the coefficient of friction and5.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 thathe frictional moment about the z-axis of Marker 23 opposes this motioJOINT(1,0,1,23) determines the magnitude of the reaction forceat Marker 23.JOINT(1,0,4,23) determines the component ofthe constraint force along the axis of the rotational of the joint.JOINT(1,0,12)-ABS(JOINT(1,0,4,23)) defines the radialload in the revolute joint (i.e., the normal force).

Using ADAMS/Solver 327

JPRIM

328 Using ADAMS/Solver

Fun

ctio

ns

JPRIM

Definition TheJPRIM function returns componentcomp of a force due toJPRIM/ id ascalculated in the coordinate system of markerrm. If jflag is set to zero, thevalue returned is the force/torque acting on theI marker of theJPRIM. Ifjflag is set to one, the value returned is that acting on theJ marker.rm maybe specified as zero if the results are desired in the global coordinate system.

Format JPRIM (id, jflag, comp, rm)

Arguments idAn integer specifying the identification member of theJPRIM.

jflagAn integer flag specifying theJPRIM connectivity marker at which theforces and torques are computed.

0 = forces and moments at theI marker

1 = forces and moment at theJ markercomp

An integer value that specifies the component of theJPRIM force to bereturned.

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 torquerm

The coordinate system in which the results are expressed. To return theresults in the global coordinate system, setrm = 0.

Examples REQUEST/1, F2=JPRIM(212,1,8,346)

In its second column, thisREQUEST statement stores the z component of thetorque acting at theJ marker ofJPRIM 212 . The torque component iscalculated in the coordinate system of Marker 346.

LOG

Using ADAMS/Solver 329

Fun

ctio

ns

LOG

Definition TheLOG function returns the natural logarithm an expressiona. If ex=a thenLOG(a) = x. TheLOG function is defined only for positive values ofa(i.e.,a > 0). It is undefined for all other values.

Format LOG(a)

Arguments aAny valid function expression that returns a positive value during asimulation.

Number of Arguments: 1

Examples DIFF/1, IC=3.6, FUNCTION=LOG(1+VM(21,31,31))

This DIFF statement defines a user specified differential equation. Theinitial condition for the associated state is 3.6 and its derivative is the naturallogarithm of the expression1+VM(21,31,31) .

LOG10

330 Using ADAMS/Solver

Fun

ctio

ns

LOG10

Definition TheLOG10 function returns log to base 10 of an expression a. If10x=a , thenLOG10(a)= x . TheLOG10 function is defined only for positive values of a(a>0). It is undefined for all other values.

Format LOG10(a)

Arguments aAny valid function expression that returns a positive value during asimulation.

Number of Arguments: 1

Examples DIFF/1, IC=3.6, FUNCTION=LOG10(1+VM(21,31,31))

This DIFF statement defines a user specified differential equation. Theinitial condition for the associated state is 3.6 and its derivative is the naturallogarithm of the expression1+VM(21,31,31) .

MAX

Using ADAMS/Solver 331

Fun

ctio

ns

MAX

Definition TheMAX function returns the maximum of two expressionsa1 anda2 .

MAX(a1,a2) = a1 if a1 a2

MAX(a1,a2) = a2 if a2 > a1

Format MAX(a1,a2)

Arguments a1Any valid function expression.

a2Any valid function expression.

Cautions TheMAX function is generally discontinuous. Use this function expression withcare when you are specifying force or motion input.

Examples SFORCE/1, ROTATIONAL, ACTIONONLY, I=21, J=11, FUNCTION=MAX(0,-3*(AZ(21,11)-25D))

ThisSFORCE statement defines an action-only torque that acts at Marker 21and acts along the z-axis of Marker 11. The torque is defined to always benon-negative through the use of theMAX function. Thus, the torque can onlyact to decrease theAZ rotation of Marker 21 with respect to Marker 11(seeAZ on page 285).

MIN

332 Using ADAMS/Solver

Fun

ctio

ns

MIN

Definition TheMIN function returns the minimum of two expressionsa1 anda2 .

MIN(a1,a2) = a1 if a1 a2

MIN(a1,a2) = a2 if a2 < a1

Format MIN(a1,a2)

Arguments a1Any valid function expression.

a2Any valid function expression.

Cautions TheMIN function is generally discontinuous. Use this function expression withcare when you are specifying force or motion input.

Examples SFORCE/1, ROTATIONAL, ACTIONONLY, I=21, J=11, FUNCTION=MIN(0,-3*(AZ(21,11)-25D))

ThisSFORCE statement defines an action-only torque that acts at Marker 21and acts along the z-axis of Marker 11. The torque is defined to always benegative through the use of theMIN function. Thus, the torque can only actto decrease theAZ rotation of Marker 21 with respect to Marker 11 (seeAZon page 285).

MOD

Using ADAMS/Solver 333

Fun

ctio

ns

MOD

Definition TheMOD function returns the remainder whena1 is divided bya2.

MOD(a1,a2) = a1 - int(a1/a2) * a2

Format MOD(a1,a2)

Arguments a1Any valid function expression.

a2Any valid function expression.

Cautions TheMOD function is generally discontinuous. Use this function expression withcare when you are specifying force or motion input.

Examples MOD(45,16)=13

MODE

334 Using ADAMS/Solver

Fun

ctio

ns

MODE

Definition TheMODE function returns the current analysis mode. These are defined as:

1 = Kinematics2 = Reserved3 = Initial conditions4 = Dynamics5 = Statics6 = Quasi-statics7 = Linear analysis

Format MODE

Cautions Use theMODE function with care if you use theSTATICS argument on theSIMULATE command to request a static or quasi-static simulation of akinematic system, ADAMS/Solver performs a kinematic analysis and,consequently, returns aMODE analysis constant of 1 (not 5 or 6).

Examples SFORCE/1, TRANSLATION, I=21, J=11, FUNCTION=IF(MODE-4:0,0,-4*(DM(21,11)-10.6))

This example defines a translational force that is active only during statics,quasi-static, and linear analysis modes. For these analysis modes, theSFORCE acts as a simple spring. For all other analyses, the net force appliedby theSFORCE is zero.

MOTION

Using ADAMS/Solver 335

Fun

ctio

ns

MOTION

Definition TheMOTION function returns componentcomp of a force due toMOTION/idas calculated in the coordinate system of markerrm. If jflag is set to zero,the value returned is the force/torque acting on theI marker of theMOTION. Ifjflag is set to one, the value returned is that acting on theJ marker.rm maybe specified as zero if the results are desired in the global coordinate system.

Format MOTION (id, jflag, comp, rm)

Arguments idAn integer specifying the identification number of the motion.

jflagAn integer flag specifying the motion connectivity marker at which theforces and torques are computed.

0 = forces and moments at theI marker

1 = forces and moments at theJ markercomp

An integer value that specifies the component of the motion force to bereturned.

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 torquerm

The coordinate system in which the results are expressed. To return theresults in the global coordinate system, setrm = 0.

Examples JOINT/34, REVOLUTE, I=21, J=11MOTION/1, ROTATIONAL, JOINT=34, FUNCTION=TIME**2DIFF/1, IC=0, FUNCTION=WZ(21,11)*MOTION(1,0,8,11)

This DIFF statement defines a user defined state. Its derivative is theinstantaneous power required to effect the displacement specified byMOTION/1. Therefore, the value of the state is the total work done byMOTION/1 during a simulation.

NFORCE

336 Using ADAMS/Solver

Fun

ctio

ns

NFORCE

Definition TheNFORCE function returns componentcomp of a force due toNFORCE/idacting at the marker,at_marker , as calculated in the coordinate system ofmarkerrm. Therm marker may be specified as zero if the results are desired inthe global coordinate system. Themarker must be one of theI or J markersto whichNFORCE/id connects.

Format NFORCE (id, at_marker, comp, rm)

Arguments idAn integer specifying the identification member of theNFORCE.

at_markerAn integer marker identifier specifying theNFORCE connectivity markerat which the forces and torques are computed.

compAn integer value that specifies the component of theNFORCE to bereturned.

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 torquerm

The coordinate system in which the results are expressed. To return theresults in the global coordinate system, setrm = 0.

Cautions TheNFORCE function is available only fromREQUEST andSENSORstatements. It is not accessible from other statements.

PHI

Fun

ctio

ns

c

dnPHI

Definition ThePHI function calculates the third angle (in radians) of a body-2 [313]Euler rotation sequence between markersi andj . Markerj defaults to theglobal coordinate system if it is not specified. See Figure 68 for a schematidescription of the body-2 [313] Euler rotation sequence.

Figure 68. Body-2 [313] Euler Angles

z,ζ

z

ζ'

η

η'

ψ

ξ

ξ'

x

x

y

y

θ

z

z'

x

y

y'

θ

x'

ψ

Line of nodes

φ

ψ

The body-2 [313] sequence isstarted by rotatingcounterclockwise the initialsystem of axes, xyz, by an angleψ about the z-axis. The resultantaxes are labeledξ η ζ.

In the second stage theintermediate axes,ξ η ζ, arerotated counterclockwise abouttheξ−axis by an angleθ. The newresultant planes are labelledξ' η'ζ'. Theξ'- axis is at theintersection of the xy and ξ' η'planes and is known as the line ofnodes.

In the final rotation, theξ'- η'-ζ'- axes are rotatedcounterclockwise by an angleφabout theζ-axis to produce the x'y' z' axes, which is the desiredfinal direction.

Using ADAMS/Solver 337

PHI

338

Fun

ctio

ns

d

Format PHI(i[,j])

Arguments iThe marker whose rotations are being sought.

jThe marker with respect to which the rotations are being measured.

Examples REQUEST/1, F2=PHI(222,434)

This REQUEST statement output the phi angle between Markers 222 an434 in its second column.

Using ADAMS/Solver

PI

Using ADAMS/Solver 339

Fun

ctio

ns

PI

Definition PI returns the ratio of the circumference of a circle to its diameter (3.14159...).

Format PI

PINVAL

340 Using ADAMS/Solver

Fun

ctio

ns

PINVAL

Definition ThePINVAL function returns componentcomp of PINPUT/ id .

Format PINVAL (id, comp)

Arguments idThe identifier of thePINPUT whose data is being requested.

compAn integer that specifies the component of thePINPUT to be returned.

Examples VARIABLE/21, FUNCTION=10*SIN(2.4*TIME)+3.5VARIABLE/22, FUNCTION=DZ(21,11,32)PINPUT/10, VARIABLES=21,22

SFORCE/1, TRANSLATIONAL, I=62, J=47, FUNCTION=-1.08*(PINVAL(10,2)-4.6)

PINPUTs andPOUTPUTs are used to generate the A, B, C, and D matricesfor a mechanical system at an operating point.PINPUTs define the inputs tothe system (plant) andPOUTPUTs define the outputs from the system(plant). These can be accessed with function expression also, as shown in theexample above.PINVAL(10,2) is the second element in theVARIABLES list for PINPUT/10 (i.e.,VARIABLE/22 ).

PITCH

Using ADAMS/Solver 341

Fun

ctio

ns

PITCH

Definition Calculates the second angle of a Body-3 [3 -2 1] yaw-pitch-roll rotationsequence between markeri andj . Markerj defaults to the global coordinatesystem if it is not specified. Note that pitch is an Euler angle.

Format PITCH(i[,j])

Arguments iThe marker whose rotations are being sought.

jThe marker with respect to which the rotations are being measured.

Examples REQUEST/2, F2=PITCH(143)

ThisREQUEST statement output the pitch angle (in radians) of Marker 143relative to the global coordinate system.

POLY

342

Fun

ctio

ns

the

e

ect:

POLY

Definition ThePOLY function evaluates a standard polynomial at a user-specifiedvaluex .

Format POLY (x, x 0, a 0, a 1,..., a 30)

Arguments xA real variable that specifies the independent variable. For example, if independent variable in the function is time,x is the system variableTIME.

x0A real variable that specifies a shift in the polynomial.

a0,a 1,..., a30The real variables that define as many as thirty-one coefficients for thepolynomial series.

ExtendedDefinition

ThePOLY function evaluates a standard polynomial at a user-specified valux . x0,a 0,a 1,...,a 30 are parameters used to define the constants for the

polynomial. The standard polynomial is defined as:

P(x) = aj (x-x 0) j

= a 0 + a 1 * (x-x0) + a

2* (x-x

0) 2 +...+ a n * (x-x 0) n

The indexj has a range from zero ton, wheren is the number of terms in theseries.

Examples MOTION/1, JOINT=21, TRANSLATION, FUNCTION=POLY(TIME, 0, 0, 0, 1)

This MOTION statement uses a quadratic polynomial function with respto the system variableTIME to define a motion. That expanded function is

Poly = time2

j 0=

n

Using ADAMS/Solver

POLY

Fun

ctio

nson

MOTION/1, JOINT=21, TRANSLATION, FUNCTION = IF(TIME-5: 0, 0, POLY(TIME, 5, 0, 10))

ThisMOTIONstatement uses an arithmeticIF in its function expression toswitch between functions.

The expanded function is:

if (time - 5) then Poly=0else Poly=10*time-5

SFORCE/3, I=10, J=20, TRANSLATION, FUNCTION=-POLY(DM(10, 20), 10, 0, 25, 0, 0 . 75)

ThisSFORCE statement defines a force with a nonlinear force deformaticharacteristic. This relationship is:

Poly =-25*[DM(10,20) -10] + 0.75*[DM(10,20) -10] 3,

where,DM(10,20) represents the magnitude of the displacement ofMarker 10 with respect to Marker 20. The free length of the spring is10 units.

Using ADAMS/Solver 343

POUVAL

344 Using ADAMS/Solver

Fun

ctio

ns

POUVAL

Definition ThePOUVAL function returns componentcomp of POUTPUT/id .

Format POUVAL (id, comp)

Arguments idThe identifier of thePOUTPUT whose data is being requested.

compAn integer that specifies the component of thePOUTPUT to be returned.

Examples VARIABLE/21, FUNCTION=10*SIN(2.4*TIME)+3.5VARIABLE/22, FUNCTION=DZ(21,11,32)POUTPUT/10, VARIABLES=21,22

SFORCE/1, TRANSLATIONAL, I=62, J=47, FUNCTION=-1.08*(POUVAL(10,2)-4.6)

PINPUTs andPOUTPUTs are used to generate the A, B, C, and D matricesfor a mechanical system at an operating point.PINPUTs define the inputs tothe system (plant) andPOUTPUTs define the outputs from the system(plant). These can be accessed with function expression also, as shown in theexample above.POUVAL(10,2) is the second element in theVARIABLES list for POUTPUT/10 (i.e.,VARIABLE/22 ).

PSI

Using ADAMS/Solver 345

Fun

ctio

ns

PSI

Definition ThePSI function expression calculates the first angle (in radians) of abody-2 [313] Euler rotation sequence between markersi andj . Markerjdefaults to the global coordinate system if it is not specified. See Figure 68 onpage 337 for a schematic of the Body-2 [313] Euler angles.

Format PSI(i[,j])

Arguments iThe marker whose rotations are being sought.

jThe marker with respect to which the rotations are being measured.

Examples REQUEST/1, F2=PSI(222,434)

This REQUEST statement output the psi angle between Markers 222 and434 in its second column.

PTCV

346 Using ADAMS/Solver

Fun

ctio

ns

PTCV

Definition ThePTCV function returns componentcomp of a force due toPTCV/id ascalculated in the coordinate system of markerrm. If jflag is set to zero, thevalue returned is the force acting on theI marker of thePTCV. If jflag is setto one, the value returned is that acting on theJFLOAT marker.rm may bespecified as zero if the results are desired in the global coordinate system.

Format PTCV (id, jflag, comp, rm)

Arguments idAn integer specifying the identification member of the bushing.

jflagAn integer flag specifying the bushing connectivity marker at which theforces and torques are computed.

0 = forces and moments at theI marker1 = forces and moment at theJ marker

compAn integer value that specifies the component of the beam force to bereturned.

1 = Magnitude of the force2 = x component of the force3 = y component of the force4 = z component of the force5 = Magnitude of the torque6 = x component of the torque7 = y component of the torque8 = z component of the torque

rmThe coordinate system in which the results are expressed. To return theresults in the global coordinate system, setrm = 0.

Cautions ◆ ThePTCV function may only be used withREQUESTs andSENSORs.

Examples REQUEST/1, F2=PTCV(31,0,2,0)\, F3=PTCV(31,0,3,0)\, F4=PTCV(31,0,4,0)\, F5=PTCV(31,0,5,0)\, F6=PTCV(31,0,6,0)\, F7=PTCV(31,0,7,0)\, F8=PTCV(31,0,8,0)\

This REQUEST statement output the x-, y- and z-components of the forceand torque at theI marker ofPTCV/31 . Sincerm is specified as zero, allvectors are expressed in the global coordinate system.

ROLL

Using ADAMS/Solver 347

Fun

ctio

ns

ROLL

Definition TheROLL function calculates the third angle of a Body-3 [3 -2 1] yaw-pitch-roll rotation sequence between markersi andj . Markerj defaults to theglobal coordinate system if it is not specified. Note that roll is an Euler angle.

Format ROLL(i[,j])

Arguments iThe marker whose rotations are being sought.

jThe marker with respect to which the rotations are being measured.

Examples REQUEST/2, F2=ROLL(143)

This REQUEST statement output the roll angle (in radians) of Marker 143relative to the global coordinate system.

RTOD

348 Using ADAMS/Solver

Fun

ctio

ns

RTOD

Definition RTOD returns the radians to degrees conversion factor.

Format RTOD

Examples REQUEST/1, F2=ROLL(23,14)*RTOD

ThisREQUEST statement outputs the roll angle between Markers 23 and 14in degrees.

SFORCE

Using ADAMS/Solver 349

Fun

ctio

ns

SFORCE

Definition TheSFORCE function returns componentcomp of a force due toSFORCE/idas calculated in the coordinate system of markerrm. If jflag is set to zero,the value returned is the force/torque acting on theI marker of theSFORCE. Ifjflag is set to 1, the value returned is that acting on theJ marker.rm may bespecified as zero if the results are desired in the global coordinate system.

Format SFORCE (id, jflag, comp, rm)

Arguments idAn integer specifying the identification member of theSFORCE.

jflagAn integer flag specifying theSFORCE connectivity marker at which theforces and torques are computed.

0 = forces and moments at theI marker1 = forces and moment at theJ marker

compAn integer value that specifies the component of theSFORCE to bereturned.

1 = Magnitude of the force2 = x component of the force3 = y component of the force4 = z component of the force5 = Magnitude of the torque6 = x component of the torque7 = y component of the torque8 = z component of the torque

rmThe coordinate system in which the results are expressed. Setrm = 0 ifyou want to return the results in the global coordinate system.

Examples REQUEST/1, F2=SFORCE(31,0,2,0)\, F3=SFORCE(31,0,3,0)\, F4=SFORCE(31,0,4,0)\, F5=SFORCE(31,0,5,0)\, F6=SFORCE(31,0,6,0)\, F7=SFORCE(31,0,7,0)\, F8=SFORCE(31,0,8,0)

This REQUEST statement output the x-, y- and z-components of the forceand torque at theI marker ofSFORCE/31. Sincerm is specified as zero,all vectors are expressed in the global coordinate system.

SHF

350 Using ADAMS/Solver

Fun

ctio

ns

SHF

Definition TheSHF function evaluates a simple harmonic function. The followingequation definesSHF.

SHF = a*sin( ω*(x-x 0)-phi)+b

Format SHF (x, x 0, a, w, phi, b)

Arguments xThe independent variable in the function. It may be any valid expression.For example, if the independent variable in the function is twice thecurrent simulation time,x is the system variable 2*TIME.

x0The offset in the independent variablex .

aThe amplitude of the harmonic function.

ωThe frequency of the harmonic function. ADAMS/Solver assumesω is inradians per unit of the independent variable. Conversion to degrees perunit of the independent is achieved by appending aDafter the numberspecifyingω.

phiA phase shift in the harmonic function. ADAMS/Solver assumesphi is inradians unless you use aD after the value.

bThe average value of displacement of the harmonic function.

Examples MOTION/1, JOINT=21, TRANSLATION, FUNCTION=SHF(TIME, 25D, PI, 360D, 0, 5)

ThisMOTIONstatement usesSHFto define the harmonic function:

SHF = 5+PI *sin(360D*(time-25D))

The motion has a shift of 25 degrees, has an amplitude ofPI , has afrequency of 1 cycle(360D) per time unit, has zero phase shift, and has anaverage value of displacement of 5 units.

SIGN

Using ADAMS/Solver 351

Fun

ctio

ns

SIGN

Definition TheSIGN function transfers the sign ofa2 to the magnitude ofa1 .

SIGN(a1,a2) = ABS(a1) if a2 0

SIGN(a1,a2) = -ABS(a1) if a2 < 0

Format SIGN (a1,a2)

Arguments a1Any valid function expression.

a2Any valid function expression.

Cautions TheSIGN function is discontinuous. Use this function with care to avoidcreating expressions that are discontinuous.

Examples VARIABLE/23, FUNCTION=10*SIGN(DM(24,33),VZ(24,33))

WhenVZ(24,33) ≥ 0, the value ofVARIABLE/23 is+10*DM(24,33) . WhenVZ(24,33) < 0, the value ofVARIABLE/23is -10*DM(24,33) .

SIN

352 Using ADAMS/Solver

Fun

ctio

ns

SIN

Definition TheSIN function returns the sine of an expressiona.

Format SIN(a)

Arguments aAny valid function expression.

Number of Arguments: 1

Examples SFORCE/1, TRANSLATION, I=23, J=34, FUNCTION=SIN(10*TIME)

A translational force is defined to be acting along the line joiningMarkers 23 and 34. The force at Marker 23 is defined to beSIN(10*TIME) .

SINH

Using ADAMS/Solver 353

Fun

ctio

ns

SINH

Definition TheSINH function return the hyperbolic sine of an expressiona.

SINH(a) = (ea-e-a) / 2.0

Format SINH(a)

Arguments aAny valid function expression.

Number of Arguments: 1

Examples VARIABLE/1, FUNCTION=SINH(DX(21,32))

The value ofVARIABLE/1 is the hyperbolic sine of the x-component of thedisplacement between Markers 21 and 32, as calculated in the globalcoordinate system.

SPDP

354 Using ADAMS/Solver

Fun

ctio

ns

SPDP

Definition TheSPDP function returns the componentcomp of a force due toSPRINGDAMPER/id as calculated in the coordinate system of markerrm.If jflag is set to zero, the value returned is the force/torque that acts on theI marker of theSPRINGDAMPER. If jflag is set to 1, the value returned isthe value that acts on the j marker. To get results in the global coordinatesystem, you can specifyrm as zero.

Format SPDP (id, jflag, comp, rm)

Arguments idAn integer specifying the identification member of theSPDP.

jflagAn integer flag specifying theSPDP connectivity marker at which theforces and torques are computed.

0 = forces and moments at theI marker1 = forces and moment at theJ marker

compAn integer value that specifies the component of theSPDP force to bereturned.

1 = Magnitude of the force2 = x component of the force3 = y component of the force4 = z component of the force5 = Magnitude of the torque6 = x component of the torque7 = y component of the torque8 = z component of the torque

rmThe coordinate system in which the results are expressed. Setrm = 0 ifyou want to return the results in the global coordinate system.

Examples REQUEST/1, F2=SPDP(31,0,2,0)\, F3=SPDP(31,0,3,0)\, F4=SPDP(31,0,4,0)\, F5=SPDP(31,0,5,0)\, F6=SPDP(31,0,6,0)\, F7=SPDP(31,0,7,0)\, F8=SPDP(31,0,8,0)

This REQUEST statement output the x-, y- and z-components of the forceand torque at theI marker ofSPDP/31 . Sincerm is specified as zero, allvectors are expressed in the global coordinate system.

SQRT

Using ADAMS/Solver 355

Fun

ctio

ns

SQRT

Definition TheSQRT function returns the square root of an expressiona. The square rootfunction is defined only for non-negative values of the argumenta.

Format SQRT(a)

Arguments aAny valid function expression.

Number of Arguments: 1

Examples VARIABLE/23,, FUNCTION=SQRT (FX(23,11)**2+FY(23,11)**2)

A new state variable with a value equal to the global square root of the sumof the squares of the global x- and y- components net force acting betweenMarkers 21 and 11.

STEP

356

Fun

ctio

ns

STEP

Definition TheSTEP function approximates the Heaviside step function with a cubicpolynomial. It has continuous first derivatives. Its second derivatives arediscontinuous atx=x 0 andx=x 1.

Format STEP (x, x 0, h 0, x 1, h 1)

Arguments xThe independent variable. It can be a function expression.

x0A real variable that specifies thex value at which theSTEP functionbegins.

x1A real variable that specifies thex value at which theSTEP function ends.

h0The initial value of the step.

h1The final value of the step.

ExtendedDefinition

TheSTEP function approximates the Heaviside step function with a cubicpolynomial. Figure 69 illustrates theSTEP function.

Figure 69. STEP Function1.0

0.75

0.5

0.25

0.0

1.0

0.75

0.5

0.25

0.0

5.03.75

2.51.25

0.0 5.03.75

2.51.25

0.0

Using ADAMS/Solver

STEP

Fun

ctio

ns

but

The equation defining theSTEP5 function is:

a = h1 - h0

∆ = (x - x0)/(x1 - x0)

Tips HAVERSINE, STEP5, andTANH offer other approximations for the Heavisidestep function. These have a higher degree of continuity and differentiability, may have larger derivatives.

Figure 70 compares theSTEP, STEP5, HAVSIN andTANH functions.

Figure 70. Comparison of STEP, STEP5, HAVSIN and TANH

h0

h0 + α. ∆2 (3-2 ∆)

h1

STEP =

: x < x0

: x 0 < x < x 1

: x > x 1

1.0

0.75

0.5

0.25

0.0

1.0

0.75

0.5

0.25

0.0

5.03.75

2.51.25

0.0 5.03.75

2.51.25

0.0

, Q

1.251.25

TANHSTEP5

STEP (solid line)

HAVSIN (dashed line)

Using ADAMS/Solver 357

STEP

358

Fun

ctio

ns

e 2

Figure 71 shows the first derivatives of these four functions.

Figure 71. First Derivatives of STEP, STEP5, HAVSIN and TANH

Examples MOTION/1, JOINT=21, TRANSLATION, FUNCTION=STEP(TIME, 1, 0, 2, 1)

ThisMOTIONstatement defines a smooth step function from time 1 to timwith a displacement from 0 to 1.

2.5

1.875

1.25

0.625

0.0

2.5

1.875

1.25

0.625

0.0

5.03.75

2.51.25

0.0 5.03.75

2.51.25

0.0

TANH

STEPHAVSIN

STEP5

Using ADAMS/Solver

STEP5

U

Fun

ctio

ns

STEP5

Definition TheSTEP5 function provides approximation to the Heaviside step functionwith a quintic polynomial. It has continuous first and second derivatives. Itsthird derivative is discontinuous atx=x 0 andx=x 1.

Format STEP5 (x, x 0, h 0, x 1, h 1)

Arguments xThe independent variable.

x0A real variable that specifies thex value at which theSTEP5 functionbegins.

x1A real variable that specifies thex value at which theSTEP5 functionends.

h0The initial value of the step.

h1The final value of the step.

ExtendedDefinition

Figure 72 illustrates theSTEP5 function.

Figure 72. STEP5 Function

1.0

0.75

0.5

0.25

0.0

1.0

0.75

0.5

0.25

0.0

5.03.75

2.51.25

0.0 5.03.75

2.51.25

0.0

S: steps all

sing ADAMS/Solver 359

STEP5

360

Fun

ctio

ns e 2

The equation defining theSTEP5 function is:

a = h1 - h0

∆ = (x - x0)/(x1 - x0)

Examples MOTION/1, JOINT=21, TRANSLATION, FUNCTION=STEP5(TIME, 1, 0, 2, 1)

ThisMOTIONstatement defines a smooth step function from time 1 to timwith a displacement from 0 to 1.

STEP5

h : x x

h : x x x

h : x x

0 0

0 0 1

1 1

=

+ − +[ ] < <

a ∆ ∆ ∆3 * 10 15 6 2

Using ADAMS/Solver

SWEEP

Fun

ctio

ns

SWEEP

Definition TheSWEEP function returns a constant amplitude sinusoidal function withlinearly increasing frequency.

Format SWEEP (x, a, x 0, f 0, x 1, f 1, d x)

Arguments xThe independent variable.

aThe amplitude of the sinusoidal function.

x0The value of the independent variable at which theSWEEP functionbegins.

f 0The initial frequency of the sinusoidal function.

x1The value of the independent variable value at which theSWEEP functionends.

f 1The final frequency.

dxThe interval in which the SWEEP function becomes fully active.

ExtendedDefinition

Mathematically,SWEEPis calculated as follows:

SWEEP = STEP(x,0,0,dx,1) * a * sin(2 *freq(x)*x )

where:

π

f0 if x < x0

f1 if x > x1

f 012--- f 1 f 0–( )

x x0–

x1 x0–----------------+ if x0 < x < x1freq (x) =

Using ADAMS/Solver 361

SWEEP

362

Fun

ctio

ns

g

The figure below illustrates theSWEEP function.

Figure 73. Sweep Function

Examples The following example defines motion with a sinusoidal function with a risinfrequency from 2 to 6Hz during the time interval 0 to 5.

MOTION/1,JOINT=1

, FUNCTION=SWEEP(TIME, 1.0, 0.0, 2.0, 5.0, 6.0, 0.01)

Figure 74. Sinusoidal Function

f 1

f 0

x0 x1

freq(x)

Using ADAMS/Solver

TAN

Using ADAMS/Solver 363

Fun

ctio

ns

TAN

Definition TheTAN function returns the tangent of an expressiona.

Format TAN(a)

Arguments aAny valid function expression.

Number of Arguments: 1

TANH

364 Using ADAMS/Solver

Fun

ctio

ns

TANH

Definition TheTANH function returns the hyperbolic tangent of an expressiona.

TANH(a) = (ea - e-a) / (ea + e-a)

Format TANH(a)

Arguments aAny valid function expression.

Number of Arguments: 1

ExtendedDefinition

Figure 75 illustrates theTANH function.

Figure 75. TANH Function

Examples MOTION/1, JOINT=21, TRANSLATION, FUNCTION=0.5(1+TANH(5*(TIME-1.5)))

ThisMOTION statement defines a smooth step function that transitions froma value of 0 to 1. The value of the step function at time=1.5 is 0.5.

1.0

0.75

0.5

0.25

0.0

1.0

0.75

0.5

0.25

0.0

5.03.75

2.51.25

0.0 5.03.75

2.51.25

0.0

THETA

Using ADAMS/Solver 365

Fun

ctio

ns

cTHETA

Definition TheTHETA function calculates the second angle (in radians) of a body-2 [313]Euler rotation sequence between markersi andj . Markerj defaults to theglobal coordinate system if it is not specified. See Figure 68 on page 337 for aschematic of the Body-2 [313] Euler angles.

Format THETA(i[,j])

Arguments iThe marker whose rotations are being sought.

jThe marker with respect to which the rotations are being measured.

Examples REQUEST/1, F2=THETA(222,434)

This REQUEST statement output the psi angle between Markers 222 and434 in its second column.

TIME

366 Using ADAMS/Solver

Fun

ctio

ns

TIME

Definition TheTIME variable returns the current simulation time.

Format TIME

Examples SFORCE/1, TRANSLATION, I=21, J=32, FUNCTION=10*SIN(2*PI*TIME)

This SFORCE statement defines a translational force acting between theorigins of Marker 21 and Marker 11. The value of the force is10*SIN*(2*PI*TIME) .

TM

Using ADAMS/Solver 367

Fun

ctio

ns

TM

Definition TheTM function returns the magnitude of thenet torque acting at markeri dueto all applied torques and constraints acting between markersi andj .

To calculate the magnitude of the net torque at markeri due to action-onlytorque acting ati , setj = 0.

Format TM(i[,j])

Arguments iAn integer that specifies the identifier of the marker at which themagnitude of the net torque is to be calculated.

jA second integer that specifies a marker identifier. All torques actingbetween the[i,j] pair are to be included in the calculation. Setj = 0 ordo not specify it if you are interested in action-only torques.

Examples JOINT/1, REVOLUTE, I=32, J=44MOTION/1, ROTATION, JOINT=1, FUNCTION=10*TIMEVARIABLE/31, FUNCTION=TM(32,44)

In this example a revolute joint and motion (through the joint) act betweenMarker 32 and 44. A new algebraically determined state variableVARIABLE/31 is defined to have the magnitude of the net torque betweenthese two markers as its value.

TX

368 Using ADAMS/Solver

Fun

ctio

ns

TX

Definition TheTX function returns the x-component of the net torque acting at markeri ,as computed in the coordinate system of markerk . All force elements actingbetween markersi andj are included in the calculation of the torque, unlessthe force element is an action-only type force. To return the x-component ofthe action-only torques acting at markeri , you should omit specification ofmarkerj or specify it as zero.

Format TX(i[,j][,k])

Arguments iAn integer that specifies the identifier of the marker at which themagnitude of the net torque is to be calculated.

jA second integer that specifies a marker identifier. All torques actingbetween the[i,j] pair are to be included in the calculation. Setj = 0 ordo not specify it if you are interested in action-only torques.

kAn integer that specifies the identifier of a marker (coordinate system) inwhich the x-component of the torque is to be returned.

Examples JOINT/1, REVOLUTE, I=32, J=44MOTION/1, ROTATION, JOINT=1, FUNCTION=10*TIMEVARIABLE/31, FUNCTION=TX(32,44)

In this example a revolute joint and motion (through the joint) act betweenMarker 32 and 44. A new algebraically determined state variableVARIABLE/31 is defined to have the magnitude of the net torque betweenthese two markers as its value.

TY

Using ADAMS/Solver 369

Fun

ctio

ns

TY

Definition TheTY function returns the y-component of the net torque acting at markerias computed in the coordinate system of markerk . All force elements actingbetween markersi andj are included in the calculation of the torque, unlessthe force element is an action-only type force. To return the y-component ofthe action-only torques acting at markeri , you should omit specification ofmarkerj or specify it as zero.

Format TY(i[,j][,k])

Arguments iAn integer that specifies the identifier of the marker at which themagnitude of the net torque is to be calculated.

jA second integer that specifies a marker identifier. All torques actingbetween the[i,j] pair are to be included in the calculation. Setj = 0 ordo not specify it if you are interested in action-only torques.

kAn integer that specifies the identifier of a marker (coordinate system) inwhich the y-component of the torque is to be returned.

Examples JOINT/1, REVOLUTE, I=32, J=44MOTION/1, ROTATION, JOINT=1, FUNCTION=10*TIMEVARIABLE/31, FUNCTION=TY(32,44)

In this example a revolute joint and motion (through the joint) act betweenMarker 32 and 44. A new algebraically determined state variableVARIABLE/31 is defined to have the magnitude of the net torque betweenthese two markers as its value.

TZ

370 Using ADAMS/Solver

Fun

ctio

ns

TZ

Definition TheTZ function returns the z-component of the net torque acting at markerias computed in the coordinate system of markerk . All force elements actingbetween markersi andj are included in the calculation of the torque, unlessthe force element is an action-only type force. To return the z-component of theaction-only torques acting at markeri , you should omit specification of markerj or specify it as zero.

Format TZ(i[,j][,k])

Arguments iAn integer that specifies the identifier of the marker at which themagnitude of the net torque is to be calculated.

jA second integer that specifies a marker identifier. All torques actingbetween the[i,j] pair are to be included in the calculation. Setj = 0 ordo not specify it if you are interested in action-only torques.

kAn integer that specifies the identifier of a marker (coordinate system) inwhich the z-component of the torque is to be returned.

Examples JOINT/1, REVOLUTE, I=32, J=44MOTION/1, ROTATION, JOINT=1, FUNCTION=10*TIMEVARIABLE/31, FUNCTION=TZ(32,44)

In this example a revolute joint and motion (through the joint) act betweenMarker 32 and 44. A new algebraically determined state variableVARIABLE/31 is defined to have the magnitude of the net torque betweenthese two markers as its value.

VARVAL

Using ADAMS/Solver 371

Fun

ctio

ns

VARVAL

Definition TheVARVAL function returns current value ofVARIABLE/ id .

Format VARVAL (id)

Arguments idThe identifier of theVARIABLE whose data is being requested.

Examples VARIABLE/10, FUNCTION=DX(21,32,43)SFORCE/20, TRANSLATION, I=346, J=567, FUNCTION=(VARVAL(10)-5)**2

In this example,VARIABLE/10 defines an algebraically determined userspecified state.SFORCE/20 is a non-linear translational spring whose forcemagnitude is a function of this variable.

VFORCE

372 Using ADAMS/Solver

Fun

ctio

ns

VFORCE

Definition TheVFORCE function returns the componentcomp of the force inVFORCE/id in the coordinate system of markerrm. If jflag is set to zero,Solver returns the value of force/torque that acts on theI marker ofVFORCE.If jflag is set to 1, Solver returns the value that acts on theJ marker. Toobtain results in the global coordinate system, you can specifyrm as zero.

Format VFORCE (id, jflag, comp, rm)

Arguments idAn integer specifying the identification number of theVFORCE.

jflagAn integer flag specifying theVFORCE connectivity marker at which theforces and torques are computed.

0 = forces and moments at theI marker1 = forces and moment at theJ marker

compAn integer value that specifies the component of theVFORCE that isreturned.

1 = Magnitude of the force2 = x component of the force3 = y component of the force4 = z component of the force5 = Magnitude of the torque6 = x component of the torque7 = y component of the torque8 = z component of the torque

rmThe coordinate system in which the results are expressed. Setrm = 0 ifyou want to return the results in the global coordinate system.

Examples MARKER/236, QP=4,6,7, EU=90D,90D,0, PART=23MARKER/169, PART=16, FLOATINGMARKER/168, QP=1,2,3, EU=30D,45D,60D, PART=16VFORCE/19, I=236, JFLOAT=169,FX=-10*VX(236,168,168,168)\,FY=-10*VY(236,168,168,168)\,FZ=-10*VZ(236,168,168,168)REQUEST/1,F2=VFORCE(23,0,2,0)\

ThisREQUEST statement contains the x-component of the force exerted byVFORCE/19 calculated in the coordinate system of Marker 168.

VM

Using ADAMS/Solver 373

Fun

ctio

ns

VM

Definition TheVM function calculates the magnitude of the first time derivative of thedisplacement vector of markeri with respect to markerj . The vector timederivative is taken in the reference frame of markerl . Markersi andj defaultto the global coordinate system if they are not specified.

Format VM(i[,j][,l])

Arguments iThe marker whose velocity is being measured.

jThe marker with respect to which the velocity is being measured. Setj =0, while still specifyingl , if you wantj default to the global coordinatesystem.

lThe reference frame in which the time derivative of the displacementvector is taken. Setl = 0 if you want the time derivatives to be taken inthe ground reference frame.

ExtendedDefinition

Mathematically,VMis calculated as follows:

where i is the displacement of markeri in ground and j is the

displacement of markerj in ground.

Examples DIFF/51, IC=-6.2, FUNCTION=VM(23,0,32)

A dynamically determined user state is defined byDIFF/51 . The timederivative of the user-state is the magnitude of the velocity of the origin ofMarker 23 with respect to ground. The time derivative for the velocitycomputation is taken in the reference frame of Marker 32.

VARIABLE/1, FUNCTION=VM(21,32,43)

This VARIABLE statement defines an algebraic, user-defined state whoseinstantaneous value is the magnitude of the velocity vector betweenMarkers 21 and 32, as seen by an observer at Marker 43.

VMddt----

( )Ri

ddt----

( )Rj–

ddt----

( )Ri

ddt----

( )Rj–

•1 2⁄

=

R R

VR

374 Using ADAMS/Solver

Fun

ctio

ns

VR

Definition TheVR function calculates the radial (relative) velocity of markeri withrespect to markerj . The vector time derivative is taken in the reference frameof markerl . Markersj andl default to the global coordinate system if theyare not specified.

Format VR(i[,j][,l])

Arguments iThe marker whose velocity is being measured.

jThe marker with respect to which the velociy is being measured. Setj = 0,while still specifyingl , if you wantj default to the global coordinatesystem.

lThe reference frame in which the time derivative of the displacementvector is taken. Setl = 0 if you want the time derivatives to be taken in theground reference frame.

Definition Mathematically,VR is calculated as follows:

/ DM(i,j)

where i is the displacement of markeri with respect to the global origin,jis the displacement of markerj with respect to the global origin, andDM(i,j) is the distance between markersi andj .

As markersi andj separate from each other,VRis positive.VR is negativewhen markersi andj approach each other.

Examples SFORCE/1, TRANSLATION, I=467, J=764, FUNCTION=-10*VR(467,764)

This SFORCE statement defines a translational damper with a dampingconstant of 10.

VRddt----

( )Ri

ddt----

( )Rj– Ri Rj–[ ]•=

R R

VTORQ

Using ADAMS/Solver 375

Fun

ctio

ns

VTORQ

Definition TheVTORQ function returns the componentcomp of force inVTORQUE/idin the coordinate system of markerrm. If jflag is set to zero, Solver returnsthe value of the torque that acts on theI marker ofVTORQUE. If jflag is setto 1, Solver returns the value that acts on theJ marker. To obtain results in theglobal coordinate system, you can specifyrm as zero.

Format VTORQ (id, jflag, comp, rm)

Arguments idAn integer specifying the identification number of theVTORQ.

jflagAn integer flag specifying theVTORQ connectivity marker at which theforces and torques are computed.

0 = forces and moments at theI marker1 = forces and moment at theJ marker

compAn integer value that specifies the component of theVTORQ force to bereturned.

1 = Magnitude of the force (which is zero for aVTORQUE)2 = x component of the force (which is zero for aVTORQUE)3 = y component of the force (which is zero for aVTORQUE)4 = z component of the force (which is zero for aVTORQUE)5 = Magnitude of the torque6 = x component of the torque7 = y component of the torque8 = z component of the torque

rmThe coordinate system in which the results are expressed. Setrm = 0 ifyou want the results returned in the global coordinate system.

Examples MARKER/236, QP=4,6,7, EU=90D,90D,0, PART=23MARKER/169, PART=16, FLOATINGMARKER/168, QP=1,2,3, EU=30D,45D,60D, PART=16VTORQUE/19, I=236, JFLOAT=169,TX=-10*WX(236,168,168,168)\,TY=-10*WY(236,168,168,168)\,TZ=-10*WZ(236,168,168,168)REQUEST/1,F2=VTORQ(23,0,2,0)\

ThisREQUEST statement contains the x-component of the torque exerted byVTORQUE/19 calculated in the coordinate system of Marker 168.

VX

376 Using ADAMS/Solver

Fun

ctio

ns

VX

Definition TheVX function returns the x-component of the difference between thevelocity vector of markeri and the velocity vector of markerj as computed inthe coordinate system of markerk . All vector time derivatives are taken in thereference frame of markerl . Markerj defaults to the global coordinate systemif it is not specified. Similarly, markersi andj default to the global coordinatesystem if they are not specified.

Format VX(i[,j][,k][,l])

Arguments iThe marker whose velocity is being measured.

jThe marker with respect to which the velocity is being measured. Setj =0, while still specifyingl , if you wantj to default to the global coordinatesystem.

kThe marker in whose coordinate system the velocity vector is beingexpressed. Setk = 0 if you want the results to be calculated along thex-axis of the global coordinate system.

lThe reference frame in which the first time derivative of the displacementvector is taken. Setl = 0 if you want the time derivatives to be taken inthe ground reference frame.

ExtendedDefinition

Mathematically,VX is calculated as follows:

where i is the displacement of markeri in ground, j is the displacement of

markerj in ground, and k is the unit vector along the x-axis of markerk .

Examples MARKER/236, QP=4,6,7, EU=90D,90D,0, PART=23MARKER/169, PART=16, FLOATINGMARKER/168, QP=1,2,3, EU=30D,45D,60D, PART=16VFORCE/236, I=236, JFLOAT=169,FX=-10*VX(236,168,168,168)\,FY=-15*VY(236,168,168,168)\,FZ=-20*VZ(236,168,168,168)

ThisVFORCE statement defines a damper acting between Markers 236 and168. Marker 169 is a floating marker that defines the reaction point onPart 16. The damping force components are proportional to the componentsof the velocity between Markers 236 and 168 as seen and measured by anobserver at Marker 168.

VXddt----

( )Ri

ddt----

( )Rj– xk•=

R R

x

VY

Using ADAMS/Solver 377

Fun

ctio

ns

VY

Definition TheVY function returns the y-component of the difference between thevelocity vector of markeri and the velocity vector of markerj as computed inthe coordinate system of markerk . All vector time derivatives are taken in thereference frame of markerl . Markerj defaults to the global coordinate systemif it is not specified. Similarly, markersi andj default to the global coordinatesystem if they are not specified.

Format VY(i[,j][,k][,l])

Arguments iThe marker whose velocity is being measured.

jThe marker with respect to which the velocity is being measured. Setj =0, while still specifyingl , if you wantj default to the global coordinatesystem.

kThe marker in whose coordinate system the velocity vector is beingexpressed. Setk = 0 if you want the results to be calculated along thex-axis of the global coordinate system.

lThe reference frame in which the first time derivative of the displacementvector is taken. Setl = 0 if you want the time derivatives to be taken in theground reference frame.

ExtendedDefinition

Mathematically,VY is calculated as follows:

where i is the displacement of markeri in ground, j is the displacement of

markerj in ground, and k is the unit vector along the y-axis of markerk .

Examples MARKER/236, QP=4,6,7, EU=90D,90D,0, PART=23MARKER/169, PART=16, FLOATINGMARKER/168, QP=1,2,3, EU=30D,45D,60D, PART=16VFORCE/236, I=236, JFLOAT=169,FX=-10*VX(236,168,168,168)\,FY=-15*VY(236,168,168,168)\,FZ=-20*VZ(236,168,168,168)

ThisVFORCE statement defines a damper acting between Markers 236 and168. Marker 169 is a floating marker that defines the reaction point onPart 16. The damping force components are proportional to the componentsof the velocity between Markers 236 and 168 as seen and measured by anobserver at Marker 168.

VYddt----

( )Ri

ddt----

( )Rj– yk•=

R R

y

VZ

378 Using ADAMS/Solver

Fun

ctio

ns

VZ

Definition TheVZ function returns the z-component of the difference between thevelocity vector of markeri and the velocity vector of markerj as computed inthe coordinate system of markerk . All vector time derivatives are taken in thereference frame of markerl . Markerj defaults to the global coordinate systemif it is not specified. Similarly, markersi andj default to the global coordinatesystem if they are not specified.

Format VZ(i[,j][,k][,l])

Arguments iThe marker whose velocity is being measured.

jThe marker with respect to which the velocity is being measured. Setj =0, while still specifyingl , if you wantj to default to the global coordinatesystem.

kThe marker in whose coordinate system the velocity vector is expressed.Setk = 0 if you want the results to be calculated along the x-axis of theglobal coordinate system.

lThe reference frame in which the first time derivative of the displacementvector is taken. Setl = 0 if you want the time derivatives to be taken inthe ground reference frame.

ExtendedDefinition

Mathematically,VZ is calculated as follows:

where i is the displacement of markeri in ground, j is the displacement of

markerj in ground, and k is the unit vector along the z-axis of markerk .

Examples MARKER/236, QP=4,6,7, EU=90D,90D,0, PART=23MARKER/169, PART=16, FLOATINGMARKER/168, QP=1,2,3, EU=30D,45D,60D, PART=16VFORCE/236, I=236, JFLOAT=169,FX=-10*VX(236,168,168,168)\,FY=-15*VY(236,168,168,168)\,FZ=-20*VZ(236,168,168,168)

ThisVFORCE statement defines a damper acting between Markers 236 and168. Marker 169 is a floating marker that defines the reaction point onPart 16. The damping force components are proportional to the componentsof the velocity between Markers 236 and 168 as seen and measured by anobserver at Marker 168.

VZddt----

( )Ri

ddt----

( )Rj–= zk•

R R

z

WDTM

Using ADAMS/Solver 379

Fun

ctio

ns

WDTM

Definition TheWDTM function returns the magnitude of the difference between theangular acceleration vector of markeri in the reference frame of markerl andthe angular acceleration of markerj in the reference frame of markerl .

Format WDTM(i[,j][,l])

Arguments iThe marker whose acceleration is being measured.

jThe marker with respect to which the acceleration is being measured. Setj = 0, while still specifyingl , if you wantj default to the globalcoordinate system.

lThe reference frame in which the first time derivative of the angularvelocity vector is taken. Setl = 0 if you want the time derivatives to betaken in the ground reference frame.

ExtendedDefinition

Mathematically,WDTMis calculated as follows:

where i is the angular velocity of markeri in ground and j is the angular

velocity of markerj in ground.

Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23MARKER/2169, PART=16REQUEST/16,F1=WDTM(1236,2169)\,F2=WDTX(1236,2169,2169,2169)\,F3=WDTY(1236,2169,2169,2169)\,F4=WDTZ(1236,2169,2169,2169)

In its first columnREQUEST/16 contains the magnitude of the angularacceleration vector of Marker 1236 with respect to Marker 2169, as seen inthe global coordinate system and measured in the ground reference frame.

WDTMddt----

( )ωi

ddt----

( )ωj–

ddt----

( )ωi

ddt----

( )ωj–

•1 2⁄

=

ω ω

WDTX

380

Fun

ctio

ns et

g

WDTX

Definition TheWDTX function returns the x-component of the difference between theangular acceleration vector of markeri in the reference frame of markerl andthe angular acceleration vector of markerj in the reference frame of markerl ,as computed in the coordinate system of markerk . Markerj defaults to globalcoordinate system if it is not specified. Similarly, markerk andl default toglobal coordinate system if they are not specified.

Format WDTX(i[,j][,k][,l])

Arguments iThe marker whose acceleration is being measured.

jThe marker with respect to which the acceleration is being measured. Sj= 0, while still specifyingl , if you wantj to default to the globalcoordinate system.

kThe marker in whose coordinate system the acceleration vector is beinexpressed. Setk = 0 if you want the results to be calculated along thex-axis of the global coordinate system.

lThe reference frame in which the first time derivative of the angularacceleration vector is taken. Setl = 0 if you want the time derivatives tobe taken in the ground reference frame.

ExtendedDefinition

Mathematically,WDTX is calculated as follows:

where i is the angular acceleration vector of markeri in ground, j is the

angular acceleration vector of markerj in ground, and k is the unit vector

along the x-axis of markerk .

WDTXddt----

( )ωi

ddt----

( )ωj– xk•=

ω ωx

Using ADAMS/Solver

WDTX

Fun

ctio

ns

, asthe

Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23MARKER/2169, PART=16REQUEST/16,F1=WDTM(1236,2169)\,F2=WDTX(1236,2169,2169,2169)\,F3=WDTY(1236,2169,2169,2169)\,F4=WDTZ(1236,2169,2169,2169)

In its second columnREQUEST/16 contains the x-component of theangular acceleration vector of Marker 1236 with respect to Marker 2169seen in the global coordinate system of Marker 2169 and measured in reference frame containing Marker 2169.

Using ADAMS/Solver 381

WDTY

382

Fun

ctio

ns

et

g

WDTY

Definition TheWDTY function returns the y-component of the difference between theangular acceleration vector of markeri in the reference frame of markerl andthe angular acceleration vector of markerj in the reference frame of markerl ,as computed in the coordinate system of markerk . Markerj defaults to theglobal coordinate system if it is not specified. Similarly, markerk andldefault to the global coordinate system if they are not specified.

Format WDTY(i[,j][,k][,l])

Arguments iThe marker whose acceleration is being measured.

jThe marker with respect to which the acceleration is being measured. Sj= 0, while still specifyingl , if you wantj to default to the globalcoordinate system.

kThe marker in whose coordinate system the acceleration vector is beinexpressed. Setk = 0 if you want the results to be calculated along thex-axis of the global coordinate system.

lThe reference frame in which the first time derivative of the angularacceleration vector is taken. Setl = 0 if you want the time derivatives tobe taken in the ground reference frame.

ExtendedDefinition

Mathematically,WDTY is calculated as follows:

where i is the angular acceleration vector of markeri in ground, j is the

angular acceleration vector of markerj in ground, and k is the unit vector

along the y-axis of markerk .

WDTYddt----

( )ωi

ddt----

( )ωj– yk•=

ω ωy

Using ADAMS/Solver

WDTY

Fun

ctio

ns

rn inence

Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23MARKER/2169, PART=16REQUEST/16,F1=WDTM(1236,2169)\,F2=WDTX(1236,2169,2169,2169)\,F3=WDTY(1236,2169,2169,2169)\,F4=WDTZ(1236,2169,2169,2169)

In its third columnREQUEST/16 contains the y-component of the angulaacceleration vector of Marker 1236 with respect to Marker 2169, as seethe global coordinate system of Marker 2169 and measured in the referframe containing Marker 2169.

Using ADAMS/Solver 383

WDTZ

384

Fun

ctio

ns

Set

g

WDTZ

Definition TheWDTZ function returns the z-component of the difference between theangular acceleration vector of markeri in the reference frame of markerl andthe angular acceleration vector of markerj in the reference frame of markerl ,as computed in the coordinate system of markerk . Markerj defaults to theglobal coordinate system if it is not specified. Similarly, markerk andldefault to the global coordinate if they are not specified.

Format WDTZ(i[,j][,k][,l])

Arguments iThe marker whose acceleration is being measured.

jThe marker with respect to which the acceleration is being measured. j = 0, while still specifyingl , if you wantj to default to the globalcoordinate system.

kThe marker in whose coordinate system the acceleration vector is beinexpressed. Setk = 0 if you want the results to be calculated along thex-axis of the global coordinate system.

lThe reference frame in which the first time derivative of the angularacceleration vector is taken. Setl = 0 if you want the time derivatives tobe taken in the ground reference frame.

ExtendedDefinition

Mathematically,WDTZ is calculated as follows:

where i is the angular acceleration vector of markeri in ground, j is the

angular acceleration vector of markerj in ground, and k is the unit vector

along the z-axis of markerk .

WDTZddt----

( )ωi

ddt----

( )ωj– zk•=

ω ωz

Using ADAMS/Solver

WDTZ

Fun

ctio

ns

rn inence

Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23MARKER/2169, PART=16REQUEST/16,F1=WDTM(1236,2169)\,F2=WDTX(1236,2169,2169,2169)\,F3=WDTY(1236,2169,2169,2169)\,F4=WDTZ(1236,2169,2169,2169)

In its fourth columnREQUEST/16 contains the z-component of the angulaacceleration vector of Marker 1236 with respect to Marker 2169, as seethe global coordinate system of Marker 2169 and measured in the referframe containing Marker 2169.

Using ADAMS/Solver 385

WM

386 Using ADAMS/Solver

Fun

ctio

ns

WM

Definition TheWM function returns the magnitude of the angular velocity vector ofmarkeri with respect to markerj . Markerj defaults to the global coordinatesystem if it is not specified.

Format WM(i[,j])

Arguments iThe marker whose velocity is being measured.

jThe marker with respect to which the velocity is being measured. Setj =0, while still specifyingl , if you wantj to default to the global coordinatesystem.

ExtendedDefinition

Mathematically,WM is calculated as follows:

WM = ([ i - j ] • [ i - j ]) 1/2

where i is the angular velocity vector of markeri in ground and j is the

angular velocity vector of markerj in ground.

Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23MARKER/2169, PART=16REQUEST/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 angularvelocity vector of Marker 1236 and Marker 2169.

ω ω ω ω

ω ω

WX

Using ADAMS/Solver 387

Fun

ctio

ns

WX

Definition TheWX function returns the x-component of the difference between the angularvelocity vector of markeri in ground and the angular velocity vector ofmarkerj in ground, and expressed in the coordinate system of markerk .Marker j defaults to the global coordinate system if it is not specified.Similarly, markerk defaults to the global coordinate system if it is notspecified.

Format WX(i[,j][,k])

Arguments iThe marker whose velocity is being measured.

jThe marker with respect to which the velocity is being measured. Setj =0, while still specifyingl , if you wantj to default to the global coordinatesystem.

kThe marker in whose coordinate system the velocity vector is beingexpressed. Setk = 0 if you want the results to be calculated along thex-axis of the global coordinate system.

Definition Mathematically,WX is calculated as follows:

where i is the angular velocity vector of markeri in ground, j is the

angular velocity vector of markerj in ground, and k is the unit vector along

the x-axis of markerk .

Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23MARKER/2169, PART=16REQUEST/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 theangular velocity Markers 1236 and 2169 as measured in the coordinatesystem of Marker 2169.

WX ωi ωj–[ ] xk•=

ω ωx

WY

388 Using ADAMS/Solver

Fun

ctio

ns

WY

Definition TheWY function returns the y-component of the difference between the angularvelocity vector of markeri in ground and the angular velocity vector ofmarkerj in ground, and expressed in the coordinate system of markerk .Marker j defaults to the global coordinate system if it is not specified.Similarly, markerk defaults to the global coordinate system if it is notspecified.

Format WY(i[,j][,k])

Arguments iThe marker whose velocity is being measured.

jThe marker with respect to which the velocity is being measured. Setj =0, while still specifying l, if you wantj to default to the global coordinatesystem .

kThe marker in whose coordinate system the velocity vector is beingexpressed. Setk = 0 if you want the results to be calculated along thex-axis of the global coordinate system.

Definition Mathematically,WY is calculated as follows:

where i is the angular velocity vector of markeri in ground, j is the

angular velocity vector of markerj in ground, and k is the unit vector along

the y-axis of markerk .

Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23MARKER/2169, PART=16REQUEST/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 angularvelocity Markers 1236 and 2169 as measured in the coordinate system ofMarker 2169.

WY ωi ωj–[ ] yk•=

ω ωy

WZ

Using ADAMS/Solver 389

Fun

ctio

ns

WZ

Definition TheWZ function returns the z-component of the difference between the angularvelocity vector of markeri in ground and the angular velocity vector ofmarkerj in ground, and expressed in the coordinate system of markerk .Marker j defaults to the global coordinate system if it is not specified.Similarly, markerk defaults to the global coordinate system if it is notspecified.

Format WZ(i[,j][,k])

Arguments iThe marker whose velocity is being measured.

jThe marker with respect to which the velocity is being measured. Setj =0, while still specifying l, if you wantj to default to the global coordinatesystem.

kThe marker in whose coordinate system the velocity vector is beingexpressed. Setk = 0 if you want the results to be calculated along thex-axis of the global coordinate system.

ExtendedDefinition

Mathematically,WZ is calculated as follows:

where i is the angular velocity vector of markeri in ground, j is the

angular velocity vector of markerj in ground, and k is the unit vector along

the z-axis of markerk .

Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23MARKER/2169, PART=16REQUEST/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 theangular velocity Markers 1236 and 2169 as measured in the coordinatesystem of Marker 2169.

WZ ωi ωj–[ ] zk•=

ω ωz

YAW

390 Using ADAMS/Solver

Fun

ctio

ns

YAW

Definition TheYAW function calculates the first angle of a Body-3 [3 -2 1] yaw-pitch-rollrotation sequence between markersi andj . Markerj defaults to the globalcoordinate system if it is not specified. Note that yaw is an Euler angle.

Format YAW(i[,j])

Arguments iThe marker whose rotations are being sought.

jThe marker with respect to which the rotations are being measured.

Examples REQUEST/1,F2=YAW(21,11)\,F3=PITCH(21,11)\,F4=ROLL(21,11)

ThisREQUEST statement calculates the yaw, pitch, and roll angles betweenMarkers 21 and 11 for output purposes.