热应力分析
热应力理论基础
概述
老师! 今天讲热应力分析是吧? 什么东西啊?
温度分布产生的热应变和热应力的耦合分析。拘束条件下应力产生。引擎部件、涡轮圆盘等温度梯度大的结构不可或缺。
等等等等,温度分布产生的热,也能用这个方法吗?
支配方程
听到这儿,我终于理解为什么热应力分析很重要了!
离散化方法
这个方程在计算机上怎么实际求解?
用有限元法(FEM)进行空间离散化。组装单元刚度矩阵,构建全局刚度方程。
矩阵求解算法
矩阵求解算法具体是怎么回事?
直接法(LU分解、Cholesky分解)或迭代法(CG法、GMRES法)求解线性方程组。大规模问题用预处理迭代法很有效。
| 求解法 | 分类 | 内存使用 | 适用规模 |
|---|---|---|---|
| LU分解 | 直接法 | O(n²) | 小-中等规模 |
| Cholesky分解 | 直接法(对称正定) | O(n²) | 小-中等规模 |
| PCG法 | 迭代法 | O(n) | 大规模 |
| GMRES法 | 迭代法 | O(n·m) | 大规模·非对称 |
| AMG预处理 | 预处理 | O(n) | 超大规模 |
也就是说,有限元法这里扣分的话,后面会很吃亏啊。记住了!
商用工具中的实现
那么,做热应力分析要用什么软件呢?
| 工具名称 | 开发商/现主人 | 主要文件格式 |
|---|---|---|
| COMSOL Multiphysics | COMSOL AB | .mph |
| Ansys Mechanical(原ANSYS Structural) | ANSYS Inc. | .cdb, .rst, .db, .ans, .mac |
| Abaqus FEA(SIMULIA) | Dassault Systèmes SIMULIA | .inp, .odb, .cae, .sta, .msg |
| MSC Marc | Hexagon(MSC Software) | .dat, .t16, .t19 |
厂商系统和产品整合的经过
各个软件的来历是不是很精彩啊?
COMSOL Multiphysics
请介绍一下「COMSOL Multiphysics」!
1986年在瑞典成立。以MATLAB联动的FEMLAB起家,后改名为COMSOL。多物理场见长。
现属:COMSOL AB
ANSYS Mechanical(原ANSYS Structural)
请介绍一下「ANSYS Mechanical」!
1970年由Swanson Analysis Systems Inc.(SASI)开发。基于APDL(Ansys参数化设计语言)。
现属:ANSYS Inc.
Abaqus FEA(SIMULIA)
Abaqus FEA是怎么一回事?
1978年由HKS(Hibbitt、Karlsson和Sorensen)开发。2005年被Dassault Systèmes收购,整合到SIMULIA品牌下。
现属:Dassault Systèmes SIMULIA
啊,我明白了! 在瑞典成立就是指这种结构啊。
文件格式与互操作性
不同软件间传输数据的时候有什么要注意的吗?
| 格式 | 扩展名 | 类型 | 概述 |
|---|---|---|---|
| STEP | .stp/.step | 中立CAD | 符合ISO 10303的3D CAD数据交换格式。形状+PMI适配。 |
| IGES | .igs/.iges | 中立CAD | 初期CAD数据交换规范。曲面数据互容性有课题。正向STEP转移。 |
| MED | .med | 网格/结果 | EDF/CEA开发。Code_Aster等用。基于HDF5。 |
不同求解器间转换模型时,要注意单元类型对应关系、材料模型兼容性、载荷和边界条件的表示差异。尤其是高阶单元或特殊单元(内聚单元、用户定义单元等)经常无法直接转换。
原来,格式看起来很简单,其实深度很大啊。
实务注意点
教科书没有的「现场智慧」有什么吗?
网格收敛性确认、边界条件合理性验证、材料参数灵敏度分析特别重要。
热应力分析的全貌我掌握了! 明天要在实务中意识到。
很好,势头不错! 实际动手操作是最好的学习。有不懂的随时问我。
热应力的「看不见的力」——铁路轨道教给我们的
炎炎骄阳下,铁路轨道突然座屈、脱轨——这是热应力的典型例子。轨道两端被固定,温度升高时无法伸展,内部积累压应力。钢铁的线膨胀系数约12×10⁻⁶/℃,所以100米长的轨道在气温上升40℃时,如果自由伸展会伸长48mm,但被固定后会产生约240MPa的压应力。JR等铁道公司在「定尺轨」向「长轨」变更时,设定热中性温度,管理夏冬温度差造成的应力在许容范围内。热应力的支配方程看起来简单,但其影响就在我们身边。
热应力数值计算方法
数值方法详解
具体怎样用算法求解热应力分析?
等等等等,热应力分析中的数这个意思,也能用这个方法吗?
离散化的定义
用形状函数 $N_i$ 来近似未知量:
用式子表示就是这样。
基本方程的离散形式
用式子表示就是这样。
啊,式子看着很懵……表示什么呢?
连续体的支配方程离散化后得到这样的代数方程组:
其中 $[K]$ 是全局刚度矩阵(或等效系统矩阵)、$\{u\}$ 是未知节点变量矢量、$\{F\}$ 是外力矢量。
啊,这样! 连续体的支配方程离散化就是这种机制啊。
单元技术
「单元技术」这个说法听过,但可能没完全理解……
| 单元类型 | 次数 | 节点数(3D) | 精度 | 计算成本 |
|---|---|---|---|---|
| 四面体1次 | 线性 | 4 | 低(剪切锁定) | 低 |
| 四面体2次 | 二次 | 10 | 高 | 中 |
| 六面体1次 | 线性 | 8 | 中 | 中 |
| 六面体2次 | 二次 | 20 | 非常高 | 高 |
| 棱柱 | 线性/二次 | 6/15 | 中-高 | 中 |
积分方案
积分方案具体是怎么回事?
听到这儿,单元类型为什么重要,我终于理解了!
收敛性和稳定性
收敛不了怎么办,先检查什么?
收敛速度:二次单元时误差以 $O(h^2)$ 的数量级递减(光滑解情况下)
原来,网格细化看起来很简单,其实深度很大啊。
求解器设置建议
具体怎样用算法求解热应力分析?
| 参数 | 推荐值 | 备注 |
|---|---|---|
| 迭代法的收敛判定 | $10^{-6}$ | 残差范数基准 |
| 预处理手法 | ILU(0) or AMG | 按问题规模 |
| 最大迭代次数 | 1000 | 不收敛时需调整设置 |
| 内存模式 | In-core | 尽可能使用 |
单一法
把全物理场当做1个联立方程组同时求解。对于强耦合很稳定,但实现复杂、内存消耗大。
分割法(分离迭代法)
各物理场独立求解,界面交换数据。实现容易且能活用既有求解器。适合于弱耦合。
界面数据转写
最近邻法(最简单但精度低)、射影法(保存)、RBF插补(非匹配网格抗性强)。保存性和精度的均衡很重要。
子迭代
每个耦合阶段内进行充分的迭代,确保界面条件一致性。残差基准应基于各物理场的典型值来缩放。
Aitken缓和
自动调整耦合迭代的缓和系数。防止过缓和引发发散,加速收敛的自适应手法。
稳定性条件
注意added mass效应(流体-结构耦合中结构密度≈流体密度的场合)。不稳定时施加Robin型界面条件或IQN-ILS法。
热应力实务应用
实践指南
老师,请介绍「实践指南」!
解说热应力分析的实务分析流程和注意点。
分析流程
从最初一步教我吧! 从哪里开始呢?
1. 预处理(Pre-processing)
- 导入CAD数据并简化形状
- 定义材料特性
- 网格生成(确定单元类型、大小)
- 设定边界条件和荷载条件
2. 求解(Solving)
- 求解器设置(求解法、收敛基准、输出控制)
- 投入作业并执行计算
- 收敛监视
3. 后处理(Post-processing)
- 结果可视化(位移、应力、其他物理量)
- 结果验证和合理性确认
- 编写报告
网格生成最佳实践
网格的好坏怎样判断?
单元品质指标
请介绍「单元品质指标」!
| 指标 | 理想值 | 许容范围 | 影响 |
|---|---|---|---|
| 纵横比 | 1.0 | < 5.0 | 精度下降 |
| 雅可比比值 | 1.0 | > 0.3 | 单元退化 |
| 扭曲 | 0° | < 15° | 精度下降 |
| 斜度 | 0° | < 45° | 收敛性恶化 |
| 锥度比 | 0 | < 0.5 | 精度下降 |
网格密度的确定
网格密度的确定具体是怎么回事?
边界条件设定指针
边界条件这个,一旦弄错全完了,听说是这样……
啊,这样! 过约束注意就是这种机制啊。
商用工具分类实现步骤
有各种软件吧? 各自的特色教一下!
| 工具名称 | 开发商/现主人 | 主要文件格式 |
|---|---|---|
| COMSOL Multiphysics | COMSOL AB | .mph |
| ANSYS Mechanical(原ANSYS Structural) | ANSYS Inc. | .cdb, .rst, .db, .ans, .mac |
| Abaqus FEA(SIMULIA) | Dassault Systèmes SIMULIA | .inp, .odb, .cae, .sta, .msg |
| MSC Marc | Hexagon(MSC Software) | .dat, .t16, .t19 |
COMSOL Multiphysics
请介绍「COMSOL Multiphysics」!
1986年在瑞典成立。以MATLAB联动的FEMLAB起家,后改名为COMSOL。多物理场见长。
现属:COMSOL AB
ANSYS Mechanical(原ANSYS Structural)
请介绍「ANSYS Mechanical」!
1970年由Swanson Analysis Systems Inc.(SASI)开发。基于APDL(Ansys参数化设计语言)。
现属:ANSYS Inc.
老师的说法清楚! 工具名字的雾霾散了。
常见失败与对策
初心者容易犯什么错误? 事先想知道!
| 症状 | 原因 | 对策 |
|---|---|---|
| 计算不收敛 | 网格品质不良、不适切的边界条件 | 改善网格、重新审视约束条件 |
| 应力异常大 | 应力奇点、网格依存 | 规避奇点、局部网格细化 |
| 位移不现实 | 材料常数误差、单位系不统一 | 确认输入数据 |
| 计算时间过长 | 不必要的细化、低效率求解 | 网格最优化、并行计算 |
质量保证检查清单
教科书没有的「现场智慧」有什么吗?
热应力分析的全貌我掌握了! 明天要在实务中意识到。
很好,势头不错! 实际动手操作是最好的学习。有不懂的随时问我。
现场工程师的「热应力常见事」——配管支撑的失败案例
工厂配管设计中经常有「轻视热应力」引发的典型失败。高温蒸气配管设计时,给膨胀节(Expansion Joint)装了吸收热膨胀,但又在近边的支撑(金具)做了固定端,结果应力集中在那儿破裂。热膨胀有连续性特征——「必须在某处吸收,否则负荷必定加到某个地方」。在实务中,配管等测图上要标注温度条件和支撑的固定/可移类型,用专用软件(如CAESAR II)对全系统进行热应力分析是业界标准。「模拟和现场的差异」容易出现在边界条件设定错误,特别是实际滑动的支撑因摩擦而固着的情况要注意。
热应力软件对比
商用工具对比
有各种软件吧? 各自的特色教一下!
详述支持热应力分析的主要商用CAE工具的功能对比以及各产品的历史背景。
支持工具列表
那么,做热应力分析要用什么软件呢?
| 工具名称 | 开发商/现主人 | 主要文件格式 |
|---|---|---|
| COMSOL Multiphysics | COMSOL AB | .mph |
| ANSYS Mechanical(原ANSYS Structural) | ANSYS Inc. | .cdb, .rst, .db, .ans, .mac |
| Abaqus FEA(SIMULIA) | Dassault Systèmes SIMULIA | .inp, .odb, .cae, .sta, .msg |
| MSC Marc | Hexagon(MSC Software) | .dat, .t16, .t19 |
COMSOL Multiphysics
请介绍「COMSOL Multiphysics」!
1986年在瑞典成立。以MATLAB联动的FEMLAB起家,后改名为COMSOL。多物理场见长。
现属:COMSOL AB
ANSYS Mechanical(原ANSYS Structural)
请介绍「ANSYS Mechanical」!
1970年由Swanson Analysis Systems Inc.(SASI)开发。基于APDL(Ansys参数化设计语言)。
现属:ANSYS Inc.
Abaqus FEA(SIMULIA)
Abaqus FEA是怎么一回事?
1978年由HKS(Hibbitt、Karlsson和Sorensen)开发。2005年被Dassault Systèmes收购,整合到SIMULIA品牌下。
现属:Dassault Systèmes SIMULIA
MSC Marc
请介绍「MSC Marc」!
由MARC Analysis Research Corp.开发的非线性FEA求解器。MSC Software收购。大变形、接触见长。
现属:Hexagon(MSC Software)
原来,在瑞典成立看起来很简单,其实深度很大啊。
功能对比矩阵
预算时间都有限,成本效能最强的是哪个?
| 功能 | COMSOL | Ansys Mechanical | Abaqus | Marc |
|---|---|---|---|---|
| 基本功能 | ○ | ○ | ○ | ○ |
| 高阶功能 | ○ | ○ | ○ | △ |
| 自动化/脚本 | ○ | ○ | ○ | ○ |
| 并行计算 | ○ | ○ | ○ | ○ |
| GPU适配 | △ | △ | △ | ○ |
变换时的风险
变换时的风险具体是怎么回事?
啊,这样! 不同工具间的变换看起来很简单,其实深度很大啊。
许可证形式
「许可证形式」这个说法听过,但可能没完全理解……
| 工具 | 许可证 | 特色 |
|---|---|---|
| 商用FEA | 节点锁定/浮动 | 高价但有官方支持 |
| OpenFOAM | GPL | 无需付费但支持是付费 |
| COMSOL | 节点锁定/浮动 | 模块单位购买 |
| Code_Aster | GPL | EDF开发的OSS求解器 |
选型指南
最后到底选哪个,判断基准教我吧?
热应力分析工具选型的时候要考虑:
热应力分析的全貌我掌握了! 明天要在实务中意识到。
很好,势头不错! 实际动手操作是最好的学习。有不懂的随时问我。
求解器选择的「隐藏的差」——热应力分析基准的幕后
「用什么求解器都得一样的结果」的想法很普遍,但热应力分析中单元定义的不同会影响结果。特别是薄板、薄壁的热应力中,线性完全积分单元(C3D8)会因剪切锁定显示过硬的结果,而低减积分单元(C3D8R)或二次单元(C3D20R)的精度更高。某次基准试验中同一有限单元模型用Abaqus/Ansys/MSC Nastran三个求解器求解,最大热应力的差达到15%。原因是接触单元热传导实现的差异。厂商资料的验证事例不能照单全收,用接近自己材料、形状、温度条件的基准在自己手里跑一遍是明智的。
热应力前沿研究
前沿主题和研究动向
热应力分析这个领域,今后怎么进化呢?
看一下热应力分析领域的最新研究动向和先进手法。
原来,热应力分析的最新看起来很简单,其实深度很大啊。
最新的数值方法
下面是最新数值方法的话题吧。什么内容?
啊,式子看着很懵……表示什么呢?
高性能计算(HPC)适配
| 并行化手法 | 概述 | 适用求解器 |
|---|---|---|
| MPI(领域分割) | 分布内存型。大规模问题的标准 | 全主要求解器 |
| OpenMP | 共享内存型。节点内并行 | 多数求解器 |
| GPU(CUDA/OpenCL) | GPGPU活用。显式法特别有效 | LS-DYNA、Fluent等 |
| 混合MPI+OpenMP | 节点间+节点内并行 | 大规模HPC环境 |
热应力故障排除
故障排除
啊,这样! 热应力分析相关的就是那种机制啊。
常见错误和对策
老师也在热应力分析中彻夜调试过吗?(笑)
1. 收敛失败
收敛失败具体是怎么回事?
症状:求解器在指定迭代次数内不收敛而异常终止
可能原因:
- 网格品质不足(过度畸变单元)
- 材料参数设置不当
- 不当的初始条件
- 非线性性过强(荷载阶数不足)
对策:
- 进行网格品质检查(纵横比、雅可比)
- 确认材料参数的单位系
- 荷载分成多个阶段(增加子阶数)
- 缓和收敛判定基准(但要注意精度)
也就是说,收敛失败的地方扣分的话,后面会很吃亏啊。记住了!
2. 非物理的结果
下面是非物理的结果的话题吧。什么内容?
症状:应力/位移/温度等物理上不现实
可能原因:
- 边界条件设定误差
- 单位系混用(SI单位和工学单位混同)
- 单元类型选择不当
- 应力奇点的存在
对策:
- 确认反力合计(力的平衡)
- 单位系一致性确认
- 重新考虑单元类型的适切性
- 奇点除去或子模型化
前辈跟我说「收敛失败一定要好好做」的意思我明白了。
3. 计算时间超过
计算时间超过具体是怎么回事?
症状:计算所需时间远远超过想定时间
对策:
- 网格粗密分布的最优化
- 对称性的活用(1/2、1/4模型)
- 求解器设置最优化(迭代法、预处理的选择)
- 并行计算的活用
4. 内存不足
请介绍「内存不足」!
症状:Out of Memory错误
前辈跟我说「收敛失败一定要好好做」的意思我明白了。
对策:
- 核外求解法的使用
- 网格规模的削减
- 确认64bit版求解器使用
- 增加内存分配
哦~,收敛失败的说法,超有趣! 更多讲给我听吧。