一直都有朋友们在问“CFD到底该怎么样去学才能更好的应用于工程?”
对于这个问题,实际上并不太容易回答,因为每个人的具体情况不同,有人聪明有人笨,有人勤奋有人懒,所以很难找到一套普适性的方法适用于所有人。我这里提供的方法可能适用于大部分普通人,对于那些极聪明或极愚钝,极勤奋或极懒惰的人均不适用。
人的性格决定了其行事方式。CFD的学习过程也会受到个人性格影响。,在进行CFD学习之前,先审视一下自身:假如说明天要出远门旅游,你是先在家里把所有的行程细节都计划好再出门,还是先出门然后边走边计划呢?如果你是前者,那么本文后面所提的方法并不适合。
这是最初的阶段,当你对CFD一无所知的时候,你需要了解它。至少需要了解以下一些内容:
-
CFD到底是什么?
-
CFD是怎样工作的?核心原理是什么?
-
CFD的优势和劣势在哪里?
-
如果要将CFD应用于工程,需要做哪些准备工作?
-
有哪些常用的CFD工具?
-
常用CFD工具各自的优缺点,如何选择取舍?
以上问题都可以通过网络搜索获取答案。学习CFD的一个重要的必备技能是利用搜索引擎,谷歌、百度等等。
要快速入门,必须通过大量的案例练习来熟悉软件。不要轻信网络上的那些所谓的先要掌握什么数学、力学、计算机程序、计算流体力学什么的,这些是给第一类人使用的。我们赶时间,没有功夫看那些。
建议:找一款EFD软件做练习,如FloEFD就是不错的选择,它能快速帮助你理清CFD的使用流程,而且其操作够简单。
案例练习很辛苦,通常对于没有任何基础的小白来讲,一个案例做一遍还不够,建议至少做三遍。案例从哪里来呢?主要来源是软件的帮助文档。一般成熟的CFD软件(如Fluent、CFX等)都会带有完善的帮助文档,反复练习帮助文档中的案例,一遍两遍三遍四遍……
做案例的时候,不要问为什么,在案例做完之后再来问为什么;做案例的时候,一定要从头做到尾,案例做一半等于是没做。
案例做完了,一定要总结,要总结这些内容:
-
这个案例的目的是要计算什么?
-
案例的真实物理场景与计算几何模型之间有哪些差异?为什么可以如此简化?这样简化有什么好处?
-
案例使用了哪些物理模型?案例进行了哪些简化?简化对于最终的结果会造成怎样的影响?
-
案例的后处理结果要如何才能反映到工程中?
-
案例的求解过程能否进行改进?精度还能否提高?求解效率能否提高?
以上的种种问题,对于当前阶段的人来讲,可能大部分都回答不出来,然而有必要朝着这方面去思考。否则的话,你无论做多少案例也不会有太大的长进。
经过大量案例练习之后,很多人已经能够熟练掌握软件操作。然而大部分人反映在练习了大量案例之后,遇到真正的工程问题仍然无所适从。其实出现这种状况的原因很简单,你欠缺一点理论基础。此阶段的基本特征:
-
熟练掌握CFD软件操作的基本流程,前处理、求解器、后处理……,然而遇到复杂的工程问题时,依然不知道如何简化,如何选择模型,如何提取数据
-
熟悉软件中怎么操作,却不清楚为什么要这么操作
-
某一种软件使用很熟练,换一种软件就茫然无措
出现以上症状,表示你需要补充一点必要的基础了。这些基础包括:
-
流体力学很重要。既然是从事流体力学计算,如果连最基本的流体力学原理都不知道的话,那就有点说不过去了。流体力学在CFD应用过程中的作用体现在两个阶段:前处理时的模型简化阶段,后处理时的数据应用阶段。这实际上是CFD应用的核心。
-
计算流体力学并没有想象中那么重要。虽然说CFD是叫计算流体力学,但是我们毕竟是应用而不是研究开发CFD。计算流体力学理论强烈建议看软件的理论文档。由于计算流体力学涉及的内容比较多,而且与实际工程或软件操作难以联系到一起,大部分人容易迷失在众多的理论推导中。实际上对于大多数应用CFD只为解决工程问题的人来说,花费大量时间去学习计算流体力学似乎不太划算,毕竟我们只是为了用软件去解决工程问题,而不是为了开发一款CFD软件,因此CFD理论方面的学习,建议看软件的理论文档,这样更容易和软件中的设置参数联系起来,更有利于软件应用。
-
英文、计算机、编程。这些辅助技能,有多少来多少,然而全都弱鸡关系也不太大。
补充了基础理论之后,此时在使用软件的过程中已不再像之前那么迷茫,软件中大部分的参数设置已经能够做到心中有数,对于计算结果的判断也有了自己的观点。然而此时要想进一步提高自己的CFD应用能力,还需要经过专项练习。
所谓的专项练习,即针对自己所从事的领域进行练习,了解自己的问题背后的物理背景,深入了解数学模型是如何从物理背景中抽象出来,了解这些数学模型又是如何经过数值离散变成代数方程,了解这些代数方程是如何求解的,最后还需要了解如何判断这些求解出来的结果精度。
可以按照CFD的应用领域将物理现象粗略的进行划分:
-
纯粹的流动问题
-
带传热的流动问题
-
多相流问题
-
组分扩散及化学反应问题
-
计算区域存在运动或变形的问题
-
多物理场耦合问题
进行专项练习有助于提高CFD的应用水平。
在进行大量的专项练习之后,应当能够对自己所从事的领域的CFD使用有非常深入的了解,此时可以尝试定制CFD软件,和开发自己的求解器。
目前商用软件为了保证其求解器的鲁棒性,常常采用比较保守及成熟的算法模型。这些求解算法虽然稳定性很好,然而往往牺牲了计算精度或求解效率。若自己有先进的模型算法,不妨尝试对软件进行二次开发,加入自己的算法。
有时为了提高工作效率,对商用软件进行二次封装,形成专业的分析模块,在工程中也是常有的事情。
关于CFD的学习过程,大致就写这么多吧,各位亲们不妨试试~~
2014年的时候写了一本书《ASNSY ICEM CFD工程实例详解》,至今仍然觉得此书名取得乱七八糟,文不对题。这明明是一本讲解ANSYS CFD的,并不单单只是ICEM CFD,第一次写书没经验,罢了。
今天编辑告诉我第二本书已经出来了,果不其然,可以在网上找得到了。这本书的名字取得还算凑合,至少没有跑题。
和第一本书不同,这本书主要描述ANSYS CFD(包含ICEM CFD、Fluent、CFD-POST等)使用过程中的疑难问题或小技巧,目标是提高软件的使用技能和效率。而第一本书主要是全面介绍ANSYS CFD解决工程问题的一般流程,强调基础应用。有兴趣的亲们可以去搜搜看。
实际上后续还有计划:下半年可能会有一本关于ANSYS CFD的实例集,明年可能会出来一本专门讲网格的和一本讲Fluent二次开发的书。
我的思路其实很简单,涵盖整个ANSYS CFD从入门到精通的整个过程:
-
ANSYS CFD入门介绍。《ASNSY ICEM CFD工程实例详解》这本书里面算是比较广泛的介绍了ANSYS CFD的各模块应用。内容很宽很泛。
-
ANSYS CFD提高。《ANSYS CFD疑难问题实例详解》,这本书是针对ANSYS CFD个模块软件使用过程中经常会碰到的问题的一个小总结。主要目的是为了提高软件的使用效率。
-
实例练习。后续即将出版的实例集,涵盖搜集的大量的CFD案例讲解及软件设置参数解释。
-
专项练习。目前只计划了一本网格专项,其他部分的专项练习受能力限制,可能近期内难以完成。所谓术业有专攻,对于其他领域的CFD计算,我了解得并不深入,怕误人子弟。
-
二次开发。目前只计算针对Fluent的二次开发,主要包括UDF及GUI开发。
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册