应力奇异点与网格收敛 — FEM应力发散的原理与实务对策

分类:V&V / 网格收敛 | 综合版 2026-04-12
Stress singularity at re-entrant corner showing divergent von Mises stress with mesh refinement in FEA
重入角处的应力特异性 — 网格细分化伴随von Mises应力发散的情形

应力奇异点与网格收敛的理论基础 — 为什么应力会发散

什么是应力奇异点

🧑‍🎓

老师,网格越细应力越高是BUG吗?应力奇异点真的存在吗?

🎓

不是BUG。弹性力学的理论解本身就预测"应力无限大"的情况。90度的重入角(L字内角270°)或裂纹尖端就是典型。

🧑‍🎓

您是说理论本身就是无穷大?那FEM算出来的结果无法使用?

🎓

这正是关键。FEM求的是弹性理论的近似解,网格越细越接近"理论无穷大"。所以 $\sigma_{\max}$ 随着 $h \to 0$ 而无限增长。通常的网格收敛性检查——用3个网格密度验证应力收敛——根本不成立

🧑‍🎓

那像汽车支架这样的L型形状,细网格的人算出高应力就要加厚,粗网格的人就不用加厚?这是设计的问题吧?

🎓

完全正确。用最大von Mises应力与允许应力比较——这是包含奇异点模型的典型过度设计陷阱。粗网格通过,细网格不通过,结果完全取决于网格控制者的做法。从V&V角度这是完全错误的。

应力奇异点(stress singularity)是指当弹性体的边界存在尖锐的角或裂纹时,该处的应力在理论上趋向无穷大。FEM虽然输出有限值,但随着网格细分化,这个值会无限增长而不收敛。

Williams特征值分析与$r^\lambda$特异性

🧑‍🎓

"应力无穷大"数学上怎么表达呢?

🎓

Williams(1952)推导了经典的特征值分析。在楔形区域,以顶点为原点,距离为 $r$、角度为 $\theta$,应力场表示为:

$$ \sigma_{ij}(r,\theta) = K \, r^{\lambda - 1} \, f_{ij}(\theta) $$
🎓

这里 $K$ 是应力强度系数,$f_{ij}(\theta)$ 是角度函数,$\lambda$ 是Williams特征值,它取决于楔形开口角。关键是当 $\lambda < 1$ 时,当 $r \to 0$ 就有 $\sigma \to \infty$。

🧑‍🎓

具体到90°重入角(内角270°),$\lambda$ 是多少呢?

🎓

Williams特征值方程的解给出:内角270°时 $\lambda \approx 0.545$,即应力按 $\sigma \propto r^{-0.455}$ 发散。裂纹尖端(内角360°)是 $\lambda = 0.5$,$\sigma \propto r^{-1/2}$。

常见角形与特征值的关系:

形状内角 $2\alpha$Williams特征值 $\lambda$应力阶数特异性
裂纹尖端360°0.500$r^{-0.500}$最强
重入角(90°阶梯)270°0.545$r^{-0.455}$
135°钝角225°0.674$r^{-0.326}$中等
直角180°1.000$r^{0}$ (常数)
锐角<180°>1$r^{>0}$
🧑‍🎓

内角180°(平面)时 $\lambda = 1$ 就没有特异性?角越钝越弱?

🎓

对。实务中加圆角R来消除特异性就基于这个原理。但要注意,即使CAD模型有R,如果网格太粗不足以表现R形状,数值上特异性仍然存在

网格收敛破裂机制

🧑‍🎓

通常教材说"用3个网格密度验证应力收敛",这对含奇异点的模型完全失效?

🎓

准确说,奇异点远处的应力是收敛的。问题在奇异点附近的最大应力。标准FEM误差估计式是:

$$ \|u - u_h\|_{H^1(\Omega)} \leq C \, h^{\min(k,\, \lambda)} $$
🎓

$k$ 是单元多项式次数,$\lambda$ 是Williams特征值。光滑解时 $\lambda \geq k$ 得到 $h^k$ 收敛率。但有奇异点时 $\lambda < 1 < k$,收敛率被限制到 $h^\lambda$。2次单元也只能得到 $h^{0.545}$ 的收敛,不是 $h^2$。

🧑‍🎓

提高单元次数没用?

🎓

对全局能量误差有改进但很慢。关键是奇异点处应力值本身不收敛——这是固有限制。不是FEM的问题,而是线性弹性模型在尖锐角处的本质性质。

L字截面重入角的网格收敛典例:

网格尺寸 $h$ [mm]单元数角处最大应力 [MPa]离角10mm处 [MPa]
4.01,20018582.3
2.04,80025485.1
1.019,20034886.4
0.576,80047886.8
0.25307,20065786.9
🧑‍🎓

哇!角处从185飙到657,但10mm外的点从82.3到86.9就稳定了。这就是"离开奇异点就收敛"啊!

🎓

完全正确。所以评估应力的位置至关重要。看应力云图的红区就是最大应力,这在含奇异点的模型上是陷阱。

奇异点出现的代表形状

🧑‍🎓

实务中哪些情况容易遇到奇异点?

🎓

常见的有:

  • 重入角 — L型支架、T型接合、无圆角的内角。最常见
  • 裂纹尖端 — 破坏力学分析中有意引入。$\lambda = 0.5$ 最强
  • 异种材料界面端 — 杨氏模量不同的材料交界处。双材料奇异性
  • 集中荷载作用点 — 点荷载、线荷载接触面积为零 → 应力无穷
  • 约束条件的角部 — 固定端与自由端的边界角。数值奇异
  • V形槽 — 焊缝止端、键槽底部
🧑‍🎓

集中荷载也是奇异点?我们实习时经常用啊…

🎓

是的。螺栓座面或轴承接触面用"1个节点的集中荷载"代替,那个节点附近的应力是物理无意义的。至少要把荷载分散在一个面,或者不评估荷载加载点附近的应力。

数值求解方法 — 特异性的FEM处理

四分点单元与Barsoum方法

🧑‍🎓

FEM不行那破坏力学怎么办?裂纹尖端本身就是奇异点啊?

🎓

破坏力学不评估应力值,改用应力强度因子 $K$ 或 $J$ 积分。为了精确求 $K$,Barsoum(1976)发明了四分点单元

🧑‍🎓

四分点单元是什么?

🎓

8节点二次四边形单元,把裂纹尖端附近的中间节点从边中点移到 $1/4$ 处。这样单元内的位移自动包含 $\sqrt{r}$ 项,能精确捕捉 $r^{-1/2}$ 奇异性

$$ u(r) \propto \sqrt{r} \quad \Rightarrow \quad \varepsilon = \frac{\partial u}{\partial r} \propto \frac{1}{2\sqrt{r}} \propto r^{-1/2} $$
🎓

Abaqus、Ansys都有裂纹尖端附近自动配置四分点单元的功能。配合J积分或轮廓积分法就能高精度求 $K_I, K_{II}, K_{III}$。

hp-细分化的特异性捕捉

🧑‍🎓

前面说提高多项式阶数效果不大,有没有办法改进?

🎓

有,**hp-细分化**很有效。朝奇异点以几何级数细分网格,同时增加多项式次数。Babuska等的理论证明能达到指数收敛

$$ \|u - u_h\|_{H^1} \leq C \, \exp(-b \sqrt[3]{N}) $$
🎓

普通h细分只有代数收敛 $N^{-\lambda/d}$,hp-细分是指数级。但实现复杂,支持hp的商业求解器很少。StressCheck和p-FEM型求解器能做。

应力强度因子的抽取方法

🧑‍🎓

FEM怎么从计算结果提取应力强度因子 $K$?

🎓

主要3种方法:

  1. 位移外推法 — 用裂纹尖端附近节点位移,从 $K = \lim_{r \to 0} \sigma\sqrt{2\pi r}$ 关系外推。简单但依赖网格
  2. J积分法(等效路径积分) — 围绕裂纹尖端的路径上计算能量释放率 $G$。$K_I = \sqrt{E' G}$($E'$在平面应力/应变下不同)。路径无关性,精度高
  3. 相互作用积分法 — 辅助场与实场的J积分交互作用,能分离 $K_I, K_{II}, K_{III}$。混合模式必需
$$ J = \int_\Gamma \left( W \, \delta_{1j} - \sigma_{ij} \frac{\partial u_i}{\partial x_1} \right) n_j \, d\Gamma $$
🧑‍🎓

J积分是路径无关的,那离尖端远的路径也可以?

🎓

对。所以不用在尖端直接算,而是用离尖端稍远的多条路径平均。Abaqus的 *CONTOUR INTEGRAL 自动计算5-10条路径。外层路径受网格影响小,结果更稳定。

应力奇异点与网格收敛的实务应用 — 应对奇异点的方法

ASME应力线性化(膜+弯曲评估)

🧑‍🎓

压力容器有奇异点时,设计审查怎么进行呢?

🎓

ASME Boiler & Pressure Vessel Code Section VIII Division 2 规定的应力线性化是业界标准。把板厚方向的应力分解成膜应力 $\sigma_m$ 和弯曲应力 $\sigma_b$。

$$ \sigma_m = \frac{1}{t} \int_0^t \sigma(x) \, dx $$
$$ \sigma_b = \frac{6}{t^2} \int_0^t \sigma(x) \left(\frac{t}{2} - x\right) dx $$
🎓

$t$ 是板厚,$x$ 是厚度坐标。膜应力是均匀拉伸,弯曲应力上下符号相反。奇异点的峰值应力 $\sigma_p$ 在一次评估时被排除

🧑‍🎓

峰值应力完全不考虑?

🎓

一次评估不考虑。但疲劳评估时峰值很重要。ASME Div.2 Part 5.5疲劳分析用 full-range stress(膜+弯曲+峰值)。此时奇异点的峰值物理无意义,要用含圆角R的子模型重算实际的应力集中。

🧑‍🎓

总结一下就是:一次评估看膜+弯曲,疲劳评估切换到R圆角模型看真实峰值?

🎓

完美理解!加上第0条就是设计阶段就加圆角,根本上避免奇异点。

破坏力学评估的转换

🧑‍🎓

含裂纹的结构用线性化法不了吧?怎么评估?

🎓

切换到破坏力学参数评估。主要3种方法:

  1. 应力强度因子评估 — $K_I < K_{IC}$(断裂韧性)则安全。线性弹性破坏力学范围
  2. J积分评估 — 可扩展到弹塑性。$J < J_{IC}$ 判定。$J_{IC}$ 由ASTM E1820等试验规范测定
  3. FAD评估 — BS 7910 / API 579-1标准。在一张图上同时考虑脆性破坏和塑性崩溃
🧑‍🎓

本质就是不用应力而用能量或力学参数?

🎓

完全正确。应力发散成 $r^{-1/2}$,但J积分路径无关且有限,$K$ 也唯一确定。从点值转向整体参数是奇异点问题的核心解决方案。

子模型与局部评估

🧑‍🎓

"先全局模型再子模型"这个工作流对奇异点有帮助吗?

🎓

子模型有2个用途:

  1. 含圆角R的详细形状 — 全局模型省略小R,子模型加上R求实际应力集中。疲劳评估很有效
  2. 破坏力学的裂纹模型 — 全局模型不含裂纹,子模型加裂纹求 $K$ 或 $J$。大幅节省计算量
🎓

注意!子模型的截断边界必须远离奇异点。全局模型在那个位置的应力必须已经收敛,否则边界条件不准。

🧑‍🎓

总结奇异点的3个对策:(1)在离奇异点远处评估应力,(2)用线性化法分解为膜+弯曲,(3)切换到K或J评估。

🎓

加上第0条:设计时加圆角,根除奇异点!

软件的对应功能

主要求解器的奇异性处理功能

🧑‍🎓

商用求解器里奇异点功能怎么样?

🎓

比较一下主要的:

功能AbaqusAnsys MechanicalNastranCOMSOL
四分点单元自动配置(focused mesh)KSCON命令CQUAD8手工配置手工节点移动
J积分 / 轮廓积分*CONTOUR INTEGRALCINT / Fracture ToolSOL 401 (MFRAC)J-Integral节点
XFEMStandard(3D支持)SMART Crack Growth不支持不支持
应力线性化Path操作手工Stress Linearization ToolFORCE输出手工Line Integration
VCCT(虚拟裂纹闭合)支持支持SOL 400支持不支持
CZM(内聚区模型)COH单元CZM + Interface有限支持
🧑‍🎓

Ansys的Stress Linearization Tool看起来很方便?

🎓

是。WorkBench指定板厚方向路径,自动算 $P_m, P_b, P_m+P_b, P_m+P_b+Q$,压力容器设计审查时很省事。Abaqus要用 *PATH 定义再Python脚本计算,不如一键便利。

🎓

开源方面,CalculiX支持J积分。Code_Aster(法国EDF开发)功能很强,POST_K1_K2_K3命令能抽应力强度因子,还支持XFEM,破坏力学方面不逊于商用。

应力奇异点与网格收敛的先进研究 — XFEM·相场法

XFEM(扩展有限元法)

🧑‍🎓

XFEM最近很火,与普通FEM有什么本质区别?

🎓

传统FEM裂纹必须沿单元边界。XFEM在现有网格基础上加入富集函数,不需单元边界对齐裂纹,甚至网格可以不动。

$$ u^h(\mathbf{x}) = \sum_i N_i(\mathbf{x}) \, u_i + \underbrace{\sum_{j \in J} N_j(\mathbf{x}) \, H(\mathbf{x}) \, a_j}_{\text{Heaviside富集}} + \underbrace{\sum_{k \in K} N_k(\mathbf{x}) \sum_{\ell=1}^{4} F_\ell(\mathbf{x}) \, b_k^\ell}_{\text{裂纹尖端富集}} $$
🎓

$H(\mathbf{x})$ 表示裂纹面的不连续,$F_\ell$ 是 $\sqrt{r}$ 特异性函数族。形状函数层面就把尖端特异性吸收了,粗网格也能求出高精度的 $K$ 值

🧑‍🎓

那裂纹扩展模拟就不用重网格了?

🎓

对。这是XFEM的革命性优势。缺点是3D复杂形状、裂纹分叉合并等还有工程化的困难。Abaqus的3D XFEM基本能用,但裂纹扩展限于疲劳Paris律,脆性急速扩展在3D的稳定性仍有问题。

相场破坏模型

🧑‍🎓

相场法(Phase-field)怎样处理奇异点?

🎓

相场法完全不同。不用鋭利裂纹,而用连续的损伤变量 $d \in [0, 1]$ 表示。$d=0$ 健全,$d=1$ 完全破坏。Bourdin等(2000)基于Griffith能量平衡推导。

$$ \Pi(u, d) = \int_\Omega g(d) \, \psi(\varepsilon) \, d\Omega + \int_\Omega G_c \left[ \frac{d^2}{2\ell} + \frac{\ell}{2} |\nabla d|^2 \right] d\Omega $$
🎓

第一项是劣化的弹性能,第二项是裂纹表面能。$G_c$ 是临界能量释放率,$\ell$ 正则化长度。裂纹的发生、扩展、分叉自动出现,不用预设裂纹路径。

🧑‍🎓

与XFEM比谁更实用?

🎓

目前(2026年)商用求解器XFEM先行。相场法还主要在研究阶段,虽然Abaqus 2024开始加强了UEL/UMAT的相场支持,但远未成为标配。不过学术论文近5年爆炸增长,5-10年内应该标配化。

应力奇异点与网格收敛的故障排除

初学者常见的失败模式

🧑‍🎓

老师,应力奇异点的常见坑都有哪些?

🎓

见过的失败案例5个:

🎓

失败1:"网格细了应力高了,继续细化"

→ 奇异点处网格细化应力自然上升,不会收敛。继续细化等于死循环。

🎓

失败2:"最大von Mises应力与允许应力比较判定"

→ 奇异点的最大应力与网格相关。粗网格过,细网格不过。同一模型结果随网格人为改变,这在设计审查上是灾难。

🎓

失败3:"加了圆角R,云图红色消失就OK"

→ 圆角有了但网格太粗(比如R=0.1mm的圆角只用1个单元),数值上仍有伪奇异性。最少3-5个单元才能表现R。

🎓

失败4:"异种材料接合面端部的高应力按材料强度评估"

→ 异种材料界面的自由边是双材料奇异点。应力值不物理,要用SIF或CZM。

🎓

失败5:"线性化路径穿过奇异点"

→ ASME线性化的板厚路径如果过奇异点,膜应力本身就染了网格依赖性。路径要避开至少板厚0.5倍的距离。

🧑‍🎓

失败2真能发生……教科书上都教"von Mises比较"。奇异点存在的话这整套就崩了。

🎓

对。所以网格收敛性核查要看"评估点的应力收敛",不是"最大应力收敛"。云图的红点在奇异点的话,那个值是垃圾,不能用。FEM工程师的能力就是识别哪个红点是真、哪个是奇异点幻象。

奇异点检查清单

评估FEM结果前,用这个清单检查奇异点:

检查项目方法对策
重入角有无CAD目视检查内角270°以上加圆角R,或离开评估
集中荷载有无确认无点荷载或边荷载改为面荷载,或不评估加载点
异种界面端检查材料边界自由边用CZM或SIF评估
网格收敛性3水准网格在评估点(非最大值)检查最大值点收不收敛看是否奇异点
应力梯度异常$\log(\sigma)$ vs $\log(h)$ 斜率是否 $\lambda - 1$若符合 $\lambda \approx 0.545$,确认奇异点存在
🎓

最后一招:在设计评审会上说"这是应力奇异点,Williams特征值 $\lambda = 0.545$,理论上 $\sigma \propto r^{-0.455}$ 发散,普通网格收敛不成立。评估方式改为应力线性化/J积分"——这样就显得你很专业!

相关交互工具

在这些领域的交互模拟器中体验理论

网格收敛性检查器 J积分模拟器

相关领域

结构分析V&V破坏力学
本文的评价
感谢您的评分!
有帮助
想要
更详细
报告
错误
有帮助
0
想要更详细
0
报告错误
0
撰文人:NovaSolver Contributors
志愿CAE工程师与AI代理的集合体 — 网站导航
查看档案