CFD | 我从“校园小白”到仿真“职场小达人”的学习史

网友投稿 2019-01-02 14:09

CFD属于CAE技术中比较难的一款软件,主要原因就是流体的特点决定了,因为相比于固体,流体太容易变形了,分子之间的距离比较大。所以,导致了一系列的问题。常常的结果是,忙了半天或者很长,根本得不到结果,所以在CFD的学习中,更加强调方法的学习。

本文将结合我自己的亲身经历,从一个CFD的小白,到今天有一定CFD使用经验的“职场小达人”。重点介绍自己在学习CFD过程中,走了那些弯路。毕竟,教训比经验更深刻!希望您在学习CFD的过程中,少走一些弯路,少花一些时间。

毋庸置疑,未来试验鉴定活动将极大依靠建模和仿真工具,特别是在航天航空和深海工程等领域。

https://cdn.china-scratch.com/timg/190104/1409313251-0.jpg

惠老师提供的案例图一

一、本科阶段-我初识CFD

我第一次接触CFD源于大三的传热学,因为当时有一章是“导热问题的数值解法”,当时也没有什么感觉,只是觉得这一块需要采用数学,而且有编程类的课程大作业。由于当时恰好学习了matlab,fortran,并自学通过了C语言二级考试,因此出于学习编程语言的目的,就顺手练习了传热计算的相关算例,“一举两得”。通过这些学习,其实对于CFD软件中的一些离散方法和计算方法有了初步的认识,例如迭代计算,向前向后差分等。毕竟,做任何事情,理解都是第一位的,死记硬背的东西长久来看,并不实用。

等到大四做毕业设计(2010年),鬼使神差的我选了制冷所一位大牛的《透平膨胀机数值模拟的课题》,便第一次正式接触了CFD,接触了fluent等软件。

当时在做膨胀机叶片时,选择的作图工具是Inventor,软件划分工具用的gambit,CFD软件用的fluent 6.3.26.这几款软件估计部分人接触的不多。说实在,用起来的确很费力。有点后悔的是,当初选修课为什么没有多学一些作图类软件(大学还是要多学点东西,尤其是工具类的东西)。

当时java刚刚在高校中作为选修课刚刚开始,大数据,云计算还都没有进入大家的视野,人工智能也没有那么热。所以,现在想起来,在大学多学几门课程还是不错的。结果证明,很多学机械,甚至学热动的都去了BAT,现在薪水那叫一个高呀。

当时记忆中,采用二维的gambit和fluent做了流道截面的模拟。涉及到的流道相变问题,也没有解决,还好老师没有为难自己,这样就匆匆结束了自己的本科生涯。

但总的感觉,还是gambit作图还可以,可以通过选择几个点实现画曲线曲面的功能(有些时候比一些专业的建模软件都好用),界面有些丑陋。至于workbench上所具有的数据更新,参数化等功能,那几乎是没有的。gambit目前已经被ansys公司淘汰掉,也基本不会推出新版本以及进行技术培训等活动。

二维fluent计算也没有那么难收敛。但是很难理解如何选择simple还是simpler,对于松弛因子的选择也比较难把握。毕竟是一个初学者,首先能获得一个差不多的结果,而不是发散结果是第一位的。

不过在这阶段,也得到的师兄的一些指导,虽然很有限也不是很系统,但总比一个人摸索要强。

现在想起来,CFD对经验的要求还是挺高的,遇到问题,找师兄师姐准没有错。

因为这里面即涉及软件操作,也设计专业知识的理解。同样的一个CFD文档说明,可能有经验的人看了知道是什么原因,但是初学者来说很难理解。

从另外一个角度讲,一个好的CFD培训一定是即有老师理论和上机实践操作,也有学员要上机操作,否则培训效果比较差,试想想,上电脑课哪能不带电脑呀!

https://cdn.china-scratch.com/timg/190104/140932CU-1.jpg

惠老师提供的案例图二

二、硕士阶段-我学习的CFD

由于某些原因吧,大四毕业我就去了导师那里进行科研,那时候就基本确定了硕士2年半时间的研究课题是CFD仿真计算。

我们课题组分为三个方向,一个是流体CFD组,主要采用的就是fluent和cfx,当时貌似还没有用workbench,大家普遍用的就是单独版的fluent和cfx。一个是流体测量组,主要做一些速度场测量,压力场测量,风洞水洞等,以实现CFD和测量的对比吧。事实证明,仿真和实验相互对比验证,在研究流体中扮演着重要的角色。另外一个组是做强度的,主要是疲劳,裂纹,用的是abaqus。所以硕士期间也遇到了一些流固耦合的项目和问题。

刚去导师那里,导师便给了我一个课题,需要研究一个潜水艇喷水中冷热水混合问题。整个问题如果不考虑VOF问题,只是考虑喷水问题,这个课题不是很难,纯粹的一个进出口流动问题。我当时继续了自己在本科期间的gambit和fluent,结果证明,这么简单的一个计算,最终我用了几乎3个月的时间也没有搞定。等到下一年我导师让一个师弟做的时候,几乎用了很短时间便解决了。

究其原因,首先是缺乏引路人。自己当时拿到课题,也就是一根筋地开始做几何,做网格,计算,而没有分析CFD的策略问题,看看师兄们如何进行CFD计算,看看论坛上,QQ群里大家怎么进行CFD计算,毕竟这是自己的硕士课题。

其次,还是CFD的方法和技巧掌握的不够。对于初学者而言,"复杂问题简单化"永远都是一个永恒的话题,比如上文提到的潜水艇,那对于初学者来说,完全可以建立一个简化的潜水艇,或者干脆用一个圆柱代替潜水艇。要研究冷热水的混合,那完全可以先不考虑温度场,而只计算流场,继而在速度场准确的基础上,获得温度场。

另外,对于一个初学者来说,一定要从二维计算出发,即使原始模型是三维,也都要从简单的入手,这和我们高考答题的顺序是一致的——先易后难嘛。试想想,对于一个初学者而言,采用fluent三维计算,如果很难画结构网格,不说得到准确结果了,能否得到计算结果都是个巨大挑战。 

还有一个很重要的问题,就是关于初场的问题。fluent很多情况下的发散,都是因为给的初场不合适。一个好的初场不仅可以加快收敛速度,甚至可以解决难收敛,不收敛问题。目前的初场给定方法,fluent中有恒定初场给定法和混合初始化,而CFX的初始化,则可以通过表达式及其他方式,实现fluent中patch的功能,即相当于UDF初始化的功能。

等到研一时,上了计算流体力学的课程,每次上课都是在晚上,听课效率不高,老师水平呢,也只能说一般,听得迷迷糊糊,只是对一些基本理论有了些了解,对实际操作帮助也不是很大。看来,只上一个CFD的理论课程真的是远远不够的,最起码也要上机操作下。

事实证明,只有在实践中才能对相关理论进行理解,否则学了那些理论几乎等同于没有上。因为对一个初学者来说那些概念很难理解。CFD的理论本身就很难理解,加上没有软件支持,可以说更是难上加难。所以,目前在CFD/CAE领域内,有一个很重要的方向就是做二次开发,即作出一款“傻瓜式”的软件来,让更多业界人士收益,使他们能够放手去做产品与设计相关一些事情来。所以,不得不说,CAE真的是一个专业人士做的事情,而不是像CAD或者UG一样大众都能够很好接受的。

研究生期间,很长时间都是做湍流和绕流的研究。对于湍流模型还做过一个专业的小组报告。不过这段时间,导师几乎每周都会做seminar(汇报)。很好锻炼了自己做ppt和演讲的能力。不过现在看起来,那些湍流模型似乎在企业工作中用处并不大。湍流理论中的Y+,边界层等都是在该阶段学到的。

绕流问题,经常遇到的就是圆柱绕流,方柱绕流。首先第一点需要确定的是,计算区域的长宽高,一般以特征长度(D)的倍数来表示这些参数,当时不知道是交流问题还是什么原因,导师直接给说了个9倍D,结果算完了,导师忘记了,说自己没有说,哎!想想一个没有任何经验的硕士,导师说什么就是什么,但是导师也是人,也有错的时候,所以最根本的还是要自己查阅文献

当时,我采用fluent对某方柱绕流进行了仿真计算。由于当时用的是破解版的fluent,所以,非稳态计算过程中由于停电等原因终止过几次,而且残差偶尔也有跳动的比较高的时候,所以,最终算下来的方柱绕流的结果参数误差比较大。所以,这里的建议是,在进行非稳态计算时,最好不要停下来。而且对于偶然的残差跳动千万不可以小视,否则计算得到的结果可能相差比较大。

可见,对整个问题,当时的认识还不是很深入,现在想起来,这是计算区域的确定呀,这也是计算中的第一步,也是计算中最重要的一步。另外,对于绕流问题,进口湍流度也十分重要。尤其是本身含有非稳态因素的一些计算,如卡门涡街问题。

硕士阶段,作图软件已经转为为NX UG8.5,网格划分转为icem,计算采用fluent。总的感受是,NX作为专业的制图软件比gambit还是要强大,但是记得又一次在做风洞扩张段曲线时,有还是采用了后者。但问题是 NX UG不属于ansys内部几何建模软件,因此在几何模型更新这一块,存在问题。也就是说,没修改一些几何模型,可能都要重新划分一次网格,重新进行一次设置。这在参数化和优化设计中,将是十分不利的。关于参数化和优化问题,后面我将做较为详细的说明。

icem的网格划分质量更好,在结构网格(比非结构网格在计算收敛性和计算速度等方面具有很大的优势)方面更有优势,实际操作比gambit更方便,功能也更多。但问题是学习icem比较麻烦,包括对软件思想的理解和实际的操作,做结构网格时“拓扑”的理解的确比较难;破解版软件的12.0还是13.0貌似本身软件有一些bug。我当初用了2-3个月才基本学会的。如果没有师兄师姐的帮助,或者专业的培训,还是很难学习的。

https://cdn.china-scratch.com/timg/190104/140932JV-2.jpg

惠老师提供的案例图三

现阶段我对icem一般用的比较少,主要也是因为操作这方面,还有一点就是,它作为workbench一部分时,具有的自动更新能力比较差,当然,我是和meshing,cfx相比。之所以还在用它,就是因为他在结构网格,边界层等方面的优势。

关于软件自动更新能力,简单讲,就是将软件中的变量参数化,变为parameter set中的参数后,通过在parameter set中修改变量值,具体模块中的参数能够自动修改。自我使用的经验是,icem比较差,但比maxwell好一些。例如DM-ICEM-CFX-POST组成workbench计算,为了研究DM中参数变化对计算结果的影响,在parameter set中修改参数之后,DM中参数实现了变化,但是由于icem是基于几何体做的网格不会随着改变,所以,最终很有可能导致几何与网格不对应,从而导致求解出现问题。

meshing是一款基于workbench平台的网格划分工具。其在划分网格时,具有很强的适应性。会根据几何形状选择最大的网格划分方法和尺寸。一般情况下都会给一个差不多的网格来,但质量无法保证。比如是正规的六面体,它会生成六面体结构网格,如果是有一点形状上的“瑕疵”,则生产的将不是六面体,而是在局部用四面体来适应。

当时仿真计算主要用的还是fluent,但从来没有问过自己为什么要用fluent而不是其他软件。而且当时用的也是单独版的fluent而不是workbench平台的。这里需要讲讲workbench平台,其中主要用于通用流体仿真计算的,就是fluent和cfx了,这里的通用表现在专业上,也就是航空航天,交通运输,电力电子等都在用的,而workbench中的其他软件,像polyflow,专业性更强一些,也就是仅仅适用于某一个领域,这也就是为什么这两款软件为什么这么火的原因,因为通用性强,资料多,学习人员也比较多;但同时也带来了一个问题,那就是太通用了,大家针对自己的专业领域进行CFD时,需要将自己专业内的术语,变量等编入fluent和CFX中。所以,这里的建议是,先选择本行业是否有专业软件,如果没有,那就采用通用的CFD软件,即fluent/CFX。而且即使有了专用软件还是要对fluent/cfx有一定的了解和应用,因为这两款软件的开发更新,模型等都十分强大,以及专业的培训,资料都是其他专业软件所不可匹敌的。

fluent之所以比cfx市场更大,这在我的另外一篇文章中也曾经提到过。简单总结一下,就是市场原因和模型原因。但这里不得不提出的是,在计算的收敛性方面,fluent还是要和CFX相差比较远的,所以这就决定了,对于初学者来说,cfx比fluent更易上手。

在这段时间,我还做过后处理的一些工作,比如提取一个等温线的内切圆,瞬态数据点的提取。当时采用的方法,就是最粗糙的方法:手动。现在想起来,真实愚蠢呀。对于后处理这一块,一般比较普遍的是采用tecplot软件,或者matlab,origin等软件。这些都属于ansys的外部软件。现在让我去做的话,我用选择cfd-post后处理的方法。采用cfd-post的优势的优势,还是在于workbench的自动更新能力;而且,CCL,CEL以及脚本的使用,大大增强了CFD-post的后处理能力。

在硕士毕业论文阶段,我是做的一个管道中蝶阀气流场计算的计算及其实验测量的工作。其中感受比较深刻的几点包括:

1)几何模型处理,实际工业中蝶阀存在很多细节,但是进行CFD计算的模型一定要经过简化,否则无论对网格还是计算准确度的影响都是十分大的。

2)混合网格以及interface 交界面的问题。实际产品一定是十分复杂的,对其进行结构网格的划分,不能说一定不能实现,但是肯定是不经济,也是没有必要的,非结构网格虽然划分比较简单,但是问题在于划分质量不会很高,在fluent中收敛性不太好,网格数量也比较大,当时采用icem进行网格划分流体区域以及边界层网格,感觉icem无论是划分结构还是非结构网格的边界层都是不错的,操作也比较简单。interface交界面两侧的网格尽可能一致,否则通过交界面两侧计算误差就可能比较大,甚至计算发散。

3)CFD-post也可以进行气动噪音频率的提取,实施也比较方便.4)对于对称的模型,一般不要采用对称,取一半的方法进行计算,因为流体中几何对称流场不对称的线性太多了。

做完这些工作后,本人的硕士阶段就结束了,本阶段虽然对流体软件有了一定的掌握,分析软件也从fluent到了CFX,从而让我的流体计算变得比较简单,最重要的一点吧,就是计算容易收敛了,这也是对初学者的一个福音吧。

三、工作阶段-我成为了一名专职的仿真工程师

硕士毕业到现在之后到现在的几年间,我承接了不少的企业,高校等项目。作为一名企业的专职仿真计算工程师。深刻认识到了仿真计算的发展以及存在的问题。仿真计算涉及的行业包括林牧业,养殖业,电力,发电, 高校等行业。

不得不说,在我接触企业中,仿真计算还有一段很长的路要走,无论是技术积累还是大家对仿真计算的态度。从本质上讲,"CAE技术的提高"和"大家对CAE的态度"是一个一损俱损,一荣俱荣的过程。只有CAE技术不断提高,解决越来越多的工程问题,才能越来越得到大家的认可。反过来,在得到大家的不断认可后,企业才愿意投入更多的人力和物力来进行CAE的技术研究和技术的积累。对CAE工程师来说,需要耐得住寂寞和物质的诱惑,去在本企业本行业做出东西来;对于企业来讲,也要有足够的耐心,长远的眼光去支持CAE工作,从而让CAE最大可能发挥自己的能效来。

对于企业来讲,除了少数行业或者企业,CAE技术还更多的作为定性判断依据,也就是看看趋势,要达到准确的预测实际参数,则需要CAE工程师和试验工程师共同的配合和努力,短期内很难做到,这是一个不断探索的过程。

企业追求“短平快”无可厚非,因为企业要养活“一大家子人”。因此,对于CAE工程师来说,必须找到一种快速,简单,易操作的软件仿真方法。不要说,因为什么原因计算没有收敛,因为什么原因无法进行计算。让CAE从技术的皇冠中走下来,被普通大众接受。另外,对于企业而言,一定要注意CAE团队的培养和技术的积累,而不是让某个人去单打独斗(技术不应该都是这样嘛?)然而,现状是CAE工程师不得不面对企业CAE研发制度不完全,不科学,绩效考核制度各种弊端,研发人员缺乏等问题。总之,企业中CAE需要面临很多问题,尤其是CAE技术比较薄弱的行业和企业。

总之,CAE是个好东西,如何用好它是个关键。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com