什么是 CFD?
CFD, 是一些英文单词的缩写,主要可能有以下几个意思:
- Computational Fluid Dynamics, 计算流体动力学
- Contract For Difference, 差价合约
- Chicago/Charlotte/Calgary Fire Department, Chicago/Charlotte/Calgary 消防队。
其他可能的意思可以参考:https://en.wikipedia.org/wiki/CFD
由于本网站关注计算流体动力学,那么,在这里,CFD 就是指 Computational Fluid Dynamics 的首字母缩写。
CFD 就是利用计算机对涉及流体流动(有时也包括热传递)的物理现象、工程/结构性能等进行模拟,获得相应物理现象的解释、工程或结构的性能分析。学科的物理基础是流体力学(或传热学),计算基础则涉及到计算机算法、矩阵求解等。可以说,凡是涉及到流体流动或传热方面,都跟 CFD 有关。比如,超大型的气象预报,大一点的有:飞机飞行、轮船航行,中型一点的有:建筑物通风空调、血液流动,小型一点的有:计算机散热,等等,这些都可以利用 CFD 来进行模拟。
CFD 模拟的结果是什么样子?
图 1 为帆船的空气动力学模拟,左图中的线条代表了空气流动的情况,右图的等值线和颜色代表了压力的帆上承受的压力大小。(来源 http://ansys.aonesoft.net/cfd/sports.html)
图1 帆船的空气动力学模拟
图 2 为离心泵的压力场和流场,线条及其颜色代表了速度及流体运动的轨迹,云图代表了压力分布。(来源:https://cn.comsol.com/cfd-module)
图2 离心泵的压力场和流场
图3 福特150流线
CFD 软件有哪些?
CFD 软件有很多,有商用的,有开源的。
商业软件主要有这些:CFX、Fluent、Phoenics、Numeca、Star-CD、comsol、Star-CCM+、Flow-3D、AUTODESK CFD(前身为CFdesign)。其中CFX、Fluent、Star-CD、comsol、Star-CCM+ 等为通用求解器,能够解决各类流体问题。
开源软件有:OpenFOAM, SU2, COOLFluiD, Code_Saturne, TYCHO, … 开源软件非常多,列表可参考:https://www.cfd-online.com/Wiki/Codes
CFD 怎么做?
CFD 的一般流程由前处理、求解、后处理三部分组成。前处理、求解及后处理三流程的作用如下:
前处理: 主要目的是建立几何模型,并划分适当的网格。
求解: 这一步,首先要确定 CFD 的控制方程,设定相关参数及边界条件,选择适当的离散方法,然后选择数值计算方法(求解矩阵)。
后处理: 速度场、压力场、温度场及其他参数的计算机可视化及动画处理。
CFD 怎么学?
我觉得大致可以分为几个部分:
- 理论学习:这一步,先把基本的流体力学知识过一遍,掌握基本的建模方法,大概了解湍流模型等
- 软件学习:这一步,熟悉软件,包括前处理、求解、后处理各环节,照着教程做几个例子,然后,根据你自己项目的情况,选择一个比较接近的例子,认真研究各步骤的实际意义。
- 动手做自己的项目:建立自己项目所需的几何模型,划分网格,按例子的流程走一遍,看看有没有什么问题。再一步一步地深入。
初学 CFD 不要一次加载太多模型,几何模型也不要太复杂,先走流程,再求精准。
由于 CFD 软件很多,对于初学者来说,熟悉任一种都可以,以后可以根据工作需要再进行学习。对于一开始就要学习 OpenFOAM 的同学,可以参考:新手上路 OpenFOAM