【小白的CFD之旅】07 CFD常识
学了一周的流体力学,小白对于流体力学有了基本的了解,但是流体力学涵盖的内容何其之多,一周的时间怎么可能学得好呢,很多的概念都是模棱两可。为了在一个月之后能够应用CFD,小白又找到了黄师姐。
“师姐,看了一周的流体力学,现在对它有了基本的认识,我想知道计算流体力学和流体力学有什么联系么?“小白问。
”小白,这样吧,我给你推荐一本书,你先去图书馆借出来自己先看看吧,有不懂的再来问我。“黄师姐说。
于是,小白去图书馆借到了黄师姐推荐的书《计算流体力学:从实践中学习》。
黑色的封皮儿,看着挺高端。听黄师姐介绍,这本书原本就是为高年级本科生准备的,里面的理论部分不是很多,而且书中更偏重于工程应用,非常适合于像小白这类零基础人员入门。

黄师姐同时还叮嘱小白在阅读此书时思考的问题,并提醒重点弄明白以下问题:
- CFD是什么?
- CFD可以应用于哪些场合?
- CFD是如何应用于工程的?
- 常用的CFD软件有哪些?
小白去文具店买了个笔记本,将这些问题写在笔记本上。经过三天的学习,小白觉得已经把这几个问题弄清楚了。
小白的学习心得:
1 CFD是什么
- CFD是计算流体动力学(Computional Fluid Dynamic)的英文缩写,其利用计算机求解流体流动过程中的质量传递、能量传递、动量传递以及化学反应问题。CFD是一种方法或者工具,解决对象是流体力学问题,利用手段是数值计算。
2 CFD应用场合
- 只要存在流体流动的场合均可应用CFD。随着计算机技术及计算机计算能力的发展,CFD以及广泛应用于航空航天、造船、汽车、食品、能源、石油化工、生物医学等领域,而且还在不断的向其他行业扩展。
3 CFD如何应用于工程
要将CFD应用于工程,需要做很多的工作,一般来讲,CFD工程应用都可以分为三个阶段:前处理、计算求解以及计算后处理。
3.1 前处理
计算前处理的主要目的在于使计算机识别现实世界。计算机和人脑有很大的不同,要想让计算机识别真实世界是一件不太容易的事情。
举个简单的例子,如图所示,杯子里有水。

人类的识别方式可能是通过视觉将光学图像送入大脑,再凭借记忆将图像识别为杯子和水。
但是要让计算机来识别可就有点儿麻烦了。我们该怎样告诉计算机“这里有个杯子,杯子中有半杯水”这一事实呢?
首先要告诉计算机“这里有个杯子”。我们需要告诉计算机:
- 杯子的尺寸。杯子的形状是怎样的?圆柱形还是圆台形?半径及壁厚等尺寸参数需要定义。
- 杯子的空间属性。杯子是放在地上的还是放在桌子上?我们需要给它一个定位尺寸。
其次,我们需要告诉计算机“杯子中有水”。杯具的是,计算机可不知道什么水是什么玩意儿。不过我们可以告诉计算机: - 杯子中盛装的物质的各种物理性质。比如说水的密度、粘度、比热等。
- 杯子中装了多少水。比如说告诉计算机水位高度或者水的体积。
通过提供 以上信息,计算机就能识别出“杯子中装了水”这一物理现实。
前处理的作用就在如此,要告诉计算机流体流动发生的场合、流体属性、流体流动遵循的物理规则等。CFD前处理包含以下一些内容:
- 定义流动计算域:建立流体流动区域。告诉计算机流体流动发生的场合。
- 计算域离散:将流动计算区域离散成网格单元。
- 指定计算控制方程:告诉计算机所要解决的流体流动遵循的物理规则。
- 定义边界流动条件:特定流动问题有特定的流动边界条件。
- 定义初始时刻流动条件:告诉计算机,零时刻计算域处于何种状态。
- 求解参数定义: 如指定串行或并行计算、计算过程监测、离散算法指定等。
- 输出参数定义:定义计算过程中一些计算参数输出。
3.2 计算求解
- 计算求解通常由计算机自动完成,一般不需要人工干预。在前处理指定完毕后,求解器读取所有的求解参数进行自动求解计算,直至求解完成。
3.3 计算后处理
通过计算后处理将计算求解得到的数据以直观的方式展示出来,便于解读和工程应用。数据展现的方式包括:
- 数据表:每一个网格节点上的物理量数据,通常为压力、速度等原始变量。
- 曲线图:反映物理量变化规律
- 云图:反映物理量空间分布
- 矢量图:反映矢量空间分布
- 动画:以动画形式反应物理量随时间变化
4 CFD软件
CFD本身是一种数值计算方法,常常将其编制为计算机程序。当前有很多CFD软件可用于工程流体计算,根据软件功能,可分为通用软件及专业软件;根据软件源代码是否公开,可分为商业软件及开源软件;根据软件在CFD过程中的位置,可分为前处理软件、求解器软件及后处理软件。
4.1 通用软件及专业软件
- 通用软件:设计用于所有的CFD场合,求解的是通用流体控制方程。通用软件的前处理对象普遍,能应付大多数的工程问题。然而也正是因为要保证通用性,而牺牲了部分性能。通用CFD软件很多,比较常用的如ANSYS系列的FLUENT及CFX、CD-Adapco公司的STAR CCM+及STAR CD、ESI公司的Fastran及ACE+、CHAM公司的Phoenics、Metacomp公司的CFD++、Altair公司的Acusolve等
- 专业软件:专为某一行业设计的CFD软件。专业CFD软件如用于泵阀压缩机的PumpLinx、NUMECA;用于火灾消防的pyrosim及FDS等;用于建筑物暖通计算的Flovent及AirPak等;用于电子散热的Flotherm及Icepak等,专业软件在特定的行业上具备通用软件无可比拟的建模和计算精度优势。
4.2 商业软件及开源软件
- 商业软件:软件源代码不公开,需要花钱购买的软件。上网提到的CFD软件都是商业软件,都需要花费不少的银子才能使用。
- 开源软件:源代码公开的软件,用户可以自己进行编译也可以对源代码进行修改形成自己的计算软件。目前CFD开源软件也不少,比较出名的如OpenFoam、SU2等都是比较好的开源CFD软件。
4.3 前处理及后处理软件
前面提到的CFD软件基本上都是求解器软件(不排除 一些软件包含前后处理),当前市面上还存在一些专业前后处理软件。
- 前处理软件:对于CFD前处理软件,其主要任务是进行网格划分。代表性的CFD商用前软件包括ICEM CFD、Pointwise、Gridgen、GridPro等,开源前处理软件如Gmsh、Salome等
- 后处理软件:后处理软件也有不少,代表性的商用后处理软件包括Tecplot、Ensight等,开源的如ParaView等。
【小白的CFD之旅】07 CFD常识的更多相关文章
- 【小白的CFD之旅】小结及预告
这是小白系列的索引,后续会继续更新. 已更新的部分 01 引子02 江小白03 老蓝04 任务05 补充基础06 流体力学基础07 CFD常识08 CFD速成之道09 初识FLUENT10 敲门实例1 ...
- 《小白的CFD之旅》招募写手
<小白的CFD之旅>系列招募写手. 由于工作繁忙,<小白的CFD之旅>系列更新缓慢,现招募志愿者写手.这是一个分享平台,欢迎各位愿意分享自己CFD学习经历的朋友们. <小 ...
- 【小白的CFD之旅】13 敲门实例【续3】
接上文[小白的CFD之旅]12 敲门实例[续2] 4 Results4.1 计算监测图形4.2 Graphics4.2.1 壁面温度分布4.2.2 创建截面4.2.3 显示截面物理量4.2.4 Pat ...
- 【小白的CFD之旅】12 敲门实例【续2】
接上文[小白的CFD之旅]敲门实例[续] 主要内容 3 Solution3.1 Solution Methods3.2 Solution Controls3.3 Monitors3.4 Report ...
- 【小白的CFD之旅】11 敲门实例【续】
主要内容: 接上文[小白的CFD之旅]10 敲门实例 2.4 Materials设置2.5 Cell Zone Conditions2.6 Boundary Conditons2.7 Dynamic ...
- 【小白的CFD之旅】01 引子
小白的CFD之旅 写在前面 CFD是计算流体力学的英文简称,是计算机辅助工程(CAE)的主要分支,目前广泛应用与科学研究.工程设计中.这是一门综合了数学.计算机及流体力学的综合学科,涉及到众多的专业理 ...
- 【小白的CFD之旅】17 需要编程?
小白经过大半个多月对于CFD的学习,终于对其大概轮廓有了初步的了解,尤其是在与小牛师兄交流之后.小牛师兄毕竟是专业学流体力学的,小白认为在流体力学理论方面自己与牛师兄至少存在5年的差距.不过小白并不气 ...
- 【小白的CFD之旅】15 四种境界
天气不错,小白一大早就起床了,吃过早餐就往奔实验室而去.路上碰到了同去实验室的小牛师兄. "小白,这么早啊",小牛师兄老远就发现了小白,打招呼道. "早啊,牛师兄,刚吃完 ...
- 【小白的CFD之旅】21 网格划分软件的选择
但是怎样才能获得流体计算网格呢?“工欲善其事必先利其器”,画网格该用什么器呢?小白决定找黄师姐请教一番. 小白找到黄师姐的时候,黄师姐正在电脑上忙着. “黄师姐,我发现网格划分软件有好多种,究竟哪种才 ...
随机推荐
- Hexo主题实现多级分类显示
前言 最近在搞一个博客,是托管在github和gitcafe上的,利用Hexo生成的.之后,发现一个问题,显示的分类都是一级的.而我想要的是:能显示多级分类,层次分明`的那样. 问题 基本主题自带的分 ...
- cmd执行SQL语句
首先新建txt文本,复制粘帖以下内容,保存为cmd执行SQL.bat.注意是bat文件 osql -S 服务器名称 -d 数据库 -U 登录名 -P 密码 -i 盘符:\文件夹\文件.sql
- Chrome立体动画代码
效果预览:http://hovertree.com/code/run/css/x8l6si70.html 请实用Chrome浏览器查看效果,手机上也可以. 代码如下: <!DOCTYPE htm ...
- What does "size" in int(size) of MySQL mean?
What does "size" in int(size) of MySQL mean? https://alexander.kirk.at/2007/08/24/what-doe ...
- Oracle 编程
编程:储存过程,自定义函数,触发器,包. 储存过程 在命令窗口用exec调 作用:存储在数据库中用于完成某个功能的程序 创建在 procedure里 create or replace procedu ...
- IOS 2D游戏开发框架 SpriteKit-->续(完善角色功能)
一.说明 今天给角色精灵增加了子弹发射功能,增加了子弹与敌对精灵的碰撞检测,当角色精灵子弹与敌对精灵碰撞后,它们都会从屏幕上消失. 二.场景层SKScene的修改 1. 在初始化场景层的方 ...
- Codeforces Round #376A (div2)
Night at the Museum 题意: 有一个转盘,26个英文字母均匀分布在转盘边缘,转针初始位置在字母a,每次只能转动到相邻的字母,然后输入一个由26个字母组成的字符串(最长100),不复位 ...
- 使用block进行界面之间的反向传值
目标:在两个独立的控制器的界面之间进行反向传值 关键技术:block 代码编写及运行环境:Xcode6.4 / 模拟器8.4 语言:Objective-C 注:使用纯代码实现,不使用xib/story ...
- UDS(ISO14229-2006) 汉译(No.6 应用层服务)
6.1总览 应用层服务通常被当作诊断服务.应用层服务用于在基于客户端-服务器的系统(Client-Server base System)中执行一些功能,例如针对车载服务器(ECU)的检测.检查.监控和 ...
- yii2 控制器、方法命名规范和访问路由
如果模块名称或者控制器名称或者动作名称是用的骆驼格式的命名写法,那么路由里面的每个大写单词之间都要用“-”来连接.如 DateTimeController::actionFastForward 相应的 ...