文档库 最新最全的文档下载
当前位置:文档库 › fluent经验

fluent经验

Fluent 菜鸟必读二(转)
第 12 页 共 37 页

因为gambit 的建模工具精度本事就不高。

3。布尔运算就是对于面与面,体与体的联合,相减等运算。这个在所有的cad 建模过程中是经常见到的问

题。

4。对于虚体生成的计算网格,和实体生成的计算网格,在计算的时候没有区别,关键是看你网格生成的质

量如何,与实体虚体无关。

我在作复杂模型计算的时候,大部分都是用的虚体,特别是从其他的建模软件里面导进来的复杂模型,基

本上不能够生成实体。

至于计算的效果如何,那是你对于fluent 的设置问题和网格的质量问题,与模型无关。

可以用gambit 里面的check 功能检查一下你的网格质量,看看质量怎么样

实体、实面与虚体、虚面的区别

在建模中,经常会遇到实...与虚...,而且虚体的计算域好像也可以进行计算并得到所需的结果,对二者的

根本区别及在功能上的不同

对于求解是没有任何区别的,只要你能在虚体或者实体上划分你需要的网格

--------------------------------------------------------------------------------

gambit 的实体和虚体在生成网格和计算的时候对于结果没有任何影响,实体和虚体的主要区别有以下几点:

1。实体可以进行布尔运算但是虚体不能,虽然不能进行布尔运算,但是虚体存在merge,split 等功能。

2,实体运算在很多cad 软件里面都有,但是虚体是gambit 的一大特色,有了虚体以后,gambit 的建模和

网格生成的灵活性增加了很多。

3。在网格生成的过程中,如果有几个相对比较评弹的面,你可以把它们通过merge 合成一个,这样,作网

格的时候,可以节省步骤,对于曲率比较大的面,可能生成的网格质量不好,这时候,你可以采取用split

的方式把它划分成几个小面以提高网格质量

贴子主题: [转帖]请问在温度分布的contour 中如何确定某一温度值的所在网

格中的坐标位置

请问在温度分布的contour 中如何确定某一温度值的所在网格中的坐标位置?

我点的时候在consol window 中只出现

Contour level 4, value in [639.99994, 724.99994](是不是指这一点的温度范围呀,还是其它什么数?).

1.这是表示你点的地方是二条等势线的中间吧,不用flood&line 表示,只用line 表现时,就很清楚 了。

2. 你可以把该数据导出来,比如用文本文档保存,然后在这个文本文档中搜索你要的温度值对应的坐标值就

是你要的 ,先做好你想倒出数据的面,线,点(在surface 菜单里定义出某一座标(x,y,z)),然后在File-export

里导出即可,用第三方软件去处理你的数据。 也可在display 里面就可以显示。

贴子主题: 画网格

注意的两个问题

问题一:在画体网格时总出现initialization failed perturb boundary nodes and try again.但是还在继续画。我想

一定是有问题的。但不知道问题出现在哪里?谨请各位大虾赐教!

问题二:在画面网格时已经定义了spacing,那么在画体网格时再定义,会不会有冲突?还有,究竟怎样定义

才是合理的?

第一个问题:在做网格时,所有的错误提示都表明部分网格生成要么有问题没有生成,要么生成的质量很差,要

重新检查一下几何体和网格类型.

Fluent 常见问题回答 摘自清洁能源论坛,Jim King 整理

第 13 页 共 37 页

第二个问题:如果能够生成网格的话,重复定义没有问题,但是可能会出现生成面网格的spacing 和体网格的

spacing 不一致而产生冲突,这种情况下gambit 会自动处理,但生成的网格质量未必好.

贴子主题: 一个体分成几块分别划网格的问题

1.划分体网格时,为了得到高质量的网格,把体分成了几部分,分别划分网格,是不是导入fluent 时要用

tmerge 合并成一个体网格呀? you can see this example in fluent 6.1.22 Using Sliding Meshes

答:

不用。

在同一GAMBIT 文件中对不同的体划分网格时,最后输出的网格文件包含了所有的网格。

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

面网格划分也是类似的。

2.分块划分网格,定义边界时,交接面还用定义嘛,如果不定义是不是默认为墙呀,要想使其为内部界面,

定义为interface 吗?

答:

split 出来的区域,如果你不定义边界,gambit 会默认为interior.

贴子主题: gambit 在生成体网格的时候出现问题

在用gambit 生成体网格的时候,出现了问题,提示是

Initialization failed to mesh 23 nodes .

ERROR:TG_mesh_domain failed with error code 1.

ERROR:Tegrahedral meshing has failed for volume v_volume.1.

this is usually caused by problems in the face meshs.

check hte skewnesses of your face meshes and make sure the face mesh size are not too large in areas of small

gaps .

我明白这是因为模型中的狭长面太多,但是在修改了大量的狭长面以后,还是存在这个问题,每一个面我

都挨着做了一下网格,看看生成的质量怎么样,检查应该没有问题了,但是在生成体网格的时候,又出现

这个问题,不知道该怎么办

此主题相关图片如下:

Fluent 常见问题回答 摘自清洁能源论坛,Jim King 整理

第 14 页 共 37 页

按此查看图片详细信息

我做网格的时候也经常碰到这种问题

解决办法

1.减小体网格size,当有多个体的时候,体网格从小到大过渡要合理,跨度不要太大

2.合并小面(小面与小面合

并,小面并入大面),变成虚体

我觉得合并小面是个很有效的方法,网格质量也可以得到提升

关键是两个小面之间的夹角很大,合并之后会出现一个像角铁一样的拐角面,做网格的时候效果更差了,

老兄说的合并成虚面的情况应该是两个面的夹角不是太大的情况,减小size 我也试验了,但是减小了以后,

我的网格数量就太多了,算东东的时候机子跑不动

那就把夹角很大的那两个小面部分单独切为一个体算了,对这个体给个很小的size

再试试吧,不行就把它忽略掉

Gambit 生成的网格质量向来让人很头疼的,用ICEM 几乎不出现负体积,这可能跟Gambit 的算法有关系,

Fluent 常见问题回答 摘自清洁能源论坛,Jim King 整理

第 15 页 共 37 页

对于曲率比较大的区域,只能增加该处的网格密度,只能这样了。

贴子主题: 如何进行网格的局部加密

总的来说有两种方法进行网格的局部加密:

一种是在做网格时就进行局部加密。

另外一种是根据计算中间结果进行自适应加密。再fluent 中计算若干步后,可以在adapt 下拉菜单下面选择

根据压力梯度,温度梯度等自适应加密。

1.Gambit 生成的网格如何进行局部加密?

可采用分块生成网格的办法,或使用边界层网格。

2.二维轴对称问题,想在对称轴附近的狭长区域加密网格。

最简单的就是将模型分块,轴附近的狭长区域是一块,其它是另一块,两块分别分网格。

3. 经常出现在两个面交线上的网格间距不同的现象,也就是两块网格不连续的现象,怎么克服这种情况?

将相邻的线(面)merge 或connect 以后,在公共边及其相对的边上设置相同的节点数就好了。 先将交线

分成线网格,可控制间距,再分面网格.

贴子主题: [转帖]gambit 中的三维网格的分类

Map/Hex:产生规则的结构化的六边形网格单元

Submap/hex:把一个不能用mappable 划分的体划分为mappable 区域,在各个区域中产生规则的结构化的

六边形网格单元

Tet Primitive /hex :把一个四面体分成四个六面体区域,在每个区域产生结构化网格

Cooper/hex(hex/wedge):对指定的源面上的节点模式进行扫掠,从而形成体网格;即把一个体看成是一个

或多个逻辑cylinders,每个cylinders 都包括一个桶状和两个盖(源面)

TGrid/(Tet/Hybrid):主要采用四面体单元,但是在恰当的地方也用六面体或者锥体,楔体等单元

Stairstep /hex

贴子主题: [转帖]国内哪一个讲网格划分的书比较好

1.清华大学刘超群《多重网格在流体力学中的应用》

2. ADESON 的fundenmental

贴子主题: 是不是因为网格数太多的原因?

把mesh 文件导

入fluent-check-smooth 出现这样的错误提示:

Warning: ST_Malloc: out of memory.malloc_storage: unable to malloc centroid, size 156112248, t 16, myid

1000000.

Warning: ST_Malloc: out of memory.malloc_storage: unable to malloc face area, size 156112248, t 16, myid

1000000.

Error:

FLUENT received fatal signal (ACCESS_VIOLATION)

1. Note exact events leading to error.

2. Save case/data under new name.

Fluent 常见问题回答 摘自清洁能源论坛,Jim King 整理

第 16 页 共 37 页

3. Exit program and restart to continue.

4. Report error to your distributor.

Error Object: ()

注:网格数是5467919 ,是因为网格数太多还是因为网格的质量差?

在增大interval size 之后,减少了网格数,再进行smooth ,swap 时,就没有出现这样的提示。

网格数太多,机器配置较低

贴子主题: [转帖]网格的划分是否是越细越好

1.从理论来说应该是越细越好,因为fluent 的计算点是在网格的中心处,该点代表着整个cell(也就是你画

的网格的)计算参数,如果越细那么叠代计算的精度也就越高。但是网格越密越就是说fluent 计算量也就

越大,你所要付出的代价也就越大,也就是对计算硬件的要求也就越高,计算所花费的时间也就越长。有

时这是不必要的,这要看实际工程中要求的精度以及你所能提供的硬件水平是什么样的。

2. 任何一种网格划分,过粗或过细都会导致计算失败(计算机有截断误差),针对具体问题,网格划分是

有一定限度的,在这个限度以内,粗一点或细一点对最终结果没有大的影响 .

贴子主题: 把网格导入FLUENT 中计算,在进行检查网格时出错

把网格导入FLUENT 中计算,在进行检查网格时出现下面的情况:

Grid Check

Domain Extents:

x-coordinate: min (m) = -8.860420e+01, max (m) = 8.236770e+01

y-coordinate: min (m) = -2.322830e+01, max (m) = 7.718810e+01

Volume statistics:

WARNING: non-positive volumes exist.

minimum volume (m3): -6.120508e-01

maximum volume (m3): 2.280889e+00

total volume (m3): 8.384403e+03

Face area statistics:

minimum face area (m2): 9.998190e-02

maximum face area (m2): 3.267427e+00

Checking number of nodes per cell.

Checking number of faces per cell.

Checking thread pointers.

Checking number of cells per face.

Checking face cells.

Checking bridge faces.

Checking right-handed cells.

Checking element type consistency.

Checking boundary types:

Checking face pairs.

Checking periodic boundaries.

Fluent 常见问题回答 摘自清洁能源论坛,Jim King 整理

第 17 页 共 37 页

Checking node count.

Checking nosolve cell count.

Checking nosolve face count.

Checking face children.

Checking cell children.

Checking storage.

Done.

WARNING: Grid check failed.


不知道是什么原因?怎么进行修正?

WARNING: non-positive volumes exist.

minimum volume (m3): -6.120508e-01

maximum volume (m3): 2.280889e+00

体单元负体积,错误。

贴子主题: [转帖]装了exceed 7.0 为什么还提示......

装了exceed 7.0 为什么还提示"unable to find exceed X server"

我的系统是98 的。重装了exceed 和fluent 几次也没有用,哪位大侠知道怎么解决?谢了!

回复 [第 2 楼]

这个说明你的exceed 7.0 安装有问题,"unable to find exceed X server"为不能应用exceed,exceed 就是一个

平台文件,如果它不能应用,软件也就不能用。

[第 3 楼]

可能跟系统的杀毒软件有冲突

将杀毒软件关闭,再运行试试看!

[第 4 楼]

可能原因

FLUENT 和Exceed 没有安装在同一个路径下,导致找不到exceed

推荐解决办法

不用重新安装

自己编辑一个批处理文件*.bat,随便放在什么地方,例如桌面上

我的批处理文件如下

start D:\Program Files\Hummingbird\Connectivity\7.00\Exceed\exceed

set DISPLAY=localhost:0

start d:\fluent.inc\ntbin\ntx86\gambit

Fluent 常见问题回答 摘自清洁能源论坛,Jim King 整理

第 18 页 共 37 页

贴子主题: [转帖]"PDF 模型"指的是什么

是概率密度模型,用于燃烧计算。

具体对FLUENT 来说,有PDF 平衡燃烧模型和FLAMELET PDF 燃烧模型。前者假设流体局部化学反应处

于平衡状态计算出流场内各组分分布,因而不需要化学反应基理。而后者需要给定化学反应基理,并考虑

到流场的非平衡因素,最终确定流场的化学反应组分,因而更合理一些。

贴子主题: [转帖]PDF 显示问题

在用PDF 的时候,当display 时候,出现这样的warning:Warning (51/2) from HOOPS routine 'Update_Display'

If a font is scaleable, 'vspace' should be the vspace-to-Aheight ratio

请问这是怎么回事

一个很简单的办法,多点几次ok,就能解决

贴子主题: [转帖]prePDF 里面的PDF Table

在Fluent6.1 的Tutorial Guide 里有个 Tutorial 13. Using the Non-Premixed Combustion Model,对prePDF 里

面的PDF Table(在466 页)不是很理解,特别是其中的X 轴和Z 轴,各自代表的涵义是什么啊?

pdf 是比较简单的反应模型,这里的图,其实也可以看成pdf 预先生成的一个数据库,根据混合分数可以

查得温度等函数值,组成计算所需的温度场

另外找点有关简化的PDF 模型的相关资料,fluent 帮助上是写的不太明白

贴子主题: [转帖]PDF 混合分数的意义

混合分数的意义:PDF 中混合分数是指局部元素质量分数的相对比值。如果没有生成源的话,是一保守量,

并因此决定了流场的热和化学特性。具体定义请查燃烧书或者Fluent 用户手册(Page 14-2)。

贴子主题:

[转帖]点燃问题——三种温度的设置方式的异同

模拟一个燃烧

1)在设定边界条件的时候设设定入口边界条件时温度设成高温!

2)在初始化的时候,温度设成高温!

3)初始化后,在patch。。。里将温度设置成高温!

请问这三种方式的异同,和在模拟燃烧的时候,一般采用那种方式!

1)入口边界条件的温度应根据实际入流情况设定,若燃料空气流没有被预热处理,则不应设高温;

2)初始化高温一般是在整个计算域内;

3)初始化后,patch 高温在点火发生区,相当于数值“火花”的作用。

因此模拟燃烧时一般用2)或3),我自己理解用3)更符合实际一些。

贴子主题: [转帖]如何点燃燃料

1.非预混燃烧,如果空气和煤气不预热或预热的空气温度不高,不能使煤气自燃,好像有一个点燃的问题,

怎么办呀?

patch 一块儿高温区就可以,看看help,里面有说明的。另一个方法始初始化始的温度高就行了,即初始迭

代温度场要大于点燃温度。

Fluent 常见问题回答 摘自清洁能源论坛,Jim King 整理

第 19 页 共 37 页

2 可是初始化时我给了2000K 的温度,二次燃料还是没有点燃,用PATCH 是不是在迭代前执行,只需输

入一个比较高的温度就行

Fluent 中非预混燃烧模型不存在点燃的问题,化学反应直接进行。只有部份预混燃烧问题需要在上游Patch

一块高温区。如果不能保持高温燃烧状态,则说明火焰被吹息,需要调整流动条件才能建立稳定的火焰。

注意,Fluent 中的部份预混燃烧模型仅局限于计算Lift off 的情况,不要过度推广使用。

贴子主题: [转帖]fluent udf 接口的问题

现在用FLUENT 的UDF 来加入模块,但是用compiled udf 时,共享库老是连不上?

解决办法:

1〉你的计算机必须安装C 语言编译器。

2〉请你按照以下结构构建文件夹和存放文件:

libudf/src/*.c (*.c 为你的源程序);

libudf/ntx86/2d(二维为2d,三维为3d)/makefile(由makefile_nt.udf 改过来的)

libudf/ntx86/2d(二维为2d,三维为3d)/user_nt.udf(对文件中的SOURCE,VERSION,P

ARALLEL_NODE 进行相应地编辑)

3〉通过命令提示符进入文件夹libudf/ntx86/2d/中,运行C 语言命令 nmake,如果C 预言

编译器按装正确和你的源程序无错误,那么此时会编译出Fluent 需要的库文件(*.lib)

这时再启动Fluent 就不会出错了

贴子主题: [转帖]FlUENT 中UDF 用编译连接

在使用UDF 中用编译连接,按照帮助文件中给出的步骤去做了,结果在连接中报错“系统找不到指定文

件”。 udf 文件可能不在工作目录中,应该把它拷到工作目录下,或者输入它的全部路径.

贴子主题: [转帖] 用fluen

t 计算如何判断计算是否收敛

这个1e-3 或者1e-4 的收敛标准是相对而言的。在FLUENT 中残差是以开始5 步的平均值为基准进行比较

的。如果你的初值取得好,你的迭代会很快收敛,但是你的残差却依然很高;但是当你改变初场到比较不

同的值时,你的残差开始会很大,但随后却可以很快降低到很低的水平,让你看起来心情很好。其实两种

情况下流场是基本相同的。

由此来看,判断是否收敛并不是严格根据残差的走向而定的。可以选定流场中具有特征意义的点,监测其

速度,压力,温度等的变化情况。如果变化很小,符合你的要求,即可认为是收敛了。一般来说,压力的

收敛相对比较慢一些的。

是否收敛不能简单看残差图,还有许多其他的重要标准,比如进出口流量差、压力系数波动等等。尽管残

差仍然维持在较高数值,但凭其他监测也可判断是否收敛。最重要的就是是否符合物理事实或试验结论。

残差曲线是否满足只是一个表面的现象,还要看进口和出口总量差不得大于1%,而且即使这样子,收敛解也

不一定准确,它和网格划分/离散化误差,以及屋里模型的准确性都有关系.所以得有试验数据做对比活着理论

分析了

Fluent 常见问题回答 摘自清洁能源论坛,Jim King 整理

第 20 页 共 37 页

当然最终是否正确是要看是否与实验数据相符合!但既然有残差图的话,总应该可以大概的看出是否收敛

吧?是否要残差要小到一定的程度,或者是残差不在增长,就可以一定程度上认为是收敛的

残差的大小不能决定是否收敛,我在用FLUENT 计算时,多采用监测一个面的速度(或者是压力、紊动能

等参数)基本上不随着计算时间的推移而变化,就认为基本达到收敛

贴子主题: [转帖]质量守恒收敛判据

据质量守恒,收敛时进、出口的流量数值应大致相等(一般认为进出口质量差值比上入口质量的相对值小于

0.5%时收敛,但是对特殊情况可能不同 ),但符号相反,一般出口流量是负值。

贴子主题: [转帖]残差线出现波形是怎么回事?

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

敛阿?

答:有些复杂或流动环境恶劣情形下确实很难收敛。计算的精度(2 阶),网格太疏,网格质量太差,等都

会使残差波动。

经常遇到,一开始下降,然后出现波动,可以降低松弛系数,我的问题就能收敛,但如果网格质量不好,

是很难的。通常,计算非结构网格,如果问题比较复杂,会出现这种情况,

建议作网格时多下些功夫 。

理论上说,残差的震

荡是数值迭代在计算域内传递遭遇障碍物反射形成周期震荡导致的结果,与网格亚尺

度雷诺数有关。例如,通常压力边界是主要的反射源,换成OUTFLOW 边界会好些。这主要根据经验判断。

所以我说网格和边界条件是主要因素。

贴子主题: 关于残差

残差——是cell 各个Face 的通量之和,当收敛后,理论上当单元体内没有源相时各个面流入的通量也就是

对物理量的输运之和应该为0。最大残差或者RSM 残差反映流场与所要模拟流场(指收敛后应该得到的流

场,当然收敛后得到的流场与真实流场之间还是存在一定的差距)的差距,残差越小越好,由于存在数值

精度问题,不可能得到0 残差,对于单精度计算一般应该低于初始残差1e-03 以下为好,但还要看具体问

题。

一般在Fluent 里可以添加进出口流量监控(print or plot),当残差收敛到一定程度后,还要看进出口流量是

否达到稳定平衡,才可以确认收敛与否。

残差在较高位震荡,需要检查边界条件是否合理,其次检查初始条件是否合适,比如在有激波的流场,初

始条件不合适,会带来流场的震荡。有时流场可能有分离或者回流,这本身是非定常现象,计算时残差会

在一定程度上发生震荡,这时如果进出口流量是否达到稳定平衡,也可以认为流场收敛了(前提是要消除

其他不合理因数)。另外Fluent 缺损地采用多重网格,在计算后期,将多重网格设置为零可以避免一些波长

的残差在细网格上发生震荡。

贴子主题: [转帖]关于定常和非定常

发信人: crd (haha), 信区: NumComp

标 题: 问一个简单问题,何为定常,何为非定常??

发信站: BBS 水木清华站 (Tue Apr 16 10:57:18 2002)

经常见到定常、非定常的概念,但从书上无法找到解释,因为刚接触

流体计算,因此希望那位高手能给解释一下。

Fluent 常见问题回答 摘自清洁能源论坛,Jim King 整理





[转载] 学习fluent必知的几个关系及定义
基本物理量

在fluent中会出现这么几个压力:

Static pressure(静压) Dynamic pressure(动压) Total pressure(总压)

这几个压力是空气动力学的概念,它们之间的关系为:

Total pressure(总压)= Static pressure(静压z) + Dynamic pressure(动压)

滞止压力等于总压(因为滞止压力就是速度为0时的压力,此时动压为0.)

Static pressure(静压)就是你测量的,比如你现在测量空气压力是一个大气压

而在fluent中,又定义了两个压力:

Absolute pressure(绝对压力)

Relative pressure(参考压力)

还有两个压力:

operating pressure(操作压力)

gauge pressure(表

压)

它们之间的关系为:

--------------------------------------------------------------------------------
Absolute pressure(绝对压力)= operating pressure(操作压力) + gauge pressure(表压)
--------------------------------------------------------------------------------

上面几个压力实际上有些是一一对应的,只是表述上的差别,比如:

Static pressure(静压) gauge pressure(表压)

例子:

定义操作压力

对于可压缩流动:

把操作压力设为0 ,把表压看作绝对压力

这个是上传的 rar 格式文件 [点击查看]

流体基本概念

湍流中一些基本概念湍流中一些基本概念

1.湍流附加切应力
在《数值传热学》里讲到湍流粘性系数法时有提到这个概念,但没有明确的解释。湍流粘性系数法就是将湍流应力表示成湍流粘性系数,计算的关键就转化为求解这种湍流粘性系数。根据Boussinesq的假设,将湍流脉动所造成的附加应力与时均的应变率联系起来。根据层流时的流体应力与应变率的本构方程构造出湍流脉动时的方程。从而又引出两个概念——k,ηt,其中k表示的是单位质量流体的湍流脉动动能。ηt就是湍流粘性系数,是空间坐标的函数,取决于流动状态。所谓湍流模型,就是把ηt与湍流时均参数联系起来的关系式。依据确定ηt的微分方程的个数的多少,又有所谓零方程模型,一方程模型及两方程模型等。

2.Boussinesq假设
Boussinesq假设,湍流脉动所造成的附加应力也与层流运动应力那样可以同时均的应变率关联起来。

3.亚格子Reynolds应力
在大涡模拟的时候,直接模拟大尺度涡,但不直接计算小尺度涡,小涡对大涡的影响通过近似的模型来考虑,这种影响称为亚格子Reynolds应力。

这个是上传的 doc 格式文件 [点击查看]

SIMPLE法介绍SIMPLE法介绍

目前使用的 SIMPLE(Semi-Implicit Method for Pressure-Linked Equations)算法,即压力场间接通过连续性方程决定,效果较好,只需给出足够的松弛因子,就可以获得收敛,SIMPLE法即求解压力藕合方程的半隐式法,是求解流场方法中常用的一种,该法是Patankar和Spalding于年提出。其计算布骤为:
(1).首先估计一个试探压力场P*,一般估计P*=0;
(2).用该压力P*求解离散化的N-S方程,得到静态速度场u*、v*、w*;
(3).用上述速度,代入连续性方程导出压力校正方程,求解校正压力P;
(4).求速度校正值u’、v’、w’,得到校正速度u= u* + u’、v= v* + v’、w= w’+ w*;
(5).校正压力分布P= P* + a × P’,其中a为松弛因子;
(6).重复上述过程,直到收敛。

这个是上传的 txt 格式文件 [点击查看]

初始化和边界条件

1 FLUENT的

初始化面板中有一项是设置从哪个地方开始计算(compute from),选择从不同的边界开始计算有很大的区别吗?该怎样根据具体问题选择从哪里计算呢?比如有两个速度入口A和B,还有压力出口等等,是选速度入口还是压力出口?如果选速度入口,有两个,该选哪个呀?有没有什么原则标准之类的东西?
一般是选取ALL ZONE,即所有区域的平均处理,通常也可选择有代表性的进口(如多个进口时)进行初始化。对于一般流动问题,初始值的设定并不重要,因为计算容易收敛。但当几何条件复杂,而且流动速度高变化快(如音速流动),初始条件要仔细选择。如果不收敛,还应试验不同的初始条件,甚至逐次改变边界条件最后达到所要求的条件。

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

FLUENT的湍流模型FLUENT的湍流模型

A、Spart-Alpla单方程模型
B、K-e 双方程模型
C、雷诺应力模型
D、大涡模拟模型

单方程模型在这几种模型的中的计算量最小,它是一种刚刚发展起来的湍流模型,主要针对于航空流体机械的数值模拟,对于其他复杂流动的计算还没有经过验证
双方程湍流模型能够比较准确地模拟各种复杂流动,而且计算量也在工程可以接受的范围;标准k-ε模型解决一般的流动问题,RNG k-ε模型主要应用于旋转坐标系下的流动问题(旋转机械),Realizable k-ε模型主要用于射流、大分离、回流等问题
雷诺

应力模型和大涡模拟主要应用于湍流运动的机理研究中,由于计算量非常大,因此目前还很少用于有复杂几何形状的工程问题中

FLUENT中残差的概念

残差-是cell各个face的通量之和,当收敛后,理论上当单元内没有源项使各个面流入的通量也就是对物理量的输运之和应该为零。最大残差或者RSM残差反映流场与所要模拟流场(只收敛后应该得到的流场,当然收敛后得到的流场与真实流场之间还是存在一定的差距)的残差,残差越小越好,由于存在数值精度问题,不可能得到0残差,对于单精度计算一般应该低于初始残差1e-03以下才好,当注意具体情况,看各个项的收敛情况(比方说连续项不易收敛而能量项容易)。
一般在FLUENT中可以进行进出口流量监控,当残差收敛到一定程度后,还要看进出口流量是否稳定平衡,才可确定收敛与否(翼型计算时要监控升阻力的平衡)。
残差在较高位震荡,需要检查边界条件是否合理,其次检查初始条件是否合理,必如激波的流场,初始条件的不合适会造成流场的振荡。有时流场可能有分离或者回流,这本身是非定常现象,计算时残差会在一定程度上发生振荡,这是如果进出口流量是否达到稳定平衡,也可以认为流场收敛。另外fluent缺省采用多重网格,在计算后期将多从网格设置为0可以避免一些波长的残差在细网格上发生震荡.

udf编译的经验总结

1)安装vc时候,只要选择了“环境变量”这一项,就不需要在“我的电脑 > 属性 > 高级 > 环境变量”中
更改“include”“lib”“path”变量的值,保持默认状态即可;

2)如果是fluent6.1以上的版本,读入你的case文件,只要在define->user-defined->functions->complied中,
add你的udf源文件(*.c)和“udf.h”头文件,然后确定用户共享库(library name)的名称,按“build”,就
相当于nmake用户共享库;在这一步中常出现的错误:

(a)(system "move user_nt.udf libudf\ntx86\2d")0
(system "copy C:\Fluent.Inc\fluent6.1.22\src\makefile_nt.udf libudf\ntx86\2d\makefile")已复制 1 个文件。
0
(chdir "libudf")()
(chdir "ntx86\2d")()
'nmake' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'nmake' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
Done.
而点击load时则出现不可编译的错误:
Opening library "libudf"...
Error: open_udf_library: 系统找不到指定的文件。
Error Object: ()
原因:没有安装vc或者没有选择环境变量。
解决方法:安装vc,并选择环境变量;没有正确设置环境变量的,按以下方法:
. 在我的电脑 > 属性 > 高级 > 环境变量中设置“include”“lib”“path

”变量的值,
. include:D:\Program Files\Microsoft Visual Studio .NET\Vc7\include\
. lib:D:\Program Files\Microsoft Visual Studio .NET\Vc7\lib\
. 找到Microsoft Visual Studio .NET\Vc7\bin\cl.exe的动态链接库mspdb70.dll, 将mspdb70.dll的
路径加入到path的值。
cl.exe 是 the Microsoft Visual Studio的编辑执行文件,只要正确设置环境变量后,你才能看到以下信息:
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
usage: cl [ option... ] filename... [ /link linkoption...

(b)(system "move user_nt.udf libudf\ntx86\3d")0
(system "copy C:\fluent.inc\fluent6.1\src\makefile_nt.udf libudf\ntx86\3d\makefile")已复制 1 个文件。
0
(chdir "libudf")()
(chdir "ntx86\3d")()
udf.c
# Generating udf_names.c because of makefile udf.obj
udf_names.c
udf_names.c(7) : error C2059: syntax error : '}'
udf_names.c(8) : warning C4034: sizeof returns 0
我在c里调试已经通过了,但是在fluent编译时出现问题,我该怎么调试呀?
Done.
解决方法:找到一个带udf的例题,如果udf能正确运行,将该例题的udf源文件example.c另存为一个新文件;
然后,将上面的内容全部删除,将你编写的udf源文件的内容copy到新文件中去,存储这个新文件后,
最后编译和创建用户共享库(build),就不会出现上述问题了。
原因:可能是自己编写udf源文件的模板不对,具体原因我也不太清楚,请大家指教了。

3)然后在define->user-defined->functions->complied中按“load”,即连接共享库到fluent可执行文件中。

fluent理论篇

依据内摩擦剪应力与速度变化率的关系不同,粘性流体又分为牛顿流体和非牛顿流体。牛顿内摩擦定律表示:流体内摩擦剪应力和单位距离上的两层流体间的相对速度成比例。比例系数μ称为流体动力粘度,常简称为粘度。它的值取决于流体的性质、温度和压力大小。若μ为常数,则称为牛顿流体,否则为非牛顿流体。空气、水等均为牛顿流体;聚合溶液、含有悬浮粒杂质或纤维的流体为非牛顿流体。

[技巧]如何使用低雷诺数湍流模型在GUI面板中我们只能看到三种k-e模型,但是实际上低雷诺数湍流模型我们同样可以使用。
具体操作一共有两步,
第一步,先在viscous model面板中选择k-e模型;
第二步,键入下面的命令:
define/models/viscous/tuburlence-expert/low-re-ke y
然后回车
在模型选择面板中我们就可以看见低雷模型low-re-ke model了






Gambit学习笔记
一.边界层
边界层是指定与边或者面相邻区域的网格接点的距离,目的是控制网格密度,从而控制感兴趣区域计算模型的有

用的信息量。
例如:在一个液体流管中,我们知道靠近壁面处的速度剃度大,而中心处的速度剃度小,为了使得壁面处的网格密而中心处的网格稀疏,我们就在壁面处加一边界层。这样我们就能控制网个密度。
要定义一个边界层,你要定义以下参数:
1)边界曾依附的边或者面
2)指定边界层方向的面或者体
3)第一列网格的高度
4)相邻列之间的比例因子
5)总列数,指定了边界层的深度
同时,你也可以指定一个过度边界层。要指定一个过度边界层,你需要定义以下参数(过度模式,过度的列数)
1)生成边界层

需要定义以下参数:

i)size:包括指定第一列的高度和相邻列的比例因子

ii)internal continuity :
当在体的某个面上施加边界层时,gambit会把边界层印在与这个面相邻的所有面上,如果在体的两个或者更多的面上施加边界层,那么边界层就有可能重叠,internal continuity 这个参数就决定了边界层如何重叠

当选择internal continuity 时,gambit不会在相邻的面上互相施加边界层
否则就会在相邻的面上互相施加边界层

具体可以看guide的图示:
同时这个参数还影响施加了边界层的体可以采用何种方式划分网格

corner shape :
gambit 允许你控制conner(即边界层依附的的两条边的连接点处)附近区域网格的形状

iii)Transition Characteristics
需要定义以下两个参数:

Transition pattern

指的是边界层远离依附边或者面那一侧的节点的排布情况
Number of transition rows
这个列数肯定要小于前面指定的那个列数。

iv)Attachment Entity and Direction

指定方向非常重要,可以通过鼠标和list 对话框来完成。

二)边划分网格

1)mesh edges(在边上生成节点)

你可以在一个模型的任何一条边上或者所有边上生成网格节点或者对其进行划分而不生成网格节点。

当你对边进行划分时,只是在边上按照指定的间距进行划分,而不生成网格;如果对其进行网格化时,gambit 按照指定的间距在边上生成节点。

需要定义以下参数:

i)指定要划分的边
soft-link:指定这个参数时,能够在对某一边grading 或者meshing时,同时应用到与这条边link 的其他边上。指定soft-link的状态。
①form 在指定相联的边时,在边之间形成一“链”,没条边只能属于某一个“链”,当你包含的边属于另外一个“链”时,gambit会把那个已经存在的“链”打断。
②maintain 保留所有与指定边相联的“链”
③break 当你包含的边属于另外一个“链”时,gambit会把这条边从"链"中移开,同时不会打断那个“链”

reverse:用于改变边的方向

ii)划分策略
non-symmetric schemes:(划分是相对于边中心对称

的,任何相邻的两间距之比是一个常数R,所不同的是,每种划分策论它决定这个常数R的方式不同),下面六种非对称方法中的前五种的R=f(L,n,l1,ln),其中L,表示边的总长,n,表示分成几段,l1表示第一段的长度,ln表示第二段的长度),而第六种方法R=f(L,n,x),其中x为用户定义参数。
Successive Ratio
参数:R
First Length

Last Length

First Last Ratio

Last First Ratio

Exponent ( 不可以用double-side)
关于double-side:当选择double-side时,gambit把边分成两个部分,然后对每个部分进行划分,当划分的段数为偶数时,GAMBIT在边的中点处有一个节点,当是奇数时,在中间有一间距。


symmetric schemes(两种方法的不同点在于网个节点沿着边的分布方式不同)

Bi-exponent (先把边等分成两份,然后在每份上运用exponent)

x<0.5 节点在中心处密集
x=0.5节点在整条边上的密集度一样
x>0.5节点在两端点处密集

Bell Shaped

iii)网格节点间距

iv)划分网格选项


2)Element Type(单元类型)

2 node
3 node
当选择 2 node线单元时,每条边的节点都是面或者体网格单元的conner点,然而当选择3 node 线单元时,每三个边网格节点只有两个是面或者体网格单元的conner点。

3)Link/Unlink Edge Meshes
当你两条边或者多条边link时,grade或者mesh一条边时,其他相link的边也会按照相同的参数进行grade或者mesh。

4)Split Meshed Edge

split a real or virtual edg是it把这条边split成两条virtual边,共享一virtual 点!

三.面划分网格
1)网格面
你可以对模型中的一个或者多个面进行网格划分

需要定义以下参数:
i)指定要网格化的面
gambit允许指定任何面,面的形状和拓扑特征以及面上的vertex的类型,最终决定了可以采取的网格划分策略
ii)划分网格策略
单元类型 (指定了用于划分面网格的单元的形状)
四边形网格单元
三角形网格单元
四边形/三角形混合网格单元

类型(指定了单元在面上的模式,以上指定的单元类型与下面要指定的type相关)

Map (产生规则的结构化网格)
Submap (把一个非mappable面分成几个mappable面,从而在每个区域产生结构化网格)
Pave (产生非结构化网格)
Tri Primitive (把一个三边形面分成三个四边形部分,在每个部分生成结构化网格)
Wedge Primitive (在楔形面的顶点产生三角形网格单元,从顶点往外生成发散性的网格)

上面两者可以有下面的组合,⊙表示可用的组合
Elements
Type | quad tri quad/tri
map | ⊙ ⊙
submap | ⊙
pave | ⊙ ⊙ ⊙
tri primitive | ⊙
wedge primitive | ⊙

每种可用的组合在给定的面上产生特定的网格节点,但是没种组合都有自己的限定条件,决定它能

否用于某个面的划分。
当你选定某个面是,gambit自动计算其形状和拓扑特征以及节点类型,从而推荐你划分策略,当你选择多个面时,显示推荐的划分策略是针对最后指定的那个面的,你可以强制使用自己定义的网格划分策略。

下面介绍每种组合:
①map-quad:
用于边大于或者等于四的面,并且面要满足mappable条件:如下
vertex:面上必须要四个 END type点,其他的点都是side type.(gambit决定自动推荐那种划分策略根据的是这一点)

注意: 如果一个面由两条边组成,并且每条边都自成封闭,那么gambit会自动采用quad-map策略,即使在逻辑上不是 长方形。比如一个圆柱面。

如果你强制使用quad-map,那么gambit计算vertex,如果不满足条件,则试图改变vertex类型,从而满足条件。

Edge Mesh Intervals :如果你在网格面之前,对面上的边进行了划分或者网格化,那么要采用map-quad进行网格话,则这个逻辑上的四边形的对应边的单元数应该相等

②Quad/Tri-Map (主要用于狭窄的,两条边组成的小面)
规则:
vertex:
面的尖点处的点类型为trielment,其他的点为side
edge mesh intervals:
规则与上类似。

③Submap Meshing Scheme/quad
规则:
vertex:面上的点只能包含这些End, Side, Corner, and Reversal vertices,同时Ne=4+Nc+2Nr,其中Ne为end点的数目,Nc为corner点的数目,Nr为reversal点的数目.

Edge Mesh Intervals

④Quad-Pave

规则:
vertex:没有什么限制
Edge Mesh Intervals :如果你在网格化之前对所有边进行划分,那么在所有边上的总共划分数应该为偶数

⑤Tri-Pave
没什么限制条件、

⑥Quad/Tri-Pave
当你使用Quad/Tri-Pave策略时,gambit主要是采用四边形网格单元,但是在拐角处用三角形单元。你也可以把拐角处的节点转化成trielement.

规则:
vertex:没有什么要求,但是你可以强制让它在拐角处生成三角形或者四边形单元,(通过转化节点类型)

⑦Tri Primitive /quad
三角形面的划分,任何三角形的每边可以包括不止一条边。
规则:
vertex:
三个顶点必须是end vertex,其他的是side vertex

⑧Wedge Primitive

在三边面上生成发散性网格,两个顶点必须是end vertex,第三个顶点为trielement

在trielement点两侧边上的单元数应该相等,如果你在划分面网格前划分边的话

iii)节点间距离
iv)选项

2)移动面上网格节点

3)Smooth Face Meshes

你可以对一个面或者多个面上的网格节点调整位置,从而改进面上节点的一致性
策略:
L-W Laplacian
Centroid Area
Winslow

4)Set Face Vertex Type

i)Specifying the Face指定点所依附的面)

点是依附在面上的,所以要指定一个点,必须指定这个点依附的面,每个点都有可能有好

几种类型,按照它所依附的面不同

ii)指定点的类型(这些点的类型按照下面几点有所不同)
第一:面网格线相交于点的数量
第二:与点邻近的边之间的角度
第三:能够用于的网格划分策略
注:当采用PAVE网格策略时,忽略点的类型

End
Side
Corner
Reversal
Trielement
Notrielement


5 )Set Face Element Type

6 Link/Unlink Face Meshes

四)体网格划分
1)划分

i)Volume(s) to be meshed
选定一个体,体的形状和拓扑特征以及面上的点的类型最终决定了可采用的划分类型和策略
ii) Meshing scheme
第一:定义元素类型
Hex 六面体

Hex/Wedge 六面体和楔体

Tet/Hybrid 四面体
第二:指定划分策略

①Map/Hex 产生规则的结构化的六边形网格单元

volume mappability criteria may be stated as follows:
To be mappable, a volume should contain six sides, each of which can be rendered mappable by the correct specification of vertex types

把非mappable转换成mappable的 方法:
Pentagonal prism Vertex-type specification

Cylinder Virtual edge-split

Clipped cube Virtual face collapse

②Submap/hex 把一个不是mappable的体划分为mappable区域,在各个区域中产生规则的结构化的六边形网格单元
满足下面的要求
Each face must be either mappable or submappable
Opposing submappable faces must be configured consistently with respect to their vertex types.

③Tet Primitive /hex 把一个四面体分成四个六面体区域,在每个区域产生结构化网格

④Cooper /hex(hex/wedge) 对指定的源面上的节点模式进行扫掠,从而形成体网格

把一个体看成是一个或多个逻辑cylinders,每个cylinders都包括一个桶状和两个盖(源面)

At least one face is neither mappable nor submappable.
All faces are mappable or submappable, but the vertex types are specified such that the volume cannot be divided into mappable subvolumes

⑤TGrid/(Tet/Hybrid) 主要采用四面体单元,但是在恰当的地方也用六面体或者,锥体,楔体等单元

⑥Stairstep /hex

iii)Mesh node spacing

iv)Meshing options






细化网格的方法
细化网格有三种办法:1、boundary layer 2、size function 3、grid adaption
Boundary layer是Gambit自带的网格辅助工具,用来加密局部网格密度。操作时可以以面或线为起始,指定一定的比例和网格模式来对计算边界的网格局部改善质量。如在湍流中可以对边壁做Boundary layer,使粘度和速度梯度很好的计算。

Size Function也是Gambit里带的网格工具,比Boundary layer更具体,操作性更强。通过这个操作可以把局部网格质量提高。首先通过source一个需要被提高网格质量的源点,线或面,然后在Attachment指定网格区域。做好Boundary layer后在网格的时候Gambit有个选项可以使用Bounda

ry layer也可以忽略。如一个椭圆柱曲率大的地方用大size的网格会很粗糙,也可能边壁区域做不出网格,采用Size function 可以很好的解决类似的问题。

Grid adaption 是在Fluent里细化或者粗化网格,可以把某些计算区域的网格细化以提高计算准确性,也可以把某些计算区域的网格粗化以节约不必要的计算机资源。通过这个操作可以对根据边界区域,计算出来的梯度,等值线,计算区域,体积,和函数等参数对网格Adapt。把网格导入到fluent里面,把要细化的区域在region里面勾画出来,然后在grid adaption选定所选的区域,然后点击adapt,每点一次,把网格间距缩小1/2。细化后,自动把分界面外的网格也细化了,不过是网格面积是原来的1/2,从而可以达到一个好的过渡。







GAMBIT资料专题
关于网格划分在数值仿真中的重要性,在此就不多说了,相信做这个的版友都了解。下面我就说说GAMBIT学习和使用的一点感受吧。欢迎批评指正和补充,谢谢!

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

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

接着,划分网格。划分网格都是从线网格,面网格,到体网格的;线网格的划分,也就是网格节点的布置,对网格的质量影响比较大,比如歪斜,长宽比,等等,节点密度在GAMBIT中可以通过很多的方法进行控制调整,大家可以看相关的资料。面网格的划分,非结构的网格咱就不说了,结构网格可能有时比较麻烦,这就要求大家最好对那几种网格策略比较了解,比如Quad-Map划分方法所适用的模型形状,在划分的时候对顶点类型及网格节点数的要求(Quad-Map,适用于边数大于或等于4的面,顶点要求为4个End类型,其他为Side类型,对应边的网格节点数必须相等),以此类推,其他的划分方法也有这方面的要求以及适合的形状。当出现了不能划分的时候,可以根据GAMBIT给的提示进行

修改顶点类型或网格节点数来满足划分方法的要求。如果实在不能划分,则退而求其次,改用其他方法进行划分或者对面进行分割;等等。关于体网格的划分,与面网格划分所要注意的东西类似。

最后,记得预览检查网格的质量。如果网格的质量不好,你就不要抱着侥幸的心理交给Fluent计算了,那肯定是算不好的。所以划分网格要有耐心,不断地调整,直到满足要求为止。



一点小知识:

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

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

https://www.wendangku.net/doc/ad552966.html,/APPS/YPlus/

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

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

https://www.wendangku.net/doc/ad552966.html,/dvbbs/dispbbs.asp?BoardID=61&ID=1302&replyID=&skin=1






fluent启动低雷诺数模型
在GUI面板中我们只能看到三种k-e模型,但是实际上低雷诺数湍流模型我们同样可以使用。
具体操作一共有两步,
第一步,先在viscous model面板中选择k-e模型;
第二步,键入下面的命令:
define/models/viscous/tuburlence-expert/low-re-ke y
然后回车
在模型选择面板中我们就可以看见低雷模型low-re-ke model了






湍流模型
湍流模型,就是以雷诺平均运动方程与脉动运动方程为基础,依靠理论与经验的结合,引进一系列模型假设,而建立起的一组描写湍流平均量的封闭方程组。

湍流模型,是指确定湍流输运项的一组代数或微分方程,通过这组方程,Reynolds方程得以封闭.它基于对湍流过程的假设,借助经验常数或函数,建立高阶湍输运项与低阶湍输运项直至与平均流之间的某种关系。

k-ε模型

① 标准的k-ε模型:

最简单的完整湍流模型是两个方程的模型,要解两个变量,速度和长度尺度。在FLUENT中,标准k-ε模型自从被Launder and Spalding提出之后,就变成工程流场计算中主要的工具了。适用范围广、经济、合理的精度。它是个半经验的公式,是从实验现象中总结出来的。

湍动能输运方程是通过精确的

方程推导得到,耗散率方程是通过物理推理,数学上模拟相似原型方程得到的。 振动资讯

应用范围:

该模型假设流动为完全湍流,分子粘性的影响可以忽略,此标准κ-ε模型只适合完全湍流的流动过程模拟。

② RNG k-ε模型:

RNG k-ε模型来源于严格的统计技术。它和标准k-ε模型很相似,但是有以下改进:
a、RNG模型在ε方程中加了一个条件,有效的改善了精度。

b、考虑到了湍流漩涡,提高了在这方面的精度。

c、RNG理论为湍流Prandtl数提供了一个解析公式,然而标准k-ε模型使用的是用户提供的常数。

d、标准k-ε模型是一种高雷诺数的模型,RNG理论提供了一个考虑低雷诺数流动粘性的解析公式。这些公式的作用取决于正确的对待近壁区域。

这些特点使得RNG k-ε模型比标准k-ε模型在更广泛的流动中有更高的可信度和精度。

③ 可实现的k-ε模型:

可实现的k-ε模型是近期才出现的,比起标准k-ε模型来有两个主要的不同点:

·可实现的k-ε模型为湍流粘性增加了一个公式。


·为耗散率增加了新的传输方程,这个方程来源于一个为层流速度波动而作的精确方程。

术语“realizable”,意味着模型要确保在雷诺压力中要有数学约束,湍流的连续性。

应用范围:

可实现的k-ε模型直接的好处是对于平板和圆柱射流的发散比率的更精确的预测。而且它对于旋转流动、强逆压梯度的边界层流动、流动分离和二次流有很好的表现。

可实现的k-ε模型和RNG k-ε模型都显现出比标准k-ε模型在强流线弯曲、漩涡和旋转有更好的表现。由于带旋流修正的k-ε模型是新出现的模型,所以现在还没有确凿的证据表明它比RNG k-ε模型有更好的表现。但是最初的研究表明可实现的k-ε模型在所有k-ε模型中流动分离和复杂二次流有很好的作用。

该模型适合的流动类型比较广泛,包括有旋均匀剪切流,自由流(射流和混合层),腔道流动和边界层流动。对以上流动过程模拟结果都比标准k-ε模型的结果好,特别是可再现k-ε模型对圆口射流和平板射流模拟中,能给出较好的射流扩张。

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模型
1.RNG k-e模型
RNG k-e模型来源于严格的统计技术。它和标准k-e模型很相似,但是有以下改进:
?RNG模型在e方程中加了一个条件,有效的改善了精度。
?考虑到了湍流漩涡,提高了在这方面的精度。
?RNG理论为湍流Prandtl数提供了一个解析公式,然而标准k-e模型使用的是用户提供的常数。
?然而标准k-e模型是一种高雷诺数的模型,RNG理论提供了一个考虑低雷诺数流动粘性的解析公式。这些公式的效用依靠正确的对待近壁区域
这些特点使得RNG k-e模型比标准k-e模型在更广泛的流动中有更高的可信度和精度。
2.带旋流修正的 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模型中流动分离和复杂二次流

相关文档