fluent问题汇总

更新时间:2023-03-08 07:29:52 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

[转贴]网友的flluent问题汇总

admin 发表于: 2007-7-10 16:56 来源: 水泵人PUMPREN-社区门户

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

还需要说明的就是,一般我们都希望在收敛的情况下,残差越小越好,但是残差曲线是 全场求平均的结果,有时其大小并不一定代表计算结果的好坏,有时即使计算的残差 很大,但结果也许是好的,关键是要看计算结果是否符合物理事实,即残差的大小与 模拟的物理现象本身的复杂性有关,必须从实际物理现象上看计算结果。比如说本斑 最近在算的一个全机模型,在大攻角情况下,解震荡得非常厉害,而且残差的量级也总 下不去,但这仍然是正确的,为什么呢,因为大攻角下实际流动情形就是这样的,不断有 涡的周期性脱落,流场本身就是非定常的,所以解也是波动的,处理的时候取平均就可以呢最新回复

admin at 2007-7-10 16:56:33

1 1. 什么是结构化网格和非结构化网格 1.1结构化网格

从严格意义上讲,结构化网格是指网格区域内所有的内部点都具有相同的毗邻单

元。

它可以很容易地实现区域的边界拟合,适于流体和表面应力集中等方面的计算。 它的主要优点是: 网格生成的速度快。 网格生成的质量好。 数据结构简单。

对曲面或空间的拟合大多数采用参数化或样条插值的方法得到,区域光滑, 与实际的模型更容易接近。

它的最典型的缺点是适用的范围比较窄,只适用于形状规则的图形。 尤其随着近几年的计算机和数值方法的快速发展,人们对求解区域的几何

形状的复杂性的要求越来越高,在这种情况下,结构化网格生成技术就显得力不从心了。

1.2非结构化网格

同结构化网格的定义相对应,非结构化网格是指网格区域内的内部点不具有相同的毗邻单元。

即与网格剖分区域内的不同内点相连的网格数目不同。从定义上可以看出,结构化网格和

非结构化网格有相互重叠的部分,即非结构化网格中可能会包含结构化网格的部分。

2.如果一个几何造型中既有结构化网格,也有非结构化网格,分块完成的,分别生成网格后,

也可以直接就调入fluent中计算。

3.在fluent中,对同一个几何造型,如果既可以生成结构化网格,也可生成非结构化网格,

当然前者要比后者的生成复杂的多,那么应该选择哪种网格,两者计算结果是否相同,哪个

的计算结果更好些呢?

一般来说,结构网格的计算结果比非结构网格更容易收敛,也更准确。但后者容易做。

影响精度主要是网格质量,和你是用那种网格形式关系并不是很大,如果结构话网格的质量很差, 结果同样不可靠,相对而言,结构化网格更有利于计算机存储数据和加快计算速度。 结构化网格据说计算速度快一些,但是网格划分需要技巧和耐心。非结构化网格容易生成,

但相对来说速度要差一些。

4.在gambit中,只有map和submap生成的是结构化网格,其余均为非结构化网

格。

2 我们经常遇到计算区是对称的问题,如同心圆环内的自然对流,圆柱绕流, 我们为了节省计算资源,许多时候都把计算区域趣味一半,但有些问题的真实情况是

两步分的流场及物理量的分布并不对称呀,问我们如何判断该不该区一般呢? 对秤的问题一般用在流场稳态解..需满足1.几何图形对秤..2.边界条件对秤.. 也就是物理条件对秤..3.structral网格..所以对秤轴的Flux和properties gradient必须为0...

3 按照算例学习了一段时间,有些简单的问题还可以分析对错,但是对于一些头脑里没有

概念的问题,是做出了很多图行了,矢量图了,但是如何比较仔细全面的分析其合理性,

觉得有些困难,望师兄指点~~~~~~~~~~~~ 答:

一般来讲计算应该辅助以高精度的实验作为证明,无法或不容易用实验实现的往往是计算

一个经典的或别人算过的例子对比一下。既然已经作出了很多图,可以试试分析一下,

看看跟经典的理论一致否。图是做出来了,但是真的想说明问题,恐怕还有一段路。 以上是我的一点看

4 courant number实际上是指时间步长和空间步长的相对关系,系统自动减小courant数,

这种情况一般出现在存在尖锐外形的计算域,当局部的流速过大或者压差过大时出错,

把局部的网格加密再试一下。

在fluent中,用courant number来调节计算的稳定性与收敛性。一般来说, 随着courant number的从小到大的变化,收敛速度逐渐加快,但是稳定性逐渐降低。

所以具体的问题,在计算的过程中,最好是把courant number从小开始设置, 看看迭代残差的收敛情况,如果收敛速度较慢而且比较稳定的话,可以适当的增加 courant number的大小,根据自己具体的问题,找出一个比较合适的courant number,

让收敛速度能够足够的快,而且能够保持它的稳定性。

5 我觉得FLUENT 中关于松弛因子的解释就很清楚的.

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

为原值加上变化量乘以松弛因子. 如:

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

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

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

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

Fluent里面用的是欠松弛,主要防止两次迭代值相差太大引起发散。

松弛因子的值在0~1之间,越小表示两次迭代值之间变化越小,也就越稳定,但收敛也就越慢。

6 用右键点击显示的图形的边框,点击copy to clipboard,然后就可以粘贴到别的地方去了。

直接这样的话是黑色背景的图片,要是想要白的色背景的图片,先点击Page Setup在弹出的对话

框中选中Reverse Foreground Orientation,然后再copy to clipboard就可了。在Page Setup

对话框里还有其他选项可以设置,大家可以试一试。

7 下面几个问题是使用FLUENT的同仁经常遇到的 有的问题问了不下10次了,归纳一下

1.GAMBIT需要装EXCEED才能用,推荐EXCEED 6.2 出错信息“unable find Exceed X Server ”

fluent的运行:直接在开始-程序-Fluent Inc里面

gambit的运行:先运行命令提示符,输入gambit,回车

2.FLUENT和GAMBIT需要把相应license.dat文件拷贝到FLUENT.INC/license目录下

出错信息“unable find/open license.dat\

3.FLUENT和GAMBIT推荐使用默认安装设置, 安装完GAMBIT请设置环境变量,

设置办法“开始-程序-FLUENT INC-Set Environment\ 出错信息:运行gambit时提示找不到gambit文件?

4.安装好FLUENT和GAMBIT最好设置一下用户默认路径 推荐设置办法,在非系统分区建一个目录,如d:\%users

a) win2k用户在控制面板-用户和密码-高级-高级,在使用fluent用户的配置文件

修改本地路径为d:\%users,重起到该用户运行命令提示符,检查用户路径是否修改

b) xp用户,把命令提示符发送到桌面快捷方式,右键单击命令提示符快捷方式 在快捷方式-起始位置加入D:\%users,重起检查

5.gambit的缺省文件已经打开,gambit运行失败, 到用户默认目录删除default_id.*等文件

出错信息“IDENTIFIER \

6.FLUENT计算开始迭代最好使用较小的库朗数,否则容易导致迭代发散? 修改办法slove-controls-solution,修改courant Number

默认值为1,开始没有经验的改小点,比如0.01,然后逐渐加大, 经验丰富的同仁自己决定

7.FLUENT修改迭代值的极限,slove-controls-Limits 根据你计算的情况决定

归纳了一下FLUENT使用过程中,经常遇到的几个问题,

建议初次使用FLUENT遇到麻烦的时候,先看看此文,或许就是其中的某种情况。

8 对于一个刚开始接触软件的新手,应该从以下方面入手学习:

1.GAMBIT软件的学习,首先熟悉这个前处理软件,在里面构造几何体、划网格及设置边界条件

(关于软件界面的介绍和一些算例在本研究所的ftp上有,在《学术报告第23期》)。 2.FLUENT软件的应用过程(可以结合一些算例学习): 1).构造计算域,创建网格

2).运行合适的解算器:2D、3D、2DDP、3DDP 3).输入网格 4).检查网格

5).选择解算器的格式

6).选择需要解的基本方程:层流还是湍流(无粘)、化学组分还是化学反应、热传导模型等

7). 确定所需要的附加模型:风扇,热交换,多孔介质等 8). 指定材料物理性质 9). 指定边界条件 10).调节解的控制参数 11).初始化流场 12).开始计算 13).检查结果 14).保存结果

15).必要的话,细化网格,改变数值和物理模型

9 [这个贴子最后由caoqx在 2004/09/15 10:03am 第 2 次编辑]

1.FLUENT软件的下载

现在网上有很多fluent的安装及帮助文件,大家可以到北大天网、 工大校内ftp(http://dw.hit.edu.cn/)等搜一下, 这里给出一个下载安装软件的路径:

ftp://202.118.237.120/ 匿名登陆即可。

2.FLUENT软件的安装

需要安装的软件: Exceed Gambit Fluent

安装顺序:首先安装Exceed,再装Gambit和Fluent。最后不要忘了把 flexlm文件复制到系统盘根目录下。

安装完成后,你可以分别双击FLUENT.INC\\ntbin\\ntx86文件夹下的 gambit和fluent的图标,来运行它们。

gambit运行过程中常遇到的一个问题是:在Gambit建模过程中出现界面 突然跳出,并且下次运行Gambit时,界面调不出来,这时只需删去gambit 工作目录下的(默认的工作目录为\\FLUENT.INC\\ntbin\\ntx86) 后缀为*.lok的文件,就会恢复正常。

10 fluent生成mpg文件经验

步骤就是先在Solve\\Animate下Define一个动画序列,然后算的时候 fluent会记下相应的帧。算完后,用Playback回访或者生成mpg文件。

经验是:此时用那个Playback生成mpg文件时,十次大概能有一次成功!

解决方法是:关了fluent重启,然后再用那个Playback读那个序列,然后生成 mpg文件,这么做的成功率比较高

11 首先要进入denf-modi打开能量方程才能选择,然后在solver-moniter-residu 里面就会出现enery的选项

12 [这个贴子最后由caoqx在 2004/09/15 08:39am 第 2 次编辑]

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.

亚孙持因子

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邻近校正中所用的方法。

admin at 2007-7-10 16:57:26

我在使用gambit时遇到几个bt的问题,现在总结一下,仅供参考: 问题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#136480和 http://www.aoxue.org/cgi-bin/bbs ... 9648&h=1#233087 2、关于入口速度设置的讨论,见

http://www.aoxue.org/cgi-bin/bbs ... 2671&h=1#184542 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编,把你每个点的坐标放到前面\命令后面,然后文件名字用.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倍以上,you need powerful computer!segregated solver从uns发展而来,是基于simple算法,更适合于亚音场计算,收敛速度快,内存少。

3) fluent rampant是密度基时间推进法,故适合求解高速流动,也是这几个商用软件中唯一的密度基算法,但求解低速时一定要用preconditioning。

fluent UNS同其他商用软件如CFX4,5,TASCFLOW,star-cd一样都属于压力基方法,适用于低速不可压流动。

FLUENT

是目前国际上比较流行的商用CFD软件包,在美国的市场占有率为60%。举凡跟流体,热传递及化学反应等有关的工业均可使用。它具有丰富的物理模型、先进的数值方法以及强大的前后处理功能,在航空航天、汽车设计、石油天然气、涡轮机设计等方面都有着广泛的应用。其在石油天然气工业上的应用包括:燃烧、井下分析、喷射控制、环境分析、油气消散/聚积、多相流、管道流动等等。 Fluent的软件设计基于CFD软件群的思想,从用户需求角度出发,针对各种复杂流动的物理现象,FLUENT软件采用不同的离散格式和数值方法,以期在特定的领域内使计算速度、稳定性和精度等方面达到最佳组合,从而高效率地解决各个领域的复杂流动计算问题。基于上述思想,Fluent开发了适用于各个领域的流动模拟软件,这些软件能够模拟流体流动、传热传质、化学反应和其它复杂的物理现象,软件之间采用了统一的网格生成技术及共同的图形界面,而各软件之间的区别仅在于应用的工业背景不同,因此大大方便了用户。

Phoenics是英国CHAM公司开发的模拟传热、流动、反应、燃烧过程的通用CFD软件,有30多年的历史。网格系统包括:直角、圆柱、曲面(包括非正交和运动网格,但在其VR环境不可以)、多重网格、精密网格。可以对三维稳态或非稳态的可压缩流或不可压缩流进行模拟,包括非牛顿流、多孔介质中的流动,并且可以

考虑粘度、密度、温度变化的影响。在流体模型上面,Phoenics内置了22种适合于各种Re数场合的湍流模型,包括雷诺应力模型、多流体湍流模型和通量模型及k-e模型的各种变异,共计21个湍流模型,8个多相流模型,10多个差分格式。 Phoenics的VR(虚拟现实)彩色图形界面菜单系统是这几个CFD软件里前处理最方便的一个,可以直接读入Pro/E建立的模型(需转换成STL格式),是复杂几何体的生成更为方便,在边界条件的定义方面也极为简单,并且网格自动生成,但其缺点则是网格比较单一粗糙,针对复杂曲面或曲率小的地方的网格不能细分,也即是说不能在VR环境里采用贴体网格。另外VR的后处理也不是很好。要进行更高级的分析则要采用命令格式进行,但这在易用性上比其它软件就要差了。 另外,Phoenics自带了1000多个例题与验证题,附有完整的可读可改的输入文件。其中就有CHAM公司做的一个PDC钻头的流场分析。Phoenics的开放性很好,提供对软件现有模型进行修改、增加新模型的功能和接口,可以用FORTRAN语言进行二次开发。 CFX :

CFX是由英国AEA公司开发,是一种实用流体工程分析工具,用于模拟流体流动、传热、多相流、化学反应、燃烧问题。其优势在于处理流动物理现象简单而几何形状复杂的问题。适用于直角/柱面/旋转坐标系,稳态/非稳态流动,瞬态/滑移网格,不可压缩/弱可压缩/可压缩流体,浮力流,多相流,非牛顿流体,化学反应,燃烧,NOx生成,辐射,多孔介质及混合传热过程。CFX采用有限元法,自动时间步长控制,SIMPLE算法,代数多网格、ICCG、Line、Stone和Block Stone解法。能有效、精确地表达复杂几何形状,任意连接模块即可构造所需的几何图形。在每一个模块内,网格的生成可以确保迅速、可靠地进行,这种多块式网格允许扩展和变形,例如计算气缸中活塞的运动和自由表面的运动。 滑动网格功能允许网格的各部分可以相对滑动或旋转,这种功能可以用于计算牙轮钻头与井壁间流体的相互作用。CFX引进了各种公认的湍流模型。例如:k-e模型,低雷诺数k-e模型,RNG k-e模型,代数雷诺应力模型,微分雷诺应力模型,微分雷诺通量模型等。CFX的多相流模型可用于分析工业生产中出现的各种流动。包括单体颗粒运动模型,连续相及分散相的多相流模型和自由表面的流动模型。 CFX-TASCflow在旋转机械CFD计算方面具有很强的功能。它可用于不可压缩流体,亚/临/超音速流体的流动,采用具有壁面函数的k-e模型、2层模型和Kato-Launder模型等湍流模型,传热包括对流传热、固体导热、表面对表面辐射,Gibb’s辐射模型,多孔介质传热等。化学反应模型包括旋涡破碎模型、具有动力学控制复杂正/逆反应模型、Flamelet模型、NOx和碳黑生成模型、拉格朗日跟踪模型、反应颗粒模型和多组分流体模型。CFX-TurboGrid是一个用于快速生成旋转机械CFD网格的交互式生成工具,很容易用来生成有效的和高质量的网格。

欧拉模型和混合模型的选择

1)如果分散相的的分布广,那么用混合模型最为合适。如果分散相几种在主域的某些区域,那么用欧拉模型合适

2)如果相间的drag law可用或者可以通过用户定义的方式得到,那么欧拉模型能得到精确的结果,如果相间的drag law不可知或者能否应用到你的问题中还是未知的情况下,选择混合模型

GAMBIT的网格类型有那些?

GAMBIT可以生成结构化网格、非结构化网格及混合网格。

GAMBIT可生成的非结构化网格又包括四面体网格、六面体网格及混合网格

FLUENT的算法有哪些种? A、Segregate 非耦合算法

B、Couple显式 耦合显式算法,前身为NASA RANPANT程序

C、Couple隐式 耦合隐式算法,推进快,另FLUENT有多种加速收敛技术:多重网格技术,当地时间步长,自适应网格技术等。

1.Gambit生成的网格(无结构)如何进行局部加密?

可采用分块生成网格的办法,fluent里也可有自适应网格项,程序可自动加密网格 2.二维轴对称问题,想在对称轴附近的狭长区域加密网格。

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

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

先将交线分成线网格,可控制间距,再分面网格. 用多面(或多体)组合生成对局部网格疏密程度有特殊要求的计算区域比较方便,本人用这种方法对三维问题做了些计算,效果感觉不错。将相邻的线(面)merge以后,在公共边及其相对的边上设置相同的节点数就好了。

(1) 出口边界出现回流很正常;

(2) 扩大计算域可以消除回流现象,但增加了计算量,需要综合考虑;

(3) 换用不同类型的边界条件,以及调整和加密网格,可以有效消除残差波动。即使开始残差波动,但流动充分发展后残差波动会逐渐消失。

现在需要自定义材料的粘度,已经编辑了一个小程序,具体步骤应该怎样做啊,请帮忙。程序如下

在记事本中编辑的,另存为“visosity1.c\ #include \

DEFINE_PROPERTY(cell_viscosity, cell, thread) {

real mu_lam; real trial;

real rate=CELL_STRAIN_RATE_MAG(cell, thread); real temp=C_T(cell, thread); mu_lam=1.e12; if(temp<855.)

{

if(rate>1.0e-4 && rate<1.e5)

trial=12830000./rate*log(pow((rate*exp(17440.46/temp) /1.535146e8),0.2817)+pow((1.+pow((rate*exp(17440.46/ temp)/1.535146e8),0.5634)),0.5)); else if (rate>=1.e5)

trial=128.3*log(pow((exp(17440.46/temp)/

1.535146e8),0.2817)+pow((1.+pow((exp(17440.46/temp)/ 1.535146e8),0.5634)),0.5)); else

trial=1.283e11*log(pow((exp(17440.46/temp)/

1.535146e12),0.2817)+pow((1.+pow((exp(17440.46/temp)/ 1.535146e12),0.5634)),0.5)); }

else if(temp>=855.&&temp<905.) {

if(rate>1.0e-4 && rate<1.e5)

trial=12830000./rate*log(pow((rate*4.7063),0.2817)+ pow((1.+pow((rate*4.7063),0.5634)),0.5))*pow(10.,-0.06 *(temp-855.)); else if (rate>=1.e5)

trial=243.654*pow(10.,-0.06*(temp-855.)); else

trial=1.47897e10*pow(10.,-0.06*(temp-855.)); }

else if(temp>=905.) {

if(rate>1.0e-4 && rate<1.e5)

trial=12830./rate*log(pow((rate*4.7063),0.2817)+ pow((1.+pow((rate*4.7063),0.5634)),0.5)); else if (rate>=1.e5) trial=0.24365; else

trial=1.47897e7; }

if(trial<1.e12&&trial>100.) mu_lam=trial; else if(trial<=1.) mu_lam=1.; else

mu_lam=1.e12; return mu_lam; }

自定义粘度与温度和应变率有关,因此无法使用软件自带的粘度定义形式

用Field Function Definitions 定义了一个函数后( 定义一个努森数的函数,定义以后应该能在等值线图中显示),想看这个函数的等值线分布 选择变量窗口的第一栏便是自定义变量

梯度,根据定义做,fluent支持一阶导数的。

模型比较复杂,是在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功能检查一下你的网格质量,看看质量怎么样

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

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

此主题相关图片如下:

[这个贴子最后由brightsun在 2003/12/03 10:08pm 第 1 次编辑]

一根圆管,直径180mm,总长600mm,中间挡板留一10mm的小孔,常温。进口:velocity inlet,速度大小:2m/s; 出口:pressure oulet,后来又改成Outflow,出口段都有负压产生,但我作过类似实验,推测好像不会产生负压,这个出口边界怎么设?

提出问题很好,带动大家讨论,而且有始有终,加分

[这个贴子最后由brightsun在 2003/12/03 09:41pm 第 1 次编辑]

延长出口段试一试

__________________________________________________________ 我试过,影响不大,除非延长的非常远,计算量太大

空气从较大区域突然收缩经过小孔,是不是应按可压缩流来算,我现在把空气看作不可压缩流,另外,虽然有负压产生,但进出口的 Mass flow rate 是相等的 __________________________________________________________

偶给个建议,那个小孔不是很小吗,你干脆就这样算:在小孔处设置边界条件为质量出口,这个是绝对不会有错的!因为质量出口只能设在流动完全发展的边界处,所以最后面的出口就不设置与质量流速有关的边界条件。免得出问题。小孔的外缘一直到管壁,都设置为壁面边界条件,这样也可以很清楚的看到壁后涡的形成。最后面的出口就设置为压力出口。

至于你所算出的负压,我想应该是边界条件的设置问题。还有就是,小口的流速是很大的,可能一直到最后面的出口都还只是射流,这样的话,你设置压力出口自然是不合适的!

至于计算的过程你首先按照不可压流来计算,算出初步结果之后再把材料换成理想气体继续计算。至于可压与否,你可以首先用质量守恒算一下小孔处的流速,如果速度过大就算可压流,速度不大就看你有时间没有,有时间就算,没时间就不算! 热情、思路开阔、启发性强,加分

__________________________________________________________

这是我算的大致结果,你参考一下,速度等值线图,迭代了步少了一些,所以看起来还不是很对称,困了,发给你就去睡觉了。在计算过程中看到了有涡的形成。 __________________________________________________________

谓负压,是相对于pressure refference locatione的压力而言,压力小而已。 pressure refference locatione的位置可以改变。在没有压力边界时,压力的绝对值没有意义,梯度才有意义。 理论知识扎实,加分

__________________________________________________________ Aciscatia受累了

report> surface integrals 面积权积分积出的出口平均压力 相对参考压力(大气压)是负压,即比大气压还低,这好像不大可能吧 另外对Aciscatia说的有一点还是不清楚:

《 偶给个建议,那个小孔不是很小吗,你干脆就这样算:在小孔处设置边界条件为质量出口,这个是绝对不会有错的!因为质量出口只能设在流动完全发展的边界处,所以最后面的出口就不设置与质量流速有关的边界条件。免得出问题。小孔的

外缘一直到管壁,都设置为壁面边界条件,这样也可以很清楚的看到壁后涡的形成。最后面的出口就设置为压力出口。》 小孔到壁面我设成wall,流体只能从小孔流出,这样是不是对小孔不用作什么设置了,只设出口边界就行了

__________________________________________________________

呵呵,兴趣所致就帮你提供个思路,对错很难说,关键是有个可以下手的地方。以后也好求教你问题。

我所理解的负压,不一定对:

你所指的report> surface integrals 面积权积分积出的出口平均压力是对静压的积分吧?如果是静压的话,出口是负压当然是可能的,速度快——〉动压大——〉静压小。总压=静压+动压,总压大于一个大气压流动方向就是向外的,动压如果很大的话,静压的积分自然就是小于零的(相对参考压力)。在曲面积分选项上有对总压的积分,你也试试看。

对于我说的小孔处自然是指小孔的流动出口而不是限制小孔范围的壁面了。我觉得对于亚声速问题,这样提边界条件是可以的,自然是适定的。

最后面的出口是指排到大气的出口,这个出口,我认为是绝对不可以用质量出口的!Fluent有个限制就是有回流的任何区域都不可以提质量出口边界条件,要不然会造成非物理解的出现。所以推荐你用压力出口。

至于小孔处的设置问题,偶是提供一个思路,你可以把这个东东分成两段算,初步看一下结果,再合起来算,这样对最后的结果会有更大的把握。

__________________________________________________________ yhx wrote:

所谓负压,是相对于pressure refference locatione的压力而言,压力小而已。 pressure refference locatione的位置可以改变。在没有压力边界时,压力的绝对值没有意义,梯度才有意义。

For incompressible flows that do not involve any pressure boundaries, FLUENT adjusts the gauge pressure field after each iteration to keep it from floating. This is done using the pressure in the cell located at (or nearest to) the reference pressure location. The pressure value in this cell is subtracted from the entire gauge pressure field; as a result, the gauge pressure at the reference pressure location is always zero. If pressure boundaries are involved, the adjustment is not needed and the reference pressure location is ignored.

The reference pressure location is, by default, the cell center at or closest to (0,0,0). There may be cases in which you might want to move the reference pressure location, perhaps locating it at a point where the absolute static pressure is known (e.g., if you are planning to compare your results with experimental data). To change the location, enter new ( X,Y,Z) coordinates for Reference Pressure Location in the Operating Conditions panel

__________________________________________________________

忙活了一天,没把我的老破机累死,也差点把我累晕, 使出口用outflow,把出口段延的好长,收敛后出口无回流,明天改成pressure outlet,我主要对孔后产生的压降感兴趣,呵呵

__________________________________________________________

其实最有可能是你的出口部分距离小孔的位置太近,这样从小孔中流出的高速流直

到出口处都是射流,从而引起回流,这个有点像喷管! 提出的解决办法有效,加分

__________________________________________________________ 很有道理。

另外Tecplot只要读入fluent 的case 和data文件,就死翘翘了,Frame里灰灰的,没图形显示,不是我的文件太大了吧,一共28M多

1.我一般首先是改变初值,尝试不同的初始化,事实上好像初始化很 关键,对于收敛~

2.FLUENT的收敛最基础的是网格的质量,计算的时候看怎样选择CFL数,这个靠经验

3.首先查找网格问题,如果问题复杂比如多相流问题,与模型、边界、初始条件都有关系。

4.边界条件 、网格质量

5.有时初始条件和边界条件严重影响收敛性,我曾经作过一个计算 反反复复,通过修改网格,重新定义初始条件,包括具体的选择的模型, 还有老师经常用的方法就是看看哪个因素不收敛,然后寻找和它有关的条件,改变相应参数。就收敛了 6.A.检查是否哪里设定有误.

比方用mm的unit建构的mesh,忘了scale... 比方给定的b.c.不合里...

B.从算至发散前几步,看presure分布,看不出来的话,再算几步,

看看问题大概出在那个区域,连地方都知道的话,应该不难想出问题所在. C.网格,配合第二点作修正,

或是认命点,就重建个更漂亮的,或是更粗略的来除错... D.再找不出来的话,我会换个solver...

7.我解决的办法是设几个监测点,比如出流或参数变化较大的地方,若这些地方的参数变化很小,就可以认为是收敛了,尽管此时残值曲线还没有降下来。 8.记得好像调节松弛因子也能影响收敛,不过代价是收敛速度。 9.网格有一定的影响,最主要的还是初始和边界条件

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

1.在gambit定义几何的时候就画出来两个体(或者面)。在zone定义的时候,两个部分都定为fluid,fluent不会把内部的边界定义为wall分别设定不同的zone有不同的源项即可。

2.用udf定义源项,不用划分不同的zone,在udf里面判断不同的区域而给出的对应的源项。这种方法比较复杂,但是通用性好,可以给出自己定义的任意源项分布

在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 把表压看作绝对压力

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

2)coupled solver从rampant发展来的,是与nasa合作开发的,适合于计算高马赫数(跨音和超音),为了克服低速下numeric stiffness,采用了preconditioning方法。couple implict内存耗费大,一般为segregated的1.5倍以上,you need powerful computer!segregated solver从uns发展而来,是基于simple算法,更适合于亚音场计算,收敛速度快,内存少。

3) fluent rampant是密度基时间推进法,故适合求解高速流动,也是这几个商用软件中唯一的密度基算法,但求解低速时一定要用preconditioning。

fluent UNS同其他商用软件如CFX4,5,TASCFLOW,star-cd一样都属于压力基方法,适用于低速不可压流动。

发信人: stipulation (华健哥~闷声大发财), 信区: NumComp 标 题: 建议大家用fluent网格最好用四面体网格

发信站: BBS 水木清华站 (Thu Apr 4 22:27:50 2002) 我最近一直忙于我得论文

是有限体积求解n-s方程的,结构网格

我鼓捣鼓捣程序的核心,特别是计算通量的时候

处理单位元面积,体积的算法的时候,想到fluent的非结构网格 我感觉如果是四面体网格,或者面元是三角形网格 应该计算起来误差小

我不知道事实上是不是这样的阿

简单说,结构化网格几乎处理的是六面体但愿,和四边形面元

计算面元,通过两个相邻边的差积的平均,这样有的网格划分如果质量不是很好 (正交性不好),造成的误差较大 而三角形网格就没有这个问题

因此我推想,如果fluent内处理有限体积的思想也是如此

那么三角形网格的计算误差应该比混和型(存在四边形面元)的要小

不知道是不是酱紫的,我做的用到fluent都在一些工程问题上,需要的精度不是很高

如果那个大侠做一些诸如湍流的模拟,模拟流场细微结构,可以检验一下我说的对不对 --

朝食晨露,夜品兰芳 物华天宝,唯我独逍

※ 来源:?BBS 水木清华站 smth.org?[FROM: 159.226.61.232] 发信人: xiaoruofu (苦啊), 信区: NumComp 标 题: Re: 建议大家用fluent网格最好用四面体网格 发信站: BBS 水木清华站 (Fri Apr 5 10:13:48 2002)

不一定吧,具我所知,六面体的网格在收敛的性能上明显比四面体网格要好。只要是

其网格质量比较好的话。还有在

后处理时,四面体网格的速度场的方向比较乱。个人认为高质量的六面体网格更加适合

有限体积法的求解。在湍流边界层的处理时,六面体网格的优点更加明显。

但是在对复杂形状的网格划分时,如何生成高质量的六面体网格是比较困难的。四面体

网格的适应性比较强,生成网格比较容易。 乱。

【 在 stipulation (华健哥~闷声大发财) 的大作中提到: 】 : 我最近一直忙于我得论文

: 是有限体积求解n-s方程的,结构网格

: 我鼓捣鼓捣程序的核心,特别是计算通量的时候

: 处理单位元面积,体积的算法的时候,想到fluent的非结构网格 : 我感觉如果是四面体网格,或者面元是三角形网格 : 应该计算起来误差小

: 我不知道事实上是不是这样的阿

: 简单说,结构化网格几乎处理的是六面体但愿,和四边形面元

: 计算面元,通过两个相邻边的差积的平均,这样有的网格划分如果质量不是很好

: (正交性不好),造成的误差较大 : 而三角形网格就没有这个问题 : ................... --

※ 来源:?BBS 水木清华站 smth.org?[FROM: 202.114.22.210] 发信人: stipulation (华健哥~闷声大发财), 信区: NumComp 标 题: Re: 建议大家用fluent网格最好用四面体网格 发信站: BBS 水木清华站 (Fri Apr 5 21:18:57 2002) 是

你说的有道理

可能我一直作比较复杂的外形几何体的模拟

所以我开始说的就默认了很难生成简单的高质量的六面体网格的情况 当然,诸如很规则的边界外形的流场,能做出高质量的六面体网格 肯定是六面体网格为首选

【 在 xiaoruofu (苦啊) 的大作中提到: 】

: 不一定吧,具我所知,六面体的网格在收敛的性能上明显比四面体网格要好。只要是

: 其网格质量比较好的话。还有在

: 后处理时,四面体网格的速度场的方向比较乱。个人认为高质量的六面体网格更加适合

: 有限体积法的求解。在湍流边界层的处理时,六面体网格的优点更加明显。

: 但是在对复杂形状的网格划分时,如何生成高质量的六面体网格是比较困难的。四面体

: 网格的适应性比较强,生成网格比较容易。 : 乱。

一.边界层

边界层是指定与边或者面相邻区域的网格接点的距离,目的是控制网格密度,从而控制感兴趣区域计算模型的有用的信息量。

例如:在一个液体流管中,我们知道靠近壁面处的速度剃度大,而中心处的速度剃度小,为了使得壁面处的网格密而中心处的网格稀疏,我们就在壁面处加一边界层。这样我们就能控制网个密度。

要定义一个边界层,你要定义以下参数: 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

GAMBIT MODELING GUIDE {1}INTRODUCTION

{2}CREATING THE GEOMETRY 一.General Operations 1)Labeling Entities

Item Real Entity Virtual Entity Faceted Entity Vertex vertex v_vertex f_vertex Edge edge v_edge f_edge Face face v_face f_face

Volume volume v_volume f_volume Group group N/A N/A

Coordinate System c_sys N/A N/A 默认的命名规则:代表实体类型名称(如vertex)+.+十进制整数 example:volume.6 如果是virtual 和faceted实体则在前面加前缀“v_”和“f_”

整数的规则:创建的下一个实体的整数至是当前存在的相同类型实体的整数值加1 2)Specifying Entities

To select entities that share a common lower-topology entity, pick the lower-topology entity multiple times. For example, to pick three faces that share a common edge, pick the edge three times. 3)坐标系统

i)定义局部坐标系统 a)指定参考坐标系统

b)定义相对于参考系统的三坐标轴的参数 4)Moving, Copying and Aligning Entities i)Moving (是以指定的实体为parent)

a)Translate 以实体现在的位置为基准,通过定义移动的距离数值来移动 b)Rotate 以某个定义的轴旋转实体

c)Reflect 以某个定义的对称平面对称实体 d)Scale 以特定的比例因子放大缩小试题 ii)Copying (是以前面产生的为parent)

If you create two copies of a rectangular brick and specify that the copies are to be translated in the x, y, and z directions, GAMBIT translates the first copy relative to the parent brick and translates the second copy relative to the first copy

只有\线\在拷贝时才有Copy Mesh option

iii)对齐是以存在的点为基准的(relative to vertices) 有下面三步骤:

①translate 相对与整体坐标系不变方向的移动实体

②rotate 改变实体的方向,通过旋转使得所选的两个点共线

③Plane-align 绕所选的两个点形成的向量旋转,使得共面 二.Vertex 1)生成点

i)Create Real Vertex(只产生real vertex) 定义点在坐标系统中的位置

在网格中ctrl+right click生成的也为real 点

ii)Create Vertex On Edge (可以产生real or virtual vertex) 生成的real vertex是独立于边的,其可以进行“move\等操作

生成的virtual vertex是于边相关的,其不可以进行“move\等操作,除非选中”connnected geometry“

iii)Create Vertex On Face (可以产生real or virtual vertex) 产生的点的性质同上

iv)Create Virtual Vertex on Volume virtual vertex是与体相关的。

v) Create Vertices At Edge Intersections(可以产生real or virtual vertex)

Vertices created by means of this command are not connected to either of the edges used to define the points of intersection.

The types of edges (real or non-real) used to define the points of intersection do not affect the types of vertices

如果指定的两条边相交或者靠近在其中一条边的端点处,那么是否在交点处产生一个点取决与选边的秩序。 2)Slide Virtual Vertex

交互式的在virtual vertex宿主边或面上移动这个点

移动Virtual Vertex的目的就是改变与这个点想联的更高级拓扑实体的形状 3)Connect/Disconnect Vertices i)Connect Vertices

先选择要连接的点(可以是real and virtual vertex)——>选择连接的类型 ①Specifying a Real Connection

删除所有同一个位置的点,只剩下一个,然后把保留下来的点连上与删除点有关的所有更高级拓扑实体中(只能连接real vertex) ②Specifying a Virtual (Forced) Connection 可以连接real and virtual vertex

执行操作后,生成一个virtual vertex替换所指定的点,如果指定的点为一条边的端点,那么生成一条virtual edge替换原来的边,同时生成的新边按照生成的点定位。如果边与面或者体相联,那么生成一virtual face or volume替换原来的面或者体

③Specifying a Virtual (Tolerance) Connection 与②相似,只是只能联结距离在指定范围之内的点

④Specifying a Real and Virtual (Tolerance) Connection ii)Disconnect About Real Vertex

GAMBIT does not allow you to disconnect topology around a vertex that constitutes part of an individual face or volume 4) Modify Vertex Color/Label i)Modify Vertex Color

本文来源:https://www.bwwdw.com/article/7p63.html

Top