ADAMS常用函数
- 格式:doc
- 大小:37.00 KB
- 文档页数:3
在使用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.50.5 if time = 2.51.0 if time >2.53、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.40.0 0.01 0.42 1.23 2.54 3.64、碰撞函数impact其实质是:用只抗压缩的非线性的弹簧阻尼方法近似计算出单边碰撞力。
ADAMS常用函数总结在使用adams的过程中,由于函数比较多,大概有11种之多,如1、Displacement Fu nction 2、Velocity Functions 3、Acceleration Functions 4、Contact Functions 5、Spline Functions 6、Force in Object Functions 7、Resultant Force Functi ons 8、Math Functions 9、Data Element Access 10、User-Written SubroutineInvocation 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.50.5 if time = 2.51.0 if time >2.53、AKISPL函数格式:AKISPL (First Independent Variable, Second Independent Variable,SplineName, 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.40.0 0.01 0.42 1.23 2.54 3.64、碰撞函数impact其实质是:用只抗压缩的非线性的弹簧阻尼方法近似计算出单边碰撞力。
ADAMS/View函数及ADAMS/Solver函数的类型及建立ADAMS/View函数包括设计函数Design-Time Functions与运行函数Run-Time Functions两种类型,函数的建立对应有表达式模式和运行模式两种。
表达式模式下在设计过程中对设计函数求值,而运行模式下会在仿真过程中对运行函数进行计算更新。
ADAMS/Solver函数支持ADAMS/View运行模式下的函数,在仿真过程中采用ADAMS/Solver 解算时对这些函数进行计算更新。
建立表达式模式下的函数在进行建立表达式、产生和修改需要计算的测量及建立设计函数等操作时,会采用表达式模式。
在建立表达式时,首先在接受表达式的文本框处右击,然后选择“Parameterize”再选择“Expression Euilder”,进入建立设计函数表达式对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
在产生和修改需要计算的测量时,首先在“Build”菜单中选择“Measure”,然后指向“Computed”,再选择“New”或“Modified”确定是新建还是修改,进入产生和修改需要计算的测量对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
在建立设计函数时,首先在“Build”菜单中选择“Function”,然后选择“New”或“Modified”确定是新建还是修改,进入产生和修改设计函数对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
建立运行模式下的函数在进行建立运行函数、产生和修改函数型的测量等操作时,会采用运行模式。
在建立运行函数时,首先在接受表达式的文本框处右击,然后选择“Function Euilder”,进入建立运行函数表达式对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
在产生和修改函数型的测量时,首先在“Build”菜单中选择“Measure”,然后指向“Function”,再选择“New”或“Modified”确定是新建还是修改,进入产生和修改函数型的度量对话框。
Adams常用函数step可能是最常用的:step(time,0,0,1,50)+step(time,4,0,6,-100)+step(tme,9,0,10,50)函数原形STEP(A,x1,h1,x2,h2)解释:由数组A的x值,生成区间(x1,h1)至(x2,h2)之间的阶梯曲线,返回y值的数据。
举个常用的例子。
比如STEP(time,1,0,2,100)time在adams中是个递增的变量,相当于一个数组。
那么step的返回值就是随着time变化的值。
这个例子将表示在time从(1,2)的过程中,返回值将从0,100。
看看例子,两个小球,一个使用step 函数设置了位移,另外一个是参考。
当然,这个变化过程,adams使用了缓和的图形,从其位移图中可以看出来。
step既然是个返回值,就可以使用加减法了。
如上例,如果设置下面的小球的位移如下:STEP(time,1,0,2,100)+step(time,2,0,3,400)+step(time,3,0,4,-200)1.以前用过碰撞函数,有单向和双向函数的区分,其中系统的球面等碰撞为其特例!IMPACT (Displacement Variable, Veloci t y Variable, Trigger forDisplacement Variable, Stiffness Coefficient, Stiffness Force Exponent,Damping Coefficient, Damping Ramp-up Distance)BISTOP (Displacement Variable, Velocity Variable, Low Trigger forDisplacement Variable, High Trigger for Displacement Variable, StiffnessCoefficient, Stiffness Force Exponent, Damping Coefficient, DampingRamp-up Distance)2.if函数这个函数最好不要使用,他的使用会带来突变,会使运算的时候不收敛。
Adams函数解析I.STEP函数(阶跃函数)STEP函数格式:STEP (x, x0, h0, x1, h1) 参数说明: x―自变量,可以是时间或时间的任一函数 x0 ―自变量的STEP函数开始值,可以是常数、函数表达式或设计变量; x1 ―自变量的STEP函数结束值,可以是常数、函数表达式或设计变量 h0 ― STEP函数的初始值,可以是常数、设计变量或其它函数表达式 h1 ― STEP函数的最终值,可以是常数、设计变量或其它函数表达式注意:(1)除非输入新的STEP,否则,上一个STEP的渐变结果将在接下来的时间里,一直保持。
(2)每个STEP只能从0开始渐变,所以,每一次的STEP都是相对于上一次操作结果的累加计算。
1.旋转副驱动(角位移):STEP(time,1,0d,2,20d)+STEP(time,6,0d,12,-40)意义:1秒到2秒:从0递增至20;2秒到6秒:保持电机输出数值为20不变;6秒到12秒:由20递减40,结果为-20。
2.旋转副驱动(角速度):step(time,0,0,1,30)+step(time,3,0,6,-30)先在1秒内加速至30d/s,再匀速保持2秒,最后在3秒内减速制0d/s。
3.旋转副驱动参数化(角速度):step(time,0,0,0.1,-2*(-56*time**2+521*time+48)/(DV_AB*cos(DV_BAD))) +step(time,1.36,0,1.56,2*(-56*time**2+521*time+48)/(DV_AB*cos(DV_BA D)))+ step(time,1.56,0,1.86,5.54) + step(time,1.86,0,2.16,-5.54)。
前0.1秒使驱动速度缓慢上升到拔起速度的较优速度-2*(-56*time**2+521*time+48)/( DV_AB*cos(DV_BAD)),然后按较优速度匀速运动至1.36秒,接着用0.2秒减速至0,当减速至零的那一刻又缓慢的加速0.3秒,然后又缓慢的减速0.3秒,回到原来位置。
1.step可能是最常用的:step(time,0,0,1,50)+step(time,4,0,6,-100)+step(tme,9,0,10,50)函数原形 STEP(A,x1,h1,x2,h2)解释:由数组A的x值,生成区间(x1,h1)至(x2,h2)之间的阶梯曲线,返回y值的数据。
举个常用的例子。
比如STEP(time,1,0,2,100)time在adams中是个递增的变量,相当于一个数组。
那么step的返回值就是随着time变化的值。
这个例子将表示在time从(1,2)的过程中,返回值将从0,100。
看看例子,两个小球,一个使用step函数设置了位移,另外一个是参考。
当然,这个变化过程,adams使用了缓和的图形,从其位移图中可以看出来。
step既然是个返回值,就可以使用加减法了。
如上例,如果设置下面的小球的位移如下:STEP(time,1,0,2,100)+step(time,2,0,3,400)+step(time,3,0,4,-200)2.以前用过碰撞函数,有单向和双向函数的区分,其中系统的球面等碰撞为其特例!IMPACT (Displacement Variable, Velocity Variable, Trigger forDisplacement Variable, Stiffness Coefficient, Stiffness Force Exponent,Damping Coefficient, Damping Ramp-up Distance)BISTOP (Displacement Variable, Velocity Variable, Low Trigger for Displacement Variable, High Trigger for Displacement Variable, StiffnessCoefficient, Stiffness Force Exponent, Damping Coefficient, Damping Ramp-up Distance)3.if函数这个函数最好不要使用,他的使用会带来突变,会使运算的时候不收敛。
在使用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。
本文出自: 模具家园论坛(/)
原文链接:/thread-22128-1-1.html
6.、设计变量(Design Variable)与状态变量(State Variable)的比较:设计变量只是一个预处理符号,给定值后,在仿真过程中不会改变,又称为ADAMS/View变量,在ADAMS/View 数据浏览器中简称为variable。
状态变量,其值在每个仿真步长中都在发生变化,又称为ADAMS/Solver变量,在ADAMS/View数据浏览器中称为ADAMS/Variable,而在ADAMS/Solver 数据集中称为VARIABLE。
7.MOTION函数
格式为MOTION(id,jflag,comp,rm)
Id:整型数据,指定MOTION的id号。
Jflag:整型数据,指定所需计算的力或力矩的MARKER点。
0:指定为I MARKER;1:指定为J MARKER。
Comp:整型数据,指定力或力矩的分量类型。
1=合力;
2=作用力在x方向的分量;
3=作用力在y方向的分量;
4=作用力在z方向的分量;
5=合力矩;
6=力矩在x方向的分量;
7=力矩在y方向的分量;
8=力矩在z方向的分量。
rm:指定坐标系,若设置为0,表示为全局坐标系。
例如:MOTION(.model_1.MOTION_1,0,5,0)
7、在使用ADAMS 进行建模和仿真时,与ADAMS/Solver有关的需要注意的问题如下:(1)建模时应尽量避免不连续的出现。
(2)在可行的情况下,总是首先进行STATIC 分析。
有时静平衡会比动力学分析更难达到。
到时只关心系统的动态行为而无法得到静平衡,可以增加STATIC D的Error或者跳过STATIC 分析。
(3)如果GSTIFF 在开始阶段就出错,或者根本无法开始计算。
这通常是初始条件(Initial Condition)造成的,这时应当设定Hinit值,使积分不至于在起步阶段发散。
(4)在一些特殊情况下,例如脉冲激励时,应通过Hmax来控制积分步长。
此时Hmax应当小于脉冲宽度。
(5)若计算结果存在明显不合理的尖峰,通常是由于积分步长的改变造成的,此时可以降低Hmax或者设Hinit=Hmax。
(6)STATIC 分析时很难的分析,尤其是初始位置离平衡位置远时。
当静平衡无法达到时,通常采用下列方法:
1)增大Maxit,如200;
2)调整Stability,采用逐步逼近的方法达到平衡;
3)减小Alimit,通常为30D,对于一些有问题的模型可以设定其为10D。