应力奇异点与网格收敛 — FEM应力发散的原理与实务对策
应力奇异点与网格收敛的理论基础 — 为什么应力会发散
什么是应力奇异点
老师,网格越细应力越高是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$,应力场表示为:
这里 $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误差估计式是:
$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.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飙到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}$ 奇异性。
Abaqus、Ansys都有裂纹尖端附近自动配置四分点单元的功能。配合J积分或轮廓积分法就能高精度求 $K_I, K_{II}, K_{III}$。
hp-细分化的特异性捕捉
前面说提高多项式阶数效果不大,有没有办法改进?
有,**hp-细分化**很有效。朝奇异点以几何级数细分网格,同时增加多项式次数。Babuska等的理论证明能达到指数收敛:
普通h细分只有代数收敛 $N^{-\lambda/d}$,hp-细分是指数级。但实现复杂,支持hp的商业求解器很少。StressCheck和p-FEM型求解器能做。
应力强度因子的抽取方法
FEM怎么从计算结果提取应力强度因子 $K$?
主要3种方法:
- 位移外推法 — 用裂纹尖端附近节点位移,从 $K = \lim_{r \to 0} \sigma\sqrt{2\pi r}$ 关系外推。简单但依赖网格
- J积分法(等效路径积分) — 围绕裂纹尖端的路径上计算能量释放率 $G$。$K_I = \sqrt{E' G}$($E'$在平面应力/应变下不同)。路径无关性,精度高
- 相互作用积分法 — 辅助场与实场的J积分交互作用,能分离 $K_I, K_{II}, K_{III}$。混合模式必需
J积分是路径无关的,那离尖端远的路径也可以?
对。所以不用在尖端直接算,而是用离尖端稍远的多条路径平均。Abaqus的 *CONTOUR INTEGRAL 自动计算5-10条路径。外层路径受网格影响小,结果更稳定。
应力奇异点与网格收敛的实务应用 — 应对奇异点的方法
ASME应力线性化(膜+弯曲评估)
压力容器有奇异点时,设计审查怎么进行呢?
ASME Boiler & Pressure Vessel Code Section VIII Division 2 规定的应力线性化是业界标准。把板厚方向的应力分解成膜应力 $\sigma_m$ 和弯曲应力 $\sigma_b$。
$t$ 是板厚,$x$ 是厚度坐标。膜应力是均匀拉伸,弯曲应力上下符号相反。奇异点的峰值应力 $\sigma_p$ 在一次评估时被排除。
峰值应力完全不考虑?
一次评估不考虑。但疲劳评估时峰值很重要。ASME Div.2 Part 5.5疲劳分析用 full-range stress(膜+弯曲+峰值)。此时奇异点的峰值物理无意义,要用含圆角R的子模型重算实际的应力集中。
总结一下就是:一次评估看膜+弯曲,疲劳评估切换到R圆角模型看真实峰值?
完美理解!加上第0条就是设计阶段就加圆角,根本上避免奇异点。
破坏力学评估的转换
含裂纹的结构用线性化法不了吧?怎么评估?
切换到破坏力学参数评估。主要3种方法:
- 应力强度因子评估 — $K_I < K_{IC}$(断裂韧性)则安全。线性弹性破坏力学范围
- J积分评估 — 可扩展到弹塑性。$J < J_{IC}$ 判定。$J_{IC}$ 由ASTM E1820等试验规范测定
- FAD评估 — BS 7910 / API 579-1标准。在一张图上同时考虑脆性破坏和塑性崩溃
本质就是不用应力而用能量或力学参数?
完全正确。应力发散成 $r^{-1/2}$,但J积分路径无关且有限,$K$ 也唯一确定。从点值转向整体参数是奇异点问题的核心解决方案。
子模型与局部评估
"先全局模型再子模型"这个工作流对奇异点有帮助吗?
子模型有2个用途:
- 含圆角R的详细形状 — 全局模型省略小R,子模型加上R求实际应力集中。疲劳评估很有效
- 破坏力学的裂纹模型 — 全局模型不含裂纹,子模型加裂纹求 $K$ 或 $J$。大幅节省计算量
注意!子模型的截断边界必须远离奇异点。全局模型在那个位置的应力必须已经收敛,否则边界条件不准。
总结奇异点的3个对策:(1)在离奇异点远处评估应力,(2)用线性化法分解为膜+弯曲,(3)切换到K或J评估。
加上第0条:设计时加圆角,根除奇异点!
软件的对应功能
主要求解器的奇异性处理功能
商用求解器里奇异点功能怎么样?
比较一下主要的:
| 功能 | Abaqus | Ansys Mechanical | Nastran | COMSOL |
|---|---|---|---|---|
| 四分点单元 | 自动配置(focused mesh) | KSCON命令 | CQUAD8手工配置 | 手工节点移动 |
| J积分 / 轮廓积分 | *CONTOUR INTEGRAL | CINT / Fracture Tool | SOL 401 (MFRAC) | J-Integral节点 |
| XFEM | Standard(3D支持) | SMART Crack Growth | 不支持 | 不支持 |
| 应力线性化 | Path操作手工 | Stress Linearization Tool | FORCE输出手工 | 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在现有网格基础上加入富集函数,不需单元边界对齐裂纹,甚至网格可以不动。
$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能量平衡推导。
第一项是劣化的弹性能,第二项是裂纹表面能。$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积分"——这样就显得你很专业!
更详细
错误