Fluent心得 下载本文

内容发布更新时间 : 2024/12/26 10:05:56星期一 下面是文章的全部内容请认真阅读。

将两个面的网格相连?

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

解决方法:为了避免网格发生畸变(可能一个面上的网格跑到另外的面上了),可以一面网格粗,一面网格细避免; 再者就是通过将一个面的网格直接映射到另一面上的,两个面默认为interior.也可以将网格拼接一起.

17 依据实体在GAMBIT建模之前简化时,必须遵循哪几个原则? 答:最根本的原则就是简化后对实际流动影响不大

我觉得在建模前首先要考虑你模型的结构,物理意义上模型是否为轴对称结构或对称结构,如果是的话看能否简化为二维问题,因为二维问题不管从建模上还是求解上都远远方便与三维模型,而且也能达到相应的精度。

其次,在有些梯度比较大的地方这些问题不能简化,像有很多拐角的地方往往存在一些集中,这些不能忽略。

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

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

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

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

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

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

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

这个问题确实比较常见,大概说一下自己的解决方法。

1) 点火问题。一般来说,对简单的问题我采取初始化时给一个较高温度的办法,当然,PATCH也是很好的办法。对那些希望局部燃烧的问题,我是画网格的时候予以区分,然后关闭反应项。

2)不着火的问题。原因比较复杂,可能是点火不成功,也可能是其他原因。对一个甲烷燃烧问题,或许可以修改活化能来解决。另外就是对具体问题需要选合适的燃烧模型。 计算后温度场没有变化,说明化学反应根本没有发生!

fluent解决计算过程中的点火问题,是采用\的方法在已经初始化的流场中设定一个高温的点火区,该选项中设定的温度值一定要高于燃料的最低点火温度(例如甲烷最低点火温度为800K,这里就可以将其设定为2000K或3000K),其余参数都可以和初始化时一样。不要担心点火区的高温会对整个计算的影响!

在燃料点火和燃烧中,最关键的是燃烧反应机理,fluent中可以采用一步或两步总体反应(fluent自带)或通过import导入正确的详细反应机理。在具体设置过程中,一定要注意:

在species Model中,Options选项中共包含以下五个选项: inlet Diffusion;

Diffusion Energy Source,;

Full Multicomponent Diffusion; Thermal Diffusion;

KINetics from reaction Design。

对于没有专门购买KINetics软件包的朋友来说,只能选前面四项,即通过fluent自带的化学动力学程序来计算燃烧反应机理。如果选了最后一项,而你又没有专门购买Reaction Design的化学动力学软件包,那在计算过程中燃烧反应一定不会发生,也就是不能点火、燃烧,计算后温度场自然就不会变化!(我最初也郁闷怎么就不能点火、燃烧呢!后来我的一个朋友提醒我,才搞定)

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

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

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

27 什么叫PDF方法?FLUENT中模拟煤粉燃烧的方法有哪些? 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

请参考本版帖子:http://www.efluid.com.cn/dvbbs/dispbbs.asp?boardID=61&ID=1246&page=2 这个问题我也一直在想,看到simwe上有人这么回答的:(顺便把相类似的问题的解答也放在一起,方便大家一起解决这类的问题。)

一. 残差波动的主要原因: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,让收敛速度能够足够的快,而且能够保持它的稳定性。

四. 另外,Fluent

官方论坛上有一个管理员这么解释的:

http://university.fluent.com/forum/viewtopic.php?t=1887&sid=5228995e41f4763b95368f660d1a671b

1. Residual pattern in an unsteady simulation will be oscillatory. At each time-step, Fluent will try to converge residual values below the default limits set in the Residual Monitors panel. 2. In a steady simulation, ideally the residuals should not oscillate.

Oscillating residuals may be due to wrong case setup. Following comments should help in reducing convergence trouble.

a. Make sure that grid is of good quality. Please refer the section 6.2.2 of Fluent 6.3 Users Guide for

more

details

on

the

grid

quality.

http://www.fluentusers.com/fluent/doc/ori/html/ug/node155.htm b. Recheck all the boundary condition.

c. If you are using turbulence model, please check the turbulence parameters on all inlet / outlet