您好,欢迎来到年旅网。
搜索
您的当前位置:首页fluent常见问题集锦

fluent常见问题集锦

来源:年旅网


关于wall-shadow

这个shadow从何而来?其边界层应当如何设定?

你定义了属性不同的两个计算域(例如A 和 B区域),两个区域形成共同的交界面。其中A计算域的面取以前的名称,而 B 计算域的面则取该名称.shadow 的名字。在边界条件中将该表面定义为 interior,则可以将该两区域结合成相连的计算域。

请问shadow 是自动生成的还是要自己去定义? shadow面通常在两种情况下出现:

1.当一个 wall 两面都是流体域时,那么 wall 的一面被定义为 wall.1,wall 的另一面就会被软件自动定义为wall.1_shadow,它的特性和wall是一样的,有关它的处理和wall面没有什么区别;

2.另外一种情况就是当你在 fluent 软件中,把周期性面的周期特性除去时,也会出现一个 shadow 面,这种情况比较好理解,shadow面和原来的面分别构成周期性的两个面.

shadow也出现在wall的一面是流体,而另一面是固体的情况。此时可以进行流体-固体的耦合计算。

初始化和边界条件

1 FLUENT 的初始化面板中有一项是设置从哪个地方开始计算(compute from),选择从不同的边界开始计算有很大的区别吗?该怎样根据具体问题选择从哪里计算呢?比如有两个速度入口A 和B,还有压力出口等等,是选速度入口还是压力出口?如果选速度入口,有两个,该选哪个呀?有没有什么原则标准之类的东西?

一般是选取 ALL ZONE,即所有区域的平均处理,通常也可选择有代表性的进口(如多个进口时)进行初始化。对于一般流动问题,初始值的设定并不重要,因为计算容易收敛。但当几何条件复杂,而且流动速度高变化快(如音速流动),初始条件要仔细选择。如果不收敛,还应试验不同的初始条件,甚至逐次改变边界条件最后达到所要求的条件。

2 要判断自己模拟的结果是否是正确的,似乎解的收敛性要比那些初始条件和边界条件更重要,可以这样理解吗?也就是说,对于一个具体的问题,初始条件和边界条件的设定并不是唯一的,为了使解收敛,需要不断调整初始条件和边界条件直到解收敛为止,是吗?如果解收敛了,是不是就可以基本确定模拟的结果是正确的呢? 对于一个具体的问题,边界条件的设定当然是唯一的,只不过初始化时可以选择不同的初始条件(指定常流) ,为了使解的收敛比较好,我一般是逐渐的调节边界条件到额定值( \"额定值\"是指你题目中要求的入口或出口条件,例如计算一个管内流动,要求入口压力和温度为10MPa和3000K,那么我开始叠代时选择入口压力和温度为 1MPa 和 500K(假设,这看你自己问题了) ,等流场计算的初具规模、收敛的较好了,

再逐渐调高压力和温度,经过好几次调节后最终到达额定值10MPa 和3000K,这样比一开始就设为10MPa和3000K收敛的要好些)这样每次叠代可以比较容易收敛,每次调节后不用再初始化即自动调用上次的解为这次的初始解,然后继续叠代。即使解收敛了,这并不意

味着就可以基本确定模拟的结果是正确的,还需要和实验的结果以及理论分析结果进行对比分析。

关于残差

残差——是cell各个Face的通量之和,当收敛后,理论上当单元体内没有源相时各个面流入的通量也就是对物理量的输运之和应该为0。最大残差或者RSM残差反映流场与所要模拟流场(指收敛后应该得到的流场,当然收敛后得到的流场与真实流场之间还是存在一定的差距)的差距,残差越小越好,由于存在数值精度问题,不可能得到 0 残差,对于单精度计算一般应该低于初始残差 1e-03 以下为好,但还要看具体问题。

一般在Fluent里可以添加进出口流量监控(print or plot) ,当残差收敛到一定程度后,还要看进出口流量是否达到稳定平衡,才可以确认收敛与否。

残差在较高位震荡,需要检查边界条件是否合理,其次检查初始条件是否合适,比如在有激波的流场,初始条件不合适,会带来流场的震荡。有时流场可能有分离或者回流,这本身是非定常现象,计算时残差会在一定程度上发生震荡,这时如果进出口流量是否达到稳定平衡,也可以认为流场收敛了(前提是要消除其他不合理因数) 。另外Fluent缺损地采用多重网格,在计算后期,将多重网格设置为零可以避免一些波长的残差在细网格上发生震荡。

什么是松弛因子

由于流体力学中要求解非线性的方程,在求解过程中,控制变量的变化是很必要的,这就通过松弛因子来实现的.它控制变量在每次迭代中的变化.也就是说,变量的新值为原值加上变化量乘以松弛因子. 如:

A1=A0+B*DETA A1 新值 A0 原值 B 松弛因子 DETA 变化量

松弛因子可控制收敛的速度和改善收敛的状况! 为1,相当于不用松弛因子

大于1,为超松弛因子,加快收敛速度 小于1,欠松弛因子,改善收敛的条件

一般来讲,大家都是在收敛不好的时候,采用一个较小的欠松弛因子。

Fluent里面用的是欠松弛,主要防止两次迭代值相差太大引起发散。松弛因子的值在0~1之间,越小表示两次迭代值之间变化越小,也就越稳定,但收敛也就越慢

双出口问题

fluent里关于双出口的边界条件设定据有所知只有两种方法:1两个出口都采用outflow方式,然后设定两个出口的流量比重(默认为1:1);2,两个出口都采用压力出口边界条件,分别给定压力。至于进口,速度和压力都可以的。 如果发现有更好的方法请告诉我一下好吧

若用split剖分体时,要选择“connected”选项,否则FLUENT会将交界面默认为壁面(wall)。

如果两个体是一个连通域,那么最好保证分体划分网格时,公共的面要相互关联,使两个体在这个面上的网格节点坐标一致

GAMBIT学习资料

首先,在网格划分之前,你最好从数值仿真的全局出发,比如精度要求,计算时间要求,机子配置等等,思考一下是使用结构网格,还是非结构网格,抑或是混合网格;因为这关系到接下来的网格划分布置和划分策略。

然后,在确定了网格类型之后,就是根据模型情况,构思一下网格拓扑,就是自己要明确最终想得到什么样的网格,比如翼型网格,是C型,还是O型;一个圆面是想得到“内方外圆”的铜钱币类型的网格,还是一般的网格,等等。这一步有时可能不太清楚,自己有时都不知道什么样的网格拓扑是合适的,那就需要平时多看看这方面的帖子,收集一些划分比较好的网格图片,体会体会。确定了网格拓扑之后,对模型进行划分网格前的准备,比如分割啊,对尺度小对计算结果影响不大的次要几何进行简化,等等。

接着,划分网格。划分网格都是从线网格,面网格,到体网格的;线网格的划分,也就是网格节点的布置,对网格的质量影响比较大,比如歪斜,长宽比,等等,节点密度在GAMBIT中可以通过很多的方法进行控制调整,大家可以看

相关的资料。面网格的划分,非结构的网格咱就不说了,结构网格可能有时比较麻烦,这就要求大家最好对那几种网格策略比较了解,比如Quad-Map划分方法所适用的模型形状,在划分的时候对顶点类型及网格节点数的要求(Quad-Map,适用于边数大于或等于4的面,顶点要求为4个End类型,其他为Side类型,对应边的网格节点数必须相等),以此类推,其他的划分方法也有这方面的要求以及适合的形状。当出现了不能划分的时候,可以根据GAMBIT给的提示进行修改顶点类型或网格节点数来满足划分方法的要求。如果实在不能划分,则退而求其次,改用其他方法进行划分或者对面进行分割;等等。关于体网格的划分,与面网格划分所要注意的东西类似。

另外,根据我个人的经验,如果模型比较简单规则,大家最好尽量使用结构网格,比较容易划分,计算结果也比较好,计算时间也相对较短;对于复杂的几何,在尽量少的损失精度的前提下,尽量使用分块混合网格。在使用分块混合网格时注意两点:1)近壁使用边界层网格,这对于近壁区的计算精度很有帮助,尽管使用足够多的非结构网格可以得到相同的结果(倘若在近壁区使用网格不当,那个湍流粘性比超过限定值的警告就可能出现);2)分块网格在分块相邻的地方一定要注意网格的衔接要平滑,相邻网格的尺寸不能相差太大,尽量控制在1.2左右。否则在计算时容易出现不收敛或者高连续方程残差的问题。

最后,一定要记得预览检查网格的质量。如果网格的质量不好,你就不要抱着侥幸的心理交给Fluent计算了,那肯定是算不好的。所以划分网格要有耐心,不断地调整,直到满足要求为止。原本我以为这一条大家都很在意,经过一段时间的论坛问题观察,其实不然,有很多版友随便划分个网格就急切地导入到Fluent中计算,出问题是理所当然的,但提出的很多问题,有时实在让人为力,帮不上忙。再说一遍,一定要检查网格质量,如果不满足要求,就不要导入到Fluent中计算了。

一点小知识:

1. Fluent检查网格质量的方法,网格导入Fluent中之后,grid->check,可以看看网格大致情况,有无负体积,等等;在Fluent窗口输入,grid quality然后回车,Fluent会显示最主要的几个网格质量。

在这里我谈一下,Fluent计算对网格质量的几个主要要求: 1)网格质量参数:

Skewness (不能高于0.95,最好在0.90以下;越小越好)

Change in Cell-Size (也是Growth Rate,最好在1.20以内,最高不能超过1.40)

Aspect Ratio (一般控制在5:1以内,边界层网格可以适当放宽) Alignment with the Flow(就是估计一下网格线与流动方向是否一致,要求尽量一致,以减少假扩散)

2)网格质量对于计算收敛的影响:

高Skewness的单元对计算收敛影响很大,很多时候计算发散的原因就是网格中的仅仅几个高Skewness的单元。

举个例子:共有112,000个单元,仅有7个单元的Skewness超过了0.95,在进行到73步迭代时计算就发散了!

高长宽比的单元使离散方程刚性增加,使迭代收敛减慢,甚至困难。也就是说,Aspect Ratio尽量控制在推荐值之内。 3)网格质量对精度的影响:

相邻网格单元尺寸变化较大,会大大降低计算精度,这也是为什么连续方程高残差的原因。

网格线与流动是否一致也会影响计算精度。 4)网格单元形状的影响:

非结构网格比结构网格的截断误差大,因此,为提高计算精度计,请大家尽量使用结构网格,对于复杂几何,在近壁这些对流动影响较大的地方尽量使用结构网格,在其他次要区域使用非结构网格。

2. 不要使用那些书上写的y+与yp的计算公式,那个公式一般只能提供数量级上的参考。推荐大家使用NASA的粘性网格间距计算器,设定你想要的y+值,它就能给你计算出第一层网格高度,与计算结果的y+很接近。 http://geolab.larc.nasa.gov/APPS/YPlus/

3. 关于边界层网格高度与长度的比例,有本CFD书上说,大概在1/sqrt(Re)就可以;另外,也有这种说法,在做粘性计算时,这个比值可以在100-1000之间,无粘有激波计算时,这个比值要相应小点儿,在10-100之间,因为要考虑激波捕捉精度问题。

4. Gambit中相关默认设置的修改,请参考本站帖子,Fluent经典文档White Papaers中的Gambit Defaults。

http://www.efluid.com.cn/dvbbs/dispbbs.asp?BoardID=61&ID=1302&replyID=&skin=1

GAMBIT相关资料:

以下我推荐的这些资料,我觉得都是非常好的,学习Gambit划分网格,有以下的这些资料应该就足够了。对于初学者,可以先好好看看Gambit中文帮助,以及线网格与面网格划分及Gambit的培训讲稿;对于对Gambit已经有一定了解的版友,可以看看Size Function和剩下的讲稿资料,对Gambit有一个全新的认识。另外,如果大家在划分网格时出了问题,请先看看Gambit的用户手册,学会自己解决问题;解决不了,再发帖提问。对于Gambit的一些琐碎的东西,建议大家好好看看Gambit Tips & Tricks这个讲稿,你把Tips和Tricks翻译一下,就会明白我的用意了。对于要进行复杂几何网格划分的版友,可以看看另一个讲稿Meshing Complex Geometry,应该会比较有帮助。

可以在控制台命令行输入display/ set/color回车之后就显示哪些可以设置的选择,敲进比如background之后就可以改变了

如何更改gambit的背景颜色

edit--defaults--Graphics在variable里面双击WINDOWS_BACKGROUND_COLOR,将value的值该为其他颜色的英文名称即可

Fluent经典问题1

1 对于刚接触到FLUENT新手来说,面对铺天盖地的学习资料和令人难读的FLUENT help,如何学习才能在最短的时间内入门并掌握基本学习方法呢? 学习任何一个软件,对于每一个人来说,都存在入门的时期。认真勤学是必须的,什么是最好的学习方法,我也不能妄加定论,在此,我愿意将我三年前入门FLUENT心得介绍一下,希望能给学习FLUENT的新手一点帮助。

由 于当时我需要学习FLUENT来做毕业设计,老师给了我一本书,韩占忠的《FLUENT流体工程仿真计算实例与应用》,当然,学这本书之前必须要有两个条 件,第一,具有流体力学的基础,第二,有FLUENT安装软件可以应用。然后就照着书上二维的计算例子,一个例子,一个步骤地去学习,然后学习三维,再针 对具体你所遇到的项目进行针对性的计算。不能急于求成,从前处理器

GAMBIT,到通过FLUENT进行仿真,再到后处理,如TECPLOT,进行循序渐 进的学习,坚持,效果是非常显著的。如果身边有懂得FLUENT的老师,那么遇到问题向老师请教是最有效的方法,碰到不懂的问题也可以上网或者查找相关书 籍来得到答案。另外我还有本《计算流体动力学分析》王福军的,两者结合起来学习效果更好。

2 CFD计算中涉及到的流体及流动的基本概念和术语:理想流体和粘性流体;牛顿流体和非牛顿流体;可压缩流体和不可压缩流体;层流和湍流;定常流动和非定常流动;亚音速与超音速流动;热传导和扩散等。

http://www.efluid.com.cn/dvbbs/viewFile.asp?BoardID=61&ID=1411 A.理想流体(Ideal Fluid)和粘性流体(Viscous Fluid):

流体在静止时虽不能承受切应力,但在运动时,对相邻的两层流体间的相对运动,即相对滑动速度却是有抵抗的,这种抵抗力称为粘性应力。流体所具备的这种抵抗两 层流体相对滑动速度,或普遍说来抵抗变形的性质称为粘性。粘性的大小依赖于流体的性质,并显著地随温度变化。实验表明,粘性应力的大小与粘性及相对速度成 正比。当流体的粘性较小(实际上最重要的流体如空气、水等的粘性都是很小的),运动的相对速度也不大时,所产生的粘性应力比起其他类型的力如惯性力可忽略 不计。此时我们可以近似地把流体看成无粘性的,这样的流体称为理想流体。十分明显,理想流体对于切向变形没有任何抗拒能力。这样对于粘性而言,我们可以将流体分为理想流体和粘性流体两大类。应该强调指出,真正的理想流体在客观实际中是不存在的,它只是实际流体在某些条件下的一种近似模型。

B.牛顿流体(Newtonian Fluid)和非牛顿流体(non-Newtonian Fluid):

日常生活和工程实践中最常遇到的流体其切应力与剪切变形速率符合下式的线性关系,称为牛顿流体。而切应力与变形速率不成线性关系者称为非牛顿流体。图2-1(a)中绘出了切应力与变形速率的关系曲线。其中符合上式的线性关系者为牛顿流体。其他为非牛顿流体,非牛顿流体中又因其切应力与变形速率

关系特点分为膨胀性流体(Dilalant),拟塑性流体(Pseudoplastic),具有屈服应力的理想宾厄流体(Ideal Bingham Fluid)和塑性流体(Plastic Fluid)等。通常油脂、油漆、牛奶、牙膏、血液、泥浆等均为非牛顿流体。非牛顿流体的研究在化纤、塑料、石油、化工、食品及很多轻工业中有着广泛的应用。图2-1(b)还显示出对于有些非牛顿流体,其粘滞特性具有时间效应,即剪切应力不仅与变形速率有关而且与作用时间有关。当变形速率保持常量,切应力随时间增大,这种非牛顿流体称为震凝性流体(Rheopectic Fluid)。当变形速率保持常量而切应力随时间减小的非牛顿流体则称为触变性流体(Thixotropic Fluid)。 C.可压缩流体(Compressible Fluid)和不可压缩流体(Incompressible Fluid):

在 流体的运动过程中,由于压力、温度等因素的改变,流体质点的体积(或密度,因质点的质量一定),或多或少有所改变。流体质点的体积或密度在受到一定压力差 或温度差的条件下可以改变的这个性质称为压缩性。真实流体都是可以压缩的。它的压缩程度依赖于流体的性质及外界的条件。例如水在100个大气压下,容积缩小0.5%,温度从20°变化到100°,容积降低4%。 因此在一般情况下液体可以近似地看成不可压的。但是在某些特殊问题中,例如水中爆炸或水击等问题,则必须把液体看作是可压缩的。气体的压缩性比液体大得 多,所以在一般情形下应该当作可压缩流体处理。但是如果压力差较小,运动速度较小,并且没有很大的温度差,则实际上气体所产生的体积变化也不大。此时,也 可以近似地将气体视为不可压缩的。

在可压缩流体的连续方程中含密度,因而可把密度视为连续方程中的变量进行求解,再根据气体的状态方程求出压力。不可压流体的压力场是通过连续方程间接规定的。由于没有直接求解压力的方程,不可压流体的流动方程的求解具有其特殊的困难。

D. 层流(Laminar Flow)和湍流(Turbulent Flow):

实 验表明,粘性流体运动有两种形态,即层流和湍流。这两种形态的性质截然不同。层流是流体运动规则,各部分分层流动互不掺混,质点的轨线是光滑的,而且流动 稳定。湍流的特征则完全相反,流体运动极不规则,各部分激烈掺混,质点的轨线杂乱无章,而且流场极不稳定。这两种截然不同的运动形态在一定条件下可以相互 转化。

E. 定常流动(Steady Flow)和非定常流动(Unsteady Flow):

以 时间为标准,根据流体流动的物理量(如速度、压力、温度等)是否随时间变化,将流动分为定常与非定常两大类。当流动的物理量不随时间变化,为定常流动;反之称为非定常流动。定常流动也称为恒定流动,或者稳态流动;非定常流动也称为非恒定流动、非稳态流动。许多流体机械在起动或关机时的流体流动一般是非定常流动,而正常运转时可看作是定常流动。 F. 亚音速流动(Subsonic)与超音速流动(Supersonic):

当气流速度很大,或者流场压力变化很大时,流体就受到了压速性的影响。马赫数定义为当地速度与当地音速之比。当马赫数小于1时,流动为亚音速流动;当马赫数远远小于1(如M<0.1)时,流体的可压速性及压力脉动对密度变化影响都可以忽略。当马赫数接近1时候(跨音速),可压速性影响就显得十分重要了。如果马赫数大于1,流体就变为超音速流动。FLUENT对于亚音速,跨音速以及超音速等可压流动都有模拟能力。

G. 热传导(Heat Transfer)及扩散(Diffusion):

除了粘性外,流体还有热传导及扩散等性质。当流体中存在温度差时,温度

高的地方将向温度低的地方传送热量,这种现象称为热传导。同样地,当流体混合物中存在组元的浓度差时,浓度高的地方将向浓度低的地方输送该组元的物质,这种现象称为扩散。

流 体的宏观性质,如扩散、粘性和热传导等,是分子输运性质的统计平均。由于分子的不规则运动,在各层流体间交换着质量、动量和能量,使不同流体层内的平均物 理量均匀化,这种性质称为分子运动的输运性质。质量输运宏观上表现为扩散现象,动量输运表现为粘性现象,能量输运表象为热传导现象。 理想流体忽略了粘性,即忽略了分子运动的动量输运性质,因此在理想流体中也不应考虑质量和能量输运性质——扩散和热传导,因为它们具有相同的微观机制

3 在数值模拟过程中,离散化的目的是什么?如何对计算区域进行离散化?离散化时通常使用哪些网格?如何对控制方程进行离散?离散化常用的方法有哪些?它们有什么不同?

首先说一下CFD的基本思想:把原来在时间域及空间域上连续的物理量的场,如速度场,压力场等,用一系列有限个离散点上的变量值的集合来代替,通过一定的原则和方式建立起关于这些离散点上场变量之间关系的代数方程组,然后求解代数方程组获得场变量的近似值。 然后,我们再讨论下这些题目。

离散化的目的: 我们知道描述流体流动及传热等物理问题的基本方程为偏微分方程,想要得它们的解析解或者近似解析解,在绝大多数情况下都是非常困难的,甚至是不可能的,就 拿我们熟知的Navier-Stokes方程来说,现在能得到的解析的特解也就70个左右;但为了对这些问题进行研究,我们可以借助于我们已经相当成熟的 代数方程组求解方法,因此,离散化的目的简而言之,就是将连续的偏微分方程组及其定解条件按照某种方法遵循特定的规则在计算区域的离散网格上转化为代数方 程组,以得到连续系统的离散数值逼近解。

计算区域的离散及通常使用的网格: 在对控制方程进行离散之前,我们需要选择与控制方程离散方法相适应的计算区域离散方法。网格是离散的基础,网格节点是离散化的物理量的存储位置,网格在离 散过程中起着关键的作用。网格的形式和密度等,对数值计算结果有着重要的影响。一般情况下,二维问题,有三角形单元和四边形,三维问题中,有四面体,六面 体,棱锥体,楔形体及多面体单元。网格按照常用的分类方法可以分为:结构网格,非结构网格,混合网格;也可以分为:单块网格,分块网格,重叠网格;等等。 上面提到的计算区域的离散方法要考虑到控制方程的离散方法,比如说:有限差分法只能使用结构网格,有限元和有限体积法可以使用结构网格也可以使用非结构网格。

控制方程的离散及其方法:上面已经提 到了离散化的目的,控制方程的离散就是将主控的偏微分方程组在计算网格上按照特定的方法离散成代数方程组,用以进行数值计算。按照应变量在计算网格节点之 间的分布假设及推到离散方程的方法不同,控制方程的离散方法主要有:有限差分法,有限元法,有限体积法,边界元法,谱方法等等。这里主要介绍最常用的有限 差分法,有限元法及有限体积法。(1)有限差分法(Finite Difference Method,简称FDM)是数值方法中最经典的方法。它是将求解域划分为差分网格,用有限个网格节点代替连续

的求解域,然后将偏微分方程(控制方程)的 导数用差商代替,推导出含有离散点上有限个未知数的差分方程组。求差分方程组(代数方程组)的解,就是微分方程定解问题的数值近似解,这是一种直接将微分 问题变为代数问题的近似数值解法。这种方法发展较早,比较成熟,较多用于求解双曲型和抛物型问题(发展型问题)。用它求解边界条件复杂,尤其是椭圆型问题 不如有限元法或有限体积法方便。(2)有限元法(Finite Element Method,简称FEM)与有限差分法都是广泛应用的流体力学数值计算方法。有限元法是将一个连续的求解域任意分成适当形状的许多微小单元,并于各小单 元分片构造插值函数,然后根据极值原理(变分或加权余量法),将问题的控制方程转化为所有单元上的有限元方程,把总体的极值作为个单元极值之和,即将局部 单元总体合成,形成嵌入了指定边界条件的代数方程组,求解该方程组就得到各节点上待求的函数值。有限元法的基础是极值原理和划分插值,它吸收了有限差分法 中离散处理的内核,又采用了变分计算中选择逼近函数并对区域积分的合理方法,是这两类方法相互结合,取长补短发展的结果。它具有广泛的适应性,特别适用于 几何及物理条件比较复杂的问题,而且便于程序的标准化。对椭圆型问题(平衡态问题)有更好的适应性。有限元法因求解速度较有限差分法和有限体积法满,因 此,在商用CFD软件中应用并不普遍,目前的商用CFD软件中,FIDAP采用的是有限元法。而有限元法目前在固体力学分析中占绝对比例,几乎所有的固体 力学分析软件都是采用有限元法。(3)有限体积法(Finite Volume Method,简称FVM)是近年发展非常迅速的一种离散化方法,其特点是计算效率高。目前在CFD领域得到了广泛的应用。其基本思路是:将计算区域划分 为网格,并使每个网格点周围有一个互不重复的控制体积;将待解的微分方程(控制方程)对每一个控制体积分,从而得到一组离散方程。其中的未知数是网格点上 的因变量,为了求出控制体的积分,必须假定因变量值在网格点之间的变化规律。从积分区域的选取方法看来,有限体积法属于加权余量法中的子域法,从未知解的 近似方法看来,有限体积法属于采用局部近似的离散方法。简言之,子域法加离散,就是有限体积法的基本方法。

各种离散化方法的区别:简短而言,有限元法,将物理量存储在真实的网格节点上,将单元看成由周边节点及型函数构成的统一体;有限体积法往往是将物理量存储在网格单元的中心点上,而将单元看成围绕中心点的控制体积,或者在真实网格节点上定义和存储物理量,而在节点周围构造控制题。

http://www.efluid.com.cn/dvbbs/viewFile.asp?BoardID=61&ID=1409

4 常见离散格式的性能的对比(稳定性、精度和经济性) 请参考王福军的书《计算流体动力学分析—CFD理论与应用》

离散格式 中心差分 一阶迎风 稳定性及稳定条件 条件稳定 Peclet小于等于2 绝对稳定 精度与经济性 在不发生振荡的参数范围内,可以获得校准确的结果。 虽然可以获得物理上可接受的解,但当Peclet数较大时,假扩散较严

二阶迎风 混合格式 绝对稳定 绝对稳定 指数格式、乘方格式 绝对稳定 QUICK格式 条件稳定Peclet小于等于8/3 改进的QUICK格式 绝对稳定 重。为避免此问题,常需要加密计算网格。 精度较一阶迎风高,但仍有假扩散问题。 当Peclet小于等于2时,性能与中心差分格式相同。当Peclet大于2时,性能与一阶迎风格式相同。 主要适用于无源项的对流扩散问题,对有非常数源项的场合,当Peclet数较高时有较大误差。 可以减少假扩散误差,精度较高,应用较广泛,但主要用于六面体和四边形网格。 性能同标准QUICK格式,只是不存在稳定性问题。

5 在利用有限体积法建立离散方程时,必须遵守哪几个基本原则? 1.控制体积界面上的连续性原则; 2.正系数原则;

3.源项的负斜率线性化原则; 4.主系数等于相邻节点系数之和原则。

http://www.efluid.com.cn/dvbbs/viewFile.asp?BoardID=61&ID=1410

6 流场数值计算的目的是什么?主要方法有哪些?其基本思路是什么?各自的适用范围是什么? 这个问题的范畴好大啊。简要的说一下个人的理解吧:流场数值求解的目的就是为了得到某个流动状态下的相关参数,这样可以节省实验经费,节约实验时间,并且 可以模拟一些不可能做实验的流动状态。主要方法有有限差分,有限元和有限体积法,好像最近还有无网格法和波尔兹曼法(格子法)。基本思路都是将复杂的非线 性差分/积分方程简化成简单的代数方程。相对来说,有限差分法对网格的要求较高,而其他的方法就要灵活的多

Fluent经典问题2 2008-05-29 17:53

7 可压缩流动和不可压缩流动,在数值解法上各有何特点?为何不可压缩流动在求解时反而比可压缩流动有更多的困难?

可压缩Euler及Navier-Stokes方程数值解

描述无粘流动的基本方程组是Euler方程组,描述粘性流动的基本方程组是Navier-Stokes方程组。用数值方法通过求解Euler方程和Navier-Stokes方程模拟流场是计算流体动力学的重要内容之一。由于飞行器设计实际问题中的绝大多数流态都具有较高的雷诺数,这些流动粘性区域很小,由对流作用主控,因此针对Euler方程发展的计算方法,在大多数情况下对Navier-Stokes方程也是有效的,只需针对粘性项用中心差分离散。

用数值方法求解无粘Euler方程组的历史可追溯到20世纪50年代,具有代表性的方法是1952年Courant等人以及19年Lax和Friedrichs提出的一阶方法。从那时开始,人们发展了大量的差分格式。Lax和Wendroff的开创性工作是非定常Euler(可压缩Navier-Stokes)方程组数值求解方法发展的里程碑。二阶精度Lax-Wendroff格式应用于非线性方程组派生出了一类格式,其共同特点是格式空间对称,即在空间上对一维问题是三点中心格式,在时间上是显式格式,并且该类格式是从时间空间混合离散中导出的。该类格式中最流行的是MacCormack格式。

采 用时空混合离散方法,其数值解趋近于定常时依赖于计算中采用的时间步长。尽管由时间步长项引起的误差与截断误差在数量级上相同,但这却体现了一个概念上的 缺陷,因为在计算得到的定常解中引进了一个数值参数。将时间积分从空间离散中分离出来就避免了上述缺陷。常用的时空分别离散格式有中心型格式和迎风型格式。空间二阶精度的中心型格式(一维问题是三点格式)就属于上述范畴。该类格式最具代表性的是Beam-Warming隐式格式和Jameson等人采用的Runge-Kutta时间积分方法发展的显式格式。迎风型差分格式共同特点是所建立起的特征传播特性与差分空间离散方向选择的关系是与无粘流动的物理特性一致的。第一个显式迎风差分格式是由Courant等人构造的,并推广为二阶精度和隐式时间积分方法。基于通量方向性离散的Steger-Warming和Van Leer矢通量方法可以认为是这类格式的一种。该类格式的第二个分支是Godunov方法,该方法在每个网格步求解描述相邻间断(Riemann问题)的当地一维Euler方程。根据这一方法Engquist、Osher和Roe等人构造了一系列引入近似Riemann算子的格式,这就是著名的通量差分方法。

对于没有大梯度的定常光滑流动,所有求解Euler方程格式的计算结果都是令人满意的,但当出现诸如激波这样的间断时,其表现确有很大差异。绝大多数最初发展起来的格式,如Lax-Wendroff格式中心型格式,在激波附近会产生波动。人们通过引入人工粘性构造了各种方法来控制和这些波动。在一个时期里,这类格式在复杂流场计算中得到了应用。然而,由于格式中含有自由参数,对不同问题要进行调整,不仅给使用上带来了诸多不便,而且格式对激波分辨率受到影响,因而其在复杂流动计算中的应用受到了一定。

另外一种方法是力图阻止数值波动的产生,而不是在其产生后再进行抑制。这种方法是建立在非线性器的概念上,这一概念最初由Boris和Book及Van Leer提出,并且通过Harten发展的总变差减小(TVD, Total Variation

Diminishing)的重要概念得以实现。通过这一途径,数值解的变化以非线性的方式得以控制。这一类格式的研究和应用,在20世纪80年代形成了一股发展浪潮。1988年,张涵信和庄逢甘利用热力学熵增原理,通过对差分格式修正方程式的分析,构造了满足熵增条件能够捕捉激波的无波动、无自由参数的耗散格式(NND格式)。该类格式在航空航天飞行器气动数值模拟方面得到了广泛应用。

1987年,Harten和Osher指出,TVD格式最多能达到二阶精度。为了突破这一精度上的引入了实质上无波动(ENO)格式的概念。该类格式“几乎是TVD”的,Harten因此推断这些格式产生的数值解是一致有界的。继Harten和Osher之后,Shu和Osher将ENO格式从一维推广到。J.Y.Yang在三阶精度ENO差分格式上也做了不少工作。1992年,张涵信另辟蹊径,在NND格式的基础上,发展了一种能捕捉激波的实质上无波动、无自由参数的三阶精度差分格式(简称ENN格式)。1994年,Liu、Osher和Chan发展了WENO(Weighted Essentially Non-Oscillatory)格式。WENO格式是基于ENO格式构造的高阶混合格式,它在保持了ENO格式优点的同时,计算流场中虚假波动明显减少。此后,Jiang提出了一种新的网格模板光滑程度的度量方法。目前高阶精度格式的研究与应用是计算流体力学的热点问题之一。

不可压缩Navier-Stokes方程求解

不可压缩流体力学数值解法有非常广泛的需求。从求解低速空气动力学问题,推进器内部流动,到水动力相关的液体流动以及生物流体力学等。满足这么广泛问题的研究,要求有与之相应的较好的物理问题的数学模型以及鲁棒的数值算法。

相 对于可压缩流动,不可压缩流动的数值求解困难在于,不可压缩流体介质的密度保持常数,而状态方程不再成立,连续方程退化为速度的散度为零的方程。由此,在 可压缩流动的计算中可用于求解密度和压力的连续方程在不可压缩流动求解中仅是动量方程的一个约束条件,由此求解不可压缩流动的压力称为一个困难。求解不可 压缩流动的各种方法主要在于求解不同的压力过程。

目前,主要有两类求解不可压缩流体力学的方法,原始变量方法和非原始变量方法。求解不可压缩流动的原始变量方法是将Navier-Stokes方程写成压力和速度的形式,进行直接求解,这种形式已被广为应用。非原始变量方法主要有Fasel提出的流函数-涡函数法、Aziz和Hellums提出的势函数-涡函数方法。在求解三维流动问题时,上述每一个方法都需要反复求解三个Possion方程,非常耗时。原始变量方法可以分为三类:第一种方法是Harlow和Welch首先提出的压力Possion方程方法。该方法首先将动量方程推进求得速度场,然后利用Possion方程求解压力,这一种方法由于每一时间步上需要求解Possion方程,求解非常耗时。第二种方法是Patanker和Spalding的SIMPLE(Semi-Implicit Method for Pressure-Linked Equation)法,它是通过动量方程求得压力修正项对速度的影响,使其满足速度散度等于零的条件作为压力控制方程。第三种方法是虚拟压缩方法,这一方法是Chorin于1967年提出的。该方法的核心就是通过在连续方程中引入一个虚拟压缩因子,再附加一项压力的虚拟时间导数,使压力显式地与速度联系起来,同时方程也变成了双曲型方程。这样,方程的形式就与求解可压缩流动的方程相似,因此,许多求解可压缩流动的成熟方法都可用于不可压缩流动的求解。 目前,由于基于求解压力Possion方程的方法非常复杂及耗时,难于求解具体的工程实际问题,因此用此方法解决工程问题的工作越来越少。工程上常用的主要

是SIMPLE方法和虚拟压缩方法。

8 什么叫边界条件?有何物理意义?它与初始条件有什么关系? 边界条件与初始条件是控制方程有确定解的前提。

边界条件是在求解区域的边界上所求解的变量或其导数随时间和地点的变化规律。对于任何问题,都需要给定边界条件。

初始条件是所研究对象在过程开始时刻各个求解变量的空间分布情况,对于瞬态问题,必须给定初始条件,稳态问题,则不用给定。对于边界条件与初始条件的处理,直接影响计算结果的精度。

在瞬态问题中,给定初始条件时要注意的是:要针对所有计算变量,给定整个计算域内各单元的初始条件;初始条件一定是物理上合理的,要靠经验或实测结

10 在数值计算中,偏微分方程的双曲型方程、椭圆型方程、抛物型方程有什么区别?

我们知道很多描述物理问题的控制方程最终就可以归结为偏微分方程,描述流动的控制方程也不例外。

从 数学角度,一般将偏微分方程分为椭圆型(影响域是椭圆的,与时间无关,且是空间内的闭区域,故又称为边值问题),双曲型(步进问题,但依赖域仅在两条特征 区域之间),抛物型(影响域以特征线为分界线,与主流方向垂直;具体来说,解的分布与瞬时以前的情况和边界条件相关,下游的变化仅与上游的变化相关;也称 为初边值问题);

从物理角度,一般将方程分为平衡问题(或稳态问题),时间步进问题。 两种角度,有这样的关系:椭圆型方程描述的一般是平衡问题(或稳态问题),双曲型和抛物型方程描述的一般是步进问题。

至于具体的分类方法,大家可以参考一般的偏微分方程专著,里面都有介绍。关于各种不同近似水平的流体控制方程的分类,大家可以参考张涵信院士编写《计算流体力学—差分方法的原理与应用》里面讲的相当详细。 三种类型偏微分方程的基本差别如下:

1)三种类型偏微分方程解的适定性(即解存在且唯一,并且解稳定)要求对定解条件有不同的提法;

2)三种类型偏微分方程解的光滑性不同,对定解条件的光滑性要求也不同; 椭圆型和抛物型方程的解是充分光滑的,因此对定解条件的光滑性要求不高。而双曲型方程允许有所谓的弱解存在(如流场中的激波),即解的一阶导数可以不连续,所以对定解条件的光滑性要求很高,这也正是采用有限元法求解双曲型方程困难较多的原因之一。

3)三种类型偏微分方程的影响区域和依赖区域不一样。

在双曲型和抛物型方程所控制的流场中,某一点的影响区域是有界的,可采用步进求解。如对双曲型方程求解时,为了与影响区域的特征一致,采用上风格式比较适宜。而椭圆型方程的影响范围遍及全场,必须全场求解,所采用的差分格式也要采用相应的中心格式。 以上只是一些较为肤浅的概念,如想深入,可参考相关的偏微分方程及数值计算等书籍

Fluent经典问题3 2008-05-29 17:

13 在GAMBIT中显示的“check”主要通过哪几种来判断其网格的质量?及其在做网格时大致注意到哪些细节? 判断网格质量的方面有:

Area单元面积,适用于2D单元,较为基本的单元质量特征。

Aspect Ratio长宽比,不同的网格单元有不同的计算方法,等于1是最好的单元,如正三角形,正四边形,正四面体,正六面体等;一般情况下不要超过5:1.

Diagonal Ratio对角线之比,仅适用于四边形和六面体单元,默认是大于或等于1的,该值越高,说明单元越不规则,最好等于1,也就是正四边形或正六面体。

Edge Ratio长边与最短边长度之比,大于或等于1,最好等于1,解释同上。 EquiAngle Skew通过单元夹角计算的歪斜度,在0到1之间,0为质量最好,1为质量最差。最好是要控制在0到0.4之间。

EquiSize Skew通过单元大小计算的歪斜度,在0到1之间,0为质量最好,1为质量最差。2D质量好的单元该值最好在0.1以内,3D单元在0.4以内。 MidAngle Skew通过单元边中点连线夹角计算的歪斜度,仅适用于四边形和六面体单元,在0到1之间,0为质量最好,1为质量最差。

Size Change相邻单元大小之比,仅适用于3D单元,最好控制在2以内。 Stretch伸展度。通过单元的对角线长度与边长计算出来的,仅适用于四边形和六面体单元,在0到1之间,0为质量最好,1为质量最差。

Taper锥度。仅适用于四边形和六面体单元,在0到1之间,0为质量最好,1为质量最差。

Volume单元体积,仅适用于3D单元,划分网格时应避免出现负体积。

Warpage翘曲。仅适用于四边形和六面体单元,在0到1之间,0为质量最好,1为质量最差。

以上只是针对Gambit帮助文件的简单归纳,不同的软件有不同的评价单元质量的指标,使用时最好仔细阅读帮助文件。

另外,在Fluent中的窗口键入:grid quality 然后回车,Fluent能检查网格的质量,主要有以下三个指标:

1.Maxium cell squish: 如果该值等于1,表示得到了很坏的单元;

2.Maxium cell skewness: 该值在0到1之间,0表示最好,1表示最坏; 3.Maxium 'aspect-ratio': 1表示最好。

以上的一些只是简略提要,具体的请参考相关资料。

18 在设置GAMBIT边界层类型时需要注意的几个问题:a、没有定义的边界线如

何处理?b、计算域内的内部边界如何处理(2D)?

gambit默认为wall,一般情况下可以到fluent再修改边界类型。 内部边界如果是split产生的,那么就不需再设定了,如果不是,那么就需要设定为interface或者是internal

19 为何在划分网格后,还要指定边界类型和区域类型?常用的边界类型和区域类型有哪些? 要得到一个问题的定解就需要有定解条件,而边界条件就属于定解条件。也就是说边界条件确定了结果。不同的流体介质有不同的物理属性,也就会得到不同的结果,所以必须指定区域类型。对于gambit来说,默认的区域类型是fluid,所以一般情况下不需要再指定了。

20 何为流体区域(fluid zone)和固体区域(solid zone)?为什么要使用区域的概念?FLUENT是怎样使用区域的?

Fluid Zone是一个单元组,是求解域内所有流体单元的综合。所激活的方程都要在这些单元上进行求解。向流体区域输入的信息只是流体介质(材料)的类型。对于当前材料列表中没有的材料,需要用户自行定义。注意,多孔介质也当作流体区域对待。

Solid Zone也是一个单元组,只不过这组单元仅用来进行传热计算,不进行任何的流动计算。作为固体处理的材料可能事实上是流体,但是假定其中没有对流发生,固体区域仅需要输入材料类型。

Fluent中使用Zone的概念,主要是为了区分分块网格生成,边界条件的定义等等;

21 如何监视FLUENT的计算结果?如何判断计算是否收敛?在FLUENT中收敛准则是如何定义的?分析计算收敛性的各控制参数,并说明如何选择和设置这些参数?解决不收敛问题通常的几个解决方法是什么?

可以采用残差控制面板来显示;或者采用通过某面的流量控制;如监控出口上流量的变化;采用某点或者面上受力的监视;涡街中计算达到收敛时,绕流体的面上受的升力为周期交变,而阻力为平缓的直线。

怎样判断计算结果是否收敛?

1、观察点处的值不再随计算步骤的增加而变化;

2、各个参数的残差随计算步数的增加而降低,最后趋于平缓;

3、要满足质量守恒(计算中不牵涉到能量)或者是质量与能量守恒(计算中牵涉到能量)。 特别要指出的是,即使前两个判据都已经满足了,也并不表示已经得到合理的收敛解了,因为,如果松弛因子设置得太紧,各参数在每步计算的变化都不是太大,也会使前两个判据得到满足。此时就要再看第三个判据了。

还需要说明的就是,一般我们都希望在收敛的情况下,残差越小越好,但是残差曲线是全场求平均的结果,有时其大小并不一定代表计算结果的好坏,有时即使计算的残差很大,但结果也许是好的,关键是要看计算结果是否符合物理事实,即残差的大小与模拟的物理现象本身的复杂性有关,必须从实际物理现象上看计

算结果。比如说一个全机模型,在大攻角情况下,解震荡得非常厉害,而且残差的量级也总下不去,但这仍然是正确的,为什么呢,因为大攻角下实际流动情形就是这样的,不断有涡的周期性脱落,流场本身就是非定常的,所以解也是波动的,处理的时候取平均就可以呢:)

Fluent经典问题4 2008-05-29 17:

22 什么叫松弛因子?松弛因子对计算结果有什么样的影响?它对计算的收敛情况又有什么样的影响?

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,动量亚松驰因子0.7)。如果你同时使用PISO的两种校正方法,推荐参阅PISO邻近校正中所用的方法。

23 在FLUENT运行过程中,经常会出现“turbulence viscous rate”超过了极限值,此时如何解决?而这里的极限值指的是什么值?修正后它对计算结果有何影响?

Let's take care of the warning \"turbulent viscosity limited to viscosity ratio****\" which is not physical. This problem is mainly due to one of the following:

1)Poor mesh quality(i.e.,skewness > 0.85 for Quad/Hex, or skewness > 0.9 for Tri/Tetra elements). {what values do you have?} 2)Use of improper turbulent boudary conditions.

3)Not supplying good initial values for turbulent quantities.

出 现这个警告,一般来讲,最可能的就是网格质量的问题,尤其是Y+值的问题;在划分网格的时候要注意,第一层网格高度非常重要,可以使用NASA的 Viscous Grid Space Calculator来计算第一层网格高度;如果这方面已经注意了,那就可能是边界条件中有关湍流量的设置问题,关于这个,本版中已经有专门的帖子进行了 讨论,Fluent培训的教程中也有讲到,请大家参考。

24 在FLUENT运行计算时,为什么有时候总是出现“reversed flow”?其具体意义是什么?有没有办法避免?如果一直这样显示,它对最终的计算结果有什么样的影响?

这个问题的意思是出现了回流,这个问题相对于湍流粘性比的警告要宽松一些,有些case可能只在计算的开始阶段出现这个警告,随着迭代的计算,可能会消失,如果计算一段时间之后,警告消失了,那么对计算结果是没有什么影响的,如果这个警告一直存在,可能需要作以下处理:

1.如果是模拟外部绕流,出现这个警告的原因可能是边界条件取得距离物体不够远,如果边界条件取的足够远,该处可能在计算的过程中的确存在回流现象;对于可压缩流动,边界最好取在10倍的物体特征长度之处;对于不可压缩流动,边界最好取在4倍的物体特征长度之处。

2.如果出现了这个警告,不论对于外部绕流还是内部流动,可以使用pressure-outlet边界条件代替outflow边界条件改善这个问题。

25 燃烧过程中经常遇到一个“头疼”问题是计算后温度场没什么变化?即点火问题,解决计算过程中点火的方法有哪些?什么原因引起点火困难的问题?

26 什么叫问题的初始化?在FLUENT中初始化的方法对计算结果有什么样的影响?初始化中的“patch”怎么理解?

问题的初始化就是在做计算时,给流场一个初始值,包括压力、速度、温度和湍流系数等。理论上,给的初始场对最终结果不会产生影响,因为随着跌倒步数 的增加,计算得到的流场会向真实的流场无限逼近,但是,由于Fluent等计算软件存在像离散格式精度(会产生离散误差)和截断误差等问题的,如果初始场给的过于偏离实际物理场,就会出现计算很难收敛,甚至是刚开始计算就发散的问题。因此,在初始化时,初值还是应该给的尽量符合实际物理现象。这就要求 我们对要计算的物理场,有一个比较清楚的理解。

初始化中的patch就是对初始化的一种补充,比如当遇到多相流问题时,需要对各相的参数进行更细的,以最大限度接近现实物理场。这些就可以通过patch来实现,patch可以对流场分区进行初始化,还可以通过编写简单的函数来对特定区域初始化。

27 什么叫PDF方法?FLUENT中模拟煤粉燃烧的方法有哪些?

概率密度函数输运输运方程方法 (PDF方法)是近年来逐步建立起来的描述湍流两相流动的新模型方法。所谓的概率密度函数(Probability Density Function,简称PDF)方法是基于湍流场随机性和概率统计描述,将流场的速度、温度和组分浓度等特征量作为随机变量,研究其概率密度函数在相空间 的传递行为的研究方法。PDF模型介于统观模拟和细观模拟之间,是从随机运动的分子动力论和两相湍流的基本守恒定律出发,探讨两相湍流的规律,因此可作为 发展双流体模型框架内两相湍流模型的理论基础。它实质上是沟通E-L模型和E-E模型的桥梁,可以用颗粒运动的拉氏分析通过统计理论,即PDF方程的积分 建立封闭的E-E两相湍流模型。

非预混湍流燃烧过程的正确模拟要求同时模拟混合和化学反应过程。

FLUENT 提供了四种反应模拟方法:即有限率反应法、混合分数PDF 法、不平衡(火焰微元)法和预混燃烧法。火焰微元法是混合分数PDF 方法的一种特例。该方法是基于不平衡反应的,混合分数PDF 法不能模拟的不平衡现象如火焰的悬举和熄灭,NOx 的形成等都可用该方法模拟。但由于该方法还未完善,在FLUENT 只能适用于绝热模型。

对许多燃烧系统,辐射式主要的能量传输方式,因此在模拟燃烧系统时,对辐射能量的传输的模拟也是非常重要的。在FLUENT 中,对于模拟该过程的模型也是非常全面的。包括DTRM、P-1、Rosseland、DO 辐射模型,还有用WSGG 模型来模拟吸收系数。

30 FLUENT运行过程中,出现残差曲线震荡是怎么回事?如何解决残差震荡的问题?残差震荡对计算收敛性和计算结果有什么影响?

一. 残差波动的主要原因:1、高精度格式; 2、网格太粗;3、网格质量差;4、流场本身边界复杂,流动复杂;5、模型的不恰当使用。

二. 问:在进行稳态计算时候,开始残差线是一直下降的,可是到后来各种残差线都显示为波形波动,是不是不收敛阿?

答:有些复杂或流动环境恶劣情形下确实很难收敛。计算的精度(2 阶),网格太疏,网格质量太差,等都会使残差波动。经常遇到,一开始下降,然后出现波动,可以降低松弛系数,我的问题就能收敛,但如果网格质量不好,是很 难的。通常,计算非结构网格,如果问题比较复杂,会出现这种情况,建议作网格时多下些功夫。理论上说,残差的震荡是数值迭代在计算域内传递遭遇障碍物反射 形成周期震荡导致的结果,与网格亚尺度雷诺数有关。例如,通常压力边界是主要的反射源,换成OUTFLOW 边界会好些。这主要根据经验判断。所以我说网格和边界条件是主要因素。

三. 1、网格问题:比如流场内部存在尖点等突变,导致网格在局部质量存在问题,影响收敛。

2、可以调整一下courant number,courant number实际上是指时间步长和空间步长的相对关系,系统自动减小courant数,这种情况一般出现在存在尖锐外形的计算域,当局部的流速过大或者压差过大时出错,把局部的网格加密再试一下。

在fluent中,用courant number来调节计算的稳定性与收敛性。一般来说,随着courant number的从小到大的变化,收敛速度逐渐加快,但是稳定性逐渐降低。所以具体的问题,在计算的过程中,最好是把courant number从小开始设置,看看迭代残差的收敛情况,如果收敛速度较慢而且比较稳定的话,可以适当的增加courant number的大小,根据自己具体的问题,找出一个比较合适的courant number,让收敛速度能够足够的快,而且能够保持它的稳定性。

31 数值模拟过程中,什么情况下出现伪扩散的情况?以及对于伪扩散在数值模拟过程中如何避免?

假扩散(false diffusion)的含义:

基本含义:由于对流—扩散方程中一阶导数项的离散格式的截断误差小于二阶而引起较大数值计算误差的现象。有的文献中将人工粘性(artificial viscosity)或数值粘性(numerical viscosity)视为它的同义词。

拓宽含义:现在通常把以下三种原因引起的数值计算误差都归在假扩散的名称下 1.非稳态项或对流项采用一阶截差的格式; 2.流动方向与网格线呈倾斜交叉(问题); 3.建立差分格式时没有考虑到非常数的源项的影响。 克服或减轻假扩散的格式或方法,

为克服或减轻数值计算中的假扩散(包括流向扩散及交叉扩散)误差,应当: 1. 采用截差阶数较高的格式;

2. 减轻流线与网格线之间的倾斜交叉现象或在构造格式时考虑到来流方向的影响。

3. 至于非常数源项的问题,目前文献中,还没有为克服这种影响而专门构造的格式,但是高阶格式显然对减轻其影响是有利的。

32 FLUENT轮廓(contour)显示过程中,有时候标准轮廓线显示通常不能精确地显示其细节,特别是对于封闭的3D物体(如柱体),其原因是什么?如何解决?

FLUENT等高线(contour)显示过程中,可以通过调节显示的水平等级来调节其显示细节,Levels...最大值允许设置为100.对于 封闭的3D物体,可以通过建立Surface,监视Surface上的量来显示计算结果。或者计算之后将结果导入到Tecplot中,作切片图显示

Fluent经典问题5 2008-05-29 17:55

33 如果采用非稳态计算完毕后,如何才能更形象地显示出动态的效果图?

对于非定常计算,可以通过创建动画来形象地显示出动态的效果图。

Solve->Animate->Define...,具体操作请参考Fluent用户手册。

34 在FLUENT的学习过程中,通常会涉及几个压力的概念,比如压力是相对值还是绝对

值?参考压力有何作用?如何设置和利用它? GAUGE PRESSURE 就是静压。 GAUGE total PRESSURE 是总压。 这里需要强调一下 Gauge为名义值,

什么意思呢?如果, INITIAL Gauge PRESSURE =0 那么 GAUGE PRESSURE 就是实际的静压Pinf。 GAUGE total PRESSURE 是实际的总压Pt。 如果INITIAL Gauge PRESSURE 不等于零

GAUGE PRESSURE = Pinf - INITIAL Gauge PRESSURE GAUGE total PRESSURE = Pt - INITIAL Gauge PRESSURE

35 在FLUENT结果的后处理过程中,如何将美观漂亮的定性分析的效果图和定量分析示意图插入到论文中来说明问题?

1.在Fluent中显示你想得到的效果图的窗口,可以直接在任务栏中右键该窗口将其复制到剪贴板,保存;或者打印到文件,保存。

2.在Fluent中,在你想要保存相关窗口的效果图时,首先激活效果图监视窗口,就是用鼠标左键监视窗口,然后在Fluent中操作,Fluent->File->Hardcopy...,选择好你想要的图片格式,然后就可以保存了。

3.将计算结果或者相关数据导入到Tecplot中,然后作出你想要的效果图,这种方法得出的图片,个人感觉比Fluent得到的图片美观简洁大方。

37 在FLUENT定义速度入口时,速度入口的适用范围是什么?湍流参数的定义方法有哪些?各自有什么不同?

速度入口的边界条件适用于不可压流动,需要给定进口速度以及需要计算的所有标量值。速度入口边界条件不适合可压缩流动,否则入口边界条件会使入口处的总温或总压有一定的波动。

关于湍流参数的定义方法,根据所选择的湍流模型的不同有不同的湍流参数组合,具体可以参考Fluent用户手册的相关章节,也可以参考王福军的书《计算流体动力学分析—CFD软件原理与应用》的第214-216页,也可以参考本版的帖子:

http://www.efluid.com.cn/dvbbs/dispbbs.asp?boardID=61&ID=997&page=1

38 在计算完成后,如何显示某一断面上的温度值?如何得到速度矢量图?如何得到流线?

这些都可以用tecplot来处理 将fluent计算的date和case文件倒入到

tecplot中 断面可以做切片

速度矢量图流线图 直接就可以选择相应选项来查看

39 分离式求解器和耦合式求解器的适用场合是什么?分析两种求解器在计算效率与精度方面的区别。

分离式求解器以前主要用于不可压缩流动和微可压流动,而耦合式求解器用于高速可压流动。现在,两种求解器都适用于从不可压到高速可压的很大范围的流动,但总的来讲,当计算高速可压流动时,耦合式求解器比分离式求解器更有优势。

Fluent默认使用分离式求解器,但是,对于高速可压流动,由强体积力(如浮力或者旋转力)导致的强耦合流动,或者在非常精细的网格上求解的流动,需要考虑耦合式求解器。耦合式求解器耦合了流动和能量方程,常常很快便可以收敛。耦合式求解器所需要的内存约是分离式求解器的1.5到2倍,选择时可以根据这一情况来权衡利弊。在需要耦合隐式的时候,如果计算机内存不够,就可以采用分离式或耦合显式。耦合显式虽然也耦合了流动和能量方程,但是它还是比耦合隐式需要的内存少,当然它的收敛性也相应差一些。

需要注意的是,在分离式求解器中提供的几个物理模型,在耦合式求解器中是没有的。这些物理模型包括:流体体积模型(VOF),多项混合模型,欧拉混合模型,PDF燃烧模型,预混合燃烧模型,部分预混合燃烧模型,烟灰和NOx模型,Rosseland辐射模型,熔化和凝固等相变模型,指定质量流量的周期流动模型,周期性热传导模型和壳传导模型等。

而下列物理模型只在耦合式求解器中有效,在分离式求解器中无效:理想气体模型,用户定义的理想气体模型,NIST理想气体模型,非反射边界条件和用于层流火焰的化学模型

40 在处理高速空气动力学问题时,采用哪种耦合求解器效果更好?为什么? (#68)

43 FLUENT中常用的文件格式类型:dbs,msh,cas,dat,trn,jou,profile等有什么用处? 在Gambit目录中,有三个文件,分别是default_id.dbs,jou,trn文件,对Gambit运行save,将会在工作目录下保存这三个文件:default_id.dbs,default_id.jou,default_id.trn。 jou文件是gambit命令记录文件,可以通过运行jou文件来批处理gambit命令; dbs文件是gambit默认的储存几何体和网格数据的文件; trn文件是记录gambit命令显示窗(transcript)信息的文件;

msh文件可以在gambit划分网格和设置好边界条件之后export中选择msh文件输出格式,该文件可以被fluent求解器读取。

Case文件包括网格,边界条件,解的参数,用户界面和图形环境。 Data文件包含每个网格单元的流动值以及收敛的历史纪录(残差值)。Fluent自动保存文件类型,默认为date和case文件

Profile文件边界轮廓用于指定求解域的边界区域的流动条件。例如,它们可以用于指定入口平面的速度场。

读入轮廓文件,点击菜单File/Read/Profile...弹出选择文件对话框,你就可以读入边界轮廓文件了。

写入轮廓文件,你也可以在指定边界或者表面的条件上创建轮廓文件。例如:你可以在一个算例的出口条件中创建一个轮廓文件,然后在其它算例中读入该轮廓文件,并使用出口轮廓作为新算例的入口轮廓。要写一个轮廓文件,你需要使用Write Profile面板(Figure 1),菜单:

File/Write/Profile...

44 在计算区域内的某一个面(2D)或一个体(3D)内定义体积热源或组分质量源。如何把这个zone定义出来?而且这个zone仍然是流体流动的。

在gambit中先将需要的zone定义出来,对于要随流体流动我觉得这个可以用动网格来处理 在动网格设置界面 将这个随流体流动的zone设置成刚体 这样既可以作为zone不影响流体流通 也可以随流体流动 只是其运动的udf不好定义 最好根据其流动规律编动网格udf

46 如何选择单、双精度解算器的选择?

Fluent的单双精度求解器适合于所有的计算平台,在大多数情况下,单精度求解器就能很好地满足计算精度要求,且计算量小。 但在有些情况下推荐使用双精度求解器:

1, 如果几何体包含完全不同的尺度特征(如一个长而壁薄的管),用双精度的;

2, 如果模型中存在通过小直径管道相连的多个封闭区域,不同区域之间存在很大的压差,用双精度。

3, 对于有较高的热传导率的问题或对于有较大的长宽比的网格,用双精度。

47 求 解器为flunet5/6在设置边界条件时,specify boundary types下的types中有三项关于interior,interface,internal设置,在什么情况下设置相应的条件?它们之间的区别是什 么?interior好像是把边界设置为内容默认的一部分;interface是两个不同区域的边界区,比如说离心泵的叶轮旋转区和叶轮出口的交界面; internal;请问以上三种每个的功能?最好能举一两个例子说明一下,因为这三个都是内部条件吧,好像用的很多。

在Fluent中,Interface意思为“交接面”,主要用途有三个:多重坐标系模型中静态区域与运动区域之间的交接面的定义;滑移网格交接处 的交接面定义,例如:两车交会,转子与定子叶栅模型,等等,在Fluent中,interface的交接重合处默认为interior,非重合处默认为 wall;非一致网格交接处,例如:上下网格网格间距不同等。

Interior意思为“内部的”,在Fluent中指计算区域。

Internal意思为“内部的”,比如说内能,内部放射率等,具体应用不太清楚。

48 FLUENT并行计算中Flexlm如何对多个License的管理?

在FLEXlm LMTOOLS Utility-〉config services->service name里选好你要启动的软件的配备的service name,然后配置好下边的path to the lmgrd.exe file和path to the license file,然后save service,转到FLEXlm LMTOOLS Utility->config services-〉start/stop/reread下,选中要启动的license,start server即可。

49 在“solver”中2D 、axisymmetric和axisymmetric swirl如何区别?对于2D和3D各有什么适用范围?

从字面的意思很好理解axisymmetric和axisymmetric swirl的差别: axisymmetric:是轴对称的意思,也就是关于一个坐标轴对称,2D的axisymmetric问题仍为2D问题。

而axisymmetric swirl:是轴对称旋转的意思,就是一个区域关于一条坐标轴回转所产生的区域,这产生的将是一个回转体,是3D的问题。在Fluent中使用这个,是将 一个3D的问题简化为2D问题,减少计算量,需要注意的是,在Fluent中,回转轴必须是x轴。

50 在设置速度边界条件时,提到了“Velocity formulation(Absolute和Relative)”都是指的动量方程的相对速度表示和绝对速度表示,这两个速度如何理解? 在定义速度入口边界条件时,Reference Frame中有Absolute和Relative to Adjacent Cell Zone的选项,关于这个,Fluent用户手册上是这样写的:“ If the cell zone adjacent to the velocity inlet is moving, you can choose to specify relative or absolute velocities by selecting Relative to Adjacent Cell Zone or Absolute in the Reference Frame drop-down list. If the adjacent cell zone is not moving, Absolute and Relative to Adjacent Cell Zone will be equivalent, so you need not visit the list. ”

如 果速度入口处的单元在计算的过程中有运动发生的情况(如果你使用了运动参考系或者滑移网格),你可以选择使用指定相对于邻近单元区域的速度或在参考坐标系 中的绝对速度来定于入口处的速度;如果速度入口处的相邻单元在计算过程中没有发生运动,那么这两种方法所定义的速度是等价的。

Note that if the adjacent cell zone is not moving, the absolute and relative options are equivalent. 这个问题好像问的不是特别清楚,在Fluent6.3中,问题出现的这个Velocity formulation(Absolute和Relative)设置,应该是设置求解器时出现的选项,在使用Pressure-based的求解器时,Fluent允许用户定义的速度形式有绝对的和相对的,使用相对的速度形式是为了在Fluent中使用运动参考系以及滑移网格方便定义速度,关于这两个速度的理解很简单,可以参考上面的说明;如果使用Density-based的求解器,这个求解器的算法只允许统一使用绝对的速度形式。

51 对于出口有回流的问题,在出口应该选用什么样的边界条件(压力出口边界条件、质量出口边界条件等)计算效果会更好? 给定流动出口的静压。对于有回流的出口,压力出口边界条件比质量出口边界条件边界条件

更容易收敛。

压力出口边界条件压力根据内部流动计算结果给定。其它量都是根据内部流动外推出边界条件。该边界条件可以处理出口有回流问题,合理的给定出口回流条件,有 利于解决有回流出口问题的收敛困难问题。 出口回流条件需要给定:回流总温(如果有能量方程),湍流参数(湍流计算),回流组分质量分数(有限速率模型模拟组分输运),混合物质量分数及其方差 (PDF 计算燃烧)。如果有回流出现,给的表压将视为总压,所以不必给出回流压力。回流流动方向与出口边界垂直。

52 对于不同求解器,离散格式的选择应注意哪些细节?实际计算中一阶迎风差分与二阶迎风差分有什么异同?

离散格式对求解器性能的影响

控制方程的扩散项一般采用中心差分格式离散,而对流项则可采用多种不同的格式进行离散。Fluent允许用户为对流项选择不同的离散格式(注意:粘性项总是自动地使用二阶精度的离散格式)。默认情况下,当使用分离式求解器时,所有方程中的对流项均用一阶迎风格式离散;当使用耦合式求解器时,流动方程使用二阶精度格式,其他方程使用一阶精度格式进行离散。此外,当选择分离式求解器时,用户还可为压力选择插值方式。 当流动与网格对齐时,如使用四边形或六面体网格模拟层流流动,使用一阶精度离散格式是可以接受的。但当流动斜穿网格线时,一阶精度格式将产生明显的离散误差(数值扩散)。因此,对于2D三角形及3D四面体网格,注意使用二阶精度格式,特别是对复杂流动更是如此。一般来讲,在一阶精度格式下容易收敛,但精度较差。有时,为了加快计算速度,可先在一阶精度格式下计算,然后再转到二阶精度格式下计算。如果使用二阶精度格式遇到难于收敛的情况,则可考虑改换一阶精度格式。

对于转动及有旋流的计算,在使用四边形及六面体网格式,具有三阶精度的QUICK格式可能产生比二阶精度更好的结果。但是,一般情况下,用二阶精度就已足够,即使使用QUICK格式,结果也不一定好。乘方格式(Power-law Scheme)一般产生与一阶精度格式相同精度的结果。中心差分格式一般只用于大涡模拟,而且要求网格很细的情况。

Fluent经典问题6 2008-05-29 17:55

53 对于FLUENT的耦合解算器,对时间步进格式的主要控制是Courant数(CFL),那么Courant数对计算结果有何影响?

courant number实际上是指时间步长和空间步长的相对关系,系统自动减小courant数,这种情况一般出现在存在尖锐外形的计算域,当局部的流速过大或者压差过大时出错,把局部的网格加密再试一下。 在Fluent中,用courant number来调节计算的稳定性与收敛性。一般来说,随着courant number的从小到大的变化,收敛速度逐渐加快,但是稳定性逐渐降低。所以具体的问题,在计算的过程中,最好是把courant number从小开始设置,看看迭代残差的收敛情况,如果收敛速度较慢而且比较稳定的话,可以适当的增加courant number的大小,根据自己具体的问题,找出一个比较合适的courant number,让收敛速度能够足够的快,而且能够保持它的稳定性。

在分离求解器中,FLUENT提供了压力速度耦和的三种方法:SIMPLE,SIMPLEC及PISO,它们的应用有什么不同?

在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,动量亚松驰因子0.7)。如果你同时使用PISO的两种校正方法,推荐参阅PISO邻近校正中所用的方法

55 对于大多数情况,在选择选择压力插值格式时,标准格式已经足够了,但是对于特定的某些模型使用其它格式有什么特别的要求?

压力插值方式的列表只在使用Pressure-based求解器中出现。一般情况下可选择Standard;对于含有高回旋数的流动,高 Rayleigh数的自然对流,高速旋转流动,多孔介质流动,高曲率计算区域等流动情况,选择PRESTO格式;对于可压缩流动,选择Second Order;当然也可以选择Second Order以提高精度;对于含有大体力的流动,选择Body Force Weighted。

注意:Second Order格式不可以用于多孔介质;在使用VOF和Mixture多相流模型时,只能使用PRESTO或Body Force Weighted格式。 关于压力插值格式的详细内容,请参考Fluent用户手册。

56 计算流体力学中在设定初始条件和边界条件的时候总是要先选择一组湍流参数,并给出其初值。如何选择并给出这些初值呢?有什么经验公式或者别的好的办法吗?

由于回答之中包含一些参数的计算公式,为了更好地解释这个问题,请参考附件中的文档,文档取自流体中文网翻译整理的《FLUENT全攻略》,在此表示感谢。 边界条件中湍流参数的定义:

http://www.efluid.com.cn/dvbbs/viewFile.asp?BoardID=61&ID=1391

57 讨论在数值模拟过程中采用四面体网格计算效果好,还是采用六面体网格更妙呢?

在2D中,FLUENT 可以使用三角形和四边形单元以及它们的混合单元所构成的网格。在3D中,它可以使用四面体,六面体,棱锥,和楔形单元所构成的网格。选择那种类型的单元取决于你的应用。当选择网格类型的时候,应当考虑以下问题:

设置时间(setup time)

计算成本(computational expense) 数值耗散(numerical diffusion ) 1.设置时间

在工程实践中,许多流动问题都涉及到比较复杂的几何形状。一般来说,对于这样的问题,建立结构或多块(是由四边形或六面体元素组成的)网格是极其耗费时间 的。所以对于复杂几何形状的问题,设置网格的时间是使用三角形或四面体单元的非结构网格的主要动机。然而,如果所使用的几何相对比较简单,那么使用哪种网 格在设置时间方面可能不会有明显的节省。

如果你已经有了一个建立好的结构代码的网格,例如FLUENT 4,很明显,在FLUENT中使用这个网格比重新再生成一个网格要节省时间。这也许是你在FLUENT 模拟中使用四边形或六面体单元的一个非常强的动机。注意,对于从其它代码导入结构网格,包括FLUENT 4,FLUENT 有一个筛选的范围。 2.计算成本

当几何比较复杂或流程的长度尺度的范围比较大的时候,可以创建是一个三角形/四面体网格,因为它与由四边形/六面体元素所组成的且与之等价的网格比较起 来,单元要少的多。这是因为一个三角形/ 四面体网格允许单元群集在被选择的流动区域中,而结构四边形/六面体网格一般会把单元强加到所不需要的区域中。对于中等复杂几何,非结构四边形/六面体网 格能构提供许多三角形/ 四面体网格所能提供的优越条件。

在一些情形下使用四边形/六面体元素是比较经济的,四边形/六面体元素的一个特点是它们允许一个比三角形/四面体单元大的多的纵横比。一个三角形/ 四面体单元中的一个大的纵横比总是会影响单元的偏斜(skewness),而这不是所希望的,因为它可能妨碍计算的精确与收敛。所以,如果你有一个相对简 单的几何,在这个几何中流动与几何形状吻合的很好,例如一个瘦长管道,你可以运用一个高纵横比的四边形/六面体单元的网格。这个网格拥有的单元可能比三角 形/ 四面体少的多。 3.数值耗散

在情形中,一个错误的主要来源是数值耗散,术语也为伪耗散(false diffusion)。之所以称为“伪耗散”是因为耗散不是一个真实现象,而是它对一个流动计算的影响近似于增加真实耗散系数的影响。

关于数值耗散的观点有:

当真实耗散小,即情形出现对流受控时(即本身物理耗散比较小时),数值的耗散是最值得注意的。

关于流体流动的所有实际的数值设计包括有限数量的数值耗散。这是因为数值耗散起于切断错误,而切断错误是一个表达离散形式的流体流动方程的结果。

用于FLUENT 中的二阶离散方案有助于减小数值耗散对解的影响。 数值耗散的总数反过来与网格的分解有关。因此,处理数值耗散的一个方法是改进网格。

当流动与网格相吻一致时,数值耗散减到最小。 最后这一点与网格的选择非常有关。很明显,如果你选择一个三角形/ 四面体网格,那么流动与网格总不能一致。另一方面,如果你使用一个四边形/六面体网格,这种情况也可能会发生,但对于复杂的流动则不会。在一个简单流动 中,例如过一长管道的流动,你可以依靠一个四边形/六面体网格以尽可能的降低数值的耗散。在这种情形,使用一个四边形/六面体网格可能有些有利条件,因为 与使用一个三角形/ 四面体单元比起来,你将能够使用比较少的单元而得到一个更好的解。

59 在UDF中compiled型的执行方式和interpreted型的执行方式有什么不同? 编译型UDF:

采用与FLUENT 本身执行命令相同的方式构建的。采用一个称为Makefile的脚本来引导c 编译器构造一个当地目标编码库(目标编码库包含有将高级c 语言源代码转换为机器语言。)这个共享库在运行时通过“动态加载”过程载入到FLUENT 中。目标库特指那些使用的计算机体系结构,和运行的特殊FLUENT 版本。因此,FLUENT 版本升级,计算机操作系统改变以及在另一台不同类型的计算机上运行时,这个库必须进行重构。

编译型UDF 通过用户界面将原代码进行编译,分为两个过程。这两个过程是:访问编译UDF 面板,从源文件第一次构建共享库的目标文件中;然后加载共享库到FLUENT 中。

采用与FLUENT 本身执行命令相同的方式构建的。采用一个称为Makefile的脚本来引导c 编译器构造一个当地目标编码库(目标编码库包含有将高级c 语言源代码转换为机器语言。)这个共享库在运行时通过“动态加载”过程载入到FLUENT 中。目标库特指那些使用的计算机体系结构,和运行的特殊FLUENT 版本。因此,FLUENT 版本升级,计算机操作系统改变以及在另一台不同类型的计算机上运行时,这个库必须进行重构。

编译型UDF 通过用户界面将原代码进行编译,分为两个过程。这两个过程是:访问编译UDF 面板,从源文件第一次构建共享库的目标文件中;然后加载共享库到FLUENT 中。 解释型UDF:

解释型UDF 同样也是通过图形用户界面解释原代码,却只有单一过程。这一过程伴随着运行,包含对解释型UDF 面板的访问,这一面板位于源文件中的解释函数。

在FLUENT内部,源代码通过c 编译器被编译为即时的、体系结构的机器语言。UDF 调用时,机器编码通过内部模拟器或者解释器执行。额外层次的代码导致操作不利,但是允许解释型UDF 在不同计算结构,操作系统和FLUENT 版本上很容易实现共享。如果迭代速度成为焦点时,解释型UDF 可以不用修改就用编译编码直接运行。

解释型UDF 使用的解释器不需要有标准的c 编译器的所有功能。特别是解释型UDF 不含有下列C 程序语言部分:

goto 语句声明;无ANSI-C 语法原形;没有直接数据结构引用;局部结构的声明;联合函数指针;函数阵列; 解释型UDF与编译型UDF的区别:

在解释型与编译型UDF 之间的主要的不同之处是很重要的,例如当你想在UDF 中引进新的数据结构时。解释型不能通过直接数据引用获得FLUENT 解算器的数据;只能间接的通过FLUENT 预先提供的宏来获取数据。具体请参考第7 章。 在解释型与编译型UDF 之间的主要的不同之处是很重要的,例如当你想在UDF 中引进新的数据结构时。解释型不能通过直接数据引用获得FLUENT 解算器的数据;只能间接的通过FLUENT 预先提供的宏来获取数据。具体请参考第7 章。 总结一下,当选择写解释型或者编译型UDF时,记住以下几条:

解释型UDF:对别的运行系统是可移植的,可以作为编译型运行,不需要c 编译器,比编译型的要慢,在使用C 程序语言时有,不能链接到编译系统或者用户库,只能通过预先提供的宏访问FLUENT 中存储的数据。

编译型UDF:运行要快于解释型UDF,对C 程序语言没有,可以使用任何ANSI-compliant c 编译器进行编译,可以调用其他语言写的函数(特别是于系统和编译器的),如果包含某些解释器不能处理的c 语言部分时用解释型UDF 是不行的。

总之,当决定哪一类型的udf 应用到你的模型时:

对小的,直接的函数用解释型;对复杂函数使用编译型。

61 FLUENT help和GAMBIT help能教会我们(特别是刚入门的新手)学习什么基本知识? 可以了解其基本原理和基本的操作。不过我觉得对于新手熟悉软件最好的还是tutorial guide

63 FLUENT模拟飞行器外部流场,最高MA多少时就不准确了?MA达到一定的程度做模拟需注意哪些问题?

不准确的标准是什么?没有判断标准就没办法判断。一般来说fluent计算马赫数大于3~5之后就不是很理想了(不过相信版本越新结果越好)。计算的时候 应该从低马赫数慢慢往上算。比如说如果计算马赫数是5的话,就在马赫数4的计算结果上算。另外,求解器需选择耦合和显式的。(对于6.3来说,选择基于密 度的求解器)

68 做飞机设计时,经常计算一些翼型,可是经常出现计算出来的阻力是负值,出现负值究竟是什么原因,是网格的问题还是计算参数设置的问题?

如果这个问题对于某个人经常出现的话,那就比较奇怪了,阻力是负值,难道就是传说中的前缘吸力现身?呵呵,只是开个玩笑:),估计肯定是计算错了或者是设置错了。在飞机翼型气动里面,阻力主要有两种成份:压差阻力和摩擦阻力。应该是正值的。

排除是计算过程的其他问题,我觉得在使用Fluent进行这方面的计算时,需要注意两个方面:

1.参考值的设置,也就是Report->Reference Values...

这些参考值,是用来计算Re,以及升力,阻力,力矩系数所要用到的。如果设置不当,即使计算过程是对的,所得到的升阻力等系数也是不对的。对于2D翼型仿真计算,比较容易出错的就是里面的Area该写什么,单位是平方米,这里应该填写翼型的弦长(Chord Length),The area here is actually area per unit depth;就是每单位展长的面积。

2.在监视力的时候,关于力的矢量方向设置,Solve->Monitor->Force... 这 个矢量方向千万不要小看,不能填错,填错了就可能出现阻力是负值的错误,Fluent之前的版本所附带的例子,关于NACA0012翼型的计算中,这里的 矢量就设置错了,受错误例子的影响,韩占忠那本书中三角形翼型的那个例子也设置错误,在书的第112页的第6步的第(7)小步就设置错误,升力系数的力方 向矢量,应该是X=-0.087155,Y=0.996195;前面他也写到要注意:要确保阻力和升力分别与来流平行和垂直,那么这两个力矢量肯定是垂直的了,那么这两个矢量的点乘就肯定等于零了;所幸的是,在Fluent6.3版本的例子中,这个错误已经改正过来了。 Fluent经典问题7 2008-05-29 17:56

74 大概需要划分100万个左右的单元,且只计算稳态流动,请问这样的问题PC机上算的了吗?如果能算至少需要怎样的计算机配置呢? 一般来说,按照1000个节点对1MB内存这样预估就差不多了,只计算稳态流动,pc机应该差不多了,不过因为一般的pc机可能在连续计算5、6天之后就出现浮点运算错误,所以如果计算不是很复杂,采用的求解器和湍流模型不是太好计算资源,应该还是可以的。

如果使用pc机计算,建议至少采用2GB内存,主板最好固态电容,不易爆浆,电源最好功率大典,应该差不多了,现在流行四核cpu的,可以考虑使用四核的,这样的配置下来也不比服务器差多少。

76 GAMBIT划分三维网格后,怎样知道结点数?如何知道总生成多少网格(整个模型)? 个人一般是将网格读入fluent后,通过grid->info->size来看:)

77 在FLUENT的后处理中可以显示一个管道的。某个标量的。圆截面平均值沿管道轴线(中心线)的变化曲线吗?何显示空间某一点的数值呀(比如某一点温度)?

先创建一条ling(中心线),然后在xyplot中生成曲线

80 如何在gambit中输入cad和Pro/e的图形?如何将FLUNET的结果EXPORT成ANSYS的文件?

autocad需要将图形转化为sat格式,pro/e可以将文件转化为igse或者stp格式。在fluent的flie/export 中可以选择导出ansys格式的文件

87 courant数:在模拟高压的流场的时候,迭代的时候总是自动减小其数值,这是什么原因造成的,为什么?怎么修改?

这是流场的压力梯度较大,Fluent自身逐步降低时间步长,防止计算发散。我一般的处理办法是:先将边界条件上的压力设置较低点,使得压力梯度较小一点,等到收敛的感觉差不多,在这个基础上,逐渐把压力增大,这样就不容易发散。

94 把带网格的几个volume,copy到另一处,但原来split的界面,现在都变成了wall,怎么才能把wall变成内部流体呢? 直接边界面定义为interior即可

95 可以用左键转动云图,但想用中键拖动其位置时,Fluent显示如下错误信息: Error message from

graphics function Show_Selection_Source:

Can't 'Show' - the 'locater' has been deleted 这样有什么问题呢? (#122)

98 Gambit的网格相连问题:如果物体是由两个相连的模型所结合,一个的网格划分比较密、另一个比较稀疏,用Gambit有办法将两个网格密度不同的物体,相连在一起吗?

请参考第16题答案。将两种网格交界的地方设置成一对interface即可。

100 在FLUENT里定义流体的密度时,定义为不可压理想流体是用在什么地方呀,讲义上说是用于可变密度的不可压流动,不知如何理解?

define/matirial 中定义。可变密度的不可压缩流动,就是说在该流动下,流体介质的密度可以认为不变。比如说空气在流速在0.3马赫的情况下都可以认为是密度不变的

101 已经建好的模型,想修改一些尺寸,但不知道顶点的座标,请问如何在gambit中显示点的座标?

在gambit中的geometr-〉vortex->summarize vortices即可显示点的坐标。

102 在FLUENT模拟以后用display下的操作都无法显示,不过刚开始用的是好的,然后就不行了,为什么?

DirectX 控制面板中的“加速”功能禁用即可

103 能否同时设置进口和出口都为压力的边界条件?在这样的边界条件设置情况下发现没有收敛,研究的物理模型只是知道进口和出口的压力,不知道怎么修改才能使其收敛?

当然可以同时设置进口和出口都为压力的边界条件。如果没有收敛,需要首先看看求解器、湍流模型、气体性质和边界条件时有没有出现warning;其次,还是我上边的帖子所说的,对于可压流动,采用压力边界条件,不能一下把压力和温度加到所需值,应该首先设置较低的压力或温度,然后逐渐增大,最后达到自己所需的值。

104 在FLUENT计算时,有时候计算时间会特别长,为了避免断电或其它情况影响计算,应设置自动保存功能,如何设置自动保存功能?在非定常计算中读入自动保存文件时如下出现问题:

Writing \"F:\\propane\\16\\160575.cas\"...

Error: sopenoutputfile&: unable to open file for output Error Object: \"F:\\propane\\16\\160575.cas\"

Error: Error writing \"F:\\propane\\16\\160575.cas\". Error Object: #f 非定常的,算了一段之后停下来,改天继续算的时候,自动保存的时候出现问题,请问如何解决?

File->write->Autosave就可以实现自动保存,自动保存的是date文件阿,你的怎么是CASE文件?

105 gambit划分时运动部分与静止部分交接面:一个系统的两块,运动部分与静止部分交接部分近似认为没有空隙(无限小,虽然实际上是不可能的),假设考虑 做成一个实体,那么似乎要一起运动或静止;假设分开做成两个实体,那么交接处的两个不完全重合的面要设为WALL还是什么呢,设成WALL不就不能过流了 吗?

将这一对接触面设置成Interface就行了,具体请参考第47题的解答。

108 想把gambit的图形保存成图片,可是底色怎么做成白色

首先点开GAMBIT的EDIT菜单,其次点GRAPHICS,在下拉列表中点到 WINDOWS BACKGROUND COLOR BLACK 一项 在下面VALUE 中填写WHITE,再点左面的MODIFY,就可以了.

110 在分析一个转轮时,想求得转轮的转矩,不知道fluent中有什么方法可以提供该数据。本来想到用叶片上面的压力乘半径,然后做积分运算,但是由于叶

片正反壁面统一定义的,即全部定义为wall-rn1,所以分不出方向来了。 report/force/moment 定义需要计算的面和旋转中心就ok了

111 如何在gambit中实现坐标轴的变换:有一个三维的网格,想在柱坐标中实现,可是gambit中一直显示直角坐标?

对于这个问题,你可以尝试一下:Operation--->Tools--->Coordinate System--->Activate Coordinate System.

113 利用vof非稳态求解,结果明显没有收敛的情况下,为什么就开始提示收敛,虽然可以不管它,继续算下去达到收敛。但是求解怎么会提前收敛? 好像非稳态不存在收敛这个概念吧。(除非是双时间推进中)

116 在Gambit中如何将两个dbs文件到入:把炉膛分成了三个dbs文件,现在想导入两个dbs文件,在Gambit中进行操作,但好象使用open命令就只能open一个dbs文件,请问这要怎么处理?

将其中一个导出成iges或者别的格式,然后就能和dbs一起导入了 120 scale是把你所画模型中的单位转化为Fluent默认的m,而unite是根据你自己的需要转化单位,也就是把Fluent中默认的m转画为其他的单位,两中方法对计算没有什么影响吗? scale是对几何进行比例缩放,而unit只是改变单位,不改变几何外形的大小。比如,一个是1m的几何外形,通过scale将m变为mm,那么几何外形就变成了1mm。如果通过unite将m改为mm,那么几何外形不变,还是1000mm,只是表示的单位变成mm了

121 GAMBIT处理技巧:两个圆内切产生的尖角那个面如何生成网格质量才比较好? 可以采用划分结构网格的方法(对于狭缝的一般处理都是生成长宽比很大的结构网格);或者将这个尖角导个圆弧之后再划分网格(也就是进行几何简化)

128 在gambit 中对一体积成功的进行了体网格,网格进行了examine mesh,也没有什么问题,可当要进行边界类型(boundary type)的设定时,却发现type 只有node, element_side两项,没有什么wall,pressure_outlet等。为何无法定义边界?

因为没有选择求解器为fluent 5/6

132 网格数量和内存之间的关系是什么? (#33) 大概有这样一个估计:“1k网格=1M内存。”

对于一台有1G内存的计算机,你能接受的计算网格数最好少于100万,当然这只是一个粗略的说法,影响计算速度的因素还有Fluent计算的设置等。 由此可见,网格数量并不是越多越好的。

再说说网格无关性的问题,由上面的介绍,我们知道网格数太密或者太疏都可能产生误差过大的计算结果,网格数在一定的范围内的结果才与实验值比较接近,这样在划分网格时就要求我们首先依据已有的经验大致划分一个网格进行计算,将计算结果(当然这个计算结果必须是收敛的)与实验值进行比较(如果没有实验值,则不需要比较,后面的比较与此类型相同),再酌情加密或减少网格,再进行计算,再与实验值进行比较,并与前一次计算结果比较,如果两次的计算结果相差较小(例如在2%),说明这一范围的网格的计算结果是可信的,说明计算结果是网格无关的。再加密网格已经没有什么意义(除非你要求的计算精度较高)。但是,如果你用粗网格也能得到相差很小的计算结果,从计算效率上讲,你就可以完全使用粗网格去完成你的计算。加密或者减少网格数量,你可以以一倍的量级进行。

133如何在FLUENT中进行密度的选择?

FLUENT中的密度我个人认为是指流体的状态方程,包括不可压缩(常数),不可压缩理想流体;可压缩理想流体;或者定义成温度的线性关系;

也可以通过udf定义成压力和温度的复杂函数(但是我亲自实践过)定义成压力的函数要么收敛后结果不对,要么根本不收敛(我定义的是if97标准水蒸汽性质)。

因此,如果说问题中的密度要写成压力的复杂函数,会对收敛带来一定困难。设置在所选材料的density里面选

134-141 (#27)

134 Tecplot数据文件的结构是什么样的?

135 Tecplot怎样创建等高图?

136 怎样用Tecplot创建切片图?

137 怎样用Tecplot创建有影等高图?

138 怎样用Tecplot创建流线图?

139 怎样用Tecplot创建向量图?

140 怎样用Tecplot创建动画?

141 怎样用Tecplot创建X-Y图?

1 y+是结果算出来之后查看的,具体在生成网格时,如何来控制网格满足一定的y+要求呢? (#36)

在网上看到很多关于Y+的估算公式,Fluent公司的培训教程上也有相关的估算方法;在使用这些公式在给定的Y+要求下反过来计算第一层网格高度时,如果估算的不准,划分出来的网格得到的Y+值可能就相差的有点儿大。

关于Y+的计算公式,在这里也就不多啰嗦了,请参考Fluent的培训教程,关于湍流模型的章节。

在这里,建议大家不要自己动手估算,最好是使用NASA Viscous Grid Space Calculator计算,网址为:

http://geolab.larc.nasa.gov/APPS/YPlus/ 另外,网上还有另一个计算器:

网址为:http://www.simuserve.com/cfd-shop/goodies/yplus.htm

通过比较这两个计算器的源代码,个人感觉NASA的计算器适用范围更广,考虑的因素更多,因此,建议大家优先使用NASA的计算器。

155如何区分层流和紊流? 以什么为标准来区分呢?从层流过渡到紊流的标准是什么?

答:自然界中的流体流动状态主要有两种形式,即层流laminar和湍流(就是问题中所说的紊流)turbulence.层流是指流体在流动过程中两层之间没有相互混渗,而湍流是指流体不是处于分层流动状态。

对于圆管内流动,雷诺数小于等于2300,管流一定为层流,雷诺数大于等于8000到12000之间,管流一定为湍流,雷诺数大于2300而小于8000时,流动处于层流与湍流的过渡区。

对于一般流动,在计算雷诺数时,可以用水力半径代替管径。

157 gambit不响应键盘的原因。

要把输入法调到英文输入状态

158 gambit不能正常启动的原因有哪些?

1、在Gambit建模过程中出现界面突然跳出,并且下次运行Gambit时,界面调

不出来,这时只需删去gambit工作目录下的(默认的工作目录为\\FLUENT.INC\\ntbin\\ntx86)后缀为*.lok的文件,就会恢复正常。

2、出错信息“IDENTIFIER \"default_id\" CURRENTLY OPEN”,Gambit的缺省文件已经打开,gambit运行失败,到用户默认目录删default_id.*等文件。 3、出错信息“unable find Exceed X Server ” ,GAMBIT需要装EXCEED才能用,推荐EXCEED 6.2。

159 在fluent中如何设置工作目录?在Gambit中如何设置工作目录? 找到桌面上的Fluent或者Gambit图标,右键图标,“属性”->\"起始位置”... 将起始位置设置为你想要的文件夹目录就可以了。

这种设置对于Fluent有效,但有时对Gambit无效,不知道是什么原因。

160 在计算过程中其它指数都收敛了,就continuity不收敛是怎么回事?在初始化设置中,那些项影响continuity的收敛?

在计算过程中其他指数都收敛了,就continuity不收敛,这种情况一般出现在多相流中,在初始化设置中,可能把上次计算结果的进口参数作为初始化设置,可以加快continuity的收敛,不过更重要的是改进网格质量。

对圆柱体划分网格的一些经验总结

最近一段时间在做锥形分离器内流场的研究。在对其流场进行数值模拟的过程中,在Gambit中试验了一些关于圆柱体的网格划分方法,并将其导入Fluent中进行了计算进行了对比。在此将个人的一些经验体会与大伙分享。

刚开始划分网格的时候,我天真地认为圆柱体是非常容易划分网格的。但是这折腾了几天后,才发现,圆柱体要得到网格质量好的网格并不容易。经过试验,我总结出了三种划分圆柱体网格的方法。现在一个直径D=300,高度为1000的圆柱体为例进行网格的划分。此圆柱体是直接按照center模式生成体。

方法一:

在二维坐标系下建立一个长1000,宽150的长方形,对此长方形进行网格划分,并设定一条长边为对称轴(注意,采用轴对称模型时,Fluent默认X轴为对称轴)。再将此网格导入Fluent中采用轴对称模型进行计算。此方法优点是:能够划分出高质量的结构性网格,并能在圆柱体的不同部位根据流动情况控制网格的尺寸和长宽比;能够很容易的在近壁面处加入边界

层;即使网格尺寸比较小,网格数量也可以得到控制。缺点:二维轴对称模型决定了Fluent中计算结果都是关于轴对称的,并且Fluent中二维轴对称模型如何将二维网格转化为三维网格计算的机理不太清楚,对其计算结果的正确性不好评估。

方法二:

在三维坐标系下建立圆柱体。先在Geometry>volume>Create Real cylinder中以Center形式生成一个直径为300,高度为1000的圆柱体。对其中一个圆面的圆周划分网格节点,取点的间距interval size为10。然后再对这个圆周面划分elements为Quad,Type为Pave的网格,网格大小interval size取10。(需要注意的是,在划分圆周网格节点的时候,选择的interval size要使得相应interval count为偶数,否则没有办法生成Pave面网格)。生成一个圆面上的面网格后,可以用Quad Map生成圆柱侧面的网格,然后再生成体网格。

后来发现,可以一开始在圆面上生成Quad Map网格,然后直接用Hex\\wedge Cooper模式生成体网格。两者的效果是差不多的。

方法二生成网格的问题在于圆面中心区域网格的质量不好控制。同时,从圆柱侧面看,可以发现侧面上的网格都是正方形的,即网格长度不能控制(关键是生成侧面网格时如果直接生成面网格或体网格,因为已经生成圆面的网格大小的影响,无法对长度进行控制),导致网格数量较多。

生成的网格总体质量还是不错的。但因为我所做的课题要求对中心区域的网格质量要求较高,因此我还是在想办法提高中心区域的网格质量。

方法三:

既然要控制中心区域的网格质量和网格的长度。我想了个办法,生成一个圆柱体后,我再以+x +y +z方向生成一个长、宽、高分别为160、160、1200的长方体,再在+x –y +z方向生成一个长、宽、高分别为160、160、1200的长方体,将这两个长方体合并成一个长方体。然后用合成的长方体去切圆柱体。即在split volume 面板中使用volume 圆柱体 split with 长方体,条件只选则connected(其余两项如果选择了会怎样,大家只要尝试一下,并看看生成的体怎么样就可以了)。上述操作其实就是把圆柱体劈成两个半圆柱体。此时我们就可以通过切开圆柱体的那个中间的面上边控制网格的质量和长度了。

对于圆柱体上下端面网格的处理,因为端面被分成了两个半圆面。对半圆面上的半圆弧和直径上的边分别划分好网格节点,再生成面网格,就会发现圆面中心区域的面网格的质量好了很多,规整了很多。同时,我在想,如果将圆端面分成四个扇形面,可能可以将网格控制得更好更精细。

在将圆柱体劈成两半的那个面的长边上划分网格节点,就可以控制圆柱体侧面上网格面的长度,从而控制体网格的长度。这是方法二做不到的。

经过测试,发现生成的网格质量比方法二有提高,并且我特别关注的中心区域网格质量很好。

方法四:

此方法是在圆柱的端面上生成一种从圆心向四周辐射开去的面网格。生成这种网格时需要圆心存在一个点,并且要将这个点的属性更改。

具体过程如下:在生成圆柱体后。在在生成体的面板中选择生成一个长方体,长方体的长、宽、高分别为160、160、1200,生成方式采用+x +y +z方式。生成体后,在split volume面板中选择volume 圆柱体 split with 长方体,条件只选则connected。然后我们便得到了一个端面为3/4圆面的体和一个端面为1/4圆面的体。此方法实际是为了方便的在圆柱体端面上划分出圆心。此圆心是我们生成辐射状网格必须的。我们打开生成面网格的面板Mesh>Face,打开十个按钮中第一行第四个按钮set face vertex type,在face中选择1/4圆面的那个体的扇形端面,在Type中选择Trielement,然后在Vertices中选择次面上那个圆心点,点击Apply。然后我们便可以对次面生成面网格,我们会发现在选中这个面的时候,网格类型自动选择为elements为Quad/Tri,Type为wedge primitive,选择合适的尺寸。便可以生成从圆心辐射向外的面网格。

同样的方法处理完3/4圆面的那个体的扇形端面。然后我们可以便可以先在两个体的侧面生成Quad Map网格,因为在面上生成网格,网格的长度可以通过边上的网格节点来控制。最后生成体网格。

此方法生成的网格非常漂亮,但能从网格上直接看出在圆柱端面的中心的网格实际是一很长很窄的扇形,因此可以判断中心处的网格质量很差,但外围的网格质量非常好。检查网格时证明的我的推测是正确的,中心区域网格质量非常差,网格扭曲度达到了0.9-1,但外围的网格质量都非常好。

此方法实际更适合对中心是空心的圆柱体进行网格划分。

以上是我最近所做的课题时对圆柱体网格划分的一些经验总结,希望对大伙,特别是所里面刚刚开始学习Fluent的同学一点帮助。因为Bolg不方便上图,我没有贴图。大家有什么疑问的话,可以来找我。如果大家有什么更好的划分圆柱体的方法,请一定要告诉我哦,呵呵。

流固耦合换热模拟需要注意的地方

近来在做流固耦合换热的模拟,流固耦合换热问题就是流动换热的问题,只不过这里面含有固体参与换热。

个人觉得这些地方在做的时候需要注意的: gambit前处理

1.流体与固体相接触的部分单独设置为墙,取个区别于默认wall的其他名称。 2.设置好边界条件后需要另外设置固体区域和流体区域。 Fluent计算

1. 如果管道细长,需要采用双精度求解器; 2.对固体区域材料的定义; 3.对流体区域材料的定义;

4.流体与固体接触的墙需要设置为耦合换热墙,其余的墙按照实际情况给定温度或热流密度或者为绝热

并行命令:fluent 3d -pnet -t4

Floating point error在很多群里面已经提过很多次了并且也已经对它讨论了许多。我在很多QQ群里面对这个问题也给出了自己解释。 【希望】大家跟帖讨论,把这个问题搞清楚。 【原理】

从数值计算方面看,计算机所执行的运算在计算机内是以浮点数(floating point number)来表示的。那些由于用户的非法数值计算或者所用计算机的所引起的错误称为floating point error。

1)非法运算:最简单的例子是使用Newton Raphson方法来求解f(x)=0的根时,如果执行第N次迭代时有,x=x(N),f’(x(N))=0,那么根据公式

x(N+1)=x(N)-f(x(N))/ f’(x(N))进行下一次迭代时就会出现被0除的错误。 2)上溢或下溢:这种错误是数据太大或太小造成的,数据太大称为上溢,太小称为下溢。这样的数据在计算机中不能被处理器的算术运算单元进行计算。 3)舍入错误:当对数据进行舍入时,一些重的数字会被丢失并且不可再恢复。例如,如果对0.1进行舍入取整,得到的值为0,如果再对它又进行计算就会导致错误。 【避免方法】

计算和迭代:设一个比较小的时间步长会比较好的。或者改成小的欠松驰因子也会比较好。经验来看,把欠松驰因子设为默认值的1/3;降低欠松驰因子或使用耦合隐式求解;改变欠松驰因子,如果是非稳态问题可能是时间步长太大;改善solver-control-limits比例或许会有帮助;你需要降低Courant数;如果仍然有错误,不选择compute from初始化求解域,然后单击init。再选择你想从哪个面初始化并迭代,这样应该会起作用。另外一个原因可能是courant数太大,就样就是说两次迭代之间的时间步太大并且计算结果变化也较大(残差高)。 网格问题:缩放网格时就会发生这个错误。在Gambit中,所有的尺寸都是以mm为单位,在fluent按scale按钮把它转换成m,然后迭代几百次时就会发生这种错误。但是当不把网格缩放到m时,让它和在Gambit中一样,迭代就会成功;我认为你应当检查网格,网格数太多了,使用较少的网格问题就会解决;网格太多,计算机资源不够用,使使比较粗的网格。

边界条件:一个wall边界条件来代迭axis边界条件,结果fluent拒绝计算并告诉floating point error。你的边界条件不能代表真实的物理现象;错误的边界条件定义可能会导致floating point error。例如把内边界设成interior;使用对称边界条件模拟2D区间时也遇到这种问题,把symmetry设为axe symmetric,就发生了floating point error;检查你设的湍流参数,减小湍流强度,先进行50次迭代。

多处理器问题,进行多处理器模拟时也遇到相似的问题。问题的解决方法是在单

个处理器上运行,这样就运算得很好。 错误迭代:

以错误的条件来初始化,在开始迭代时就会发生floating point error。

Error: Floating point error: invalid number 原因: 数据矩阵求解过程中出现的问题。 方法:

1、检查网格质量。

2、检查边界条件和初始条件。4

3、对问题进行深入分析,对比模拟情况与真实情况之间的差距。

License for fluent expires 1-jan-0

Error: sopenoutputfile: unable to open file for output Error Object: \"c:\emp\\kill-fluent696\" 原因: license 过期 方法: 更新license。

absoulte pressure limitted to 5.000e+06 in 1 cells on zone 2 temper limiteed to 5.000e+03 in 1008 cells on zone 2

divergence detected temporarily reduceing courant number to 0.05 ang try again time step reduced in 57 cell

error (large-than)invalid arguement{2} wrong type [not a number]

error object: 1#inf' ]# `0 M9 i: G 原因及方法:

1. 超出受限的警告一般来说湍流粘性比比较多,这个尚不知道很好的解决办法

2. 其他的变量受限,注意检查模型有没有错误,这个主要是力学模型要准确,受后解出来的解可能不是真实解,而大部分都是出现溢出错误,无法继续求解。 2. 解决方法是把 courant number调小一点,把松弛因子调小一点

Error: FLUENT received a fatal signal (SEGMENTATION VIOLATION) Error Object: ()

原因: 非法关闭图片显示窗口导致的,出此错误后,再无法显示图片 方法: 重新启动就可以了 (成功)

Error: WARNING: Invalid axisymmetric grid: 71 nodes lie below the x-axis 发生时机:将网格导入fluent后,检查网格时出现

原因: 是对称轴和x轴没有完全重合,中间有较小的偏差的缘故 方法: 先确定关键点,再连线,最后成面,然后划分网格。

Error:Warning: The use of axis boundary conditions is not appropriate for a 2D/3D flow problem. Please consider changing the zone type to symmetry or wall, or the problem to axisymmetric

发生时机:来我做的是一个球体,为了用二维仿真,我通过划一个半圆,然后将直径设置为axis,在导入fluent后,将space设为axisymmetric,检查网格时便出现了负体积。将space设

为2d就不会有负体积存在了。但是会有警告

原因/方法: 设置axisymmetric或axisymmetric Swirl时,不仅需要将模型的对称轴设为X轴,而且要旋转的面必须在y轴的正半轴一侧,只有这样才不会出现负体积。如图所示,上图由于半圆在y负半轴一侧,划分网格并导入fluent,设置axisymmetric或axisymmetric Swirl后,检查网格就会出现负体积。而另外一幅图由于半圆在y轴正半轴一侧,则不会出现负体积!。 -

Error: File has wrong dimensions (2) Error Object: #f

发生时机:用gambit输出了一个3维模型的网格,将网格导入到fluent时,选择了求解器2d,导致错误产生。

原因/方法:输出的网格维数(二维或三维)与fluent求解器选择的维数(2d或3d)不一致! 对应二维模型的网格在导入fluent时应选择求解器为2d或2ddp,对应三维模型的网格应选择求解器为3d或3ddp,:)。

turbulent viscosity limited to viscosity ratio of 1.000000e+005 in 2 cells & A2 我的解决方法给你说一下希望对你有帮助: 1:你在solve----control-----limit下改变mix turbulent viscosity ratio的设置值(默认是100000) 但是不建议轻易使用,因为这个可能会造成你的解有可能和工实解有出入 2:重新设置一下边界条件,尤其要注意出口和入口(如果有)的湍流动能的设置

3:检查一下你的速度设置在实际中是不是真实存在的,我有一次就是出现了这样的低级错误

4:尽量把网格的质量提高上去,尽量使用结构化的网格这样的好处多多。

FLUENT湍流模型(转)

CFD专业知识 2009-12-09 17:45:28 阅读455 评论0 字号:大中小 订阅 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-ω模型

SST k-ω模型由Menter发展,以便使得在广泛的领域中可以于k-e模型,使得在近壁自由流中k-ω模型有广泛的应用范围和精度。为了达到此目的,k-e模型变成了k-ω公式。SST k-ω模型和标准k-ω模型相似,但有以下改进:

SST k-ω模型和k-e模型的变形增长于混合功能和双模型加在一起。混合功能是为近壁区域设计的,这个区域对标准k-ω模型有效,还有自由表面,这对k-e模型的变形有效。 SST k-ω模型合并了来源于ω方程中的交叉扩散。

湍流粘度考虑到了湍流剪应力的传波。 模型常量不同。

这些改进使得SST k-ω模型比标准k-ω模型在在广泛的流动领域中有更高的精度和可信度。

雷诺压力模型(RSM)

在FLUENT中RSM是最精细制作的模型。放弃等方性边界速度假设,RSM使得雷诺平均N-S方程封闭,解决了关于方程中的雷诺压力,还有耗散速率。这意味这在二维流动中加入了四个方程,而在三维流动中加入了七个方程。由于RSM比单方程和双方程模型更加严格的考虑了流线型弯曲、漩涡、旋转和张力快速变化,它对于复杂流动有更高的精度预测的潜力。但是这种预测仅仅限于与雷诺压力有关的方程。压力张力和耗散速率被认为是使RSM模型预测精度降低的主要因素。RSM模型并不总是因为比简单模型好而花费更多的计算机资源。但是要考虑雷诺压力的各向异性时,必须用RSM模型。例如飓风流动、燃烧室高速旋转流、管道中二次流。 计算成效:cpu时间和解决方案

从计算的角度看Spalart-Allmaras模型在FLUENT中是最经济的湍流模型,虽然只有一种方程可以解。由于要解额外的方程,标准k-e模型比Spalart-Allmaras模型耗费更多的计算机资源。带旋流修正的k-e模型比标准k-e模型稍微多一点。由于控制方程中额外的功能和非线性,RNGk-e模型比标准k-e模型多消耗10~15%的CPU时间。就像k-e模型,k-ω模型也是两个方程的模型,所以计算时间相同。

比较一下k-e模型和k-ω模型,RSM模型因为考虑了雷诺压力而需要更多的CPU时间。然而高效的程序大大的节约了CPU时间。RSM模型比k-e模型和k-ω模型要多耗费50~60%的CPU时间,还有15~20%的内存。

除了时间,湍流模型的选择也影响FLUENT的计算。比如标准k-e模型是专为轻微的扩散设计的,然而RNG k-e模型是为高张力引起的湍流粘度降低而设计的。这就是RNG模型的缺点。 同样的,RSM模型需要比k-e模型和k-ω模型更多的时间因为它要联合雷诺压力和层流。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务