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 Functions 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
Using ADAMS/Solver 261 Displacement AX 287 AY 288 AZ 289 DM 307 DX 309 DY 310 DZ 311 PHI 341 PITCH 345 PSI 349 ROLL 351 THETA 367 YAW 392
Velocity VM 375 VR 376 VX 378 VY 379 Functions VZ 380 WM 388 WX 389 WY 390 WZ 391
Acceleration ACCM 274 ACCX 275 ACCY 276 ACCZ 277 WDTM 381 WDTX 382 WDTY 384 WDTZ 386
Generic Force FM 314 FX 319 FY 320 FZ 321 TM 369 TX 370 TY 371 TZ 372
262 Using ADAMS/Solver Element-Specific Applied Force BEAM 290 BUSH 294 FIELD 313 GFORCE 322 NFORCE 340 SFORCE 353 SPDP 358 VFORCE 374 VTORQ 377
Element-Specific Reaction Force CVCV 302 JOINT 330 JPRIM 332 MOTION 339 PTCV 350
System Element ARYVAL 283 Functions DIF 304 DIF1 305 PINVAL 344 POUVAL 348 VARVAL 373
Arithmetic IF IF 326
Interpolation AKISPL 280 CUBSPL 298 CURVE 300
General BISTOP 291 CHEBY 295 FORCOS 315 FORSIN 317 HAVSIN 324 IMPACT 327 POLY 346 SHF 354 STEP 360 STEP5 363 SWEEP 361
Using ADAMS/Solver 263 Functions
264 Using ADAMS/Solver ABS
ABS
Definition The ABS function returns the absolute value of the expression a.
Format ABS(a)
Arguments a Any valid function expression. Number of Arguments: 1
Examples Variable/1, FUNCTION= ABS(DX(21,11)*VX(21,11)+DY(21,11)*VY(21,11) + DZ(21,11)*VZ(21,11))
This variable statement defines a new state variable. Its value is the absolute value of the radial velocity between Markers 21 and 11. Functions
Using ADAMS/Solver 265 ACCM
ACCM
Definition The ACCM function calculates the magnitude of the second time derivative of the displacement vector of marker i from marker j. The time derivatives are taken in the reference frame of marker l. Markers j and l default to the global coordinate system and the global reference frame if they are not specified.
Format ACCM(i[,j][,l])
Arguments i The marker whose acceleration is being measured. j The marker with respect to which the acceleration is being measured. Set j = 0, while still specifying l, if you want j default to the global coordinate system. l The reference frame in which the second time derivative of the displacement vector is taken. Set l = 0 if you want the time derivatives to Functions be calculated in the ground reference frame.
Extended Mathematically, ACCM is calculated as follows: Definition () 2 () 2 () 2 () 2 12⁄ d d d d ACCM = ------R – ------R • ------R – ------R 2 i 2 j 2 i 2 j dt dt dt dt
where Ri is the displacement of marker i in ground and Rj is the displacement of marker j in ground. Note that for any vector quantity p () () A d B d ---- p ≠ ---- p dt dt where (A) and (B) represent two arbitrary reference frames.
Examples REQUEST/10, F2=ACCM(21,11) This statement defines the second component of a user-defined request as the magnitude of translational acceleration of Marker 21 with respect to Marker 11. Since the l marker is not specified, the derivatives are taken in the inertial reference frame. REQUEST/10, F2=ACCM(21,11) This statement defines the second component of a user-defined request as the magnitude of the translational acceleration of Marker 21 with respect to Marker 11. Vector time derivatives taken in reference to Marker 32.
266 Using ADAMS/Solver ACCX
ACCX
Definition The ACCX function returns the x-component of the difference between the acceleration vector of marker i and the acceleration vector of marker j as computed in the coordinate system of marker k. All vector time derivatives are taken in the reference frame of marker l. Marker j defaults to the global coordinate system if it is not specified. Similarly, markers k and l default to the global coordinate system and the global reference frame if they are not specified.
Format ACCX(i[,j][,k][,l])
Arguments i The marker whose acceleration is being measured. j The marker with respect to which the acceleration is being measured. Set j = 0, while still specifying l, if you want j to default to the global coordinate system.
k Functions The marker in whose coordinate system the acceleration vector is being expressed. Set k = 0 if you want the results to be calculated along the x-axis of the global coordinate system. l The reference frame in which the second time derivative of the displacement vector is taken. Set l = 0 if you want the time derivatives to be taken in the ground reference frame.
Extended Mathematically, ACCX is calculated as follows: Definition () 2 () 2 d d ACCX = ------R – ------R • xˆ 2 i 2 j k dt dt
where Ri is the displacement of marker i in ground, Rj is the displacement of marker j in ground, and xˆ k is the unit vector along the x-axis of marker k.
Using ADAMS/Solver 267 ACCX
Examples DIFF/1, IC=0, FUNCTION=ACCX(21,11) This statement defines a user-specified differential equation. The time derivative of the state is specified to be the x-component of the acceleration of Marker 21 with respect to Marker 11. The coordinate system for calculating the component, and for referencing the frame that takes time derivatives, defaults to ground. DIFF/2, IC=1, FUNCTION=ACCX(21,0,31) This statement defines a user-specified differential equation. The time derivative of the state is specified to be the x-component of the acceleration vector of Marker 21 with respect to the global origin. The vector is expressed in the coordinate system of Marker 31. All time derivatives are taken in the inertial reference frame since the l marker is not specified. Functions
268 Using ADAMS/Solver ACCY
ACCY
Definition The ACCY function returns the y-component of the difference between the acceleration vector of marker i and the acceleration vector of marker j as computed in the coordinate system of marker k. All vector time derivatives are taken in the reference frame of marker l. Marker j defaults to the global coordinate system if it is not specified. Similarly, markers k and l default to the global coordinate system and the global reference frame if they are not specified.
Format ACCY(i[,j][,k][,l])
Arguments i The marker whose acceleration is being measured. j The marker with respect to which the acceleration is being measured. Set j = 0, while still specifying l, if you want j to default to the global coordinate system.
k Functions The marker in whose coordinate system the acceleration vector is being expressed. Set k = 0 if you want the results to be calculated along the x-axis of the global coordinate system. l The reference frame in which the second time derivative of the displacement vector is taken. Set l = 0 if you want the time derivatives to be taken in the ground reference frame.
Extended Mathematically, ACCY is calculated as follows: Definition () 2 () 2 d d ACCY = ------R – ------R • yˆ 2 i 2 j k dt dt
where Ri is the displacement of marker i in ground, Rj is the displacement of marker j in ground, and yˆ k is the unit vector along the y-axis of marker k.
Using ADAMS/Solver 269 ACCY
Examples DIFF/1, IC=0, FUNCTION=ACCX(21,11) This statement defines a user-specified differential equation. The time derivative of the state is specified to be the x-component of the acceleration of Marker 21 with respect to Marker 11. The coordinate system for calculating the component, and for referencing the frame that takes time derivatives, defaults to ground. DIFF/2, IC=1, FUNCTION=ACCX(21,0,31) This statement defines a user-specified differential equation. The time derivative of the state is specified to be the x-component of the acceleration vector of Marker 21 with respect to the global origin. The vector is expressed in the coordinate system of Marker 31. All time derivatives are taken in the inertial reference frame since the l marker is not specified. Functions
270 Using ADAMS/Solver ACCZ
ACCZ
Definition The ACCZ function returns the z-component of the difference between the acceleration vector of marker i and the acceleration vector of marker j as computed in the coordinate system of marker k. All vector time derivatives are taken in the reference frame of marker l. Marker j defaults to the global coordinate system if it is not specified. Similarly, markers k and l default to the global coordinate system and the global reference frame if they are not specified.
Format ACCZ(i[,j][,k][,l])
Arguments i The marker whose acceleration is being measured. j The marker with respect to which the acceleration is being measured. Set j = 0, while still specifying l, if you want j default to the global coordinate system.
k Functions The marker in whose coordinate system the acceleration vector is being expressed. Set k = 0 if you want the results to be calculated along the x-axis of the global coordinate system. l The reference frame in which the first time derivative of the displacement vector is taken. Set l = 0 if you want the time derivatives to be taken in the ground reference frame.
Extended Mathematically, ACCZ is calculated as follows: Definition () 2 () 2 d d ACCZ = ------R – ------R • zˆ 2 i 2 j k dt dt
where Ri is the displacement of marker i in ground, Rj is the displacement of marker j in ground, and zˆ k is the unit vector along the z-axis of marker k.
Using ADAMS/Solver 271 ACCZ
Examples DIFF/1, IC=0, FUNCTION=ACCX(21,11) This statement defines a user-specified differential equation. The time derivative of the state is specified to be the x-component of the acceleration of Marker 21 with respect to Marker 11. The coordinate system for calculating the component, and for referencing the frame that takes time derivatives, defaults to ground. DIFF/2, IC=1, FUNCTION=ACCX(21,0,31) This statement defines a user-specified differential equation. The time derivative of the state is specified to be the x-component of the acceleration vector of Marker 21 with respect to the global origin. The vector is expressed in the coordinate system of Marker 31. All time derivatives are taken in the inertial reference frame since the l marker is not specified. Functions
272 Using ADAMS/Solver ACOS
ACOS
Definition The ACOS function calculates the arc cosine of an expression a. Expression a must evaluate to a value whose absolute value is less than or equal to 1. The value returned by ACOS lies in the range [0,π] (i.e., 0 ≤ ACOS(a) ≤ π).
Format ACOS(a)
Arguments a Any valid function expression. Number of Arguments: 1
Examples VARIABLE/1, FU= ACOS((DX(21,11)*DX(31,41)+DY(21,11)*DY(31,41) + DZ(21,11)*DZ(31,41))/(DM(21,11)*DM(31,41)) This statement specifies a new user-defined state variable. Its value is the included angle of the lines joining Markers 11 and 21 and Markers 41 and
31. The result is in radians. Functions
Using ADAMS/Solver 273 AINT
AINT
Definition The AINT function returns the nearest integer whose magnitude is not larger than the integer value of the expression a.
AINT(a)= 0 if ABS(a)< 1 AINT(a)=int(a) if ABS(a) ≥ 1
The value of the mathematical function int of a variable x is equal to x if x is an integer. If x is not an integer, then int(x) is equal to the nearest integer to x whose magnitude is not greater than the magnitude of x. Thus int(-7.0) = -7, int(-4.8) = -4, and int(4.8) = 4.
Format AINT(a)
Arguments a Any valid function expression.
Functions Number of Arguments: 1
Cautions Note that AINT is not a differentiable function. Be careful when using this function in an expression that defines a force or motion input to the system.
Examples AINT(-6.5)= 0
AINT(4.6)= 4
274 Using ADAMS/Solver AKISPL
AKISPL
Definition The AKISPL function returns the iord derivative of the interpolated value of SPLINE/id at X=x and Z=z.
Format AKISPL (x,z,id)
or
AKISPL (x,0,id [,iord])
Arguments x A real variable that specifies the independent variable value along the x-axis of the AKISPL. z A real variable that specifies the second independent variable value along the z-axis of the surface being interpolated. Specify z = 0 if the SPLINE
statement defines only one curve. Functions id An integer variable that specifies the identifier of a SPLINE statement that you define in the ADAMS/Solver dataset. iord An integer variable that specifies the order of the derivative to be taken at the interpolated point. iord may not be specified when interpolating on a surface (i.e., when z ≠ 0). Range: 0 ≤≤iord 2
Extended The AKISPL function uses the Akima method of interpolation to create a Definition spline function across a set of data points. The data points to be interpolated are defined by a SPLINE statement in the ADAMS/Solver dataset. The SPLINE that you define in the dataset may represent a curve (x-y points) or a surface (x-y-z points). Interpolation in the y direction is cubic, and interpolation in the z direction is linear. To interpolate the values specified in a curve, set z = 0.
iord specifies the order of the derivative and may be used only when interpolating a curve (i.e., when z = 0).
Using ADAMS/Solver 275 AKISPL
AKISPL is very fast, since it uses local methods. It always produces good results for the value of the function being approximated. AKISPL returns good estimates for the first derivative of the approximated function when the data points are evenly spaced. In instances where the data points are unevenly spaced, the estimate of the first derivative may be in error. In all cases, the second derivative of the function being approximated is unreliable.
Examples SFORCE/1, I=409, J=109, TRANSLATION , FUNCTION=AKISPL(TIME, 0, 1, 1) This SFORCE statement defines a translational force that acts between Markers 409 and 109. The SPLINE statement provides the discrete data used to generate the interpolation function using the Akima spline. Since this SPLINE statement defines only one curve, the value of z is defined to be 0. AKISPL returns the first derivative of the spline at the interpolated point since iord = 1. Functions
276 Using ADAMS/Solver ANINT
ANINT
Definition The ANINT function calculates the nearest integer whose magnitude is not larger than the real value of the expression a.
ANINT(a) = int(a + .5) if a ≥ 0 ANINT(a) = int(a - .5) if a < 0
The value of the mathematical function int of a variable x is equal to x if x is an integer. If x is not an integer, then int(x) is equal to the nearest integer to x whose magnitude is not greater than the magnitude of x. Thus int(-7.0) = -7, int(-4.8) = -4, and int(4.8) = 4.
Format ANINT(a)
Arguments a Any valid function expression.
Number of arguments: 1 Functions
Examples ANINT(-4.6)= -5
ANINT(4.6)= 5
Using ADAMS/Solver 277 ARYVAL
ARYVAL
Definition The ARYVAL function returns component comp of ARRAY/id. Depending on the definition of ARRAY/id, this may be a constant that you defined in the ADAMS/Solver dataset, an input to an LSE, GSE or TFSISO, a state variable defined by an LSE, GSE or TFSISO, or an output from an LSE, GSE or TFSISO.
Format ARYVAL (id, comp)
Arguments id The identifier of the array whose data is being requested. comp An integer that specifies the component of the array to be returned.
Examples ARRAY/17, NUM=11.465,2.321 SFORCE/19, ROT, I=23, J=11 , FUNCTION=-ARYVAL(17,1)*(AZ(23,11)-ARYVAL(17,2)) Functions This example illustrates how a value defined in an ARRAY statement can be accessed using the ARYVAL function.
LSE/1, X=1, U=2, Y=3, A=11, B=12, C=13, D=14 This statement defines a set of linear state equations. The A, B, C, and D matrices for this LSE are defined by matrices 11-14.
ARRAY/1, X, SIZE=2 ARRAY/2, U, SIZE=1, VAR=1 ARRAY/3, U, SIZE=3 These three ARRAY statements specify that LSE/1 as having two states, one input that is specified by VARIABLE/1 and three outputs.
SFORCE/6, ROT, I=23, J=11, FUNCTION=ARYVAL(3,2) The second output of the LSE is used to define a torque acting on the system.
278 Using ADAMS/Solver ASIN
ASIN
Definition The ASIN function computes the arc sine of an expression a. ASIN is defined only when the absolute value of a is less than or equal to 1. The range of ASIN is [-π/2, π/2] (i.e., -π/2 ≤≤ASIN(a) π/2).
Format ASIN(a)
Arguments a Any valid function expression. Number of arguments: 1
Examples DIFF/1, IC=1.05, FUNCTION=ASIN(DX(21,11)/DM(21,11)) This statement defines a user-specified differential equation. The initial value of the state variable is 1.05. The time derivative of the state variable is the expression ASIN(DX(21,11)/DM(21,11)). Functions
Using ADAMS/Solver 279 ATAN
ATAN
Definition The ATAN function returns the arc tangent of an expression a. The range of ATAN is [-π/2, π/2] (i.e., -π/2 < ATAN(a)< π/2).
Format ATAN(a)
Arguments a Any valid function expression. Number of arguments: 1
Examples SFORCE/1, ROTATIONAL, I=21, J=11 , FUNCTION=-10*ATAN(DY(42,33)/DX(42,33)) This SFORCE statement defines a torque acting between Markers 21 and 11. The value of the torque is the spring constant (10) multiplied by the angle between the line joining Markers 33 and 42 and the global x-axis as shown in Figure 58. Functions Figure 58. Example Illustrating the Use of the ATAN Function
Marker 43
DY(42,33)
θ DX(42,33) Marker 33 θ = ATAN(DY42,33)/DX(42,33))
280 Using ADAMS/Solver ATAN2
ATAN2
Definition The ATAN2 function expression returns the arc tangent of the expression a1/a2. a1 and a2 themselves may be expressions.
-π < ATAN2(a1,a2) < π ATAN2(a1,a2) > 0 if a1 > 0 ATAN2(a1,a2) = 0 if a1 = 0, a2 > 0 ATAN2(a1,a2) = π if a1 = 0, a2 < 0 ATAN2(a1,a2) < 0 if a1 < 0 ABS(ATAN2(a1,a2))= π/2 if a2 = 0 ATAN2(a1,a2) undefined if a1 = 0, and a2 = 0
Format ATAN2(a1,a2)
Arguments a1 Functions Any valid function expression. a2 Any valid function expression.
Examples VARIABLE/1, , FUNCTION=ATAN2(DY(21,31,41), DX(21,31,41)) This VARIABLE statement defines an algebraically-determined, user- defined state variable in ADAMS/Solver. Its value is specified by the expression containing ATAN2.
Using ADAMS/Solver 281 AX
AX
Definition The AX function returns the rotational displacement of marker i about the x-axis of marker j. Marker j defaults to the global coordinate system if it is not specified. This value is computed as follows: assume that rotations about the other two axes (y- and z-axes) of marker j are zero. Then AX is the angle between the two y-axes (or the two z-axes). AX is measured in a counter- clockwise sense from the y-axis of marker J to the y-axis of marker I (see Figure 59). Figure 59. Measurement of AX
zˆj
zˆi yˆi
AX(I,J) yˆj Functions
Format AX(i[,j])
Arguments i The marker whose rotations are being sought. j The marker whose coordinate system is used as a reference to calculate the rotations of marker i. When j is not specified, Solver defaults to the global coordinate system.
Extended Mathematically, AX is calculated as: Definition ()• , • AX= ATAN2 yˆi zˆj yˆi yˆj
where yˆ i is the y-axis of marker i, yˆ j is the y-axis of marker j and zˆ j is the z-axis of marker j.
282 Using ADAMS/Solver AX
Examples GFORCE/1, I=21, JFLOAT=31, RM=41 , FX=-20*AX(43,32) This GFORCE statement applies a force at the origin of Marker 21 along the x-axis of Marker 41. The reaction force is on floating Marker 31. The floating Marker 31 can belong to another part but its location is always the same as Marker 21. The value of the force is -20 times the angle between the y axes of Markers 43 and 32. The angle is measured in a counterclockwise sense from the y-axis of Marker 32 to the y-axis of Marker 43.
Cautions Note that ADAMS/Solver calculates the AX angle displacement differently for a BUSHING, FIELD, BEAM, and GFORCE. One reason for using different angles is to allow for large rotations about the z-axis. ADAMS/Solver computes the angle displacement as follows: ()• , • AX= ATAN2 –zˆi yˆj zˆi zˆj Functions
Using ADAMS/Solver 283 AY
AY
Definition The AY function returns the rotational displacement of marker i about the y-axis of marker j. Marker j defaults to the global coordinate system if it is not specified. The values are computed as follows: assume rotations about the other two axes (x-, z-axes) of marker j are zero. Then AY is the angle between the two x-axes (or the two z-axes). AY is measured counter- clockwise from the x-axis of the J marker to the x-axis of the I marker (see Figure 60). Figure 60. Measurement of AY
zˆj
yˆi xˆi
AY(I,J) xˆj Functions
Format AY(i[,j])
Arguments i The marker whose rotations are being sought. j The marker with respect to which the rotations are being measured.
Extended Mathematically, AY is calculated as: Definition ()• , • AY= ATAN2 zˆi xˆj zˆi zˆj
where zˆ i is the z-axis of marker i, xˆ j is the x-axis of marker j and zˆ j is the z-axis of marker j.
Examples SFORCE/10, ROTATION, I=23, J=34 , FUNCTION=-4*(AY(46,57)**2) This SFORCE statement applies a moment about the common z-axes of Markers 23 and 34. The torque acts on Marker 23; the reaction torque acts on Marker 34. The value of the torque being applied is -4 times the square of the angle between the x axes of Markers 46 and 57. The angle is measured in a counterclockwise sense from the x-axis of Marker 57 to the x-axis of Marker 46.
284 Using ADAMS/Solver AZ
AZ
Definition The AZ function returns the rotational displacement of marker i about the z-axis of marker j. Marker j defaults to the global coordinate system if it is not specified. This value is computed as follows: assume that rotations about the other two axes (x-, y-axes) of marker j are zero. Then AZ is the angle between the two x-axes (or the two y-axes). AZ is measured in a counter- clockwise sense from the x-axis of the J marker to the x-axis of the I marker (see Figure 61). Figure 61. Measurement of AZ
yˆj
yˆi xˆi
AZ(I,J) xˆ
j Functions
Format AZ(i[,j])
Arguments i The marker whose rotations are being sought. j The marker with respect to which the rotations are being measured.
Extended Mathematically, AZ is calculated as: Definition ()• , • AZ= ATAN2 xˆi yˆj xˆi xˆj
where xˆ i is the x-axis of marker i, xˆ j is the x-axis of marker j and yˆ j is the y-axis of marker j.
Examples VTORQUE/1, I=21, JFLOAT=31, RM=41 , TX=-10*(AX(21,32)-10D)\ , TY=-15*(AY(21,32)-15D)\ , TZ=-30*(AZ(21,32)-25D) This VTORQUE statement applies a moment at Marker 21. The reaction moment is at the floating Marker 31. The torques are expressed in the coordinate system of Marker 41.
Using ADAMS/Solver 285 BEAM
BEAM
Definition The BEAM function returns component comp of a force due to BEAM/id as calculated in the coordinate system of marker rm. If jflag is set to zero, the value returned is the force/torque acting on the I marker of the BEAM. If jflag is set to 1, the value returned is that acting on the J marker. rm may be specified as zero if the results are desired in the global coordinate system.
Format BEAM (id, jflag, comp, rm)
Arguments id An integer specifying the identification member of the beam. jflag An integer flag specifying the beam connectivity marker at which the forces and torques are computed. 0 = forces and moments at the I marker 1 = forces and moment at the J marker
Functions comp An integer value that specifies the component of the beam force to be returned. 1 = Magnitude of the force 2 = x component of the force 3 = y component of the force 4 = z component of the force 5 = Magnitude of the torque 6 = x component of the torque 7 = y component of the torque 8 = z component of the torque rm The coordinate system in which the results are expressed. To return the results in the global coordinate system, set rm = 0.
Examples REQUEST/1 , F2=BEAM(1001,0,2,0)\ , F3=BEAM(1001,0,3,0)\ , F4=BEAM(1001,0,4,0) This REQUEST statement stores the x-, y-, and z-component of the forces in BEAM/1001 in columns 2, 3, and 4, respectively. The forces are calculated at the I marker. The results are computed in the global coordinate system.
286 Using ADAMS/Solver BISTOP
BISTOP
Definition The BISTOP function models a gap element (see figure 5).
BISTOP (x,x , x ,x ,k,e,c ,d) Format ˙ 1 2 max
Arguments x The distance variable you want to use to compute the force. For example, if you want to use the x displacement of Marker 0201 with respect to 0301, then x is DX(0201,0301,0301).
x˙ The time derivative of x to BISTOP. For example, if x is DX(0201,0301,301)thenx˙ is VX(0201,0301,0301,0301).
x1 The lower bound of x. If x is less than x1 ADAMS/Solver calculates a positive value for the force. The value of x1 must be less than the value of x .
2 Functions
x2 The upper bound of x. If x is greater than x2 ADAMS/Solver calculates a negative value for the force. The value of x2 must be greater than the value of x1. k A non-negative value that specifies the stiffness of the boundary surface interaction. e A positive value that specifies the exponent of the force deformation characteristic. For a stiffening spring characteristic, e > 1.0. For a softening spring characteristic, 0 < e < 1.0.
cmax A non-negative variable that specifies the maximum damping coefficient. d A positive real variable that specifies the penetration at which the full damping coefficient is applied.
Using ADAMS/Solver 287 BISTOP
Extended The BISTOP function models a gap element. Figure 62 illustrates the BISTOP Definition force. The gap element consists of a slot which defines the domain of motion of a Part I located in the slot. As long as Part I is inside the slot and has no interference with the ends of the slot, it is free to move without forces acting on it. When Part I tries to move beyond the physical definition of the slot, impact forces representing contact are created by the BISTOP function. The created force tends to move Part I back into the slot.
The BISTOP force has two components: A stiffness component dependent on the penetration of Part I into the restricting Part J and a damping or viscous component that may be used to model energy loss.
Figure 62. Example of the BISTOP Function
L
x^ M1 M2 Functions
I J z^ z^
N x To prevent a discontinuity in the damping force at zero penetration, the damping coefficient is defined as a cubic step function of the penetration. Thus at zero penetration, the damping coefficient is always zero. The damping coefficient achieves a maximum, cmax, at a user-defined penetration, d. Even though the points of contact between the floating part and the restricting part may change as the system moves, ADAMS/Solver always exerts the force between the I and the J markers.
Examples You may model a slider in a slot with a BISTOP function as depicted in Figure 62. Assume a translational joint constrains the slider to move in a slot. The line of translation is along the colinear z-axes of the I and the J markers, I belonging to the slider and J to the part containing the slot. You can use an SFORCE statement together with the BISTOP function to restrict the movement of the slider in the slot and model the “gap.”
288 Using ADAMS/Solver BISTOP
In Figure 62, x is the instantaneous distance between the I and the J markers, N is the distance between the J marker and the left end of the slot, M1 is the distance between the I marker and the left edge of the floating part, L is the length of the slot, M2 is the distance between the I marker and the right edge of the floating part, x1 is the instantaneous distance between the I and the J markers when the floating part first comes into contact with the left end of the slot, and x2 is the instantaneous distance between the I and the J markers when the floating part first comes into contact with the right end of the slot.
Hence, the parameters for the BISTOP function for this example are:
x = DZ(I,J,J) and x˙ = 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 Functions
Note that when x1 ≤≤xx2 there is no penetration and the force is zero (penetration p = 0); when x < x1 penetration occurs at the end closer to the J marker and the force is > 0 (penetration p = x1 - x); and when x > x1 penetration occurs at the end farther away from the J marker, and the force is < 0 (penetration p = x - x2).
Also note than when p < d the instantaneous damping coefficient is a cubic step function of the penetration, p; when p > d the instantaneous damping coefficient is cmax.
The BISTOP function for this example is:
BISTOP(DZ(I,J,J,J), VZ(I,J,J,J), x1, x2, k, e, cmax, d)
The values of k, e, cmax, and d depend on the materials used in the two parts and on the shapes of the parts and are used to define the contact force. The BISTOP force can be mathematically expressed as follows:
Min(k*(x−− x)e STEP(x,x − d,c ,x ,0)*x©,0) : x < x 1 1 max 1 1 = ≤≤ BISTOP 0 : x12 x x −−−e + > Max( k*(x x2 ) STEP(x,x 2 ,0,x 2 d,c max )*x©,0): x x 2
Using ADAMS/Solver 289 BUSH
BUSH
Definition The BUSH function returns component comp of a force due to BUSHING/id as calculated in the coordinate system of marker rm. If jflag is set to zero, the value returned is the force/torque acting on the I marker of the BUSHING. If jflag is set to 1, the value returned is that acting on the J marker. rm may be specified as zero if the results are desired in the global coordinate system.
Format BUSH (id, jflag, comp, rm)
Arguments id An integer specifying the identification member of the bushing. jflag An integer flag specifying the bushing connectivity marker at which the forces and torques are computed. 0 = forces and moments at the I marker J
Functions 1 = forces and moment at the marker comp An integer value that specifies the component of the bushing force to be returned. 1 = Magnitude of the force 2 = x component of the force 3 = y component of the force 4 = z component of the force 5 = Magnitude of the torque 6 = x component of the torque 7 = y component of the torque 8 = z component of the torque rm The coordinate system in which the results are expressed. To return the results in the global coordinate system, set rm = 0.
Examples REQUEST/1 , F2=BUSH(1001,0,2,0)\ , F3=BUSH(1001,0,3,0)\ , F4=BUSH(1001,0,4,0) This REQUEST statement stores the x-, y-, and z-component of the forces in BUSH/1001 in columns 2, 3, and 4, respectively. The forces are calculated at the I marker. The results are computed in the global coordinate system.
290 Using ADAMS/Solver CHEBY
CHEBY
Definition The CHEBY function evaluates a Chebyshev polynomial at a user specified value x.
Format CHEBY (x, x0, a0, a1,..., a30)
Arguments x An expression that specifies the independent variable. For example, if the independent variable in the function is time, x is the system variable TIME.
x0 The phase shift in the Chebyshev polynomial.
a0,a1,...,a30 The coefficients for the Chebyshev polynomial. A maximum of thirty-one coefficients may be specified.
Extended The CHEBY function evaluates a Chebyshev polynomial at a user specified Definition value x. x , a , a ,..., a are parameters used to define the constants for 0 0 1 30 Functions the Chebyshev polynomial. The Chebyshev polynomial is defined as: ∑ C(x) = aj Tj (x-x0)
where the functions Tj are recursively defined as:
Tj (x-x0)= 2 * (x-x0)* Tj-1 (x-x0)- Tj-2 (x-x0)
with T0 (x-x0) = 1, and T1 (x-x0) = x-x0. The index “j” has a range from zero to “n”, where “n” is the number of terms in the series.
Note that: 2 T2 (x-x0) = 2 * (x- x0) - 1 3 T3 (x-x0) = 4 * (x- x0) - 3 * (x- x0)
Examples MOTION/1, JOINT=21, TRANSLATION, ,FUNCTION = IF (TIME-2:CHEBY(TIME, 1, 1, 0, -1), 0, 0) This MOTION statement defines a motion using a quadratic Chebyshev polynomial and the system variable TIME. The arithmetic IF ensures that the function remains zero after 2 time units. When time is less than 2 time units, ADAMS/Solver evaluates a Chebyshev polynomial to determine the motion. The polynomial defined in the above example is: 2 Cheby = 1 + 0 * (time-1) - 1 * [2 (time-1) - 1] 2 = 2*time - 4*time
Using ADAMS/Solver 291 COS
COS
Definition The COS function returns the cosine of an expression a.
Format COS(a)
Arguments a Any valid function expression. Number of Arguments: 1
Examples MOTION/2060, JOINT=2060, ROTATION, , FUNCTION=20D+COS(2*PI*TIME) This MOTION statement defines a rotational motion acting on JOINT/2060. The rotational degree of freedom is specified to be 20D+COS(2*PI*TIME). Functions
292 Using ADAMS/Solver COSH
COSH
Definition The COSH function computes the hyperbolic cosine of an expression a.
COSH(a) = (ea + e-a) / 2.0
Format COSH(a)
Arguments a Any valid function expression. Number of Arguments: 1
Examples REQUEST/36, , F2=COSH(DZ(21,11,11)) This REQUEST statement returns the hyperbolic cosine of the z-component of the displacement of Marker 21 with respect to Marker 11 in its second column. The result is computed in the coordinate system of Marker 11. Functions
Using ADAMS/Solver 293 CUBSPL
CUBSPL
Definition The CUBSPL function returns the interpolated value of SPLINE/id at X=x and Z=z or returns the iord derivative at the interpolated value of SPLINE/id at X=x, Z=0.
Format CUBSPL (x, z, id)
or
CUBSPL (x, 0, id [,iord])
Arguments x A real variable that specifies the independent variable value along the x-axis of the CUBSPL. z A real variable that specifies the second independent variable value along the z-axis of the surface being interpolated. If the SPLINE statement Functions defines only one curve, ADAMS/Solver ignores this variable. id An integer variable that specifies the identifier of a CUBSPL statement. iord An optional integer that specifies the order of the derivative at the interpolate value to be returned by CUBSPL. Range: 0 ≤≤iord 2
Extended The CUBSPL function uses the standard cubic method of interpolation to create Definition a spline function across a set of data points. The data points are defined in the SPLINE statement in ADAMS/Solver data deck. The SPLINE that you define in the ADAMS/Solver dataset may represent a curve (x-y points) or a surface (x-y-z points). Interpolation in the y direction is cubic and interpolation in the z direction is linear. To interpolate the values specified in a curve, set z = 0.
iord specifies the order of the derivative and may be used only when interpolating a curve (i.e., when z = 0).
294 Using ADAMS/Solver CUBSPL
CUBSPL, though not as fast as AKISPL, always produces good results for the value of the function being approximated, its first and second derivatives. There is no requirement on the data points being evenly spaced. This may be an important consideration when you use splines to define functions in ADAMS/Solver. The solution process often requires estimates of derivatives of the functions being defined. The smoother a derivative is, the easier it is for the solution process to converge.
If the spline data contains sudden changes in value, the CUBSPL function gives more oscillatory results for the curve or surface than are given by the AKISPL function.
Examples SPLINE/1, , X= -3, -2, -1, 0, 1, 2, 3 , Y= -67.4, -48.6, -33.7, 4.8, 24.12, 37.6, 48.4
SFORCE/1, I=409, J=109, TRANSLATION, , FUNCTION=CUBSPL(TIME, 0, 1)
This SFORCE statement defines the translational force acting between Functions Markers 409 and 109. The SPLINE statement provides the discrete data used to generate the interpolation function using the cubic spline. Since the SPLINE statement defines only one curve, the value of z is defined to be 0.
Using ADAMS/Solver 295 CURVE
CURVE
Definition The CURVE function evaluates a B-spline or user-written curve created by a CURVE statement.
Format CURVE (alpha, iord, comp, id)
Arguments alpha A real variable that identifies the value of the independent parameter, α, at which the CURVE function evaluates the curve. If the curve is a B- spline computed by the CURVE statement, alpha must be in the domain -1 ≤≤α 1. If the curve is computed by a CURSUB, alpha must be in the domain MINPAR ≤≤α MAXPAR (these are specified in the CURVE statement). iord An integer variable that specifies the order of the derivative the CURVE function returns. The legal values are: 0 - returns the curve coordinate Functions 1 - returns the first derivative 2 - return the second derivative comp An integer variable that specifies the component that the CURVE function returns. The legal values are: 1 - returns the x coordinate or derivative 2 - returns the y coordinate or derivative 3 - returns the z coordinate or derivative
Parameters iord and icomp together allows you to request any one of the following nine return values.
iord icomp=1 icomp=2 icomp=3 0 x(α) y(α) z(α) 1 dx()α dy()α dz()α ------dα dα dα
2 2 2 2 d x()α d y()α d z()α ------2 2 2 dα dα dα
296 Using ADAMS/Solver CURVE
id An integer variable that specifies the identifier of the CURVE statement.
Examples VFORCE/1, I=101, JFLOAT=201, RM=99, , FX=CURVE(.4*TIME - 1, 0, 1, 8)\ , FY=CURVE(.4*TIME - 1, 0, 2, 8)\ , FZ=CURVE(.4*TIME - 1, 0, 3, 8) This example applies a VFORCE acting between Markers 101 and 201. The CURVE statement defines the force components as a function of alpha, which varies from -1.0 to 1.0. The term .4*TIME-1 computes the instantaneous value of alpha from the simulation time. Functions
Using ADAMS/Solver 297 CVCV
CVCV
Definition The CVCV function returns component comp of a force or torque due to CVCV/id as calculated in the coordinate system of marker rm. If jflag is set to zero, the value returned is the force/torque acting on the IFLOAT marker of the CVCV. If jflag is set to one, the value returned is that acting on the JFLOAT marker. rm may be specified as zero if the results are desired in the global coordinate system.
Format CVCV (id, jflag, comp, rm)
Arguments id An integer specifying the identification member of the bushing. jflag An integer flag specifying the bushing connectivity marker at which the forces and torques are computed. 0 = forces and moments at the I marker
Functions 1 = forces and moment at the J marker comp An integer value that specifies the component of the bushing force to be returned. 1 = Magnitude of the force 2 = x component of the force 3 = y component of the force 4 = z component of the force 5 = Magnitude of the torque 6 = x component of the torque 7 = y component of the torque 8 = z component of the torque rm The coordinate system in which the results are expressed. To return the results in the global coordinate system, set rm = 0.
298 Using ADAMS/Solver CVCV
Examples REQUEST/18, , F2=CVCV(210,0,2,0)\ , F3=CVCV(210,0,3,0)\ , F4=CVCV(210,0,4,0)\ , F6=CVCV(210,0,6,0)\ , F7=CVCV(210,0,7,0)\ , F8=CVCV(210,0,8,0) This REQUEST statement returns all three components of the forces and moments acting at the IFLOAT marker of CVCV Joint 210. Functions
Using ADAMS/Solver 299 DIF
DIF
Definition The DIF function returns the value of the state variable associated with DIFF/id.
Format DIF(id)
Arguments id An integer variable that specifies the identifier of a DIFF statement. DIF/23, IC=4.67, FUNCTION=WZ(236,467)
Example: SFORCE/1, i=236, j=467, ROTATION , FUNCTION=-10*DIF(23-4*DIF1(23)
The DIF statement defines a rotational S-Force that acts along the common z-axes of Markers 236 and 467. The torque along the z-axes is defined to be -10 times the value of the state that is defined by DIFF/23 -4 times the value of the time derivative of the
Functions state that is defined by DIFF/23.
300 Using ADAMS/Solver DIF1
DIF1
Definition The DIF1 function returns the value of the time derivative of the state variable associated with DIFF/id. In instances where DIFF/id is used to define an implicit algebraic equation, DIF1 returns an approximation of the time derivative obtained by numerical differencing.
Format DIF1(id)
Arguments id An integer variable that specifies the identifier of a DIFF statement.
Examples SFORCE/1, I=21, J=11, ROTATION , FUNCTION= -20*(AZ(21,11)-10)**1.5 , -5*WZ(21,11,11)
DIF/1, IC=0, FUNCTION=SFORCE(1,0,8,11)*WZ(21,11) This SFORCE statement specifies a nonlinear rotational spring acting between Markers 21 and 11. The spring torque acts about the z axis of Functions Marker 11. DIF/1 specifies the instantaneous power used by SPRING/1. The expression DIF(1) returns the integral of the instantaneous power (i.e., the total work done by SPRING/1). DIF1(1) returns the instantaneous power in SPRING/1.
Using ADAMS/Solver 301 DIM
DIM
Definition The DIM function calculates the positive difference of the instantaneous values of two expressions a1 and a2.
DIM(a1,a2) = 0 if a1≤ a2 DIM(a1,a2) =a1-a2 if a1 > a2
Format DIM(a1,a2)
Arguments a1 Any valid function expression. a2 Any valid function expression.
Cautions DIM is a discontinuous function and must be used with caution. Functions
302 Using ADAMS/Solver DM
DM
Definition The DM function returns the magnitude of the translational displacement vector from marker j to marker i. Marker j defaults to the global coordinate system if it is not specified. DM is the distance between markers i and j and, by definition, is always non-negative.
Format DM(i[,j])
Arguments i The marker whose origin is being measured. j The marker whose origin is the reference point for the displacement calculation.
Extended Mathematically, DM is calculated as follows: Definition ⁄ []•)[]12 DM = Ri – Rj Ri – Rj Functions
where Ri is the displacement of marker i in the global coordinate system and
Rj is the displacement of marker j in the global coordinate system.
Examples SFORCE/1, I=21, J=11, TRANSLATION , FUNCTION=-30*(DM(21,11)-25)**1.72 This SFORCE statement defines a nonlinear spring whose free length is 25. The stiffness is 30 force units per unit deformation. DM(21,11)-25 represent the deformation in the spring. 1.72 is the exponent to which the deformation is raised.
Using ADAMS/Solver 303 DTOR
DTOR
Definition The DTOR variable returns degrees to radians conversion factor (PI/180).
Format DTOR
Examples VARIABLE/1, FUNCTION=30*DTOR*TIME This VARIABLE statement specifies a user-defined, algebraically- determined state variable whose value is 30 degrees*time. The state variable is stored in radians. Functions
304 Using ADAMS/Solver DX
DX
Definition The DX function returns the x-component of the translational displacement vector from marker j to marker i as expressed in the marker k coordinate system. Marker j defaults to the global coordinate system if it is not specified. Similarly, marker k defaults to ground if it is not specified.
Format DX(i[,j][,k])
Arguments i The marker whose origin is being measured. j The marker whose origin is the reference point for the displacement calculation. k The marker that is referenced to calculate the x-component of the displacement vector. Set k = 0 if you want the results to be calculated along the x-axis of the global coordinate system. Functions
Extended Mathematically, DX is calculated as follows: Definition []• DX = Ri – Rj xˆk
where Ri is the displacement of marker i in ground and Rj is the displacement of marker j in ground and xˆ k is the unit vector along the x-axis of marker k.
Examples VARIABLE/1, FUNCTION=DX(21,11,32)**2 This VARIABLE statement specifies a user-defined, algebraically- determined state variable. Its value is the square of the x-displacement of Marker 21 with respect to Marker 11 as computed in the coordinate system of Marker 32.
Using ADAMS/Solver 305 DY
DY
Definition The DY function returns the y-component of the translational displacement vector from marker j to marker i as expressed in the marker k coordinate system. Marker j defaults to the global coordinate system if it is not specified. Similarly, marker k defaults to the global coordinate system if it is not specified.
Format DY(i[,j][,k])
Arguments i The marker whose origin is being measured. j The marker whose origin is the reference point for the displacement calculation. Set j=0 if you want j to default to the global coordinate system while still specifying k. k The coordinates of the marker that are referenced to calculate coordinates Functions the y-component of the displacement vector is being calculated. Set k = 0 if you want the results to be calculated along the x-axis of the global coordinate system.
Extended Mathematically, DY is calculated as follows: Definition []• DY = Ri – Rj yˆk
where Ri is the displacement of marker i in the global coordinate system and
Rj is the displacement of marker j in the global coordinate system and yˆ k is the unit vector along the y-axis of marker k.
Examples VARIABLE/1, FUNCTION=DY(21,11,32)**2 This VARIABLE statement specifies a user-defined, algebraically- determined state variable. Its value is the square of the y-displacement of Marker 21 with respect to Marker 11 as computed in the coordinate system of Marker 32.
306 Using ADAMS/Solver DZ
DZ
Definition The DZ function returns the z-component of the translational displacement vector from marker j to marker i as expressed in the marker k coordinate system. Marker j defaults to the global coordinate system if it is not specified. Similarly marker k defaults to the global coordinate system if it is not specified.
Format DZ(i[,j][,k])
Arguments i The marker whose origin is being measured. j The marker whose origin is the reference point for the displacement calculation. Set j=0 if you want j to default to the global coordinate system while still specifying l. k The marker in whose coordinates the z-component of the displacement vector is being calculated. Set k = 0 if you want the results to be calculated Functions along the x-axis of the global coordinate system.
Extended Mathematically, DZ is calculated as follows: Definition []• DZ = Ri – Rj zˆk
where Ri is the displacement of marker i in ground and Rj is the displacement of marker j in ground and zˆ k is the unit vector along the z-axis of marker k.
Examples VARIABLE/1, FUNCTION=DZ(21,11,32)**2 This VARIABLE statement specifies a user-defined, algebraically- determined state variable. Its value is the square of the z-displacement of Marker 21 with respect to Marker 11 as computed in the coordinate system of Marker 32.
Using ADAMS/Solver 307 EXP
EXP
Definition The EXP function computes the value ea, where a is any expression.
Format EXP(a)
Arguments a Any valid function expression. Number of arguments: 1
Examples REQUEST/10, F2=EXP(WDTX(21,11,11,31)) In its second column, REQUEST/10 stores the value, eWDTX(21,11,11,31), where WDTX (21,11,11,31) is the x-component of the accelerations of Marker 21 with respect to Marker 11 as expressed in the coordinate system of Marker 11. The time derivative is taken in the reference frame of Marker 31. Functions
308 Using ADAMS/Solver FIELD
FIELD
Definition The FIELD function returns component comp of a force due to FIELD/id as calculated in the coordinate system of marker rm. If jflag is set to zero, the value that is returned is the force/torque acting on the I marker of the FIELD. If jflag is set to 1, the value that is returned is the value acting on the J marker. For results that are in the global coordinate system, you can specify rm as zero.
Format FIELD (id, jflag, comp, rm)
Arguments id An integer specifying the identification member of the FIELD. jflag An integer flag specifying the FIELD connectivity marker at which the forces and torques are computed. 0 = forces and moments at the I marker
1 = forces and moment at the J marker Functions comp An integer value that specifies the component of the FIELD force to be returned. 1 = Magnitude of the force 2 = x component of the force 3 = y component of the force 4 = z component of the force 5 = Magnitude of the torque 6 = x component of the torque 7 = y component of the torque 8 = z component of the torque rm The coordinate system in which the results are expressed. To return the results in the global coordinate system, set rm = 0.
Examples REQUEST/1 , F2=FIELD(1001,0,2,0)\ , F3=FIELD(1001,0,3,0)\ , F4=FIELD(1001,0,4,0) This REQUEST statement stores the x-, y-, and z-component of the forces in FIELD/1001 in columns 2, 3, and 4, respectively. Solver calculates the forces at the I marker, and computes results in the global coordinate system.
Using ADAMS/Solver 309 FM
FM
Definition The FM function returns the magnitude of the net translational force acting at marker i due to all applied forces and constraints acting between markers i and j.
To calculate the magnitude of the net translational force at marker i due to action-only forces acting at i, set j = 0 or do not specify the j marker.
Format FM(i[,j])
Arguments i An integer that specifies the identifier of the marker at which the magnitude of the net force is to be calculated. j A second integer that specifies a marker identifier. All forces acting between the [i,j] pair are included in the calculation. Set j = 0 or do not specify it if you are interested in action-only forces. Functions Examples VARIABLE/1, FUNCTION=FM(23) A user-defined state variable is specified by this VARIABLE statement. Its value is the magnitude of the sum of all action-only forces acting at Marker 23.
VARIABLE/1, FUNCTION=FM(23,11) A user-defined state variable is specified by this VARIABLE statement. Its value is the magnitude of the sum of all the forces at Marker 23 and acting between Markers 23 and 11.
310 Using ADAMS/Solver FORCOS
FORCOS
Definition The FORCOS function evaluates a Fourier Cosine series at a user-specified value x. The x0, a0, a1,...,a30 are parameters used to define the constants for the Fourier Cosine series.
Format FORCOS (x, x0, w, a0, a1,..., a30)
Arguments x A real variable that specifies the independent variable. For example, if the independent variable in the function is time, x is the system variable TIME.
x0 A real variable that specifies a shift in the Fourier Cosine series. ω A real variable that specifies the fundamental frequency of the series. ADAMS/Solver assumes ω is in radians per unit of the independent D
variable unless you use a after the value. Functions
a0,a1,...,a30 The real variables that define as many as thirty-one coefficients for the Fourier Cosine series.
Extended The Fourier Cosine series is defined: Definition n
F(x) = a0 +∑ a j *Tj (x-x0) j = 1
where the functions Tj are defined as:
ω Tj (x-x0) = cos{j * * (x-x0)}
The index j has a range from 1 to n, where n is the number of terms in the series.
Using ADAMS/Solver 311 FORCOS
Examples MOTION/1, JOINT=21, TRANSLATION, , FUNCTION=FORCOS(TIME, 0, 360D, 1, 2, 3, 4) This MOTION statement defines a harmonic motion as a function of time. The motion has no shift, has a fundamental frequency of 1 cycle (360D) per time unit, has a constant value of 1.0. The function defined is: FORCOS = 1+2*COS(1*360D*TIME) +3*COS(2*360D*TIME) +4*COS(3*360D*TIME)
Figure 63 shows the curve.
Figure 63. Curve of a Harmonic Motion Defined by FORCOS
15.0
10.0 Functions 5.0
0.0
-5.0 1.25 3.75 0.0 2.5 5.0 S
312 Using ADAMS/Solver FORSIN
FORSIN
Definition The FORSIN function evaluates a Fourier Sine series at a user specified value x. x0,a0,a1,...,a30 are parameters used to define the constants for the Fourier Sine series.
FORSIN (x, x , w, a , a ,..., a ) Format 0 0 1 30
Arguments x A real variable that specifies the independent variable. For example, if the independent variable in the function is time, x is the system variable TIME.
x0 A real variable that specifies a shift in the Fourier Sine series. ω A real variable that specifies the fundamental frequency of the series. ADAMS/Solver assumes ω is in radians per unit of the independent
variable unless you use a D after the value. Functions
a0 A real variable that defines the constant bias term for the function.
a1,...,a30 The real variables that define as many as thirty-one coefficients for the Fourier Sine series.
Extended The Fourier Sine series is defined: Definition n
F(x) = a0 +∑ a j *Tj (x-x0) j = 1
where the functions Tj are defined as:
ω Tj (x-x0) = sin{j * * (x-x0)} The index j has a range from 1 to n, where n is the number of terms in the series
Using ADAMS/Solver 313 FORSIN
Examples MOTION/1, JOINT=21, TRANSLATION, , FUNCTION=FORSIN(TIME,-0.25, PI, 0, 1, 2, 3) This MOTION statement defines a harmonic motion as a function of time. The motion has a -0.25 second shift, a fundamental frequency of 0.5 cycle (π radians or 180 degrees) per time unit, and no constant value. The function defined is: FORSIN = 0+SIN(π*(TIME+0.25)) +2*SIN(2π*(TIME+0.25)) +3*SIN(3π*(TIME+0.25))
Figure 64 shows the curve.
Figure 64. Curve of a Harmonic Motion Defined by FORSIN
6.0
3.0 Functions
0.0
-3.0
-6.0 1.25 3.75 0.0 2.5 5.0
314 Using ADAMS/Solver FX
FX
Definition The FX function returns the x-component of the net translational force acting at marker i, as computed in the coordinate system of marker k. All force elements acting between markers i and j are included in the calculation of the force, unless the force is an action-only type force. To return the x-component of the action-only forces acting at marker i, you should omit specification of markers j and k or specify them to be zero.
Format FX(i[,j][,k])
Arguments i An integer that specifies the identifier of the marker at which the magnitude of the net force is to be calculated. j A second integer that specifies a marker identifier. All forces acting between the [i,j] pair are to be included in the calculation. Set j = 0 or do not specify it if you are interested in action-only forces. k Functions An integer that specifies the identifier of a marker (coordinate system) in which the x-component of the force is to be returned. k defaults to the global coordinate system when it is not specified.
Examples VARIABLE/1, FUNCTION=FX(23,0,432) A user-defined state variable is specified by this VARIABLE statement. Its value is FX(23,0,432). This is the x-component of the sum of all the action-only forces acting at Marker 23. The x-axis of Marker 432 specifies the direction along which the net translation force is computed.
Using ADAMS/Solver 315 FY
FY
Definition The FY function returns the y-component of the net translational force acting at marker i, as computed in the coordinate system of marker k. All force elements acting between markers i and j are included in the calculation of the force, unless the force is an action-only type force. To return the y-component of the action-only forces acting at marker i, you should omit specification of markers j and k or specify them to be zero.
Format FY(i[,j][,k])
Arguments i An integer that specifies the identifier of the marker at which the magnitude of the net force is to be calculated. j A second integer that specifies a marker identifier. All forces acting between the [i,j] pair are to be included in the calculation. Set j = 0 or do not specify it if you are interested in action-only forces. Functions k An integer that specifies the identifier of a marker (coordinate system) in which the y-component of the force is to be returned. k defaults to the global coordinate system when it is not specified.
Examples SFORCE/1, I=132, J=234, TRANSLATION, ACTIONONLY , FUNCTION=-0.3*FY(677,866) This SFORCE statement defines a translation, action-only force acting at Marker 132. The force is directed along the z-axis of Marker 234. The value of the force is -0.3 times the y-component of the net force along the global y-axis, acting at Marker 677. All forces acting between Markers 677 and 866 are included in this calculation.
316 Using ADAMS/Solver FZ
FZ
Definition The FZ function returns the z-component of the net translational force acting at marker i, as computed in the coordinate system of marker k. All force elements acting between markers i and j are included in the calculation of the force, unless the force is an action-only type force. To return the z-component of the action-only forces acting at marker i, you should omit specification of markers j and k or specify them to be zero.
Format FZ(i[,j][,k])
Arguments i An integer that specifies the identifier of the marker at which the magnitude of the net force is to be calculated. j A second integer that specifies a marker identifier. All forces acting between the [i,j] pair are to be included in the calculation. Set j = 0 or do not specify it if you are interested in action-only forces. k Functions An integer that specifies the identifier of a marker (coordinate system) in which the z-component of the force is to be returned. k defaults to the global coordinate system when it is not specified.
Examples SFORCE/1, I=23, J=11, TRANSLATION, ACTIONONLY , FUNCTION=STEP5(FX(34), -1.5, -200, 1.5, 200) This SFORCE statement defines a translational, action-only, nonlinear force. The force is directed along the z-axis of Marker 11. The value of the force is a 5th order step function (see STEP5 on page 359). The independent variable for the STEP5 function is FX(34), the net force acting along the global y-axis at Marker 34. Since no j marker is specified, only action-only forces acting at Marker 34 are included in the calculation of FX().
Using ADAMS/Solver 317 GFORCE
GFORCE
Definition The GFORCE function returns the component comp of the force in GFORCE/id in the coordinate system of marker rm. If jflag is set to zero, Solver returns the value of the force/torque that acts on the I marker of GFORCE. If jflag is set to 1, Solver returns the value that acts on the J marker. To obtain results in the global coordinate system, you can specify rm as zero.
Format GFORCE (id, jflag, comp, rm)
Arguments id An integer specifying the identification number of the GFORCE. jflag An integer flag specifying the GFORCE connectivity marker at which the forces and torques are computed. 0 = forces and moments at the I marker
Functions 1 = forces and moment at the J marker comp An integer value that specifies the component of the GFORCE to be returned. 1 = Magnitude of the force 2 = x component of the force 3 = y component of the force 4 = z component of the force 5 = Magnitude of the torque 6 = x component of the torque 7 = y component of the torque 8 = z component of the torque rm The coordinate system in which the results are expressed. To return the results in the global coordinate system, set rm = 0.
318 Using ADAMS/Solver GFORCE
Examples GFORCE/1, I=516, J=34, RM=23 , FX=-0.3*GFORCE(1,0,4,23)\ , FY=0\ , FZ=IMPACT(DZ(516,0,23),VZ(516,0,23,23),4.6,1e5,1.5,10,0.01) This GFORCE statement defines a force acting at Marker 516. The components of the force are defined along the x-, y-, z-axes of Marker 23. The x-component of the force is -0.3 times the z-component of the force. The z-component of the force is defined as an impact force (see IMPACT on page 323) that is a function of the displacement and velocity of Marker 516, as seen by Marker 23. Functions
Using ADAMS/Solver 319 HAVSIN
HAVSIN
Definition The HAVSIN function defines a haversine function. It is used most often to represent a smooth transition between two functions.
Format HAVSIN (x, x0, h0, x1, h1)
Arguments x The independent variable.
x0 A real variable that specifies the x value at which the haversine function begins.
x1 A real variable that specifies the x value at which the haversine function ends.
h0
Functions The initial value of the haversine function.
h1 The final value of the haversine function.
Extended The HAVSIN function is used most often to represent a smooth transition Definition between two functions (Figure 65). As an example, a HAVSIN may be used to smoothly ramp up the motion in a joint from h0 to some constant value h1.
Figure 65. Haversine Function
1.0
0.75
0.5
0.25
0.0 1.25 3.75 0.0 2.5 5.0
320 Using ADAMS/Solver HAVSIN
The equation defining HAVSIN is:
a = (h0 + h1)/2
b = (h1 - h0)/2
c = (x - x0)/(x1 - x0)
h :x ≤ x 00 = +−ππ << HAVSIN ab* sin(/):xxx c* 2 01 ≥ h11 :x x
Tips The HAVSIN function behavior is similar to the STEP functions (see STEP on page 356 and STEP5 on page 359). The HAVSIN is much smoother than either of these functions. The smoothness, however, causes its derivatives to be larger than either STEP or STEP5.
Examples MOTION/1, JOINT=21, TRANSLATION , FUNCTION=HAVSIN(TIME, 1, 0, 2, 1) Functions This MOTION statement defines a smooth transition from time 1 to time 2 with a displacement from 0 to 1.
Using ADAMS/Solver 321 IF
IF
Definition The arithmetic IF function allows you to conditionally define a function expression.
Format IF (expression 1: expression 2, expression 3, expression 4)
ADAMS/Solver evaluates expression 1.
◆ If the value of expression 1 is less than zero, the arithmetic IF is evaluated using expression 2. ◆ If the value of expression 1 is zero, the arithmetic IF is evaluated using expression 3. ◆ If the value of expression 1 is greater than zero, the arithmetic IF is evaluated using expression 4.
Cautions When using an arithmetic IF function make sure that the resulting function is continuous. If the function is discontinuous, ADAMS/Solver may fail to find a Functions solution when it encounters the discontinuity.
Examples SFORCE/1, I=20, J=31, , FUNCTION=-6*IF(VR(10,31): 0, 0, VR(10,31)**3) This function is interpreted as follows: ◆ If the radial velocity (see VR on page 374) between Markers 20 and 31 is less than or equal to zero, the value of SFORCE/1 is zero. ◆ If the radial velocity between Markers 10 and 31 is greater than zero, the value of SFORCE/1 is -6*VR(10,31)**3.
322 Using ADAMS/Solver IMPACT
IMPACT
Definition The IMPACT function models collisions.
IMPACT (x,x , x , k, e, c , d) Format ˙ 1 max
Arguments x An expression that specifies a distance variable that computes a force. For example, if you use the x displacement of Marker 0201 with respect to Marker 0301, then x is DX(0201,0301,0301). See DX on page 305. x˙ An expression that defines communicates the time derivative of x to IMPACT. For example, if x is DX(0201,0301), thenx˙ is VX(0201,0301,0,0301).
x1 A positive real variable that specifies the free length of x. If x is less than x1, then ADAMS/Solver calculates a positive value for the force. Otherwise, the force value is zero. You can define x1 as a real number, Functions function, or variable. k A non-negative real variable that specifies the stiffness of boundary surface interaction. e A positive real variable that specifies the exponent of the force deformation characteristic. For a stiffening spring characteristic, e > 1.0. For a softening spring characteristic, 0 < e < 1.0.
cmax A non-negative real variable that specifies the maximum damping coefficient. d A positive real variable that specifies the boundary penetration at which ADAMS/Solver applies full damping.
Extended The IMPACT function activates when the distance between the I and the J Definition markers falls below a nominal free length (x1), that is, when two parts collide. As long as the distance between the I and J markers is greater than x1, the force is zero. An example of a system you can model with the IMPACT function is a ball falling towards the ground. Figure 66 shows the free length value x1 at which the IMPACT force turns on.
Using ADAMS/Solver 323 IMPACT
The force has two components, a spring or stiffness component and a damping or viscous component. The stiffness coefficient, k, is a function of the penetration of the I marker within the free length distance from the J marker. The stiffness component opposes the penetration. The damping component of the force is a function of the speed of penetration. The damping opposes the direction of relative motion. To prevent a discontinuity in the damping force at contact, the damping coefficient is, by definition, a cubic step function of the penetration. Thus, at zero penetration, the damping coefficient is always zero. The damping coefficient achieves a maximum, cmax, at a user-defined penetration, d.
Figure 66. Example Illustrating the IMPACT Function
I
x1 d x Functions I J J x x1 d
The equation defining IMPACT is:
Max(0,k(x - x)e −− STEP(x,x d,c ,x ,0)*x):Ç x < x IMPACT = 11max 11 ≥ 0 : x x1
Note that when x ≥ x1, no penetration occurs and the force is zero (penetration p = 0). When x < x1, penetration occurs at the end closer to the J marker, and the force is > 0 (penetration p = x1 - x).
Also note that when p < d, the instantaneous damping coefficient is a cubic step function of the penetration p.
When p > d, the instantaneous damping coefficient is cmax. ADAMS/Solver never returns a negative force for IMPACT. If the above expression is negative, ADAMS/Solver returns a value of zero.
324 Using ADAMS/Solver IMPACT
Figure 67 is a plot of damping coefficient versus penetration. Figure 67. Damping Coefficient versus Penetration
cmax
Damping Coefficient
d 0 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) Functions This statement defines an impact force when a ball penetrates another object such as a table. The force is a single-component force at Marker 11 and along the z-axis of Marker 21. DZ(11,21,21) defines the instantaneous displacement of Marker 11 with respect to Marker 21 along the z-axis of Marker 21. VZ(11,21,21,21) defines the instantaneous velocity. The free length is 1, i.e., the radius of the ball is 1 unit. The stiffness is 100, and the exponent of deformation is 1.5, the maximum damping coefficient is 25. The penetration at which ADAMS/Solver applies full damping is 0.1. VFORCE/1, I=27, JFLOAT=25, RM=26 , FX=0\ , FY=IMPACT(DY(4,1,1), VY(4,1,1), 1-AKISPL(DX(4,1,1), , DZ(4,1,1)3),le7, 1.01, le4,.25)\ , FZ=0 This statement defines an impact force when a ball penetrates a surface defined by a spline. The force is a translational force at Marker 27. The DY(4,1,1) defines the y-component of the instantaneous displacement of Marker 4 with respect to Marker 1. The VY(4,1,1) defines the y-component of the instantaneous velocity. The free length is defined using spline 3, which represents the surface. The independent variables in the spline are defined using the x-component and z-component of the instantaneous displacement of Marker 4 with respect to Marker 1, DX(4,1,1) and DZ(4,1,1), respectively. The stiffness is le7, the exponent of deformation is 1.01, the maximum damping coefficient is 25, and the penetration at which ADAMS/Solver applies full damping is.25.
Using ADAMS/Solver 325 JOINT
JOINT
Definition The JOINT function returns component comp of a force or torque due to JOINT/id as calculated in the coordinate system of marker rm. If jflag is set to zero, the value returned is the force/torque acting on the I marker of the JOINT. If jflag is set to one, the value returned is that acting on the J marker. rm may be specified as zero if the results are desired in the global coordinate system.
Format JOINT (id, jflag, comp, rm)
Arguments id An integer specifying the identification member of the joint. jflag An integer flag specifying the joint connectivity marker at which the forces and torques are computed. 0 = forces and moments at the I marker
Functions 1 = forces and moments at the J marker comp An integer value that specifies the component of the joint force to be returned. 1 = Magnitude of the force 2 = x component of the force 3 = y component of the force 4 = z component of the force 5 = Magnitude of the torque 6 = x component of the torque 7 = y component of the torque 8 = z component of the torque rm The coordinate system in which the results are expressed. To return the results in the global coordinate system, set rm = 0.
326 Using ADAMS/Solver JOINT
Examples JOINT/1, REVOLUTE, I=46, J=23 SFORCE/1, ROTATION, I=46, J=23 , FUNCTION=-0.4*SIGN(1.0,WZ(46,23,23)*5.6*, , (JOINT(1,0,1,23)-ABS(JOINT(1,0,4,23)))) This example illustrates how a simple dynamic friction force can be added to a revolute joint. JOINT/1 is the revolute joint to which frictional effects are to be added. 0.4 is the coefficient of friction and 5.6 is the radius of the sleeve defining the revolute joint. WZ(46,23,23) determines the direction of rotation and the negative sign indicates that the frictional moment about the z-axis of Marker 23 opposes this motion. JOINT(1,0,1,23) determines the magnitude of the reaction force at Marker 23. JOINT(1,0,4,23) determines the component of the constraint force along the axis of the rotational of the joint. JOINT(1,0,12)-ABS(JOINT(1,0,4,23)) defines the radial load in the revolute joint (i.e., the normal force). Functions
Using ADAMS/Solver 327 JPRIM
JPRIM
Definition The JPRIM function returns component comp of a force due to JPRIM/id as calculated in the coordinate system of marker rm. If jflag is set to zero, the value returned is the force/torque acting on the I marker of the JPRIM. If jflag is set to one, the value returned is that acting on the J marker. rm may be specified as zero if the results are desired in the global coordinate system.
Format JPRIM (id, jflag, comp, rm)
Arguments id An integer specifying the identification member of the JPRIM. jflag An integer flag specifying the JPRIM connectivity marker at which the forces and torques are computed. 0 = forces and moments at the I marker 1 = forces and moment at the J marker
Functions comp An integer value that specifies the component of the JPRIM force to be returned. 1 = Magnitude of the force 2 = x component of the force 3 = y component of the force 4 = z component of the force 5 = Magnitude of the torque 6 = x component of the torque 7 = y component of the torque 8 = z component of the torque rm The coordinate system in which the results are expressed. To return the results in the global coordinate system, set rm = 0.
Examples REQUEST/1 , F2=JPRIM(212,1,8,346) In its second column, this REQUEST statement stores the z component of the torque acting at the J marker of JPRIM 212. The torque component is calculated in the coordinate system of Marker 346.
328 Using ADAMS/Solver LOG
LOG
Definition The LOG function returns the natural logarithm an expression a. If ex=a then LOG(a)= x. The LOG function is defined only for positive values of a (i.e., a > 0). It is undefined for all other values.
Format LOG(a)
Arguments a Any valid function expression that returns a positive value during a simulation. Number of Arguments: 1
Examples DIFF/1, IC=3.6 , FUNCTION=LOG(1+VM(21,31,31)) This DIFF statement defines a user specified differential equation. The initial condition for the associated state is 3.6 and its derivative is the natural
logarithm of the expression 1+VM(21,31,31). Functions
Using ADAMS/Solver 329 LOG10
LOG10
Definition The LOG10 function returns log to base 10 of an expression a. If 10x=a, then LOG10(a)= x. The LOG10 function is defined only for positive values of a (a>0). It is undefined for all other values.
Format LOG10(a)
Arguments a Any valid function expression that returns a positive value during a simulation. Number of Arguments: 1
Examples DIFF/1, IC=3.6 , FUNCTION=LOG10(1+VM(21,31,31)) This DIFF statement defines a user specified differential equation. The initial condition for the associated state is 3.6 and its derivative is the natural
Functions logarithm of the expression 1+VM(21,31,31).
330 Using ADAMS/Solver MAX
MAX
Definition The MAX function returns the maximum of two expressions a1 and a2.
MAX(a1,a2) = a1 if a1≥ a2 MAX(a1,a2) = a2 if a2 > a1
Format MAX(a1,a2)
Arguments a1 Any valid function expression. a2 Any valid function expression.
Cautions The MAX function is generally discontinuous. Use this function expression with care when you are specifying force or motion input.
Examples SFORCE/1, ROTATIONAL, ACTIONONLY, I=21, J=11 Functions , FUNCTION=MAX(0,-3*(AZ(21,11)-25D)) This SFORCE statement defines an action-only torque that acts at Marker 21 and acts along the z-axis of Marker 11. The torque is defined to always be non-negative through the use of the MAX function. Thus, the torque can only act to decrease the AZ rotation of Marker 21 with respect to Marker 11 (see AZ on page 285).
Using ADAMS/Solver 331 MIN
MIN
Definition The MIN function returns the minimum of two expressions a1 and a2.
MIN(a1,a2) = a1 if a1≤ a2 MIN(a1,a2) = a2 if a2 < a1
Format MIN(a1,a2)
Arguments a1 Any valid function expression. a2 Any valid function expression.
Cautions The MIN function is generally discontinuous. Use this function expression with care when you are specifying force or motion input.
Functions Examples SFORCE/1, ROTATIONAL, ACTIONONLY, I=21, J=11 , FUNCTION=MIN(0,-3*(AZ(21,11)-25D)) This SFORCE statement defines an action-only torque that acts at Marker 21 and acts along the z-axis of Marker 11. The torque is defined to always be negative through the use of the MIN function. Thus, the torque can only act to decrease the AZ rotation of Marker 21 with respect to Marker 11 (see AZ on page 285).
332 Using ADAMS/Solver MOD
MOD
Definition The MOD function returns the remainder when a1 is divided by a2.
MOD(a1,a2) = a1 - int(a1/a2) * a2
Format MOD(a1,a2)
Arguments a1 Any valid function expression. a2 Any valid function expression.
Cautions The MOD function is generally discontinuous. Use this function expression with care when you are specifying force or motion input.
Examples MOD(45,16)=13 Functions
Using ADAMS/Solver 333 MODE
MODE
Definition The MODE function returns the current analysis mode. These are defined as:
1 = Kinematics 2 = Reserved 3 = Initial conditions 4 = Dynamics 5 = Statics 6 = Quasi-statics 7 = Linear analysis
Format MODE
Cautions Use the MODE function with care if you use the STATICS argument on the SIMULATE command to request a static or quasi-static simulation of a kinematic system, ADAMS/Solver performs a kinematic analysis and, consequently, returns a MODE analysis constant of 1 (not 5 or 6). Functions Examples SFORCE/1, TRANSLATION, I=21, J=11 , FUNCTION=IF(MODE-4:0,0,-4*(DM(21,11)-10.6)) This example defines a translational force that is active only during statics, quasi-static, and linear analysis modes. For these analysis modes, the SFORCE acts as a simple spring. For all other analyses, the net force applied by the SFORCE is zero.
334 Using ADAMS/Solver MOTION
MOTION
Definition The MOTION function returns component comp of a force due to MOTION/id as calculated in the coordinate system of marker rm. If jflag is set to zero, the value returned is the force/torque acting on the I marker of the MOTION. If jflag is set to one, the value returned is that acting on the J marker. rm may be specified as zero if the results are desired in the global coordinate system.
Format MOTION (id, jflag, comp, rm)
Arguments id An integer specifying the identification number of the motion. jflag An integer flag specifying the motion connectivity marker at which the forces and torques are computed. 0 = forces and moments at the I marker 1 = forces and moments at the J marker
comp Functions An integer value that specifies the component of the motion force to be returned. 1 = Magnitude of the force 2 = x component of the force 3 = y component of the force 4 = z component of the force 5 = Magnitude of the torque 6 = x component of the torque 7 = y component of the torque 8 = z component of the torque rm The coordinate system in which the results are expressed. To return the results in the global coordinate system, set rm = 0.
Examples JOINT/34, REVOLUTE, I=21, J=11 MOTION/1, ROTATIONAL, JOINT=34, FUNCTION=TIME**2 DIFF/1, IC=0 , FUNCTION=WZ(21,11)*MOTION(1,0,8,11) This DIFF statement defines a user defined state. Its derivative is the instantaneous power required to effect the displacement specified by MOTION/1. Therefore, the value of the state is the total work done by MOTION/1 during a simulation.
Using ADAMS/Solver 335 NFORCE
NFORCE
Definition The NFORCE function returns component comp of a force due to NFORCE/id acting at the marker, at_marker, as calculated in the coordinate system of marker rm. The rm marker may be specified as zero if the results are desired in the global coordinate system. The marker must be one of the I or J markers to which NFORCE/id connects.
Format NFORCE (id, at_marker, comp, rm)
Arguments id An integer specifying the identification member of the NFORCE. at_marker An integer marker identifier specifying the NFORCE connectivity marker at which the forces and torques are computed. comp An integer value that specifies the component of the NFORCE to be returned. Functions 1 = Magnitude of the force 2 = x component of the force 3 = y component of the force 4 = z component of the force 5 = Magnitude of the torque 6 = x component of the torque 7 = y component of the torque 8 = z component of the torque rm The coordinate system in which the results are expressed. To return the results in the global coordinate system, set rm = 0.
Cautions The NFORCE function is available only from REQUEST and SENSOR statements. It is not accessible from other statements.
336 Using ADAMS/Solver PHI
PHIdn
Definition The PHI function calculates the third angle (in radians) of a body-2 [313] Euler rotation sequence between markers i and j. Marker j defaults to the global coordinate system if it is not specified. See Figure 68 for a schematic description of the body-2 [313] Euler rotation sequence.
Figure 68. Body-2 [313] Euler Angles
z,ζ The body-2 [313] sequence is η started by rotating y counterclockwise the initial system of axes, xyz, by an angle ψ ψ about the z-axis. The resultant x ξ axes are labeled ξ η ζ.
z
θ η' Functions ζ' In the second stage the intermediate axes, ξ η ζ, are rotated counterclockwise about y the ξ−axis by an angle θ. The new resultant planes are labelled ξ' η' ζ . ξ x ψ ' The '- axis is at the intersection of the xy and ξ' η' ξ' planes and is known as the line of nodes.
z
θ
z' y'
In the final rotation, the ξ'- η'- ζ'- axes are rotated y x' counterclockwise by an angle φ φ about the ζ-axis to produce the x' ψ x y' z' axes, which is the desired final direction. Line of nodes
Using ADAMS/Solver 337 PHI
Format PHI(i[,j])
Arguments i The marker whose rotations are being sought. j The marker with respect to which the rotations are being measured.
Examples REQUEST/1, F2=PHI(222,434) This REQUEST statement output the phi angle between Markers 222 and 434 in its second column. Functions
338 Using ADAMS/Solver PI
PI
Definition PI returns the ratio of the circumference of a circle to its diameter (3.14159...).
Format PI Functions
Using ADAMS/Solver 339 PINVAL
PINVAL
Definition The PINVAL function returns component comp of PINPUT/id.
Format PINVAL (id, comp)
Arguments id The identifier of the PINPUT whose data is being requested. comp An integer that specifies the component of the PINPUT to be returned.
Examples VARIABLE/21, FUNCTION=10*SIN(2.4*TIME)+3.5 VARIABLE/22, FUNCTION=DZ(21,11,32) PINPUT/10, VARIABLES=21,22
SFORCE/1, TRANSLATIONAL, I=62, J=47 , FUNCTION=-1.08*(PINVAL(10,2)-4.6)
Functions PINPUTs and POUTPUTs are used to generate the A, B, C, and D matrices for a mechanical system at an operating point. PINPUTs define the inputs to the system (plant) and POUTPUTs define the outputs from the system (plant). These can be accessed with function expression also, as shown in the example above. PINVAL(10,2) is the second element in the VARIABLES list for PINPUT/10 (i.e., VARIABLE/22).
340 Using ADAMS/Solver PITCH
PITCH
Definition Calculates the second angle of a Body-3 [3 -2 1] yaw-pitch-roll rotation sequence between marker i and j. Marker j defaults to the global coordinate system if it is not specified. Note that pitch is an Euler angle.
Format PITCH(i[,j])
Arguments i The marker whose rotations are being sought. j The marker with respect to which the rotations are being measured.
Examples REQUEST/2, F2=PITCH(143) This REQUEST statement output the pitch angle (in radians) of Marker 143 relative to the global coordinate system. Functions
Using ADAMS/Solver 341 POLY
POLY
Definition The POLY function evaluates a standard polynomial at a user-specified value x.
Format POLY (x, x0, a0, a1,..., a30)
Arguments x A real variable that specifies the independent variable. For example, if the independent variable in the function is time, x is the system variable TIME.
x0 A real variable that specifies a shift in the polynomial.
a0,a1,...,a30 The real variables that define as many as thirty-one coefficients for the polynomial series.
Functions Extended The POLY function evaluates a standard polynomial at a user-specified value Definition x. x0,a0,a1,...,a30 are parameters used to define the constants for the polynomial. The standard polynomial is defined as: n j P(x) = ∑ aj (x-x0) j = 0
2 n = a0 + a1 * (x-x )+a * (x-x ) +...+ a * (x-x0) 0 2 0 n
The index j has a range from zero to n, where n is the number of terms in the series.
Examples MOTION/1, JOINT=21, TRANSLATION , FUNCTION=POLY(TIME, 0, 0, 0, 1)
This MOTION statement uses a quadratic polynomial function with respect to the system variable TIME to define a motion. That expanded function is:
Poly = time2
342 Using ADAMS/Solver POLY
MOTION/1, JOINT=21, TRANSLATION , FUNCTION = IF(TIME-5: 0, 0, POLY(TIME, 5, 0, 10))
This MOTION statement uses an arithmetic IF in its function expression to switch between functions. The expanded function is: if (time - 5)≤ then Poly=0 else Poly=10*time-5
SFORCE/3, I=10, J=20, TRANSLATION , FUNCTION=-POLY(DM(10, 20), 10, 0, 25, 0, 0.75)
This SFORCE statement defines a force with a nonlinear force deformation characteristic. This relationship is:
Poly=-25*[DM(10,20)-10]+ 0.75*[DM(10,20)-10]3,
where, DM(10,20) represents the magnitude of the displacement of Functions Marker 10 with respect to Marker 20. The free length of the spring is 10 units.
Using ADAMS/Solver 343 POUVAL
POUVAL
Definition The POUVAL function returns component comp of POUTPUT/id.
Format POUVAL (id, comp)
Arguments id The identifier of the POUTPUT whose data is being requested. comp An integer that specifies the component of the POUTPUT to be returned.
Examples VARIABLE/21, FUNCTION=10*SIN(2.4*TIME)+3.5 VARIABLE/22, FUNCTION=DZ(21,11,32) POUTPUT/10, VARIABLES=21,22
SFORCE/1, TRANSLATIONAL, I=62, J=47 , FUNCTION=-1.08*(POUVAL(10,2)-4.6)
Functions PINPUTs and POUTPUTs are used to generate the A, B, C, and D matrices for a mechanical system at an operating point. PINPUTs define the inputs to the system (plant) and POUTPUTs define the outputs from the system (plant). These can be accessed with function expression also, as shown in the example above. POUVAL(10,2) is the second element in the VARIABLES list for POUTPUT/10 (i.e., VARIABLE/22).
344 Using ADAMS/Solver PSI
PSI
Definition The PSI function expression calculates the first angle (in radians) of a body-2 [313] Euler rotation sequence between markers i and j. Marker j defaults to the global coordinate system if it is not specified. See Figure 68 on page 337 for a schematic of the Body-2 [313] Euler angles.
Format PSI(i[,j])
Arguments i The marker whose rotations are being sought. j The marker with respect to which the rotations are being measured.
Examples REQUEST/1, F2=PSI(222,434) This REQUEST statement output the psi angle between Markers 222 and 434 in its second column. Functions
Using ADAMS/Solver 345 PTCV
PTCV
Definition The PTCV function returns component comp of a force due to PTCV/id as calculated in the coordinate system of marker rm. If jflag is set to zero, the value returned is the force acting on the I marker of the PTCV. If jflag is set to one, the value returned is that acting on the JFLOAT marker. rm may be specified as zero if the results are desired in the global coordinate system.
Format PTCV (id, jflag, comp, rm)
Arguments id An integer specifying the identification member of the bushing. jflag An integer flag specifying the bushing connectivity marker at which the forces and torques are computed. 0 = forces and moments at the I marker 1 = forces and moment at the J marker comp An integer value that specifies the component of the beam force to be Functions returned. 1 = Magnitude of the force 2 = x component of the force 3 = y component of the force 4 = z component of the force 5 = Magnitude of the torque 6 = x component of the torque 7 = y component of the torque 8 = z component of the torque rm The coordinate system in which the results are expressed. To return the results in the global coordinate system, set rm = 0.
Cautions ◆ The PTCV function may only be used with REQUESTs and SENSORs.
Examples REQUEST/1 , F2=PTCV(31,0,2,0)\ , F3=PTCV(31,0,3,0)\ , F4=PTCV(31,0,4,0)\ , F5=PTCV(31,0,5,0)\ , F6=PTCV(31,0,6,0)\ , F7=PTCV(31,0,7,0)\ , F8=PTCV(31,0,8,0)\ This REQUEST statement output the x-, y- and z-components of the force and torque at the I marker of PTCV/31. Since rm is specified as zero, all vectors are expressed in the global coordinate system.
346 Using ADAMS/Solver ROLL
ROLL
Definition The ROLL function calculates the third angle of a Body-3 [3 -2 1] yaw-pitch- roll rotation sequence between markers i and j. Marker j defaults to the global coordinate system if it is not specified. Note that roll is an Euler angle.
Format ROLL(i[,j])
Arguments i The marker whose rotations are being sought. j The marker with respect to which the rotations are being measured.
Examples REQUEST/2, F2=ROLL(143) This REQUEST statement output the roll angle (in radians) of Marker 143 relative to the global coordinate system. Functions
Using ADAMS/Solver 347 RTOD
RTOD
Definition RTOD returns the radians to degrees conversion factor.
Format RTOD
Examples REQUEST/1, F2=ROLL(23,14)*RTOD This REQUEST statement outputs the roll angle between Markers 23 and 14 in degrees. Functions
348 Using ADAMS/Solver SFORCE
SFORCE
Definition The SFORCE function returns component comp of a force due to SFORCE/id as calculated in the coordinate system of marker rm. If jflag is set to zero, the value returned is the force/torque acting on the I marker of the SFORCE. If jflag is set to 1, the value returned is that acting on the J marker. rm may be specified as zero if the results are desired in the global coordinate system.
Format SFORCE (id, jflag, comp, rm)
Arguments id An integer specifying the identification member of the SFORCE. jflag An integer flag specifying the SFORCE connectivity marker at which the forces and torques are computed. 0 = forces and moments at the I marker 1 = forces and moment at the J marker comp An integer value that specifies the component of the SFORCE to be Functions returned. 1 = Magnitude of the force 2 = x component of the force 3 = y component of the force 4 = z component of the force 5 = Magnitude of the torque 6 = x component of the torque 7 = y component of the torque 8 = z component of the torque rm The coordinate system in which the results are expressed. Set rm = 0 if you want to return the results in the global coordinate system.
Examples REQUEST/1 , F2=SFORCE(31,0,2,0)\ , F3=SFORCE(31,0,3,0)\ , F4=SFORCE(31,0,4,0)\ , F5=SFORCE(31,0,5,0)\ , F6=SFORCE(31,0,6,0)\ , F7=SFORCE(31,0,7,0)\ , F8=SFORCE(31,0,8,0) This REQUEST statement output the x-, y- and z-components of the force and torque at the I marker of SFORCE/31. Since rm is specified as zero, all vectors are expressed in the global coordinate system.
Using ADAMS/Solver 349 SHF
SHF
Definition The SHF function evaluates a simple harmonic function. The following equation defines SHF.
SHF=a*sin(ω*(x-x0)-phi)+b
Format SHF (x, x0, a, w, phi, b)
Arguments x The independent variable in the function. It may be any valid expression. For example, if the independent variable in the function is twice the current simulation time, x is the system variable 2*TIME.
x0 The offset in the independent variable x. a The amplitude of the harmonic function.
Functions ω The frequency of the harmonic function. ADAMS/Solver assumes ω is in radians per unit of the independent variable. Conversion to degrees per unit of the independent is achieved by appending a D after the number specifying ω. phi A phase shift in the harmonic function. ADAMS/Solver assumes phi is in radians unless you use a D after the value. b The average value of displacement of the harmonic function.
Examples MOTION/1, JOINT=21, TRANSLATION , FUNCTION=SHF(TIME, 25D, PI, 360D, 0, 5)
This MOTION statement uses SHF to define the harmonic function: SHF = 5+PI*sin(360D*(time-25D))
The motion has a shift of 25 degrees, has an amplitude of PI, has a frequency of 1 cycle (360D) per time unit, has zero phase shift, and has an average value of displacement of 5 units.
350 Using ADAMS/Solver SIGN
SIGN
Definition The SIGN function transfers the sign of a2 to the magnitude of a1.
SIGN(a1,a2) = ABS(a1) if a2 ≥ 0 SIGN(a1,a2) = -ABS(a1) if a2 < 0
Format SIGN (a1,a2)
Arguments a1 Any valid function expression. a2 Any valid function expression.
Cautions The SIGN function is discontinuous. Use this function with care to avoid creating expressions that are discontinuous.
Examples VARIABLE/23, FUNCTION=10*SIGN(DM(24,33),VZ(24,33)) Functions When VZ(24,33) ≥ 0, the value of VARIABLE/23 is +10*DM(24,33). When VZ(24,33) < 0, the value of VARIABLE/23 is -10*DM(24,33).
Using ADAMS/Solver 351 SIN
SIN
Definition The SIN function returns the sine of an expression a.
Format SIN(a)
Arguments a Any valid function expression. Number of Arguments: 1
Examples SFORCE/1, TRANSLATION, I=23, J=34 , FUNCTION=SIN(10*TIME) A translational force is defined to be acting along the line joining Markers 23 and 34. The force at Marker 23 is defined to be SIN(10*TIME). Functions
352 Using ADAMS/Solver SINH
SINH
Definition The SINH function return the hyperbolic sine of an expression a.
SINH(a) = (ea-e-a) / 2.0
Format SINH(a)
Arguments a Any valid function expression. Number of Arguments: 1
Examples VARIABLE/1, FUNCTION=SINH(DX(21,32)) The value of VARIABLE/1 is the hyperbolic sine of the x-component of the displacement between Markers 21 and 32, as calculated in the global coordinate system. Functions
Using ADAMS/Solver 353 SPDP
SPDP
Definition The SPDP function returns the component comp of a force due to SPRINGDAMPER/id as calculated in the coordinate system of marker rm. If jflag is set to zero, the value returned is the force/torque that acts on the I marker of the SPRINGDAMPER. If jflag is set to 1, the value returned is the value that acts on the j marker. To get results in the global coordinate system, you can specify rm as zero.
Format SPDP (id, jflag, comp, rm)
Arguments id An integer specifying the identification member of the SPDP. jflag An integer flag specifying the SPDP connectivity marker at which the forces and torques are computed. 0 = forces and moments at the I marker 1 = forces and moment at the J marker Functions comp An integer value that specifies the component of the SPDP force to be returned. 1 = Magnitude of the force 2 = x component of the force 3 = y component of the force 4 = z component of the force 5 = Magnitude of the torque 6 = x component of the torque 7 = y component of the torque 8 = z component of the torque rm The coordinate system in which the results are expressed. Set rm = 0 if you want to return the results in the global coordinate system.
Examples REQUEST/1 , F2=SPDP(31,0,2,0)\ , F3=SPDP(31,0,3,0)\ , F4=SPDP(31,0,4,0)\ , F5=SPDP(31,0,5,0)\ , F6=SPDP(31,0,6,0)\ , F7=SPDP(31,0,7,0)\ , F8=SPDP(31,0,8,0) This REQUEST statement output the x-, y- and z-components of the force and torque at the I marker of SPDP/31. Since rm is specified as zero, all vectors are expressed in the global coordinate system.
354 Using ADAMS/Solver SQRT
SQRT
Definition The SQRT function returns the square root of an expression a. The square root function is defined only for non-negative values of the argument a.
Format SQRT(a)
Arguments a Any valid function expression. Number of Arguments: 1
Examples VARIABLE/23, , FUNCTION=SQRT (FX(23,11)**2+FY(23,11)**2) A new state variable with a value equal to the global square root of the sum of the squares of the global x- and y- components net force acting between Markers 21 and 11. Functions
Using ADAMS/Solver 355 STEP
STEP
Definition The STEP function approximates the Heaviside step function with a cubic polynomial. It has continuous first derivatives. Its second derivatives are discontinuous at x=x0 and x=x1.
Format STEP (x, x0, h0, x1, h1)
Arguments x The independent variable. It can be a function expression.
x0 A real variable that specifies the x value at which the STEP function begins.
x1 A real variable that specifies the x value at which the STEP function ends.
h0 The initial value of the step. Functions
h1 The final value of the step.
Extended The STEP function approximates the Heaviside step function with a cubic Definition polynomial. Figure 69 illustrates the STEP function.
Figure 69. STEP Function 1.0
0.75
0.5
0.25
0.0 1.25 3.75 0.0 2.5 5.0
356 Using ADAMS/Solver STEP
The equation defining the STEP5 function is:
a = h1 - h0 ∆ = (x - x0)/(x1 - x0) h 0 :x
Tips HAVERSINE, STEP5, and TANH offer other approximations for the Heaviside step function. These have a higher degree of continuity and differentiability, but may have larger derivatives.
Figure 70 compares the STEP, STEP5, HAVSIN and TANH functions.
Figure 70. Comparison of STEP, STEP5,,Q HAVSIN and TANH
1.0 Functions
0.75
STEP (solid line) 0.5 HAVSIN (dashed line)
STEP5 0.25 TANH
1.25 0.0 1.25 3.75 0.0 2.5 5.0
Using ADAMS/Solver 357 STEP
Figure 71 shows the first derivatives of these four functions.
Figure 71. First Derivatives of STEP, STEP5, HAVSIN and TANH
2.5 TANH
1.875 STEP5 HAVSIN STEP 1.25
0.625
0.0 1.25 3.75 0.0 2.5 5.0 Functions
Examples MOTION/1, JOINT=21, TRANSLATION , FUNCTION=STEP(TIME, 1, 0, 2, 1)
This MOTION statement defines a smooth step function from time 1 to time 2 with a displacement from 0 to 1.
358 Using ADAMS/Solver STEP5
STEP5
Definition The STEP5 function provides approximation to the Heaviside step function with a quintic polynomial. It has continuous first and second derivatives. Its third derivative is discontinuous at x=x0 and x=x1.
Format STEP5 (x, x0, h0, x1, h1)
Arguments x The independent variable.
x0 A real variable that specifies the x value at which the STEP5 function begins.
x1 A real variable that specifies the x value at which the STEP5 function ends.
h0
The initial value of the step. Functions
h1 The final value of the step.
Extended Figure 72 illustrates the STEP5 function. Definition Figure 72. STEP5 Function
1.0
0.75
0.5
0.25
0.0 1.25 3.75 0.0 2.5 5.0 S: steps all
Using ADAMS/Solver 359 STEP5
The equation defining the STEP5 function is:
a = h1 - h0 ∆ = (x - x0)/(x1 - x0) ≤ h:xx00 = +−+∆∆∆3 2 << STEP5 h:xxx001a *10[] 15 6 ≥ h:xx11
Examples MOTION/1, JOINT=21, TRANSLATION , FUNCTION=STEP5(TIME, 1, 0, 2, 1)
This MOTION statement defines a smooth step function from time 1 to time 2 with a displacement from 0 to 1. Functions
360 Using ADAMS/Solver SWEEP
SWEEP
Definition The SWEEP function returns a constant amplitude sinusoidal function with linearly increasing frequency.
Format SWEEP (x, a, x0, f0, x1, f1, dx)
Arguments x The independent variable. a The amplitude of the sinusoidal function.
x0 The value of the independent variable at which the SWEEP function begins.
f0 The initial frequency of the sinusoidal function. x
1 Functions The value of the independent variable value at which the SWEEP function ends.
f1 The final frequency.
dx The interval in which the SWEEP function becomes fully active.
Extended Mathematically, SWEEP is calculated as follows: Definition
SWEEP = STEP(x,0,0,dx,1)* a * sin(2π *freq(x)*x) where:
f0 if x < x0 xx– 1()0 if x < x < x freq (x) = f 0 + --- f 1 – f 0 ------0 1 2 x1 – x0
f1 if x > x1
Using ADAMS/Solver 361 SWEEP
The figure below illustrates the SWEEP function.
Figure 73. Sweep Function
f1
freq(x)
f0
x0 x1
Examples The following example defines motion with a sinusoidal function with a rising frequency from 2 to 6Hz during the time interval 0 to 5. MOTION/1,JOINT=1
, FUNCTION=SWEEP(TIME, 1.0, 0.0, 2.0, 5.0, 6.0, 0.01) Functions Figure 74. Sinusoidal Function
362 Using ADAMS/Solver TAN
TAN
Definition The TAN function returns the tangent of an expression a.
Format TAN(a)
Arguments a Any valid function expression. Number of Arguments: 1 Functions
Using ADAMS/Solver 363 TANH
TANH
Definition The TANH function returns the hyperbolic tangent of an expression a.
TANH(a)= (ea - e-a) / (ea + e-a)
Format TANH(a)
Arguments a Any valid function expression. Number of Arguments: 1
Extended Figure 75 illustrates the TANH function. Definition Figure 75. TANH Function
1.0 Functions 0.75
0.5
0.25
0.0 1.25 3.75 0.0 2.5 5.0
Examples MOTION/1, JOINT=21, TRANSLATION , FUNCTION=0.5(1+TANH(5*(TIME-1.5))) This MOTION statement defines a smooth step function that transitions from a value of 0 to 1. The value of the step function at time=1.5 is 0.5.
364 Using ADAMS/Solver THETA
THETAc
Definition The THETA function calculates the second angle (in radians) of a body-2 [313] Euler rotation sequence between markers i and j. Marker j defaults to the global coordinate system if it is not specified. See Figure 68 on page 337 for a schematic of the Body-2 [313] Euler angles.
Format THETA(i[,j])
Arguments i The marker whose rotations are being sought. j The marker with respect to which the rotations are being measured.
Examples REQUEST/1, F2=THETA(222,434) This REQUEST statement output the psi angle between Markers 222 and 434 in its second column. Functions
Using ADAMS/Solver 365 TIME
TIME
Definition The TIME variable returns the current simulation time.
Format TIME
Examples SFORCE/1, TRANSLATION, I=21, J=32 , FUNCTION=10*SIN(2*PI*TIME) This SFORCE statement defines a translational force acting between the origins of Marker 21 and Marker 11. The value of the force is 10*SIN*(2*PI*TIME). Functions
366 Using ADAMS/Solver TM
TM
Definition The TM function returns the magnitude of the net torque acting at marker i due to all applied torques and constraints acting between markers i and j.
To calculate the magnitude of the net torque at marker i due to action-only torque acting at i, set j = 0.
Format TM(i[,j])
Arguments i An integer that specifies the identifier of the marker at which the magnitude of the net torque is to be calculated. j A second integer that specifies a marker identifier. All torques acting between the [i,j] pair are to be included in the calculation. Set j = 0 or do not specify it if you are interested in action-only torques.
Examples JOINT/1, REVOLUTE, I=32, J=44 Functions MOTION/1, ROTATION, JOINT=1, FUNCTION=10*TIME VARIABLE/31, FUNCTION=TM(32,44) In this example a revolute joint and motion (through the joint) act between Marker 32 and 44. A new algebraically determined state variable VARIABLE/31 is defined to have the magnitude of the net torque between these two markers as its value.
Using ADAMS/Solver 367 TX
TX
Definition The TX function returns the x-component of the net torque acting at marker i, as computed in the coordinate system of marker k. All force elements acting between markers i and j are included in the calculation of the torque, unless the force element is an action-only type force. To return the x-component of the action-only torques acting at marker i, you should omit specification of marker j or specify it as zero.
Format TX(i[,j][,k])
Arguments i An integer that specifies the identifier of the marker at which the magnitude of the net torque is to be calculated. j A second integer that specifies a marker identifier. All torques acting between the [i,j] pair are to be included in the calculation. Set j = 0 or do not specify it if you are interested in action-only torques. Functions k An integer that specifies the identifier of a marker (coordinate system) in which the x-component of the torque is to be returned.
Examples JOINT/1, REVOLUTE, I=32, J=44 MOTION/1, ROTATION, JOINT=1, FUNCTION=10*TIME VARIABLE/31, FUNCTION=TX(32,44) In this example a revolute joint and motion (through the joint) act between Marker 32 and 44. A new algebraically determined state variable VARIABLE/31 is defined to have the magnitude of the net torque between these two markers as its value.
368 Using ADAMS/Solver TY
TY
Definition The TY function returns the y-component of the net torque acting at marker i as computed in the coordinate system of marker k. All force elements acting between markers i and j are included in the calculation of the torque, unless the force element is an action-only type force. To return the y-component of the action-only torques acting at marker i, you should omit specification of marker j or specify it as zero.
Format TY(i[,j][,k])
Arguments i An integer that specifies the identifier of the marker at which the magnitude of the net torque is to be calculated. j A second integer that specifies a marker identifier. All torques acting between the [i,j] pair are to be included in the calculation. Set j = 0 or do not specify it if you are interested in action-only torques. k Functions An integer that specifies the identifier of a marker (coordinate system) in which the y-component of the torque is to be returned.
Examples JOINT/1, REVOLUTE, I=32, J=44 MOTION/1, ROTATION, JOINT=1, FUNCTION=10*TIME VARIABLE/31, FUNCTION=TY(32,44) In this example a revolute joint and motion (through the joint) act between Marker 32 and 44. A new algebraically determined state variable VARIABLE/31 is defined to have the magnitude of the net torque between these two markers as its value.
Using ADAMS/Solver 369 TZ
TZ
Definition The TZ function returns the z-component of the net torque acting at marker i as computed in the coordinate system of marker k. All force elements acting between markers i and j are included in the calculation of the torque, unless the force element is an action-only type force. To return the z-component of the action-only torques acting at marker i, you should omit specification of marker j or specify it as zero.
Format TZ(i[,j][,k])
Arguments i An integer that specifies the identifier of the marker at which the magnitude of the net torque is to be calculated. j A second integer that specifies a marker identifier. All torques acting between the [i,j] pair are to be included in the calculation. Set j = 0 or do not specify it if you are interested in action-only torques. Functions k An integer that specifies the identifier of a marker (coordinate system) in which the z-component of the torque is to be returned.
Examples JOINT/1, REVOLUTE, I=32, J=44 MOTION/1, ROTATION, JOINT=1, FUNCTION=10*TIME VARIABLE/31, FUNCTION=TZ(32,44) In this example a revolute joint and motion (through the joint) act between Marker 32 and 44. A new algebraically determined state variable VARIABLE/31 is defined to have the magnitude of the net torque between these two markers as its value.
370 Using ADAMS/Solver VARVAL
VARVAL
Definition The VARVAL function returns current value of VARIABLE/id.
Format VARVAL (id)
Arguments id The identifier of the VARIABLE whose data is being requested.
Examples VARIABLE/10, FUNCTION=DX(21,32,43) SFORCE/20, TRANSLATION, I=346, J=567 , FUNCTION=(VARVAL(10)-5)**2 In this example, VARIABLE/10 defines an algebraically determined user specified state. SFORCE/20 is a non-linear translational spring whose force magnitude is a function of this variable. Functions
Using ADAMS/Solver 371 VFORCE
VFORCE
Definition The VFORCE function returns the component comp of the force in VFORCE/id in the coordinate system of marker rm. If jflag is set to zero, Solver returns the value of force/torque that acts on the I marker of VFORCE. If jflag is set to 1, Solver returns the value that acts on the J marker. To obtain results in the global coordinate system, you can specify rm as zero.
Format VFORCE (id, jflag, comp, rm)
Arguments id An integer specifying the identification number of the VFORCE. jflag An integer flag specifying the VFORCE connectivity marker at which the forces and torques are computed. 0 = forces and moments at the I marker 1 = forces and moment at the J marker comp An integer value that specifies the component of the VFORCE that is Functions returned. 1 = Magnitude of the force 2 = x component of the force 3 = y component of the force 4 = z component of the force 5 = Magnitude of the torque 6 = x component of the torque 7 = y component of the torque 8 = z component of the torque rm The coordinate system in which the results are expressed. Set rm = 0 if you want to return the results in the global coordinate system.
Examples MARKER/236, QP=4,6,7, EU=90D,90D,0, PART=23 MARKER/169, PART=16, FLOATING MARKER/168, QP=1,2,3, EU=30D,45D,60D, PART=16 VFORCE/19, I=236, JFLOAT=169 ,FX=-10*VX(236,168,168,168)\ ,FY=-10*VY(236,168,168,168)\ ,FZ=-10*VZ(236,168,168,168) REQUEST/1 ,F2=VFORCE(23,0,2,0)\ This REQUEST statement contains the x-component of the force exerted by VFORCE/19 calculated in the coordinate system of Marker 168.
372 Using ADAMS/Solver VM
VM
Definition The VM function calculates the magnitude of the first time derivative of the displacement vector of marker i with respect to marker j. The vector time derivative is taken in the reference frame of marker l. Markers i and j default to the global coordinate system if they are not specified.
Format VM(i[,j][,l])
Arguments i The marker whose velocity is being measured. j The marker with respect to which the velocity is being measured. Set j = 0, while still specifying l, if you want j default to the global coordinate system. l The reference frame in which the time derivative of the displacement vector is taken. Set l = 0 if you want the time derivatives to be taken in the ground reference frame. Functions
Extended Mathematically, VM is calculated as follows: Definition () () () () ⁄ d d d d 12 VM = ---- R – ---- R • ---- R – ---- R dt i dt j dt i dt j
where Ri is the displacement of marker i in ground and Rj is the displacement of marker j in ground.
Examples DIFF/51, IC=-6.2, FUNCTION=VM(23,0,32) A dynamically determined user state is defined by DIFF/51. The time derivative of the user-state is the magnitude of the velocity of the origin of Marker 23 with respect to ground. The time derivative for the velocity computation is taken in the reference frame of Marker 32. VARIABLE/1, FUNCTION=VM(21,32,43) This VARIABLE statement defines an algebraic, user-defined state whose instantaneous value is the magnitude of the velocity vector between Markers 21 and 32, as seen by an observer at Marker 43.
Using ADAMS/Solver 373 VR
VR
Definition The VR function calculates the radial (relative) velocity of marker i with respect to marker j. The vector time derivative is taken in the reference frame of marker l. Markers j and l default to the global coordinate system if they are not specified.
Format VR(i[,j][,l])
Arguments i The marker whose velocity is being measured. j The marker with respect to which the velociy is being measured. Set j = 0, while still specifying l, if you want j default to the global coordinate system. l The reference frame in which the time derivative of the displacement vector is taken. Set l = 0 if you want the time derivatives to be taken in the Functions ground reference frame.
Definition Mathematically, VR is calculated as follows:
() () d d VR = ---- R – ---- R • []R – R / DM(i,j) dt i dt j i j
where Ri is the displacement of marker i with respect to the global origin, Rj is the displacement of marker j with respect to the global origin, and DM(i,j) is the distance between markers i and j.
As markers i and j separate from each other, VR is positive. VR is negative when markers i and j approach each other.
Examples SFORCE/1, TRANSLATION, I=467, J=764 , FUNCTION=-10*VR(467,764) This SFORCE statement defines a translational damper with a damping constant of 10.
374 Using ADAMS/Solver VTORQ
VTORQ
Definition The VTORQ function returns the component comp of force in VTORQUE/id in the coordinate system of marker rm. If jflag is set to zero, Solver returns the value of the torque that acts on the I marker of VTORQUE. If jflag is set to 1, Solver returns the value that acts on the J marker. To obtain results in the global coordinate system, you can specify rm as zero.
Format VTORQ (id, jflag, comp, rm)
Arguments id An integer specifying the identification number of the VTORQ. jflag An integer flag specifying the VTORQ connectivity marker at which the forces and torques are computed. 0 = forces and moments at the I marker 1 = forces and moment at the J marker comp An integer value that specifies the component of the VTORQ force to be returned. Functions 1 = Magnitude of the force (which is zero for a VTORQUE) 2 = x component of the force (which is zero for a VTORQUE) 3 = y component of the force (which is zero for a VTORQUE) 4 = z component of the force (which is zero for a VTORQUE) 5 = Magnitude of the torque 6 = x component of the torque 7 = y component of the torque 8 = z component of the torque rm The coordinate system in which the results are expressed. Set rm = 0 if you want the results returned in the global coordinate system.
Examples MARKER/236, QP=4,6,7, EU=90D,90D,0, PART=23 MARKER/169, PART=16, FLOATING MARKER/168, QP=1,2,3, EU=30D,45D,60D, PART=16 VTORQUE/19, I=236, JFLOAT=169 ,TX=-10*WX(236,168,168,168)\ ,TY=-10*WY(236,168,168,168)\ ,TZ=-10*WZ(236,168,168,168) REQUEST/1 ,F2=VTORQ(23,0,2,0)\ This REQUEST statement contains the x-component of the torque exerted by VTORQUE/19 calculated in the coordinate system of Marker 168.
Using ADAMS/Solver 375 VX
VX
Definition The VX function returns the x-component of the difference between the velocity vector of marker i and the velocity vector of marker j as computed in the coordinate system of marker k. All vector time derivatives are taken in the reference frame of marker l. Marker j defaults to the global coordinate system if it is not specified. Similarly, markers i and j default to the global coordinate system if they are not specified.
Format VX(i[,j][,k][,l])
Arguments i The marker whose velocity is being measured. j The marker with respect to which the velocity is being measured. Set j = 0, while still specifying l, if you want j to default to the global coordinate system. k The marker in whose coordinate system the velocity vector is being Functions expressed. Set k = 0 if you want the results to be calculated along the x-axis of the global coordinate system. l The reference frame in which the first time derivative of the displacement vector is taken. Set l = 0 if you want the time derivatives to be taken in the ground reference frame.
Extended Mathematically, VX is calculated as follows: Definition () () d d VX= ---- R – ---- R • xˆ dt i dt j k
where Ri is the displacement of marker i in ground, Rj is the displacement of marker j in ground, and xˆ k is the unit vector along the x-axis of marker k.
Examples MARKER/236, QP=4,6,7, EU=90D,90D,0, PART=23 MARKER/169, PART=16, FLOATING MARKER/168, QP=1,2,3, EU=30D,45D,60D, PART=16 VFORCE/236, I=236, JFLOAT=169 ,FX=-10*VX(236,168,168,168)\ ,FY=-15*VY(236,168,168,168)\ ,FZ=-20*VZ(236,168,168,168) This VFORCE statement defines a damper acting between Markers 236 and 168. Marker 169 is a floating marker that defines the reaction point on Part 16. The damping force components are proportional to the components of the velocity between Markers 236 and 168 as seen and measured by an observer at Marker 168. 376 Using ADAMS/Solver VY
VY
Definition The VY function returns the y-component of the difference between the velocity vector of marker i and the velocity vector of marker j as computed in the coordinate system of marker k. All vector time derivatives are taken in the reference frame of marker l. Marker j defaults to the global coordinate system if it is not specified. Similarly, markers i and j default to the global coordinate system if they are not specified.
Format VY(i[,j][,k][,l])
Arguments i The marker whose velocity is being measured. j The marker with respect to which the velocity is being measured. Set j = 0, while still specifying l, if you want j default to the global coordinate system. k The marker in whose coordinate system the velocity vector is being
expressed. Set k = 0 if you want the results to be calculated along the Functions x-axis of the global coordinate system. l The reference frame in which the first time derivative of the displacement vector is taken. Set l = 0 if you want the time derivatives to be taken in the ground reference frame.
Extended Mathematically, VY is calculated as follows: Definition () () d d VY= ---- R – ---- R • yˆ dt i dt j k
where Ri is the displacement of marker i in ground, Rj is the displacement of marker j in ground, and yˆ k is the unit vector along the y-axis of marker k.
Examples MARKER/236, QP=4,6,7, EU=90D,90D,0, PART=23 MARKER/169, PART=16, FLOATING MARKER/168, QP=1,2,3, EU=30D,45D,60D, PART=16 VFORCE/236, I=236, JFLOAT=169 ,FX=-10*VX(236,168,168,168)\ ,FY=-15*VY(236,168,168,168)\ ,FZ=-20*VZ(236,168,168,168) This VFORCE statement defines a damper acting between Markers 236 and 168. Marker 169 is a floating marker that defines the reaction point on Part 16. The damping force components are proportional to the components of the velocity between Markers 236 and 168 as seen and measured by an observer at Marker 168.
Using ADAMS/Solver 377 VZ
VZ
Definition The VZ function returns the z-component of the difference between the velocity vector of marker i and the velocity vector of marker j as computed in the coordinate system of marker k. All vector time derivatives are taken in the reference frame of marker l. Marker j defaults to the global coordinate system if it is not specified. Similarly, markers i and j default to the global coordinate system if they are not specified.
Format VZ(i[,j][,k][,l])
Arguments i The marker whose velocity is being measured. j The marker with respect to which the velocity is being measured. Set j = 0, while still specifying l, if you want j to default to the global coordinate system. k The marker in whose coordinate system the velocity vector is expressed. Functions Set k = 0 if you want the results to be calculated along the x-axis of the global coordinate system. l The reference frame in which the first time derivative of the displacement vector is taken. Set l = 0 if you want the time derivatives to be taken in the ground reference frame.
Extended Mathematically, VZ is calculated as follows: Definition () () d d VZ= ---- R – ---- R • zˆ dt i dt j k
where Ri is the displacement of marker i in ground, Rj is the displacement of marker j in ground, and zˆ k is the unit vector along the z-axis of marker k.
Examples MARKER/236, QP=4,6,7, EU=90D,90D,0, PART=23 MARKER/169, PART=16, FLOATING MARKER/168, QP=1,2,3, EU=30D,45D,60D, PART=16 VFORCE/236, I=236, JFLOAT=169 ,FX=-10*VX(236,168,168,168)\ ,FY=-15*VY(236,168,168,168)\ ,FZ=-20*VZ(236,168,168,168) This VFORCE statement defines a damper acting between Markers 236 and 168. Marker 169 is a floating marker that defines the reaction point on Part 16. The damping force components are proportional to the components of the velocity between Markers 236 and 168 as seen and measured by an observer at Marker 168.
378 Using ADAMS/Solver WDTM
WDTM
Definition The WDTM function returns the magnitude of the difference between the angular acceleration vector of marker i in the reference frame of marker l and the angular acceleration of marker j in the reference frame of marker l.
Format WDTM(i[,j][,l])
Arguments i The marker whose acceleration is being measured. j The marker with respect to which the acceleration is being measured. Set j = 0, while still specifying l, if you want j default to the global coordinate system. l The reference frame in which the first time derivative of the angular velocity vector is taken. Set l = 0 if you want the time derivatives to be taken in the ground reference frame. Functions
Extended Mathematically, WDTM is calculated as follows: Definition () () () () ⁄ d d d d 12 WDTM = ---- ω – ---- ω • ---- ω – ---- ω dt i dt j dt i dt j
where ω i is the angular velocity of marker i in ground and ω j is the angular velocity of marker j in ground.
Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23 MARKER/2169, PART=16 REQUEST/16 ,F1=WDTM(1236,2169)\ ,F2=WDTX(1236,2169,2169,2169)\ ,F3=WDTY(1236,2169,2169,2169)\ ,F4=WDTZ(1236,2169,2169,2169) In its first column REQUEST/16 contains the magnitude of the angular acceleration vector of Marker 1236 with respect to Marker 2169, as seen in the global coordinate system and measured in the ground reference frame.
Using ADAMS/Solver 379 WDTX
WDTX
Definition The WDTX function returns the x-component of the difference between the angular acceleration vector of marker i in the reference frame of marker l and the angular acceleration vector of marker j in the reference frame of marker l, as computed in the coordinate system of marker k. Marker j defaults to global coordinate system if it is not specified. Similarly, marker k and l default to global coordinate system if they are not specified.
Format WDTX(i[,j][,k][,l])
Arguments i The marker whose acceleration is being measured. j The marker with respect to which the acceleration is being measured. Set j = 0, while still specifying l, if you want j to default to the global coordinate system. k Functions The marker in whose coordinate system the acceleration vector is being expressed. Set k = 0 if you want the results to be calculated along the x-axis of the global coordinate system. l The reference frame in which the first time derivative of the angular acceleration vector is taken. Set l = 0 if you want the time derivatives to be taken in the ground reference frame.
Extended Mathematically, WDTX is calculated as follows: Definition () () d d WDTX = ---- ω – ---- ω • xˆ dt i dt j k
where ω i is the angular acceleration vector of marker i in ground, ω j is the angular acceleration vector of marker j in ground, and xˆ k is the unit vector along the x-axis of marker k.
380 Using ADAMS/Solver WDTX
Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23 MARKER/2169, PART=16 REQUEST/16 ,F1=WDTM(1236,2169)\ ,F2=WDTX(1236,2169,2169,2169)\ ,F3=WDTY(1236,2169,2169,2169)\ ,F4=WDTZ(1236,2169,2169,2169) In its second column REQUEST/16 contains the x-component of the angular acceleration vector of Marker 1236 with respect to Marker 2169, as seen in the global coordinate system of Marker 2169 and measured in the reference frame containing Marker 2169. Functions
Using ADAMS/Solver 381 WDTY
WDTY
Definition The WDTY function returns the y-component of the difference between the angular acceleration vector of marker i in the reference frame of marker l and the angular acceleration vector of marker j in the reference frame of marker l, as computed in the coordinate system of marker k. Marker j defaults to the global coordinate system if it is not specified. Similarly, marker k and l default to the global coordinate system if they are not specified.
Format WDTY(i[,j][,k][,l])
Arguments i The marker whose acceleration is being measured. j The marker with respect to which the acceleration is being measured. Set j = 0, while still specifying l, if you want j to default to the global coordinate system. k Functions The marker in whose coordinate system the acceleration vector is being expressed. Set k = 0 if you want the results to be calculated along the x-axis of the global coordinate system. l The reference frame in which the first time derivative of the angular acceleration vector is taken. Set l = 0 if you want the time derivatives to be taken in the ground reference frame.
Extended Mathematically, WDTY is calculated as follows: Definition () () d d WDTY = ---- ω – ---- ω • yˆ dt i dt j k
where ω i is the angular acceleration vector of marker i in ground, ω j is the angular acceleration vector of marker j in ground, and yˆ k is the unit vector along the y-axis of marker k.
382 Using ADAMS/Solver WDTY
Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23 MARKER/2169, PART=16 REQUEST/16 ,F1=WDTM(1236,2169)\ ,F2=WDTX(1236,2169,2169,2169)\ ,F3=WDTY(1236,2169,2169,2169)\ ,F4=WDTZ(1236,2169,2169,2169) In its third column REQUEST/16 contains the y-component of the angular acceleration vector of Marker 1236 with respect to Marker 2169, as seen in the global coordinate system of Marker 2169 and measured in the reference frame containing Marker 2169. Functions
Using ADAMS/Solver 383 WDTZ
WDTZ
Definition The WDTZ function returns the z-component of the difference between the angular acceleration vector of marker i in the reference frame of marker l and the angular acceleration vector of marker j in the reference frame of marker l, as computed in the coordinate system of marker k. Marker j defaults to the global coordinate system if it is not specified. Similarly, marker k and l default to the global coordinate if they are not specified.
Format WDTZ(i[,j][,k][,l])
Arguments i The marker whose acceleration is being measured. j The marker with respect to which the acceleration is being measured. Set j = 0, while still specifying l, if you want j to default to the global coordinate system. k Functions The marker in whose coordinate system the acceleration vector is being expressed. Set k = 0 if you want the results to be calculated along the x-axis of the global coordinate system. l The reference frame in which the first time derivative of the angular acceleration vector is taken. Set l = 0 if you want the time derivatives to be taken in the ground reference frame.
Extended Mathematically, WDTZ is calculated as follows: Definition () () d d WDTZ = ---- ω – ---- ω • zˆ dt i dt j k
where ω i is the angular acceleration vector of marker i in ground, ω j is the angular acceleration vector of marker j in ground, and zˆ k is the unit vector along the z-axis of marker k.
384 Using ADAMS/Solver WDTZ
Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23 MARKER/2169, PART=16 REQUEST/16 ,F1=WDTM(1236,2169)\ ,F2=WDTX(1236,2169,2169,2169)\ ,F3=WDTY(1236,2169,2169,2169)\ ,F4=WDTZ(1236,2169,2169,2169) In its fourth column REQUEST/16 contains the z-component of the angular acceleration vector of Marker 1236 with respect to Marker 2169, as seen in the global coordinate system of Marker 2169 and measured in the reference frame containing Marker 2169. Functions
Using ADAMS/Solver 385 WM
WM
Definition The WM function returns the magnitude of the angular velocity vector of marker i with respect to marker j. Marker j defaults to the global coordinate system if it is not specified.
Format WM(i[,j])
Arguments i The marker whose velocity is being measured. j The marker with respect to which the velocity is being measured. Set j = 0, while still specifying l, if you want j to default to the global coordinate system.
Extended Mathematically, WM is calculated as follows: Definition 1/2 WM = ([ ω i - ω j ] • [ ω i - ω j ]) Functions
where ω i is the angular velocity vector of marker i in ground and ω j is the angular velocity vector of marker j in ground.
Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23 MARKER/2169, PART=16 REQUEST/16 ,F1=WM(1236,2169)\ ,F2=WX(1236,2169,2169)\ ,F3=WY(1236,2169,2169)\ ,F4=WZ(1236,2169,2169) In its first column, REQUEST/16 contains the magnitude of the angular velocity vector of Marker 1236 and Marker 2169.
386 Using ADAMS/Solver WX
WX
Definition The WX function returns the x-component of the difference between the angular velocity vector of marker i in ground and the angular velocity vector of marker j in ground, and expressed in the coordinate system of marker k. Marker j defaults to the global coordinate system if it is not specified. Similarly, marker k defaults to the global coordinate system if it is not specified.
Format WX(i[,j][,k])
Arguments i The marker whose velocity is being measured. j The marker with respect to which the velocity is being measured. Set j = 0, while still specifying l, if you want j to default to the global coordinate system. k The marker in whose coordinate system the velocity vector is being Functions expressed. Set k = 0 if you want the results to be calculated along the x-axis of the global coordinate system.
Definition Mathematically, WX is calculated as follows:
[]ω ω • WX = i – j xˆk
where ω i is the angular velocity vector of marker i in ground, ω j is the angular velocity vector of marker j in ground, and xˆ k is the unit vector along the x-axis of marker k.
Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23 MARKER/2169, PART=16 REQUEST/16 ,F1=WM(1236,2169)\ ,F2=WX(1236,2169,2169)\ ,F3=WY(1236,2169,2169)\ ,F4=WZ(1236,2169,2169) In its second column, REQUEST/16 contains the x-component of the angular velocity Markers 1236 and 2169 as measured in the coordinate system of Marker 2169.
Using ADAMS/Solver 387 WY
WY
Definition The WY function returns the y-component of the difference between the angular velocity vector of marker i in ground and the angular velocity vector of marker j in ground, and expressed in the coordinate system of marker k. Marker j defaults to the global coordinate system if it is not specified. Similarly, marker k defaults to the global coordinate system if it is not specified.
Format WY(i[,j][,k])
Arguments i The marker whose velocity is being measured. j The marker with respect to which the velocity is being measured. Set j = 0, while still specifying l, if you want j to default to the global coordinate system . k Functions The marker in whose coordinate system the velocity vector is being expressed. Set k = 0 if you want the results to be calculated along the x-axis of the global coordinate system.
Definition Mathematically, WY is calculated as follows: []ω ω • WY = i – j yˆk
where ω i is the angular velocity vector of marker i in ground, ω j is the angular velocity vector of marker j in ground, and yˆ k is the unit vector along the y-axis of marker k.
Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23 MARKER/2169, PART=16 REQUEST/16 ,F1=WM(1236,2169)\ ,F2=WX(1236,2169,2169)\ ,F3=WY(1236,2169,2169)\ ,F4=WZ(1236,2169,2169) In its third column, REQUEST/16 contains the y-component of the angular velocity Markers 1236 and 2169 as measured in the coordinate system of Marker 2169.
388 Using ADAMS/Solver WZ
WZ
Definition The WZ function returns the z-component of the difference between the angular velocity vector of marker i in ground and the angular velocity vector of marker j in ground, and expressed in the coordinate system of marker k. Marker j defaults to the global coordinate system if it is not specified. Similarly, marker k defaults to the global coordinate system if it is not specified.
Format WZ(i[,j][,k])
Arguments i The marker whose velocity is being measured. j The marker with respect to which the velocity is being measured. Set j = 0, while still specifying l, if you want j to default to the global coordinate system. k The marker in whose coordinate system the velocity vector is being Functions expressed. Set k = 0 if you want the results to be calculated along the x-axis of the global coordinate system.
Extended Mathematically, WZ is calculated as follows: Definition []ω ω • WZ = i – j zˆk
where ω i is the angular velocity vector of marker i in ground, ω j is the angular velocity vector of marker j in ground, and zˆ k is the unit vector along the z-axis of marker k.
Examples MARKER/1236, QP=4,6,7 EU=90D,90D,90D, PART=23 MARKER/2169, PART=16 REQUEST/16 ,F1=WM(1236,2169)\ ,F2=WX(1236,2169,2169)\ ,F3=WY(1236,2169,2169)\ ,F4=WZ(1236,2169,2169) In its fourth column, REQUEST/16 contains the z-component of the angular velocity Markers 1236 and 2169 as measured in the coordinate system of Marker 2169.
Using ADAMS/Solver 389 YAW
YAW
Definition The YAW function calculates the first angle of a Body-3 [3 -2 1] yaw-pitch-roll rotation sequence between markers i and j. Marker j defaults to the global coordinate system if it is not specified. Note that yaw is an Euler angle.
Format YAW(i[,j])
Arguments i The marker whose rotations are being sought. j The marker with respect to which the rotations are being measured.
Examples REQUEST/1 ,F2=YAW(21,11)\ ,F3=PITCH(21,11)\ ,F4=ROLL(21,11)
Functions This REQUEST statement calculates the yaw, pitch, and roll angles between Markers 21 and 11 for output purposes.
390 Using ADAMS/Solver