Augmented Lagrangian法

分类: 構造解析 | 综合版 2026-04-06
CAE visualization for augmented lagrange theory - technical simulation diagram
Augmented Lagrangian法

理论与物理

增广拉格朗日法是什么

🧑‍🎓

老师,增广拉格朗日法是罚函数法和拉格朗日乘子法的“优点结合”吗?


🎓

正是如此。它结合了罚函数法的简单性拉格朗日乘子法的穿透零精度


$$ F_n = k_p g_n + \lambda_n $$

在罚函数项 $k_p g_n$ 的基础上,迭代更新拉格朗日乘子 $\lambda_n$。反复迭代可使穿透收敛至零。


🧑‍🎓

即使罚函数刚度 $k_p$ 较小,也能通过迭代减少穿透呢。


🎓

对 $k_p$ 的依赖性比罚函数法小。这是其最大优点。Ansys 默认采用增广拉格朗日法。


总结

🎓

要点:


  • 罚函数 + 迭代拉格朗日更新 — 优点结合
  • 对 $k_p$ 的依赖性小 — 比罚函数法更稳定
  • 无需额外自由度 — 比拉格朗日乘子法更高效
  • Ansys 的默认方法 — 最广泛推荐的手法

Coffee Break 闲谈

Hestenes-Powell法 1969年

增广拉格朗日法(Augmented Lagrangian)是 M.R. Hestenes 和 M.J.D. Powell 于 1969 年独立发表的罚函数与拉格朗日乘子的混合方法。通过在外部迭代中更新乘子,既能避免纯罚函数法的条件数恶化,又能避免纯乘子法的大规模联立方程。其在接触有限元中的应用由 Simo 和 Laursen 在 1980 年代后期系统化。

各项的物理意义
  • 惯性项(质量项):$\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 统一

数值解法与实现

增广拉格朗日法的实现

🎓

算法:

1. 初始 $\lambda = 0$ 时作为罚函数法求解

2. 检查穿透量 $g_n$

3. 更新 $\lambda$:$\lambda \leftarrow \lambda + k_p g_n$

4. 用更新后的 $\lambda$ 再次求解

5. 重复迭代直至 $g_n$ 足够小


🧑‍🎓

原来有外层循环($\lambda$ 更新)和内层循环(Newton-Raphson)啊。


🎓

双重迭代循环。内层满足平衡,外层满足接触约束。计算成本约为罚函数法的 1.5 至 2 倍。


求解器设置

🎓
  • Ansys: 默认(KEYOPT(2)=0 或 Augmented Lagrangian)
  • Abaqus: *SURFACE BEHAVIOR, AUGMENTED LAGRANGE
  • Nastran: SOL 400 的接触设置

  • 总结

    🎓
    • 双重迭代循环 — 内层:Newton-Raphson,外层:拉格朗日更新
    • Ansys 的默认方法 — 许多 Ansys 用户无意中已在使用的
    • 成本是罚函数法的 1.5 至 2 倍 — 精度大幅提升

    • Coffee Break 闲谈

      乘子更新的迭代方案

      增广拉格朗日接触采用双重迭代结构:外部循环更新拉格朗日乘数 λ,内部循环求解非线性有限元解。Laursen & Simho(1993年)的公式采用乘子更新式 λ_{k+1} = λ_k + ε_N g_N(g_N:穿透量,ε_N:罚函数),并且 ε_N 可以从物理间隙容差反算设定,因此比罚函数法能更直观地进行收敛调整。

      线性单元(一阶单元)

      节点间线性插值。计算成本低,但应力精度低。注意剪切自锁(可通过减缩积分或 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 迭代法的比喻

      直接法是“用笔算精确求解联立方程”的方法——可靠但大规模问题耗时过长。迭代法是“通过反复猜测逼近正确答案”的方法——最初答案粗糙,但每次迭代精度提高。就像查字典时,从第一页开始顺序查找(直接法)不如先估计位置翻开,再前后调整(迭代法)来得高效,原理相同。

      网格阶次与精度的关系

      一阶单元如同“用直尺近似曲线”——用直线折线表现,精度有限。二阶单元如同“柔性曲线尺”——能表现曲线变化,即使网格密度相同,精度也显著提高。不过,每个单元的计算成本增加,需根据总体的成本效益来判断。

      实践指南

      增广拉格朗日法的实务

      🎓

      Ansys 用户常常在无意中使用增广拉格朗日法。默认设置最为稳定。


      实务检查清单

      🎓
      • [ ] 是否选择了增广拉格朗日法(Ansys 默认)
      • [ ] 穿透量是否在允许范围内(应比罚函数法小)
      • [ ] 外层循环迭代次数是否合适(通常 2 至 5 次足够)
      • [ ] 是否与罚函数法结果比较,确认差异较小

      • Coffee Break 闲谈

        航空发动机叶片微动磨损

        GE Aviation 自 2008 年左右开始使用 ANSYS Mechanical 的增广拉格朗日接触进行涡轮叶片枞树型榫头微动磨损分析。结合累积损伤模型评估了相当于 10⁷ 次循环的重复接触,将 Inconel 718 制叶片的磨损深度再现精度控制在实测值 ±15 μm 以内。作为将试验品制造成本降低约 30% 的案例在学会发表。

        分析流程的比喻

        分析流程其实和烹饪非常相似。首先采购食材(准备 CAD 模型),进行预处理(网格生成),开火烹饪(求解器执行),最后装盘(后处理可视化)。这里有个重要问题——烹饪中最容易失败的工序是哪里?其实是“预处理”。如果网格质量差,无论使用多么优秀的求解器,结果都会一团糟。

        初学者容易陷入的陷阱

        您确认过网格收敛性吗?是否认为“计算能运行 = 结果正确”?这其实是 CAE 初学者最容易掉入的陷阱。求解器一定会根据给定的网格返回“一个像样的答案”。但如果网格太粗糙,这个答案就会与现实严重偏离。至少用三个级别的网格密度确认结果是否稳定——如果忽视这一点,就会陷入“因为是计算机给出的答案,所以应该正确”的危险误区。

        边界条件的思考方式

        边界条件的设置,与考试的“出题”是相同的。如果题目出错了呢?无论计算多么精确,答案都是错的。“这个面真的完全固定吗?”“这个载荷真的是均匀分布吗?”——正确建模现实的约束条件,其实是整个分析中最重要的步骤。

        软件比较

        增广拉格朗日法的工具

        🎓
        • Ansys — 默认。应用实例最多
        • Abaqus — AUGMENTED LAGRANGE 选项
        • Nastran SOL 400 — 支持

        • 选型指南

          🎓
          • 一般接触(隐式解法 → 增广拉格朗日法(Ansys 默认)
          • 罚函数法也能获得足够精度的案例 → 罚函数法即可
          • 严格需要零穿透 → 拉格朗日乘子法

          • Coffee Break 闲谈

            ANSYS ALM 实现的变迁

            ANSYS 在 1990 年代后期将增广拉格朗日法(ALM)采用为 CONTA174/TARGE170 单元的默认接触算法。ANSYS 10.0(2005年)将 ALM 的收敛判定准则修订为基于接触力,大幅改善了厚板穿透问题。现行的 ANSYS Mechanical 2024 中,默认设置为可自动切换 ALM 与罚函数法的“program controlled”。

            选型时最重要的三个问题

            • “要解决什么问题”:增广拉格朗日法所需的物理模型·单元类型是否支持。例如,流体中 LES 支持的有无,结构中接触·大变形的支持能力会成为差异点。
            • “谁使用”:新手团队适合 GUI 完善的工具,有经验者适合脚本驱动的灵活工具。类似于汽车的自动挡(GUI)和手动挡(脚本)的区别。
            • “未来扩展到什么程度”:着眼于未来的分析规模扩大(HPC 支持)、向其他部门扩展、与其他工具的联动进行选择,有助于长期的成本削减。

            尖端技术

            增广拉格朗日法的前沿

            🎓
            関連シミュレーター

            この分野のインタラクティブシミュレーターで理論を体感しよう

            シミュレーター一覧

            関連する分野

            この記事の評価
            ご回答ありがとうございます!
            参考に
            なった
            もっと
            詳しく
            誤りを
            報告
            参考になった
            0
            もっと詳しく
            0
            誤りを報告
            0
            Written by NovaSolver Contributors
            Anonymous Engineers & AI — サイトマップ