你知道多体动力学里的违约修正吗?
近年来, 多体系统动力学的研究越来越受到重视。 一方面由于多体系统动力学在机械、车辆、机器人、航空航天等工程领域占有重要的地位, 是先进制造技术和虚拟现实的研究基础。 另一方面其推动多学科间的相互渗透, 促进了学科融合。 经过多年的发展, 多体系统动力学的研究体系已经形成。 作为主要研究内容之一的建模问题已经基本得到解决, 出现了多种模型的数值求解算法多体系统建模是指将实际系统抽象成由刚体、柔性体组成的多体系统, 并对系统各种物理量间的关系进行分析和描述, 然后利用相关的数学、力学理论和方法建立系统的动力学方程的过程约束多体系统动力学方程又称 Euler-Lagrange方程 ,是微分代数方程(Differential Algebraic Equations,DAEs), 一般是通过对约束方程求导将其转化成常微分方程组(Ordinary Different Equations,ODEs)进行数值计算。数值求解过程如下
然而由于计算误差, 状态变量不再满足约束方程 , 即违约问题就会存在 在多体系统的建模过程中, 约束方程实质上是对某些联结机构所做的数学抽象, 在抽象过程中,约束力的产生机制往往被忽略。 对于一些能得到解析解的系统, 这种做法并无不妥之处, 然而严格按照这种方法建立的计算模型, 将使数值解不可避免地存在违约现象。究其原因在于加速度级的约束方程和原来的约束条件并不完全等价, 从而产生误差。因此, 数值计算过程需要进行修正才能满足精度要求具有理想 、定常 、完整约束的多体系统。设约束方程为
1984 年 , Baumgarte提出了一种违约修正方法, 约束方程稳定化后
自Baumgarte 提出的约束违约修正方法开始, 违约修正算法已被广泛的研究。 概括起来, 这些算法可以分为 2 类: 第一类方法是间接修正法,从改善模型入手, 在模型中加入了一些控制项来提高算法的稳定性和违约修正; 第二类方法是直接修正法, 在每一步积分过程中, 求解修正值直接进行修正, 来保持数值计算过程的精度。 间接修正方法从改善模型入手, 在模型中加入了一些控制项来提高算法的稳定性和精度。Baumgarte 约束修正算法是其中比较典型, 也是应用最广泛的一种修正方法。 算法中引入了控制论的思想, 在动力学方程中加入了修正项, 通过对速度和位置的间接校正达到违约校正的目的。 在动力学方程中, 引入修正参数α和β 使定常完整约束多体系统动力学方程一般可表示为
为指标为3的微分代数方程组,在实际数值计算中,通常将其转化为2阶微分方程组:
由于数值截断误差不可避免,使得d2Φ≠0,从而,导致积分dΦ≠0以及积分 Φ≠0,即产生了速度约束违约与位移约束违约.为了减小约束违约对系统的影响,Baumgarte提出了约束违约稳 定 法(Baumgarte’s constraint violation Stabilization Methods,BSM)该方法利用反馈控制理论,将位移约束和速度约束引入加速度约束方程,通过约束修正得到稳定化的动力学方程
α和β 为反馈控制参数
以四连杆为例进行说明
参考文献:
庄晔. 汽车多体动力学(吉林大学校内讲义).2013
刘颖,马建敏.多体系统动力学方程的反馈参数自适应约束违约稳定法.复旦学报.2012.51(4)
付士慧,王琪.多体系统动力学方程违约修正的数值计算方法.计算力学学报.2007,24(1).
页:
[1]