您好,欢迎来到年旅网。
搜索
您的当前位置:首页学习FLUENT简单、常见问题汇总

学习FLUENT简单、常见问题汇总

来源:年旅网
学习FLUENT简单问题解答,常见问题汇总

1 现在用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就不会出错了。

2 在使用UDF中用编译连接,按照帮助文件中给出的步骤去做了,结果在连接中报错

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

3 这个1e-3或者1e-4的收敛标准是相对而言的。在FLUENT中残差是以开始5步的平均值为基准进行 比较的。如果你的初值取得好,你的迭代会很快收敛,但是你的残差却依然很高;但是当你改变初 场到比较不同的值时,你的残差开始会很大,但随后却可以很快降低到很低的水平,让你看起来心 情很好。其实两种情况下流场是基本相同的。

由此来看,判断是否收敛并不是严格根据残差的走向而定的。可以选定流场中具有特征意义的点, 监测其速度,压力,温度等的变化情况。如果变化很小,符合你的要求,即可认为是收敛了。 一般来说,压力的收敛相对比较慢一些的。 是否收敛不能简单看残差图,还有许多其他的重要标准,比如进出口流量差、压力系数波动等等 尽管残差仍然维持在较高数值,但凭其他监测也可判断是否收敛。最重要的就是是否符合物理事实或试验结论。

残差曲线是否满足只是一个表面的现象,还要看进口和出口总量差不得大于1%,而且即使这样子, 收敛解也不一定准确,它和网格划分/离散化误差,以及屋里模型的准确性都有关系.所以得有试验数据做对比活着理论分析了。当然最终是否正确是要看是否与实验数据相符合!但既然有残差图的话,总应该可以大概的看出 是否收敛吧?是否要残差要小到一定的程度,或者是残差不在增长,就可以一定程度上认为是收敛的。

残差的大小不能决定是否收敛,我在用FLUENT计算时,多采用监测一个面的速度(或者是压力、 紊动能等参数)基本上不随着计算时间的推移而变化,就认为基本达到收敛

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

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

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

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

经常遇到,一开始下降,然后出现波动,可以降低松弛系数,我的问题就能收敛,但如果网格质量不好,是很难的。通常,计算非结构网格,如果问题比较复杂,会出现这种情况,建议作网格时多下些功夫 。 理论上说,残差的震荡是数值迭代在计算域内传递遭遇障碍物反射形成周期震荡导致的结果, 与网格亚尺度雷诺数有关。例如,通常压力边界是主要的反射源,换成OUTFLOW边界会好些。

这主要根据经验判断。所以我说网格和边界条件是主要因素。

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

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

7 模型比较复杂,是在pro/E中建的模,然后用igs导入gambit,不过这样就产生了很多碎线和碎面并且在一些面交界的地方还存在尖角。我曾经做成功过把它们统统merge成一个虚面,中间设臵了一个可以 容忍尖角的参数,也可以划分网格,但把生成的msh文件导入fluent就会出错,这是virtual geometry 的原因还是因为尖角的原因?还有,virtual geometry和普通的真实的几何体到底有什么区别?好像最大的区别是virtual geometry不能进行布尔操作,布尔操作(boolean operation)又是什么?

使用virtual geometry需要注意哪些问题?

virtual geometry是很头疼的问题。你把它们统统merge成一个虚面 按理说全是虚的也是可以算的。可能是因为尖角的原因,虚实最大差别:是virtual geometry不能进行布尔操作,boolean operation即是并对于复杂外形的网格生成,不可避免的会用到virtual geometry,virtual face ,和virtual edge等,

1 作网格的时候,把所有的面全部合成一个虚面的做法不好,特别是对于复杂外形的网格生成,你最好在模型变化剧烈的地方多分几个面,这样会更有效的

控制网格能够在模型表面曲率比较大的地方能够生成规则的结构或者非结构网格。

2对于你输入gambit的时候产生很多碎片的问题,你可以适当的把proe里面的模型精度和它的公差降低 ,因为gambit的建模工具精度本事就不高。 3布尔运算就是对于面与面,体与体的联合,相减等运算。这个在所有的cad建模过程中是经常见到的问题。

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

我在作复杂模型计算的时候,大部分都是用的虚体,特别是从其他的建模软件里面导进来的复杂模型,基本上不能够生成实体。

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

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

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

在建模中,经常会遇到实...与虚...,而且虚体的计算域好像也可以进行计算并得到所需的结果, 对二者的根本区别及在功能上的不同, 对于求解是没有任何区别的,只要你能在虚体或者实体上划分你需要的网格gambit的实体和虚体在生成网格和计算的时候对于结果没有任何影响,实体和虚体的主要区别有以下几点:

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

2实体运算在很多cad软件里面都有,但是虚体是gambit的一大特色,有了虚体以后, gambit的建模和网格生成的灵活性增加了很多。 3在网格生成的过程中,如果有几个相对比较平坦的面,你可以把它们通过merge合成一个 ,这样,作网格的时候,可以节省步骤,对于曲率比较大的面,可能生成的网格质量不好, 这时候,你可以采取用split的方式把它划分成几个小面以提高网格质量

8 问题一:在画体网格时总出现initialization failed perturb boundary nodes and try again. 但是还在继续画。我想一定是有问题的。但不知道问题出现在哪里?谨请各位大虾赐教!

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

第一个问题:在做网格时,所有的错误提示都表明部分网格生成要么有问题没有生成, 要么生成的质量很差,要重新检查一下几何体和网格类型.

第二个问题:如果能够生成网格的话,重复定义没有问题,但是可能会出现生成面网格的 spacing和体网格的spacing不一致而产生冲突,这种情况下gambit会自动处理, 但生成的网格质量未必好.

9 在用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 .

我明白这是因为模型中的狭长面太多,但是在修改了大量的狭长面以后,

还是存在这个问题,每一个面我都挨着做了一下网格,看看生成的质量怎么样, 检查应该没有问题了,但是在生成体网格的时候,又出现这个问题,不知道该怎么办

解决办法

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

2.合并小面(小面与小面合并,小面并入大面),变成虚体我觉得合并小面是个很有效的方法,网格质量也可以得到提升,关键是两个小面之间的夹角很大,合并之后会出现一个像角铁一样的拐角面, 做网格的时候效果更差了,老兄说的合并成虚面的情况应该是两个面的夹角不是 太大的情况,减小size我也试验了,但是减小了以后,我的网格数量就太多了,

算东东的时候机子跑不动那就把夹角很大的那两个小面部分单独切为一个体算了,对这个体给个很小的size,再试试吧,不行就把它忽略掉Gambit生成的网格质量向来让人很头疼的,用ICEM几乎不出现负体积,这可能跟 Gambit的算法有关系,对于曲率比较大的区域,只能增加该处的网格密度,只能这样了。

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

2 要判断自己模拟的结果是否是正确的,似乎解的收敛性要比那些初始条件和边界条件更重要,可以这样理解吗?也就是说,对于一个具体的问题,初始条件和边界条件的设定并不是唯一的,为了使解收敛,需要不断调整初始条件和边界条件直到解收敛为止,是吗?如果解收敛了,是不是就可以基本确定模拟的结果是正确的呢?

对于一个具体的问题,边界条件的设定当然是唯一的,只不过初始化时可以选择不同的初始条件(指定常流),为了使解的收敛比较好,我一般是逐渐的调节边界条件到额定值( \"额定值\"是指你题目中要求的入口或出口条件,例如计算一个管内流动,要求入口压力和温度为10MPa和3000K,那么我开始叠代时选择入口压力和温度为1MPa和500K(假设,这看你自己问题了),等流场计算的初具规模、收敛的较好了,再逐渐调高压力和温度,经过好几次调节后最终到达额定值10MPa和3000K,这样比一开始就设为10MPa和3000K收敛的要好些)这样每次叠代可以比较容易收敛,每次调节后不用再初始化即自动调用上次的解为

这次的初始解,然后继续叠代。即使解收敛了,这并不意味着就可以基本确定模拟的结果是正确的,还需要和实验的结果以及理论分析结果进行对比分析。

11 这个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的一面是流体,而另一面是固体的情况。此时可以进行流体-固体的耦合计算。

*****静温和总温度

总温即驻点温度,速度完全滞止时的温度,静温即当地的热力学温度 两者有计算关系式的,和总压、静压差不多也有区别呀…… 比如说总温可以看作流体能量的一个度量,总压就不可以…… 绝热流总温沿流线不变,总压是下降的(不等熵)……

速度嘛就是流体宏观运动的速度呀,由能量守衡知道,机械能和热能的总和是守衡的, 当机械能全部转化为热能,准确点说这里应该指动能全部转化的时候,即速度为0的时候, 那一点的温度就是驻点温度,也就是总温,这样的点在实际流场中可能存在,如前驻点, 也可能不存在,只是一种换算而已,用来描述流体总能量的参量。 静温就是一般意义上的温度,就是你在那一点能测量出来的温度,比如你说的火场, 那么实际温度,比如说1000度,这个就是静温:)静温是区别总温的

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

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

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

3、要满足质量守恒(计算中不牵涉到能量)或者是质量与能量守恒(计算中牵涉到能量)。 特别要指出的是,即使前两个判据都已经满足了,也并不表示已经得到合理的收敛解了, 因为,如果松弛因子设臵得太紧,各参数在每步计算的变化都不是太大,也会使前两个判据得到满足。此时就要再看第三个判据了。 还需要说明的就是,一般我们都希望在收敛的情况下,残差越小越好,但是残差曲线是全场求平均的结果,有时其大小并不一定代表计算结果的好坏,有时即使计算的残差很大但结果也许是好的,关键是要看计算结果是否符合物理事实,即残差的大小与模拟的物理现象本身的复杂性有关,必须从实际物理现象上看计算结果。比如说本斑最近在算的一个全机模型,在大攻角情况下,解震荡得非常厉害,而且残差的量级也总下不去,但这仍然是正确的,为什么呢,因为大攻角下实

际流动情形就是这样的,不断有涡的周期性脱落,流场本身就是非定常的,所以解也是波动的,处理的时候取平均就可以呢:) 问题1:

如果体网格做好后,感觉质量不好,然后将体网格删除,在其面上重新作网格,结果发现网格都脱离面,不再附体了,比其先前的网格质量更差了. 原因:

删除体网格时,也许连同较低层次的网格都删除了.上面的脱离面可能是需要的体的面.

解决方法: 重新生成了面,在重新划分网格 问题2:

在gambit下做一虚的曲面的网格,结果面上的网格线脱离曲面,由此产生的体网格出现负体积.

原因: 估计是曲面扭曲太严重造成的 解决方法:

可以试试分区域划分体网格,先将曲面分成几个小面,生成各自的面网格,再划体网格。 问题3:

当好网格文件的时候,并检查了网格质量满足要求,但输出*.msh时报错误. 原因:

应该不是网格数量和尺寸.可能是在定义边界条件或continuum type时出了问题. 解决方法:

先把边界条件删除重新导出看行不行.其二如果有两个几何信息重合在一起, 也可能出现上诉情况,将几何信息合并掉. 问题4:

当把两个面(其中一个实际是由若干小面组成,将若干小面定义为了group了)拼接在一起,也就是说两者之间有流体通过,两个面个属不同的体,网格导入到fluent时,使用interface时出现网格check的错误,将interface的边界条件删除,就不会发生网格检查的错误.如何将两个面的网格相连. 原因:

interface后的两个体的交接面,fluent以将其作为内部流体处理(非重叠部分默认为wall,合并后网格会在某些地方发生畸变,导致合并失败.也可能准备合并的两个面几何位臵有误差,应该准确的在同一几何位臵(合并的面大小相等时),在合并之前要合理分块 解决方法:

为了避免网格发生畸变(可能一个面上的网格跑到另外的面上了),可以一面网格粗,一面网格细,避免; 再者就是通过将一个面的网格直接映射到另一面上的,两个面 默认为interior.也可以将网格拼接一起. 1、关于fluent中流固耦合传热的讨论,见

http://www.aoxue.org/cgi-bin/bbs ... 7102&h=1#1380和 http://www.aoxue.org/cgi-bin/bbs ... 98&h=1#233087 2、关于入口速度设臵的讨论,见

http://www.aoxue.org/cgi-bin/bbs ... 2671&h=1#1842 3、关于gambit建模出现的问题的讨论,见:

http://www.aoxue.org/cgi-bin/bbs ... 2453&h=1#247622

4、关于出口条件的设臵问题,见:

http://www.aoxue.org/cgi-bin/bbs ... 6815&h=1#206126

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

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

2 要判断自己模拟的结果是否是正确的,似乎解的收敛性要比那些初始条件和边界条件更重要,可以这样理解吗?也就是说,对于一个具体的问题,初始条件和边界条件的设定并不是唯一的,为了使解收敛,需要不断调整初始条件和边界条件直到解收敛为止,是吗?如果解收敛了,是不是就可以基本确定模拟的结果是正确的呢?

对于一个具体的问题,边界条件的设定当然是唯一的,只不过初始化时可以选择不同的初始条件(指定常流),为了使解的收敛比较好,我一般是逐渐的调节边界条件到额定值( \"额定值\"是指你题目中要求的入口或出口条件,例如计算一个管内流动,要求入口压力和温度为10MPa和3000K,那么我开始叠代时选择入口压力和温度为1MPa和500K(假设,这看你自己问题了),等流场计算的初具规模、收敛的较好了,再逐渐调高压力和温度,经过好几次调节后最终到达额定值10MPa和3000K,这样比一开始就设为10MPa和3000K收敛的要好些)这样每次叠代可以比较容易收敛,每次调节后不用再初始化即自动调用上次的解为这次的初始解,然后继续叠代。即使解收敛了,这并不意味着就可以基本确定模拟的结果是正确的,还需要和实验的结果以及理论分析结果进行对比分析。 在fluent中,用courant number来调节计算的稳定性与收敛性。一般来说,随着courant number的从小到大的变化,收敛速度逐渐加快,但是稳定性逐渐降低。所以具体的问题,在计算的过程中,最好是把courant number从小开始设臵,看看迭代残差的收敛情况,如果收敛速度较慢而且比较稳定的话,可以适当的增加courant number的大小,根据自己具体的问题,找出一个比较合适的courant number,让收敛速度能够足够的快,而且能够保持它的稳定性

对于流体力学试验、数值模拟、理论研究的关系,本人以为应当从哲学的方面借以揭示。

因为我们是在蒙着眼睛过河,我们面对的是不清楚的事实,通过观察,测量,得到数据,

然后用自己接受的一套规律把它理解,最后依靠这套规律来预测、解释和研究这个事实。

我们都是被动的在接受存在的事物。这就像哲学上的认识论,人类的知识总是在不断增加,

但最终能够完全认识整个宇宙吗?恐怕没有答案。人们对流体的认识不断加深,但最终能

够完全用数学描述流体吗?不可能。那我们做理论来做什么?为了尽可能的了

解,而作数

模则是在尽可能了解的基础上做近似,用求解通过观察获得的理论的方法来反演事实。这

肯定是不准确的,但如果方法正确,应该是近似准确的。就像很简单的两个球,假定他们

是绝对刚体,则我们的动量定理可以发挥作用,但刚体并不存在。所以我们的认识是错误

的,但却在一定条件下接近正确。所以说,做数值模拟的最终结果需要试验来验证,但试验

的正确性需要谁来验证?反复的试验?

问题:比较两种耦合算法的性能,怎样把二者的RESIDUAL HISTORY 放到一张图上呢?

RESIDUAL 中没有WRITE FILE 这一选项呀? 答:计算完毕以后,首先把二者的RESIDUAL HISTORY图拷贝下来,然后可以放到一张图上编辑.

用Tecplot显示Fluent计算的轴对称流场,请问如何把对称轴的下面一般流场显示出来?Fluent保存的流场数据和网格都是只有上半流场的。

答:复制一下上半场(Create Zone),把Y的符号反号一下就可以了(Equation)。

另外最简单的办法,自己写一段小程序,将数据复制一份,之后反号。

问:一对相互平行的斜面,几何结构和尺寸完全相同,用相同的参数控制网格,结果却不相同,相互之间相差将近10个网格。这样的话,要实现cooper的拓扑功能,只能由一个面映射到对面,同时也会导致体网格严重畸变。所以想先划分两个平行面的面网格,然后利用cooper实现体网格的生成。可是两个面的网格结构即使存在细微的差别,也会导致体网格生成失败,不知道大家有没有遇到这种情况

答:你说的情形应该是不可能出现的,如果使用了虚体,你仔细检查一下你对应的线是不是正确,我曾经碰到过这种情形,如果两边都是实体,应该是完全一样的

-------------------------------------------------------------------------------- 问:我用的就是实体,一个四分之一圆柱,用一组相互平行的斜面进行Split操作,得到几个相互连接的体,而在所得到的这些切割面上生成面网格,死活都不能一致

答:你只要严格控制对应边的节点个数,对应面网格自然会相同,也就可以Fluent后处理的匹处理!

如果有很多个只有边界条件不同的cas/dat文件要进行处理,可以这样做: file----write----start journal---(命名一个记录文件); 然后 fluent 把你下面的每一步操作记录下来, 在你想记录结束的时候,file----write-----stop journal 对于下一个文件,file----read----journal-----(那个记录文件),你原来的操作在新的cas、dat文件上从来一遍。

计算中的疑问 turbulent viscosity limited to viscosity ratio of 1.000000e+5 in cell **,是说明什么?计算有问题了吗?

是指在计算过程中turbulent viscosity超过了设定的阈值.如果实际中的确是超过的话,可以在solve->controls->limits中调整.更详细的说明请看帮助!

什么是旋流数?

切向动量和轴向动量比. 强旋流动用混合长,K-e模型都不行,反应不出强旋情况下的各向异型。用代数应力模型或者雷诺应力模型比较合适。 关于模拟湍流流场适用性的问题具体可以参考周力行的书。

一般来说,混合长,K-e模型(用的最广)算自由射流,剪切流,弱旋,无浮力流等等 各向异型不强的情况符合很好。对强旋流动,也可以采用修正后的K-e模型(有很多修正,对强旋就找针对强旋修正的模型)

用于生成流场的边界,已有了这根曲线上足够多点的坐标了。然后想用CAD做,完了再导入到Gambit里面,但是结果导入后发现曲线被分成了很多段,怎么让它连接成一根光滑的线呢? 另外好像CAD里面只能导出region,单单一根线怎么导出的?

直接用jou文件导入gambit,格式用 vertex create coordinate x y z 用fortran编,把你每个点的坐标放到前面\" vertex create coordinate\"命令后面,然后文件名字用.jou,最后用gambit运行jou,然后扫描点生成曲线,肯定光滑.

关于湍流问题的数值模拟

目前工程中常用基于Reynolds平均的方法,用各种封闭方法来获得时均的控制方程, 以求得工程上比较受关心的时均流场及湍动信息,但实际上在诸如化工、冶金、能源等诸多过程工业领域内常碰到的混合,扩散等等问题,时均模型在解释这些过程的物理机制时常常显得力不从心.DNS, LES等方法,试图在空域和时域上都能更精确的贴近湍流过程,但以目前大众化的计算能力来看,用来分析工程实际似乎还是有较远的距离近期内这种矛盾如何更好地解决?

这个问题,应该说关于湍流模拟的很多领域都存在。现在对于各领域的湍流模拟,有两条路: 一是通过简化的模拟,包括简化的模型、边界条件以及算法等,这样可以以较快的速度 较小的代价获得计算结果,仍然保持了数值模拟能获得详细信息的优点,但是这些简化的 方法一般都得基于高级的模拟技术或实验,适用性也需要认真考虑。但是由于现在高级模拟技术和实验技术的发展,现在的一些简化方法不像湍流模拟初期的简化模型了,应该是建立在高级技术上的简化方法,反映了人们认识事物否定之否定的哲学观吧。因为,简化计算肯定是人们希望和喜欢的,尤其是对于实际的工程应用而言。

二是刚好与1相反的路子,尽可能采用最先进的数值计算技术来模拟湍流,如LES甚至DNS等,并且对复杂形状的非结构化网格、有限元,算法中的多重网格,以及各类边界 条件和差分格式等。可以说这是研究的必经之路,但的确对于分析工程实际不适用。 以上两条路就像太极的阴阳两面,看似矛盾,但也是相互补充的。我认为目前研究的一个路子可以是借助二认识一些细节,继而提炼简化模型和方法到一的层次,解决工程问题。 当然,这其中涉及到如何简化,如何适用具体情形等,这似乎已经超出了数值模拟所能解决的范畴,而应该是人们对事物本质的认识问题。

常见问题reversed flow in xx faces on pressure-outlet

据我的了解,出现回流后影响不影响计算精度主要是看实际有没有回流。如果实际有回流,则计算出来的回流是确实存在的。则此时的回流参数应靠试验来确定。所谓的回流参数是指计算中一旦出现回流,则从出口流回来的物理量(如组分)是多少!

当实验中没有回流,而计算中出现回流时,要分成两种情况来讨论。在讨论这个以前,有必要将产生假回流的原因仔细说一下。产生假回流主要是由于不好的初始条件或是上次迭代的结果所计算的系数被代入使矩阵迭代而产生的结果。这样说,则可把问题分为两类。一类是计算中出现回流,而计算最后没有回流的,这样的话,可以将迭代中没有回流以后的任意步看作初始条件,这样设不设回流参数都是无所谓的。第二种问题是计算最后还有回流。这就可能是你边界条件或是物性什么的原因了,即使设臵回流参数,结果也是不足取的。

1.单位的规定

1)不管你使用的是什么单位,下面这些必须使用SI单位 Boundary profiles Source terms

Custom field functions

Data in externally created XY plot files User-defined functions

2)如果你用与温度有关的多项式(分段多项式函数)定义一个材料的特性,那么注意方程中的温度单位是K。 2.网格中的单位

一些生成网格的程序允许使用不同的单位,但是在导入到fluent中时,总是假设长度单位时M 3.内臵的单位系统

fluent提供四种单位British,SI,CGS,默认,你可以在它们之间进行切换 4.用户定义单位

如果你要使用混合单位或者使用fluent中没有提供的单位,那么你自己定义。 1)改变量的单位

fluent允许你改变各个量的单位,这在你需要使用内臵的单位系统,但又要改变某个量的单位时非常有用。例如你的问题要使用SI单位,但是几何尺寸是以英寸给出的,那么你就可以选择SI,然后长度单位从M改成英寸 2)定义新的单位 比例因子为Thus the conversion factor should have the form SI units/custom units

网格数与计算时间:网格数与计算时间是否存在一个大致关系

答:计算时间和网格数,湍流模型,离散格式阶数等都有关系。一般每十万个单元需要100M内存,估计你计算20万左右的网格没有问题。我的体会是在CPU速度和内存两者中,计算速度和内存的关系更大。我试过同一个case,换到一个其他配臵相同、内存大4倍的机子上,计算速度感觉差不多增加了一个数量级。至于具体的计算时间没有统计过,给你一个参考数据吧:62万网格,

segregated solver,RSM模型,一阶精度,机子配臵是P4 1.7G,512M DDR内存,计算100步要2个小时。

如何在tecplot9.0的3D的图中,作垂直于某一轴的平?

tecplot里面是可以的以V7.5为例子,在做出3D图后,做如下操作 1) data->extract->slice 然后在其中做相应设臵(切片的设臵)

2) data->delete zone 删除原来3D图像的zone剩下的即为切片的效果 data中的triangulate的作用好像是tecplot自动进行插值的命令。例如你的数据文件如果不是按照tecplot要求的某些格式输入,那么你在使用tecplot的contour, streamtrace等功能时会出错错误类型大概是data out of region(大概是)这时你可以进行triangulate 然后生成一个新的zone,对新的zone即可进行上述不能进行的操作,这是个人使用的体会,不一定正确的:) 呵呵

请问fluent的计算精度问题? 工程中一般用双精度格式就足够了,倒不光是为了收敛快实际高精度格式计算的结果未必一定比二阶精度的好,尤其对于复杂的边界所以fluent就提供了二阶精度,一般可以先用一阶精度算出大致的流场再修改网格,换用二阶精度计算。说实话,因为是商业软件,当然不能用于科学研究用。记得刚开始用fluent的时候,为了测试,就拿后台阶模型来算,结果算得的再附点只有实验值的60%都不到后来才知道,k-epsilon模式本身就不适合计算这样的问题的:)

什么是CFD?

CFD软件是计算流体力学(Computational fluid Dynamics)软件的简称,是专门用来进行流场分析、流场计算、流场预测的软件。通过CFD软件,可以分析并且显示发生在流场中的现象,在比较短的时间内,能预测性能,并通过改变各种参数,达到最佳设计效果。CFD的数值模拟,能使我们更加深刻地理解问题产生的机理,为实验提供指导,节省实验所需的人力、物力和时间,并对实验结果的整理和规律的得出起到很好的指导作用。

随着计算机硬件和软件技术的发展和数值计算方法的日趋成熟,出现了基于现有流动理论的商用CFD软件。商用CFD软件使许多不擅长CFD的其它专业研究人员能够轻松地进行流动数值计算,从而使研究人员从编制繁杂、重复性的程序中出来,以更多的精力投入到考虑所计算的流动问题的物理本质、问题的提法、边界(初值)条件和计算结果的合理解释等重要方面,这样最佳地发挥了商用CFD软件开发人员和其它专业研究人员各自的智力优势,为解决实际工程问题开辟了道路。

使用CFD,你首先得建立你想研究的系统或装臵的计算模型;然后将流体流动的物理特性应用到虚拟的计算模型,CFD软件将输出你想要的流体动力性质。CFD是一种高级的分析技术,它不仅可以预测流体的行为,同时还可以得到传质(如分离和溶解),传热,相变(如凝固和沸腾),化学反映(如燃烧),机械运动(涡轮机),以及相关结构的压力和变形(如风中桅杆的弯曲)等等的性质。

之所以要使用CFD,至少基于以下三点:1,通常的系统是很难模型化的,而CFD的分析能够展示别的手段所不能揭示的系统的性质和现象,因为CFD对你的设计有很强的理解和可视能力。2,CFD能够快速的给出你想要的结果,一旦

你给定你的问题的参量;这样你才有可能在很短的时间内调整你设计的问题的参数,得到最好的优化结果。3,采用CFD是一种十分经济的做法。由于它的开发周期短,因此能节省大量的人力物力,使产品能更快的进入市场。 CFD软件概述

CFD软件通常有三种功能,分别着重用于:

前端处理(Preprocessing), 计算和结果数据生成(compute an result)以及后处理(Postprocessing).

前端处理通常要生成计算模型所必需的数据,这一过程通常包括建模,数据录入(或者从cad中导入),生成网格等;做完了前处理后,CFD的核心解释器(SOLVER)将根据具体的模型,完成相应的计算任务,并生成结果数据;后处理过程通常是对生成的结果数据进行组织和诠释,一般以直观可视的图形形式给出来。

著名的CFD处理工具有以下一些:

用于前处理: Gambit,Tgrid,GridPro,GridGen,ICEM CFD 用于计算分析: Fluend,FIDAP,POLYFLOW

用于后处理: Ensight,IBM Open Visulization Explorer,Field View,AVS 提供综合的处理能力: Ansys,MAYA

特殊领域的应用: Icepak,Airpak,Mixsim

这些CFD软件功能强大,应用十分的广泛。在航天航空,环境污染,生物医学,电子技术等等各个领域,它们发挥了巨大的作用,世界上有越来越多的工程师更倾向于使用这些软件来完成自己的设计。 FLUENT

FLUENT是目前国际上比较流行的商用CFD软件包,在美国的市场占有率为60%。举凡跟流体,热传递及化学反应等有关的工业均可使用。它具有丰富的物理模型、先进的数值方法以及强大的前后处理功能,在航空航天、汽车设计、石油天然气、涡轮机设计等方面都有着广泛的应用。其在石油天然气工业上的应用包括:燃烧、井下分析、喷射控制、环境分析、油气消散/聚积、多相流、管道流动等等。

Fluent的软件设计基于CFD软件群的思想,从用户需求角度出发,针对各种复杂流动的物理现象,FLUENT软件采用不同的离散格式和数值方法,以期在特定的领域内使计算速度、稳定性和精度等方面达到最佳组合,从而高效率地解决各个领域的复杂流动计算问题。基于上述思想,Fluent开发了适用于各个领域的流动模拟软件,这些软件能够模拟流体流动、传热传质、化学反应和其它复杂的物理现象,软件之间采用了统一的网格生成技术及共同的图形界面,而各软件之间的区别仅在于应用的工业背景不同,因此大大方便了用户。其各软件模块包括:

GAMBIT——专用的CFD前臵处理器,FLUENT系列产品皆采用FLUENT公司自行研发的Gambit前处理软件来建立几何形状及生成网格,是一具有超强组合建构模型能力之前处理器,然后由Fluent进行求解。也可以用ICEM CFD进行前处理,由TecPlot进行后处理。

Fluent5.4——基于非结构化网格的通用CFD求解器,针对非结构性网格模型设计,是用有限元法求解不可压缩流及中度可压缩流流场问题的CFD软件。可应用的范围有紊流、热传、化学反应、混合、旋转流(rotating flow)及震波(shocks)等。在涡轮机及推进系统分析都有相当优秀的结果,并且对模型的快

速建立及 shocks处的格点调适都有相当好的效果。(目前是6.0,含turbo模块)

Fidap——基于有限元方法的通用CFD求解器,为一专门解决科学及工程上有关流体力学传质及传热等问题的分析软件,是全球第一套使用有限元法于CFD领域的软件,其应用的范围有一般流体的流场、自由表面的问题、紊流、非牛顿流流场、热传、化学反应等等。 FIDAP本身含有完整的前后处理系统及流场数值分析系统。 对问题整个研究的程序,数据输入与输出的协调及应用均极有效率。

Polyflow——针对粘弹性流动的专用CFD求解器,用有限元法仿真聚合物加工的CFD软件,主要应用于塑料射出成形机,挤型机和吹瓶机的模具设计。 Mixsim——针对搅拌混合问题的专用CFD软件,是一个专业化的前处理器,可建立搅拌槽及混合槽的几何模型,不需要一般计算流力软件的冗长学习过程。它的图形人机接口和组件数据库,让工程师直接设定或挑选搅拌槽大小、底部形状、折流板之配臵,叶轮的型式等等。MixSim随即自动产生3维网络,并启动FLUENT做后续的模拟分析。

Icepak——专用的热控分析CFD软件,专门仿真电子电机系统内部气流,温度分布的CFD分析软件,特别是针对系统的散热问题作仿真分析,藉由模块化的设计快速建立模型。

在fluent中,对同一个几何造型,如果既可以生成结构化网格,也可生成非结构化网格,当然前者要比后者的生成复杂的多,那么应该选择哪种网格,两者计算结果是否相同,哪个的计算结果更好些呢?另外,如果一个几何造型中既有结构化网格,也有非结构化网格,分块完成的,那么分别生成网格后,是否可以直接就调入fluent中计算,还是还有进行一些处理?

一般来说,结构网格的计算结果比非结构网格更容易收敛,也更准确。但后者容易做。可以用TGRID把两种网格结合起来。影响精度主要是网格质量,和你是用那种网格形式关系并不是很大,如果结构话网格的质量很差,结果同样不可靠,相对而言,结构话网格更有利于计算机存储数据和加快计算速度。

结构化网格据说计算速度快一些,但是网格划分需要技巧和耐心。呵呵,非结构化网格容易生成,但相对来说速度要差一些。不过应该影响最大的是网格质量和网格数。非结构化网格的最大优势便在于适应性强。

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

有些复杂或流动环境恶劣情形下确实很难收敛。计算的精度(2阶),网格太疏,网格质量太差,等都会使残差波动。经常遇到,一开始下降,然后出现波动,可以降低松弛系数,我的问题就能收敛,但如果网格质量不好,是很难的。通常,计算非结构网格,如果问题比较复杂,会出现这种情况,

1)coupled是耦合的意思,指同能量方程一起求解,而segrated是动量方程、压力方程和能量方程分开单独求解,迭代求解。一般能用耦合的时候尽量用,精度高。而分段并行求解一般精度低。

2)coupled solver从rampant发展来的,是与nasa合作开发的,适合于计算高马赫数(跨音和超音),为了克服低速下numeric stiffness,采用了

preconditioning方法。couple implict内存耗费大,一般为segregated的1.5倍以上!segregated solver从uns发展而来,是基于simple算法,更适合于亚音场计算,收敛速度快,内存少。

3) fluent rampant是密度基时间推进法,故适合求解高速流动,也是这几个商用软件中唯一的密度基算法,但求解低速时一定要用preconditioning。fluent UNS同其他商用软件如CFX4,5,TASCFLOW,star-cd一样都属于压力基方法,适用于低速不可压流动。

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

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

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

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