有限元分析的结果是否可靠,模型是否正确,这是每个工程师都要面对的问题。模型验证是有限元分析中非常重要的一环,也是保证分析结果可靠性的关键。本文将介绍有限元模型验证的常用方法和技巧,帮助大家建立可靠的有限元模型。
一、模型验证概述
什么是模型验证:
- 确认模型是否正确反映了真实结构
- 确认分析结果是否可靠
- 发现模型中的错误和问题
- 提高分析结果的可信度
为什么要验证模型:
- 有限元是近似方法,有误差
- 建模过程中可能出错
- 材料参数可能不准
- 边界条件可能不符合实际
- 不验证的结果不可靠
- 工程问题不能拍脑袋
验证与确认的区别:
- 验证(Verification):模型是否正确实现了预期的功能,即"把事情做对了吗"
- 确认(Validation):模型是否反映了真实世界,即"做的事情对吗"
- 两者都很重要,缺一不可
二、简单检查法
1. 变形检查
最基本的检查方法。
看变形是否合理。
检查内容:
- 变形方向是否正确
- 变形大小是否合理
- 变形形状是否符合预期
- 有没有奇怪的变形
- 有没有刚体位移
例子:
- 悬臂梁受向下的力,自由端应该向下弯
- 对称结构受对称载荷,变形应该对称
- 受拉的杆件应该伸长,受压的应该缩短
- 如果变形方向反了,可能载荷加反了
2. 应力分布检查
看应力分布是否合理。
检查内容:
- 应力分布是否符合预期
- 最大应力的位置是否合理
- 有没有奇怪的应力集中
- 应力梯度是否合理
- 有没有应力奇异
例子:
- 梁的弯曲,最大应力在上下边缘
- 受拉的板,中间应力均匀,孔边应力集中
- 固定端的应力应该大一些
- 如果应力分布很奇怪,可能模型有问题
3. 反作用力检查
检查反作用力是否平衡。
这是很重要的检查。
检查方法:
- 把所有反作用力加起来
- 看是否和外载荷平衡
- 水平方向、竖直方向、力矩都要平衡
- 不平衡说明模型有问题
常见问题:
- 约束不够,有刚体位移
- 约束太多,过约束
- 载荷加错了
- 接触设置有问题
4. 单位检查
单位是否统一。
前面专门讲过单位问题。
检查内容:
- 长度单位是否统一
- 力的单位是否匹配
- 材料参数的单位是否对
- 结果的单位是否合理
- 用量纲分析检查
三、对比验证法
1. 和理论解对比
最可靠的验证方法之一。
简单问题有理论解的一定要对比。
适用情况:
- 简单的结构(梁、杆、板等)
- 简单的载荷(集中力、均布力等)
- 简单的边界条件
- 线弹性问题
常用理论解:
- 材料力学中的梁的挠度和应力
- 拉压杆的应力和变形
- 圆轴扭转
- 厚壁圆筒
- 平板的弯曲
- 孔边应力集中
注意:
- 理论解有其假设条件
- 有限元模型要符合理论解的假设
- 对比关键位置的结果
- 允许有一定的误差(网格误差等)
2. 和实验结果对比
最真实的验证方法。
有实验条件的一定要做。
对比内容:
- 变形(位移、应变)
- 应力(应变片、光弹等)
- 固有频率
- 极限载荷
- 疲劳寿命
注意:
- 实验也有误差
- 实验条件要和模型一致
- 试件的几何、材料、载荷要准确
- 测量位置要对应
- 要考虑实验的不确定性
3. 和其他软件对比
用不同的软件算同一个问题。
看结果是否一致。
优点:
- 可以发现软件使用的问题
- 可以发现建模的问题
- 增加结果的可信度
注意:
- 不同软件的默认设置可能不同
- 单元类型、求解器等要对应
- 结果有差异是正常的,只要在合理范围内
- 差异太大就要查原因
4. 和经验对比
用工程经验判断。
经验丰富的工程师一眼就能看出问题。
经验来源:
- 类似项目的经验
- 类似结构的分析结果
- 行业的一般规律
- 常见的数值范围
注意:
- 经验很重要,但不能全靠经验
- 新的问题可能超出经验范围
- 经验只能做初步判断
- 重要的问题还要做更严格的验证
四、收敛性验证
1. 网格收敛性验证
最常用的验证方法。
检查网格是否足够密。
方法:
- 用不同密度的网格计算
- 看关键结果的变化
- 结果变化很小,说明收敛了
- 还在变化,说明网格不够密
步骤:
- 第一步:粗网格计算
- 第二步:加密网格(比如加密一倍)
- 第三步:再加密网格
- 第四步:比较结果,看变化趋势
- 第五步:变化很小,就可以认为收敛了
收敛判据:
- 结果变化小于5%?或者更小?
- 根据工程要求确定
- 重要的结构要求高一些
- 一般工程5%以内可以接受
注意:
- 至少要算三个不同密度的网格
- 关键结果(最大应力、最大位移等)要检查
- 应力奇异的地方不要用来判断收敛
- 收敛不代表一定正确,只是网格够密了
2. 时间步收敛性验证
瞬态分析的验证。
检查时间步长是否足够小。
方法:
- 用不同的时间步长计算
- 看结果的变化
- 变化很小,说明时间步长足够了
适用情况:
- 瞬态动力学
- 瞬态热分析
- 其他随时间变化的问题
3. 子步收敛性验证
非线性分析的验证。
检查子步数是否足够。
方法:
- 增加子步数
- 看结果是否变化
- 变化很小,说明子步足够了
注意:
- 非线性问题子步太少可能不收敛
- 子步太少结果可能不准
- 子步太多计算太慢
- 找到合适的子步数
五、能量检查法
1. 能量平衡检查
检查能量是否守恒。
动力学问题常用。
检查内容:
- 动能
- 势能
- 应变能
- 阻尼耗能
- 外力做功
- 总能量是否守恒
注意:
- 有阻尼的话能量会减少
- 有外力做功能量会增加
- 明显的不平衡说明有问题
2. 应变能分布
看应变能的分布。
发现模型中的问题。
应用:
- 哪个部位应变能大,说明哪个部位变形大
- 局部应变能太大,可能有应力集中
- 应变能分布不合理,可能模型有问题
3. 沙漏能检查
显式动力学中常用。
检查沙漏能是否太大。
什么是沙漏:
- 一种零能模式
- 单元变形但没有应变能
- 是数值问题
- 太大了结果就不准了
判断标准:
- 沙漏能占总能量的比例
- 一般小于5%可以接受
- 太大了就要处理
解决方法:
- 细化网格
- 加沙漏控制
- 换单元类型
- 全积分单元
六、参数敏感性分析
1. 什么是参数敏感性分析
研究参数变化对结果的影响。
看哪些参数影响大,哪些影响小。
作用:
- 了解模型的不确定性
- 知道哪些参数需要准确
- 知道哪些参数可以粗略
- 评估结果的可靠性
2. 常用的敏感性分析参数
- 材料参数(弹性模量、泊松比、屈服强度等)
- 载荷大小
- 几何尺寸
- 边界条件的刚度
- 摩擦系数
- 接触刚度
3. 敏感性分析的方法
- 单参数法:一次只变一个参数
- 多参数法:同时变多个参数
- 正交试验法:用较少的计算研究多个参数
- 响应面法:建立参数和结果的近似关系
4. 敏感性分析的应用
- 重要的参数要准确测量或取值
- 不重要的参数可以用经验值
- 评估结果的不确定性范围
- 优化设计时找敏感参数
七、模型验证的流程
1. 建模前
- 明确分析目的
- 确定精度要求
- 选择合适的分析方法
- 收集准确的输入数据
2. 建模中
- 边建模边检查
- 几何检查
- 材料参数检查
- 单元类型和实常数检查
- 边界条件和载荷检查
- 单位检查
3. 初步计算后
- 变形检查
- 应力分布检查
- 反作用力检查
- 能量检查
- 有没有明显的错误
4. 详细验证
- 网格收敛性验证
- 和理论解对比(如果可以)
- 和实验结果对比(如果有)
- 参数敏感性分析
- 不同方法对比
5. 结果评估
- 结果是否可靠
- 误差有多大
- 是否满足精度要求
- 还有哪些不确定性
- 结论和建议
八、总结
模型验证是有限元分析中非常重要的环节,也是工程师的基本素养。一个没有验证的模型,其结果是不可信的,不能用来指导工程设计。
常用的验证方法总结:
- 简单检查法:变形、应力、反作用力、单位
- 对比验证法:理论解、实验、其他软件、经验
- 收敛性验证:网格收敛、时间步收敛、子步收敛
- 能量检查法:能量平衡、应变能分布、沙漏能
- 参数敏感性分析:研究参数变化的影响
验证的建议:
- 从简单检查开始,先排除明显的错误
- 重要的问题要做严格的验证
- 网格收敛性验证很重要,尽量都做
- 有理论解的一定要对比
- 有实验条件的一定要做实验验证
- 了解模型的不确定性
- 不要盲目相信软件的结果
有限元分析不是点一下求解就完事了,验证是分析过程中不可或缺的一部分。希望大家重视模型验证,养成良好的分析习惯,做出可靠的分析结果。如果有模型验证的经验或问题,欢迎在评论区交流讨论。
|