相变化 — CAE术语解说

分类: 术语集 | 2026-01-15
CAE visualization for phase change - technical simulation diagram

相变化

CAE分析中的相变化现象

🧑‍🎓

相变化就是比如冰融化这样的事情吧?在什么时候需要用CAE进行仿真呢?


相变化的理论基础

相变化的基本概念

🧑‍🎓

"相变化"在教科书上写着"物质的状态发生改变",但在CAE中处理时,具体在计算什么呢?

🎓

在CAE中,我们精确追踪相变化伴随的"潜热"的吸收·放出,以及由此引起的温度变化。例如,在水的凝固中,每公斤会放出约334kJ的潜热。如果不考虑这个能量,冰的温度下降会被计算得比实际更快。支配方程常用"焓法",它在比热项上加入潜热项。

🧑‍🎓

潜热的考虑很重要,我明白了。但是在冰和水混存的"固液二相共存"状态下,温度是怎样决定的呢?是一直保持在0℃吗?

🎓

理想状况下,纯物质的相变化在固定温度(例如:水的凝固点0℃)发生。在CAE中,我们将这个温度设为"相变化温度",在这个温度下计算潜热的进出。但是,在实际仿真中,为了模型化过冷却和不纯物的影响,有时会设定几℃的宽度(例如:-1℃~0℃)让相变化发生,这叫"糊化法"。

🧑‍🎓

在支配方程中提到的"焓法",具体是什么形式的数式呢?

🎓

用焓H表示能量方程的保存律。以一维热传导为例,可以写成以下形式。

$$ \rho \frac{\partial H}{\partial t} = \frac{\partial}{\partial x} \left( k \frac{\partial T}{\partial x} \right) $$
这里焓H是温度T和液相率β的函数,定义为
$$ H = \int c_p \, dT + \beta L $$
L是潜热,β取值从0(固相)到1(液相)。这个关系(H-T关系)的正确定义是计算的核心。

相变化的数值计算手法

离散化与求解器的课题

🧑‍🎓

包含相变化的计算,为什么比普通的热传导分析收敛性更差、计算更容易不稳定呢?

🎓

主要原因有两个。第一,焓-温度关系在相变化点处不连续(或急陡),因此反复计算中解容易振荡。第二,液相率的急剧变化在物性值(密度、粘度)中引起跳跃,使联立方程的系数矩阵条件数恶化。例如,熔融的石蜡粘度比固体小10^6倍以上。

🧑‍🎓

有解决这个问题的数值技巧吗?

🎓

有的。代表性的是"焓·孔隙率法"。这是将潜热转换为"表观比热"来处理的方法,定义为

$$ c_{p,eff} = c_p + L \frac{d\beta}{dT} $$
dβ/dT是在相变化温度附近有大值的函数(例如正态分布型),用来平滑不连续。Ansys Fluent的Solidification/Melting模型中默认采用了这个方法。

🧑‍🎓

网格需要沿着相变化界面进行细化吗?

🎓

在固定网格(欧拉法)中,不需要让网格与界面对齐,但为了捕捉界面附近的急峻变化,需要足够地细化网格。经验法则是,相变化导致的温度梯度区域应至少用3~5层网格来分辨。另一方面,使用界面追踪法(VOF法等)可以明确追踪界面,但对于复杂的凝固形状有时不太适用。

相变化的实务应用

分析工作流与验证

🧑‍🎓

模拟金属铸造凝固时,最初应该从什么开始?

🎓

首先要收集和设置物性值。最少需要的是固相线温度、液相线温度、潜热、固相和液相各自的密度、比热、热导率。例如铝合金A356,液相线温度约615℃,固相线温度约555℃,潜热约389 kJ/kg。这些值记载在JIS H 5202和制造商数据表中。如果出错,凝固时间会大幅偏离。

🧑‍🎓

整理好输入数据后,执行分析前要确认的要点是什么?

🎓

以下的检查清单很有效。

1. **无量纲数**:计算斯特凡数
$$ Ste = \frac{c_p \Delta T}{L} $$
。如果大于1,说明显热的影响比潜热更占优势。 2. **时间步长**:傅里叶数
$$ Fo = \frac{\alpha \Delta t}{\Delta x^2} $$
不超过0.5(显式法的情况)。 3. **边界条件**:与金型的接触传热系数会因凝固收缩产生的间隙而随时间变化,考虑用函数而非常数来给定。

🧑‍🎓

结果的合理性怎样验证?没有实验数据的情况下也能用什么方法吗?

🎓

即使没有实验数据,也能用以下两种方法得到验证的线索。

第一,**与简易理论解的比较**。例如,半无限固体的一维凝固问题有 Neumann 的解:
$$ s(t) = 2 \lambda \sqrt{\alpha t} $$
这里s是凝固厚度,λ是由超越方程决定的常数。检查仿真结果是否遵循这个趋势(厚度与时间平方根成正比)。 第二,**网格依赖性的调查**。将网格细化1.5倍,检查重要输出值(比如完全凝固时间)变化多少。如果变化在3%以内,说明网格足够。

相变化的软件比较

各软件的方法与特点

🧑‍🎓

用Ansys Fluent和COMSOL Multiphysics处理相变化时,根本区别是什么?

🎓

根本区别在于,Fluent提供"专用物理模型"Solidification/Melting模型,而COMSOL的基本方法是"用户自己构建方程"。Fluent的模型用Carman-Kozeny式默认模型化液相率和粘性的关系,可以直接用于铸造仿真。而COMSOL的"热传导和相变化"接口可选焓法或表观比热法,相变化温度和潜热可自由定义,但要考虑固相的移动(收缩)需要另外组合"变形网格"或"ALE法"。

🧑‍🎓

铸造专用软件(比如MAGMASOFT或ProCAST)与通用CFD软件的区别是什么?

🎓

专用软件拥有"整个铸造工艺"专用的功能和数据库。例如ProCAST包含有铸型涂层的热阻数据库,以及数百种铸铁·铸钢的材料数据库(包含固相率-温度-强度的关系)。还标配凝固收缩导致的"缩孔"和"凝固裂纹"预测算法。而汎用CFD要重现这些现象,需要用户自己开发复杂的用户定义函数(UDF),在实务中难度很高。

🧑‍🎓

能用Abaqus处理相变化吗?

🎓

可以,但主要在"热-应力耦合分析"的背景下使用。在Abaqus/Standard的"热电传导分析"步骤中,可在材料定义中指定"Latent Heat"来考虑潜热。但无法考虑熔融引起的流动和自然对流。仅用于评估凝固导致的收缩应力或焊接加热-冷却循环伴随的热应力·变形。要进行本格的凝固流动分析,需要Abaqus/CFD(目前已停止开发)或与其他专用软件的联合。

相变化的故障排除

常见错误和对策

🧑‍🎓

计算中出现"温度大幅超过相变化温度(或低于)"的警告。原因是什么?

🎓

主要有3个原因。

1. **时间步长过大**:潜热的放出·吸收无法在一个时间步内处理完毕,温度"跳过"相变化点。试试把时间步长减为1/10。 2. **潜热值错误**:单位不是[J/kg]而是[J/g]等,输入值为1/1000。水的凝固潜热是334,000 J/kg。 3. **求解器设置**:即使是隐式求解器,如果非线性收敛的允许误差太松,也会发生。Ansys中将能量方程的收敛基准从默认的1e-6改为1e-7会有效。

🧑‍🎓

凝固界面变得参差不齐,或计算出非物理的"斑点状"固相分布。怎样改善?

🎓

这是数值扩散和求解器振荡导致的。对策如下。

- **使用高阶精度格式**:如果对流项用一阶迎风差分,改为QUICK或二阶迎风差分。但如果振荡,选择带"限制器"的格式。 - **调整求解器的缓和系数**:特别是液相率或焓的更新缓和系数要降低(例如从0.5降到0.3)。计算会变慢但更稳定。 - **检查网格**:如果网格在界面推进方向上极度歪斜(长宽比超过100),容易发生这种情况。尽量使用均匀网格。

🧑‍🎓

考虑凝固收缩的分析中,质量守恒误差变大。这是没办法的吗?

🎓

在固定网格(欧拉法)中处理密度变化时,严格满足连续方程本质上很困难。但可以用以下方法缓解。

1. **使用压缩性求解器**:使用将密度作为压力函数的"弱压缩流"设定的求解器(如Fluent的Pressure-Based求解器)。 2. **避免Boussinesq近似**:当密度变化大(固液相间数%以上)时,不能用Boussinesq近似(密度为常数,仅浮力项变化)。使用将密度直接定义为温度和相的函数的"实际流体"模型。 3. **网格自适应**:采用ALE(任意拉格朗日-欧拉)法,根据收缩的体积减少变形网格的软件(某些专用铸造软件),能从根本上解决这个问题。

本文评价
感谢您的回答!
有参考
价值
希望
更详细
报告
错误
有参考价值
0
希望更详细
0
报告错误
0
作者:NovaSolver 贡献者
匿名工程师和AI — 网站地图
查看简介