有限元分析的精度是工程师最关心的问题之一。很多初学者做出来的结果和实际差很多,不知道问题出在哪里。提高分析精度是一个系统工程,涉及建模、网格、材料、载荷、边界条件等多个方面。本文将介绍提高有限元分析精度的方法和技巧,帮助大家得到更准确的结果。
一、分析精度概述
有限元分析是数值近似方法。
结果不是精确解,是近似解。
精度受很多因素影响。
我们的目标是让结果尽可能接近真实值。
影响分析精度的主要因素:
- 几何模型的简化是否合理
- 网格质量和密度是否足够
- 材料参数是否准确
- 载荷和边界条件是否符合实际
- 单元类型选择是否合适
- 分析方法是否正确
- 求解设置是否合理
精度和计算量的平衡:
- 精度越高,计算量越大
- 要在精度和效率之间找平衡
- 不是越精细越好,够用就行
- 关键区域要保证精度
- 不重要的区域可以适当简化
二、几何建模的精度
1. 几何简化的原则
有限元分析一般都需要简化几何。
简化是否合理直接影响精度。
简化原则:
- 保留对结果影响大的特征
- 去掉对结果影响小的特征
- 小的圆角、倒角可以去掉(不影响强度时)
- 小的孔可以去掉(远离应力集中区时)
- 对称结构可以只建一半
- 周期性结构可以只建一个周期
注意:
- 应力集中区域的特征不能随便简化
- 疲劳分析的细节特征要保留
- 不确定的简化要做对比验证
2. 几何修复的重要性
导入的CAD几何经常有问题。
几何质量差会影响网格质量。
进而影响分析精度。
常见几何问题:
- 小面、碎面
- 缝隙、重叠
- 自由边
- 非流形拓扑
- 几何精度不够
解决方法:
- 用几何修复工具修复
- 重新建模有问题的部分
- 调整几何精度
- 重要的面要保证质量
3. 共享拓扑
多个零件接触的地方要注意。
是绑定接触还是共节点?
不同的处理方式结果不同。
共享拓扑的优点:
- 节点连续,应力传递好
- 不需要接触设置
- 计算效率高
- 结果更准确
适用情况:
- 焊接在一起的零件
- 过盈配合的零件
- 完全绑定的接触面
三、网格划分的精度
1. 网格密度
网格越密,精度越高。
但计算量也越大。
要找到合适的网格密度。
确定网格密度的方法:
- 经验法:根据经验估计
- 参考类似案例
- 网格收敛性验证(最可靠)
网格收敛性验证:
- 逐步加密网格
- 看结果的变化
- 结果变化很小,说明收敛了
- 这时的网格密度就足够了
注意:
- 不是所有地方都要密
- 重要区域加密,不重要的粗一些
- 应力梯度大的地方要密
- 应力均匀的地方可以粗
2. 网格质量
网格质量很重要。
质量差的单元会导致结果不准。
甚至计算不收敛。
常用的网格质量指标:
- 单元质量(Element Quality):越接近1越好
- 纵横比(Aspect Ratio):越接近1越好
- 雅可比(Jacobian Ratio):越接近1越好
- 翘曲度(Warping Factor):越小越好
- 内角(内角不要太大或太小)
提高网格质量的方法:
- 几何简化,去掉小特征
- 分块划分,结构化网格
- 调整网格尺寸
- 用映射网格
- 用扫掠网格
- 局部调整
3. 单元类型的选择
不同的单元类型精度不同。
选择合适的单元很重要。
单元阶次:
- 线性单元(一阶):精度低,计算快
- 二次单元(二阶):精度高,计算慢
- 一般推荐用二次单元
单元形状:
- 六面体:精度高,质量好
- 四面体:适应性强,精度稍差
- 优先用六面体,复杂几何用四面体
注意:
- 应力集中区域不要用线性单元
- 弯曲的几何要用高阶单元
- 接触问题要注意单元选择
四、材料参数的精度
1. 材料参数的重要性
材料参数直接影响结果。
参数不准,结果肯定不准。
要重视材料参数的准确性。
常用材料参数:
- 弹性模量E:影响变形和应力
- 泊松比ν:影响横向变形
- 密度ρ:影响动力学和重力
- 屈服强度σs:影响塑性分析
- 热膨胀系数α:影响热应力
- 导热系数k:影响热分析
2. 材料参数的来源
参数从哪里来?
要保证参数的可靠性。
参数来源:
- 材料手册:最常用,比较可靠
- 材料厂家提供:比较准确
- 实验测试:最准确,但成本高
- 网络资料:要谨慎,可能不准
- 经验值:参考用,不要太依赖
注意:
- 不同牌号的材料参数不同
- 不同状态的材料参数不同
- 温度会影响材料参数
- 重要的分析要做材料试验
3. 材料模型的选择
不同的材料模型精度不同。
要根据问题选择合适的模型。
常用材料模型:
- 线弹性:最简单,小变形小应力
- 弹塑性:考虑塑性变形
- 超弹性:橡胶等大变形材料
- 粘弹性:考虑时间效应
- 蠕变:高温长期载荷
选择原则:
- 应力远小于屈服强度:线弹性就够了
- 应力接近或超过屈服:要用弹塑性
- 大变形的橡胶类材料:超弹性
- 高温长期载荷:考虑蠕变
五、载荷和边界条件的精度
1. 载荷的准确性
载荷是否符合实际很重要。
载荷错了,结果肯定错。
载荷的类型:
- 集中力:简单,但实际很少有真正的集中力
- 压力:比较常见
- 重力:不要忘记
- 温度载荷:热分析或热应力
- 惯性力:动力学问题
注意:
- 载荷的大小要准确
- 载荷的方向要正确
- 载荷的作用位置要对
- 不要漏载荷(比如重力)
- 不要多载荷
2. 边界条件的准确性
边界条件模拟结构的约束。
约束是否符合实际很重要。
约束不对,结果差别很大。
常见约束:
- 固定约束:所有自由度都约束
- 铰接约束:只约束平动,转动自由
- 滑动约束:可以沿某个方向滑动
- 对称约束:对称面的约束
注意:
- 约束要符合实际支撑情况
- 不要过约束,也不要欠约束
- 对称约束要用对
- 约束位置要准确
- 柔性支撑不要简化成刚性
3. 接触的设置
接触问题是非线性的。
接触设置对结果影响很大。
要特别注意。
接触类型:
- 绑定接触(Bonded):完全固定在一起
- 不分离接触(No Separation):可以滑动,不能分开
- 无摩擦接触(Frictionless):可以滑动,可以分开
- 有摩擦接触(Frictional):有摩擦力
- 粗糙接触(Rough):完全粗糙,无滑动
接触设置的注意事项:
- 接触面和目标面要选对
- 接触刚度要合适
- 穿透容差要合理
- 网格要足够细
- 摩擦系数要准确
六、求解设置的精度
1. 求解器的选择
不同的求解器精度和效率不同。
选择合适的求解器。
常用求解器:
- 直接求解器:精度高,内存大
- 迭代求解器:效率高,精度稍低
- 一般默认就可以
2. 收敛准则
非线性问题要设置收敛准则。
收敛准则太松,结果不准。
收敛准则太紧,计算慢。
常用收敛准则:
- 力收敛:检查力的平衡
- 位移收敛:检查位移变化
- 一般默认就可以
- 不收敛时可以适当放宽,但要注意精度
3. 子步的设置
非线性问题要设置子步。
子步太少,可能不收敛。
子步太多,计算慢。
建议:
- 用自动时间步
- 设置合理的最小和最大子步
- 开始可以少一些,需要时自动加密
- 接触、塑性等强非线性问题子步要多一些
七、结果验证
1. 结果验证的重要性
做完分析不要直接相信结果。
要验证结果是否合理。
这是工程师的基本素养。
验证的方法:
- 和理论解对比(简单情况)
- 和实验结果对比
- 和经验对比
- 能量平衡检查
- 网格收敛性验证
- 不同方法对比
2. 简单的检查方法
一些简单的检查可以快速发现问题。
检查项目:
- 变形是否合理(方向、大小)
- 应力分布是否符合预期
- 反作用力是否平衡
- 单位是否正确
- 约束是否正确
- 载荷是否正确
3. 网格收敛性验证
最可靠的验证方法之一。
确保网格足够密。
方法:
- 用粗网格算一遍
- 加密网格再算一遍
- 再加密再算一遍
- 看结果的变化趋势
- 结果变化很小,说明收敛了
注意:
- 至少要算三个不同密度的网格
- 关键结果(最大应力、最大位移等)要检查
- 不收敛就要继续加密
八、提高精度的建议
1. 从简单开始,逐步复杂
不要一开始就建很复杂的模型。
先做简单的,验证对了再加细节。
建议:
- 先做线性分析
- 先做粗略模型
- 验证基本正确后再加细节
- 逐步增加非线性
- 逐步增加复杂度
2. 多做对比分析
不同的方案对比。
不同的方法对比。
更容易发现问题。
对比内容:
- 不同网格密度对比
- 不同单元类型对比
- 不同材料模型对比
- 不同简化方式对比
- 和理论解对比
- 和实验结果对比
3. 积累经验
经验很重要。
做得多了,自然知道哪里容易出问题。
积累经验的方法:
- 多做案例
- 多总结
- 和同行交流
- 学习别人的经验
- 注意常见的坑
4. 重视基础
基础很重要。
理论基础扎实,才能判断结果对不对。
要掌握的基础:
- 材料力学
- 弹性力学
- 有限元基本理论
- 力学基本概念
- 单位和量纲
5. 不要迷信软件
软件只是工具。
结果对不对要靠工程师判断。
- 软件算出来的不一定对
- 要有自己的判断
- 不合理的结果要查原因
- 不要为了凑结果改参数
九、总结
提高有限元分析精度是一个系统工程,涉及建模、网格、材料、载荷、边界条件、求解设置等多个方面。要得到准确的结果,需要在各个环节都注意,还要做好结果验证。
提高精度的要点总结:
- 几何简化要合理,重要特征不能丢
- 网格要足够密,做好收敛性验证
- 网格质量要好,差的单元要改善
- 材料参数要准确,来源要可靠
- 载荷和边界条件要符合实际
- 接触设置要合理
- 求解设置要适当
- 结果一定要验证
- 从简单开始,逐步复杂
- 多做对比,积累经验
有限元分析是工具,关键还是使用工具的人。希望大家重视分析精度,养成良好的分析习惯,做出可靠的分析结果。如果有提高分析精度的经验或技巧,欢迎在评论区交流讨论。
|