4. CFD控制方程与数值求解框架

在电子设备风冷热流体仿真中,我们真正求解的对象并不是“风扇吹过散热器”这样的直观画面,而是空气与固体区域中一组相互耦合的偏微分方程。理解这些方程的积分与微分形式、有限体积法的离散思想,以及SIMPLE系列算法的耦合求解流程,是判断仿真结果是否可信、排查发散与不收敛问题的根本依据。

一、三大守恒方程的积分形式与微分形式

风冷仿真涉及的核心物理量包括速度矢量 u、压力 p、温度 T。对任意控制体 CV,守恒定律最原始的表述都是“积分形式”,即对控制体体积或表面做积分:

  • 质量守恒(连续性方程):单位时间流出控制体的净质量等于控制体内质量减少率。稳态、不可压条件下,积分形式为 ∮S u·n dS = 0,即流入等于流出。
  • 动量守恒:控制体内动量变化率 = 净流入动量 + 表面压力 + 黏性应力 + 体积力(重力、浮力)。积分形式为 ∮S ρu(u·n)dS = ∮S (−pI + τ)·n dS + ∫V ρg dV。
  • 能量守恒:控制体内能量变化率 = 净流入焓 + 导热 + 黏性耗散 + 热源。电子设备中芯片功耗即作为体积热源进入能量方程。

当控制体无限缩小到一点,积分形式转化为微分形式,也就是常见的Navier–Stokes方程组:∂ρ/∂t + ∇·(ρu) = 0;∂(ρu)/∂t + ∇·(ρuu) = −∇p + ∇·τ + ρg;∂(ρh)/∂t + ∇·(ρuh) = ∇·(k∇T) + Sh。微分形式便于理论分析,但数值求解时,有限体积法恰恰是从积分形式出发的——这一点非常关键。

二、有限体积法离散思想

有限体积法(FVM)把计算域划分为若干互不重叠的控制体(网格单元),在每个控制体上对积分形式方程做离散。以稳态一维对流扩散为例,对单元 P 积分后,通量项转化为单元各面的通量之和:

Σ_f (ρ u_f φ_f · A_f) = Σ_f (Γ_f (∂φ/∂n)_f · A_f) + S_P V_P

其中 Af 为面面积,φf 为面值,需要由相邻单元值插值得到。对流项常用一阶迎风、二阶迎风或QUICK格式;扩散项用中心差分。离散后每个单元得到一个代数方程,所有单元方程组装成稀疏线性系统 Aφ = b。FVM 的最大优点是守恒性天然满足:一个面流出单元 P 的通量,必然等于流入相邻单元的通量,不会凭空产生或丢失质量、动量与能量。

在电子设备仿真中,芯片、PCB、散热器与空气域通常采用不同网格尺度。FVM 的守恒特性保证了即使网格疏密差异较大,界面通量仍然严格守恒,这是它优于有限差分法的重要原因。

三、SIMPLE系列算法与压力–速度耦合

不可压流动中,连续性方程不含压力,动量方程含压力梯度,压力与速度相互耦合却无法直接求解。SIMPLE(Semi-Implicit Method for Pressure-Linked Equations)系列算法通过“预测–修正”解决这一问题:

  1. 给定初始压力场 p*,求解动量方程得到预测速度 u*;
  2. 将 u* 代入连续性方程,构造压力修正方程,解出压力修正 p′;
  3. 用 p′ 修正压力和速度:p = p* + αpp′,u = u* + u′;
  4. 更新物性,检查连续性残差与动量残差是否收敛,未收敛则回到第 1 步。

SIMPLEC 改进了速度修正公式,减少压力松弛需求;SIMPLER 则增加压力方程直接求解压力场。对于电子设备中常见的自然对流与强制风冷混合问题,压力–速度耦合往往与能量方程交替求解,形成外迭代循环。

SIMPLE 系列算法耦合求解流程(含能量方程外循环) 初始化:p*, u*, T*,设定松弛因子 ① 动量方程预测 由 p* 解出 u*(含对流/扩散离散) ② 压力修正方程 由连续性残差构造并解出 p′ ③ 修正压力与速度 p = p* + αₚp′,u = u* + u′ ④ 能量方程求解 更新温度 T,更新物性 μ(T)、ρ(T) 残差是否收敛? 连续性/动量/能量 < 1e-4 未收敛:更新 p*, u*, T* 继续迭代 输出结果 速度场/压力场/温度场 离散基础 积分形式 → 面通量求和 对流:迎风/QUICK 扩散:中心差分 组装 Aφ = b 算法变体 SIMPLE:基础压力修正 SIMPLEC:速度修正改进 SIMPLER:压力方程直接解 PISO:瞬态非迭代修正

四、耦合求解流程与收敛判据

在电子设备风冷仿真中,动量方程与能量方程通过温度依赖的物性(空气密度、黏度)以及浮力项耦合。典型求解顺序是:先解动量与连续性得到流场,再解能量方程得到温度场,然后更新物性回到动量方程,形成外迭代。判断收敛不能只看单一残差,应同时检查:

检查项典型判据说明
连续性残差< 1×10⁻⁴质量守恒是否满足
动量残差< 1×10⁻⁴三个方向速度方程
能量残差< 1×10⁻⁶温度场收敛更严格
监测点温度波动 < 0.1 ℃芯片结温、出风口温度
全局热平衡偏差 < 1%热源总功耗 ≈ 进出口焓差
若残差长期停留在 10⁻² 量级且监测温度持续漂移,常见原因包括:网格长宽比过大、松弛因子过高、压力修正方程边界条件不当,或自然对流中浮力项与压力项量级失衡。此时应先降低压力松弛因子至 0.3 左右,再检查网格质量,而不是盲目增加迭代步数。

以一个 1U 服务器风冷案例为例:芯片功耗 85 W,散热器翅片间距 1.5 mm,入口风速 2.5 m/s。采用 SIMPLEC 算法,压力松弛 0.3、动量松弛 0.7、能量松弛 1.0,约 800 步外迭代后连续性残差降至 3×10⁻⁵,芯片壳温监测值稳定在 78.2 ℃,进出口空气焓差与 85 W 偏差 0.6%,可认为结果收敛。若把压力松弛提高到 0.7,前 200 步内即出现残差振荡,说明松弛因子与耦合强度必须匹配。

掌握积分形式到离散方程的转化、有限体积法的守恒本质,以及 SIMPLE 系列算法的预测–修正逻辑,才能在面对电子设备风冷仿真不收敛、结果异常时,快速定位是离散格式、松弛策略还是耦合顺序出了问题。