第四章 边界条件设置:热边界条件、流动边界条件、力学边界条件

边界条件这东西,说白了就是告诉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 本章知识体系

下面这张图是我自己总结的边界条件设置逻辑,你一看就明白了:

边界条件设置知识体系 热边界条件 流动边界条件 力学边界条件 界面换热系数 温度相关函数 辐射换热 速度入口 vs 压力入口 入口速度计算 压力曲线设置 位移约束 接触条件设置 参考温度设定 三者必须协同设置 热边界影响温度场 → 温度场影响流动 → 温度场影响应力 提示:点击每个分支可查看详细设置方法(交互功能待实现)

这张图你看懂了吗?三个边界条件不是孤立的。热边界条件决定了温度场,温度场又影响金属液的流动(粘度变化),同时温度场也是热应力的驱动力。所以,我建议你每次设置时,都先想清楚这三者之间的耦合关系。

最后说一句:边界条件设置没有标准答案,每个铸件都不一样。我的经验是:先参考类似案例取初值,然后算一次跟实测对比,再调整。一般调两三次就能找到合适的值。别指望一次就设对,仿真本来就是迭代的过程。

专注资料整理