计算流体力学的发展

计算流体动力学(Computational Fluid Dynamics)简写为CFD,经过半个世纪的迅猛发展,这门学科已经是相当的成熟了,一个重要的标志就是近几十年来,各种CFD通用软件的陆续出现,成为商品化软件,服务于传统的流体力学和流体工程领域,如航空、航天、船舶、水利等。随着CFD通用软件的性能日益完善,应用的范围也不断的扩大,在化工、冶金、建筑、环境等相关领域中也被广泛应用。

现代流体力学研究方法包括理论分析,数值计算和实验研究三个方面。这些方法针对不同的角度进行研究,相互补充。理论分析研究能够表述参数影响形式,为数值计算和实验研究提供了有效的指导;试验是认识客观现实的有效手段,验证理论分析和数值计算的正确性;计算流体力学通过提供模拟真实流动的经济手段补充理论及试验的空缺。

更重要的是,计算流体力学提供了廉价的模拟、设计和优化的工具,以及提供了分析三维复杂流动的工具。在复杂的情况下,测量往往是很困难的,甚至是不可能的,而计算流体力学则能方便的提供全部流场范围的详细信息。与试验相比,计算流体力学具有对于参数没有什么限制,费用少,流场无干扰的特点。出于计算流体力学如此的优点,我们选择它来进行模拟计算。简单来说,计算流体力学所扮演的角色是:通过直观地显示计算结果,对流动结构进行仔细的研究。

计算流体力学在数值研究大体上沿两个方向发展,一个是在简单的几何外形下,通过数值方法来发现一些基本的物理规律和现象,或者发展更好的计算方法;另一个则为解决工程实际需要,直接通过数值模拟进行预测,为工程设计提供依据。理论的预测出自于数学模型的结果,而不是出自于一个实际的物理模型的结果。计算流体力学是多领域较差的学科,涉及计算机科学、流体力学、偏微分方程的数学理论、计算几何、数值分析等,这些学科的交叉融合,相互促进和支持,推动了学科的深入发展。

CFD方法是对流场的控制方程用计算数学的方法将其离散到一系列网格节点上求其离散的数值解的一种方法。控制所有流体流动的基本定律是:质量守恒定律、动量守恒定律和能量守恒定律。由它们分别导出连续性方程、动量方程(N-S方程)和能量方程。应用CFD方法进行平台内部空气流场模拟计算时,首先需要选择或者建立过程的基本方程和理论模型,依据的基本原理是流体力学、热力学、传热传质等平衡或守恒定律。

由基本原理出发可以建立质量、动量、能量、湍流特性等守恒方程组,如连续性方程、扩散方程等。这些方程构成连理的非线性偏微分方程组,不能用经典的解析法,只能用数值方法求解。

求解上述方程必须首先给定模型的几何形状和尺寸,确定计算区域并给出恰当的进出口,壁面以及自由面的边界条件。而且还需要适宜的数学模型及包括相应的初值在内的过程方程的完整数学描述。

求解的数值方法主要有有限差分法(FDM)和有限元(FEM)以及有限分析法(FAM),应用这些方法可以将计算域离散为一系列的网格并建立离散方程组,离散方程的求解是由一组给定的猜测值出发迭代推进,直至满足收敛标准。常用的迭代方法有Gauss-Seidel迭代法、TDMA方法、SIP法及LSORC法等。利用上述差分方程及求解方法既可以编写计算程序或选用现有的软件实施过程的CFD模拟。

计算流体力学应用领域

近十多年来,CFD有了很大的发展,替代了经典流体力学中的一些近似计算法和图解法,过去的一些典型教学实验,如Reynolds实验,现在完全可以借助CFD手段在计算机上实现。

所有涉及流体流动、热交换、分子输运等现象的问题,几乎都可以通过计算流体力学的方法进行分析和模拟。CFD不仅作为一个研究工具,而且还作为设计工具在水利工程、土木工程、环境工程、食品工程、海洋结构工程、工业制造等流域发挥作用。典型的应用场合及相关的工程问题包括:

航空工程

CFD在航空和国防工业中的应用经历了一个长期的发展过程,取得了令人瞩目的成绩。在激烈的竞争环境中,CFD在改进飞行设计中起到了关键性的作用。实际上,很多工程师已将CFD和空气动力学结合起来用于诸如飞机机翼升力的计算。随着CFD计算技术和计算机能力的提高,其使用更为简便,人们在计算升力之外,其应用范围已经得到很大拓展。今天,CFD正用于求解很多困难的实际问题,而这些问题用过去的计算工具是难以分析或求解的。

汽车工程

现在,汽车工程师们正在依靠更多的模拟技术将提出的新车设计概念付诸实施。计算机辅助工程已经处于革新汽车内部系统的技术前沿,可以更好地全面提升驾驶体验,改善驾破员和乘客的舒适性和安全性,井且进一步降低油耗,计算流体力学长期以来一直是汽车设计和制造中的一个基本要素。除了航空航天工业外,汽车工业在研究制造中也大量使用了CFD技术。因此,作为工程模拟工具,即使面对最困难的挑战,CFD仍然在许多工业领域中得到很好的应用。

生物科学工程

医学研究者现在依靠模拟工具帮助预测人体中血液循环流动状态,数值模拟能够提供实验难以得到的有价值的信息,而且CFD还可以对很多流体动力学参数进行研究。同时,CFD 在制药工业也有广泛的应用。

化学和采矿工程

很多世界必需品源于化学工业和采矿业,这些工业通过物理或化学方法加工原材料,消耗大量的热能和电能,为食品、保健品以且先进的计算技术设备和生物技术设备提供初级产品,面对不断加剧的竞争,这些工业面临的主要挑战是既要满足当前世界性的需求,同时时未来发展丑不造成损害,这就要求生产过程更高效、更安全以及更少污染物的排放。

民用和环境工程

政府、研究机构以且企业正在职融寻求途径满足环境保护法,在维持一定生产水平、满足市场不断增加需靠的同时,保证减少环境污染。在很多时候,CFD模拟已经成为解决环境问题的核心技术。

能源工程

在不断竞争的能源市场中,设备制造商们转向CFD寻求技术支持,以便更好地了解和提升能源工业中的设备和工艺。尽管传统的发电方式仍在广泛使用,但已经出现了具有潜力的可再生能源,如凤力发电。为使投资得到最大回报,CFD已经被用于风力发电涡轮叶片的优化设计当中,使之在不同的来风条件下能产生恒定的功率。通过CFD的风能资源评估,工程师可以更好地研究风力发电站的经济性,正确的模拟结果可以减少投资风险。

体育

随着体育水平的不断提高,特别是在奥运赛场上,运动员的水平都在伯仲之间,体育比赛的胜负差距非常微小,为了在比赛中获得胜利,不得不为提高器材的性能投入大量的资金。体育器材的流体动力性能越来越重要,越来越多的优秀运动员、运动队以及体育设备制造商们都在努力从先进的流体模型中获取比赛空气动力的有利条件,越来越多的体育器材外形的研究成果逐渐为人们所认可。同时,CFD不仅可以研究体育运动器械等硬件设备,还可以对运动员的运动技巧进行分析,针对不同运动员的自身条件,通过计算分析,制定更为科学量化的竞技动作和训练内容。

C++ 偏微分数值计算库_一文带你了解计算流体力学CFD及其应用领域相关推荐

  1. C++ 偏微分数值计算库_【动手学计算机视觉】第一讲:图像预处理之图像去噪...

    我创建了一个知乎圈子:[平凡而诗意],专注于分享前沿技术.编程开发.实用工具等方面内容,感兴趣的可以首页搜索[平凡而诗意]加入我的圈子,让我们一起玩耍吧!QQ学习交流群:1077239487 平凡而诗 ...

  2. C++ 偏微分数值计算库_蒙特卡罗计算积分 - 人工智能遇见磐创

    作者|Cory Maklin 编译|VK 来源|Towards Datas Science 通常情况下,我们不能解析地求解积分,必须借助其他方法,其中就包括蒙特卡罗积分.你可能还记得,函数的积分可以解 ...

  3. mysql三国人物库_一文带你使用neo4j生成三国人物社交关系图

    简介 最近给孩子买了三国演义,可是三国人物关系太复杂,就想着把三国人物关系做成一张图,这样方便看,整好neo4j图数据库非常适合社交关系的处理,下面就一起来看看,如何使用neo4j生成三国人物社交关系 ...

  4. java etl工具_一文带你入门ETL工具-datax的简单使用

    什么是ETL? ETL负责将分布的.异构数据源中的数据如关系数据.平面数据文件等抽取到临时中间层后进行清洗.转换.集成,最后加载到数据仓库或数据集市中,成为联机分析处理.数据挖掘的基础. ETL是数据 ...

  5. pyecharts对于经纬度_一文带你掌握Pyecharts地理数据可视化的方法

    本文主要介绍了Pyecharts地理数据可视化,分享给大家,具体如下: 一.Pyecharts简介和安装 1. 简介 Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计, ...

  6. java byte char io流_一文带你看懂JAVA IO流,史上最全面的IO教学

    原标题:一文带你看懂JAVA IO流,史上最全面的IO教学 一.IO流是什么 惯例引用百科的回答 流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符 ...

  7. java io流详解_一文带你看懂JAVA IO流,史上最全面的IO教学啦

    一.IO流是什么 惯例引用百科的回答流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列.从流中取得数据的操作称为提取操作,而向流中添加数据的操作 ...

  8. javaio流_一文带你看懂JAVA IO流,史上最全面的IO教学啦

    一.IO流是什么 惯例引用百科的回答 流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列.从流中取得数据的操作称为提取操作,而向流中添加数据的操 ...

  9. lambda表达式java项目常用_一文带你彻底搞懂Lambda表达式

    1. 为什么使用Lambda表达式 Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递).可以写出更简洁.更灵活的代码.作为一种更紧凑的代码风 ...

最新文章

  1. 免费教材丨第51期:数学基础课程----概率论教程、机器学习中的数学基础
  2. c语言编写atm取款功能_21行C语言代码编写一个具备加密功能的聊天程序!网友:666...
  3. iOS开发图片纯色填充(两种方式)和缩小图片
  4. 重读《从菜鸟到测试架构师》-- 单元测试测点啥
  5. ajax-典型应用-验证用户名
  6. jquery input值改变事件_前端技术--JQuery
  7. [翻译 EF Core in Action 2.1] 设置一个图书销售网站的场景
  8. 关于Increased rates of convergence through learning rate adaptation一文的理解
  9. 从Var Tick角度来对CE电源管理
  10. 关于缓存的几篇好文章
  11. BZOJ 1059: [ZJOI2007]矩阵游戏
  12. sql union用法和sql union all用法,sql union效率
  13. 【图论】【二分图匹配】[POJ 3041]I'm Telling the Truth
  14. IIS下载无后缀文件的设置
  15. JAVA程序设计(学堂在线-清华大学) 课后练习题 已更新完毕
  16. 【语言模型系列】实践篇:ALBERT在房产领域的实践
  17. 高速公路联网收费ETC设备可维护性技术要求(征求意见)
  18. 预产期计算器在线计算生男生女计算机,预产期计算器生男生女在线查询-预产期计算器及天数计算时间软件2017版-腾牛安卓网...
  19. 将海康摄像机发布萤石云指南
  20. 局部加权回归LOESS(locally weighted regression)

热门文章

  1. 毫秒级从百亿大表任意维度筛选数据,是怎么做到的…
  2. 【演讲实录】下一代企业级应用架构管理体系
  3. KubeEdge@MEC:Kubernetes容器生态与5G的结合
  4. Java之五种遍历Map集合的方式
  5. Web前端性能优化,应该怎么做?
  6. 从0到1入门:7天玩转IoT物联网实战营丨IoT喊你加入学习之旅!
  7. 华为云AI斩获2019数博会“黑科技”等四大奖项
  8. java 强制类型转换告警_java-对未声明的强制转换返回警告
  9. java的vector_Java中 Vector的使用详解
  10. imovie打开视频卡死解决办法