实用的Adams使用技巧

实用的Adams使用技巧
实用的Adams使用技巧

实用的Adams使用技巧、教程

一,Adams常见问题篇

1、ADAMS中的单位的问题

开始的时候需要为模型设置单位。在所有的预置单位系统中,时间单位是秒,角度是度。可设置:

MMKS--设置长度为千米,质量为千克,力为牛顿。

MKS—设置长度为米,质量为千克,力为牛顿。

CGS—设置长度为厘米,质量为克,力为达因。

IPS—设置长度为英寸,质量为斯勒格(slug),力为磅。

2、如何永久改变ADAMS的启动路径?

在ADAMS启动后,每次更改路径很费时,我们习惯将自己的文件存在某一文件夹下;事实上,在Adams的快捷方式上右击鼠标,选属性,再在起始位置上输入你想要得路径就可以了。

3、关于ADAMS的坐标系的问题。

当第一次启动ADAMs/View时,在窗口的左下角显示了一个三视坐标轴。该坐标轴为模型数据库的全局坐标系。缺省情况下,ADAMS/View用笛卡儿坐标系作为全局坐标系。ADAMS/View 将全局坐标系固定在地面上。

当创建零件时,ADAMS/View给每个零件分配一个坐标系,也就是局部坐标系。零件的局部坐标系随着零件一起移动。局部坐标系可以方便地定义物体的位置,ADAMS/View也可返回如零件的位置——零件局部坐标系相对于全局坐标系的位移的仿真结果。局部坐标系使得对物体上的几何体和点的描述比较方便。物体坐标系不太容易理解。你可以自己建一个part,通过移动它的位置来体会。

4、关于物体的位置和方向的修改

可以有两种途径修改物体的位置和方向,一种是修改物体的局部坐标系的位置,也就是通过MODIFY物体的position属性;令一种方法就是修改物体在局部坐标系中的位置,可以通过修改控制物体的关键点来实现。我感觉这两种方法的结果是不同的,但是对于仿真过程来说,物体的位置就是质心的位置,所以对于仿真是一样的。

5、关于ADAMS中方向的描述。

对于初学的人来说,方向的描述不太容易理解。之前我们都是用方向余弦之类的量来描述方向的。在ADAMS中,为了求解方程是计算的方便,使用欧拉角来描述方向。就是用绕坐标轴转过的角度来定义。旋转的旋转轴可以自己定义,默认使用313,也就是先绕z轴,再绕x轴,再绕z轴。

6、Marker点与Pointer点区别

Marker:具有方向性,大部分情況都是伴随物件自动产生的,而Point不具有方向性,都

是用户自己建立的;Marker点可以用来定义构件的几何形状和方向,定义约束与运动的方向等,而Point点常用来作为参数化的参考点,若构件与参考点相连,当修改参考点的位置时,其所关联的物体也会一起移动或改变。

7、关于约束的问题

约束是用来连接两个部件使他们之间具有一定相对运动关系。通过约束,使模型中各个独立的部件联系起来形成有机的整体。

在ADAMS/View中,有各种各样的约束,大体上将其分为四类:

基本约束:

点重合约束(ATPOINT)、共线约束(INLINE)、共面约束(INPLANE)、方向定位约束(ORIENTATION)、轴平行约束(PARALLEL_AXES)、轴垂直约束(PERPENDICULAR)等

常用铰约束:

球铰(SPHERICAL)、虎克铰(HOOKE)、广义铰(UNIVERSIAL)、常速度铰(CONVEL)、固定铰(FIXED)、平移副(TRANSLATIONAL)、圆柱副(CYLINDER)、旋转副(REVOLUTE)、螺旋副(SCREW)、齿轮副等

高副约束:

曲线-曲线约束(CVCV)、点-曲线约束(PTCV)。

驱动:

按驱动加在对象类型上分:有点驱动和铰驱动;按驱动特点来分有:平移驱动和旋转驱动。

8、驱动和力的区别

驱动和力都会引起物体的运动,但两者是有本质上的区别的。

驱动产生确定的运动,可以消除物体的自由度。

力产生的运动是不确定的,不能消除物体的自由度。

9、运动学仿真后,如何测量驱动力矩或者其他的物理量?

我们在做机器人运动规划时,往往根据规划给出各个关节的运动轨迹,进行运动学分析,如果要查看实现该运动各个关节需要加的驱动力矩,可以右键单击相应的motion,然后在下拉菜单选择measure,在出现的界面里面选择Torque,点ok就出来力矩曲线了,其他物理量类同。

10、ADAMS/VIEW中的输入函数的指定方法

输入函数是指从输入状态变量取值的时间函数。只需在所建立的模型中在需要进行控制的部件施加一定的力或力矩,然后对其进行函数化:其函数的自变量为所指定的输入状态变量。这样所建立的模型就是受输入控制的系统。

11、如何将回放过程保存为AVI格式的电影文件

点击plotting(或F8)进入postprocessor ,右键--load ANIMATION,点击"record"开始录制。点击"play"开始。

12、ADAMS中的文件类型介绍

模型及分析主要有以下几种类型文件:ADAMS/View二进制数据库bin文件、ADAMS/View命令cmd文件、ADAMS/Solver模型语言adm文件、ADAMS/Solver仿真控制语言acf文件,以及ADAMS/Solver仿真分析结果文件:req文件、res文件、gra文件、out 文件、msg文件。

ADAMS/View二进制数据库bin文件以“ .bin”为文件名后缀,文件中记录了从ADAMS启动后到存储为bin文件时的全部信息-包含模型的完整拓扑结构信息、模型仿真信息以及后处理信息。可以包含多个模型、多个分析工况和结果。可以保存ADAMS/View的各种设置信息。文件为二进制不能阅读、编辑,只能通过ADAMS/View调阅,由于信息全面一般文件都比较大。

ADAMS/View命令cmd文件以“ .cmd”为文件名后缀,是由ADAMS/View命令编写的模型文件,可以包含模型的完整拓扑结构信息(包括所有几何信息)、模型仿真信息,为文本文件,可读性强,可以进行编程,是ADAMS的二次开发语言,不包含ADAMS/View的环境设置信息,不包含仿真结果信息,只能包含单个模型。

ADAMS/Solver模型语言(ADAMS Data Language)adm文件,以“ .adm”为文件名后缀,文件中包含模型中拓扑结构信息,但有些几何形体如link等不能保留。ADAMS/View的环境设置不能保留。ADAMS/Solver可以读取adm文件,与ADAMS/Solver仿真控制语言acf文件配合可以直接利用ADAMS/Solver进行求解。

ADAMS/Solver仿真控制语言acf文件,以“ .acf”为文件名后缀,文件中可以包含ADAMS/Solver 命令对模型进行修改和控制的命令,从而控制仿真的进行。

ADAMS/Solver将仿真分析结果中用户定义的输出变量输出到req文件,以“ .req”为文件名后缀;ADAMS/Solver将仿真分析结果中将模型的缺省输出变量输出到res文件,以“ .res”为文件名后缀;ADAMS/Solver将仿真分析结果中图形部分结果输出到gra文件,以“ .gra”为文件名后缀。ADAMS/Solver将仿真分析结果中用户定义的输出变量以列表的形式输出到out文件,以“ .out”为文件名后缀。ADAMS/Solver将仿真过程中的警告信息、错误信息输出到msg 文件,以“.msg”为文件后缀。

13、如何使用two body two location?

比如四杆机构,杆长已知,一个为机架,一个为曲柄,一个为摇杆,一个为连杆。关四个转动关节的位置如何确定?

——可以試著以two body two location去做拘束,再從simulation下找simulation control便可以做組合模拟。

14、如何在ADAMS下由数据生成样条曲线?

在tools->command navigator....->Data element->create->spring line 后,会出現一个输入window窗口,选择numerical将xyz数值copy到xyz各自的表格上.......

15、ADAMS中如何建模,该如何控制坐标点,才能得到精确的位置?

可以粗略建立Point 设计点后,可以Modify,在表格编辑器Table Editor 里可以精确定位点的坐标,还可以用Command。

16、关于bushing

16.1、bushing一般用于模拟橡胶连接部件,主要是指线性橡胶。一般汽车底盘的轴承都有加橡胶,那就可以在轴和轴承之间用这个。输入在各个方向的刚度和阻尼就可以了。

16.2、bushing主要是考虑到了两个物体间的弹性连接,比如麦弗逊悬架的下控制臂和副车架,幅车架和车身相连的地方都是采用了bushing,在car里面就可以看到。对于运动学分析,采用一般的连接即可(比如万向节),做动力学分析,就得采用busing以模拟弹性力。

17、请问如何对零件进行复制?

可用position move,还有一个命令是position rotation。

18、关于转动问题,如何判断转动副的方向?

初学时,对转动副的运动容易糊涂,下面以图说明。

图1,构件4固定在地面上,在构件1和构件2上加了一个转动副。

1) 转动副中构件绕轴转动的方向,符合右手法则,其中First body 绕Second body 转动;

2) 图一中,构件1为first body,构件2为Second Body,则构件1相对于构件2逆时针转动,图2为转动后某时刻的图像;

3) 若修改转动副,构件2为first body,构件1为Second Body,则构件2相对于构件1逆时针转动,图3为转动后某时刻的图像,与2)恰相反;

4) 有趣的是,假设转动副加在构件1与4上,构件4为first body,构件1为Second Body,则构件4应该相对于构件1逆时针转动,但由于构件4固定在地面上,无法运动,由相对运动可知,此时运动等价于构件1相对于构件4顺时针转动,事实如此,图4为转动后某时刻的图像。

(图片看不到的话,可在版内搜索到该帖子)

19、用不同的求解器是不是不会对结果造成太大的影响?

求解器不会对仿真结果造成影响的。由于ADAMS的求解器最初是用FORTRAN编写的,而随着C的普及及功能的强大,现在越来越倾向于C了。现在是两个求解器并存,将来可能只保留C一个了。在ADAMS新的版本中,有些功能只有C求解器才有的。

20、出现exception 11 detected如何解决?

開始->程式集->MSC.Software->MSC.ADAMS 2005r2->ADAMS Settings->

在Shared->Graphics_Driver, 選擇Hoops

21、接触的那些系数是什么意思?该怎么填写啊?

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... 1%26filter%3Ddigest

22、碰撞力的测量?

使用postprocessor绘制出contact force curve,是比较简单的;

若要在view环境下进行显示,其流程较为复杂:

buid| measure | Function| Force object | contact force

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... 1%A6%2B%B2%E2%C1%BF

23、如何创建齿轮副?

关键是齿轮副定义的joint和marker点需要定义在一个物体上,基本上就是这样。如定义一个简单gear,所用了两个revolution joint1和2,joint1定义了part1和ground,joint2定义了part2和ground,marker点定义在ground上,marker的Z轴方向应指向齿轮的啮合线方向,该marker位于啮合点上,才能成功的建立齿轮副。定义行星轮也是同样,建立在齿轮副中需要用到的joint和marker点都必须在同一物体上,不管这个物体是ground还是自建的part。

24、请教:行星齿轮副该怎么加???

https://www.360docs.net/doc/ff19105079.html,/forum/viewthread.php?tid=371248

25、请教如何在adams里构建齿轮副?

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... =%B3%DD%C2%D6%B8%B1

26、PROE中如何建立凸轮副?

26.1、在PRO/E里面做一个凸轮,和一顶杆.

26.2、沿凸轮的外边圆做一条曲线(一般是外边缘偏移出),

26.3、在顶杆顶端(以后与凸轮接触那点).做一个marker点.

26.4、新建一个装配文件,同时做一基座零件(装配凸轮和顶杆之用),将凸轮和顶杆装配好,加上必要的约束(凸轮的铰链,和顶杆的移动副)同时在铰链上增加一马达(同时设置好必要的参数).

26.5、关键一步是:在SET UP MECHANISM下选择DATA ELEMENTS,再选择CURVE,选择第2步所做的曲线,创建一条曲线(用以约束顶杆是的MARKER只用.

26.6、然后从约束里面选种POINT ON CURVE 分别NAME,CONSTRAINED LACATINON(选MARKER点),CONSTRAINED FIGID BODY(选顶杆),SELECT EXISTING CURVE(选刚创建的曲线). 26.7、创建成功后就可以看结果了

27、从pro/e导入的凸轮副如何设置?

方法一:

A、首先分别在prt图里对凸轮以及从动件用“使用边”命令做出曲线,保存好

b、在set up----data elements----curves-create........选用from geometry等,做好2个curves

c、后面的工作都可以在mech/pro里直接设置,凸轮副curve-to-curve也一样。

方法二:

可以从两个方面来做这个:

a、用碰撞来实现导入的凸轮运动;

b、在mechpro中将运动副定义好;

c、在proe中做一个凸轮的曲线,导出igs格式,再导入到adams中。将IGS格式的曲线转化为ADAMS的spline。就可以在这个上面定义凸轮副了。

具体的实现过程可以参考MSC的KB:

https://www.360docs.net/doc/ff19105079.html,/kb/results_kb.cfm?S_ID=1-KB8362

28、凸轮副如何加约束?

见帖子:

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... =%CD%B9%C2%D6%B8%B1

29、用ADAMS进行蜗轮蜗杆模拟仿真示例

见帖子:https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... hlight=%CE%CF%C2%D6

30、用关联副模拟蜗轮蜗杆:

见帖子:https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... hlight=%CE%CF%C2%D6

31、【原创】Adams中的蜗轮蜗杆实现原理

见帖子:https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... mp;page=1#pid178790

32、一种行星齿轮传动建模方法[经验分享]

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... Dtype%26typeid%3D56

33、数据文件如何生成spline?

用输入的方式。file-import-,打开如图所示的对话框,照图中所示的选项就可以输入数据了。将你原来产生的数据作为test data输入,这种方法比较简单实用。数据文件中存放数据有一定的格式,建议参考一下帮助文件view_ex.pdf的40到46页。

34、如何使用spline编辑器?

选中spline右键进行modify即可,如下图

35、如何添加轨迹线?

Review | create Trace Spline

36、有两种方式定义力的方向:

a、沿两点连线方向定义;

b、沿标架一个或多个轴的方向。

二、常用函数介绍篇

(一)、adams函数总体介绍

1、ADAMS/View? 是MDI公司出品的动力学仿真模块,提供了强大的建模与仿真环境。用户可以应用该模块对任何一个机械系统进行建模与仿真。除此之外,还可以通过函数编辑器编写表达式、函数和子程序,以实现对力、测量和运动的定义。在仿真过程中,系统状态实时发生变化,用户能够通过编写运行过程函数实现对系统变量的实时控制。

2、ADAMS/View函数包括设计函数与运行函数两种类型,函数的建立对应有表达式模式和运行模式两种。表达式模式下在设计过程中对设计函数求值,而运行模式下会在仿真过程中对运行函数进行计算更新。ADAMS/Solver函数支持ADAMS/View运行模式下的函数,在仿真过程中采用ADAMS/Solver解算时对这些函数进行计算更新。

3、运行时函数

(1) 运行时函数在仿真运行过程中被触发载入运行的,设计时函数在程序刚开始启动的时候就被载入,并注册。运行时函数可用C或者Fortran代码编写,而设计时函数只能用C编写。

(2) ADAMS/View libraries增加已编译过的设计时函数,定义或者修改模型和后处理方式。ADAMS/Solver libraries为运动和力增加运动时函数,直接定义模型的行为,控制仿真执行的方式。这样可以使你利用已有的软件定义一些复杂的模型间关系,比如液压力、轮胎力等。很多模块,ADAMS/View, ADAMS/Car, ADAMS/Engine,和ADAMS/Rail,可以运行这两种库,因为它们有内部的ADAMS/Solver。

(3) 尽管有一点理解上的困难,但子程序比函数表达式提供了更多的一般性和灵活性。编写一些函数来适应自己的特定需要,链入子程序到ADAMS/Solver,可提高运行效率和仿真速度。子程序和函数表达式的用途是一样的:给ADAMS/Solver定义非标准的输入。函数表达式的使用比较容易,但不能描述复杂的问题,尤其是在包含大量的逻辑判断时;而子程序需要编程、编译和链接,比较复杂,但它的功能更强大,用途更广,包括定义模型元素和指定输出。

4、在进行建立表达式、产生和修改需要计算的度量及建立设计函数等操作时,会采用表达式模式。在建立表达式时,首先在接受表达式的文本框处右击,然后选择“Parameterize”再选择“Expression Euilder”,进入建立设计函数表达式对话框。在该对话框中输入表达式,然后单击“OK”完成操作。

(二)、样条函数的应用

1、样条拟合是在给定曲线或曲面上的已知点间求取中间点的一种插值方法。仿真过程中通过样条拟合函数可以形成一条逼近数据点的光滑曲线。样条函数在下述情况较为通用:

1.1. 采用试验测试数据驱动模型;

1.2. 采用试验测试数据定义驱动力;

1.3. 通过数据点绘制光滑曲线。

ADAMS/View 允许采用三种插值方法,即:三次样条曲线拟合、B样条曲线拟合、Akima拟合法,它们对应的函数分别为CUBSPL、CURVE、AKISPL,其拟合特征及优、缺点如下表所示:

2、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

3、函数CUBSPL( 1st_Indep_Var , 2nd_Indep_Var , Spline_Name , Deriv_Order)

其中1st_Indep_Var定为时间变量time,2nd_Indep_Var 设为0,Spline_Name 为所保存的力与时间的曲线图名称,Deriv_Order设为0。力与时间的曲线图可以在菜单build—>data elements—>spline建立。

(三)、step函数的应用

1、Step函数格式为:step(x,x0,h0,x1,h1) 其中各参数意义如下:

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

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

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

h0 ― STEP函数的初始值,可以是常数、设计变量或其它函数表达式

h1 ― STEP函数的最终值,可以是常数、设计变量或其它函数表达式

2、[链接汇总]step函数应用大集合!

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... hlight=%BA%AF%CA%FD

(四)、if函数的应用

1、格式: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

2、IF((time/2.4-aint(time/2.4))*2.4-1.2: 2,0,-2)

这个意思是:

time/2.4-aint(time/2.4))*2.4-1.2<0: 函数值为:2,

time/2.4-aint(time/2.4))*2.4-1.2=0; 函数值为:0,

time/2.4-aint(time/2.4))*2.4-1.2>0; 函数值为:-2

3、【原创】来一个分段函数,大家来写写:

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... 6%B6%CE%BA%AF%CA%FD

(五)、sensor,acf的应用

1、acf应用实例:我的仿真过程是16秒,我想在0-4秒和8-12秒内约束1激活、约束2失效,在4-8秒和12-16秒内约束2激活、约束1失效,应该怎么写呢?

——应该是:deactivate/joint,id=2

simulate/dynamic,end=4,steps=100

activate/joint,id=2

deactivate/joint,id=1

simulate/dynamic,end=8,steps=100

activate/joint,id=1

deactivate/joint,id=2

simulate/dynamic,end=12,steps=100

activate/joint,id=2

deactivate/joint,id=1

simulate/dynamic,end=16,steps=100

2、怎样删除sensor?

下拉菜单edit里有delete项,在模型中任何对象不被选中的情况下单击delete,然后在数据库中选中要删除的sensor即可。同样的方法可以失效deactive一个sensor。

(六)、函数的典型应用

1、[转帖]ADAMS函数使用精华:

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... hlight=%BA%AF%CA%FD

2、【讨论】关于分段函数的添加:

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... hlight=%BA%AF%CA%FD

3、关于orient函数:

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... hlight=%BA%AF%CA%FD

4、【讨论】子函数参数含义:

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... hlight=%BA%AF%CA%FD

5、如何确定一个从动运动的motion函数:

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... hlight=%BA%AF%CA%FD

6、【原创】如何把MEA(或spline)加入到motion中!!

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... ht=spline%2Bandyxin

7、[链接汇总]spline运用:

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... mp;highlight=spline

三、adams与CAD数据转换篇

(一)、proe与adams的联合仿真

1、ADAMS与Pro/E的接口组合的完整说明

Following is a list of possible combinations:

1. ADAMS2005 + MECHPro2005 + Pro/ENGINEER Wildfire

2.0 (M010) --> Will Work

2. ADAMS2003 + MECHPro2005 + Pro/ENGINEER Wildfire 2.0 (M010) --> Will Work

3. ADAMS2003 + MECHPro2005 + Pro/ENGINEER 2001 (2002030) --> Will not work since MECHPro2005 does not support Pro/E2001

4. ADAMS2005 + MECHPro2005 + Pro/ENGINEER 2001 (2002030) --> Will not work since MECHPro2005 does not support Pro/E2001

5. ADAMS2003 + MECHPro12.0 + Pro/ENGINEER Wildfire 2.0 (M010) --> Will not work

6. ADAMS12.0 + MECHPro12.0 + Pro/ENGINEER 2001 (2002030) --> Will Work

7. ADAMS2003 + MECHPro12.0 + Pro/ENGINEER 2001 (2002030) --> Will work after changes mentioned in KB 10645 are applied.

8. ADAMS12.0 + MECHPro12.0 + Pro/ENGINEER2003 --> Will Work

2、ADAMS与Pro/E的接口组合:

目前,Proe和Adams能够有效工作的有下面几种组合:

2.1. Adams 2005 + Mech/pro 2005 + Pro/E Wildfire 2.0

2.2. Adams 2003 + Mech/pro 2005 + Pro/E Wildfire 2.0

2.3. Adams 12 +Mech/pro 12 + Pro/E 2001

2.4. Adams 12+Mech/pro 12 + Pro/E Wildfire 2.0

其中前3种我是总结坛子上的内容,第4种是我根据坛子中提供的超时补丁nmsd,尝试成功的。

注意:各种配置完成后,启动Pro/E后需要打开一个asm文件,才能出现mech/pro菜单,否则不会出现,避免误以为不能匹配!

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... 9&highlight=pro

(补丁下载地址,超时补丁nmsd.exe是替代文件,用新的nmsd代替你安装目录下的原文件即可。)

3、PROE与ADAMS的接口问题终结版:

(原贴)https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... 7&highlight=pro

以前我们都讨论了proe与adams的接口问题,基本上能实现二者之间的模型转换。在一些细节问题上,我的一些经验与大家分享。我所希望的是整个模型一次从proe中导出,因此在proe中对装配关系进行调整,使整个装配体由几个刚体组成,每个刚体可能是一个零件,也可能是一个子装配体。然后用自动生成刚体的命令导出。当模型有些复杂的时候,可能有的刚体模型导出失败。此时检查下工作目录下生成的文件:transferToView文件,用来记录模型传递中各刚体的质量、惯性矩、标记等物理信息;数个SLP文件,为各个生成刚体的图形文件;aview文件,记录的是读取各刚体图形文件的路径及图形文件名。出现问题的模型,正是其图形文件以及aview中的读取路径缺失了。而SLP文件是由数据交换标准Render格式产生的。为此我们在Pro/E中打开出现问题的子装配体或零件,选择“另存为”命令及Render 格式,便可产生先前没有生成的SLP文件了。接着修改aview文件的读取图形文件的路径及文件名,便可顺利在ADAMS中读取整个模型了。

此外我们可将每个刚体的SLP图形文件再通过“另存为”命令产生,替换掉模型转换时产生的图形文件,这样整个模型的可视化效果更好,不失真。

这是我的一些经验,下一步的工作就是在adams施加各种约束和载荷进行仿真了。

4、Pro/E和ADAMS无缝接口若干问题的讨论:

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... 3&highlight=pro

5、解决adams12版本过期问题与pro/e与adams12接口问题的联合安装手册

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... 4&highlight=pro

6、使用mech/pro的一点心得

6.1 使用起来比较简单,常用jiont都有了,可以说比pro/mechanica还要方便,可以定义斜齿轮,不知道为什么adams本身却不能?

6.2 与adams的接口做得不错,但是导入adams后却不是实体,让人头疼,不过奇怪了,实体碰撞接触却可以使用,但是局限于简单的小零件,如果复杂的零件,就算不了了,不知道我说的有没有问题?请高手指点。

6.3 后处理好像差点,没有图形输出功能,也许我还没找到吧,须启动adams/ploting才可以把结果数据图形化。

6.4 对于使用pro/e建模的同志,可以说节省了大量的时间,不用去建那么多质心点了,也不用计算每个实体的惯性距了。材料最好在pro/e里面添加好,否则在adams中该材料,会特别慢,但是也可以改。用10级精度转的话,表面质量非常的好。

6.5 对于第二点,希望高手指点,不用parasolid格式是不是就不能做实体接触呢?但是我曾经作过一个简单的,开始没有接触的,运动过程中接触的刚体碰撞,没有什么问题,但是今天做一个比较复杂的机构,开始是接触的两个零件,也定义了实体接触,计算时却问我要不要转换为parasolid格式,转起来就特别的慢,以至于死机。

7、ADAMS与ProE联合建模的一些资料

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... 8&highlight=pro

PROE与ADAMS仿真相关论文11篇

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... 9&highlight=pro

mech/pro的资料(英文版)的

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... 9&highlight=pro

利用mech/pro进行模型导入的视频

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... 6&highlight=pro

基于Pro/E与ADAMS的汽车悬架仿真分析.pdf论文下载

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... 3&highlight=pro

8、生成的文件导入adams中失真比较多阿,本来是圆柱或者圆孔,倒进去变成正多边形了,有什么办法解决吗

选择图形转换精度为10

9、请教一下高手,我在proe装配过程中加入了几个装配件,结果在导入adams前定义刚体时无法将其中的装配中的组件自动定义为刚体。即我建立了a.asm文件,其中装配了b.asm 文件,我怎样才能将b.asm中的组件自动定义为刚体呢?

没有那么多捷径。别选择Automatic自动创建刚体,选择By Selection后按照你的建模思路,

选择相应的应该定义成一个刚体的PRT或ASM,最后生成的刚体会满足你的要求的!

10、导模型时出现ERROR: WriteViewFile() returns an error code 错误

proe中定义的单位制与adams中默认的单位制不相符。装配体和子件的单位必须统一。如果装配体中引用了子装配体,那么要保证子装配体的单位也要统一。

在反复试过之后发现,只要所有装配和零部件的质量单位统一,也就是不带N这个单位,都可以顺利转换。

在PROE的设置底下点击单位就会出现一个对话框点击你要的单位,又会跳出一个对话框一个是解释现存数,一个是转换现存数解释现存数的意思就是尺寸与原来相同,但大小会发生变化转换现存数则是尺寸发生变化,但大小不变

11、哪位机子上同时装了proe,adams,mech/pro,ansys的而没有冲突的?

这里的冲突是特指License FlEXlm tools冲突,关键在于服务器的设置和lience.dat文件

12、为什么每次重启机器后我的proe就会出现这个问题呢?

license request failed for feature proe_200310:-5

no such feature exists

feature ; proe_2002310

license path;7788@nopp;D:\ProgramFiles\ADAMS12.0\network\license.dat

flexlm error:-5,357......

总结一下:

第一:可能是防火墙和杀毒软件与之冲突,关闭试试;

第二:重新生成license.dat 文件,覆盖相应的文件,重启试试;

第三:是否安装的其他软件于之冲突;

第四:安装接口时是否按照步骤进行;这里有安装步骤:

1)首先确定pro/e和adams都能正常使用,保证adams的license启动;

2)安装mech/pro ;

3)运行mech/pro的补丁apn 120-199;

以上几步安装完成之后adams12安装目录中会自动增加一个mech目录

4)用所提供的mechpro.dll替换adams12安装目录下mech目录的同名文件;

5)将mech目录下的protk.dat文件拷贝到pro/e安装目录下的\i486_nt\text\usascii\子目

录下;

6)将mech目录下的mechpro.env文件拷贝到pro/e安装目录下的\i486_nt\obj\子目录下;注意第七步是版面以前那篇文展中没有提到的

7)用一个新的nmsd.exe文件替换pro/e安装目录中的\i486_nt\nms下的同名文件,这是因为如果不替换这个文件,在pro/e中将无法启动mech/pro,这里存在一个软件失效的问题,好像该软件在2004年1月之后就不能使用,用7)中的方法可以完美解决;另外个方法是安装mech/pro 之前将系统时间改回2003年,但是不推荐这种方法,因为这种方法可能带来一系列新的问题;

8)启动pro/e运行于装配模式,即可看到菜单中出现mech/pro选项;

9)若8)中运行pro/e之后,虽然菜单中出现mech/pro选项,但是单击改选项时出现下述提示:ERROR: This CPU is not licensed to run MECHANISM/Pro.

则需要你添加系统变量LM_LICENSE_FILE使之指向你的adams12所用的license文件,一般在adams12 安装目录下的network子目录下,问题即可解决,若不出现这个问题,则不用

设置该变量;

10)若9)中出现的情况用所用的方法不能解决,则基本可以确定是你的adams和pro/e版本不匹配的问题,比如adams11与pro/e2000i2就不匹配,我个人推荐用adams12+pro/e2001或者wildfire

13、Pro/e中导入ADAMS时(刚体为自动创建)的操作步骤

我用的是pro-wildfire,终于成功把零件导入adam了,只要mech/pro-----set up mechanism----rigid bodies---creat---automatic,然后mech/pro----interface---adams view---done,就可以了,会自动进入adams/view中,ok!

14、能否在adams环境下修改导入的proe模型位置

https://www.360docs.net/doc/ff19105079.html,/forum/viewt ... 2&highlight=pro

15、请问在mechnism/pro中旋转副怎么加?

其实在mechanism/pro中只要定义刚体就行,导入ADAMS后再定义约束。建立相关的参考点是必要的!

16、proe中导入的复杂刚体用autoflex不好柔性化?

在proe中建立的复杂模型导入到adams中后,使用autoflex好象不能进行柔性化处理,简单的模型能柔性化,但是在adams中建立的复杂模型却能很快的使用autoflex柔性化。对于有限元分析来说,分网是个很见功夫的事情,而ADAMS的分网工具并不是非常专业的,在分复杂模型的时候会遇到很多困难,即便分出来了质量也不能保证,所以建议对于复杂模型分网还是用Patran较好,而且Nastran的模态计算是最准的。

17、简化机构的转动惯量怎么加?

part->modify->define mass by->user input

可以用proe的分析来算,也可以通过proe的保存为render(*.slq)然后导入到adams(import)modify,加质量属性,这样用adams也可以求出这个

18、在proe中通过mechpro自动导入到adams中的模型,成为壳体吗?正常否?如不正常,是不是我在产生相关文件时设置有误?

这是正常的。导入adams后会转为shell壳体。出现的问题应该跟这没关系。在2003版本后已经能很好的支持密封壳体的碰撞了。

12以前的不支持壳体的。在2003中选择set-solver-contact时选择默认的碰撞检测器。

若是在12版本中则可以用拉伸的方法add to part创建一个拉伸体,碰撞选择此拉伸体就可以了。

19、使用stp格式也可以把模型从proe导进去,它和mech/pro有什么差别

STP一种标准数据交换的文件,可以导入分析,在Pro/E的装配文件里你可以单独一个一个零件导出保存好,然后再一个一个导入ADAMS,其实这种导出导入的方法在Pro/E里用另存为*.slp格式的步骤是差不多的,而在mech/pro里使用*.slp格式的时候可以一次将整个装配文件导到ADAMS,省掉了中间步骤而已,但我感觉STP的导出太麻烦,而且导入ADAMS 速度超慢。

用stp导入到ADAMS的零件和装配体都只是几何外形,只是为了好看的,如果要进行分析,

还得定义质量属性等;而从mech/pro的导入到ADAMS的模型则自动计算质量属性。

装配体会被认为是一个零件的!

20、marker点必须在mech/pro里创建吗?

应该说在那里建立比在adams里方便些,因为在adams不好捕捉。

21、在mech/pro中如何设置marker以及创建运动副?

name --parent RB --location--axis 1 orientation--identify axis 1

需要逐一定义,name可以随便定义,parent rb须选择marker的母体,location可以选择一点,比如选择某圆的中心点,重点是axis 1 orientation,这一般是marker的z轴方向,选择好后点identify axis 1,这里只需中健确认一下就可以了。

添加z轴的时候一定要把你的基准轴都显示出来,在mech/pro中添加约束,多看看命令窗口对每步的提示一般都能知道问题出在哪里。

22、Proe的装配图存成igs文件,导入Adams中行吗?

可以将proe的iges文件导入到ADAMS中,但是因为iges只是导入一些图形,包括质量特性等都没有导入,也没有质心,因此ADAMS要求在导入一个iges文件时,需在ADAMS下先建一个part,导入的图形只是作为该part的geometry而已。partname即该part的name。且导入的装配体为一个PART,丢失了装配关系!

23、如何实现pro/e零件在adams里的参数化设计?

由于Pro/e采用的是Brep(boundary representation)边界表示法进行几何实体造型法,而在ADAMS主要采用的是CSG(constructive solid Geometry)构造实体几何表示法来建立三维模型。前者采用边界来划分体内和体外的点集--即边界作为实体和环境的分界,而后者是通过体素的正则运算来进行建模,目前这两种格式之间是不能进行数据交换的。所以不能在ADAMS中实现Pro/E中创建的零件的参数化。

24、Pro/E和ADAMS参数化分析的区别

不经修改就能一次成功的设计是没有的。仿真分析的目的一是验证现况性能,二是分析如何改进提高。

建模、运动、测量曲线,这些步骤在PROE/mechanism中也能完成,甚至模型的参数化驱动。PROE不能做而ADAMS具有的是“参数化分析”,在PROE里可以一次次人工修改模型,但不能计算参数的敏感度,不清楚最佳优化改进方向,效果是事倍功半。

如果没有mech/pro怎么实现模型传递

25、其实,通过mechpro在ADAMS中采用PRO/E零件进行仿真,可以采用如下方法替代:

1 在PRO/E将中的零件save a copy为render格式(.slp)

2 在ADAMS中import该零件,赋与质量属性。

3 在力和约束的施加点创建属于该零件(add to part)的marker。好多人以为这是个很烦的步骤,实际上非常简单。

4 将新引入的零件移动到正确位置。这实际上也是一个很简单的过程!

5 输入的零件与ADAMS中直接创建的零件的可操作性是完全一样的,定义模型即可

26、基于第三方软件实现Pro/E与ADAMS的模型导入

将pore模型存为igs格式导入solidwork,再存为parasolid,最后从adams里import---parasolid

27、参数化建模时的模型能不能是其他软件导入的,比如PROE导入的模型?

一般来说是不可以的,不过可以通过一些优化分析的软件与adams联合起来,对数模做优化的设计。

不行,导进去的文件已经不是图元了,都是成形的面或体,不能对局部进行参量化,但整体可以缩放移动,这个似乎有时没有用

28、如何把adams里面的模型倒出到proe或ug等三维软件中?

可以采用parasolid,iges,step,dwf等格式输出,然后读入到proe或者ug中

29、说一下自己建立凸轮副的方法:

a、在pro/e中建立好模型,保存。在mech/pro中建立机构的约束副(铰链、齿轮、凸轮等)。

b、将建好的模型导入adams中,就会出现图中所示的凸轮副。

c、通过仿真发现与所期望的一样。

另外一种是针对测绘的凸轮进行建模的,测绘的数据保存为*.txt文件。

在ADAMS中建立splin曲线,然后修改,修改时读入测绘的文本,就会将凸轮的轮廓曲线建立出来。

另外对于测绘的凸轮,将测绘数据保存成*.txt形式,在ADAMS中建立splin封闭曲线,然后修改该曲线,通过read键将*.txt文件读入,然后就OK了,在ADAMS中建立了凸轮轮廓。

ADAMS常见问题

ADAMS 使用常见问题 1、ADAMS中的单位的问题 开始的时候需要为模型设置单位。在所有的预置单位系统中,时间单位就是秒,角度就是度。可设置: MMKS--设置长度为毫米,质量为千克,力为牛顿。 MKS—设置长度为米,质量为千克,力为牛顿。 CGS—设置长度为厘米,质量为克,力为达因。 IPS—设置长度为英寸,质量为斯勒格(slug),力为磅。 2、如何永久改变ADAMS的启动路径? 在ADAMS启动后,每次更改路径很费时,我们习惯将自己的文件存在某一文件夹下;事实上,在Adams的快捷方式上右击鼠标,选属性,再在起始位置上输入您想要得路径就可以了。 3、关于ADAMS的坐标系的问题。 当第一次启动ADAMs/View时,在窗口的左下角显示了一个三视坐标轴。该坐标轴为模型数据库的全局坐标系。缺省情况下,ADAMS/View用笛卡儿坐标系作为全局坐标系。ADAMS/View将全局坐标系固定在地面上。 当创建零件时,ADAMS/View给每个零件分配一个坐标系,也就就是局部坐标系。零件的局部坐标系随着零件一起移动。局部坐标系可以方便地定义物体的位置,ADAMS/View也可返回如零件的位置——零件局部坐标系相对于全局坐标系的位移的仿真结果。局部坐标系使得对物体上的几何体与点的描述比较方便。物体坐标系不太容易理解。您可以自己建一个part,通过移动它的位置来体会。 4、关于物体的位置与方向的修改 可以有两种途径修改物体的位置与方向,一种就是修改物体的局部坐标系的位置,也就就是通过MODIFY物体的position属性;令一种方法就就是修改物体在局部坐标系中的位置,可以通过修改控制物体的关键点来实现。我感觉这两种方法的结果就是不同的,但就是对于仿真过程来说,物体的位置就就是质心的位置,所以对于仿真就是一样的。 5、关于ADAMS中方向的描述。 对于初学的人来说,方向的描述不太容易理解。之前我们都就是用方向余弦之类的量来描述方向的。在ADAMS中,为了求解方程就是计算的方便,使用欧拉角来描述方向。就就是用绕坐标轴转过的角度来定义。旋转的旋转轴可以自己定义,默认使用313,也就就是先绕z轴,再绕x轴,再绕z轴。 6、Marker点与Pointer点区别 Marker:具有方向性, 大部分情況都就是伴随物件自动产生的,而 Point不具有方向性, 都就是用户自己建立的;Marker点可以用来定义构件的几何形状与方向,定义约束与运动的方向等,而Point点常用来作为参数化的参考点,若构件与参考点相连,当修改参考点的位置时,其所关联的物体也会一起移动或改变。

ADAMS中的函数_New

ADAMS中的函数_New

ADAMS中的函数

ADAMS/View中系统提供的数 学函数大致分类介绍如下。(1)基本数学函数 ABS(x) 数字表达式x的绝对值 DIM(x1,x2) x1>x2时x1与x2之间的差值,x1<x2时返回0 EXP(x) 数字表达式x的指数值 LOG(x) 数字表达式x的自然对数值LOG10(x) 数字表达式x的以10为底的对数值 MAG(x,y,z) 向量[x,y,z]求模 MOD(x1,x2) 数字表达式x1对另一个数字表达式x2取余数 RAND(x) 返回0到1之间的随机数SIGN(x1,x2) 符号函数,当x2>0时返回ABS(x),当x2<0时返回-ABS(x) SQRT(x) 数字表达式x的平方根值(2)三角函数 SIN(x) 数字表达式x的正弦值SINH(x) 数字表达式x的双曲正弦值COS(x) 数字表达式x的余弦值COSH(x) 数字表达式x的双曲余弦值TAN(x) 数字表达式x的正切值TANH(x) 数字表达式x的双曲正切值ASIN(x) 数字表达式x的反正弦值ACOS(x) 数字表达式x的反余弦值

ATAN(x) 数字表达式x的反正切值ATAN2(x1,x2) 两个数字表达式x1,x2的四象限反正切值 (3)取整函数 INT(x) 数字表达式x取整 AINT(x) 数字表达式x向绝对值小的方向取整 ANINT(x) 数字表达式x向绝对值大的方向取整 CEIL(x) 数字表达式x向正无穷的方向取整 FLOOR(x) 数字表达式x向负无穷的方向取整 NINT(x) 最接近数字表达式x的整数值RTOI(x) 返回数字表达式x的整数部分 位置/方向函数位置/方向函数用于根据不同输入变量计算有关位置或方向的参数。ADAMS/View中系统提供的位置/方向函数分类介绍如下。(1)位置函数 LOC_ALONG_LINE 返回两点连线上与第一点距离为指定值的点 LOC_CYLINDRICAL 将圆柱坐标系下坐标值转化为笛卡儿坐标系下坐标值LOC_FRAME_MIRROR 返回指定点关于指定坐标系下平面的对称点 LOC_GLOBAL 返回参考坐标系下的点在全局坐标系下的坐标值

adams常用函数

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 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) 3.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函数里面就可以获得与运动方向相反的作用力

ADAMS-STEP函数

在定义接触力时Normal Force有两个选项: 1、Restitution(Define a restitution-based contact); 2、Impact(Define an impact contact) 第二个选项就是利用IMPACT函数,它能方便地表达那种间歇碰撞力 (即达到某一位移值才激发的碰撞力)。 它的参数意义及力学基础: One-sided Impact (IMPACT) 1、理解:用只抗压缩的非线性的弹簧阻尼方法近似计算出单边碰撞力。 2、格式:IMPACT (Displacement Variable, Velocity Variable, Trigger for Displacement Variable, Stiffness Coefficient, Stiffness Force Exponent, Damping Coefficient, Damping Ramp-up Distance) 3、参数说明: 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 当碰撞力被激发阻尼逐渐增大的位移值。 4、Impact函数的力学基理: IMPACT函数值由自变量值决定其有无: IMPACT = Off if s > so On if s <=so IMPACT函数的数学计算公式为: MAX {0, K(so - s)**e - Cv *STEP (s, so- d, 1, so ,0)} 参数说明: s ——位移变量 v ——速度变量 so——碰撞力的激发位移值 K ——刚度系数 C ——阻尼系数 D——阻尼逐渐增大的位移值

ADAMS中的函数

ADAMS/View中系统提供的数学函数大致分类介绍如下。 (1)基本数学函数 ABS(x) 数字表达式x的绝对值 DIM(x1,x2) x1>x2时x1与x2之间的差值,x1<x2时返回0 EXP(x) 数字表达式x的指数值 LOG(x) 数字表达式x的自然对数值 LOG10(x) 数字表达式x的以10为底的对数值 MAG(x,y,z) 向量[x,y,z]求模 MOD(x1,x2) 数字表达式x1对另一个数字表达式x2取余数 RAND(x) 返回0到1之间的随机数 SIGN(x1,x2) 符号函数,当x2>0时返回ABS(x),当x2<0时返回-ABS(x) SQRT(x) 数字表达式x的平方根值 (2)三角函数 SIN(x) 数字表达式x的正弦值 SINH(x) 数字表达式x的双曲正弦值 COS(x) 数字表达式x的余弦值 COSH(x) 数字表达式x的双曲余弦值 TAN(x) 数字表达式x的正切值 TANH(x) 数字表达式x的双曲正切值 ASIN(x) 数字表达式x的反正弦值 ACOS(x) 数字表达式x的反余弦值 ATAN(x) 数字表达式x的反正切值 ATAN2(x1,x2) 两个数字表达式x1,x2的四象限反正切值

(3)取整函数 INT(x) 数字表达式x取整 AINT(x) 数字表达式x向绝对值小的方向取整 ANINT(x) 数字表达式x向绝对值大的方向取整 CEIL(x) 数字表达式x向正无穷的方向取整 FLOOR(x) 数字表达式x向负无穷的方向取整 NINT(x) 最接近数字表达式x的整数值 RTOI(x) 返回数字表达式x的整数部分 位置/方向函数位置/方向函数用于根据不同输入变量计算有关位置或方向的参数。ADAMS/View中系统提供的位置/方向函数分类介绍如下。 (1)位置函数 LOC_ALONG_LINE 返回两点连线上与第一点距离为指定值的点 LOC_CYLINDRICAL 将圆柱坐标系下坐标值转化为笛卡儿坐标系下坐标值 LOC_FRAME_MIRROR 返回指定点关于指定坐标系下平面的对称点 LOC_GLOBAL 返回参考坐标系下的点在全局坐标系下的坐标值 LOC_INLINE 将一个参考坐标系下的坐标值转化为另一参考坐标系下的坐标值并归一化 LOC_LOC 将一个参考坐标系下的坐标值转化为另一参考坐标系下的坐标值

ADAMS部分常用函数的说明

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, Derivati ve Order) 参数说明: First Independent Variable ——spline中的第一个自变量 Second Independent Variable(可选) ——spline中的第二自变量 Spline Name ——数据单元spline的名称 Derivative Order(可选) ——插值点的微分阶数,一般用0就可以了 例如: function = AKISPL(DX(marker_1, marker_2), 0, spline_1) spline_1用下表中的离散数据定义:

adams常见函数总结

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 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

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 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函数里面就可以获得与运动方向相反的作用力

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

adams函数

adams 函数 ADAMS/View 运行函数及ADAMS/Solver 函数 2008-04-18 04:54 3 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 轴的分量

adams初级设置教程

1、ADAMS中的单位的问题 开始的时候需要为模型设置单位。在所有的预置单位系统中,时间单位是秒,角度是度。可设置: MMKS--设置长度为千米,质量为千克,力为牛顿。 MKS—设置长度为米,质量为千克,力为牛顿。 CGS—设置长度为厘米,质量为克,力为达因。 IPS—设置长度为英寸,质量为斯勒格(slug),力为磅。 2、如何永久改变ADAMS的启动路径? 在ADAMS启动后,每次更改路径很费时,我们习惯将自己的文件存在某一文件夹下;事实上,在Adams的快捷方式上右击鼠标,选属性,再在起始位置上输入你想要得路径就可以了。 3、关于ADAMS的坐标系的问题。 当第一次启动ADAMs/View时,在窗口的左下角显示了一个三视坐标轴。该坐标轴为模型数据库的全局坐标系。缺省情况下,ADAMS/View用笛卡儿坐标系作为全局坐标系。ADAMS/View将全局坐标系固定在地面上。 当创建零件时,ADAMS/View给每个零件分配一个坐标系,也就是局部坐标系。零件的局部坐标系随着零件一起移动。局部坐标系可以方便地定义物体的位 置,ADAMS/View也可返回如零件的位置——零件局部坐标系相对于全局坐标系 的位移的仿真结果。局部坐标系使得对物体上的几何体和点的描述比较方便。物体坐标系不太容易理解。你可以自己建一个part,通过移动它的位置来体会。 4、关于物体的位置和方向的修改 可以有两种途径修改物体的位置和方向,一种是修改物体的局部坐标系的位置,也就是通过MODIFY物体的position属性;令一种方法就是修改物体在局部坐标系中的位置,可以通过修改控制物体的关键点来实现。我感觉这两种方法的结果是不同的,但是对于仿真过程来说,物体的位置就是质心的位置,所以对于仿真是一样的。

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—返回一阶偏导。 *2—返回二阶偏导。 Comp —定义CURVE 函数中分量的整数变量。其合法值为: *1—返回x 坐标值或者其导数值。 *2—返回y 坐标值或者其导数值。 *3—返回z 坐标值或者其导数值。 自变量iord 和icomp 组合在一起可以让你获得下面九个值的任何一个: Id —定义CURVE 中标志符的整数变量。

ADAMS实用笔记

hiADAMS/View 和ADAMS/Car的基础操作和心得 1、如何永久改变ADAMS的启动路径? 在ADAMS启动后,每次更改路径很费时,我们习惯将自己的文件存在某一文件夹下;事实上,在Adams的快捷方式上右击鼠标,选属性,再在起始位置上输入你想要得路径就可以了。 2、如何将回放过程保存为AVI格式的电影文件,以便在其他场合使用? 点击plotting(或F8)进入postprocessor ,右键--load ANIMATION,点击"play"开始仿真,点击"record"开始录制动画。3、a/car Template Builder.为什么我看不见这个菜单选项?? 答:需要改一下的!在你的系统盘下去面。例如我的C:\Documents and Settings\rickytang(rickytang为我的用户名)下面有一个.acar文件,用记事本打开,然后将 ! Desired user mode (standard/expert) ENVIRONMENT MDI_ACAR_USERMODE standard 改为:! Desired user mode (standard/expert) ENVIRONMENT MDI_ACAR_USERMODE expert 再启动car就可以看见选项了! 进入car后按F9或者在tools下面选第一项就可以在模板与标准界面之间切换! 4、关于communicator communicator的出现是由于car是分块建模(子系统)为基础,

而communicator告诉ADAMS软件子系统之间如何连接,所以communicator的名字要完全一样才行,而且对于某一特定的子系统而言,有多少与外部系统、testrig的连接就需要有多少个communicator。 suspension parameter代表悬架特性反映,可参考公用模板中_trailing_arm.tpl和_multi_link.tpl。communicator表示数据传递的。纵臂、螺旋弹簧、减震器有一端是外部连接,需要建立mount,然后会自动产生输入communicator. 输出communicator一般有以下8个:(它主要是把数据传递给轮胎的) co[lr]_camber_angle co[lr]_suspension_mount co[lr]_suspension_upright co[lr]_toe_angle co[lr]_tripot_to_differential co[lr]_wheel_center cos_driveline_active cos_suspension_parameters_ARRAY 可参考公用模板中的悬架模型来建立。 5、test-rig是做什么用的?? CAR中共有两种试验台(TEST_RIG),一种是

Adams 归纳与总结

一、ADAMS/View二进制数据库bin文件以“.bin”为文件名后缀,文件中记录了从ADAMS启动后到存储为bin文件时的全部信息-包含模型的完整拓扑结构信息、模型仿真信息以及后处理信息。可以包含多个模型、多个分析工况和结果。可以保存ADAMS/View的各种设置信息。文件为二进制不能阅读、编辑,只能通过ADAMS/View调阅,由于信息全面一般文件都比较大。 ADAMS/View命令cmd文件以“ .cmd”为文件名后缀,是由ADAMS/View命令编写的模型文件,可以包含模型的完整拓扑结构信息(包括所有几何信息)、模型仿真信息,为文本文件,可读性强,可以进行编程,是ADAMS的二次开发语言,不包含ADAMS/View的环境设置信息,不包含仿真结果信息,只能包含单个模型。 ADAMS/Solver模型语言(ADAMS Data Language)adm文件,以“.adm”为文件名后缀,文件中包含模型中拓扑结构信息,但有些几何形体如 link等不能保留。ADAMS/View的环境设置不能保留。ADAMS/Solver可以读取adm文件,与ADAMS/Solver仿真控制语言acf文件配合可以直接利用ADAMS/Solver进行求解。 ADAMS/Solver仿真控制语言acf文件,以“.acf”为文件名后缀,文件中可以包含ADAMS/Solver命令对模型进行修改和控制的命令,从而控制仿真的进行。 ADAMS/Solver将仿真分析结果中用户定义的输出变量输出到req文件,以 “.req”为文件名后缀;ADAMS/Solver将仿真分析结果中将模型的缺省输出变量输出到res文件,以“.res”为文件名后缀;ADAMS/Solver将仿真分析结果中图形部分结果输出到gra文件,以“.gra”为文件名后缀。ADAMS/Solver将仿真分析结果中用户定义的输出变量以列表的形式输出到out文件,以“.out”为文件名后缀。ADAMS/Solver将仿真过程中的警告信息、错误信息输出到msg

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, Derivati ve Order) 参数说明: First Independent Variable ——spline中的第一个自变量 Second Independent Variable(可选) ——spline中的第二自变量 Spline Name ——数据单元spline的名称 Derivative Order(可选) ——插值点的微分阶数,一般用0就可以了 例如: function = AKISPL(DX(marker_1, marker_2), 0, spline_1) spline_1用下表中的离散数据定义:

adams个别问题总结

Adams个别问题总结 1、如何永久改变ADAMS的启动路径 在ADAMS启动后,每次更改路径很费时,我们习惯将自己的文件存在某一文件夹下;事实上,在Adams的快捷方式上右击鼠标,选属性,再在起始位置上输入你想要得路径就可以了。 2、ADAMS中的单位的问题 开始的时候需要为模型设置单位。在所有的预置单位系统中,时间单位是秒,角度是度。可设置: MMKS--设置长度为千米,质量为千克,力为牛顿。 MKS—设置长度为米,质量为千克,力为牛顿。 CGS—设置长度为厘米,质量为克,力为达因。 IPS—设置长度为英寸,质量为斯勒格(slug),力为磅。 在模型运行的过程中也可以改变单位系统的设定。还可以在文本框中使用自己的单位,比如默认的角度单位度时可以使用R表示弧度。我感觉在ADAMS 内部好像是把所有的带单位的输入量都转换成统一的单位了。 3、关于ADAMS的坐标系的问题。 当第一次启动ADAMs/View时,在窗口的左下角显示了一个三视坐标轴。该坐标轴为模型数据库的全局坐标系。缺省情况下,ADAMS/View用笛卡儿坐标系作为全局坐标系。ADAMS/View将全局坐标系固定在地面上。 当创建零件时,ADAMS/View给每个零件分配一个坐标系,也就是局部坐标系。零件的局部坐标系随着零件一起移动。局部坐标系可以方便地定义物体的位置,ADAMS/View也可返回如零件的位置——零件局部坐标系相对于全局坐标系的位移的仿真结果。局部坐标系使得对物体上的几何体和点的描述比较方便。物 体坐标系不太容易理解。你可以自己建一个part,通过移动它的位置来体会。4、关于物体的位置和方向的修改 可以有两种途径修改物体的位置和方向,一种是修改物体的局部坐标系的位置,也就是通过modify物体的position属性;令一种方法就是修改物体在局部坐标系中的位置,可以通过修改控制物体的关键点来实现。我感觉这两种方法的结果是不同的,但是对于仿真过程来说,物体的位置就是质心的位置,所以对于仿真是一样的。 5、关于ADAMS中方向的描述。 对于初学的人来说,方向的描述不太容易理解。之前我们都是用方向余弦之类的量来描述方向的。在ADAMS中,为了求解方程是计算的方便,使用欧拉角来描述方向。就是用绕坐标轴转过的角度来定义。旋转的旋转轴可以自己定义,默认使用313,也就是先绕z轴,再绕x轴,再绕z轴。 6、Marker点与Pointer点区别

ADAMS中step函数的用法

step函数的两种表示方法 相信大家对step的用法已经是相当的熟练了,在这里我只是想把自己对step的理解总结一下,希望能对大家有所帮助。 首先简要介绍下step的形式及其各个参数的物理含义: 格式:STEP(x,x0,h0,x1,h1) 参数说明: x―自变量,可以是时间或时间的任一函数 x0―自变量的STEP函数开始值,可以是常数或函数表达式或设计变量; x1―自变量的STEP函数结束值,可以是常数、函数表达式或设计变量 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)+ …… 我常用的是后者,下面就举例(附件请参考step.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)

ADAMS软件中IMPACT函数参数的确定(精)

3.3.3 ADAMS 软件中IMPACT 函数参数的确定 (1) 碰撞函数中的非线性弹簧参数的确定 在使用ADAMS 碰撞函数中,确定碰撞力大小n F 主要由等效刚度k 以及幂指数q 两个参数确定。为了合理的确定等效刚度以及幂指数,通常使用Hertz 弹性碰撞模型来计算出正确的k 与q 。Hertz 弹性碰撞模型如下: 图3-3 弹性碰撞示意图 如图3-3所示,设某一半径为R 的圆球体A 以速度v 飞向平面B ,则该过程 分为以下三个主要过程: 当碰撞发生时,物体A 与物体B 之间有力的作用,其中在碰撞时因为碰撞产生了弹性力n F 同时物体A 也发生了一定的变形δ,Hertz 模型指出n F 与δ满足如下关系: 1 23 2916n F ER δ??= ? ?? (3-14) 其中: 12111R R R =+(R1,R2分别为碰撞点处两物体的曲率半径) 2 2 1212 (1)(1)1E E E μμ--=+(E1,E2分别为两物体的材料弹性模量, 1μ , 2μ分别为两物体的材料泊松比) 由式(3-14)我们可知 2 3 216*9n RE F δ??= ??? (3-15) 故而可以确定 2169RE k ??= ??? (2) 碰撞函数中的阻尼参数max c 的确定 v B ' B (a )碰撞前 (c )碰撞后 (b )碰撞

式(3-12)可以写成 n n F k D δδ =+ (3-16) 其中D 为该式中的阻尼参数,δ 为两物体接触时的相对移动速度。Hund 与 Grossley [83]曾提出确定D 的方法: n D μδ= (3-17) 在式(3-17)中μ被称为滞后阻尼因子。在碰撞非线性弹簧阻尼模型中,碰撞过程会导致能量的损失,这是由碰撞的阻尼项造成的。图3-4表示在碰撞过程中碰撞 力的变化: 在该图中()t -表示开始碰撞前的那一时刻, ()m t 表示碰撞达到最大穿透量的那一时刻,()t +表示开始碰撞结束后两物体分离的那一时刻。在式(3-17)中阻尼系数D 或 滞后阻尼因子μ需要确定。应用经典的冲量定理与能量守恒原理可以确定以上两个变量。 根据能量守恒定理可知在碰撞前与碰撞后两物体的动能损失可以用恢复系 数e 与两物体间的相对速度()δ - 来表示 其中()()()i j V V δ---=- (()i V -表示物体i 碰撞接触前的速度,()j V - 表示物体j 碰撞接触前的速度) 图3-4 碰撞力的变化

相关文档
最新文档