Fluent学习总结

Fluent学习总结
Fluent学习总结

0 起因

接触Fluent这款软件不到两年。在此之前一直在使用CFX。CFX的使用时间其实也不到三个月,伴随着项目的结束也自然的放下了。再那之前,我甚至还不知道什么是CFX,什么是CFD。

研一的一整年基本上没去过实验室,整天就是在教室或寝室中度过,上课之余玩玩游戏,我以为研究生三年就会这么度过,日子过得很空虚。我的真正导师并没有什么项目,说出来也许很好笑,在整个研一一年里,我都没有见过他,可以说是一个传奇中的人物,他将我委托给另外一个老师。当时我不知道这些情况,是后来老师告诉我的我才明白。先不讲这些无关的。当时虽然每天上上课打打游戏,表面上看起来日子过得很惬意,其实玩过游戏的人都清楚,玩的时候感觉很过瘾,退出来感觉更无聊。我当时也是那样,看到其他同学在学习之余跟着老师做项目,学习一些新的东西,其实心里也是蛮羡慕的。

08年4月的一天,老师(不是我的导师,是带我的那位老师)突然打电话让我去他办公室,想和我谈谈。我当时心情有点紧张还有点期盼。不到半个小时,我来到老师的办公室,老师五十多岁了,挺和蔼可亲的,几句话就让我放松下来了,然后他问我:“你这三年有什么打算?”。我当时不知道如何回答,想了半天,说了一句:“老师,我不想像现在这样整天混下去了”。老师说:“你该进实验室了!”。那时候不像现在实验室的电脑多得找不到人使用,其实那时电脑还是勉强够研二研三的使用。第二天,我去了实验室,看了下具体情况,由于我本人性格比较内向,不善于与别人交流,所以看到实验室的位置不够后,连老师的正牌研一的学生都没有位子,我觉得我还是等两个月后研三的毕业了腾出地方了再进实验室了。其实老师和我谈话的时候问了一下我的基础怎么样,还说实验室现在基本上搞的都是流体,问我有没有兴趣往流体方向发展。我现在都记不大清楚当初是怎么回答的了,大概意思好像是没问题。我这个人平时喜欢挑战,可能是无知者无畏吧,当时我对流体模拟是什么都不知道,连流体力学都没有接触过。

1 补习基础

和CFD的缘分可能就是那时候结起的。但我的基础实在是太差了,我只知道模拟软件有个叫ANSYS的,那还是我本科毕业设计的时候看别人用过,黑漆漆的界面,用鼠标点点点然后得出一堆谁也看不懂的数据。但是我的个性比较要强,虽然老师没有给我规定任何任务,只是随口问了一下愿不愿意往流体方向发展,但是我却认为那就是打算让我往流体模拟方向发展,所以好强的性格逼迫我去努力学习这方面的东西。在08年的4月到6月份之间,我一个人呆在图书馆里头将一本《工程流体力学》和一本《流体力学》老老实实的看完了,到现在想起来我还是蛮佩服自己的,让我现在去看肯定看不完的。将两本流体力学书看完之后,总算是对流体有了一个初步的印象,明白了流体力学的研究领域、大概的研究内容以及

一些最常用的公式。记得最清楚的是高斯公式和伯努利方程,我记得当初为了记下这两个公式,在一张纸上抄了不下10遍。虽然当初学习的时候是逼迫着自己,因为不知道目标,没有任何成就感,纯粹是一股不愿落于人后的争强好胜之心在作祟,但是现在我还是很庆幸那两个月的恶补。

连续两个月没有进实验室,老师也没有找我(后来才知道,老师对研一的学生都比较宽容)。所以我白天呆在图书馆学习,晚上回寝室打游戏,日子过得也算是安静。这种状态一直维持到6月中旬。

2 初识CFD

2008年6月中旬的一天早上9点多,我才刚起床洗刷刷完毕,就接到了老师的电话,让我到他办公室一趟。

6月份是毕业的年份,研三的师兄师姐毕业答辩都完毕了,距离离校的时间也不久了。10分钟后我到达了老师的办公室,看到里面坐了差不多5个人,我是最晚才到的,因为我坐下后老师就开始开会了,我还是第一次参加这种项目交流会。当然我是新来的,基本上就插不上嘴,我只在一旁听师兄师姐讲。原来是讨论一个关于油气田气体泄漏数值模拟方面的项目,由于这一届一个负责有毒气体扩散方面的师姐要毕业了,所以想要我参与项目的这一方面,整个项目分成三个部分:着火、爆炸以及毒气扩散。我当时就问:“用什么模拟?”,当时一个师姐就说用CFD、CFX。我不知道什么是CFD,也不太明白什么是CFX,更不清楚它们之间是什么关系。但是我胆子一向都比较大,让我参与那就参与呗,不会的可以学的嘛,幸好时间还比较充足,项目还有将近一年的时间。

开完会后老师专门把我留下,交代了一些事情,最后还给我安排了一台电脑,并且要求我每天都要到实验室去报道,就这样,我上了CFD贼船。

既然上了贼船,当然得一条道走到黑了。这时多亏了隔壁宿舍一个哥们,他比我早接触CFD,在研一的上学期就已经开始接触CFX。那么想学好CFX,该从哪里入手呢?首先自然是从他那里拷贝了一份安装文件,记得版本是5.6的,带前处理器的那种。因为当时5.7版的或10.0版本的CFX均不带有前处理器。

软件安装好了,接下来该怎么开始呢?我这人学习软件有个比较投机取巧的办法,也是我后来经常教别人学习软件的时候提供的方法:那就是做实例,看帮助。幸亏那个版本的CFX帮助文档中带有实例帮助,这为快速入门节省了不少的时间。

记得当时做的第一个例子是静态混合器的例子,就是两股不同速度和温度的水通过静态混合器混合,计算流出口流体的速度及温度。现在想起来那个例子也确实太小儿科了,但是在当时没有任何基础的情况下,确实难度比较大,光是建模就建了好几次才成功,而且对于流体计算方面的知识什么都不懂,不懂什么是domain,什么是boundary condition,而且对于为什么要划分网格也是一知半解。幸好虽然帮助文档是全英文的,但好歹操作过程还算详细,在电子词典的帮助下,好歹也算是看懂了。当所有的设置都完成后,点击run按钮后,

看到残差曲线的那一刻,确实心情非常的激动,虽然那时候并不明白那不断变化的五颜六色的线条代表着什么意思。问隔壁的哥们,他居然也不是很清楚,说他们实验室的师兄说红线往下走就是好事。

第一个例子我做了差不多三天,仍然是一知半解,仍然不知道为什么建模的时候要在建完各种体之后做一下B-rap,也不知道为什么要创建domain以及给一些面而不是全部的面创建boundary condition,这个例子计算的是稳态,而且涉及到的模型比较简单,收敛很快,后处理也非常的简单,就是查看了几个特定切面上的温度及速度分布,因此也算是草草收场。

很快我便进入了第二个例子的练习中,第二个例子是关于烟囱排气的例子,而且计算的是瞬态。由于这个例子和正在进行的项目很接近,因此做得非常的认真。然而,这个例子的思路有些特别,由于是瞬态计算,它利用了稳态分析结果作为瞬态计算的前处理,更要命的是,做稳态分析的条件还比较奇怪。本来是一个在风力影响下烟囱中的烟扩散情况,做稳态分析用了一个速度非常小而不是0的风速。而且上来就用了多组分流动,很难理解,所以这个例子是越做越迷糊。而且我这个人有个很致命的缺点,很不喜欢麻烦别人,看到实验室的师兄师姐都比较忙,所以也不好意思去问他们。因此这个例子也就不了了之,在当时是依葫芦画瓢,根本就没有理解。

大概就这样做了三个例子,我发现这样下去不是办法,因为例子做的越多越迷糊,都是照葫芦画瓢,越画头越晕,肯定是什么地方做错了,学习方法有问题。

3 计算流体动力学

经过冷静思考,以及对前一段时间学习的总结,我发现软件使用上的困难其实还是因为基础差导致的。首先,前两个月学习的流体力学对于CFX的应用来说并没有太大的帮助,最多也就是看到一些专有名词不会太陌生,那么现在最欠缺的是哪方面的内容呢?想了几天也没想出结果来。

有一次隔壁宿舍的一兄弟喊我一起去图书馆,学校的新图书馆刚建立起来,反正这一段时间也郁闷得紧,去图书馆看看美女也是不错的。于是就跟着他去了。学校的新图书馆确实不错,宽敞亮堂,比老图书馆强多了。到图书馆里头后乱逛,鬼使神差的逛到了流体力学书架上,这时候我看到了一些叫做《计算流体力学》的书。虽然那时候研一已经结束了,我们也学习过《数值分析》,但是上课基本是睡觉,考试是靠突击,也不理解当初老师说那门课其实应该叫《数值计算》的原因,现在想起来还觉得蛮后悔,当初没好好的上课,其实所有的数值模拟都是数值分析上的内容。

就这样,我在那排书架上找了一本《计算流体力学基础》的书,作者好像叫吴德铭,看那书里面的内容和CFD挺贴切的,讲了一些控制方程、网格、边界条件方面的东西。我觉得自己最缺的就是一些关于CFD方面综合性的介绍。

书拿回去了那就看呗,等到把那本书看完,时间已经过了一个月,当然这一个月收获还是很大的,至少明白了什么是Domain,为什么要创建Domain,以及各种边界条件的概念,

瞬态以及稳态问题的区别等等。

将那一本书看完之后,由于项目的需要,我还继续投身到CFX的学习之中。这时实验室一个师姐建议我看帮助文档的用户指导部分。CFX的帮助很多,几大本帮助加起来有好几千页,对于我这样英文底子差的人来讲,困难很大。可是没有办法,硬着头皮往下啃。将近一千页的用户指导被我用两个星期大略的看了一遍,对整个软件有了一个大概的认识。再之后依然是做着帮助上的实例,CFX5.6一共23个帮助实例,除了几个需要编译Fortran的外,我都几乎做完了。

由于项目涉及到软件的二次开发,对于程序方面的东西,我还是比较熟悉的,于是老师将程序部分交给了我。现在想起来,其实程序挺简单的,就是一些数据存储,以及进程操作,当然,程序的编制使我对软件的结构有了更深的认识。

4 与Fluent的相遇

与Fluent的相遇其实很偶然。由于项目中建模部分涉及到利用gambit,主要是将一些散点还原成三维模型。其实现在想起来,将三维坐标点转化为三维模型的软件实在是太多,不知道怎么就找上了Gambit。好像是别人推荐的,具体是谁,我忘记了。

既然要用到gambit,那没有软件不行了。幸亏国内D版业比较发达,在电骡上稍微一搜,就能搜到关于gambit的N多链接。在下载的过程中,我发现gambit都是和fluent联系在一起的。Fluent是什么呢?看了很多介绍,才发现在计算流体领域,Fluent是和CFX同一类型的软件,也是用于流场分析的。再看网上的关于fluent的评价,似乎比CFX还要高一下。人都是好奇的动物,于是我将Fluent也顺便载下来,安装起来还是相当的方便Fluent仅仅是一个求解器,不带有任何前处理功能,无法建立模型和划分网格,只能导入其他软件生成的其能识别的msh文件。这对于初学者的我来说,当然是一件很麻烦的事情,因为当时下载的Fluent版本是6.2版本,对于CFX网格gtm并不是很兼容,但我只会使用cfx-bulid进行建模前处理,因此虽然fluent功能强大且教程比较多,然而由于其只支持gambit进行前处理,而我对于gambit那黑乎乎的界面很是反感(到现在也是很反感),所以虽然Fluent被安装到了机器上,却很少去使用它。但是在心目中也算是留下了Fluent的种子。

Gambit虽然外表不好看(Linux界面),但是功能还算强大,流体建模的该有的功能它几乎都有,操作也很简单,因此顺利的解决了项目问题。

与流体的瓜葛随着项目的结束而告一段落,而后又因为项目的改变而转移到了固体结构方面,而且时间长达半年。在08年12月份到09年4月份的这段时间,我一直着力于钢结构隔振方面研究,把流体计算慢慢的忘却了。那将近半年的日子里,整天都关注的是结构力学、有限元方面,那些东西距离流体实在太远。

5 重拾Fluent

重新使用Fluent是从09年6月份后了,当然也不能不提09年的那个寒假。在家中实在是无聊,于是在电脑里乱翻,希望能找出些好玩的电影或者小说,无意中翻出了一大堆fluent教程,那是当初从网上无意中存下来的。教程中很多都是中文的,对于CFD来说,有中文的教程真的是很难的,而且当时也实在是太无聊了,于是就随便打开了一个PDF,好像就是韩占忠的那一本电子书,照着里头的步骤一步步操作,居然做成功了好几个,当然这对于我学习了大半年的CFX来说,入门fluent还是相对比较容易的。当时fluent给我的印象主要就是计算速度比较快,占用内存比较少,还有界面比较乱,后处理比较差。但既然那么多人使用,这款软件不应该表现那么挫的,反正寒假在家也无聊的紧,每天有事没事就做上几个例子,不知不觉就把网上能找的几本电子书都给看完了。接下来就是软件的随机文档,居然在文档中还发现了20多个例子,当然这些例子也难逃我的魔掌。就这样一个寒假下来,对于fluent的操作,基本上已经熟悉了。

其后的一个学习,由于项目钢结构项目太忙,就放松了CFD的学习,但是在调节之余还是会看一看流体方面的东西,毕竟在当时,还是觉得流体比较简单一点。固体力学实在是太难了,有限元也太复杂。

Fluent的真正应用应该是从09年接到的一个喷嘴项目开始的,包括后来的毕业设计都是使用fluent做的(虽然从毕业论文上看不出来,其实还是用的fluent,具体怎么做,后面会讲,嘿嘿!)。那个喷嘴项目,基本上全部是利用流体分析,在项目讨论会上,老师问采用什么软件做,当时有师兄说采用CFX,但是由于我当时正是研二,作为该项目的主力来讲,我建议采用Fluent。当时的原因有三点:(1)fluent使用的人比较多,教程也比较丰富,这样大家学习起来相对比较容易;(2)在不可压缩流领域,Fluent的地位目前还没有任何一款软件可以超越;(3)对于实验室来说,多学习一款软件,对以后的发展有帮助。最后我还补充了一点,使用何种软件并不重要,对于这个项目来说,单相不可压缩流,几乎所有的流体软件都可以胜任,实在不行的话,用CFX计算也是可以的。

由于项目组成员分布比较杂,包括研一到研三的部分学生,这样的话,还需要对研一的学生进行软件培训,这样时间就到09年的6月份,而再有一个月研三的毕业了,所以软件培训的任务就落在了我的身上。对于一个半瓢水的我来讲,该如何给研一的进行培训呢?反正一个月后就暑假了,我向老师建议说等国庆节的时候新生进了实验室一起进行培训。这样的话就为自己争取了三个月的时间进行准备,主要还是自己学习。

6 有限体积法

09年的那个暑假我没有回家。每天的时间不是呆在实验室就是泡在图书馆,其实还是学习软件。Fluent的实例手册、用户手册以及理论手册都被我看了一遍。虽然感觉对软件的

使用帮助比较大,但是总觉得这治标不治本,仍然对软件操作一知半解,软件的很多地方,很多选项设置都是连蒙带猜的,拿不出令人信服的依据来。到底问题出在什么地方呢?

这时无意中想起,fluent的理论依据是有限体积法,那么我看一下有限体积法方面的书是不是对软件的操作有一些帮助呢?到图书馆搜索了一下,专门讲有限体积法的书还真是不多,很多计算流体力学书籍讲的都是有限差分法,经过仔细查找,找到了一本中文的《有限体积法基础》和一本英文的《计算流体动力学导论》。当时看着这些书还是挺吃力的,由于很久没有接触数学,看到一些微分符号脑袋就疼,至于里头的一些公式的推导,更是弄得脑壳青痛。但是不管看不看得懂,还是得硬着头皮看下去。

在看完李人宪的《有限体积法基础》之后,总算是搞明白了网格的具体含义、求解计算域的数学解释、边界条件的数学意义、亚松弛因子、求解器设置等等软件的诸多细节。那本书比较薄,大概一百多页,讲得虽然不深入,但是拿来入门确实非常的不错。读完了那本书之后,心里总算有了点底。因为项目不涉及到传热、燃烧、多相流以及化学反应,因此培训的时候可以不用讲那些。剩下的时间,我将fluent的实例连续做了两遍,确保里面的所有操作都做过一遍,其实实例中的操作已经是相当的全面了,几乎包括了整个软件的所有常用操作。

就这样,Fluent也算是入门了。

6 计算模型

求解器解决了,但是要计算可不端是使用求解器的问题,还包括前处理。Fluent自己推荐的前处理器是gambit,但是我不喜欢。我不喜欢的东西我一般也不喜欢看到别人使用它,那么用什么前处理器可以替代gambit呢?

建模的问题好解决,建模的软件很多,作为我们机械专业的学生,建立几何模型那是基本功,什么solidworks、PRO/E、UG、Catia,甚至Autocad,那都是用得炉火纯青的,而且空间想象能力都不差,不管是固体模型还是流体模型,都可以用这些软件建立起来。

说到模型,不能不提流体模型和固体模型的区别。习惯了固体力学,转到流体力学上的人通常都很难适应建立流体模型的过程。他们一开始都很难想象,为什么模型还会分流体模型和固体模型。因为固体力学模拟中的模型,通常就是现实世界中的结构模型,利用建模软件建立结构的数字模型就可以用作固体力学分析,但是流体模型却相反,分析的对象是流体而不是结构,因此,建模的时候需要将固体部分和流体部分分开(很多时候是将固体部分删除),整个流体模型都是流体能够流经的区域。有时候会存在多个流体模型,这时候需要在求解器中进行设置,使计算区域间连通。

流体模型的建立方式至少有三种:(1)通过大脑的空间想象能力,直接构建流体模型;(2)利用三维软件的布尔运算将流体模型减出来;(3)一些专业的前处理软件带有建立流体域的功能。如workbench中DM里的Fill功能,star-ccm+中的几何包面功能等。

7 网格

几何模型建立起来之后需要对其进行网格划分?划分网格的软件很多啊,该选哪一个呢?在流体这一块,可用的软件能喊出名字的就有ICEM CFD、hypermesh、gridgen、gridpro、TrueGrid。那么该选择哪一个比较合适呢?

说来也巧的很,那天在电骡上闲逛找资料的时候,无意中看到有ANSYS 11.0。而且看宣传图片似乎是包括流体计算部分的。于是点开资料仔细查看,发现了ICEM CFD可用来做CFD网格,而且网上对其评价比较好。

既然都推荐使用ICEM,那说什么也得试一试。当然ICEM的学习过程比CFX更艰难,例子比较少,尤其是四面体的例子,而且整个实验室都没有使用ICEM的。我当时是在仿真论坛上看到了一些人用ICEM做的六面体的例子,感觉这款软件真的是很神奇,做出来的六面体也是相当的漂亮。虽然再现在看来,那些例子都是赚取眼球的没有太大使用价值的,但是当时的确吸引了我的眼球。于是我拼命的啃ICEM帮助文档和做文档中的例子。记得当时第一个2D的混合器例子我从上午8点做到晚上11点多还没做出来,都快郁闷惨了。后来是晚上睡觉的时候突然间醒悟了,为什么ICEM做完块之后要进行关联,脑袋一下子就清晰了,然后整个ICEM划分六面体的原理就一下子明白了,第二天一大早赶到实验室,十分钟就把那个例子完成了。

其实说起来,ICEM CFD做六面体原理还是比较简单的,比较考验人的是空间思维和耐心。无非就是把一个完整的六面体块或者切割,或者延展,使其贴近原来的几何,然后对块上的边进行尺寸分割。整个过程更像是一个雕刻家,从一块完整的原材料,经过细细雕琢,最终形成一件艺术品。

ICEM CFD划分四面体网格操作更简单,通常只需要简单的几步就可以完成,而且还可以对完成后的网格进行关顺,提高网格质量。而且ICEM对与求解器的支持非常好,支持一百多种求解器,几乎常用的软件接口它都有。对于模型输入接口也很丰富,除了支持常用的中性文件(如igs,stp,x_t等)外,还支持UG,PRO/E,CATIA的直接接口,这为模型的无损导入提供了条件。我就特别喜欢这一点,以前用ANSYS的时候,补破面的日子太难受了。

8 后处理

后处理直接影响到软件的工程应用。不同的人对软件的使用程度,很大比例显示在后处理上。一个精通流体的人与一个对流体力学一无所知的人,能够从软件中得到的信息是不一样的。

Fluent的后处理功能还算强大,一般流体软件拥有的后处理功能它都具备。包括矢量图、云图、流线、曲线、以及各种流体变量的提取等。可惜的是,Fluent的后处理效果比较差,

也即是处理出来的图片图形相对于一些专业的后处理软件来说,不是太漂亮。当然,对于一个不是太追求完美的人来说,利用Fluent进行后处理也勉强能够对付。但是,如果你想要是后处理的结果更具有美感,当然得借助一些专业的后处理软件。这主要包括CFX-Post、Tecplot、FieldView、Ensight等。而我用得最多的主要是前两种。

对于Tecplot,其实还是最开始的关于气体泄露的项目中使用的,那时候由于需要对截面添加坐标,而CFX-Post却没办法做到,于是在网上寻找能给特定截面添加坐标的后处理工具,最后找上了tecplot,记得当时使用的版本是10.0,才10多M的样子,很小巧的软件,但是功能却很强大,做出来的后处理效果很漂亮,就这样在实验室进行推广。但其实我并不太喜欢使用这款软件。

而真正对CFX-POST感兴趣,那还得从09年底说起,那时候正是毕业设计中期答辩的时候,而ansys12也已经发布了,我发现在fluent的菜单中多了一个import to CFX-Post的菜单,于是就无意中点击进去了,发现进入的是CFX后处理,由于以前使用过CFX,对其后处理模块还是比较熟悉的,试着做了一下后处理,发现比5.6版的增加了不少的功能,而且后处理效果也更漂亮了。

9 总结

时间一晃,三年研究生学习生涯就结束了。再过半个月就要进入新的学习阶段。在这个时间段里,我觉得很有必要为这三年的学习经历做一个总结,同时为今后的三年博士生涯规划一个方向。

9.1 关于硕士

什么是硕士?硕士研究生阶段该如何度过?

对于什么是硕士的问题,我不太想引用教育部官方的解释,只想以一个过来人的身份浅谈一下自己的看法。

我觉得硕士和本科生是有本质的区别的。不端是学历,更多的是考虑问题、解决问题的方式。在读硕的三年里,应该更加专注自己思考问题的方式方法,培养自己的逻辑严密性。本科生阶段应该尽可能的提高自己的各方面能力,比如专业素养、社会交际能力、语言组织能力等等。而研究生不同,更多的应该是在专业方面下功夫,所关注的内容不能太广泛。人的精力毕竟是有限的,将有限的精力投入到一个小的领域才能取得大的成果。研究生阶段多看一些哲学类的书,提高自己的人文素质、逻辑能力是大有好处的。

我不是一个优秀的硕士毕业生,因为我发表的文章数量太少。对于发表文章,我个人认为:写论文对自己是绝对有好处的!不管发不发表,只要能完整的写出来,对自己的各方面能力都是一个锻炼。最起码的锻炼了语言表达能力,其次锻炼了逻辑思维能力。学术论文要求推理论证严谨。

对于数学的学习。作为一个工科的研究生,在研究生阶段更多的可能是利用软件,很少有用自己推导理论的。我觉得,在研究生阶段,多学习一些数学方面的知识是绝对有好处的。其他的专业我不太懂,但对于计算流体力学这一分支,我觉得有空学一下数学分析、数值计算、拓扑学、偏微分方程都是有很大帮助的。数学是科学之母,能将数学玩得很转的人,其逻辑一定非常的严密。有空了多练习一些数学公式推导。

对于软件的使用。现在的商用软件很发达,几乎所有的应用领域都有相应的专业软件出现。软件并不是掌握得越多越好,但是有几款软件则是必须要精通的。最基础也是最常用的word和powerpoint或者具有相同功能的软件。尤其powerpoint则更是如此。很多人会说,这些软件我本科的时候就会用了,但是就我看来,很多嘴上声称会用的人其实并不太会用,或者说使用得并不熟练。之所以把这两款软件提出来而不是整个office,是有原因的。Word 是目前做文档用的最多的,今后走上工作岗位了也是如此,不管是写报告、写论文,还是如常生活,很多时候都离不开它,不要弄得以后工作了,上司让写一份报告,结果因为软件应用不熟悉而留下一个工作效率低下的印象。而powerpoint则是用于成果展示,你的产品做得再好,无法展示给别人看也是白搭,人家不会认识你的。所以这两款最基础的软件是一个合格的硕士生所必须精通的。对于专业上的软件,我觉得宜精不宜多。同一领域的很多软件其实功能上是具有重复性的,所不同的只是偏重点不同而已。你可以用多种软件来加深概念理解,但一定要有一种最精通的。

对于导师。目前国内的教育现状,导师在培养研究生中所起的作用貌似越来越小。现在的老师都去忙着挣钱了,当然还是存在一些搞学术的负责的老师。目前国内高校中的老师大概分为两类:一类是项目贼多,专注于横向项目的;还有一类是项目相对较少,但是多专注于一些理论,纵向研究的课题。对于第一种类型的导师,我觉得作为他们的学生,应当更加培养自己的学习能力,在项目中学习,不要过多的去依赖于老师。本来做工程项目也是一种锻炼,我的老师就是这一类,项目很多做不完,但都是一些工程应用项目,很少有那种理论研究的纵向课题。对于第二类老师,我觉得应当多训练自己的思维能力,学术上有老师指导,未尝不是一件好事,但是找工作的时候可能会比其他人要忙活一些。毕竟有所得就有所失。

三年的时间一眨眼就过去了,但对正处于人生巅峰时期的我们,如果无所事事的度过,真的是太可惜了。

9.2 关于CFD

对于CFD来说,虽然我也是个半路出家的,但是好歹也是学习了将近三年,也想谈谈自己的看法。

CFD是什么东东?它出现于这个世上的目的是什么?CFD的前景及现状怎样?

CFD为何物?CFD其实只是一个缩写,它的全称是Computational Fluid Dynamics,翻译成中文为“计算流体动力学”,国内习惯称之为计算流体力学。在这里可以分析一下它的名字。首先它是流体动力学。我们知道,流体力学分为静力学和动力学两种。静力学研究的

是流体静止条件下的状态,而动力学则表示流体在流动过程中的运动状态。既然是流体动力学,当然研究的是流体的运动。流体运动起来了之后,由于我们的研究对象处于宏观状态,所以可以应用牛顿第二定律。其实NS方程都可以从牛顿第二定律推导。守恒定律是普遍通用的,通过从质量守恒、能量守恒、动量守恒的角度对流体微团进行分析,可以从流体流动过程中抽象出数学方程。

得出数学方程之后,只有能获得方程的解,方程实际作用。由于守恒方程非常复杂—非线性偏微分方程,在通常情况下很难求出解析解,因此需要考虑其他的手段求出其数值解。这也就是CFD中“计算”的来历。

那么如何计算呢?本来CFD的控制方程是封闭的,5个方程(1个质量守恒方程、3个动量守恒方程、1个能量守恒方程),5个未知数(u、v、w、P、T),理论上是可以直接离散形成封闭的代数方程组进行求解,然而不幸的是,这5个方程是高度非线性的,再加上流体流动中形成的湍流涡尺度相差过大(最小涡和最大涡尺寸相差太大),因此如果直接对控制方程离散求解的话,则要求模型网格尺寸足够的小(小于最小涡尺寸,现实中最小涡尺寸非常小),这样无疑极大的增加计算量,以至于无法在工业应用中进行推广。于是人们想出了采用雷诺平均NS方程(RANS),将湍流中的速度脉动进行平均。由于引入了新的变量,结果导致控制方程不封闭。人们为了使控制方程重新封闭,引入了湍流模型,湍流模型虽然是对湍流状态的一种假设,但是的确解决了直接模拟过于浪费计算时间的问题,因此在工业上得到了广泛的应用。

CFD其实是一种方法,一种发现自然界客观规律的手段,虽然受现实世界条件的限制(主要是计算能力),但是作为一种与理论流体力学、试验流体力学相并行的研究手段,随着人类科技的发展,一定会越来越受到重视。

CFD既然与理论流体力学、试验流体力学相并立,那么它具有哪些其他研究手段所不具备的优势呢?

最主要的优势莫过于CFD能大幅降低试验成本。CFD通常都是利用计算机进行模拟,因此减少了试验设备需求。更突出的优势在于,CFD中的模型可以根据需要随时修改。另一个不得不提的优势在于,很多不可重现、或重现代价非常大的情况,可以用CFD进行再现。如火灾、爆炸、一些自然灾害等。

说了CFD的那么多优势,是不是CFD就可以替代试验和理论研究呢?显然是不能。试验和理论研究的手段是无法被替代的,至少就目前为止还不可能。

CFD计算的准确性还存在很大的局限。首先它受制于当前计算机的计算能力,虽然如今计算机技术发展迅速,计算能力呈指数增长,但是我们对现实世界的模拟要求的细节也是越来越精密。要得到高精度的计算结果,当然对细节的考虑是越多越好,这无疑极大的增加了计算量。其次,数学理论的研究也在一定程度上制约了CFD的精度,高阶离散算法的收敛性、稳定性都不太容易解决。

对于CFD的发展前景,我个人认为应当是光明的。国内的应用稍微要差一些,国外对

这方面的研究和应用目前很火热。就像前些年CAD一样,国内总是要慢一些。就CFD的优势来说,火起来是迟早的事情。

9.3 学习方法

这个世界上,每个人都是独一无二的,所以适合自己的学习方法也是独一无二的。对于CFD的学习,我想说的是需要关注以下几点:

(1)搞清楚研究对象。你要从事的工作是基于CFD进行研究还是直接研究CFD?这个问题非常重要。因为现在很多人不明白CFD研究和基于CFD研究有什么区别,其实这里面有非常大的区别。很多人以为CFD就是fluent、cfx、star-cd等软件,以为CFD就是流体模拟。我个人的理解是:CFD是一种研究方法,研究对象是流体流动。我们要研究的是流体流动状态,而不是CFD本身。真正的CFD研究应该是偏重于计算机科学方面,研究的是数值计算方法,离散格式等等。如果你从事的领域是基于CFD进行研究,本身不是研究CFD 的,那么在平时学习中,就不应该把过多的注意力放到CFD上,而应该更多的关注你所要研究的内容,此时CFD只是一个可利用的工具。

(2)重视基础的学习。CFD是一种研究方法,是建立在流体力学与计算机科学之上的一门交叉学科。CFD的研究内容其实还是流体的运动,要求解的内容还是流体力学中的那些物理量。因此掌握好流体力学,对于学习CFD至关重要。CFD一直在变化,但是流体流动的本质永远都不会变。

(3)重视实践与练习。虽然说我们的目的不是使用软件,但是正所谓“工欲善其事必先利其器”,所以掌握好手中的工具,往往能起到事半功倍的效果。通常我们所说的工具指的就是计算软件。CFD计算软件很多,他们各有各的特点,因此选择一款适合自己的软件至关重要。通用流体软件虽然在很多的领域都能用到,但是由于其在设计时需要考虑到通用性,因此在某些场合可能需要使用者对其进行更多的干预,以使其更适用于自己的研究领域。选择了软件之后,对于软件的学习,我觉得从软件的帮助文档开始比较合适。可惜的是目前几乎所有的CFD软件都是全英文的,难以找到中文的文档。但是我认为,英文不应该构成软件学习的障碍。软件上有不懂的问题,第一反应应该是找软件的帮助文档,文档就像是说明书一样,操作上的所有问题都包含在里面。因此平时要多练习软件的操作,所谓孰能生巧,使用的多了,出现问题解决的办法自然也就多了。

一些人很聪明,一些人基础好,一些人肯下功夫,一些人肯思考。我觉得要学好CFD,关键还是要肯下功夫,笨一点不要紧,基础差可以补,只要有学好的决心,一定能成为CFD 高手。虽然我自己还是个菜鸟。

9.4 关于Fluent

Fluent在CFD领域那是大名鼎鼎,曾经占据了60%的CFD市场。在国内,Fluent的使

用也是相当的广泛。现在不谈Fluent的功能是多么的强大,只想说一下对于一个没有任何CFD基础的人,怎样快速入门使用Fluent。

首先说一下Fluent的安装,6.3以前版本的Fluent的安装相当简单,只需简单的两步即可完成,首先双击安装文件,完毕后将license拷贝到安装文件夹下即可。很多人都说安装6.3以前版本的fluent需要修改系统时间,其实是不需要的。只有安装gambit的时候安装老版本的exceed菜需要修改系统时间到2005年之前,新版本的exceed也不需要修改时间。其实gambit安装的时候也不需要修改时间。新版本的Fluent已经集成到ANSYS中,所以安装了ANSYS之后,就已经包含了Fluent了。

新版本的Fluent用户界面要比老版本的更清晰,更有条理性,只需按照顺序,一路设置下去基本就行了。Fluent的使用主要包括以下几步:

(1)读入网格。读入其他前处理软件生成的网格文件。如gambit,icem cfd等软件生产的fluent兼容的网格文件。读入网格后需要检查网格质量、是否存在负网格,如有必要还需要对模型进行缩放。

(2)模型设置。这里的模型主要指的是物理模型。计算中涉及到的湍流模型、能量模型、多相流模型、组分传输模型等等都在model菜单中进行选取。这一步非常重要,一旦选错,轻则计算不收敛,重则计算出错。

(3)材料模型设置。设置计算中采用的材料模型。

(4)计算域设置。这一步主要是对整个计算域进行设置。设置域的状态:静止或者运动、流体域或者固体域或者多孔区域、设置域中的流体介质材料。

对于一个入门者来说,主要设置这四项。

后面的求解器设置主要包括:

(1)求解器控制。包括压力-速度耦合方法、各种方程的离散方式选择

(2)亚松弛因子设置。对于亚松弛因子,我想说的都是:亚松弛因子主要是用来调节计算过程的收敛性和稳定性。松弛因子越大,收敛越慢,但是越稳定;相反,松弛因子越小,收敛效果越好,但是稳定性越差。计算过程中通过不断的调节亚松弛因子,以在收敛性和稳定性之间做一个折中。

(3)监视器设置。监视器的作用挺大。由于计算时间通常都比较长,一个直观的残差曲线通常能给使用者以信心。同时,监视器的作用不单单如此,在一些瞬态计算过程中,监视器还充当着绘制物理量随时间变化曲线的作用。

(5)动画设置。主要是针对瞬态分析,Fluent的动画功能能产生分析结果动画,并能存为avi格式进行保存。

一般的利用Fluent分析都需要设置以上的几步。在多相流计算中还要设置相,同时fluent 还可以进行网格自适应、动网格设置,这些都是比较高级的功能。

Fluent利用UDF对其功能进行扩展。我发现很多人盲目的使用UDF,把很多自己没办法解决的问题都归结到UDF中,他以为UDF能包治百病。其实UDF也仅仅只是Fluent提

供给用户的一个接口罢了,准确的说,这个接口并不是想象中的那么开发,仅仅只允许用户对其外壳进行修改,想修改内核那几乎是不可能的事情。

UDF由宏组成。宏在C语言中具有和函数很相似的功能,但是它不同于函数。宏在编译时只是简单的替换,所以,如果宏很多的话或者嵌套在循环语句中的话,编译的时候可能会导致源程序很大,C语言的函数则不同,它存储的是函数地址。我学过一段时间的UDF,没有在项目中使用过。凭着比较好的计算机基础,总算是弄明白了UDF的一些思路。

很多人抱怨UDF宏太多太杂记不住,其实我个人建议是:不要妄想把所有UDF宏都记住,你只要在手边放一份UDF帮助文档,到时候需要利用到什么宏了,就在文档中去查询,文档中还有很多现成的例子,可以比对着自己的问题进行修改。其实如果C语言基础比较好的话,使用UDF宏是很简单的。对于其他的CFD软件,如CFX 、STAR-CD使用fortran 来说,我觉得C语言还是比较好学一些,至少语法要好看。

9.5 Fluent的本质

上次有网友问我“能不能从宏观上去讲一下Fluent”。我觉得的确应该从宏观上去理解fluent,否则很容易陷入误区。

Fluent是什么?最准确的回答是:“Fluent是一款计算机软件,2005年ANSYS公司从FLUENT公司收购的一款软件”。如此而已。既然Fluent是一款软件,那么它就应当具有计算机软件的共性。

计算机软件,百度百科的解释:计算机软件(Computer Software,也称软件,软体)是指计算机系统中的程序及其文档,程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。

从上面软件的定义,我们可以得出这样的一些结论:(1)软件是由人编制的,包括程序和文档;(2)软件只是实现某些处理规则,其实就是算法,算法是事先就已经存在的;(3)软件的运行必须借助于机器。其实这些特点应用到Fluent上也是合适的。Fluent其实就是一款软件,它的核心算法是利用有限体积法离散NS方程。这个离散方法是由程序员确定的,用户只可选择而无法修改。

认识到这些就好办了,我们平时所用的Fluent软件其实就是一个偏微分方程求解器,和我们的计算器具有相似的功能。很多人又会问:“那我不同的模型,怎么用Fluent都能够求解”?提到这里,就涉及到有限体积法和CFD控制方程,这个东西要讲起来可以写成一本厚厚的书,市场上讲有限体积法的书也比较多,其基本原理是这样的:“流体流动、传热、化学反应的数学方程都具有很大的相似性,可以将他们写成一个统一的通用格式,对通用格式采用有限体积法离散,就能够求解形形色色的问题了。

既然Fluent是一个类似计算器的东西,那么我们就完全可以编程序取代它,实际上很多专有领域都是采用自己编程的方法,毕竟Fluent为了其通用性,牺牲了一些性能。

9.6 关于网格

说完了Fluent,不得不说一下网格。在数值计算中,网格非常的常见。其实网格体现了一种分而治之的思想,将无限连续的模型划分成有限个微元体进行求解。

流体网格分两种类型:结构网格与非结构网格。很多人并不懂这两种网格的区别,他们认为三角形和四面体就是非结构网格,四边形和六面体就是结构网格。其实这种看法是不恰当的,结构网格与非结构网格的区别不是从其结构形态进行区分的,而是以其在编程中的数据结构进行区分。

所谓结构化网格,是指网格区域内所有的内部点都具有相同的毗邻单元。也就是说,我知道一个单元的位置,就能够确定与其毗邻的单元位置。这样的网格有什么好处了?一个最直接的好处就是可以节省计算机内存。在编制计算机程序时,通常不用存储每一个网格节点、单元的位置,只需要存储一些索引单元的信息,即可找出其他的单元。虽然结构网格具有很明显的优点,但是却有一个致命的缺点:几何适应性比较差,对于复杂的几何体,难以划分结构网格。这一缺点限制了结构网格在工业上的应用,于是人们找出了一种几何适应性好的非结构网格。

同结构化网格的定义相对应,非结构化网格是指网格区域内的内部点不具有相同的毗邻单元。即与网格剖分区域内的不同内点相连的网格数目不同。从定义上可以看出,结构化网格和非结构化网格有相互重叠的部分,即非结构化网格中可能会包含结构化网格的部分。

非结构化网格技术从六十年代开始得到了发展,主要是弥补结构化网格不能够解决任意形状和任意连通区域的网格剖分的缺欠。到90年代时,非结构化网格的文献达到了它的高峰时期。由于非结构化网格的生成技术比较复杂,随着人们对求解区域的复杂性的不断提高,对非结构化网格生成技术的要求越来越高。从现在的文献调查的情况来看,非结构化网格生成技术中只有平面三角形的自动生成技术比较成熟(边界的恢复问题仍然是一个难题,现在正在广泛讨论),平面四边形网格的生成技术正在走向成熟。而空间任意曲面的三角形、四边形网格的生成,三维任意几何形状实体的四面体网格和六面体网格的生成技术还远远没有达到成熟。需要解决的问题还非常多。主要的困难是从二维到三维以后,待剖分网格的空间区非常复杂,除四面体单元以外,很难生成同一种类型的网格。需要各种网格形式之间的过度,如金字塔形,五面体形等等。

Gambit中除了用map生成的网格是结构网格外,其他所有方法生成的网格全部是非结构网格,这与网格形状无关。

Fluent还可以使用一种叫做多面体网格的网格类型。这种网格式cd-adapco公司的专利,不知道Fluent是如何采用的,反正star-cd与star-ccm+中的多面体网格采用的是面心结构,这样有助于保证精度,因为从四面体网格转换成多面体网格,网格数量降低很多,大概为1/5左右,如果还采用体心结构的话,可能会导致网格过于稀疏而影响计算精度。Fluent对这种网格类型引述非常的少,目前无法在文档中找到相关的介绍。

10 后记

暑假在家是在是有点闲得慌,再过几天就要返回学校,所以觉得有必要对研究生这三年来的一些情况做一个总结。我总认为,常常总结对于学习是有好处的。

烂笔记本由于散热问题在这个炎热的夏天无法坚持太长的时间,每次都是写上两个小时就得休眠十分钟进行散热,否则恐怕机器会重启。因此就这十多页写了将近5天。

Fluent是一款好软件,入门比较容易,教程也挺多。我们学习Fluent并不是目的,最终的目的还是利用Fluent解决现实生活中的问题。

第三章,湍流模型

第三章,湍流模型 第一节, 前言 湍流流动模型很多,但大致可以归纳为以下三类: 第一类是湍流输运系数模型,是Boussinesq 于1877年针对二维流动提出的,将速度脉动的二阶关联量表示成平均速度梯度与湍流粘性系数的乘积。即: 2 1 21 x u u u t ??=-μρ 3-1 推广到三维问题,若用笛卡儿张量表示,即有: ij i j j i t j i k x u x u u u δρμρ32 -??? ? ????+ ??=''- 3-2 模型的任务就是给出计算湍流粘性系数t μ的方法。根据建立模型所需要的微分方程的数目,可以分为零方程模型(代数方程模型),单方程模型和双方程模型。 第二类是抛弃了湍流输运系数的概念,直接建立湍流应力和其它二阶关联量的输运方程。 第三类是大涡模拟。前两类是以湍流的统计结构为基础,对所有涡旋进行统计平均。大涡模拟把湍流分成大尺度湍流和小尺度湍流,通过求解三维经过修正的Navier-Stokes 方程,得到大涡旋的运动特性,而对小涡旋运动还采用上述的模型。 实际求解中,选用什么模型要根据具体问题的特点来决定。选择的一般原则是精度要高,应用简单,节省计算时间,同时也具有通用性。 FLUENT 提供的湍流模型包括:单方程(Spalart-Allmaras )模型、双方程模型(标准κ-ε模型、重整化群κ-ε模型、可实现(Realizable)κ-ε模型)及雷诺应力模型和大涡模拟。 湍流模型种类示意图 第二节,平均量输运方程 包含更多 物理机理 每次迭代 计算量增加 提的模型选 RANS-based models

雷诺平均就是把Navier-Stokes 方程中的瞬时变量分解成平均量和脉动量两部分。对于速度,有: i i i u u u '+= 3-3 其中,i u 和i u '分别是平均速度和脉动速度(i=1,2,3) 类似地,对于压力等其它标量,我们也有: φφφ'+= 3-4 其中,φ表示标量,如压力、能量、组分浓度等。 把上面的表达式代入瞬时的连续与动量方程,并取平均(去掉平均速度i u 上的横线),我们可以把连续与动量方程写成如下的笛卡儿坐标系下的张量形式: 0)(=?? +??i i u x t ρρ 3-5 () j i j l l ij i j j i j i i u u x x u x u x u x x p Dt Du -?? +???????????? ????-??+????+??-=ρδμρ32 3-6 上面两个方程称为雷诺平均的Navier-Stokes (RANS )方程。他们和瞬时Navier-Stokes 方程有相同的形式,只是速度或其它求解变量变成了时间平均量。额外多出来的项j i u u ''-ρ是雷诺应力,表示湍流的影响。如果要求解该方程,必须模拟该项以封闭方程。 如果密度是变化的流动过程如燃烧问题,我们可以用法夫雷(Favre )平均。这样才可以求解有密度变化的流动问题。法夫雷平均就是出了压力和密度本身以外,所有变量都用密度加权平均。变量的密度加权平均定义为: ρρ/~ Φ=Φ 3-7 符号~表示密度加权平均;对应于密度加权平均值的脉动值用Φ''表示,即有: Φ''+Φ=Φ~ 。很显然,这种脉动值的简单平均值不为零,但它的密度加权平均值等于零,即: 0≠Φ'', 0=Φ''ρ Boussinesq 近似与雷诺应力输运模型 为了封闭方程,必须对额外项雷诺应力j i u u -ρ进行模拟。一个通常的方法是应用Boussinesq 假设,认为雷诺应力与平均速度梯度成正比,即: ij i i t i j j i t j i x u k x u x u u u δμρμρ)(32 ??+-??? ? ????+??=''- 3-8 Boussinesq 假设被用于Spalart-Allmaras 单方程模型和ε-k 双方程模型。Boussinesq 近似 的好处是与求解湍流粘性系数有关的计算时间比较少,例如在Spalart-Allmaras 单方程模型中,只多求解一个表示湍流粘性的输运方程;在ε-k 双方程模型中,只需多求解湍动能k 和耗散率ε两个方程,湍流粘性系数用湍动能k 和耗散率ε的函数。Boussinesq 假设的缺点是认为湍流粘性系数t μ是各向同性标量,对一些复杂流动该条件并不是严格成立,所以具有其应用限制性。

Fluent中常见问题

1什么叫松弛因子?松弛因子对计算结果有什么样的影响?它对计算的收敛情况又有什么样的影响? 1、亚松驰(Under Relaxation):所谓亚松驰就是将本层次计算结果与上一层次结果的差值作适当缩减,以避免由于差值过大而引起非线性迭代过程的发散。用通用变量来写出时,为松驰因子(Relaxation Factors)。《数值传热学-214》 2、FLUENT中的亚松驰:由于FLUENT所解方程组的非线性,我们有必要控制的变化。一般用亚松驰方法来实现控制,该方法在每一部迭代中减少了的变化量。亚松驰最简单的形式为:单元内变量等于原来的值加上亚松驰因子a与变化的积, 分离解算器使用亚松驰来控制每一步迭代中的计算变量的更新。这就意味着使用分离解算器解的方程,包括耦合解算器所解的非耦合方程(湍流和其他标量)都会有一个相关的亚松驰因子。在FLUENT中,所有变量的默认亚松驰因子都是对大多数问题的最优值。这个值适合于很多问题,但是对于一些特殊的非线性问题(如:某些湍流或者高Rayleigh数自然对流问题),在计算开始时要慎重减小亚松驰因子。使用默认的亚松驰因子开始计算是很好的习惯。如果经过4到5步的迭代残差仍然增长,你就需要减小亚松驰因子。有时候,如果发现残差开始增加,你可以改变亚松驰因子重新计算。在亚松驰因子过大时通常会出现这种情况。最为安全的方法就是在对亚松驰因子做任何修改之前先保存数据文件,并对解的算法做几步迭代以调节到新的参数。最典型的情况是,亚松驰因子的增加会使残差有少量的增加,但是随着解的进行残差的增加又消失了。如果残差变化有几个量级你就需要考虑停止计算并回到最后保存的较好的数据文件。注意:粘性和密度的亚松驰是在每一次迭代之间的。而且,如果直接解焓方程而不是温度方程(即:对PDF计算),基于焓的温度的更新是要进行亚松驰的。要查看默认的亚松弛因子的值,你可以在解控制面板点击默认按钮。对于大多数流动,不需要修改默认亚松弛因子。但是,如果出现不稳定或者发散你就需要减小默认的亚松弛因子了,其中压力、动量、k和e的亚松弛因子默认值分别为0.2,0.5,0.5和0.5。对于SIMPLEC格式一般不需要减小压力的亚松弛因子。在密度和温度强烈耦合的问题中,如相当高的Rayleigh数的自然或混合对流流动,应该对温度和/或密度(所用的亚松弛因子小于1.0)进行亚松弛。相反,当温度和动量方程没有耦合或者耦合较弱时,流动密度是常数,温度的亚松弛因子可以设为1.0。对于其它的标量方程,如漩涡,组分,PDF变量,对于某些问题默认的亚松弛可能过大,尤其是对于初始计算。你可以将松弛因子设为0.8以使得收敛更容易。 SIMPLE与SIMPLEC比较 在FLUENT中,可以使用标准SIMPLE算法和SIMPLEC(SIMPLE-Consistent)算法,默认是SIMPLE算法,但是对于许多问题如果使用SIMPLEC可能会得到更好的结果,尤其是可以应用增加的亚松驰迭代时,具体介绍如下: 对于相对简单的问题(如:没有附加模型激活的层流流动),其收敛性已经被压力速度耦合所限制,你通常可以用SIMPLEC算法很快得到收敛解。在SIMPLEC中,压力校正亚松驰因子通常设为1.0,它有助于收敛。但是,在有些问题中,将压力校正松弛因子增加到1.0可能会导致不稳定。对于所有的过渡流动计算,强烈推荐使用PISO算法邻近校正。它允许你使用大的时间步,而且对于动量和压力都可以使用亚松驰因子1.0。对于定常状态问题,具有邻近校正的PISO并不会比具有较好的亚松驰因子的SIMPLE或SIMPLEC好。对于具有较大扭曲网格上的定常状态和过渡计算推荐使用PISO倾斜校正。当你使用PISO邻近校正时,对所有方程都推荐使用亚松驰因子为1.0或者接近1.0。如果你只对高度扭曲的网格使用PISO 倾斜校正,请设定动量和压力的亚松驰因子之和为1.0比如:压力亚松驰因子0.3,动量亚

FLUENT论坛精华常见问题[1]

湍流与黏性有什么关系? 湍流和粘性都是客观存在的流动性质。 湍流的形成需要一定的条件,粘性是一切流动都具有的。 流体流动方程本身就是具非线性的。 NS方程中的粘性项就是非线性项,当然无粘的欧拉方程也是非线性的。 粘性是分子无规则运动引起的,湍流相对于层流的特性是由涡体混掺运动引起的。 湍流粘性是基于湍流体的parcel湍流混掺是类比于层流体中的分子无规则运动,只是分子无规则运动遥远弱些吧了。不过,这只是类比于,要注意他们可是具有不同的属性。 粘性是耗散的根源,实际流体总是有耗散的。 而粘性是制约湍流的。 LANDAU说,粘性的存在制约了湍流的自由度。 湍流粘性系数和层流的是不一样的,层流的粘性系数基本可认为是常数,可湍流中层流底层中粘性系数很小,远小于层流时的粘性系数;而在过渡区,与之相当,在一个数量级;在充分发展的湍流区,又远大于层流时的粘性系数.这是鮑辛内斯克1987年提出的。 1 FLUENT的初始化面板中有一项是设置从哪个地方开始计算(compute from),选择从不同的边界开始计算有很大的区别吗?该怎样根据具体问题选择从哪里计算呢?比如有两个速度入口A和B,还有压力出口等等,是选速度入口还是压力出口?如果选速度入口,有两个,该选哪个呀?有没有什么原则标准之类的东西? 一般是选取ALL ZONE,即所有区域的平均处理,通常也可选择有代表性的进口(如多个进口时)进行初始化。对于一般流动问题,初始值的设定并不重要,因为计算容易收敛。但当几何条件复杂,而且流动速度高变化快(如音速流动),初始条件要仔细选择。如果不收敛,还应试验不同的初始条件,甚至逐次改变边界条件最后达到所要求的条件。 2 要判断自己模拟的结果是否是正确的,似乎解的收敛性要比那些初始条件和边界条件更重要,可以这样理解吗?也就是说,对于一个具体的问题,初始条件和边界条件的设定并不是唯一的,为了使解收敛,需要不断调整初始条件和边界条件直到解收敛为止,是吗?如果解收敛了,是不是就可以基本确定模拟的结果是正确的呢? 对于一个具体的问题,边界条件的设定当然是唯一的,只不过初始化时可以选择不同的初始条件(指定常流),为了使解的收敛比较好,我一般是逐渐的调节边界条件到额定值("额定值"是指你题目中要求的入口或出口条件,例如计算一个管内流动,要求入口压力和温度为10MPa和3000K,那么我开始叠代时选择入口压力和温度为1MPa和500K(假设,这看你自己问题了),等流场计算的初具规模、收敛的较好了,再逐渐调高压力和温度,经过好几次调节后最终到达额定值10MPa和3000K,这样比一开始就设为10MPa 和3000K收敛的要好些)这样每次叠代可以比较容易收敛,每次调节后不用再初始化即自动调用上次的解为这次的初始解,然后继续叠代。即使解收敛了,这并不意味着就可以基本确定模拟的结果是正确的,还需要和实验的结果以及理论分析结果进行对比分析。 连续性方程不收敛是怎么回事? 在计算过程中其它指数都收敛了,就continuity不收敛是怎么回事 这和Fluent程序的求解方法SIMPLE有关。SIMPLE根据连续方程推导出压力修正方法求解压力。由于连续方程中流场耦合项被过渡简化,使得压力修正方程不能准确反映流场的变化,从而导致该方程收敛缓慢。你可以试验SIMPLEC方法,应该会收敛快些。 边界条件对应的一般设定方法 边界条件对应的一般设定方法: *Genaeral--- pressure inlet;pressure outlet *Compressible flows---mass flow inlet;pressure far-field *Incompressible ---velocity inlet;outflow

FLUENT常见问题

如何区分层流和紊流?以什么为标准来区分呢?从层流过渡到紊流的标准是什么? 答:自然界中的流体流动状态主要有两种形式,即层流laminar和湍流(就是问题中所说的紊流)turbulence.层流是指流体在流动过程中两层之间没有相互混渗,而湍流是指流体不是处于分层流动状态。 对于圆管内流动,雷诺数小于等于2300,管流一定为层流,雷诺数大于等于8000到12000之间,管流一定为湍流,雷诺数大于2300而小于8 000时,流动处于层流与湍流的过渡区。 对于一般流动,在计算雷诺数时,可以用水力半径代替管径。 第40题:在处理高速空气动力学问题时,采用哪种耦合求解器效果更好?为什么? 高速空气动力学问题也属于可压缩流动的范围,在Fluent中原则上,使用Pressure-ba sed和Density-based求解器都可以。从历史根源上讲,基于压力的求解器以前主要用于不可压缩流动和微可压缩流动,而基于密度的求解器用于高速可压缩流动。现在,两种求解器都适用于从不可压到高速可压的很大范围流动,但总的来讲,当计算高速可压缩流动时,基于密度的求解器还是璧基于压力的求解器更有优势,因此,在使用Fluent计算高速可压缩流动时,推荐使用Density-based求解器。 也许有很多人对于Pressure-based和Density-based求解器的原理的认识还不够深,在此稍微介绍一下: 求解Navier-Stokes方程的计算方法根据连续方程的处理方式,可以分为密度法和压力法。不论是密度法还是压力法,速度场都是由动量方程所控制,差别在压力场的确定方法上,密度法是通过连续方程确定密度,再由状态方程换算压力,这一方法多用于可压缩流动,作一定修正后,也可用于低马赫数流动,而这一流动已被看做不可压缩流,但此时精度及鲁棒性都有所降低,对于湍流甚至会失去有效性。密度法的弱点正好是压力法的长处,压力法是通过压力方程或压力修正方程来获得压力场,由于其鲁棒性及有效性,得以广泛使用。该方法原是作为求解不可压缩流动发展起来的,但也可以推广到可压缩流的计算上。这两种方法在求解思路上也有所不同,密度法多用同步求解各变量,而压力法则常为顺序求解各变量。显然顺序求解的一个优势是便于补充方程而无需修改算法程序。 Fluent用户手册上,对于可压缩流动有以下需要注意的策略,在此就不再翻译了,以免曲解原意。 Solution Strategies for Compressible Flows The difficulties associated with solving compressible flows are a result of the hi gh degree of coupling between the flow velocity, density, pressure, and energy. Thi

fluent 计算错误汇总

Fluent 计算错误汇总 1..fluent不能显示图像 在运行fluent时,导入case后,检查完grid,在显示grid时,总是出现这样的错误 Error message from graphics function Update_Display: Unable to Set OpenGL Rendering Context Error: FLUENT received a fatal signal (SEGMENTATION VIOLATION). Error Object: () 解决办法: 右键单击快捷方式,把目标由x: 改成:x: 2d -driver msw 如果还有三维的,可以再建立一个快捷方式改成: x: 3d -driver msw 这就可以直接调用了。如果不是以上原因引起的话,也有可能是和别的软件冲突,如MATLAB等,这也会使fluent无法显示图像。 Q1:GAMBIT安装后无法运行,出错信息是“unable find Exceed X Server” A. GAMBIT需要装EXCEED才能用。 gambit的运行:先运行命令提示符,输入gambit,回车 fluent的运行:直接在开始-程序-Fluent Inc里面 Q2:Fluent安装后无法运行,出错信息是甥?挱湵扡敬映湩層漯数? A. FLUENT和GAMBIT需要把相应文件拷贝到license目录下 文件?gambit时提示找不到gambit出错信息:运行Q3: A. FLUENT和GAMBIT推荐使用默认安装设置, 安装完GAMBIT请设置环境变量, 设置办法“开始-程序-FLUENT INC-Set Environment 另外设置完环境变量需要重启一下,否则仍会提示找不到环境变量。Q4:使用Fluent和Gambit需要注意什么问题? A. 安装好FLUENT和GAMBIT最好设置一下用户默认路径 推荐设置办法,在非系统分区建一个目录,如d:%users a)win2k用户在控制面板-用户和密码-高级-高级,在使用fluent用户的配置文件 修改本地路径为d:%users,重起到该用户运行命令提示符,检查用户路径是否修改 b)xp用户,把命令提示符发送到桌面快捷方式,右键单击命令提示符快捷方式 在快捷方式-起始位置加入D:%users,重起检查 Q5:Gambit运行失败,出错信息“IDENTIFIER default_ Server ” 等文件default_id.*的缺省文件已经打开,到用户默认目录删除gambitA.

fluent经典问题整理

网格质量与那些因素有关? 网格质量本身与具体问题的具体几何特性、流动特性及流场求解算法有关。因此,网格质量最终要由计算结果来评判,但是误差分析以及经验表明,CFD计算对计算网格有一些一般性的要求,例如光滑性、正交性、网格单元的正则性以及在流动变化剧烈的区域分布足够多的网格点等。对于复杂几何外形的网格生成,这些要求往往并不可能同时完全满足。例如,给定边界网格点分布,采用Laplace 方程生成的网格是最光滑的,但是最光滑的网格不一定满足物面边界正交性条件,其网格点分布也很有可能不能捕捉流动特征,因此,最光滑的网格不一定是最好的网格。对计算网格的一个最基本的要求当然是所有网格点的Jacobian必须为正值,即网格体积必须为正,其他一些最常用的网格质量度量参数包括扭角(skew angle)、纵横比(aspect ratio、Laplacian)、以及弧长(arc length)等。通过计算、检查这些参数,可以定性的甚至从某种程度上定量的对网格质量进行评判。Parmley等给出了更多的基于网格元素和网格节点的网格质量度量参数。有限元素法关于插值逼近误差估计的理论,实际上也对网格单元的品质给出了基本的规定:即每个单元的内切球半径与外切球半径之,应该是一个适当的,与网格疏密无关的常数。 实体与虚体的区别 在建模中,经常会遇到实体、实面与虚体、虚面,虚体的计算域也可以进行计算并得到所需的结果。那么它们的区别是什么呢? 对于求解是没有任何区别的,只要你能在虚体或者实体上划分你需要的网格。关键是看你网格生成的质量如何,与实体虚体无关。 gambit的实体和虚体在生成网格和计算的时候对于结果没有任何影响,实体和虚体的主要区别有以下几点: 1.实体可以进行布尔运算但是虚体不能,虽然不能进行布尔运算,但是虚体存在merge,split 等功能。 2.实体运算在很多cad软件里面都有,但是虚体是gambit的一大特色,有了虚体以后,gambit 的建模和网格生成的灵活性增加了很多。 3.在网格生成的过程中,如果有几个相对比较平坦的面,你可以把它们通过merge合成一个,这样,作网格的时候,可以节省步骤,对于曲率比较大的面,可能生成的网格质量不好,这时候,你可以采取用split的方式把它划分成几个小面以提高网格质量。 在Fluent中进行非稳态(unsteady)计算时如何设置步长?

FLUENT中常用的湍流模型

The Spalart-Allmaras模型 对于解决动力漩涡粘性,Spalart-Allmaras 模型是相对简单的方程。它包含了一组新的方程,在这些方程里不必要去计算和剪应力层厚度相关的长度尺度。Spalart-Allmaras 模型是设计用于航空领域的,主要是墙壁束缚流动,而且已经显示出很好的效果。在透平机械中的应用也愈加广泛。 在原始形式中Spalart-Allmaras 模型对于低雷诺数模型是十分有效的,要求边界层中粘性影响的区域被适当的解决。在FLUENT中,Spalart-Allmaras 模型用在网格划分的不是很好时。这将是最好的选择,当精确的计算在湍流中并不是十分需要时。再有,在模型中近壁的变量梯度比在k-e模型和k-ω模型中的要小的多。这也许可以使模型对于数值的误差变得不敏感。想知道数值误差的具体情况请看5.1.2。 需要注意的是Spalart-Allmaras 模型是一种新出现的模型,现在不能断定它适用于所有的复杂的工程流体。例如,不能依靠它去预测均匀衰退,各向同性湍流。还有要注意的是,单方程的模型经常因为对长度的不敏感而受到批评,例如当流动墙壁束缚变为自由剪切流。 标准k-e模型 最简单的完整湍流模型是两个方程的模型,要解两个变量,速度和长度尺度。在FLUENT中,标准k-e模型自从被Launder and Spalding提出之后,就变成工程流场计算中主要的工具了。适用范围广、经济,有合理的精度,这就是为什么它在工业流场和热交换模拟中有如此广泛的应用了。它是个半经验的公式,是从实验现象中总结出来的。 由于人们已经知道了k-e模型适用的范围,因此人们对它加以改造,出现了RNG k-e模型和带旋流修正k-e 模型。k-ε模型中的K和ε物理意义:k是紊流脉动动能(J),ε是紊流脉动动能的耗散率(%);k越大表明湍流脉动长度和时间尺度越大,ε越大意味着湍流脉动长度和时间尺度越小,它们是两个量制约着湍流脉动。 RNG k-e模型 RNG k-e模型来源于严格的统计技术。它和标准k-e模型很相似,但是有以下改进: ?RNG模型在e方程中加了一个条件,有效的改善了精度。 ?考虑到了湍流漩涡,提高了在这方面的精度。 ?RNG理论为湍流Prandtl数提供了一个解析公式,然而标准k-e模型使用的是用户提供的常数。 ?然而标准k-e模型是一种高雷诺数的模型,RNG理论提供了一个考虑低雷诺数流动粘性的解析公式。这些公式的效用依靠正确的对待近壁区域 这些特点使得RNG k-e模型比标准k-e模型在更广泛的流动中有更高的可信度和精度。 带旋流修正的k-e模型 带旋流修正的k-e模型是近期才出现的,比起标准k-e模型来有两个主要的不同点。 ?带旋流修正的k-e模型为湍流粘性增加了一个公式。 ?为耗散率增加了新的传输方程,这个方程来源于一个为层流速度波动而作的精确方程。 术语“realizable”,意味着模型要确保在雷诺压力中要有数学约束,湍流的连续性。带旋流修正的k-e模型直接的好处是对于平板和圆柱射流的发散比率的更精确的预测。而且它对于旋转流动、强逆压梯度的边界层流动、流动分离和二次流有很好的表现。带旋流修正的k-e模型和RNG k-e模型都显现出比标准k-e模型在强流线弯曲、漩涡和旋转有更好的表现。由于带旋流修正的k-e模型是新出现的模型,所以现在还没有确凿的证据表明它比RNG k-e模型有更好的表现。但是最初的研究表明带旋流修正的k-e模型在所有k-e模型中流动分离和复杂二次流有很好的作用。带旋流修正的k-e模型的一个不足是在主要计算旋转和静态流动区域时不能提供自然的湍流粘度。这是因为带旋流修正的k-e模型在定义湍流粘度时考虑了平均旋度的影响。这种额外的旋转影响已经在单一旋转参考系中得到证实,而且表现要好于标准k-e模型。由于这些修改,把它应用于多重参考系统中需要注意。 标准k-ω模型 标准k-ω模型是基于Wilcox k-ω模型,它是为考虑低雷诺数、可压缩性和剪切流传播而修改的。Wilcox k-ω模型预测了自由剪切流传播速率,像尾流、混合流动、平板绕流、圆柱绕流和放射状喷射,因而可以应用于墙壁束缚流动和自由剪切流动。标准k-e模型的一个变形是SST k-ω模型,它在FLUENT中也是可用的,将在10.2.9中介绍它。 剪切压力传输(SST)k-ω模型

Fluent 湍流模型小结

Fluent 湍流模型小结湍流模型目前计算流体力学常用的湍流的数值模拟方法主要有以下三种: 直接模拟(direct numerical&Oσλαση; simulation, DNS) 直接数值模拟(DNS)特点在湍流尺度下的网格尺寸内不引入任何封闭模型的前提下对Navier-Stokes方程直接求解。这种方法能对湍流流动中最小尺度涡进行求解,要对高度复杂的湍流运动进行直接的数值计算,必须采用很小的时间与空间步长,才能分辨出湍流中详细的空间结构及变化剧烈的时间特性。基于这个原因,DNS目前仅限于相对低的雷诺数中湍流流动模型。另外,利用DNS模型对湍流运动进行直接的数值模拟对计算工具有很高的要求,计算机的内存及计算速度要非常的高,目前DNS模型还无法应用于工程数值计算,还不能解决工程实际问题。 大涡模拟(large&Oσλαση; eddy simulation, LES) 大涡模拟(LES)是基于网格尺度封闭模型及对大尺度涡进行直接求解N-S方程,其网格尺度比湍流尺度大,可以模拟湍流发展过程的一些细节,但其计算量仍很大,也仅用于比较简单的剪切流运动及管流。大涡模拟的基础是:湍流的脉动与混合主要是由大尺度的涡造成的,大尺度涡是高度的非各向同性,而且随流动的情形而异。大尺度的涡通过相互作用把能量传递给小尺度的涡,而小尺度的涡旋主要起到耗散能量的作用,几乎是各向同性的。这些对涡旋的认识基础就导致了大涡模拟方法的产生。Les大涡模拟采用非稳态的N-S方程直接模拟大尺度涡,但不计算小尺度涡,小涡对大涡的影响通过近似的模拟来考虑,这种影响称为亚格子Reynolds应力模型。大多数亚格子Reynolds模型都是将湍流脉动所造成的影响用一个湍流粘性系数,既粘涡性来描述。LES对计算机的容量和CPU的要求虽然仍然很高,但是远远低于DNS方法对计算机的要求,因而近年来的研究与应用日趋广泛。 应用Reynolds时均方程(Reynolds-averaging&Oσλαση; equations)的模拟方法 许多流体力学的研究和数值模拟的结果表明,可用于工程上现实可行的湍流模拟方法仍然是基于求解Reynolds时均方程及关联量输运方程的湍流模拟方法,即湍流的统观模拟方法。统观模拟方法的基本思想是用低阶关联量和平均流性质来模拟未知的高阶关联项,从而封闭平均方程组或关联项方程组。虽然这种方法在湍流理论中是最简单的,但是对工程应用而言仍然是相当复杂的。即便如此,在处理工程上的问题时,统观模拟方法仍然是最有效、最经济而且合理的方法。在统观模型中,使用时间最长,积累经验最丰富的是混合长度模型和K-E模型。其中混合长度模型是最早期和最简单的湍流模型。该模型是建立在层流粘性和湍流粘性的类比、平均运动与湍流的脉动的概念上的。该模型的优点是简单直观、无须增加微分方程。缺点是在模型中忽略了湍流的对流与扩散,对于复杂湍流流动混合长度难以确定。 到目前为止,工程中应用最广泛的是k-ε模型。另外针对k-ε模型的不足之处,许多学者通过对K-E模型的修正和发展,开始采用雷诺应力模型(DSM)和代数应力模型(ASM)。近年来,DSM模型已用来预报燃烧室及炉内的强旋及浮力流动。很多情况下能够给出优于k-ε模型的结果。但是该模型也有不足之处,首先它对工程预报来说太复杂,其次经验系数太多难以确定,此外,对压力应变项的模拟还有争议。更主要的是,尽管这一模型考虑了各种应变效应,但是其总精度并不总是高于其它模型,这些缺点导致了DSM模型没有得到广泛的应用。总之,虽然从本质上讲DSM模型和ASM模型比k-ε模型对湍流流场的模拟更加合理,但DSM和ASM中仍然采用精度不高的E方程,模型中常数的通用性还没有得到广泛的验证,边界条件不好给定,计算也比较复杂。正因为如此,目前用计算解决湍流问题时仍然采用比较成熟的K-E模型。 需要注意的是: 1、大涡模拟有自己的亚格子封闭模型,这和k-ε模型完全是两回事。LES的亚格子模型表

fluent常见错误汇总 (1)

Fluent 计算错误汇总 1. .fluent 不能显示图像 在运行fluent 时,导入case 后,检查完grid ,在显示grid 时,总是出现这样的错误 Error message from graphics function Update_Display: Unable to Set OpenGL Rendering Context Error: FLUENT received a fatal signal (SEGMENTATION VIOLATION). Error Object: () 解决办法解决办法:: 右键单击快捷方式,把目标由x:fluent.incntbinntx86fluent.exe 改成: x:fluent.incntbinntx86fluent.exe 2d -driver msw 如果还有三维的,可以再建立一个快捷方式改成: x:fluent.incntbinntx86fluent.exe 3d -driver msw 这就可以直接调用了。如果不是以上原因引起的话,也有可能是和别的软件冲突,如MATLAB 等,这也会使fluent 无法显示图像。 Q1:GAMBIT 安装后无法运行,出错信息是“unable find Exceed X Server” A. GAMBIT 需要装EXCEED 才能用。 gambit 的运行:先运行命令提示符,输入gambit,回车 fluent 的运行:直接在开始-程序-Fluent Inc 里面 Q2:Fluent 安装后无法运行,出错信息是“unable find/open license.dat" A. FLUENT 和GAMBIT 需要把相应license.dat 文件拷贝到FLUENT.INC/license 目录下 Q3:出错信息:运行gambit 时提示找不到gambit 文件? A. FLUENT 和GAMBIT 推荐使用默认安装设置, 安装完GAMBIT 请设置环境变量, 设置办法“开始-程序-FLUENT INC-Set Environment" 另外设置完环境变量需要重启一下,否则仍会提示找不到环境变量。 Q4:使用Fluent 和Gambit 需要注意什么问题? A. 安装好FLUENT 和GAMBIT 最好设置一下用户默认路径 推荐设置办法,在非系统分区建一个目录,如d:\users a) win2k 用户在控制面板-用户和密码-高级-高级,在使用fluent 用户的配置文件 修改本地路径为d:\users,重起到该用户运行命令提示符,检查用户路径是否修改 b) xp 用户,把命令提示符发送到桌面快捷方式,右键单击命令提示符快捷方式 在快捷方式-起始位置加入D:\users,重起检查

fluent湍流模型

第十章湍流模型 本章主要介绍Fluent所使用的各种湍流模型及使用方法。 各小节的具体内容是: 10.1 简介 10.2 选择湍流模型 10.3 Spalart-Allmaras 模型 10.4 标准、RNG和k-e相关模型 10.5 标准和SST k-ω模型 10.6 雷诺兹压力模型 10.7 大型艾迪仿真模型 10.8 边界层湍流的近壁处理 10.9 湍流仿真模型的网格划分 10.10 湍流模型的问题提出 10.11 湍流模型问题的解决方法 10.12 湍流模型的后处理 10.1 简介 湍流出现在速度变动的地方。这种波动使得流体介质之间相互交换动量、能量和浓度变化,而且引起了数量的波动。由于这种波动是小尺度且是高频率的,所以在实际工程计算中直接模拟的话对计算机的要求会很高。实际上瞬时控制方程可能在时间上、空间上是均匀的,或者可以人为的改变尺度,这样修改后的方程耗费较少的计算机。但是,修改后的方程可能包含有我们所不知的变量,湍流模型需要用已知变量来确定这些变量。 FLUENT 提供了以下湍流模型: ·Spalart-Allmaras 模型 ·k-e 模型 -标准k-e 模型 -Renormalization-group (RNG) k-e模型 -带旋流修正k-e模型 ·k-ω模型 -标准k-ω模型 -压力修正k-ω模型 -雷诺兹压力模型 -大漩涡模拟模型 10.2 选择一个湍流模型 不幸的是没有一个湍流模型对于所有的问题是通用的。选择模型时主要依靠以下几点:流体是否可压、建立特殊的可行的问题、精度的要求、计算机的能力、时间的限制。为了选择最好的模型,你需要了解不同条件的适用范围和限制 这一章的目的是给出在FLUENT中湍流模型的总的情况。我们将讨论单个模型对cpu 和内存的要求。同时陈述一下一种模型对那些特定问题最适用,给出一般的指导方针以便对于你需要的给出湍流模型。 10.2.1 雷诺平均逼近vs LES 在复杂形体的高雷诺数湍流中要求得精确的N-S方程的有关时间的解在近期内不太可能实现。两种可选择的方法用于把N-S方程不直接用于小尺度的模拟:雷诺平均和过滤。

fluent经验

Fluent 问题集锦 问题1: 如果体网格做好后,感觉质量不好,然后将体网格删除,在其面上重新作网格,结果发现网格都脱离面,不再附体了,比其先前的网格质量更差了. 原因: 删除体网格时,也许连同较低层次的网格都删除了.上面的脱离面可能是需要的体的面. 解决方法: 重新生成了面,在重新划分网格 问题2: 在gambit下做一虚的曲面的网格,结果面上的网格线脱离曲面,由此产生的体网格出现负体积. 原因: 估计是曲面扭曲太严重造成的 解决方法: 可以试试分区域划分体网格,先将曲面分成几个小面,生成各自的面网格,再划体网格。 问题3: 当好网格文件的时候,并检查了网格质量满足要求,但输出*.msh时报错误. 原因: 应该不是网格数量和尺寸.可能是在定义边界条件或continuum type时出了问题. 解决方法: 先把边界条件删除重新导出看行不行.其二如果有两个几何信息重合在一起, 也可能出现上诉情况,将几何信息合并掉. 问题4: 当把两个面(其中一个实际是由若干小面组成,将若干小面定义为了group了)拼接在一起,也就是说两者之间有流体通过,两个面各属不同的体,网格导入到fluent时,使用interface时出现网格check的错误,将interface的边界条件删除,就不会发生网格检查的错误.如何将两个面的网格相连. 原因: interface后的两个体的交接面,fluent以将其作为内部流体处理(非重叠部分默认为wall,合并后网格会在某些地方发生畸变,导致合并失败.也可能准备合并的两个面几何位臵有误差,应该准确的在同一几何位臵(合并的面大小相等时),在合并之前要合理分块。 解决方法: 为了避免网格发生畸变(可能一个面上的网格跑到另外的面上了),可以一面网格粗,一面网格细,避免; 再者就是通过将一个面的网格直接映射到另一面上的,两个面默认为interior.也可以将网格拼接一起. 上述语言有些模糊不清,仅供参考,并希望高手批评指正,^_^

Fluent经典问题及答疑2

Fluent经典问题及答疑2 51 对于出口有回流的问题,在出口应该选用什么样的边界条件(压力出口边界条件、质量出口边界条件等)计算效果会更好?(#42) 52 对于不同求解器,离散格式的选择应注意哪些细节?实际计算中一阶迎风差分与二阶迎风差分有什么异同?(#69) 53 对于FLUENT的耦合解算器,对时间步进格式的主要控制是Courant数(CFL),那么Courant 数对计算结果有何影响?(#43) 54 在分离求解器中,FLUENT提供了压力速度耦和的三种方法:SIMPLE,SIMPLEC及PISO,它们的应用有什么不同?(#44) 55 对于大多数情况,在选择选择压力插值格式时,标准格式已经足够了,但是对于特定的某些模型使用其它格式有什么特别的要求? (#60) 56 计算流体力学中在设定初始条件和边界条件的时候总是要先选择一组湍流参数,并给出其初值。如何选择并给出这些初值呢?有什么经验公式或者别的好的办法吗?(#73) 57 讨论在数值模拟过程中采用四面体网格计算效果好,还是采用六面体网格更妙呢?(#70) 58 如何将自己用C语言编辑的程序导入到FLUENT中?在利用UDF编写程序时需注意哪些问题?(#157) 59 在UDF中compiled型的执行方式和interpreted型的执行方式有什么不同?(#72) 60 在用gambit的时候,导入pro/e的stp文件后,在消去最短边的时候,有些最短边不能消去,其是空间线段,用面merge的方法和连接点的方法都不行,请问该怎么消去这类短边?(#144) 61 FLUENT help和GAMBIT help能教会我们(特别是刚入门的新手)学习什么基本知识?(#126) 62 FLUENT如何做汽车外流场计算的模拟?并且怎么可以得到汽车的阻力系数和升力系数?(#170) 63 FLUENT模拟飞行器外部流场,最高MA多少时就不准确了?MA达到一定的程度做模拟需注意哪些问题?(#125) 64 在用gambit建模,保存成*.msh文件时总是出现No entity的错误:Continuum Entity fluid does not contain any valid entity and is not written! Boundary Entity wall does not contain any validentity and is not written! 不知道是什么问题?产生的原因是什么?如何解决?(#150) 65 在做燃烧模拟的时候,入口燃料温度定义为蒸发/离解开始时的温度(也就是,为离散相材料指定的蒸发温度“Vaporization Temperature”),这是指水分蒸发温度吗?一般是多少?(#196) 66 在计算煤粉燃烧时遇到这样的问题: Warning: volatile + combustible fraction for lignite is greater than 1.0shell conduction zones 如何解决? 67 FLUENT控制方程是无因次的还是有因次的?如果是无因次的,怎么无因次的? 68 做飞机设计时,经常计算一些翼型,可是经常出现计算出来的阻力是负值,出现负值究竟是什么原因,是网格的问题还是计算参数设置的问题?(#71) 69 FLUENT中的Turbulent intensify是如何定义的?该值应该是小于等于100%,可是我的计算中该值达到400%,不知为何? 70 边界条件中湍流强度怎么设置:入口边界条件中的湍流强度和出口边界条件中的回流湍流强度怎么设置?是取默认值10%吗?(#135) 71 关于Injection中的Total Flow rate:injection 选surface,此时选了好几个面(面积不一定完全相同,但颗粒的入口速度相同),那Total Flow Rate 是指几个面的总流量还是某一个面的啊?只能处理完全相同的面吗?(#160) 72 FLUENT中能不能做插值:在ansys中的模型节点坐标和FLUENT中模型的节点坐标不一致,能

CFD讲义-湍流模型

第三章,湍流模型 第一节, 前言 湍流流动模型很多,但大致可以归纳为以下三类: 第一类是湍流输运系数模型,是Boussinesq 于1877年针对二维流动提出的,将速度脉动的二阶关联量表示成平均速度梯度与湍流粘性系数的乘积。即: 2 1 21 x u u u t ??=''-μρ 3-1 推广到三维问题,若用笛卡儿张量表示,即有: ij i j j i t j i k x u x u u u δρμρ32 -??? ? ????+ ??=''- 3-2 模型的任务就是给出计算湍流粘性系数t μ的方法。根据建立模型所需要的微分方程的数目,可以分为零方程模型(代数方程模型),单方程模型和双方程模型。 第二类是抛弃了湍流输运系数的概念,直接建立湍流应力和其它二阶关联量的输运方程。 第三类是大涡模拟。前两类是以湍流的统计结构为基础,对所有涡旋进行统计平均。大涡模拟把湍流分成大尺度湍流和小尺度湍流,通过求解三维经过修正的Navier-Stokes 方程,得到大涡旋的运动特性,而对小涡旋运动还采用上述的模型。 实际求解中,选用什么模型要根据具体问题的特点来决定。选择的一般原则是精度要高,应用简单,节省计算时间,同时也具有通用性。 FLUENT 提供的湍流模型包括:单方程(Spalart-Allmaras )模型、双方程模型(标准κ-ε模型、重整化群κ-ε模型、可实现(Realizable)κ-ε模型)及雷诺应力模型和大涡模拟。 湍流模型种类示意图 包含更多 物理机理 每次迭代 计算量增加 提的模型选 RANS-based models

第二节,平均量输运方程 雷诺平均就是把Navier-Stokes 方程中的瞬时变量分解成平均量和脉动量两部分。对于速度,有: i i i u u u '+= 3-3 其中,i u 和i u '分别是平均速度和脉动速度(i=1,2,3) 类似地,对于压力等其它标量,我们也有: φφφ'+= 3-4 其中,φ表示标量,如压力、能量、组分浓度等。 把上面的表达式代入瞬时的连续与动量方程,并取平均(去掉平均速度i u 上的横线),我们可以把连续与动量方程写成如下的笛卡儿坐标系下的张量形式: 0)(=?? +??i i u x t ρρ 3-5 () j i j l l ij i j j i j i i u u x x u x u x u x x p Dt Du ''-?? +???????????? ????-??+????+??-=ρδμρ32 3-6 上面两个方程称为雷诺平均的Navier-Stokes (RANS )方程。他们和瞬时Navier-Stokes 方程有相同的形式,只是速度或其它求解变量变成了时间平均量。额外多出来的项j i u u ''-ρ是雷诺应力,表示湍流的影响。如果要求解该方程,必须模拟该项以封闭方程。 如果密度是变化的流动过程如燃烧问题,我们可以用法夫雷(Favre )平均。这样才可以求解有密度变化的流动问题。法夫雷平均就是出了压力和密度本身以外,所有变量都用密度加权平均。变量的密度加权平均定义为: ρρ/~ Φ=Φ 3-7 符号~表示密度加权平均;对应于密度加权平均值的脉动值用Φ''表示,即有: Φ''+Φ=Φ~ 。很显然,这种脉动值的简单平均值不为零,但它的密度加权平均值等于零,即: 0≠Φ'', 0=Φ''ρ Boussinesq 近似与雷诺应力输运模型 为了封闭方程,必须对额外项雷诺应力j i u u ''-ρ进行模拟。一个通常的方法是应用Boussinesq 假设,认为雷诺应力与平均速度梯度成正比,即: ij i i t i j j i t j i x u k x u x u u u δμρμρ)(32 ??+-??? ? ????+??=''- 3-8 Boussinesq 假设被用于Spalart-Allmaras 单方程模型和ε-k 双方程模型。Boussinesq 近似 的好处是与求解湍流粘性系数有关的计算时间比较少,例如在Spalart-Allmaras 单方程模型中,只多求解一个表示湍流粘性的输运方程;在ε-k 双方程模型中,只需多求解湍动能k 和耗散率ε两个方程,湍流粘性系数用湍动能k 和耗散率ε的函数。Boussinesq 假设的缺点是认为湍

相关文档
最新文档