CFD / 流体分析 — 计算流体力学完整指南
教授,CFD到底是做什么的?听名字好像很难……
CFD就是用计算机来模拟流体——空气、水、燃料——怎么流动的。举个你熟悉的例子:F1赛车车身的气动设计,靠风洞实验一次要几百万成本,而且只能测少数几个工况。用CFD可以在电脑里快速测几百种方案,筛掉不好的再做实物验证,节省大量时间和金钱。
那CFD和结构分析有什么根本的区别?
最核心的区别是:流体会"流动",结构基本上"待在原地"。结构分析求的是固体的位移和应力;CFD求的是流体的速度场和压力场,而且流体的高度非线性(湍流)让方程远比结构复杂。另外CFD的网格质量要求极高——壁面附近的边界层网格如果不对,整个结果都会差很远。
我看到N-S方程,那是流体分析的控制方程?感觉符号特别多。
对,纳维-斯托克斯方程(N-S方程)是CFD的理论核心,描述流体中的动量守恒。拆开来看其实不难:左边是"流体质点的加速度",右边是"压力梯度 + 黏性力 + 体力"的合力,本质就是牛顿第二定律在连续介质中的版本。实际上CFD软件就是在离散化的网格上数值求解这组方程。
1. 什么是CFD?
计算流体力学(CFD, Computational Fluid Dynamics)通过数值方法求解描述流体运动的偏微分方程,模拟气体和液体的流动、传热及质量传输现象。CFD是现代工业产品设计不可缺少的核心工具。
CFD的主要工业应用
- 汽车空气动力学:车身风阻系数(Cd)优化、底盘气流管理、发动机舱散热
- 飞机设计:机翼升阻比分析、发动机进气道、高超声速飞行器热防护
- 管道与工程系统:流量分配、压降预测、泵与阀门的水力性能
- 能源设备:燃气轮机叶片冷却、风机效率优化、太阳能热流体系统
- 生物医疗:血管内血流仿真(支架设计)、呼吸道气流、人工心脏泵
- 海洋工程:船体阻力、海浪-结构物相互作用、海底管道冲刷
2. 控制方程
2.1 连续性方程(质量守恒)
不可压缩流体(如水、低速空气)的连续性方程:
$$\nabla \cdot \mathbf{u} = 0$$可压缩流体的一般形式:
$$\frac{\partial \rho}{\partial t} + \nabla \cdot (\rho \mathbf{u}) = 0$$2.2 动量方程(纳维-斯托克斯方程)
不可压缩流体的 N-S 方程:
$$\rho \left(\frac{\partial \mathbf{u}}{\partial t} + \mathbf{u} \cdot \nabla \mathbf{u}\right) = -\nabla p + \mu \nabla^2 \mathbf{u} + \rho \mathbf{g}$$各项物理含义:
- $\rho(\partial \mathbf{u}/\partial t)$ — 局部加速度项(非稳态)
- $\rho(\mathbf{u} \cdot \nabla \mathbf{u})$ — 对流加速度项(非线性,湍流的来源)
- $-\nabla p$ — 压力梯度驱动力
- $\mu \nabla^2 \mathbf{u}$ — 黏性扩散项
- $\rho \mathbf{g}$ — 重力体力
2.3 能量方程(传热问题)
$$\rho c_p \left(\frac{\partial T}{\partial t} + \mathbf{u} \cdot \nabla T\right) = \nabla \cdot (k \nabla T) + \dot{q}$$其中 $c_p$ 为比热容,$k$ 为导热系数,$\dot{q}$ 为体积热源项。
2.4 无量纲数
CFD中最重要的无量纲参数是雷诺数,用于判断流态:
$$Re = \frac{\rho U L}{\mu} = \frac{UL}{\nu}$$$Re \ll 1$:层流(黏性主导);$Re \gg 1$:湍流(惯性主导)。工程中大多数流动属于湍流范畴。
3. 主要CFD分析类型
| 分析类型 | 适用条件 | 典型应用 | 代表求解器 |
|---|---|---|---|
| 不可压缩流 | Ma < 0.3,密度基本不变 | 水泵、建筑风环境、血流 | simpleFoam, Fluent |
| 可压缩流 | Ma > 0.3,密度变化显著 | 飞机翼型、超声速进气道、压气机 | rhoCentralFoam, Fluent density-based |
| 层流 | Re 较低,流线整齐 | 微流控芯片、低速润滑油流动 | 直接求解N-S方程 |
| 湍流(RANS) | Re 高,实际工程主流方法 | 管道流、汽车外流、工业风机 | k-ε, k-ω SST |
| 多相流 | 气液/液液界面存在 | 鱼雷空泡、海浪破碎、注塑充模 | interFoam (VOF), Fluent Multiphase |
| 共轭传热(CHT) | 流体-固体传热同时求解 | 电子散热、燃气轮机叶片冷却 | chtMultiRegionFoam, Fluent CHT |
4. 湍流模型概览
工程中的流动大多为湍流。由于直接数值模拟(DNS)计算量极大,实际工程使用建模方法处理湍流。
湍流模型这么多,k-ε和k-ω SST有什么区别?实际项目用哪个?
简单说:k-ε适合远离壁面的自由流区域,计算稳定,但预测壁面附近的分离流不太准;k-ω SST是目前工业CFD中用得最多的湍流模型,它在壁面附近用k-ω,远离壁面自动切换k-ε,两者优势结合。如果只选一个,k-ω SST几乎是万能默认选项。LES则精度高得多,但计算量可能是RANS的100倍,主要用于研究或要求极高精度的设计场景。
| 模型类别 | 代表模型 | 计算成本 | 精度特征 | 适用场景 |
|---|---|---|---|---|
| RANS | 标准 k-ε | 低 | 自由射流、管道流较好;逆压梯度流偏差大 | 工业管道、建筑风环境 |
| RANS | k-ω SST | 低-中 | 壁面附近精度高;分离流预测改善;工业CFD首选 | 汽车外流、翼型、涡轮机叶片 |
| RANS | Realizable k-ε | 低 | 旋转流和强曲率流改进;比标准k-ε更稳定 | 旋风分离器、搅拌槽 |
| LES | Smagorinsky-Lilly | 高 | 大尺度湍流直接分解;小尺度建模;精度显著高于RANS | 燃烧室、声学噪声、湍流混合研究 |
| 混合 | DES / DDES | 中-高 | 近壁用RANS、远场用LES;平衡精度与成本 | 大分离区流动、汽车尾流 |
| DNS | 直接数值模拟 | 极高 | 无建模误差;计算量随Re3增长;仅限学术研究 | 基础湍流机理研究 |
壁面处理:y+ 的重要性
壁面附近的第一层网格高度决定了 $y^+$ 值,这直接影响湍流模型精度:
$$y^+ = \frac{\rho u_\tau y}{\mu}, \quad u_\tau = \sqrt{\frac{\tau_w}{\rho}}$$- $y^+ \approx 1$:近壁低雷诺数处理(k-ω SST 推荐)
- $y^+ = 30 \sim 300$:使用壁面函数(标准 k-ε 适用区间)
- 壁面函数选错或 $y^+$ 不在适用范围,会导致摩擦力和热传导系数计算偏差 20%~50%
5. OpenFOAM — 全球最流行的开源CFD平台
OpenFOAM(Open Field Operation and Manipulation)是目前全球使用最广泛的开源CFD求解器框架。由ESI Group维护,完全开源免费,允许二次开发。
OpenFOAM 核心特点
- 基于有限体积法(FVM):适合任意非结构网格,计算精度和稳定性好
- 丰富的求解器库:不可压缩流(simpleFoam)、可压缩流(rhoCentralFoam)、多相流(interFoam)、传热(chtMultiRegionFoam)等40余种
- 高度可定制:C++源代码开放,可添加自定义湍流模型、边界条件和物理模型
- 命令行工作流:所有操作通过字典文件和终端命令完成,适合批量参数研究和高性能计算
- 并行计算:基于 MPI 的域分解并行,可在 HPC 集群上扩展至数千核
OpenFOAM 典型算例目录结构
myCase/
├── 0/ # 初始/边界条件(速度U、压力p、湍流量k, ω)
│ ├── U
│ ├── p
│ └── k
├── constant/ # 物理属性和网格
│ ├── polyMesh/ # 网格文件
│ └── transportProperties
└── system/ # 求解控制参数
├── blockMeshDict # 网格生成参数
├── controlDict # 时间步长、输出控制
├── fvSchemes # 离散格式选择
└── fvSolution # 求解器和收敛判据
OpenFOAM的目录结构这么复杂……初学者怎么入门?
最好的方法是从官方自带的教程算例开始,不要一上来就自己搭。OpenFOAM自带几十个教程,在 $FOAM_TUTORIALS 目录下,比如 tutorials/incompressible/simpleFoam/pitzDaily 这个经典管道流分离算例。把教程跑通,再逐行改参数、观察结果变化,这比看手册效率高十倍。
6. 主要CFD软件对比
| 软件 | 类型 | 特色 | 典型用户 |
|---|---|---|---|
| OpenFOAM | 开源免费 | 完全可定制、大型并行计算、活跃社区;无GUI(命令行操作) | 学术机构、HPC中心、研究院所 |
| ANSYS Fluent | 商业 | 行业覆盖最广;图形界面友好;多物理场与Mechanical集成;丰富的湍流和多相流模型 | 汽车OEM、电子、能源、通用工业 |
| ANSYS CFX | 商业 | 旋转机械(泵、压气机、涡轮)专长;隐式耦合求解器稳定性高 | 涡轮机械、航空发动机 |
| Siemens STAR-CCM+ | 商业 | 内置CAD修复与网格自动化;一体化后处理;赛车和汽车行业广泛使用 | 汽车、船舶、能源 |
| SU2 | 开源免费 | 斯坦福大学开发;气动优化和伴随方法专长;适合气动设计研究 | 航空气动研究 |
| Code_Saturne | 开源免费 | 法国EDF开发;工业级RANS能力;核电和能源应用验证充分 | 核能、能源行业 |
7. 入门学习路径
| 阶段 | 学习主题 | 关键概念 | 推荐路径 |
|---|---|---|---|
| 入门 | 不可压缩层流基础、网格基础 | N-S方程、雷诺数、边界层、y+ | 腔驱动流 → 管道流 → 绕圆柱流 |
| 进阶 | RANS湍流模型、稳态外流 | k-ε, k-ω SST、壁面函数、SIMPLE算法 | k-ω SST翼型 → 汽车外流 → 旋转机械MRF |
| 高级 | 多相流、传热、瞬态计算 | VOF法、CFL数、共轭传热 | VOF自由液面 → 共轭传热 → 瞬态涡流 |
| 专家 | LES/DES、可压缩流、气动优化 | 大涡模拟、激波捕捉、伴随灵敏度 | LES燃烧 → 超声速激波 → 形状优化 |
子栏目导航
CFD初学者推荐从「不可压缩流」开始;有基础的工程师可直接跳至「湍流模型」或「OpenFOAM实践」。