ADAMS函数使用精华

  • 格式:pdf
  • 大小:161.52 KB
  • 文档页数:5

ADAMS的函数种类比较多:
1、DisplacementFunctions
2、VelocityFunctions
3、AccelerationFunctions
4、ContactFunctions
5、SplineFunctions
6、ForceinObjectFunctions
7、ResultantForceFunctions
8、MathFunctions
9、DataElementAccess
10、User-WrittenSubroutineInvocation
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.0iftime<2.5
0.5iftime=2.5
1.0iftime>2.5
3、AKISPL函数
格式:AKISPL(FirstIndependentVariable,SecondIndependentVariable,SplineName,
DerivativeOrder)
参数说明:
FirstIndependentVariable——spline中的第一个自变量
SecondIndependentVariable(可选)——spline中的第二自变量
SplineName——数据单元spline的名称
DerivativeOrder(可选)——插值点的微分阶数,一般用0就可以了
例如:
function=AKISPL(DX(marker_1,marker_2,marker_2),0,spline_1)
spline_1用下表中的离散数据定义
AKISPL的拟合曲线如下:

二、实例说明
1、分段函数的表示
在ADMA中如何输入力或位移、速度、加速度等的分段曲线,这一直是一个值得注意的问题。
下面用一个小例子进行简单说明:(这个例子实际上就是常见的加速-匀速-减速问题)
1)要输入的速度函数为:
V=10*t(0V=1(0.1V=-10*t+5(0.42)在ADMAS中的表示:
velo(time)=if(time-0.1:step(time,0,0,0.1,1),1,step(time,0.4,1,0.5,0))
3)得到的速度曲线:例子的CMD文件见step_if_use.cmd
2、方形波函数的输入
1)有时需要输入下方波形式的力或力矩,如果单纯地采用STEP函数迭加是不能实现的。
2)在ADAMS中输入的函数形式为:
step(sin(2*pi*time),-0.01,-1,0.01,1)
注意点:
⑴当方波的频率改变时,可以通过改变下式中的FREQ得以实现
sin(2*pi*FREQ*time)
⑵改变方波的上下限的方法:
step(sin(2*pi*time),-0.01,LOWER,0.01,UPPER)
⑶例如:
step(sin(2*pi*3.0*time),-0.01,0,0.01,7)中的频率为3HZ,上下限分别为0,7
3)在ADAMS中所得到的方波曲线如下:

3、AKISPL函数的应用
有时做路径规划或输入力或力矩时,需要用到AKISPL函数,
数据单元SPLINE实际上可根据多种渠道创建,如经验数据、实验数据等都可以。
我这里应一些朋友的要求,发上来一个CMD文件及建立SPLINE的数据,供朋友们参考。
CMD文件见lujing.cmd:
建立SPLINE时所用的数据:
TimeDis_X
00
0.263157895264.6382854
0.526315789529.0483902
0.789473684751.4278083
1.052631579781.2404309
1.315789474619.0122219
1.578947368552.1253792
1.842105263718.4079735
2.105263158983.8161748
2.3684210531248.462634
2.6315789471513.142799
2.8947368421777.653155
3.1578947372034.291889
3.4210526322156.967539
3.6842105262085.106599
3.9473684212025.181599
4.2105263162146.663913
4.4736842112375.226147
4.7368421052634.081904
52900
TimeDis_Z
00
0.263157895-7.67E-04
0.5263157890.613674188
0.789473684102.2423923
1.052631579352.6958661
1.315789474558.5047146
1.578947368807.3775974
1.8421052631002.119048
2.1052631581000.01823
2.3684210531000.009096
2.6315789471000.267792
2.894736842999.4879245
3.157894737962.0426698
3.421052632736.5248822
3.684210526484.6759224
3.947368421264.2985997
4.21052631638.2516224
4.4736842114.175972774
4.736842105-1.187352978
50

在定义接触力时NormalForce有两个选项:
1、Restitution(Definearestitution-basedcontact);
2、Impact(Defineanimpactcontact)
第二个选项就是利用IMPACT函数,它能方便地表达那种间歇碰撞力
(即达到某一位移值才激发的碰撞力)。
它的参数意义及力学基础:
One-sidedImpact(IMPACT)
1、理解:用只抗压缩的非线性的弹簧阻尼方法近似计算出单边碰撞力。
2、格式:IMPACT(DisplacementVariable,VelocityVariable,TriggerforDisplacementVariable,
StiffnessCoefficient,StiffnessForceExponent,DampingCoefficient,DampingRamp-up
Distance)
3、参数说明:
DisplacementVariable
实时位移变量值,通过DX、DY、DZ、DM等函数实时测量。
VelocityVariable
实时速度变量值,通过VX、VY、VZ、VM等函数实时测量。
TriggerforDisplacementVariable
激发碰撞力的位移测量值。
StiffnessCoefficientorK
刚度系统。
StiffnessForceExponent
非线性弹簧力指数。
DampingCoefficientorC
阻尼系数。
DampingRamp-upDistance
当碰撞力被激发阻尼逐渐增大的位移值。
4、Impact函数的力学基理:
IMPACT函数值由自变量值决定其有无:
IMPACT=Offifs>so
Onifs<=so
IMPACT函数的数学计算公式为:
MAX{0,K(so-s)**e-Cv*STEP(s,so-d,1,so,0)}
参数说明:
s——位移变量
v——速度变量
so——碰撞力的激发位移值
K——刚度系数
C——阻尼系数
D——阻尼逐渐增大的位移值