4. 计算流体力学(CFD)基础:控制方程、湍流模型、边界条件设置
各位同行,大家好。这一章我们聊聊CFD。说实话,很多做电机热管理的朋友,一听到CFD就头大。觉得那是流体专业的事,自己搞电磁的、搞结构的,没必要深究。我以前也这么想,直到有一次,我设计的强迫风冷电机,仿真温升明明只有90℃,实测直接干到110℃。问题出在哪?就是CFD边界条件设错了。从那以后,我老老实实把CFD基础补了一遍。
说白了,CFD就是求解一组描述流体运动的方程。你不需要成为数学家,但得知道这些方程在说什么,怎么用,坑在哪。这一章,我就带你过一遍最核心的三个东西:控制方程、湍流模型、边界条件。
核心观点:CFD不是黑箱。控制方程是物理定律,湍流模型是工程近似,边界条件是人为假设。三者任何一个出问题,结果都不可信。
4.1 控制方程:流体运动的三大定律
电机内部的空气流动,或者冷却液流动,都遵循三个基本物理定律:质量守恒、动量守恒、能量守恒。在CFD里,它们分别对应连续性方程、Navier-Stokes方程(简称N-S方程)、能量方程。
4.1.1 连续性方程(质量守恒)
这个最简单。流入控制体的质量,等于流出控制体的质量,加上内部质量的变化。对于不可压缩流体(比如水,或者低速空气),方程长这样:
∂ρ/∂t + ∇·(ρu) = 0
其中ρ是密度,u是速度矢量。对于稳态不可压缩流动,∂ρ/∂t = 0,就变成∇·u = 0。说白了,就是流入多少,流出多少,不能凭空消失。
我的经验:做电机风冷仿真时,如果风扇进出口流量对不上,先检查连续性方程残差。残差降不下去,说明网格质量或者边界条件有问题。我曾经花了两天时间,最后发现是出口边界设成了压力出口,而实际应该是质量流量出口。
4.1.2 动量方程(N-S方程)
这就是牛顿第二定律在流体上的应用。方程比较复杂,我直接写它的简化形式:
ρ(∂u/∂t + u·∇u) = -∇p + μ∇²u + F
左边是惯性项,右边依次是压力项、粘性项、体积力项(比如重力、旋转产生的离心力)。电机仿真里,旋转坐标系下的N-S方程用得很多,因为转子在转,定子不动,用旋转坐标系可以省掉动网格的麻烦。
4.1.3 能量方程
热管理嘛,能量方程是核心。它描述温度场怎么分布:
ρCp(∂T/∂t + u·∇T) = ∇·(k∇T) + Q
左边是对流项,右边是扩散项和源项。Q就是电机里的热源——铜耗、铁耗、永磁体涡流损耗。这些损耗数据从电磁仿真或者测试来,然后作为源项加载到CFD模型里。
注意:能量方程里的物性参数(Cp、k)不是常数。温度升高,空气的导热系数会变,冷却液的粘度也会变。我见过有人用常温物性算高温工况,结果偏差20%以上。建议用分段线性或者多项式拟合。
4.2 湍流模型:工程与精度的平衡
电机内部的流动,绝大多数是湍流。风扇出口、气隙里的流动,雷诺数动不动就上万。直接求解N-S方程(DNS)?算力不够,时间也不允许。所以我们需要湍流模型——用工程近似来模拟湍流效应。
4.2.1 常见的湍流模型
我按工程实用度排个序:
| 模型 | 适用场景 | 计算量 | 精度 |
|---|---|---|---|
| 标准k-ε | 高雷诺数、充分发展湍流 | 低 | 中等 |
| Realizable k-ε | 旋转流动、分离流 | 低 | 较高 |
| SST k-ω | 壁面附近、逆压梯度 | 中等 | 高 |
| Transition SST | 层流-湍流转捩 | 中等 | 高 |
我个人习惯,做电机风冷仿真首选Realizable k-ε。为什么?因为电机里有旋转部件,标准k-ε对旋转流动处理得不好。SST k-ω精度更高,但网格要求也高,近壁面y+要小于1,不然结果反而更差。
避坑指南:我曾经用标准k-ε算一个高速永磁电机的风摩损耗,结果比实测大了3倍。后来换成Realizable k-ε,误差降到15%以内。所以,模型选不对,结果就是废的。
4.2.2 近壁面处理
湍流模型只适用于湍流核心区。靠近壁面,粘性占主导,需要用壁面函数或者低雷诺数模型。这里有个关键参数——y+。y+是无量纲壁面距离,它决定了你的网格要多密。
- 高y+(30~300):用壁面函数,网格可以粗一些。适合工程快速计算。
- 低y+(<1):直接求解边界层,网格要很密。适合精度要求高的场合。
我的建议:做电机热管理,气隙和散热齿附近用低y+,其他地方用高y+。混合网格策略,既保证精度又节省算力。
4.3 边界条件设置:仿真成败的关键
控制方程和湍流模型选好了,接下来就是边界条件。这一步,说难不难,说简单也不简单。我见过太多人,方程设对了,模型选对了,结果边界条件给错了,整个仿真白做。
4.3.1 入口边界
常见的有三种:
- 速度入口:给定入口速度大小和方向。适合风扇出口、风道入口。
- 质量流量入口:给定质量流量。适合冷却液入口,因为流量通常已知。
- 压力入口:给定总压。适合自然对流或者大空间入口。
我一般用速度入口,因为风扇的P-Q曲线可以换算成速度。但要注意,速度入口需要同时给定湍流参数——湍流强度和水力直径。湍流强度一般取5%~10%,水力直径按入口形状算。
小技巧:如果不知道湍流参数,可以用经验公式估算。比如管内流动,湍流强度I = 0.16 * Re^(-1/8)。Re是雷诺数。这个公式我用了很多年,基本靠谱。
4.3.2 出口边界
最常用的是压力出口,给定静压。对于开放系统,出口压力设为一个大气压(101325 Pa)。对于封闭系统,比如电机内部循环风,出口压力需要根据系统压降来估算。
这里有个坑:如果出口有回流,压力出口容易发散。我建议在出口加一段延长段,让流动充分发展后再出去。延长段的长度,一般取水力直径的5~10倍。
4.3.3 壁面边界
壁面边界分两种:
- 无滑移壁面:壁面处流体速度为零。这是默认设置,适用于固体壁面。
- 滑移壁面:壁面处流体速度不为零。适用于对称面或者远场边界。
热边界条件也有两种:
- 定壁温:给定壁面温度。适合水冷板、机壳等温度已知的部件。
- 定热流:给定壁面热流密度。适合绕组、铁芯等热源。
实际电机仿真中,我更喜欢用耦合传热(CHT)。就是固体域和流体域一起算,壁面自动满足温度和热流连续。这样更真实,但计算量也更大。
重要提醒:旋转壁面(比如转子外表面)要设置旋转速度。如果忘了设,转子静止,那仿真结果就是错的。我有个同事就犯过这个错,仿真温升比实测低20℃,找了三天才发现是转子没转。
4.4 知识体系总览
说了这么多,我画了一张图,把这一章的核心逻辑串起来。你一看就明白:
这张图你看懂了吗?控制方程是底层物理,湍流模型是工程近似,边界条件是人为设定。三者缺一不可,互相影响。任何一个环节出问题,最终结果都不可靠。
4.5 实战建议
最后,我总结几条实战建议,都是我用真金白银换来的教训:
- 先做网格无关性验证。粗网格算一次,细网格算一次,结果差异小于5%才算通过。我一般用3套网格,从粗到细,看关键变量(比如最高温度)的变化趋势。
- 残差不是唯一标准。残差降到1e-4不代表结果正确。还要监控进出口流量差、能量平衡。我习惯在求解器里加几个监测点,看温度、速度是否稳定。
- 边界条件要跟实测对标。如果有实验数据,先拿一个简单工况验证。比如只开风扇不通电,测风速和风量。边界条件调准了,再算发热工况。
- 别迷信高阶模型。有时候一阶迎风格式加Realizable k-ε,比二阶格式加SST k-ω更稳定、更实用。精度够用就行,别为了炫技把算力浪费了。
一句话总结:CFD仿真不是数学游戏,是工程工具。控制方程是骨架,湍流模型是血肉,边界条件是灵魂。三者都对了,结果才可信。