weixin 发表于 2018-7-24 08:49

我与CFD不得不说的故事

  在某一行当呆的时间久了,自然会有一些个人的感想。以前很少去认真的思考和总结。论语说过“学而不思则罔,思而不学则殆",在学习之余,进行深入的思考与总结必不可少。
  从2007年接触CFD以来,进入这个行业也差不多5年了。在很多人看来,这时间很短,是的,CFD涉及的领域何其广泛,五年的时间用来入门只怕都不够。然而我并非计算流体力学专业,对于现在所从事的机械专业来说,应用CFD更偏重于解决工程问题,因此,五年的时间,用于CFD在机械行业的应用入门,似乎也差不多。

  在接触CFD之前,我对于这三个英文字母所代表的含义一无所知,而且在本科阶段,我也未曾学习过流体力学相关的课程。因此,那次导师让我利用CFD进行气体扩散仿真时,我是稀里糊涂的答应下来的。现在回想起来,当时答应他主要存在以下一些原因:


  1、刚进实验室,想给老师留下个好的印象。总不能第一个任务就说不会吧。

  2、当时是什么也不会,初生牛犊不怕虎,而且当时比较年轻,有一股学习的劲头。

  3、我比较好面子。总之,就这样上了CFD贼船。

  由于项目时间紧,因此在理论知识一片空白的情况下,我开始了CFD之旅。我的CFD之旅是从一款叫CFX的软件开始的。当时使用的版本是5.6版本,至今我还保留着这个古老的版本,因为5.7版本之后的CFX去除了模型建立模块,而且5.7及以后的版本都烙上了ANSYS的印记,所以5.6版本的CFX可以说是一个较为特殊且经典的版本,值得收藏。

  当时什么也不懂,不过还好,实验室有师兄师姐在用,而且隔壁寝室有兄弟也在使用,所以可以说我拥有一个比较好的入门环境。虽然有好的学习环境,虽然说师兄师姐们很热情,但总不能什么问题都去问他们吧,这样多不好意思,大家都很忙的。这时候一个师兄给我制定了个学习计划:首先进行实例练习,其次进行软件文档及理论知识的学习。这种方法直到现在我还在使用。CFX拥有完善的软件文档,尤其是文档中所带的实例,都是step by step的教程,特别适合新手入门。在没日没夜的奋战了两周之后,对CFX有了一个比较感性的认识,对其进行流体仿真的一般步骤有了初步的了解。所以现在碰到有人问我怎样入门CFD软件,我总是建议他从实例入手,当然这并不适合每一个人,可能对于零基础的人比较有效。

  软件界面及一般操作过程基本熟悉之后,其实要进行实际问题的应用还是存在很大的问题。我当时就是那样,比如说,模拟一个流动问题,要考虑的问题很多:层流还是湍流?要不要考虑粘性?要不要考虑介质的压缩性?温度变化要不要考虑?如果介质数量不止一个,那应该如何去考虑?要考虑时间吗?等等这些问题,对于只会操作软件的人来说回答起来很是困难,怎么办呢?没有什么好的办法,只能自己去补充理论方面的欠缺了。这时候可以参考软件的理论文档以及专业的流体力学及计算流体力学书籍。流体力学可以帮助选择合适的模型及参数,计算流体力学可以帮助调整求解器参数,以更高的精度及更快的收敛速度完成计算。然而不幸的是,这两门课程学习起来都不轻松,需要花费大量的时间和精力。但是项目时间很紧,不允许花费如此之多的时间用于理论的学习上。这时候周围的学习环境的作用就体现出来了,为了应付项目需要,我几乎是利用了所有的空闲时间恶补基础知识,同时在茶余饭后,几乎是逮到时间就咨询师兄师姐以及周围对CFD有一定了解的前辈,这段时间大约维持了半年。流体仿真项目结束了,我也很累了,再加上后续项目是一个做固体结构的,所以暂时CFD被放到了一边。

  再接触CFD是在08年。与CFD的接触源于一次协助。别的项目组由于赶工期,所以临时将我抽调过去,那个小组主要进行的是利用FLUENT进行化学反应模拟。就这样我结识了fluent与gambit。那时候使用的是fluent6.3版本。虽然我不怎么喜欢那个界面,但是没有办法,我不是负责人没有权利更改工具。令我最难受的是gambit,那黑乎乎的界面居然还要搭配一个在桌面上怎么也去不掉图标的exceed(后来我知道怎么去掉了,哈哈)。不过gambit的建模方式与CFX-BUILD很类似,基本上都是采用自底向上的建模方式(当然他们都可以使用自顶向下,不过不常用),再加上机械行业背景,所以GAMBIT的入门几乎没使用多少时间,大概就两三天吧,不过这仅限入门而已,gambit还有很多高级功能至今我都不会使用。

  gambit是一款比较容易上手的软件,建模思路很清晰,由点建面,由面成体,然后划分网格,指定边界类型,输出网格。但是很杯具的是,gambit似乎对内存及网格数做了限制(后来才知道是真的做了限制,需要特别进行设置才行),应付大型模型经常力不从心的死机,有时候常常是网格划分到一半就卡机死机,让你悲痛欲绝。所以我有点想抛弃它了。一个偶然的机会,看到一个师兄在用一款不是gambit的软件划分网格,问过才知道那款软件叫ICEM CFD。虽然师兄利用ICEM CFD划分的是四面体网格,但是网格颜色挺漂亮,花花绿绿的,我第一次见到网格还能显示得如此漂亮,在那一刻,我爱上了ICEM CFD,从此与之结下了不解之缘。

  ICEM CFD是一款界面比较友好的软件(这是针对11.0以上版本说的,之前的版本界面并不好),对于划分非结构四面体网格来说,操作也挺简单的,只需要设置少量的参数就可以输出网格(当然,这时当时的想法,现在才发现,划分高质量四面体网格其实比六面体要难),而且也不容易死机,很能够应付大规模的模型,所以当时直接抛弃了gambit,改投ICEM CFD的怀抱。现在看来,这做法是对的,因为gambit更新到2.4版本后几年了也不见更新,而ICEM CFD至今还在更新。一款软件一旦停止更新即意味着生命周期的结束,所以gambit已经死了,而ICEM CFD依旧活着。(官方观点:GAMBIT的网格划分算法已经集成到meshing中去了)

  FLUENT是一款比较精干的软件,个头很小。FLUENT6.3的安装文件只有一百多兆,主要是因为其仅仅只是一款求解器,不具有前处理功能。也就是说它不能自己生成模型,需要从外部导入已经生成的模型进行计算。幸好这时候的ICEM CFD与FLUENT均属于ANSYS公司,所以兼容性挺好。从ICEM CFD生成的网格文件导入到FLUENT中很少出错。FLUENT6.3的界面并不美观,但是菜单安排还算合理,不会让使用者满世界的乱找(一个这方面的反例是ANSYS软件)。而且我喜欢FLUENT的计算过程中结果动画输出功能,CFX没有这个功能。该功能可以方便直观的定性判断计算结果是否合理。当然这个时候我对于FLUENT的使用还处于表面阶段。

  真正的进行CFD的学习是在09年的暑假,那一个暑假共看了四本书:李人宪《有限体积法基础》第2版、陶文铨《数值传热学》第2版、(美)费斯泰赫《计算流体力学导论:有限体积法》第2版、张建文《流体流动与传热过程的数值模拟及应用》,我不去评价这几本书的质量,但是对于我的帮助的确很大。第一本书的很多内容是翻译自第三本书,第四本书其实是翻译自patanka的《Heat Transferand Fluid Flow Numerical Calculation》。从这些书中,明白了湍流模型是怎么回事儿,迎风算法是怎么回事儿,SIMPLE算法又是怎么回事,瞬态与稳态的差别在什么地方,很多以前模糊的概念一下子就清晰了。

  后来CFD模拟做多了,软件操作问题不大,但是对计算结果的精度产生了怀疑,对计算结果的验证方式产生了浓厚的兴趣,直到今天,还在此方面苦苦纠结。

  来源:新浪流沙CAE的博客,作者:流沙

页: [1]
查看完整版本: 我与CFD不得不说的故事