偶也说一点。
偶原来是做实验的,CFD和NHT上课学过一点,没学到什么东西。研究生毕业前半年,觉得身为流体机械的master不懂CFD没脸见人,于是就自己再学。
说实话,教材,当时觉得没有一个是很系统明了的。所看的书基本是北航的《计算流体力学基础》(忘了作者)、《计算流体动力学》(马铁尤),这两个比较老,主要着重于可压缩流的计算。较新的可压缩流计算可以看看《应用计算流体力学》(朱自强)和《叶轮机械跨声速及亚声速流场的计算方法》(清华的王保国)。《数值传热学》(陶文铨)、《计算传热学的近代进展》(陶文铨),主要着重于不可压流的计算。此外还有吴子牛的一本书,不记得名字,思路清晰,简明扼要。刘超的一本多重网格法的专著,附带的源代码很多,即使不作多重网格,也是很有价值的。
因为没有老师,所以看书就没有什么章法,看不懂就跳过,往后看,说不定就懂一点,然后回头重新看。没事就看看,仔细看,多了就明白了。还可以在internet上搜索老外的教材和lecture notes。初学CFD,最忌急躁。很多看不懂是正常的,指望全部内容一次看懂是不可能的(这不是看小说)。看上一段时间,大概几个月,看多了,脑子里面的概念就系统了。很重
要的是这两大类(可压/不可压)的计算方面的一些重要的区别和特点,主要体现在方程组形式、求解方式、边界条件的处理、物理上的着重点等等。这些概念很重要,即使不编程,实用商业软件的时候如果没有清晰的概念,就会在求解设置上犯错(有人算跨音速喷管居然用常密度气体,典型的基本概念不清)。
肯定会碰到大量的公式的。没别的,硬着头皮看,但是脑子要清醒,不能晕。如kaisa说,就是那么几个守恒关系(质量、动量、能量、组分……)。而且这些公式都是一个形式——对流扩散方程,搞清楚那些是流动项(对流项),那些是扩散项,那些是源项,这样主干就清晰了。枝节的问题相对杂一些,那只能硬着头皮读。
如果着重于利用商业软件解决问题,只要有足够的基本概念就可以参考软件的文档很快入门了。必须掌握英文阅读,实际上不难,4级水平足以。照着tutorial做几个就有底了。多思考,然后越做越顺手的。
网格是关键,必须把网格做好。首先得清楚计算对网格的要求,特别是紊流计算。实际做网格要花很多功夫,要慢慢磨练。我最先用过AUTODesk Inventor 6 + GAMBIT 2,还算是很熟悉了。不过现在觉得GAMBIT确实落后了,很费劲。现在用的是ICEMCFD。最先感觉ICE
MCFD无从下手,因为模块太多,不清楚之间的关系,不知道那些是主要的。偶推荐先研究HEXA模块,直接从tutorial pdf文件的HEXA那一部分开始学习,其他的都不管。然后就会渐入佳境的。
如果还想深入编程,就不能满足基本概念,必须硬着头皮啃教材里面的算法、算例讲解和源代码了。《数值传热学》里面多维热传导和边界处理、SIMPLE算法,《计算传热学的近代进展》里面的非结构网格Denolay生成法,还有一些其他资料上的Euler方程Remann间断解、1D可压缩流的计算格式……我读了很多遍。必须别人的代码读,否则不知道怎么编程。最先读了陶文铨书后面的那个后台阶流动的SIMPLC程序、XJTU的2D的SIMPLE算法教学程序。这些相对比较短,几页纸罢了。然后是比较长的,《计算传热学的近代进展》后面的非结构网格Denolay生成代码,刘超书后的多重网格法叶片计算程序。这些还好,虽然注释不多,但是算法都在书里面。后来想可压缩源代码读就难了,好不容易到一个法国人的2D非结构网格可压缩流求解程序NSC2KE,30多个文件,好几十页,注释很少,还有法文的;在毕业的博士师兄故纸堆里到一个老师编写的跨音速流3D薄层NS方程程序,几乎没有注释,只有不知道谁随手做的一点笔记,也是几十页的代码。只能硬着头皮慢慢读,因为想到自己感兴趣的问题相关的、有详细算法介绍和注释的代码看是不可能的。读懂一些
源代码之后,我想就算小成了。然后自己写程序就有底了。
如何才能成为CFD高手
呵呵,好久没思考这个问题了,记得刚接触CFD时,也是一脸惶恐,这个不懂,哪个不知,整个灰头土脸,还得小心老板盘问,同学比较!痛苦+郁闷ing!时间长了,脸皮厚了,也学到一点东东,但是心里依然有种说不出的烦闷,就是为什么我不懂的有那么多?我什么时间也能成为一个高手?
原来我没懂仔细总结了一下,其实也成为计算流体力学也不是很难,下面就简单叙述一下:
1.所谓计算流体力学,顾名思义,需要计算和流体力学知识,要成为高手,首先要有扎实的数学功底和流体力学知识。数学是很难弄的,有些人(包括我)看见偏微分就烦,看见老长老长的数学推导就想略过。其实这和国内的教科书有很大关系,因为从小看到的数学书都是冷冰冰,让人怪不舒服的。所以如果现在要补数学,首先要些有趣点的教材。这个非常关键,没有兴趣学数学还不如自杀痛快!对于流体力学,尤其是紊流这部分,说法太多,难以一一详述,到现在连什么是紊流都没有一个准确性定义,苦呀!各种不同的定义方法和描述
方法,像什么混合长度等等,决定了各自的适用范围,建议对于这一部分做个详细的分类了解。其实,计算流体力学说到底,就是那三个守恒公式,能量、质量、动量,了解起来很容易。关键是各种假设太多,痛苦ing!什么时间,我们直接研究流体分子,把假设全干掉,那就爽了,不过估计,我是没希望看到了!哈哈!
2.第二点,要学会编程。这又涉及到数学,因为什么网格化分,方程离散,差分迭代等等其实都是数学的玩意。数学不好,肯定搞不懂那一堆一堆的符号是装饰还是垃圾,哈哈!推荐学门高级点的语言,VF很有历史,VC很难学,但你一定要学一门。只有通过编程,你才能了解计算流体力学究竟是如何一回事。
3.要学软件,自己变程是学个方法,现在大部分人都是在用商业软件。像流行的fluent,star-cd等等,虽说不是针对性软件,效率低,精度低,但要自己做个计算复杂流场的软件,还是要慎重思考。学软件其实不难,因为大部分工作都已经做好了,我们要做的就是告诉软件要做一个什么样的问题,有点像傻瓜相机。简单说来CFD可分三步,建模,求解,后处理。建模包括绘制物理模型,网格化分,设定边界条件等。绘制物理模型(CAD),很简单多数商业软件都有专门的软件,也可以选择复杂的ug,proe,solidworks,这和个人爱好与软件资源有关,
在此不多作评论,可以挨个试试,个顺手的。关于网格化分,除了CFD软件自带的软件,可以尝试学这么几个,icemcfd,gridgen,等。边界条件都是在CFD软件中设定,无非压力速度质量。关于后处理,一定要有足够的重视!这一部分是重中之重,计算的结果别人是看不懂的,一定要有诲人不倦的精神,要让傻瓜都愿意看,都能看懂。当然最关键的是确定数据的取舍,因为计算的好处便是能得到一大堆各式各样的数据,一定要挑出那些和计算要求相关的,能说明问题的结论。然后就是数据的表达问题,也挺简单,等值线,矢量,数值曲线。要选一个最简洁明了的。推荐软件fieldview,tecplot(这个东东有点笨)。
4.要有好的硬件设备,弄着PentiumI做计算肯定能做,但你肯定被抛在了时代的后面,你的结论肯定有种历史沧桑感。硬件也简单,CPU要快,而且要抗造,别动上几个小时就冒烟;内存一定要大,这样你才敢算个像样的问题,要不然你拿着50个网格,还是用计算器算比较好。哈哈;再就是显卡,显存要够大,GPU要够快;硬盘也要够大够快。别弄着个250M(据说已经停产了,但我用过)的硬盘去存东东;最关键的是主板,一定要够稳,够快,要不然,你前面的东东,再好都白费。关于显示器,我很痛苦,实验室给我弄得syncmaster743df,让我的眼睛每天都像个兔子,惨不忍睹!当然最爽的是弄台工作站耍,这是我今后的努力目标,不为别的首先要告别这一堆眼药水!
5.要有一颗仁慈的心。计算机这东西太笨,在出错的时候不要把它暴扁。
好了,老板在靠近,我要先闪!
推荐书籍:
中文:陶文铨《数值传热学》,我认为国内的一个经典。
吴望一《流体力学》。
英文:太多了,我感觉都不错,有空到我的FTP自己吧。
软件:star-cd,fluent,ug,icemcfd,fieldview,origin.
计算流体力学基本原理
作者: 吴子牛编著 索书号:52.71/C18  SS号:10833073  出版日期:2001年2月第1版  页数:281 
 
应用计算流体力学
作者: 朱自强等著 索书号:O35/59  SS号:10307347  出版日期:1998年8月第1版  页数:222 
流体力学与应用数学讲座(4) 计算流体力学
作者: 赵国英 吴汉明 整理 索书号:52.7/225  SS号:10217136  出版日期:1985年11月第1版  页数:162 
计算流体力学导论
作者: CHUEN YEN CHOW 索书号:52.7-352  SS号:10248445  出版日期:1987年2月第1版  页数:458 
计算流体力学
作者: 魏茂乐 杨岭 索书号:52.7/225  SS号:10131300  出版日期:1985年11月第1版  页数:162 
计算流体力学
作者: 刘顺隆 郑 索书号:O35/L72  SS号:10190646  出版日期:1998年5月第1版  页数:353 
计算流体力学的理论、方法及应用
作者: 吴江航 韩庆书著 索书号:52.7/6032  SS号:10347084  出版日期:1988年5月第1版  页数:293 
计算流体力学
作者: 陈材侃 索书号:O35/C37  SS号:10201499  出版日期:1992年12月第1版  页数:341 
计算流体力学基础
作者: 苏铭德 黄素逸 索书号:D35/S87  SS号:10200305  出版日期:1997年3月第1版  页数:497