计算流体力学(CFD=Computational Fluid Dynamics)可以实现对流体的数值模拟,是一门跨越多个领域的学科,在国计民生和国防领域有着不可替代的作用,根据“巴*统#委员会”,一些商业软件在过去被限制在国内销售。
我们先从理想流体的有势流动开始说起,再说明涡量流函数、SIMPLE算法、投影算法。最后介绍布拉修斯方程及一些软件。
之所以放在后面介绍流体力学,是因为CFD的确很难。过去几十年,我们实现了蘑菇云种植、卫星上天、实现国有高精度数控机床的突破、实现航母下水、实现CPU/DDR内存/SSD硬盘国产化、实现软着陆登月等等波澜壮阔的壮举。但就是在CFD软件商业化产品的开发上成就乏善可陈,一声叹息!!!各大高校/科研院所都购置了国外的各类有限元/容积分析软件,不难让人不唏嘘。
最后推荐几本入门的书籍或资料:
[0] The Finite Volume Method in Computational Fluid Dynamics: An Advanced Introduction with OpenFOAM® and Matlab。集理论与编程的大师作品
[1] 陶文铨.数值传热学[M].北京:高等教育出版社,2001.
[2] S. V. Patankar. Numerical Heat Transfer and Fluid Flow[M]. Hemisphere Press, 1980. 评:大致等于[1]的英文版
[3] H K Versteeg, W Malalasekera. An introduction to computational fluid dynamics[M]. Pearson Education Limited, 2007.评:经典教材,讲解细致易懂
[4] Anil W. Date. Introduction to Computational Fluid Dynamics[M]. Cambridge University Press, 2005.附录有各类程序源代码,例如SIMPLE算法。
[5] openFVM源代码
[6] 何志霞 热流体数值计算方法与应用[M].北京:机械工业出版社,2014.有SIMPLE算法源码
[7] cfd-python-12-steps-to-navier-stokes:
http://lorenabarba.com/blog/cfd-python-12-steps-to-navier-stokes/
注:本章节所有代码都不是笔者写的,但一些计算结果是笔者自己的,一般都标明了出处。