嵌合体这个词,放在结构分析里听着挺玄乎,其实干过几年仿真的人都懂——它就是异种材料通过焊接、钎焊、增材制造或者其他工艺拼成一个整体零件的结构。钛合金外壳套钢芯、铜合金镶钢结构、镍基合金堆焊在耐热钢基体上,这些全是典型的嵌合体。这类零件最怕的一件事就是热处理,尤其是退火:两种材料热膨胀系数不一样,升温时各胀各的,降温时谁也不听谁的,残余应力、翘曲变形、界面开裂,全在炉子里那一晚上冒出来。所以嵌合体退火工艺设计绕不开一个东西——完全热力耦合仿真。我自己被这类项目折腾过好几回,从最开始只会做顺序耦合,到后来被一个铜钢嵌合组件的开裂问题逼着把完全热力耦合跑通,中间踩的坑相当多。这篇教程就把整个分析流程掰开讲清楚,从分析步选型、材料参数、接触设置到网格划分、收敛问题排查,全部串起来,给做焊接残余应力、热处理工艺优化的同行一个可以直接抄作业的参考。
这个教程适合谁?搞焊接仿真的工程师、做热处理工艺优化的工艺员、研究异种材料连接的在校学生,都适用。不需要你有Abaqus多少年的功力,但至少得知道怎么建材料、怎么切网格、怎么看后处理。完全热力耦合这个东西,没有听起来那么高端,但确实有一堆细节坑,我把实际项目里的参数、设置和踩雷过程整理出来,比你自己翻两天帮助文档要快得多。
1. 嵌合体退火仿真要解决什么问题
1.1 嵌合体结构与退火工艺的矛盾点
嵌合体结构在工程上非常常见,尤其是高温工况下的承力件。举个最直观的例子:某型换热器的法兰接管段,为了兼顾耐蚀、导热和结构强度,内部用铜合金衬里,外部用碳钢壳体,两者通过钎焊形成一个整体。这种结构的加工过程一定逃不过退火:要么是焊后消除应力退火,要么是工艺中间退火恢复塑性。问题来了,铜的热膨胀系数大约在 17e-6/℃ 左右,碳钢在 12e-6/℃ 上下,升温到 600℃ 再冷却下来,界面两侧的长度变化差异可以达到百分之零点几。听起来不多,但在约束条件下,这个失配量转化成的热应力可以轻轻松松超过材料的屈服强度。退火的目的是消应力,结果反而引入了新的应力源,这就是嵌合体退火工艺设计的核心矛盾。
单纯靠经验试炉子参数不是不行,但成本高、周期长、风险大。尤其是嵌合体界面属于异种材料连接,出了开裂问题无法通过肉眼直接判断是材料问题、工艺问题还是结构设计问题。仿真的价值就在于把温度场、应力场、变形场的时间演化全过程打开来看,让工艺设计有了一个提前预演的工具。我见过太多项目组,炉子烧了好几炉废品,才想起来做仿真分析,其实第一步就该上完全热力耦合。
1.2 完全热力耦合与顺序耦合的本质区别
Abaqus 里做热应力分析有两种路子:顺序耦合(Sequential Coupling,先算热再算力)和完全热力耦合(Fully Coupled Temperature-Displacement Analysis,温度和位移同时求解)。
顺序耦合的逻辑是这样的:第一段先跑 heat transfer 分析步,把温度场随时间的变化算出来,整个模型只含有温度自由度;第二段把温度场作为预定义场导入,再跑 static, general 分析步,求解热应力。这种做法在温度场不受变形影响、结构刚度不随温度剧烈变化的问题里精度足够,而且计算成本低。
但嵌合体退火不一样。退火过程中结构出现了明显的热变形,而这种变形反过来会改变界面接触状态。嵌合体界面如果存在间隙或者接触压力变化,界面热传导效率是会变的,温度场因此发生变化,温度场一变应力又跟着变。这是典型的热-力双向耦合。顺序耦合把这条双向路径砍成了单向,相当于一个人一边泡热水澡一边给皮肤做力学拉伸,你说皮肤变形不会影响你感受到的水温吗?显然会。这种场景下就必须用完全热力耦合。
具体到 Abaqus 操作上,选择 Coupled temperature-displacement 分析步,然后在单元类型里选择带温度自由度的热力耦合单元(C3D8T 这类),软件就会在每个增量步内同时迭代求解位移和温度两套自由度。我自己的判断标准是这样的:如果嵌合体刚度差异大、界面接触状态可能因为变形而改变、冷却阶段温度梯度大导致瞬态应力接近屈服,那么直接上完全耦合;如果只是简单平板堆焊模拟、温度场单方向影响、结构变形很小,那顺序耦合完全够用。不要盲目追求完全耦合,算得慢不说,收敛难度也会上一个台阶。
2. 仿真前准备:几何模型与材料参数
2.1 几何清理与装配处理的工程取舍
嵌合体的三维模型通常来自 CAD 系统,直接导入 Abaqus 之后绝不能立刻开始画网格。退火仿真的几何预处理核心原则就一句话:删掉那些对温度场和应力场没有实质影响的特征。圆角、小倒角、螺纹孔、安装台阶这些特征,如果尺寸远小于网格尺寸,它们只会让网格质量恶化、求解时间膨胀,却对热容、导热路径、应力分布的影响微乎其微。
我实际处理过的某钛合金/钢嵌合件,原始 CAD 模型有 40 多个圆角特征,全部清理掉以后,网格数量下降 35%,而关键节点的温度峰值误差不到 1.5%。这个精度损失完全可以接受,换来的是求解时间从 11 小时压缩到 6 小时。清理几何时有一个细节值得注意:嵌合界面两侧的几何必须保证共面。CAD 里经常出现两个零件在界面处有微小间隙或者重叠,如果不做处理,后续定义接触或者 Tie 约束时会出现穿透或者不闭合,收敛直接崩掉。
装配层面,嵌合体一般有两种处理方式:如果界面是冶金结合(钎焊、扩散焊、增材一体成型),通常用 Tie 约束把界面绑定在一起;如果界面是机械贴合(过盈、螺栓压紧),则需要定义 Contact 接触对。这个选择直接决定后续接触热导率的定义方式,不能拍脑袋决定。我在 2.3 节会展开讲。
2.2 随温度变化的材料参数是全场最重要的输入
很多人做热力耦合仿真,把精力都花在网格收敛上,却忽略了材料参数。我可以很负责任地说,嵌合体退火仿真中,90% 的精度问题出在材料参数而不是求解设置上。完全热力耦合要求的材料参数比普通结构分析多得多,而且几乎每一项都必须定义随温度变化的曲线,不能在 Material 里只填一个常数。
需要的力学参数包括:弹性模量 E、泊松比(取常数即可,影响很小)、屈服强度、真实应力-应变曲线的塑性段数据、热膨胀系数。热学参数包括:导热系数、比热容、密度。这里面最特别的是热膨胀系数,不等于热物性,它直接控制热应力的绝对值。材料的瞬时热膨胀系数往往不是定值,随着温度升高会增大,如果只取一个平均常数,算出来的残余应力能偏到 30% 以上。
我一般会建立一张类似下面的温度-参数表,每一列都是插值点:
| 温度 (℃) | 导热系数 (W/(m·K)) | 比热容 (J/(kg·K)) | 弹性模量 (GPa) | 屈服强度 (MPa) | 热膨胀系数 (1e-6/℃) |
|---|---|---|---|---|---|
| 20 | 45.0 | 460 | 210 | 350 | 12.0 |
| 200 | 47.2 | 540 | 195 | 280 | 12.8 |
| 400 | 43.5 | 620 | 175 | 200 | 13.6 |
| 600 | 39.8 | 700 | 140 | 110 | 14.2 |
| 800 | 35.0 | 800 | 105 | 50 | 14.8 |
这张表只是参考格式,具体数值必须用你手头材料的实测数据。这里有一个工程陷阱:国内很多供应商只能提供常温参数,高温段数据往往缺失。碰到这种情况,我有两个处理原则。第一,优先查同牌号材料的公开实测数据或者手册曲线,比如常见的钢材类有国标推荐值,钛合金类可以查公开发表的论文数据。第二,如果只能拿到 400℃ 以下的数据,高温段宁可采用保守外推,也不要线性拉伸。线性外推弹性模量到 800℃ 很容易出现负值这种荒唐结果,比热容随温度一般先升后平,导热系数对金属来说基本随温度升高而下降。这些趋势要抓住。
2.3 接触与约束设置:嵌合界面的热力传递逻辑
嵌合体仿真成败的一个隐藏关键点,是界面如何处理热量传递。如果是 Tie 绑定,Abaqus 默认界面温度会保持一致,热量传递无限快,这实际上是冶金结合的近似。对钎焊、扩散焊这种结合良好的界面,Tie 的近似误差在工程可接受范围内。但如果你研究的就是界面热阻对残余应力的影响,那就需要用接触对加间隙导热系数来模拟。
用 Contact 的时候,有个参数叫 gap conductance,即界面热导率,单位 W/(m²·K)。退火过程中,界面接触压力随着热变形变化,而接触压力又直接影响 gap conductance,这个循环在完全热力耦合里可以被捕获。设置方法是在 Interaction 的 Thermal 选项卡里定义界面热导率随接触压力或间隙变化的表格。我这里给出一个常用的压力-热导率表形式:
| 接触压力 (MPa) | 界面热导率 (W/(m²·K)) |
|---|---|
| 0 | 500 |
| 10 | 1500 |
| 50 | 3000 |
| 100 | 4500 |
这个表怎么理解?压力越大,微观接触点越多,热流通过界面越顺畅,热导率越高。数值本身受表面粗糙度、中间介质影响极大,最好有实验数据支撑。没有实验数据怎么办?做敏感性分析:分别取低、中、高三档,看关键节点的温度历程差多少。如果差异在可接受范围,说明你的工艺设计对界面热阻不敏感,那一档数据都行。我做过的一个案例里,界面热导率从 500 变到 3000,界面峰值温度差 40℃,但残余应力只差 12%,这种敏感度分布是正常的。
力学约束方面,退火仿真比较容易犯的错误是约束过多导致过约束。整个嵌合体在炉子里是自由放置的,实际工艺中工件只靠几个支撑点支撑,所以仿真时也应该只加最少的约束来消除刚体位移,比如三点约束:一个点限制三个平移自由度,一个点限制两个方向,一个点限制一个方向。千万别把底面全部固定,那是给压机工况的结构用的,完全不符合炉内自由的物理现实。约束多了,热膨胀无处释放,热应力会被严重高估,算出来的残余应力直接失真。
3. 完全热力耦合分析步与边界条件实操
3.1 分析步创建与增量步控制策略
创建分析步的时候,在 Step 对话框里选择 Coupled temperature-displacement。Abaqus/Standard 和 Abaqus/Explicit 都支持完全热力耦合,但对退火这种时间尺度以小时计的问题,用 Standard 更合适,因为隐式算法在低速问题上的时间增量步可以取得比较大,而显式算法的稳定时间极限是微秒量级,一个小时工艺时间可能需要几百万个增量步,不现实。
分析步的时长直接对应工艺时间。典型的退火工艺由升温段、保温段、降温段组成,注意这里不能图省事只建一个分析步覆盖全过程。升温段和降温段的换热机制完全不一样,而且降温段的应力驱动力才是残余应力形成的关键阶段。我通常建三个分析步,每个分析步对应一个工艺段,这样后处理和数据提取会清晰得多。如果你用的炉子带有阶段程序升温,还需要在每个分析步里通过幅值曲线(Amplitude)来控制环境温度的变化率。
增量步设置是我每次都要检查的重点。完全热力耦合的收敛困难,很大程度上是增量步控制不当引起的。经验参数如下:初始增量步设为工艺总时长的万分之一到千分之一;最小增量步设到 1e-5 秒量级,这个值看起来小得离谱,但碰到接触振荡或者热-力强耦合时它能兜底;最大增量步不设硬限制,但建议设置一个"增量步内允许的最大温度变化",比如 50℃。这个温度变化限制是热力耦合求解里的一个关键旋钮:限制越严格,每个增量步内温度变化越小,材料参数随温度变化引起的非线性越弱,收敛越容易;但代价是增量步数量增多,计算时间上升。
3.2 热边界条件:对流、辐射与炉膛环境的等效处理
退火的本质是把工件放在一个特定的热环境里,让温度按工艺曲线走。因此热边界条件设定的核心是描绘炉膛环境对工件表面的加热和冷却作用。在 Abaqus 里,有一个处理策略我特别推荐:把炉膛环境温度定义成预定义场里整个模型的初始温度,同时对模型所有外表面定义一个 Film condition(膜系数换热)来模拟对流,再叠加一个 Surface radiation(表面辐射)。
膜系数即对流换热系数,这个值别乱填,不同工况对应数量级完全不同:
| 工况类型 | 对流换热系数 (W/(m²·K)) |
|---|---|
| 炉内自然对流 | 5 ~ 15 |
| 炉内强制循环风 | 30 ~ 80 |
| 风扇直吹 | 50 ~ 120 |
| 水淬 | 1000 ~ 8000 |
退火炉大多是强制循环风炉,膜系数取 50 左右起步比较合理。辐射部分也相当关键,炉子 600℃ 以上的辐射换热占比非常大。如果模型是简单外凸体,用简化的表面辐射就够了;如果嵌合体内部有空腔或者缝隙,热量在腔体内来回反射,那就得用辐射(Cavity radiation)定义法。金属表面在氧化状态下的发射率一般取 0.7~0.85,抛光表面低一些,取 0.2 左右。炉内是氧化气氛或者零件表面已经氧化变色的,发射率取高值没毛病。
需要提醒的是,很多实际项目里炉膛温度与零件表面温度的差值是不清楚的,厂家给的工艺曲线只说是炉膛设定温度,这就会带来一个误差来源。我的处理办法是:不直接设定零件表面温度曲线,而是设定环境温度曲线加换热系数,让仿真自己算出零件温度响应。这才符合物理逻辑,也方便后续对标炉内热电偶实测数据。做完一次求解后,对比仿真表面温度与实测的炉内热电偶数值,反过来校准膜系数,这比任何理论推算都可靠。
3.3 力学边界条件:让模型真正待在炉子里
前面提过三点约束法,这里展开一下具体操作方案。假设嵌合体是一个大致沿着 X 方向延伸的柱状件,我通常这样约束:在某一端面上选一个节点,约束 U1、U2、U3;在同一端面或者相邻端面找另一个节点,约束 U2、U3;再找一个节点约束 U3。这样刚好消除六个刚体自由度,又不妨碍热膨胀引起的自由变形。关键点是三个约束点不能选在同一条直线上,否则会引入虚假的转动约束。
退火工况下要不要开 Nlgeom(几何非线性开关)?我的建议是默认打开,除非你有很强的理由确定变形是小变形。嵌合体在升温阶段的热膨胀变形量尽管绝对数值不大,但接触状态、辐射腔形状都依赖几何位置更新。完全热力耦合分析里,开 Nlgeom 对收敛性的影响一般可控,不开反而可能在接触大滑移时出错。
至于自重载荷,如果在炉内是多个支点支撑,自重的影响可以忽略;悬臂类结构入炉就需要考虑。判断标准是一句话:重力产生的应力如果远小于热应力,就可以不加;如果两者一个量级,必须加上。我自己做的一个大直径嵌合体法兰项目,重力应力不到热应力峰值的 5%,直接忽略,结果没问题。
3.4 载荷与工装约束的交互影响
退火工艺里最容易被忽略的是工装约束。实际生产中,工件往往不是裸露放在炉子里,而是放在料架、垫铁、夹具上。料架的支撑面积、材料、导热性能会直接影响局部散热条件。如果料架是钢制的,导热快,工件与之接触位置的温度会明显低于其他区域,形成局部温度梯度,这个梯度在保温阶段还能缓解,但冷却阶段会被放大。
仿真里的两种做法:把工装直接建模成一个弹性体放入装配,定义它与工件之间的接触和界面热导率;或者简单一点,在接触区域施加局部增强的换热系数来模拟工装的吸热和散热效应。第一种精度高但建模复杂度大,第二种做工艺敏感性研究非常方便。我的建议是:如果你关注的不是工装影响本身,而是嵌合体界面和材料失配效应,用第二种简化方案就够了;如果工装分布确实不均匀且面积很大,建议老老实实建工装体。
4. 网格划分技巧与求解稳定性
4.1 单元类型选择:热力耦合单元的坑与出路
完全热力耦合要求单元同时具备温度和位移自由度。Abaqus 实体单元里最常用的是 C3D8T(8 节点六面体热力耦合单元)、C3D6T(6 节点三棱柱)、C3D4T(4 节点四面体)。这里有一个很多教程不会强调的坑:同一个网格拓扑,如果选成 C3D8RT(8 节点六面体缩减积分热力耦合单元),虽然每个增量步计算量小一些,但缩减积分单元固有的沙漏模式在热力耦合问题里会被温度场和应力场的耦合放大,处理不当结果就看起来平滑其实是假的。我做过的结构件项目里,C3D8RT 在没有足够的沙漏控制参数调整时,残余应力分布出现了明显的零能量模式条纹。所以我的首选是 C3D8T,全积分虽然略慢,但结果可靠。
C3D10T(10 节点二阶四面体热力耦合单元)能用,但在接触大滑移和热力强耦合场景下,二阶单元的节点力映射容易出现振荡,而且二阶单元对初始网格质量非常挑剔,稍有畸变单元就会负特征值。嵌合体结构里,网格过渡区往往是畸变高发区。所以我的建议是:几何规则的部分扫掠生成六面体 C3D8T;过渡地带用 C3D6T;只有实在无法六面体化的区域,才用 C3D4T。整体原则就是:以六面体为主、四面体做配角。
4.2 网格密度设计:关键区域优先加密
完全热力耦合的网格密度设计,比普通静力分析复杂一倍,因为要同时满足热场和应力场两个分辨率要求。
温度场对网格密度的需求集中在表面层。退火冷却阶段,表面快速散热形成温度梯度,表层和芯部的温差可能达到几十到一百多摄氏度。如果你用粗网格,这个梯度会被抹平,热应力驱动源就没了。应力场对网格密度的需求集中在应力集中区域:截面突变处、材料界面边缘、约束点附近。这些区域的应力梯度大,网格粗了算不准峰值。
一个实用的设计思路是:先把应力集中区和接触界面区做局部细化,单元尺寸设为全局尺寸的 1/3~1/4,然后向外逐步过渡放大。过渡区比例控制在 1.5~2.0 倍以内,不要从一个 1mm 的单元直接跳到 10mm 的单元,那会造成严重的单元畸变和应力计算噪音。
网格敏感性验证是必经步骤。我会取三档网格:粗、中、细。粗网格单元尺寸是中等网格的两倍,细网格是中等网格的一半。对比三个网格下关键节点温度峰值和关键路径残余应力的差异,如果中等网格与细网格的差距小于 5%,中等网格就够用。这个验证一般要跑两到三轮,时间成本不小,但比算完发现网格依赖问题返工要便宜太多。
需要提防的是单元畸变。退火过程中如果发生了显著塑性流动(比如局部屈服很严重),大变形会把网格拉得很歪,计算精度和收敛性同时恶化。完全热力耦合支持 ALE 自适应网格重划来解决这个问题,但 ALE 对接触边界的处理不够完美,容易出现几何泄漏或者边界位置偏移。我的经验是:如果变形量大到 ALE 都无法稳定解决,不如回头检查工艺参数是否合理,因为退火工艺本来就不该产生巨量塑性流动,那意味着工艺设计本身有问题。
5. 求解稳定性的问题与排查
5.1 收敛失败:从警告信息到根因定位
完全热力耦合的收敛问题,我认为是这类仿真劝退大多数人的主要原因。Standard 隐式求解的增量步迭代在收敛失败时会自动减半时间步,如果减到最小增量步还不行,就直接中止任务。我处理过不下二十次这种崩溃,总结下来原因集中在三类。
第一类是接触振荡。嵌合体界面如果定义了接触对,在升温初期由于热膨胀方向变化,接触点在闭合/分离之间反复切换,增量步长稍微大一点就振荡。解决方法有几个:在接触属性里增加一点默认的接触稳定性(Automatic stabilization)参数,数值阻尼能压住振荡;或者把初始增量步调小一点,让接触状态的过渡更平滑。
第二类是热力耦合的强反馈。完全耦合迭代里,温度和位移在同一个迭代步里相互影响,如果时间增量步太大,初始温度估计和最终收敛值差得很远,Newton 迭代就可能发散。此时最有效的做法就是收紧增量步内允许的温度变化,比如从 50℃ 降到 20℃。
第三类是材料参数导致的数值病态。我给一个亲身教训:一个材料的高温段弹性模量数据在 700℃ 时比 600℃ 还高了 20%,这是数据录入错误,导致 700℃ 附近迭代时雅可比矩阵异常,增分步疯狂减半直到崩溃。排查这类问题,我会把材料参数曲线全部画出来人工看一眼,数据趋势异常的地方一眼就能看出来。这个习惯,我建议你也养着。
还有一个必须掌握的技能:区分负特征值警告的严重程度。完全热力耦合在增量步收敛时经常出现负特征值警告(Negative Eigenvalue),但并不是所有负特征值都是致命的。如果警告只出现一次而求解继续并收敛,往往只是局部刚体模式过渡;如果负特征值反复出现且伴随着增量步缩小,那就要警惕了。真正的转折是看 Message 文件里的错误信息,如果出现 "Too many attempts made for this increment",基本就是程序放弃治疗了。
5.2 后处理:温度场与应力场的正确提取方式
求解收敛以后,后处理也是一堆细节。很多人喜欢直接看云图,但云图也会骗人。我这里给出几个实际的提取规范。
温度场的提取,最有用的是热电偶位置的温度时间曲线。在建模阶段,我建议提前在嵌合体界面、表面中心、芯部这几个关键位置创建 Set。计算结束后直接输出这些点上的温度历史曲线,与工艺要求曲线对比,一眼就能看出升温速率、保温温度是否满足要求。冷却阶段的温度曲线还能帮你算出表面与芯部的最大温差——这是判断热应力大小的最直观指标。
应力场的提取,关注两个量:von Mises 等效应力看整体应力水平,最大主应力看裂纹驱动。嵌合体界面最怕的是正应力拉开,所以界面上的最大主应力分布比 von Mises 更有工程价值。单元应力默认是在积分点上输出的,云图显示时 Abaqus 会自动外插到节点并做平均。对于六面体单元,这个外插平均一般没问题;但对于四面体单元或者单元尺寸差异大的区域,外插平均可能掩盖峰值。更稳妥的方法是:把需要精确读取应力的区域的单元应力用单元表导出,自己筛选最大值。
变形场方面,位移云图的数值本身没有好坏,关键是和工艺验收标准对标。很多退火工艺验收标准是"变形量小于某尺寸公差",那么你就要在工件的关键尺寸方向建两点、测相对位移,而不是盯着整体位移云图看。整体位移里面包含刚体平移,那只是约束布置的副产品,不是真实的零件变形。
5.3 能量平衡与物理合理性检验
我做完全热力耦合分析,最后一定还会做一步看起来不起眼的检查:能量平衡。Abaqus 在输出结果里包含内能(ALLIE)、动能(ALLKE)、摩擦耗散(ALLFD)、外部做功(ALLWK)等。在退火这种准静态工况里,动能占内能的比例应该极其微小,如果动能异常增大,说明出现了动力效应或者接触弹跳,结果就不可信了。
温度场合理性检查有一个更直接的指标:最高温度有没有超材料熔点或者相变温度。退火温度通常远低于熔点,但如果局部接触热阻设置错误,可能出现界面处温度异常偏高的结果。应力场合理性则可以用一个简单的判断:热应力峰值应该在材料屈服强度两到三倍以内,超过这个范围就要检查是不是约束加多了限制了热膨胀。
这些检查不费多少时间,但能在你信心满满地拿着云图去做汇报之前,帮你堵住那些明显的物理错误。
6. 实例复盘:某钛合金/钢嵌合组件的退火仿真全过程
6.1 案例背景与工艺条件设定
讲完了方法论,我用一个完整的案例串一遍实际操作过程。某项目的嵌合组件,结构是一个钛合金 (近似 TC4) 外壳,内嵌一个不锈钢芯体,两者通过扩散焊形成冶金结合界面,作为某高温动设备的关键连接件。加工完成后存在焊接和机加工引入的残余应力,需要做去应力退火。工艺要求:随炉升温到 650℃,保温 2 小时,随炉冷却到 200℃ 以下再出炉空冷。用户最关心的是:按这个工艺走,界面两侧的残余应力和整体变形能不能满足装配公差。
这个案例我用 C3D8T 六面体单元为主,重点监控区域——钛合金外壳与钢芯的界面边缘——做了局部加密。材料参数从文献和供应商实测数据中整理,钛合金导热系数低(20℃ 时约 7 W/(m·K),650℃ 时约 15 W/(m·K)),钢导热系数高,两者在冷却阶段会形成明显的温度滞后差异,这正是导致界面应力的关键。
6.2 建模、装配与接触定义的实际操作
建模过程,我先在 CAD 里处理几何,去掉了外壳侧面的几个散热小翅片(对热应力影响太小,徒增网格量),然后在 Abaqus 里分别创建钛合金外壳和钢芯两个部件,装配到位。界面用 Tie 约束绑定,模拟扩散焊的冶金结合。这里有一个细节:Tie 的 from 和 to 选择,我习惯把网格更细的一侧设为主面,另一侧设为从面,主从面的选择对 Tie 约束的应力计算精度有影响,主面网格太粗会导致应力传递不平滑。
材料参数全部按温度表格式输入,塑性段数据在 20~650℃ 范围内定义了五条真实应力应变曲线。导热系数和热膨胀系数都采用随温度变化的插值。
分析步设置为三个:升温段 3000 秒(从 20℃ 升到 650℃)、保温段 7200 秒、炉冷段 12000 秒。炉冷段时长是按冷却速率估算的,以 200℃ 出炉为目标反推。热边界条件上,升温段和保温段用膜系数 55 W/(m²·K) 模拟炉内强制循环风加热,环境温度用幅值曲线从 20℃ 线性升到 650℃;炉冷阶段,膜系数调低到 30,环境温度按自然冷却曲线(可以实测或者按炉子特性估算)设置。
6.3 求解参数与增量步的具体配置
求解器参数方面,我采用直接法求解(Direct solver),Full Newton 迭代。初始增量步 5 秒,最小增量步 1e-5,最大增量步 300 秒,允许的每增量步最大温度变化设为 40℃。完全热力耦合的雅可比矩阵是带温度与位移交叉项的,直接法比迭代法稳健得多,建议隐式分析都用直接求解器来兜底收敛性。
约束方面,在钢芯底面用三点约束,消除刚体位移。由于组件自重不大,忽略重力载荷。整个模型约 28 万个单元,在单台高性能工作站上运行,用时大约 9 小时。这个计算成本在完全热力耦合里属于正常范围,如果到了两天以上,就要检查是不是增量步控制过死或者网格过大需要优化了。
6.4 结果解读与工艺风险判断
计算结果出来后,我重点看三个东西。
第一个是温度历史。界面两侧的温度曲线几乎重合,升温阶段钛合金侧由于导热系数低,升温比钢芯慢,但保温 2 小时足以均匀化,到保温后半段两侧温差小于 5℃。说明保温时间足够。
第二个是冷却阶段的应力演化。炉冷过程中查看最大主应力云图,界面的应力从压应力逐渐转变为拉应力。到炉冷结束,界面最大主应力在钢芯侧达到 260 MPa,钛合金侧接近 210 MPa,都低于材料室温屈服强度,但有叠加后续装配载荷的余量不大,需要工艺上进一步缩短出炉温度或者增加缓冷措施。
第三是变形。炉冷结束后,组件沿长度方向的挠曲变形约 0.28mm,相对装配公差 0.15mm 超了将近一倍。这个变形量直接改变了工艺决策:要么延长炉冷段让冷却更均匀,要么在装配前增加一次校形工序。仿真把这个风险提前暴露了,避免了实际试炉造成批量报废。后续工艺调整后的复算,变形量降到 0.11mm,验证通过。
7. 一点个人经验与建议
这个过程里我体会最深的一点是:完全热力耦合的难点根本不在软件操作,而在对物理过程的理解深度。软件只是把热-力方程组解出来,解得好不好,取决于你给了它什么材料数据、什么边界条件、什么约束方式。很多人一上来就追求复杂的辐射腔、精细的工装模型,结果材料高温段数据是拍脑袋填的,算出来再精细也是自欺欺人。
我给同行们一个比较实用的建议:做退火仿真之前,先把材料高温数据搞扎实。宁可花两周时间去搜集或者补测高温段的导热、弹性模量和塑性数据,也不要省这个时间。参数敏感性分析一定要做,尤其是换热系数、界面热导率这两个参数。我的做法是:在基准模型基础上,各取 ±20% 浮动,跑三组工况,画出关键温度曲线和残余应力包络带。这个包络带比任何单次计算值都能反映真实的工艺风险空间。
最后分享一个小技巧:完全热力耦合模型调试阶段,不要一开始就全模型跑。先用一个二维平面应变截面模型或者局部三维切片模型,把材料参数、增量步设置、接触行为都验证一遍,再跑到全模型。这个策略能帮你把调试周期从一周压缩到两天。我自己后来几个嵌合体项目都是这个路子,几乎没再被收敛问题困住过。