一、背景:有限元分析入门的关键不是学软件
“有限元分析怎么做”这个问题背后通常藏着两个更具体的问题:一是”我应该用什么软件”,二是”从拿到CAD模型到得到可信结果,完整的操作流程是什么”。

第一个问题的答案很简单:结构分析学ANSYS(Workbench上手最快)或Abaqus(非线性能力更强),多物理场考虑COMSOL,流体分析学Fluent。挑一个先学,不要试图同时学三个——有限元分析是一个需要”深度”而不是”广度”的技能。
第二个问题才是本文要回答的——用一个完整的四步法,带你走一遍从”拿到任务”到”交出可信结果”的全流程。
二、Step 1:问题定义——分析之前最关键的20分钟
2.1 明确分析类型
很多人拿到CAD模型就直接开始画网格,但跳过了最关键的一步:你要分析什么物理问题?
问自己几个问题:
- 载荷是静态的还是动态的?(静力分析 vs 瞬态动力学)
- 变形是大是小?(线性 vs 几何非线性)
- 材料会屈服吗?(弹性 vs 弹塑性)
- 零件之间有接触吗?(绑定 vs 摩擦接触)
- 温度会影响机械性能吗?(单场 vs 热-结构耦合)
这五个问题的答案直接决定了你需要选择什么分析类型。以汽车转向节为例:
- 紧急制动工况→静力分析(载荷恒定)→线性弹性(安全系数>3)→绑定接触(螺栓预紧区域)→不考虑温度
- 碰撞工况→显式动力学→弹塑性(材料屈服吸收能量)→摩擦接触→考虑应变率效应
同一个零件,两种工况,分析策略完全不同。问题定义阶段犯错,后续所有工作都是浪费。
2.2 确定关心的输出量
有限元分析怎么做的第二步是明确”我要看什么”。不同的输出量对网格密度和求解精度的要求不同:
| 输出量 |
网格要求 |
是否可简化为线性 |
| 位移/刚度 |
粗网格足够(±5%) |
是 |
| 应力(无应力集中) |
中等网格(±5%) |
是(弹性) |
| 应力(应力集中区) |
细网格+收敛性测试 |
取决于是否进入塑性 |
| 固有频率 |
粗网格(前5阶±3%) |
是 |
| 接触压力 |
接触区至少5层单元 |
取决于接触状态 |
| 疲劳寿命 |
极细网格(应力梯度准确) |
否(需要塑性应变) |
如果你只需要知道”零件会不会断”,应力峰值是关键。如果你只需要知道”刚度够不够”,位移/变形就够了。这是完全不同量级的建模工作。
2.3 是否有实验或理论值可对比
如果是首次做一个类型的分析,强烈建议先用一个”有已知答案的简化问题”来验证你的建模方法。例如:
- 想做复杂装配体的螺栓连接分析?先做一个单螺栓单搭接接头的模型,与解析公式对比。
- 想做焊接件的疲劳分析?先做一个对接焊板的模型,与IIW标准S-N曲线对比。
验证过的建模方法再应用到实际复杂模型上——这是避免”跑了一周得到一堆不可信结果”的最有效策略。
三、Step 2:前处理——投入最多时间的阶段
3.1 几何清理
导入CAD模型后,第一件事是几何清理。判断标准:
- 删除所有特征尺寸<网格最小尺寸1/3的细节(小孔、小倒角、刻字)
- 确保所有面是”水密的”(Watertight)——没有缝隙或重叠
- 简化非关键区域的几何(如用Mid-surface代替薄壁实体)
ANSYS Workbench中通过SpaceClaim做几何清理,Abaqus通过Part模块或第三方CAD工具。
3.2 材料定义
查材料手册或材料数据库(MatWeb、ASM Handbook等),获取:
- 弹性模量E、泊松比ν、密度ρ(最基本的三个参数,必填)
- 屈服强度σ_y、抗拉强度σ_uts(弹塑性分析需要)
- 热膨胀系数α(热-结构耦合需要)
- S-N曲线或ε-N曲线(疲劳分析需要)
注意单位一致性:如果CAD模型的尺寸是mm,力是N,那么应力输出是MPa(N/mm²),密度应输入ton/mm³(钢≈7.85E-9 ton/mm³)。
3.3 网格划分
有限元分析怎么做中的网格划分,遵循以下优先级:
- 捕捉几何特征:在变截面、圆角、小孔周围细化网格
- 满足求解精度:在关心的区域确保足够多的单元(应力梯度区≥5层贯穿厚度)
- 不要过度细化:非关键区域用粗网格,接触区域用细网格
最少单元数规则:薄壁件厚度方向≥2层二阶单元(或≥4层一阶单元);圆角弧线≥4个单元;孔周围≥8个单元。
3.4 边界条件:避免过度约束
这是新手最容易犯错的地方。几个原则:
- 只约束物理上真实存在的自由度(不要”为了求解”而多加约束)
- 对称模型利用对称边界(节省50-75%计算量),但明确是否真实对称(载荷、几何、材料三个方面都要对称)
- 如果”不知道怎么约束”,宁可少约束然后用弱弹簧(Weak Springs)或惯性释放(Inertia Relief)来辅助求解
Abaqus惯性释放的操作:在分析步中开启Inertia Relief,软件自动计算加速度,用惯性力平衡外力——适用于”飞行的飞机”、”航行的船舶”等无足够约束但载荷自平衡的场景。
四、Step 3:求解与迭代
4.1 先跑一个”能被验证”的简单模型
在提交完整模型之前,先跑一个简化版本:
- 线性材料代替非线性材料
- 绑定接触代替摩擦接触
- 粗网格代替细网格
- 小载荷步长代替大载荷步长
简化模型的计算时间可能是完整模型的1/50,但它能帮你快速发现建模错误(错误边界条件、不合理的接触定义、单位不匹配等)。
4.2 监控求解过程
求解过程中要实时监控(Abaqus中通过Monitor,ANSYS中通过Solution Information):
- 位移增量的收敛历史:如果增量步长持续缩小但仍不收敛→建模有问题
- 残余力:数值应该在逐渐减小
- 能量平衡:伪应变能(ALLSE/ALLAE)<总内能的5%
如果出现发散:先减小初始步长→检查约束→检查接触→增加稳定化。70%的收敛问题可以通过这四步解决。
五、Step 4:结果验证
5.1 定性检查
在看数字之前,先看”图”:
- 变形动画是否物理合理?(有没有零件”飞出去”?)
- 应力云图在预期位置高吗?(应力集中在几何突变处是合理的)
- 接触状态是否如预期?(预期接触的地方确实接触了,预期不接触的地方确实不接触)
5.2 定量验证
四条验证路径,至少走通一条:
- 解析解对比:简单几何形状、经典载荷下的解析解(如圆孔的Kirsch应力解)
- 实验数据对比:拉伸试验的力-位移曲线、DIC实测的应变场
- 标准算例对比:NAFEMS基准算例(如LE1-LD10系列)
- 网格收敛性:细化网格后结果变化<3%
5.3 向他人展示的”信心指数”
每次提交分析报告时,附上你的”信心指数”:
- ★★★★★:有实验直接验证,偏差<5%
- ★★★★☆:通过网格收敛性+解析解/标准算例验证
- ★★★☆☆:仅通过网格收敛性验证
- ★★☆☆☆:计算成功但未做独立验证
- ★☆☆☆☆:首次尝试这个类型的分析
这个”信心指数”比”最大应力值是237.5 MPa”更有信息量。
六、复盘:有限元分析怎么做的核心心法
- 问题定义占40%的时间——搞清楚”分析什么”比”怎么分析”更重要
- 先简后繁——先用简化模型验证建模方法,再扩展到完整模型
- 验证是必选项——至少做网格收敛性验证
- 保持怀疑——FEA能算出数不等于算出的数对
- 迭代思维——第一次分析的结果几乎一定需要改进,预留1-2轮迭代的时间
有限元分析不是”做一次就对了”的事情——它是一个”做一次、发现问题、改进、再做一次”的迭代过程。接受了这个现实,做FEA的焦虑感会小很多。