ADAMS高级函数应用

合集下载

ADAMS高级应用

ADAMS高级应用

第1章机电一体化系统仿真参见:虚拟样机技术在磁悬浮精密定位平台中的机电一体化研究--硕士论文-导师王延风-作者卢志山-中国科学院研究生院(长春光学精密机械与物理研究所)1.1意义利用ADAMS和MATLAB进行联合仿真最大的好处在于,可以直接利用ADAMS的仿真模型,而不需要将其抽象出数学模型,从而更简单、也更准确(数学模型肯定不能完全的反映该模型)。

从而可以将控制模块和机械模块有机的整合到一起,进行联合仿真。

1.2导入外部模型文件(UG)1.2.1Parasolid格式文件UG和ADAMS/View都支持IGES,STEP,Parasolid这几种数据格式的输入和输出,但应用表明,以IGES格式和STEP格式输出时,耗时太多,效率低,而且出错信息多。

因此UG采用了Parasolid核心实体造型技术。

模型向ADAMS转化,不仅需要转化实体,还需要把模型的约束信息导出,以便导入到ADAMS中。

此时需要用到UG的Motion模块。

首先,输出Parasolid实体。

在UG环境下,选择文件(File)-输出(Export)-parasolid ,选择需要输出的实体,输入文件名(这里为port.x_t)和保存位置,点击OK,完成实体输出。

导出实体约束。

在UG环境下选择应用(Application)-运动(Motion)。

选择右侧导航栏的方案浏览器,右键菜单选择新方案(Creat),出现Scenario_1目录,右键菜单选择输出(Output)-Adams。

输出文件Scenario_1.anl。

更改文件后缀名为adm。

打开ADAMS/VIEW选择Import a file,先导入约束,选择Import a file,在File type中选择ADAMS/Slover Dataset,然后在File to read栏中选择前面导出的Scenario_1.adm。

在Model to creat中填入需要建立的模型名。

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常用函数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常用函数文本说明

ADAMS常用函数文本说明

ADAMS常用函数文本说明ADAMS常用函数文本说明在使用adams的过程中,由于函数比较多,大概有11种之多,如1、Displacement Function2、Velocity Functions3、 Acceleration Functions4、 Contact Functions5、 Spline Functions6、 Force in Object Functions7、Resultant Force Functions8、 Math Functions9、 Data Element Access10、User-Written Subroutine Invocation11、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函数使用精华

样条差值函数Akima Fitting Method(AKISPL)定义:由曲线或者曲面返回曲线的导数或者曲线的拟合值。

通过Akima样条曲线拟合方法,使用一系列离散点来拟合曲线。

格式:AKISPL(第一独立变量,第二独立变量,样条函数名,求导阶数)自变量:第一独立变量(必须)--代表样条中第一独立变量的实数变量。

第二独立变量(必须)-- 代表样条中第二独立变量的实数变量。

样条函数名字(必须)—已存在的数据样条实体的名字,定义了用作拟合的一系列离散点。

求导阶树(可选)—在求离散点时用作求导的阶树。

其合法值为:*0—返回曲线坐标值。

*1—返回一阶导数值。

*2—返回二阶导数值。

注意:当拟合曲面时,不必指明Derivative Order(求导阶数)。

例子:某样条曲线,spline_1,其定义的离散点如下表所示。

使用Akima样条拟合方法将这些离散点生成拟合函数。

既然样条曲线定义的是曲线而不是曲面, 因此, 将Second Independent Variable(第二独立变量)设置为零。

在下列例子中,给出了独立变量的值和数据,AKISPL返回拟合值:f = AKISPL(DX(marker_1, marker_2, marker_2), 0, spline_1)由以上拟合点生成的样条曲线如下图所示:CURVE定义:CURVE 函数定义了一条B 样条曲线或者以CURVE 声明创建的用户自定义曲线。

格式: CURVE (alpha, iord, comp, id)自变量:alpha —确定独立变量α的值的实变量,其中CURVE 函数计算曲线。

如果曲线是以CURVE 计算的B 样条曲线, α的取值范围为11-≤≤α。

如果曲线是通过CURSUB 计算得出,alpha 的去值范围为MAXPAR MINPAR ≤≤α。

Iord —定义CURVE 函数中求导阶树的整数值。

其合法值为 *0—返回曲线坐标。

*1—返回一阶偏导。

ADAMS常用函数总结

ADAMS常用函数总结

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.51.0 if time >2.53、AKISPL函数格式:AKISPL (First Independent Variable, Second IndependentVariable,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函数

adams 函数ADAMS/View 运行函数及ADAMS/Solver 函数2008-04-18 04:543 ADAMS/View 运行函数及ADAMS/Solver 函数ADAMS/View 运行函数能够表明定义系统行为的仿真状态间的数学关系。

在ADAMS/ View 中将这些运行函数与其他不同元素一同创建各种系统变量,这些函数大多数都以施加力和产生运动为目的。

之后在仿真中进行解算时,ADAMS/ Solver 会用到这些变量函数并进行计算更新,在仿真过程中这些系统状态会发生改变,如随时间的改变而改变、随零件的移动而改变、施加的力以不同方式改变等。

3.1 位移函数(1)线位移函数DX 返回位移矢量在坐标系X 轴方向的分量DY 返回位移矢量在坐标系Y 轴方向的分量DZ 返回位移矢量在坐标系Z 轴方向的分量DM 返回位移距离(2)角位移函数AX 返回一指定标架绕另一标架X 轴旋转的角度AY 返回一指定标架绕另一标架Y 轴旋转的角度AZ 返回一指定标架绕另一标架Z 轴旋转的角度(3)按313 顺序的角位移PSI 按照313 旋转顺序,返回指定坐标系相对于参考坐标系的第一旋转角度THETA 按照313 旋转顺序,返回指定坐标系相对于参考坐标系的第二旋转角度PHI 按照313 旋转系列,返回指定坐标系相对于参考坐标系的第三旋转角度(4)按照321 顺序的角位移YAW 按照321 旋转顺序,返回指定坐标系相对于参考坐标系的第一旋转角度PITCH 按照321 旋转顺序,返回指定坐标系相对于参考坐标系的第二旋转角度的相反数ROLL 按照321 旋转顺序,返回指定坐标系相对于参考坐标系的第三旋转角度3.2 速度函数(1)线速度函数VX 返回两标架相对于指定坐标系的速度矢量差在X 轴的分量VY 返回两标架相对于指定坐标系的速度矢量差在Y 轴的分量VZ 返回两标架相对于指定坐标系的速度矢量差在Z 轴的分量VM 返回两标架相对于指定坐标系的速度矢量差的幅值VR 返回两标架的径向相对速度(2)角速度函数WX 返回两标架的角速度矢量差在X 轴的分量WX 返回两标架的角速度矢量差在Z 轴的分量WM 返回两标架的角速度矢量差的幅值3.3 加速度函数(1)线加速度函数ACCX 返回两标架相对于指定坐标系的加速度矢量差在X 轴的分量ACCY 返回两标架相对于指定坐标系的加速度矢量差在Y 轴的分量ACCZ 返回两标架相对于指定坐标系的加速度矢量差在Z 轴的分量ACCM 返回两标架相对于指定坐标系的加速度矢量差的幅值(2)角加速度函数WDTX 返回两标架的角加速度矢量差在轴的分量WDTY 返回两标架的角加速度矢量差在Y 轴的分量WDTZ 返回两标架的角加速度矢量差在Z 轴的分量WDTM 返回两标架的角加速度矢量差的幅值3.4 接触函数IMPACT 生成单侧碰撞力BISTOP 生成双侧碰撞力3.5 样条差值函数CUBSPL 标准三次样条函数插值CURVE B 样条拟合或用户定义拟合AKISPL 根据Akima 拟合方式得到的插值3.6 约束力函数JOINT 返回运动副上的连接力或力矩MOTION 返回由于运动约束而产生的力或力矩PTCV 返回点线接触运动副上的力或力矩CVCV 返回线线接触运动副上的力或力矩JPRIM 返回基本约束引起的力或力矩SFORCE 返回单个作用力施加在一个或一对构件上引起的力或力矩VFORCE 返回3 个方向组合力施加在一个或一对构件上引起的力或力矩VTORQ 返回3 个方向组合力矩施加在一个或一对构件上而引起的力或力矩GFORCE 返回6 个方向组合力(力矩)施加在一个或一对构件上而引起的力或力矩NFORCE 返回一个由多点作用力施加在一个或一对构件上而引起的力或力矩BEAM 返回由梁连接施加在一个或一对构件上的力或力矩BUSH 返回由衬套连接施加在一个或一对构件上而引起的力或力矩FIELD 返回一个由场力施加在一个或一对构件上而引起的力或力矩SPDP 返回一个由弹簧阻尼力施加在一个或一对构件上而引起的力或力矩3.7 合力函数FX 返回两标架间作用的合力在X 轴上的分量FY 返回两标架间作用的合力在Y 轴上的分量FM 返回两标架间作用的合力TX 返回两标架间作用的合力矩在X 轴上的分量TY 返回两标架间作用的合力矩在Y 轴上的分量TZ 返回两标架间作用的合力矩在Z 轴上的分量TM 返回两标架间作用的合力矩3.8 数学函数CHEBY 计算切比雪夫多项式FORCOS 计算傅立叶余弦级数FORSIN 计算傅立叶正弦级数HAVSIN 定义半正矢阶跃函数INVPSD 依据功率谱密度生成时域信号MAX 计算最大值MIN 计算最小值POLY 计算标准多项式SHF 计算简谐函数STEP 3 次多项式逼近阶跃函数STEP5 5 次多项式逼近阶跃函数SWEEP 返回按指定格式生成的变频正弦函数还有其他一些常用数学计算的数学函数与ADAMS/View 设计函数中的数学函数相同。

ADAMS常用函数总结

ADAMS常用函数总结

ADAMS常用函数总结在使用adams的过程中,由于函数比较多,大概有11种之多,如&nbsp1、Displacement& nbspFunction&nbsp2 &nbspSpline&nbspFunctions&nbsp6、 &nbspForce&nbspin&nbspObject&nbspFunctions&nbsp7、 Resultant&nb User-Written&nbspSubroutine& nbspInvocation&nbsp11、Constants &&nbspVariables。

在adams中也有帮助文档,但是对于初学者来说还是有一定的难度的,基于这种情况我总结了一下几种常用的函1、&nbspSTEP函数格式:STEP (x,&nbspx0,&nbsph0,&nbspx1,&nbsph1)参数说明:&nbspx ―自变量,可以是时间或时间的任一函数&nbspx0 ―自变量的STEP函数开始值,可以是常数或函数表达式或设计变量;&nbspx1 ―自变量的STEP函数结束值,可以是常数、函数表达式或设计变量&nbsph0 ―&nbspSTEP函数的初始值,可以是常数、设计变量或其它函数表达式&nbsph1 ―&nbspSTEP函数的最终值,可以是常数、设计变量或其它函数表达式2、&nbspIF函数格式:IF(表达式1: 表达式2, 表达式3, 表达式4)参数说明:表达式1-ADAMS的评估表达式;表达式2-如果的Expression1值小于0,IF函数返回的Expression2值;表达式3-如果表达式1的值等于0,IF函数返回表达式3的值;表达式4-如果表达式1的值大于0,IF函数返回表达式4的值;例如:函数&nbspIF(time-2.5:0,0.5,1)结果:&nbsp0.0&nbspif&nbsptime <&nbsp2.50.5&nbspif&nbsptime =&nbsp2.5&nbsp1.0&nbspif&nbsptime >&nbsp2.53、AKISPL函数格式:AKISPL (First&nbspIndependent&nbspVariable,& nbspSecond&nbspIndependent&nbspVariable,Splin 参数说明:First&nbspIndependent&nbspVariable ——spline中的第一个自变量Second&nbspIndependent&nbspVariable (可选) ——spline中的第二自变量Spline&nbspName ——数据单元spline的名称Derivative&nbspOrder (可选) ——插值点的微分阶数,一般用0就可以function =&nbspAKISPL(DX(marker_1,&nbspmarker_2,&nbspmarker_2),&nbsp0,&nbspspline_1)spline_1用下表中的离散数据定义自变量x 函数值y-4.0 &nbsp-3.6-3.0 &nbsp-2.5-2.0 &nbsp-1.2-1.0 &nbsp-0.40.0 &nbsp0.01 &nbsp0.42 &nbsp1.23 &nbsp2.54 &nbsp3.64、碰撞函数impact其实质是:用只抗压缩的非线性的弹簧阻尼方法近似计算出单边碰撞力。

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