1. 课程导入与多体系统建模总览

多体动力学接触碰撞仿真,研究的是由多个刚体或柔性体通过运动副、力元连接而成的机械系统,在运动过程中发生接触、分离、摩擦与碰撞时的动力学响应。它与普通多体动力学最大的区别在于:系统拓扑会随接触状态改变,约束从"始终成立"变成"时有时无",力从光滑函数变成强非线性甚至不连续的函数。正因如此,接触碰撞问题往往同时带来求解器刚性、积分步长骤减、能量不守恒、穿透与抖动等一系列工程难题。

从工程意义看,这类仿真回答的是"能不能用、会不会坏、坏在哪里"三个问题。例如:汽车变速箱换挡拨叉与齿套的啮入冲击是否会造成齿面点蚀;卫星太阳翼在展开锁定瞬间的冲击载荷是否超过铰链许用值;工业机器人末端执行器抓取工件时的接触力峰值是否导致工件划伤;高铁受电弓与接触网的离线电弧是否由弓网接触力波动引起。这些问题若只靠样机试验,成本高、周期长、工况覆盖有限;而接触碰撞仿真可以在设计阶段反复扫描参数,把"看不见的接触力"变成可读的曲线与云图。

典型场景可以按"接触类型"和"系统规模"两个维度归类。按接触类型分:面—面持续接触(如齿轮啮合、凸轮挺柱)、点—面瞬时碰撞(如落锤、弹丸侵彻)、自接触与折叠(如安全气囊展开、柔性薄膜收拢)、含摩擦的黏滑接触(如制动器啸叫、密封件爬行)。按系统规模分:少自由度机构(如四杆机构间隙碰撞)、整车/整机级多体系统(如悬架—转向—车身耦合)、以及刚柔耦合系统(如机械臂带柔性关节抓取)。不同场景对建模精度的要求差异很大:判断"是否接触"用几何检测即可,判断"接触力多大"必须引入接触刚度与阻尼,判断"是否磨损"还要叠加摩擦功与接触应力。

学习路线建议按"三层递进"组织。第一层是运动学与动力学基础:广义坐标选取、约束方程、拉格朗日方程与DAE指标问题,理解为什么多体系统会得到微分—代数混合方程。第二层是接触力学与数值方法:法向接触模型(罚函数、拉格朗日乘子、增广拉格朗日)、切向摩擦模型(库仑、LuGre)、接触检测算法(包围盒、GJK、离散/连续检测),以及显式与隐式积分器在接触问题上的取舍。第三层是工程建模与验证:几何清理与简化、材料与接触参数标定、求解器设置、结果判读与试验对标。三层之间不是割裂的,实际项目中往往边建模边补理论。

软件工具链方面,常见组合是"CAD建模—前处理—求解器—后处理"四段式。CAD侧用SolidWorks、CATIA、NX完成几何与装配;前处理可用HyperMesh、ANSA或求解器自带界面划分网格、定义接触对;求解器分两类:多体专用求解器如Adams、RecurDyn、Simpack擅长机构运动与接触,通用结构求解器如Abaqus/Explicit、LS-DYNA、Ansys擅长强非线性碰撞与侵彻;后处理用HyperView、ParaView或求解器自带模块提取接触力、穿透量、能量曲线。选择工具时先看问题类型:以机构运动为主、接触局部且需要长时间仿真,优先多体求解器;以碰撞、大变形、材料失效为主,优先显式有限元。

多体动力学接触碰撞仿真:工具链与建模要素总览 ① CAD 几何建模 SolidWorks / CATIA / NX ② 前处理 HyperMesh / ANSA / 自带界面 ③ 求解器 Adams / RecurDyn / Abaqus ④ 后处理 HyperView / ParaView 建模核心要素(决定仿真成败) 几何与拓扑 简化倒角/小孔 定义接触对 接触模型 法向:罚/乘子 切向:库仑摩擦 积分与求解 显式/隐式选择 步长与容差 参数标定 刚度/阻尼/摩擦 试验对标 结果判读 接触力/穿透 能量曲线 三层递进学习路线 第一层:动力学基础 广义坐标 · 约束方程 拉格朗日方程 · DAE指标 理解微分—代数混合方程 第二层:接触与数值方法 法向/切向接触模型 接触检测:包围盒/GJK 显式与隐式积分取舍 第三层:工程建模与验证 几何清理 · 参数标定 求解器设置 · 结果判读 试验对标 · 迭代修正

把上述工具链和建模要素落到一个具体例子上,可以更直观地理解各环节的输入输出。以"含间隙曲柄滑块机构"为例:曲柄长50 mm、连杆长150 mm、滑块质量0.5 kg,曲柄以600 r/min匀速转动,曲柄与连杆之间、连杆与滑块之间各存在0.1 mm径向间隙。建模时,先在CAD中建立三个构件并装配,导出为STEP;前处理阶段对销轴与轴套的接触面做局部网格加密,定义两个"圆柱—圆柱"接触对,法向采用罚函数,刚度取1×10⁶ N/mm,阻尼取刚度的1%,切向摩擦系数取0.1;求解器选用多体专用求解器,积分器用变步长隐式格式,初始步长1×10⁻⁴ s,最大步长1×10⁻³ s,容差1×10⁻⁶。仿真结束后,重点观察三个量:滑块加速度频谱中是否出现由间隙碰撞激发的高频成分、接触力时程是否出现尖峰、系统机械能是否在碰撞瞬间出现阶跃下降。若接触力峰值随步长减小而持续增大,说明步长仍偏大,需要进一步减小最大步长或改用显式积分;若能量曲线在无接触阶段持续漂移,则要检查约束违约修正是否开启。

初学者最容易犯的错误,是把接触碰撞仿真当成"普通多体仿真加一个接触力"来做。实际上,接触一旦引入,系统的自由度、约束拓扑和刚度矩阵都会随状态跳变,求解器必须能处理这种不连续。因此,先判断问题属于"持续接触"还是"瞬时碰撞",再决定用隐式还是显式、用多体求解器还是显式有限元,比急着调参数更重要。