基于拉格朗日乘数法的接触分析
理论与物理
拉格朗日乘数法是什么
老师,拉格朗日乘数法和罚函数法有什么区别?
罚函数法是“用弹簧将穿透推回”(允许微小穿透)。拉格朗日乘数法严格满足约束条件(将穿透完全降为零)。
引入额外的未知数(拉格朗日乘数 $\lambda$)。$\lambda$ 就是接触压力本身。
穿透完全为零…比罚函数法更精确呢。
穿透精度高,但额外的自由度(拉格朗日乘数)使联立方程规模增大,计算成本增加。此外矩阵包含零对角元可能导致条件数恶化。
罚函数法 vs. 拉格朗日乘数法
| 特性 | 罚函数法 | 拉格朗日乘数法 |
|---|---|---|
| 穿透 | 微小但不为零 | 完全为零 |
| 额外自由度 | 无 | 拉格朗日乘数($\lambda$) |
| 条件数 | 因罚刚度而恶化 | 因零对角元而恶化 |
| 参数依赖 | 依赖 $k_p$ | 无参数 |
| 计算成本 | 低 | 高 |
| 与显式算法的兼容性 | 好 | 差(仅限隐式算法) |
精度高但成本也高。
Abaqus中的KINEMATIC选项相当于拉格朗日乘数法。接触面不滑动且“咬入”为零。适用于精密的螺栓紧固或压力容器的接触分析。
总结
要点:
- 穿透完全为零 — 比罚函数法更严格
- 需要额外自由度(拉格朗日乘数) — 计算成本增加
- Abaqus KINEMATIC — 拉格朗日乘数法
- 适用于精密接触(螺栓紧固、压力容器)
- 不能用于显式算法 — 仅限隐式算法
拉格朗日的解析力学 1788年
约瑟夫-路易·拉格朗日在1788年出版的《分析力学》中,系统化地阐述了使用乘数(后来被称为拉格朗日乘数)将约束条件纳入变分原理的方法。这个数学框架应用于接触问题花费了大约180年,直到1970年代,B.M. Irons等人在伽辽金弱形式中为接触约束引入乘数,才完成了精确满足非穿透条件的有限元法公式化。
各项的物理意义
- 惯性项(质量项):$\rho \ddot{u}$,即“质量×加速度”。您是否有过急刹车时身体向前冲的经验?那种“被带走的感觉”正是惯性力。物体越重越难启动,一旦启动也越难停止。地震时建筑物摇晃,也是因为地面突然移动而建筑物的质量“被落下”。静力分析中此项设为零,这是“缓慢施力故加速度可忽略”的假设。冲击载荷或振动问题中绝对不能省略。
- 刚度项(弹性恢复力):$Ku$ 和 $\nabla \cdot \sigma$。拉伸弹簧时能感觉到“想要恢复的力”吧?那就是胡克定律 $F=kx$,也是刚度项的本质。那么提问——用相同的力拉伸铁棒和橡皮筋,哪个伸长更多?当然是橡皮筋。这种“不易伸长性”就是杨氏模量 $E$,它决定了刚度。常见的误解:“刚度高=强度高”是不对的。刚度是“不易变形性”,强度是“不易破坏性”,是不同的概念。
- 外力项(载荷项):体积力 $f_b$(重力等)和表面力 $f_s$(压力、接触力等)。可以这样想——桥上卡车的重量是“作用在整个内部上的力”(体积力),轮胎压路面的力是“只作用在表面上的力”(表面力)。风压、水压、螺栓紧固力…全都是外力。这里容易犯的错误:弄错载荷方向。本想“拉伸”却成了“压缩”——听起来像笑话,但在三维空间坐标系旋转时确实会发生。
- 阻尼项:瑞利阻尼 $C\dot{u} = (\alpha M + \beta K)\dot{u}$。试着弹一下吉他弦。声音会一直持续吗?不,会逐渐变小。这是因为振动能量通过空气阻力或弦的内部摩擦转化为热能。汽车的减震器也是同样原理——特意吸收振动能量以提高乘坐舒适性。如果阻尼为零会怎样?建筑物在地震后会一直摇晃不停。实际上不会这样,因此设定适当的阻尼很重要。
假设条件与适用范围
量纲分析与单位制
| 变量 | SI单位 | 注意事项·换算备忘 |
|---|---|---|
| 位移 $u$ | m(米) | 以mm输入时,载荷·弹性模量也需统一为MPa/N系 |
| 应力 $\sigma$ | Pa(帕斯卡)= N/m² | MPa = 10⁶ Pa。与屈服应力比较时注意单位制不一致 |
| 应变 $\varepsilon$ | 无量纲(m/m) | 注意工程应变与对数应变的区别(大变形时) |
| 弹性模量 $E$ | Pa | 钢:约210 GPa,铝:约70 GPa。注意温度依赖性 |
| 密度 $\rho$ | kg/m³ | mm系中为tonne/mm³(钢为 10⁻⁹ tonne/mm³) |
| 力 $F$ | N(牛顿) | mm系用N,m系也用N统一 |
数值解法与实现
拉格朗日乘数法的实现
扩展后的联立方程:
$[C]$ 是约束矩阵,$\{\lambda\}$ 是拉格朗日乘数(接触压力)。
右下角是零矩阵…条件数看起来会很差呢。
鞍点问题。直接法求解器没问题,但迭代法求解器收敛困难。
求解器设置
总结
混合变分法的离散化
采用拉格朗日乘数法的接触有限元法,使用混合变分法将位移自由度与接触力(拉格朗日乘数)作为未知数联立求解。离散化后的刚度矩阵成为鞍点问题,对角块的正定性丧失。1980年代,Brezzi-Babuška条件(inf-sup条件)被确立为接触乘数空间适当选择的标准,从而制定了稳定单元对的设计指南。
线性单元(1次单元)
节点间线性插值。计算成本低,但应力精度低。注意剪切锁定(可通过减缩积分或B-bar法缓解)。
二次单元(带中间节点)
可表现曲线状变形。应力精度大幅提高,但自由度约增加2~3倍。推荐:应力评估很重要时使用。
完全积分 vs 减缩积分
完全积分:有过约束(锁定)风险。减缩积分:有沙漏模式(零能量模式)风险。根据情况选择。
自适应网格
基于误差指标(ZZ估计量等)的自动细化。有效提高应力集中部位的精度。有h法(单元细分)和p法(增加阶次)。
牛顿-拉弗森法
非线性分析的标准方法。每次迭代更新切线刚度矩阵。在收敛半径内具有二次收敛性,但计算成本高。
修正牛顿-拉弗森法
切线刚度矩阵使用初始值或每隔数次迭代更新。每次迭代成本低,但收敛速度为线性。
收敛判定标准
力残差范数: $||R|| / ||F_{ext}|| < \epsilon$(通常 $\epsilon = 10^{-3}$〜$10^{-6}$)。位移增量范数: $||\Delta u|| / ||u|| < \epsilon$。能量范数: $\Delta u \cdot R < \epsilon$
载荷增量法
不一次性施加全部载荷,而是分小步增加。弧长法(Riks法)可以超越载荷-位移关系的极值点进行追踪。
直接法 vs 迭代法的比喻
直接法是“用笔算精确解联立方程”的方法——可靠但大规模问题耗时过长。迭代法是“反复猜测逼近正确答案”的方法——最初是粗略答案,但每次迭代精度提高。就像查字典时,从第一页开始顺序查找(直接法)不如预估位置翻开再前后调整(迭代法)更高效。
网格阶次与精度的关系
1次单元是“用直尺近似曲线”——用直线折线表现,精度有限。2次单元是“柔性曲线”——能表现曲线变化,即使网格密度相同精度也显著提高。不过,每个单元的计算成本增加,需根据总体的成本效益来判断。
实践指南
拉格朗日乘数法的实务
仅在穿透必须为零的问题中使用。大部分问题用罚函数法就足够了。
适用场景
| 场景 | 理由 |
|---|---|
| 压力容器的密封面 | 穿透 = 泄漏。必须为零 |
| 精密螺栓紧固 | 精确评估座面压力 |
| 压配合(press-fit) | 干涉量的精密控制 |
实务检查清单
冲压模具的接触分析
丰田从2003年左右开始引入的基于ABAQUS Standard的深冲压模具分析中,在压边圈与坯料间的接触处采用了拉格朗日乘数法,通过严格保持穿透量为零,使板厚减薄率的预测精度提高到±3%以内。此前的罚函数法需要数日来调整接触刚度,而乘数法使尝试次数减少了一半。
分析流程的比喻
分析流程其实和烹饪非常相似。首先采购食材(准备CAD模型),进行预处理(网格生成),开火烹饪(求解器执行),最后装盘(后处理可视化)。这里有个重要的问题——烹饪中最容易失败的工序是哪里?其实是“预处理”。网格质量差的话,无论使用多优秀的求解器,结果都会一团糟。
初学者容易陷入的陷阱
您确认过网格收敛性吗?是否认为“计算能运行=结果正确”?这其实是有限元分析初学者最容易掉入的陷阱。求解器一定会根据给定的网格返回“一个像样的答案”。但如果网格太粗,这个答案就会与现实有很大偏差。至少用三个级别的网格密度确认结果是否稳定——如果忽略这一点,就会陷入“因为是计算机给出的答案所以应该正确”的危险想法。
边界条件的思考方式
边界条件的设定,与考试的“出题”是相同的。如果题目错了会怎样?无论计算多么精确,答案都是错的。“这个面真的完全固定吗”“这个载荷真的是均匀分布吗”——正确建模现实的约束条件
相关主题
なった
詳しく
報告