3次元弾性体解析 — 故障排除指南
更充实的内容请在 solid-3d-elasticity.html 查看。
3次元解析的故障
请告诉我3次元实心体解析的常见故障。
3次元由于自由度多,问题也多。
应力异常高(奇点)
在角部分,应力随着网格细化而不断上升。
应力奇点。在几何学的角(90°边、切口顶端)处,根据弹性理论,应力趋于无穷大。网格越细,就越接近"无穷大"。
对策:
- 应力奇点实际不存在 — 实际结构有圆角,材料会屈服
- 不将奇点应力用于设计 — 在远离奇点的位置评估应力
- 建模圆角 — 加入圆角后,应力变为有限值
- 用应力集中系数 $K_t$ 评估 — 与理论 $K_t$ 比较
也就是说,"即使细化网格应力也不收敛"的部位可能是奇点,对吗?
完全正确。在奇点处网格不收敛。这不是FEM的局限,而是弹性论的特征。用实际的圆角正确建模形状后,奇点性就消失了。
内存不足
3次元解析内存不足。
3次元实心体解析消耗的内存是2次元的100倍以上。对策:
| 对策 | 效果 | 缺点 |
|---|---|---|
| 利用对称条件 | DOF减少为1/2~1/8 | 仅适用对称问题 |
| 子建模 | 仅局部精密化 | 整体精度较粗 |
| TET10→TET4+多数单元 | DOF减少 | 精度下降(不推荐) |
| 迭代法求解器 | 内存大幅减少 | 可能不收敛 |
| 核外存储 | 利用磁盘 | 计算时间增加 |
迭代法求解器比直接法更节省内存吗?
直接法(LU分解)需要约 $O(n^{1.5})$ 的内存,而迭代法(PCG等)只需 $O(n)$。对于100万DOF以上的问题,差别是数量级的。但迭代法有不收敛的风险,前处理条件的选择很重要。
位移和反力不匹配
反力总和与荷载不一致。
检查项目:
1. 约束不足 — 有刚体移动残留。3次元需要6自由度约束
2. 荷载方向错误 — 全局坐标和局部坐标混淆
3. 单位系不一致 — mm/N/MPa 和 m/N/Pa 混用
4. 对称条件下的反力 — 是否包括对称面的反力
单位系问题在3次元也很常见吗?
如果CAD用mm输出,FEM材料用MPa(= N/mm²)输入则一致。但CAD用m输出而FEM用MPa则会偏差10^6数量级。输入荷载后立即检查反力是铁则。
TET4精度不足
用TET4单元应力完全不匹配。
既然用TET4,解决方案显而易见:改为TET10。TET4完全无法表现弯曲变形,因此对于受弯曲支配的问题(大多数实际结构问题),会产生数量级的误差。
即使增加TET4单元数量,精度也会提高吗?
h-精细化(网格细分)能提高精度,但TET4需要网格尺寸为TET10的1/5才能达到同等精度。DOF数需要增加约$(1/5)^3 \times 4 / 10 \approx 10$倍。改用TET10效率更高。
总结
整理一下3次元解析故障的处理。
"将TET4改为TET10"是3次元解析最具成本效益的改进呢。
毫无疑问。这一个改变就能戏剧性改善精度。做3次元解析的话,一定要坚持用TET10。
实心体单元应力不连续诊断
实心体单元间的应力不连续(应力跳跃)是网格密度不足的指标。相邻单元的冯·米塞斯应力差超过平均值的10%时,按业界惯例判定为精度不足。用Nastran的"STRAIN ENERGY DENSITY"输出来识别能量梯度较大的区域,然后进行重网格处理很有效率。HyperMesh的Error Estimation功能可用Zienkiewicz-Zhu(ZZ)估计量自动可视化局部误差。
相关主题
更详细
错误