自适应网格加密
理论:只在误差大处加密
概述
L形零件内角处的应力不收敛,整体加密也没用。
内角在理想情况下是应力无穷大的奇异点。附近的解变化剧烈,整体均匀加密,误差大部分仍留在角附近。自适应网格由求解结果估计各单元误差,只加密误差大的单元并重新求解,反复进行,不必大幅增加单元就能高效降低总体误差。但要记住,奇异点本身的应力再怎么加密也不收敛。
误差指标与加密规则
把能量范数误差分解为各单元贡献 $\eta_K$,分割达到最大值 $\theta$ 倍(算例中为0.5)以上的单元。实际分析中没有精确解,所以由残差或应力平滑差估计 $\eta_K$。
收敛速度
当梯度像 $x^{2/3}$ 那样在一点发散时,均匀加密的误差只按单元尺寸的1/6次方减小。自适应加密可以恢复与光滑问题相同的单元数−1次方的速度。
估计误差的思想
在不知道精确解的情况下估计有限元解误差的方法,一般认为始于1978年Babuška和Rheinboldt提出的基于残差的估计。1987年Zienkiewicz和Zhu发表了用与平滑应力之差估计误差的实用方法,被许多商用软件采用。能够“估计”误差后,自动加密网格的自适应解法才成为可能。
算例:梯度发散的一维问题
用一次单元求解区间(0, 1)上解为 $u = x^{2/3}$ 的问题(与凹角附近奇异性强度相同)。一维时节点值精确,所以能逐单元精确计算能量范数误差:
| 均匀加密 | 相对能量误差 |
|---|---|
| 10单元 | 34.2% |
| 100单元 | 23.3% |
| 1,000单元 | 15.9% |
| 10,000单元 | 10.8% |
| 100,000单元 | 7.4% |
| 自适应加密 | 所需单元数 | 最小单元 |
|---|---|---|
| 误差20% | 11 | 2.0×10⁻³ |
| 误差10% | 18 | 1.5×10⁻⁵ |
| 误差5% | 35 | 3.7×10⁻⁹ |
| 误差1% | 169 | 8.9×10⁻¹⁶ |
均匀加密10万单元还是7.4%,自适应35个单元就达到5%!
因为误差几乎都集中在奇异点附近的几个单元。均匀加密会在误差已经很小的地方用大量单元;外推估算,均匀加密到5%约需100万单元。但请看表中右列:为达到1%精度,奇异点旁的单元小到10⁻¹⁵,接近计算机精度极限。实际结构的角有小圆角,把圆角建进几何并加密到圆角尺寸更现实。
分析步骤
- 确定要评估的量(最大应力、位移、反力等),选择相应的误差指标。
- 用粗网格求解,查看误差分布,确认问题所在。
- 确定加密比例(如最大值的一半以上)和最小单元尺寸下限,反复进行。
- 确认奇异点处的值不收敛;在远离奇异点处或建入实际圆角的几何上评估。
- 最后确认关心的量不再随加密变化。
“自动加密后计算停不下来”
某应力分析开启自适应网格后反复加密,单元数到几百万还没结束。原因是载荷集中在一个节点上。集中载荷点是奇异点,应力无穷大,误差指标一直很大。把载荷分布到实际接触面积上后,几次加密就稳定了。自适应网格也是如实指出模型中人为奇异点的工具。
常见错误
错误与对策
| 错误 | 后果 | 对策 |
|---|---|---|
| 试图让奇异点应力收敛 | 加密停不下来 | 建入圆角或在远处评估 |
| 集中载荷或点约束 | 人为奇异点 | 分布到面上 |
| 无最小单元下限 | 单元数爆炸 | 设定下限 |
| 误差指标与目的不符 | 关心的量没改善 | 面向目标的指标 |
| 只靠均匀加密判断收敛 | 误判缓慢收敛 | 与自适应比较 |
我想了解相关内容。
可以用Richardson外推工具试算收敛阶。相关页面参考h法加密、p法加密、奇异点与网格、Richardson外推、三网格GCI和网格质量指标。