如何CFD自学成才



  • 替代文字

    1 OKS有没有线上课

    Never

    即使学生甚至老师全部封闭在学校不让来参加线下课,宁可砍掉课程,也不会有线上课。原因不好公开解释。毕竟有这么多同行在做线上。

    2 如何自学CFD

    其实不参加各种课程,都完全可以把CFD玩的很溜。今天我就简单说一下我个人的看法,如何打坚实的CFD基础,达到半个科班出身的效果。

    首先,在这里还是要区分一下,CFD从业人员分为偏算法和偏应用。今天讨论的只适用于偏算法类的CFD人员(比如各种研究生和刚转到CFD这一行的老师们)。

    我觉得CFD,从零到中级,大体分为三个步骤:

    1. 看书学习理论

    2. 看sci学习算法

    3. 深入编程、复现结果

    简单来说,就是看书 -> 看sci -> 编程。当然,过程可能反复、穿插进行。

    问题是看多少书,看什么书,怎么看书,怎么看sci,怎么学编程,怎么编程之类。

    2.1 零基础看什么CFD书

    零基础我只推荐看这2.5本书。

    第1本:《数值传热学》

    第2本:An Introduction to Computational Fluid Dynamics, the finite volume method

    第2.5本:《无痛苦N-S方程笔记》

    我个人学习习惯,是看10本书不如一本书看10遍。书不在于多而在于精。这三本书我已经跟大家推了无数无数遍了。

    所以,坚定不移的看就好。

    要注意,这里不是说其他教材的不好。只不过是看这2.5本书,完全可以让你对初级CFD有点感觉了,起码知道那些乱七八糟的算符方程怎么看懂,有限体积法是干嘛的,速度压力为什么求解比较困难之类。

    看书顺序建议这样:先看《笔记》,再看那本英文书(V & M),再看《数值传热学》。

    《笔记》不需要看多久,零CFD基础一天也足够了。V & M的每天看一点,看两星期,然后开始看《数值传热学》。开始看《数值传热学》可能够呛能看懂。

    看不懂硬着头皮看(注意,宇波老师等曾经出版《数值传热学实训》,感兴趣也可以关注下)。

    看两星期。回头看V & M,看一星期,有点新收获,再回头看《数值传热学》。总之,V & M和《数值传热学》是学初级CFD的主线,来回看个5遍,就差不多了。

    2.2 看书之后怎么学算例

    这牵涉到另一个主题如何学OpenFOAM。我还是一个基本原则:书不在于多在于精。并且官方教程绝对是权威教程。

    在学OpenFOAM的时候,《OpenFOAM用户指南》一直就在那,可以随便下载学习。这是我拿到版权的OpenFOAM User Guide中文翻译版。

    OpenFOAM本身带了那么多的算例,随便找几个。运行算例。了解一下CFD网格、边界条件、物理特性对结果的影响。大体有个概念,哪些参数影响很大。

    这一步骤应该很简单。不需要过多讨论。

    2.3 如何拔高

    好了,到这一步,就没有简单的事情了。

    首先,在进入到这一步之前,

    我先问你几个问题:

    • 动量方程、连续性方程分别有什么物理含义?通量是什么?

    • 下面的公式能看懂么?
      \begin{equation}
      \int \int \nabla p \mathrm{d}V\mathrm{d}t=\int\int p \mathrm{d}\bfS\mathrm{d}t=\Delta t\sum \left(p_f^t\bfS_f\right),
      \label{gradp}
      \end{equation}

    • 通量的高阶格式体现在哪?

    • 压力速度SIMPLE-PISO算法实现流程与主要的处理问题?

    如果能回答上述问题,可以进阶的看一些CFD的书。在这个阶段,两三本书肯定是不够的。因为这不是初级CFD,这是中级CFD。

    所以,我给你一个list:

    替代文字

    除去两本初级CFD教材,其中有7本。各个经典,大家之作。简单说一下:

    • 第一本,双曲问题典藏,我感觉,读10遍20遍不过分

    • 第二本,双曲问题典藏,也是10遍20遍不过分的,相比较第一本,更算法一些,更CFD一些

    • 第三本,低速流典藏,15年我去Henry家的时候看到过这本书,收藏指数五星级

    • 第六本,OpenFOAM早期开发者Jasak博士的博士论文,写的很对OpenFOAM的路子,看3 5遍也是值得的

    • 第七本,稀疏线性系统典藏,不过只属于CFD小分支的一部分,可以挑着看,不过挑着看可能会看不懂,自己衡量

    • 第八本,我的CFD榜样写的的I Do Like CFD,偏解析解,偏高超,可以看几遍熟悉熟悉双区方程

    • 第九本,低速高速流混编的非常偏CFD算法的大作,内容不是特别难,看5遍10遍不过分

    这些书非常经典,经典就是书里面随便挑一句话,就是耐人寻味。

    如果有时间的话,那就去看吧。

    如果你是CFD职业玩家的话,去看吧。

    如果喜欢CFD的话,可以海淘过来,支持原版。

    如果要看这些书,会持续非常多非常多的时间,要以年计。因此,CFD过了初级之后,就永远不是简单的事情。

    2.4 看学术论文

    这一步就要看sci了。就是一个领域内小方向的研究方向的论文。非常重要,不看sci基本写不出来sci。

    这是一个非常庞大的工程。基本每天都要干,一直都要干。

    同时,我还见过很多研究生,有非常不好的sci阅读习惯。尤其在写sci的时候。可能这里面涉及到的是中英文的东西。最好能克服。

    替代文字

    章节限制,在这里只能强调下看sci的重要性。如果要植入某一个算法,你真的需要把这个sci打印出来,像前面那些CFD书一样去学习sci里面的理论。同时,顺着sci里面的参考文献,去溯源、拓展,了解领域内的前言和关键问题。

    上面这个图,是我在植入一个算法中,学习sci的过程。或许可以参考。

    强调,方程不推一遍,永远搞不定他到底有什么意义。

    2.5 如何编程

    CFD算法研究编程是避免不了的。如果你不编程,那就说明算法已经被别人写进去了,如何强调你的创新点和工作的highlights?

    另外,编程永远不会构成你的阻力。你大可不使用任何高级的编程技巧,用最简单的代码,实现最复杂的功能即可。

    如何把代码写的漂亮,这需要一个非常全局的架构,并且需要一直的进化。

    举个例子:OpenFOAM在早期,湍流模型存在大量的代码复用,随着发展,发现多相、可压缩等其实都可以放在一个架子里面。这样,湍流模型的演化,越来越庞大。

    这就是站在代码顶层的架构设计。不在那个位置上,是写不出好的架构的。

    但是,如果你只关心如何毕业,如何把算法实现,如何把算法实现提供给客户。架构的问题可以放一放。很多开发人员的思路跟你们可能是向左的。

    举个例子:很多研究生,喜欢开发很多很多的求解器,每个取个名字,觉得很流弊。但到了OpenFOAM那面,人家的里面是要精简精简再精简!

    只有站到顶层,才能想架构。

    所以,如果只有一个算法,就不需要想更庞大的接口。你也不知道什么时候哪里需要接口。。

    对了,编程这个事情,一定要从现在就开始学。编程就像是学英语。如果你到了写sci的时候,才开始学英语如何造句。这就太晚了。

    3 五年时间安排

    一般,硕博连读五年。每个人的时间安排都不一样。我见过很多后浪,研一研二的时候文章就三四个了。

    我从2011年硕士生入学,2016年才发了第一篇sci,2016年年底才毕业,学术起步非常非常的晚,在这里说一些教训。

    在这里我只说跟我一样学术起步比较晚的例子。大牛们可以不用看了。

    尽早定下研究方向

    一定要提前打好CFD基础。既然入了这一行,就要提前做好规划。我一直强调,要对算法保持敬畏。CFD是非常难的。包括我现在,还有非常多非常多的东西不明白。这都要持续的学习。

    所以,时间非常宝贵。如果研一期间,没定下什么研究方向。一定要跟导师联系,尽早的把研究方向定下来!

    同时利用研一这个时间,恶补一下CFD初级内容。

    定下研究方向就不要改!!

    一些同学发现我的研究方向经常换。在这里要强调一下,在这块,不要跟我学。因为我是要靠CFD吃饭的,只能各个领域都渗透学习一下,才能拓展项目领域。

    我也只能换研究领域,才能站得更高点给大家讲CFD更好玩的东西。并且,只有各个方向都玩一玩,才能触类旁通。

    跟写review是一样的。没看个几百篇文献,是写不出review的。没换几个研究方向,在CFD这块是没法跟别人扯淡的。

    但是注意啊,普通研究生,一定不要换方向!总是换研究方向,你之前的研究就前功尽弃。并且,CFD这面一个方向要深耕好多年才能有大成果出来。

    个人感觉,一个研究方向,起码要做个三五年才能系统化。所以,硕士博士,一个研究方向足够了。博士后以后,可以稍微拓展下。

    选了OpenFOAM,就要坚定的用下去

    太多太多数不清的人,用了OpenFOAM一段时间之后,就不用了,因为实在是太难了。甚至参加我OKS课程的人,有非常多的人,回去半年之后也不用了。我感觉非常可惜。

    甚至我当初也一样,我在学了OpenFOAM半年之后,曾经想过彻底放弃,转到商软。

    OpenFOAM在我眼里就是一把屠龙刀。潜心多年的研究,必然能够触类旁通掌握屠龙之技。

    尖端的工艺永远不可能是简单的。一会抱西瓜一会抱南瓜到后来什么都没有。

    好了,越扯越远,我翻到推文最上面,那么课程是什么,OKS只不过是节约下你的学习时间而已。既然大家都封闭在学校不出来。完全可以自学。那么本文,就是告诉大家,如何CFD自学成才



  • 支持,也是为了预防ansys被卡脖子



  • 感谢东岳老师!
    博士第一年基本都花在OF入门了,现在马上第二年,看样子得五年毕业哈哈哈,做好长期抗战准备!



  • @闻久STU
    乐观点, 六年:high: 这样才学得深入



  • @walten如何CFD自学成才 中说:

    @闻久STU
    乐观点, 六年:high: 这样才学得深入

    不能提:135: 长期抗战是肯定的了


Log in to reply
 

CFD中文网 2016 - 2020 | 京ICP备15017992号-2