基于多接触约束的动力学仿真计算效率
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第46卷第7期2010年4月
机械工程学报
JOURNAL OF MECHANICAL ENGINEERING
Vol.46 No.7
Apr. 2010
DOI:10.3901/JME.2010.07.108
基于多接触约束的动力学仿真计算效率*
石明全张鹏范树迁刘强
(电子科技大学机械电子工程学院成都 610054)
摘要:在进行基于虚拟样机技术的机械系统动力学分析时,如果系统包含多接触约束,计算效率往往低下,甚至导致模型求解失败,本质原因之一是当前非实际接触约束仍然要参与当前迭代计算,使求解模型的雅可比矩阵的规模比实际求解需要的规模大得多,从而可能引起该矩阵的条件数增大,使求解效率降低。基于此,针对多接触动力学系统计算效率问题,通过分析求解模型中雅可比矩阵构成的本质,提出采用消隐或激活接触约束的方法对雅可比矩阵降维,从而降低当前迭代步的解算规模,达到提高仿真效率的目的。仿真试验结果表明,消隐或激活接触约束的方法在不损失仿真精度的基础上,大大减少了多接触动力学模型的求解时间,提高了求解效率。
关键词:动力学仿真多接触约束仿真效率
中图分类号:TP391 TH113
Computational Efficiency for Dynamics Simulation
Based on Multi-contact Mechanical System
SHI Mingquan ZHANG Peng FAN Shuqian LIU Qiang
(School of Mechatronic Engineering, University of Electronic
Science and Technology of China, Chengdu 610054)
Abstract:Dynamic simulation based on virtual prototype technology is an important issue in functional design of production development and innovation. However, dynamic simulation of a multi-contact mechanical system may be unavailable due to its inefficient and instable computational model. Generally, the higher dimension of the Jacobian matrix is, the bigger condition number will be, which makes the solving more inefficient. Contact constraints are always pre-defined in modelling, but some of them don’t work at current iteration step of solving. The Jacobian matrix of the solving model, which includes the constraint definitions, maintains its dimension even if some of the contacts don’t occur. That is to say the complexity of computation is the same at every iteration step. To improve efficiency, the intrinsic properties of the Jacobian matrix for the solving model are analyzed. A contact constraint deactivation or activation method is proposed to reduce the dimension of Jacobian matrix when iterating. Meanwhile, the conditions for robust dimension reduction are given, as well as its algorithm. The experiment reveals that the given method can improve computational efficiency greatly without losing solving precision for dynamics simulation.
Key words:Dynamics modelling Multi-contact constraint Simulation efficiency
0 前言
基于虚拟样机技术的动力学建模和仿真计算效率及稳定性已经成为直接影响机械产品仿真设计的核心难题之一[1-2]。研究表明,当具有多接触约
* 教育部博士学科点专项科研基金资助项目(20070614022, 200806141063)。20090511收到初稿,20091228收到修改稿束的机械系统在进行动力学仿真分析时,往往存在着明显的计算效率低下现象,尤其是在分析模型比较庞大的时候甚至会导致求解失败[3-4]。方喜峰等[5]利用空间算子代数理论描述多体系统,可以消除动力学建模的复杂性,减少计算量。蒲明辉等[6]通过对多接触约束动力学系统进行研究,认为当两物体的接触达到稳态时,可用等效力来近似代替接触约束,减少仿真计算时间。石明全[7-8]对该类问题进行
2010年4月 石明全等:基于多接触约束的动力学仿真计算效率
109
虚拟样机仿真时,提出采用分段仿真的方法来维护计算的稳定性并验证了其效果。
就动力学建模本质来说,多接触约束机械系统的虚拟样机模型最终体现为一组微分—代数方程,即动力学方程组。仿真计算的实质就是动力学方程组的求解,通常采用数值迭代法。动力学方程组系数矩阵(求解模型中的雅可比矩阵的主要构成部分之一)的维度直接关系到其求解效率。求解过程中,运算矩阵维度越高,矩阵的条件数往往越大,求解收敛速度就会越慢。因此,仿真计算效率与动力学方程组系数矩阵的性质直接相关。
在虚拟样机建模时,一旦定义了某个接触约束,则该约束的信息在整个求解过程中总是包含在雅可比矩阵中,不管当前迭代时刻该接触约束是否真正产生实际接触,即一旦模型建立完成,运算矩阵的维度在求解过程中总是维持不变。
由此,针对含多接触约束的系统,本文提出消隐或激活接触约束的方法来减少运算矩阵的维度,从而提高求解效率:当定义了接触约束的两物体在当前时刻没有发生实际接触时,消隐它们之间的接触约束,使其约束信息不包含在运算矩阵中;反之激活它们之间的接触约束。由于消隐或激活接触约束将引起求解过程中系统的构型(拓扑)突变,本质上又带来变拓扑动力学的稳定性问题,需要保证接触约束的消隐和激活不引起系统的不稳定。因此,为了达到本文所述的目的,还给出了矩阵稳定降维的条件和相应算法。
根据这一思路,通过研究矩阵的降维本质及其相关问题,并在ADAMS 平台上进行仿真试验,验证了通过激活和消隐约束的方法可以在不损失仿真精度前提下有效提高仿真效率。
1 动力学方程组的求解模型
1.1 多接触约束的动力学系统方程组及求解模型
描述多接触约束的动力学系统的非线性方程
组可表示为
(),t −⎧⎪⎨⎪⎩mq =Q φλφq =0 (1) 式中,m 为广义质量矩阵,q 为广义坐标矩阵,Q
为广义力矩阵,φ为约束矩阵,λ为拉格朗日乘子
列阵。求解该动力学方程组时,通常将接触力并入
广义力矩阵Q 中求解。
对于伴随大位移运动的动力学系统求解问题,
系统的特征值变化范围很大,即系统所谓的“刚性”
很突出。对于此类问题,较理想的数值算法是吉尔预估—校正法。
求解时,式(1)一般变换为
(,,,,)(,)(,)t t =⎧⎪
=−=⎨⎪=⎩
F q u u
λ0G u q u q 0φq 0 (2) 结合修正的牛顿—拉普森迭代,动力学方程组式(2)单步迭代形式最终可以写为
Δ−⎛⎞⎛⎞⎜⎟⎜⎟
Δ=−⎜⎟⎜⎟⎜⎟⎜⎟Δ−⎝⎠⎝⎠
q F J u G λφ (3) 式中,系数矩阵 T
001(/)1/h h ββ⎛
⎞⎛⎞⎛⎞∂∂∂∂−∂∂∂⎜⎟⎜⎟⎜⎟⎜⎟⎜⎟⎝⎠⎝⎠
⎜
⎟⎛⎞⎜⎟=⎜⎟⎜⎟⎝⎠⎜⎟⎜⎟∂∂⎝
⎠
F q F u F u φq J I
I 0φq 00 即为系统的雅可比矩阵,∂∂F q 为刚度矩阵,
/∂∂F u 为阻尼矩阵,∂F u
称为质量矩阵,0β为积分控制系数,h 表示迭代步长。
可见,求解过程就是对雅可比矩阵的分解过程
的重复,雅可比矩阵的维度直接影响到求解的 效率。
1.2 雅可比矩阵分析
在进行动力学方程的数值求解前,接触约束是预先定义或指定的,即约束矩阵φ为常维度。因此,雅可比矩阵J 的维度不仅与接触约束的数量密切相关,且对于某个具体的动力学系统而言为常数。对于多接触约束的动力学问题,存在大量定义了接触约束关系但在当前迭代时刻实际上没有发生接触
的接触约束。例如,在链传动系统中,通常每个链节和链轮之间都需要定义接触约束,但是,在某一
特定时刻,大部分预先定义的接触约束都不发生实
际接触。但是,作为已经被定义的常约束,这些当
前不起作用的接触约束已写入约束矩阵,对雅可比
矩阵的维数仍然有贡献,可能使得雅可比矩阵的维数和条件数不必要地增加,从而降低了方程组的求
解效率。 因此,如果尽量消隐系统中不参与当前时刻接触的约束,即约束矩阵φ只考虑当前时刻实际参与接触的接触约束,将可能使得约束矩阵的维度急剧下降并降低雅可比矩阵的条件数,从而提高迭代计算的效率。