ADAMS常用函数总结!

在使用adams的过程中,由于函数比较多,大概有11种之多,如 1、Displacement Function 2、Velocity Functions 3、 Acceleration Functions 4、 Contact Functions 5、 Spline Functions 6、 Force in Object Functions 7、Resultant Force Functions 8、 Math Functions 9、 Data Element Access 10、User-Written Subroutine Invocation 11、Constants & Variables。
在adams中也有帮助文档,但是对于初学者来说还是有一定的难度的,基于这种情况我总结了一下几种常用的函数,希望能够起到抛砖引玉的作用!
1、 STEP函数
格式:STEP (x, x0, h0, x1, h1)
参数说明:
   x ―自变量,可以是时间或时间的任一函数
   x0 ―自变量的STEP函数开始值,可以是常数或函数表达式或设计变量;
   x1 ―自变量的STEP函数结束值,可以是常数、函数表达式或设计变量
   h0 ― STEP函数的初始值,可以是常数、设计变量或其它函数表达式
   h1 ― STEP函数的最终值,可以是常数、设计变量或其它函数表达式

2、 IF函数
格式:IF(表达式1: 表达式2, 表达式3, 表达式4)
参数说明:
表达式1-ADAMS的评估表达式;
表达式2-如果的Expression1值小于0,IF函数返回的Expression2值;
表达式3-如果表达式1的值等于0,IF函数返回表达式3的值;
表达式4-如果表达式1的值大于0,IF函数返回表达式4的值;
例如:函数 IF(time-2.5:0,0.5,1)
结果: 0.0 if time < 2.5
    0.5 if time = 2.5
    1.0 if time > 2.5

3、AKISPL函数
格式:AKISPL (First Independent Variable, Second Independent Variable,Spline Name, Derivative Order)
参数说明:
First Independent Variable   —— spline中的第一个自变量
Second Independent Variable (可选) —— spline中的第二自变量
Spline Name         —— 数据单元spline的名称
Derivative Order (可选) —— 插值点的微分阶数,一般用0就可以
function = AKISPL(DX(marker_1, marker_2, marker_2), 0, spline_1)
spline_1用下表中的离散数据定义
自变量x 函数值y
-4.0 -3.6
-3.0 -2.5
-2.0 -1.2
-1.0 -0.4
0.0 0.0
1 0.4
2 1.2
3 2.5
4 3.6
4、碰撞函数impact
其实质是:用只抗压缩的非线性的弹簧阻尼方法近似计算出单边碰撞力。
格式:IMPACT (Displacement Variable, Velocity Variable, Trigger for Displacement Variable, Stiffness Coefficient, Stiffness Force Exponent, Damping Coefficient, Damping Ramp-up Distance)
参数说明:
Displacement Variable
实时位移变量值,通过DX、DY、DZ、DM等函数实时测量。
Velocity Variable
实时速度变量值,通过VX、VY、VZ、VM等函数实时测量。
Trigger for Displacement Variable
激发碰撞力的位移测量值。
Stiffness Coefficient or K
刚度系统。
Stiffness Force Exponent
非线性弹簧力指数。
Damping Coefficient or C
阻尼系数。
Damping Ramp-up Distance
当碰撞力被激发阻尼逐渐增大的位移值。

5、bistop函数
它的格式是BISTOP( x, dx, x1, x2, k, e, cmax, d)这里它由八个参数定义。它与函数IMPACT类似。可以这么说:BISTOP是双侧碰撞函数,而IMPACT是单侧碰撞函数。
BISTOP的触发是由两个边界条件确定的,即x1和x2,当x值大于或等于x1且小于或等于x2时,函数值为0,当x值大于x2或小于x1时,它的值是不同的。
当x小于x1时,返回值是:k(x1-x)^e-cmax*dx*step(x,x1-d,1,x1,0),当x大于x2时,返回值是:k(x-x2)^e-cmax*dx*step(x,x2,1,x2+d,0)。
各种参数表示意义可以从IMPACT里推出来,它只是多了一个x2。

(2条)
默认 最新
weishenme ?weishenme ?&gt;
评论 点赞
thanks !!
评论 点赞
点赞 1 评论 2 收藏 2
关注