adams中函数用法

合集下载

adams的函数用法

adams的函数用法
1、STEP函数
格式:STEP (x, x0, h0, x1, h1)
参数说明:
x :自变量,可以是时间或时间的任一函数
x0 :自变量的STEP函数开始值,可以是常数或函数表达式或设计变量;
x1 :自变量的STEP函数结束值,可以是常数、函数表达式或设计变量
h0 :STEP函数的初始值,可以是常数、设计变量或其它函数表达式
表达式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)
Stiffness Coefficient or K
刚度系统。
Stiffness Force Exponent
非线性弹簧力指数。
Damping Coefficient or C
阻尼系数。
Damping Ramp-up Distance
当碰撞力被激发阻尼逐渐增大的位移值。
-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)

adams函数使用方法介绍

adams函数使用方法介绍

返回两点连线上与第一点距离为指定值的点 将圆柱坐标系下坐标值转化为笛卡儿坐标系下坐标值 返回指定点关于指定坐标系下平面的对称点 返回参考坐标系下的点在全局坐标系下的坐标值 将一个参考坐标系下的坐标值转化为另一参考坐标系
将一个参考坐标系下的坐标值转化为另一参考坐标系
返回全局坐标系下的点在参考坐标系下的坐标值 返回指定点关于指定坐标系下平面的对称点 沿轴线方向平移 返回两点连线上与第一点距离为指定值的点 返回平面法线上距离指定点单位长度的点 返回特定点关于指定平面的对称点 返回特定点在指定坐标系下的坐标值 将球面坐标转化为笛卡儿坐标 坐标系x轴在全局坐标中的单位矢量 坐标系y轴在全局坐标中的单位矢量 坐标系z轴在全局坐标中的单位矢量
ORI_LOCAL ORI_MIRROR ORI_ONE_AXIS 的角度
返回全局坐标系在参考坐标系下的角度值 返回坐标系旋转镜像到指定坐标系下所需旋转的角度 将坐标系旋转至其一轴线沿两点连线方向时所需旋转
ORI_ORI 角度
将一个参考坐标系转化为另一参考坐标系所需旋转的
ORI_PLANE_MIRROR 度
• 参数说明:
• Step函数是3次多项式逼近阶跃函数
• Step5函数是5次多项式逼近阶跃函数

x ―自变量,可以是时间或时间的任一函数

x0 ―自变量的STEP函数开始值,可以是常数或函
数表达式或设计变量;

x1 ―自变量的STEP函数结束值,可以是常数、函
数表达式或设计变量

h0 ― STEP函数的初始值,可以是常数、设计变量
0x2时x1与x2之间的差值x10时返回absx当x20时返回absxsqrtx数字表达式x的平方根值数学函数二三角函数sinx数字表达式x的正弦值sinhx数字表达式x的双曲正弦值cosx数字表达式x的余弦值coshx数字表达式x的双曲余弦值tanx数字表达式x的正切值tanhx数字表达式x的双曲正切值asinx数字表达式x的反正弦值acosx数字表达式x的反余弦值atanx数字表达式x的反正切值atan2x1x2两个数字表达式x1x2的四象限反正切值三取整函数intx数字表达式x取整aintx数字表达式x向绝对值小的方向取整anintx数字表达式x向绝对值大的方向取整ceilx数字表达式x向正无穷的方向取整floorx数字表达式x向负无穷的方向取整nintx最接近数字表达式x的整数值rtoix返回数字表达式x的整数部分位置方向函数一位置函数localongline返回两点连线上与第一点距离为指定值的点loccylindrical将圆柱坐标系下坐标值转化为笛卡儿坐标系下坐标值locframemirror返回指定点关于指定坐标系下平面的对称点locglobal返回参考坐标系下的点在全局坐标系下的坐标值locinline将一个参考坐标系下的坐标值转化为另一参考坐标系下的坐标值并归一化locloc将一个参考坐标系下的坐标值转化为另一参考坐标系下的坐标值loclocal返回全局坐标系下的点在参考坐标系下的坐标值locmirror返回指定点关于指定坐标系下平面的对称点loconaxis沿轴线方向平移loconline返回两点连线上与第一点距离为指定值的点locperpendicular返回平面法线上距离指定点单位长度的点locplanemirror返回特定点关于指定平面的对称点locrelativeto返回特定点在指定坐标系下的坐标值locspherical将球面坐标转化为笛卡儿坐标locxaxis坐标系x轴在全局坐标中的单位矢量locyaxis坐标系y轴在全局坐标中的单位矢量loczaxis坐标系z轴在全局坐标中的单位矢量二方向函数orialignaxis将坐标系按指定方式旋转至与指定方向对齐所需旋转的角度orialongaxiseul将坐标系按指定方式旋转至与全局坐标系一个轴方向对齐所需旋转的角度oriallaxes将坐标系旋转至由平面上的点定义的特定方向第一轴与指定平面上两点连线平行第二轴与指定平面平行时所需旋转的

ADAMS中step函数和If函数的最全用法

ADAMS中step函数和If函数的最全用法

step函‎数的两种表‎示方法相信大家对‎s tep的‎用法已经是‎相当的熟练‎了,在这里我只‎是想把自己‎对step‎的理解总结‎一下,希望能对大‎家有所帮助‎。

首先简要介‎绍下ste‎p的形式及‎其各个参数‎的物理含义‎:格式:STEP (x, x0, h0, x1, h1)参数说明:x ―自变量,可以是时间‎或时间的任‎一函数x0 ―自变量的S‎T EP函数‎开始值,可以是常数‎或函数表达‎式或设计变‎量;x1 ―自变量的S‎T EP函数‎结束值,可以是常数‎、函数表达式‎或设计变量‎h0 ― STEP函‎数的初始值‎,可以是常数‎、设计变量或‎其它函数表‎达式h1 ― STEP函‎数的最终值‎,可以是常数‎、设计变量或‎其它函数表‎达式而在实际的‎运用过程中‎,它有两种表‎示方法,一种是嵌入‎式:STEP (x, x0, h0, x1,(STEP (x, x1, h1, x2,(STEP (x, x2, h2, x3, h2) ))))(当然你可以‎嵌套更多的‎)另一种就是‎增量式:STEP (x, x0, h0, x1, h1)+STEP (x, x1, h2, x2, h3)+STEP (x, x2, h4, x3, h5)+……我常用的是‎后者,下面就举例‎(附件请参考‎s tep.cmd文件‎)说明下他们‎的区别。

其实他们都‎可以表示同‎一种你所需‎要的曲线,如下所示曲‎线:用嵌入式可‎表示为:step(time,0,0d,3,(step(time,3,0d,5,(step(time,5,5d,8,(step(time,8,5d,10,(step(time,10,0d,12,0d)))))))))用增量式表‎示为:step(time,3,0,5,5)+step(time,5,0,8,0)+step(time,8,0,10,-5)在使用后者‎的过程中很‎多人会误表‎示为:step(time,0,0d,3,0d)+step(time,3,0d,5,5d)+step(time,5,5d,8,5d)+step(time,8,5d,10,0d)+step(time,10,0d,12,0d)还有一种是‎错误的:step(time,3,0d,5,5d)+step(time,8,5d,10,0d)这两种都是‎错误的表示‎的方法,不信你自己‎可以试试的‎总结:从上面的例‎子中大家可‎以清楚的看‎出,增量式明显‎比嵌入式要‎简洁的多,但是嵌入式‎却比增量式‎思路要清晰‎、严谨的多,他们各有自‎己的优点,所以大家可‎以针对性的‎使用他们,习惯用什么‎方式就用什‎么方式,当然他们还‎有其他的不‎同点我还没‎想到的,也欢迎你多‎多提出意见‎。

adams函数学习总结

adams函数学习总结

矩阵/数组函数
• • • • 矩阵/数组的基本操作函数 ALIGN 将数组转换到从特定值开始 ALLM 返回矩阵元素的逻辑值 ANGLES 将方向余弦矩阵转换为指定旋转顺序下的 角度矩阵 ANYM 返回矩阵元素的逻辑和 APPEND 将一个矩阵中的行添加到另一矩阵 CENTER 返回数列最大、最小值的中间值 CLIP 返回矩阵的一个子阵 COLS 返回矩阵列数 COMPRESS 压缩数组、删除其中的空值元素(零,空字符及空格) CONVERT ANGLES 将313旋转顺序转化为用户自定义的旋转顺序 CROSS 返回两矩阵的向量积 DET 返回方阵M的行列式值
位置/方向函数
一、位置函数
LOC_ALONG_LINE LOC_CYLINDRICAL LOC_FRAME_MIRROR LOC_GLOBAL LOC_INLINE 下的坐标值并归一化 LOC_LOC 下的坐标值 LOC_LOCAL LOC_MIRROR LOC_ON_AXIS LOC_ON_LINE LOC_PERPENDICULAR LOC_PLANE_MIRROR LOC_RELATIVE_TO LOC_SPHERICAL LOC_X_AXIS LOC_Y_AXIS LOC_Z_AXIS 返回两点连线上与第一点距离为指定值的点 将圆柱坐标系下坐标值转化为笛卡儿坐标系下坐标值 返回指定点关于指定坐标系下平面的对称点 返回参考坐标系下的点在全局坐标系下的坐标值 将一个参考坐标系下的坐标值转化为另一参考坐标系
样条插值 AKIMA_SOLINE 使用Akima迭代插值法生成内插样条曲线 CSPLINE 生成3次内插样条曲线 CUBIC_SPLINE 生成3阶内插多项式曲线 DETREND 返回最小二乘拟合曲线与输入数据的差值 HERMITE_SPLINE 使用荷尔米特插值法生成内插样条曲线 LINEAR_SPLINE 线性插值生成内插样条曲线 NOTAKNOT_SPLINE 生成3次光顺连续插值样条曲线 SPLINE 生成插值样条曲线 频域分析 FFTMAG 返回快速傅立叶变换后的幅值 FFTPHASE 返回快速傅立叶变换后的相位 FILTER 返回按指定格式滤波处理后的数据 FREQUENCY 返回快速傅立叶变换频率数 HAMMING 采用HAMMING窗处理数据 HANNING 采用HANNING窗处理数据 WELCH 采用WELCH窗处理数据 PSD 计算功率谱密度

adams函数学习总结

adams函数学习总结

二、三角函数 SIN(x) SINH(x) COS(x) COSH(x) TAN(x) TANH(x) ASIN(x) ACOS(x) ATAN(x) ATAN2(x1,x2) 切值
数字表达式x的正弦值 数字表达式x的双曲正弦值 数字表达式x的余弦值 数字表达式x的双曲余弦值 数字表达式x的正切值 数字表达式x的双曲正切值 数字表达式x的反正弦值 数字表达式x的反余弦值 数字表达式x的反正切值 两个数字表达式x1,x2的四象限反正
• • • • • • • • •
DIFF DIFFERENTIATE DMAT DOT ELEMENT EXCLUDE FIRST FIRST_N INCLUDE INTEGR INTERATE INVERSE LAST LAST_N MAX MAXI MEAN MIN MINI NORM2 NORMALIZE RECTANGULAR RESAMPLE RESHAPE RMS ROWS SERIES
0时返回absxsqrtx数字表达式x的平方根值数学函数二三角函数sinx数字表达式x的正弦值sinhx数字表达式x的双曲正弦值cosx数字表达式x的余弦值coshx数字表达式x的双曲余弦值tanx数字表达式x的正切值tanhx数字表达式x的双曲正切值asinx数字表达式x的反正弦值acosx数字表达式x的反余弦值atanx数字表达式x的反正切值atan2x1x2两个数字表达式x1x2的四象限反正切值三取整函数intx数字表达式x取整aintx数字表达式x向绝对值小的方向取整anintx数字表达式x向绝对值大的方向取整ceilx数字表达式x向正无穷的方向取整floorx数字表达式x向负无穷的方向取整nintx最接近数字表达式x的整数值rtoix返回数字表达式x的整数部分位置方向函数一位置函数localongline返回两点连线上与第一点距离为指定值的点loccylindrical将圆柱坐标系下坐标值转化为笛卡儿坐标系下坐标值locframemirror返回指定点关于指定坐标系下平面的对称点locglobal返回参考坐标系下的点在全局坐标系下的坐标值locinline将一个参考坐标系下的坐标值转化为另一参考坐标系下的坐标值并归一化locloc将一个参考坐标系下的坐标值转化为另一参考坐标系下的坐标值loclocal返回全局坐标系下的点在参考坐标系下的坐标值locmirror返回指定点关于指定坐标系下平面的对称点loconaxis沿轴线方向平移loconline返回两点连线上与第一点距离为指定值的点locperpendicular返回平面法线上距离指定点单位长度的点locplanemirror返回特定点关于指定平面的对称点locrelativeto返回特定点在指定坐标系下的坐标值locspherical将球面坐标转化为笛卡儿坐标locxaxis坐标系x轴在全局坐标中的单位矢量locyaxis坐标系y轴在全局坐标中的单位矢量loczaxis坐标系z轴在全局坐标中的单位矢量二方向函数orialignaxis将坐标系按指定方式旋转至与指定方向对齐所需旋转的角度orialongaxiseul将坐标系按指定方式旋转至与全局坐标系一个轴方向对齐所需旋转的角度oriallaxes将坐标系旋转至由平面上的点定义的特定方向第一轴与指定平面上两点连线平行第二轴与指定平面平行时所需旋转的角度orialongaxis将坐标系旋转至其一轴线沿指

Adams2019进阶学习——函数的使用

Adams2019进阶学习——函数的使用

Adams2019进阶学习——函数的使⽤重点介绍 IF、 STEP、 SPLINE和CONTACT函数的使⽤⼀、基本函数的定义 在动⼒学仿真中,⼒、位移等容易出现函数表达的情形,这种情况下函数的使⽤就必不可少。

函数分两类: 设计过程函数。

主要是在建⽴模型中使⽤,仿真计算过程中其值不可变。

运⾏过程函数。

在仿真计算的过程中,参与计算,随着时间的变化,可以发⽣变化的变量。

注意:有的函数既是设计过程函数,也是运⾏过程函数。

1.过渡函数(STEP)定义 在MSC.ADAMS中,STEP函数近似为⼀个理想的数学上的过渡函数(没有不连续). 避免使⽤不连续的函数,因为不连续的函数容易导致解算过程收敛困难。

STEP函数⽤来描述如驱动或载荷,上升或下降,打开或关闭。

注意:STEP函数常⽤于描述-⼀个值或-⼀个表达式需要从⼀个常数变为另-⼀个常数的情形。

STEP函数的语法规则 STEP (q, q,,f{, 92,f2)其中: q - Independent variable q1 - Initial value for q f - Initial value for f q2 - Final value for q f2 - Final value for f注意:q1< q22. MSC ADAMS中的冲击(IMPACT)函数 ◆⽤于⽤户定义的⼒函数,模拟接触、冲击、碰撞等现象。

◆⾮线性的弹簧和阻尼⼒,由两个部件之间的距离所决定的是否存在的。

◆就像⼀个单纯的压缩弹簧阻尼器,在MSC.ADAMS中,当两个部件之间的参考距离q⼩于⽤户指定的参考距离qo时,该函数起作⽤。

FIMPACT = Off,ifq> qo FIMPACT = On,ifq≤qo IMPACT函数的语法规则. IMPACT(q, q, qo,k, e, Cmaax'd) q-两个对象之间实际的距离(通常使⽤⼀⼀个位移函数定义) q-变量q的时间导数 q1o-触发距离,确定冲击⼒是否起作⽤,该参数应为⼀个实常数。

ADAMS函数简介

ADAMS函数简介

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函数使用

adams函数使用

本章主要内容:为Plant Export建立模型的步骤ADAMS变量的类型建立输入状态变量建立输出状态变量建立被控对象的输入与输出在被控对象的输入或输出中状态变量的顺序为Plant Export指定被控对象的输入输出练习二:建立状态变量为了输出被控对象的模型,必须定义被控对象的输入输出。

按照下面的步骤去做:1.建立状态变量,而这些状态变量就是被控对象的输入输出。

2.建立Plant Inputs和Plant Outputs,它们中都包含了第一步建立的状态变量。

3.在ADAMS/Controls下的Plant Export对话框中输入专门的Plant Inputs和Plant Outputs,就可以输出被控对象文件。

都包含一系列的状态变量输入变量建立状态变量以控制输入。

·设置 function=0(通常)·如果要进行初始静态仿真,则要设置初始值使用VARVAL函数将定义被控对象输入的状态变量赋值给模型中的激励者(例如:力)。

建立正确的运行时间表达式,向CSS提供一个输出。

例如:方位角,仰角在ADAMS模型中创建Plant Inputs 和Plant Outputs,为ADAMS被控对象提供输入和输出。

为ADAMS被控对象指定一个Plant Inputs 和一个Plant Outputs,他们可以包含多个变量。

都包含一系列的状态变量在Plant Input/Output基本要素中状态变量的顺序非常重要,因为它决定了在CSS中必须定义的变量顺序。

只要创建了Plant Inputs和Plant Outputs,就把它们引入Plant Export对话框中。

使用plant inputs 和outputs代替状态变量,允许用户更直接的编辑被控对象的输入及输出(例如:对于数量众多的状态变量,使用Plant Input/Output就能编辑,而用不着在Plant Export对话框中一个一个的输入)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 for
Displacement 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, Stiffness
Coefficient, Stiffness Force Exponent, Damping Coefficient, Damping
Ramp-up Distance)
2.if函数
这个函数最好不要使用,他的使用会带来突变,会使运算的时候不收敛。

不过应急的时候还是可以一用。

if(time-1:1,0,if(time-2:0,-1,-1))
IF(Expression1: Expression2, Expression3, Expression4)
adams要计算Expression1的值:
如果他的值小于0,则执行Expression2语句,如果Expression1的值等于0,则执行Expression3语句,如果Expression1的值大于0,则执行Expression4语句
我得if语句的意思是:如果时间小于1的时候,加速度为1,如果时间为1,加速度为0,如果时间大于1小于2,则加速度为0,如果时间大于、等于2则,加速度为-1
4. 我得一个想法
就是利用sign函数构造
比较常用的是给机构加上一个与运动方向相反的作用力等等可以先测量施加力对象的运动速度,然后利用速度的变化,插入measure到sign函数里面就可以获得与运动方向相反的作用力。

相关文档
最新文档