科学仿真 · 从零学起 第 8 / 8 节

第 12 章起 · 按物理场选读的应用卷

基础卷到此把"线性静力有限元"完整走通。原著后续各章是把同一框架推向各类物理场,逐个都有新拐点。这一节是应用卷的地图与读法。

非线性:三个来源

$$\mathbf{\Psi}(\mathbf{u}) = \mathbf{f}_{int}(\mathbf{u}) - \mathbf{f}_{ext} = \mathbf{0}$$
  • 材料非线性:塑性、超弹性——$\mathbf{D}$ 不再常数,本构积分(应力更新)配合返回映射算法。
  • 几何非线性:大变形、大转动——应变度量换成格林-拉格朗日应变,刚度阵分线性/几何/大位移三部分。
  • 边界非线性:接触——约束随解变化,用拉格朗日乘子或罚函数,收敛最难。

统一解法是牛顿-拉夫森迭代:$\mathbf{u}_{n+1} = \mathbf{u}_n - \mathbf{K}_T^{-1}\mathbf{\Psi}$,$\mathbf{K}_T$ 是切线刚度阵。载荷步 + 弧长法处理屈曲类的snap-through。

动力学:质量阵与时间积分

$$\mathbf{M}\ddot{\mathbf{u}} + \mathbf{C}\dot{\mathbf{u}} + \mathbf{K}\mathbf{u} = \mathbf{f}(t)$$
  • 振型叠加:先解广义特征值问题 $\mathbf{K}\phi = \omega^2\mathbf{M}\phi$,用低阶振型把方程解耦——线性、长时间响应的首选。
  • 直接积分:中心差分(显式,条件稳定,碰撞/爆炸用,配集中质量阵)与 Newmark-$\beta$(隐式,无条件稳定族)。

场问题举隅

传热(温度标量场,最简单)、渗流-固结(Biot 耦合)、电磁(棱边单元防伪解)、声学(无限元/完美匹配层截断开放域)。每个场问题的"新东西"几乎都是:单元插值空间的选择($H(\mathrm{div})$、$H(\mathrm{curl})$)与稳定化。

原文要点:应用卷的组织原则是"框架不变、构件替换":弱形式-形函数-组装-求解四步流水线保留,替换的只有本构阵、插值空间与收敛判据;书中建议读者以传热问题(第 20 章前后)作为第一个非线性/场问题的练习对象,因为它的标量方程最易调试。

老师的提醒

  • 非线性分析不收敛时,按顺序查:增量步太大 → 接触状态振荡 → 材料软化局部化。降步长是万金油但治标。
  • 显式动力学的时间步由最小单元尺寸决定($\Delta t \le L/c$ 波速),网格里一个坏单元会拖垮全模型。

自检

  • 三类非线性分别改写了有限元流水线的哪一步?
  • 中心差分与 Newmark 各适合什么场景?
  • 为什么电磁问题不能用标准节点单元?

更深一层:非线性是把"常量"换成"未知数"

线性有限元的四步流水线(离散-组装-求解-后处理)在非线性世界全部保留,唯一变化是组装出的方程不再是线性方程组 $\mathbf{Ku} = \mathbf{f}$,而是非线性方程 $\mathbf{\Psi}(\mathbf{u}) = \mathbf{0}$。牛顿-拉夫森用切线刚度 $\mathbf{K}_T = \partial\mathbf{\Psi}/\partial\mathbf{u}$ 反复线性化迭代。真正的深水区在"切线刚度从哪来":几何非线性时它含几何刚度(应力强化/软化——缆绳拉紧更刚、受压杆失稳更柔),材料非线性时它来自本构的一致切线(返回映射算法的输出)。本构积分与一致切线的配套是非线性有限元实现的核心工艺:本构更新不配套一致切线,牛顿收敛从二次退化到线性甚至震荡。

三类非线性的"难度排名"也值得记住:材料非线性(本构积分逐点独立,最可控)< 几何非线性(刚度耦合,需客观率)< 接触(约束本身随解变化,收敛最难)。工程排障也按这个难度阶梯:不收敛时先怀疑增量步过大,再查接触状态震荡,最后才怀疑本构实现。

推导细读:显式与隐式动力学的分工原理

动力学时间积分的两大家族各自擅长什么,由稳定性-成本的天平决定。显式中心差分:每步只做乘法(不用解方程组),单步极便宜;但条件稳定 $\Delta t \le 2/\omega_{max}$——最小单元的尺寸通过 $\omega_{max}$ 卡死全局步长($1\ \mathrm{mm}$ 网格的钢件 $\Delta t \approx 2\times10^{-7}\ \mathrm{s}$)。算 $10\ \mathrm{ms}$ 的碰撞要五万步——每步便宜,总账划算。隐式 Newmark:每步解一个(非线性)方程组,单步贵;但无条件稳定,步长由精度决定(可取毫秒级)。算 $10\ \mathrm{s}$ 的结构响应只要万步。分工由此定:毫秒级瞬态事件(碰撞、爆炸、冲击)→ 显式;秒级以上瞬态或静力类 → 隐式。跨界场景(金属切削)两者皆可,看软化因素(接触复杂度、材料失效)。

在真实世界里:非线性收敛失败的排障树

非线性分析"不收敛"的标准排查树,按命中率排序: 1. 增量太大:切线刚度失配 → 减半步长重试(第一反应,命中率最高); 2. 接触振荡:接触状态在开合间跳动 → 加初始刚度过渡、改增广拉格朗日、检查初始穿透; 3. 局部屈曲/失稳:载荷-位移曲线出现负斜率 → 弧长法(arc-length)替代载荷控制; 4. 材料软化局部化:应变集中到单个积分点(损伤、软化塑性)→ 正则化(非局部、梯度模型); 5. 刚体位移瞬态:接触建立前结构漂浮 → 先算一个小的预载步建立接触。

把这棵树存在心里,非线性分析的"不收敛恐惧症"就好了一大半——它几乎总是有明确病因的。

常见误区与辨析

  • "牛顿迭代不收敛就换准牛顿":Broyden 类省了切线但每步超线性退化;不收敛的根因常在上面五条里,换算法是治标。
  • "显式算碰撞不用管时间步":$\Delta t$ 由最小单元声速决定,一个畸变单元拖垮全局;质量缩放(人为加质量提步长)必须监控动能占比。
  • "网格无关性研究只对线性问题有意义":恰恰相反——非线性结果(塑性区大小、接触压力)对网格更敏感,收敛研究更不可省。

专题深入:非线性求解的"载荷步-牛顿-弧长"三级工具

非线性求解的三级工具链值得整理:载荷步(把载荷分成小增量——每步小扰动、牛顿容易收敛);牛顿-拉夫森(切线刚度迭代——每步内解线性化方程);弧长法(载荷与位移同时作未知——snap-through 屈曲的救赎,载荷控制与位移控制都失效时它接管)。收敛失败的排障树:增量太大(减半步长)→ 接触振荡(增广拉格朗日)→ 屈曲负斜率(弧长法)→ 材料软化局部化(正则化)→ 刚体位移瞬态(先预载步建立接触)。这棵树覆盖了非线性分析 90% 的"不收敛"事故。

数学细节展开:一致切线——牛顿收敛的"二次保证"

一致切线(consistent tangent)是非线性有限元实现的核心工艺:本构更新的"算法切线"必须与牛顿迭代的"连续切线"一致——不一致时牛顿的二次收敛退化到线性甚至震荡。返回映射算法(plasticity 的应力更新)的输出配上它的一致切线,是现代非线性求解器的标准零件。"本构积分与一致切线配套"是实现层的最高纪律——散装的本构更新(不配套切线)是收敛失败的隐形杀手。

工程案例细节:接触问题的"收敛营养学"

接触问题的收敛营养学:罚函数(简单但穿透——罚刚度的选择是"穿透 vs 病态"的权衡)、拉格朗日乘子(精确但方程组扩充且鞍点结构)、增广拉格朗日(罚 + 乘子混合——精确且稳健,工业默认)。初始穿透的处理(网格穿透必须先消解——预载步或几何清理)与接触对的选择(主从面的刚度与网格粗细配对)是接触收敛的两个先决条件。接触不收敛时先查初始穿透,再查罚刚度——这两条覆盖了接触收敛失败的大多数。

例题

单自由度 $m\ddot x + kx = 0$($m = 1$,$k = 100$),$x_0 = 0$、$\dot x_0 = 1$。用中心差分($\Delta t = 0.05$)计算前两步位移。

解答

$\omega_n = \sqrt{100} = 10$,周期 $T = 0.628$ s,$\Delta t/T \approx 0.08$ 合理(中心差分稳定要求 $\Delta t \le T/\pi \approx 0.2$ ✓)。

起步:$x^0 = 0$;由初速度构造虚拟前步:$x^{-1} = x^0 - \Delta t\,\dot x_0 + \frac{\Delta t^2}{2}\ddot x_0 = 0 - 0.05 + 0 = -0.05$。

递推 $x^{n+1} = 2x^n - x^{n-1} + \Delta t^2( f^n - k x^n)/m$:

  • $n=0$:$x^1 = 0 - (-0.05) + 0.0025\times(0) = 0.05$;
  • $n=1$:$x^2 = 2(0.05) - 0 + 0.0025\times(-100\times0.05) = 0.1 - 0.0125 = 0.0875$。
  • 精确解 $x(t) = 0.1\sin 10t$:$x(0.1) = 0.1\sin1 = 0.0841$——两步结果 0.0875 误差约 4%,加密网格会降。

本页是《有限元方法:基础理论(第一卷)》第 8 节的学习笔记:为便于初学,讲解、例题与要点概括均为本站原创整理,公式与章节定位供对照原书使用。

📑 本书目录 经典研读