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提供多种方法使模型达到平衡状态,为后续的精确分析打下基础。