在多体动力学模型仿真之前,一般需要把模型设置为平衡状态,原因主要有:
如果模型不是平衡状态,仿真开始后受到重力作用,模型中的部件会发生明显的波动,使仿真前几秒甚至更长时间的数据振荡比较大,不是真实的数据,没有价值;
非平衡状态的模型产生非常大的振荡会使求解器解算困难,甚至产生报错,仿真停止;
实际物理模型是平衡状态的(一直受重力作用),非平衡状态的仿真模型不符合实际的物理模型状态。
基于上述原因,需要在多体动力学模型的时域分析之前把模型处于平衡状态。注意:多体仿真模型进行频域分析之前也需要进行平衡分析,因为频域分析是在平衡位置上进行线性化。
Simpack作为专家级多体动力学仿真分析软件,提供多种分析方法使模型达到平衡状态。下面以示例模型为例,介绍具体方法。
1.静平衡分析
多体动力学平衡分析最常用的方法是静平衡分析,Simpack同样提供静平衡分析方法。
在平台模型中,一个刚体部件四个角使用弹簧安装在地面上,同时受到一个力的作用使该部件受力不平衡。
在此原始状态下进行时域分析,如下图所示。
点击在线平衡分析按钮
,进行静平衡分析,得到静平衡分析结果,如下图所示。
可以看到当前模型状态的最大残余加速度值非常小。如果Maximum residuum in equilibrium参数的数值比较大(有明显的加速度),说明模型没有处于平衡状态,需要继续分析。
点击“Copy computedequilibrium states to model”按钮把计算后的状态复制到当前模型中,这样模型就处于平衡状态。
如果使模型在原始状态和平衡状态相互切换,最好的办法是使用状态集。点击状态集按钮
,这样就把当前模型的状态保存到这个新建的状态集中。
创建两个状态集,分别保存模型的初始状态和平衡后的状态。这样,该平台模型就可以在原始不平衡状态和平衡状态之间实现快速相互切换。
2.预载荷(Preload)分析
观察部件的位置可以发现通过静平衡分析后模型中的部件位置相比原始位置有了明显的变化,这在某些仿真工况中存在一定的问题。
比如,建立汽车(或者机车)仿真模型,其部件位置是基于实际物理样机的部件位置进行建模的,实际物理样机的部件位置已经是平衡状态。仿真模型中的部件初始位置和实际物理样机部件位置相同,但进行平衡分析后,模型中的部件发生位移,和实际部件位置之间产生一定的位置偏差,导致仿真模型与实际不符。
为了解决这个问题,可以使用Simpack预载荷(Preload)分析功能。预载荷分析是通过修改力元的名义力,使其和部件的重力平衡达到平衡状态。下面是预载荷分析和平衡分析之间的对比。
把这个平台模型恢复到初始非平衡状态,点击预载荷分析按钮
,并在Preload对话框中设置需要计算力元的哪些方向数值(本例是全部方向),并点击Perform Preload calculation按钮进行计算,计算后的结果为下图所示,可以看出四个弹簧力元的6分量力都有了名义力。
关闭该对话框,并在模型中打开一个力元的属性对话框,发现计算后的力数值已经赋予到力元中。
对模型进行在线时域分析,发现部件没有产生运动。
如果要把预载荷分析后的模型恢复为原始状态,可以点击Preload对话框中的Set Solver Preloads to zero按钮即可实现。
3.高级静平衡分析
上述的静平衡分析和预载荷对于一般的模型都能处理,但是对于一些复杂模型或者含有接触的模型,那么这两种方法就不一定能使模型达到静平衡状态。
例如,三个小球与漏斗部件接触且小球之间也相互接触,在重力作用下下落,相互之间产生接触碰撞。
为这个模型中没有可计算名义力的力元,所以不能使用预载荷分析。对这个模型进行静平衡分析,得到的残余加速度为9.81,即重力加速度,说明模型没有处于平衡状态。那么,如何解决呢?
打开求解器对话框,在Equilibrium类别中发现静平衡使用的求解器方法是Newton法,该方法通过力学计算得到静平衡的解。
修改Method选项为Time integration,该方法使用时域积分进行平衡分析。根据模型的实际情况,修改仿真时间和输出步长值。本模型中采用默认数值即可。保存设置并关闭求解器对话框。
在模型中,点击在线静平衡分析对话框进行静平衡计算,计算时间相比Newton法明显变长,得到的仿真结果如下,说明模型已经基本处于平衡状态。
得到平衡状态下的模型如图所示。
4.终极大招
如果上述的方法都不能使模型达到平衡状态,那么还有终极大招,可用于一切模型,即:使用时域积分方法对模型进行仿真分析,把仿真结束时的最终状态导入到模型中,使模型达到或接近平衡状态。注意:模型要去掉所有的激励和驱动。
还以小球接触这个模型为例,设置时域仿真时间为30s,采样频率为200Hz,进行离线时域分析。仿真完成后,在output文件夹中会生成.spckst格式文件,该文件保存仿真结束时的模型状态。
在模型前处理中,新建两个状态集,其中一个为$ST_Origin表示原始状态,另一个为$ST_Equi用于保存得到的平衡状态。选择$ST_Equi点击右键选择Import States命令,并选择output文件夹中生成的.spckst格式文件导入。
把该状态集应用到模型,当前模型的显示如下图所示,进行在线时域分析发现模型已经处于平衡状态。
总结,在进行多体动力学分析之前,通常要把模型处于平衡状态,Simpack提供多种方法使模型达到平衡状态,为后续的精确分析打下基础。
-
平衡
+关注
关注
0文章
20浏览量
14488 -
动力学
+关注
关注
0文章
105浏览量
16969
发布评论请先 登录
相关推荐
评论