第四章 边界条件设置:热边界条件、流动边界条件、力学边界条件
边界条件这东西,说白了就是告诉Procast:「你的铸件在跟外界怎么打交道」。我刚开始做仿真那会儿,总觉得只要网格画好了、材料参数给对了,结果就八九不离十。结果呢?算出来的温度场跟实测差了50多度,查了三天才发现是换热系数设错了。嗯,从那以后我再也不敢小看边界条件了。
核心观点:边界条件决定了仿真的「边界」,边界错了,里面算得再准也是白搭。
4.1 热边界条件(换热系数)
热边界条件,说白了就是铸件跟模具、模具跟空气之间怎么传热。我个人习惯把换热系数分成三类:
- 铸件-模具界面换热系数:这个最关键,也是最难搞的
- 模具-空气对流换热系数:自然对流还是强制对流?
- 辐射换热:高温下不能忽略
4.1.1 界面换热系数的取值
我在项目中遇到过最头疼的问题就是界面换热系数。你想想看,铸件凝固时会产生气隙,气隙越大,换热越差。所以这个系数不是常数,而是随温度变化的。
| 铸造工艺 | 典型换热系数范围 (W/m²·K) | 备注 |
|---|---|---|
| 砂型铸造 | 300 - 800 | 砂型导热差,系数偏低 |
| 金属型铸造 | 1000 - 3000 | 金属模具导热好,但气隙影响大 |
| 压铸 | 5000 - 20000 | 高压下接触紧密,系数很高 |
| 精密铸造 | 200 - 600 | 型壳导热差,注意辐射 |
我的经验:如果你不确定换热系数,可以先取中间值试算一次。看凝固时间跟实测差多少,再调整。我曾经用这个方法,只算了三次就把误差控制在5%以内。
4.1.2 温度相关的换热系数设置
Procast里可以定义换热系数随温度变化。我建议你至少设置三个关键点:
; 示例:铸件-模具界面换热系数随温度变化
; 温度(°C) 换热系数(W/m²·K)
20 1500
500 1200
1000 800
1500 600
为什么会这样?因为温度越高,铸件越软,接触越紧密?其实不是。温度升高时,铸件膨胀,模具也膨胀,但两者膨胀系数不同,气隙反而可能变大。嗯,这里要注意,铝合金跟钢模的膨胀系数差异很大,气隙问题更突出。
避坑指南:我曾经在做一个大型铸钢件时,偷懒用了常数换热系数。结果算出来的缩松位置完全不对。后来改成温度相关函数,结果才跟实际吻合。所以,别省这点功夫。
4.2 流动边界条件(入口速度/压力)
流动边界条件,说白了就是金属液怎么进到型腔里。我见过太多人把入口速度随便填个数字,结果充型过程完全失真。
4.2.1 速度入口 vs 压力入口
我个人习惯这样选:
- 重力浇注:用压力入口,因为浇口杯液面高度决定了压力
- 低压铸造:用压力入口,压力曲线是关键
- 压铸:用速度入口,因为冲头速度是已知的
- 倾转浇注:用速度入口,但要考虑倾转角度
4.2.2 入口速度的计算
你想想看,入口速度不是随便填的。对于压铸,冲头速度跟内浇口速度的关系是:
v_gate = v_shot * (A_shot / A_gate)
其中:
v_gate = 内浇口速度 (m/s)
v_shot = 冲头速度 (m/s)
A_shot = 冲头截面积 (m²)
A_gate = 内浇口截面积 (m²)
我在项目中遇到过有人直接把冲头速度填到入口边界里,结果内浇口速度算出来只有实际值的十分之一。嗯,这里要注意,入口边界设的是内浇口处的速度,不是冲头速度。
关键点:入口速度决定了充型时间。充型时间太短,容易卷气;太长,冷隔风险大。一般铝合金压铸的内浇口速度在30-60 m/s之间。
4.2.3 压力入口的曲线设置
对于重力浇注,压力入口其实就是静压头。我建议你这样设置:
; 示例:重力浇注压力入口
; 时间(s) 压力(Pa)
0 0
0.1 ρgh ; 浇口杯满杯时的压力
2.0 ρgh ; 保持到充型结束
这里ρ是金属液密度,g是重力加速度,h是浇口杯液面到内浇口的高度差。我曾经见过有人把压力设成常数,结果充型前期速度太快,后期又太慢。其实压力应该随液面下降而减小,但为了简化,一般取平均值。
避坑指南:我曾经在做一个大型砂型铸件时,忘了考虑浇注系统的阻力。结果算出来的充型时间比实际短了30%。后来我在入口处加了个节流系数,才把结果校正过来。
4.3 力学边界条件
力学边界条件,说白了就是铸件在凝固过程中怎么「被约束」的。这个很多人会忽略,但热应力、变形、裂纹都跟它有关。
4.3.1 位移约束
我个人习惯这样设置位移约束:
- 铸件本身:不需要加位移约束,让它自由收缩
- 模具:在模具外表面加固定约束
- 砂芯:在砂芯支撑位置加约束
- 冷铁:在冷铁与模具接触面加约束
你想想看,如果给铸件加了固定约束,那它收缩时就会产生很大的拉应力,结果算出来的裂纹风险会虚高。我刚开始做应力分析时就犯过这个错。
4.3.2 接触条件
铸件跟模具之间的接触,不是简单的固定连接。Procast里可以设置:
| 接触类型 | 适用场景 | 说明 |
|---|---|---|
| 绑定接触 | 铸件-冷铁 | 两者不分离,一起收缩 |
| 滑动接触 | 铸件-模具 | 可以分离,有摩擦 |
| 自由接触 | 铸件-砂芯 | 可以分离,无摩擦 |
我的经验:对于铸件-模具的滑动接触,摩擦系数一般取0.1-0.3。我曾经试过取0.5,结果算出来的变形量比实测大了两倍。后来改成0.2,结果就对了。
4.3.3 热应力分析的边界条件设置
做热应力分析时,力学边界条件要跟热边界条件配合。我建议这样操作:
; 步骤1:先算温度场(热边界条件)
; 步骤2:把温度场映射到应力网格
; 步骤3:加力学边界条件
; 步骤4:设置参考温度(一般为室温20°C)
为什么会这样?因为热应力是由温度变化引起的。如果参考温度设错了,算出来的应力会整体偏移。嗯,这里要注意,参考温度应该是铸件开始产生应力的温度,一般是固相线温度附近。
避坑指南:我曾经在做一个铝合金缸盖时,把参考温度设成了室温。结果算出来的残余应力全是压应力,跟实测的拉应力完全相反。后来改成固相线温度,结果才合理。
4.4 本章知识体系
下面这张图是我自己总结的边界条件设置逻辑,你一看就明白了:
这张图你看懂了吗?三个边界条件不是孤立的。热边界条件决定了温度场,温度场又影响金属液的流动(粘度变化),同时温度场也是热应力的驱动力。所以,我建议你每次设置时,都先想清楚这三者之间的耦合关系。
最后说一句:边界条件设置没有标准答案,每个铸件都不一样。我的经验是:先参考类似案例取初值,然后算一次跟实测对比,再调整。一般调两三次就能找到合适的值。别指望一次就设对,仿真本来就是迭代的过程。