应力奇异点与网格收敛——有限元法中应力发散原理及实际对策
理论与物理 — 为何应力会发散
什么是应力奇点
老师,应力奇点是指网格细化后应力会无限增大吗?这不是软件缺陷吗?
不是缺陷。弹性力学理论解本身在某些情况下就预测了“应力无限大”。90度的凹角(L形内角270°的角)和裂纹尖端就是典型例子。
诶,理论本身就有无限大?那FEM虽然计算正确,但结果却不能用吗?
对,这正是关键所在。FEM是求弹性理论近似解的,所以网格越细就越接近“理论上的无限大”。也就是说 $\sigma_{\max}$ 在网格尺寸 $h \to 0$ 时会无限增大。通常的网格收敛性检查——用三个级别的网格确认应力是否收敛于一个定值——在此不成立。
那比如说,汽车支架上有L形形状的话,网格越细的人得到的应力越高,就会导致“必须加厚板材!”这种过度设计吗?
正是如此。FEM初学者用最大von Mises应力与许用应力比较——这就是包含奇点的模型中典型的过度设计模式。网格粗的人得到“OK”,网格细的人得到“NG”,结果会因网格负责人的主观判断而改变。这在V&V(验证与确认)上完全是不合格的。
应力奇点(stress singularity)是指,当弹性体边界存在锐角或裂纹时,在该角点或尖端处应力理论上变为无限大的点。FEM中由于离散化会输出有限值,但网格越细化该值会持续上升,不收敛。
Williams特征值分析与$r^\lambda$奇异性
“应力变为无限大”,从数学上该如何更准确地表述呢?
有Williams(1952)推导出的经典特征值分析。设楔形区域顶点距离为 $r$,角度为 $\theta$,则应力场可表示为:
这里 $K$ 是与应力强度相关的系数,$f_{ij}(\theta)$ 是角度相关函数,而 $\lambda$ 是Williams特征值。这个 $\lambda$ 取决于楔形张开角 $2\alpha$。关键在于,当 $\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模型有圆角,如果网格太粗以至于无法充分表现角部形状,数值上仍可能残留奇异性,需要注意。
网格收敛失效机制
通常的FEM分析中,我们被教导“用三个级别的网格确认收敛性”,但有奇点时这完全不起作用吗?
准确地说,远离奇点位置的应力确实会收敛。问题在于奇点正附近的最大应力。我们来看标准FEM的误差估计式:
这里 $k$ 是单元多项式次数,$\lambda$ 是Williams特征值。对于光滑解,$\lambda \geq k$ 时可获得 $h^k$ 的收敛率。但存在奇点时 $\lambda < 1 < k$,所以收敛率被限制在 $h^\lambda$。即使使用二次单元,也只能达到 $h^{0.545}$ 左右,而不是 $h^2$。
提高单元次数也没用吗?!这太令人震惊了…
对于全局能量范数误差来说,并非完全没用,只是改善缓慢。但是,奇点处的应力值本身,即使提高单元次数或细化网格也不会收敛——这是本质上的局限。这不是FEM的缺陷,而是物理模型(线性弹性体的锐角角部)所具有的本质特性。
作为具体例子,展示L形截面凹角处网格收敛的典型行为:
| 网格尺寸 $h$ [mm] | 单元数 | 角部最大应力 [MPa] | 距角部10mm处 [MPa] |
|---|---|---|---|
| 4.0 | 1,200 | 185 | 82.3 |
| 2.0 | 4,800 | 254 | 85.1 |
| 1.0 | 19,200 | 348 | 86.4 |
| 0.5 | 76,800 | 478 | 86.8 |
| 0.25 | 307,200 | 657 | 86.9 |
哇,角部的最大应力从185→657MPa不断上升,而10mm外的位置从82.3→86.9MPa却很好地收敛了!这就是“远离奇点就没事”的意思吧。
正是如此。所以“用哪里的应力来评价”是奇点问题的本质。看到最大应力的云图就反射性地判断“红色区域危险!”,这在有奇点的模型中是完全错误的。
出现奇点的代表性形状
在实际工作中容易遇到奇点的形状,具体有哪些呢?
列举一些代表性的:
- 凹角 — L形支架、T形连接处无圆角的角部。实际工作中遭遇频率最高
- 裂纹尖端 — 断裂力学模型中故意引入的。$\lambda = 0.5$,奇异性最强
- 异种材料界面的端部 — 杨氏模量不同的材料接合端。称为双材料奇异性
- 集中载荷作用点 — 点载荷、线载荷理论上接触面积为零 → 应力无限大
- 约束条件的角部 — 固定端与自由端边界处的角。会产生数值奇异性
- V型缺口 — 焊接焊趾端部、键槽底部等
诶,集中载荷也会产生奇点吗?实习时经常用啊…
是的。如果用“单节点集中载荷”来替代螺栓紧固的座面或轴承的接触面,则该节点附近的应力在物理上没有意义。至少应将载荷分布到面上,或将载荷作用点附近的应力排除在评价对象之外,这是铁则。
数值解法 — 奇异性的FEM处理方法
四分之一节点单元与Barsoum法
有奇点FEM就不行的话,那断裂力学分析是怎么做的呢?裂纹尖端本身就是奇点吧?
问得好。断裂力学中评价的不是“应力值”而是“应力强度因子 $K$”或“$J$ 积分”,所以不使用奇点处的应力值本身。但是,为了用FEM高精度求得 $K$,有一种技巧叫做四分之一节点单元。
四分之一节点单元是什么?
这是Barsoum(1976)提出的方法。在8节点四边形二次单元中,将裂纹尖端侧的中节点偏移到边的四分之一位置。这样,单元内的位移场会自然地出现 $\sqrt{r}$ 项,从而能在单元层面准确捕捉裂纹尖端的 $r^{-1/2}$ 奇异性。
Abaqus或Ansys中内置了在裂纹尖端周围配置这种四分之一节点单元的功能。结合后面要讲的J积分或围道积分法,就能高精度求得 $K_I, K_{II}, K_{III}$。
hp细化捕捉奇异性
刚才听说“即使提高p次数,奇点附近的收敛率也被限制在 $h^\lambda$”,有什么改善方法吗?
hp细化是有效的。向奇点方向按几何级数(geometric grading)细化网格,同时提高单元的多项式次数。根据Babuska等人的研究,通过这种组合可以实现指数收敛:
这里 $N$ 是自由度数。与通常的h细化只能代数收敛($N^{-\lambda/d}$)相比,hp细化是指数收敛,效率极高。不过实现复杂,支持的求解器有限。StressCheck或基于p-FEM的求解器是代表例子。
应力强度因子提取方法
从FEM中求应力强度因子 $K$ 的具体方法有哪些?
主要有三种方法:
- 位移外推法 — 利用裂纹尖端附近节点位移,根据 $K = \lim_{r \to 0} \sigma\sqrt{2\pi r}$ 的关系进行外推。简单但网格依赖性高
- J积分法(等效区域积分) — 沿围绕裂纹尖端的路径(围道)计算能量释放率 $G$。$K_I = \sqrt{E' G}$($E'$ 因平面应力/应变而异)。具有路径无关性,精度高
- 相互作用积分法(Interaction Integral) — 利用辅助场与实际场的J积分相互作用,单独分离提取 $K_I, K_{II}, K_{III}$。混合模式问题必备
J积分具有路径无关性,意思是即使在离裂纹尖端稍远的围道上计算,精度也很好吗?
正是如此。所以不使用奇点正上方的应力值,而是用稍远的多个围道的平均值来求 $J$。Abaqus中通过 *CONTOUR INTEGRAL 可以自动计算5~10个围道。越外侧的围道受网格影响越小,越稳定。
实践指南 — 如何应对应力奇点
ASME应力线性化(膜+弯曲评价)
如果奇点附近的最大应力不能用,那压力容器的设计审查是如何判定强度的呢?
ASME锅炉及压力容器规范第VIII卷第2册规定的应力线性化(stress linearization)是行业标准。这是一种将板厚方向的应力分布分解为“膜应力 $\sigma_m$”和“弯曲应力 $\sigma_b$”的方法。
这里 $t$ 是板厚,$x$ 是板厚方向坐标。膜应力是均匀拉伸截面的分量,弯曲应力是正反面符号反转的分量。奇点引起的峰值应力 $\sigma_p$(线性化后残留的非线性分布残差)被排除在一次评价对象之外。
也就是说峰值应力可以忽略吗?
在“一次应力评价”中可以忽略。但疲劳评价中峰值应力很重要。ASME Div.2 Part 5.5中,疲劳分析使用全范围应力(膜+弯曲+峰值)。此时奇点的峰值应力在物理上没有意义,因此切换到带圆角R的子模型来评价实际的应力集中才是正确做法。
明白了!一次评价用线性化只看膜+弯曲,疲劳评价则用带圆角R的模型,连峰值一起看,对吧。
应力分类表(基于ASME Div.2 Table 5.1)
| 分类 |
この記事の評価 ご回答ありがとうございます! 参考に なった もっと 詳しく 誤りを 報告 |
|---|