fluent入门一般问题(二)

Fluent,并非我原创但是没找到出处,给大家做个参考。


不可压缩Navier-Stokes方程求解

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

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

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

目前,由于基于求解压力Possion方程的方法非常复杂及耗时,难于求解具体的工程实际问题,因此用此方法解决工程问题的工作越来越少。工程上常用的主要是SIMPLE方法和虚拟压缩方法。


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

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

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

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


9 在一个物理问题的多个边界上,如何协调各边界上的不同边界条件?在边界条件的组合问题上,有什么原则?

10 在数值计算中,偏微分方程的双曲型方程、椭圆型方程、抛物型方程有什么区别? #143
PS:这个问题想来应该是比较基础的问题,既然没人回答,我就插几句吧;嘿嘿。

 

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

 

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

从物理角度,一般将方程分为平衡问题(或稳态问题),时间步进问题。

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

 

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

 

三种类型偏微分方程的基本差别如下:

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

2)三种类型偏微分方程解的光滑性不同,对定解条件的光滑性要求也不同;

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

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

在双曲型和抛物型方程所控制的流场中,某一点的影响区域是有界的,可采用步进求解。如对双曲型方程求解时,为了与影响区域的特征一致,采用上风格式比较适宜。而椭圆型方程的影响范围遍及全场,必须全场求解,所采用的差分格式也要采用相应的中心格式。

椭圆形方程求解区中各点上的值是相互影响的,因而各节点上的代数方程必须联立求解,而不能先解得区域中某一部分上的值后再去确定其余地区上的值

   抛物型方程描写物理上的一类步进问题,这类问题中因变量与时间有关或问题中有类似时间的变量,因而又称初值问题。其求解区域是个开区间,计算时从已知的初值出发,逐步向前推进,依次获得适合于给定边界条件的解.

 双曲型方程 数值求解也是一个步进过程。物理学中的波动过程,空气动力学中的无粘流体稳态超音速流动及无粘流体的非稳态流动,都是双曲型问题。

 

 

以上只是一些较为肤浅的概念,如想深入,可参考相关的偏微分方程及数值计算等书籍。


11 在网格生成技术中,什么叫贴体坐标系?什么叫网格独立解?  #35
关于贴体网格的定义,随便找本CFD的书上面基本上都有介绍,在此就不多言。在此谈谈网格独立性的问题。

可以参考本版帖子:http://www.efluid.com.cn/dvbbs/dispbbs.asp?boardID=61&ID=1208&page=5

数值计算的与实验值之间的误差来源只要有这几个:物理模型近似误差(无粘或有粘,定常与非定常,二维或三维等等),差分方程的截断误差及求解区域的离散误差(这两种误差通常统称为离散误差),迭代误差(离散后的代数方程组的求解方法以及迭代次数所产生的误差),舍入误差(计算机只能用有限位存储计算物理量所产生的误差)等等。在通常的计算中,离散误差随网格变细而减小,但由于网格变细时,离散点数增多,舍入误差也随之加大。

由此可见,网格数量并不是越多越好的。

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


12 在GAMBIT的foreground和background中,真实体和虚实体、实操作和虚操作四个之间是什么关系?

13 在GAMBIT中显示的“check”主要通过哪几种来判断其网格的质量?及其在做网格时大致注意到哪些细节?  #38
具体内容可以参考Gambit Documentation中的Quality Type Definitions章节。

判断网格质量的方面有:     

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

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

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

Edge Ratio长边与最短边长度之比,大于或等于1,最好等于1,解释同上。

EquiAngle Skew通过单元夹角计算的歪斜度,在0到1之间,0为质量最好,1为质量最差。最好是要控制在0到0.4之间。

EquiSize Skew通过单元大小计算的歪斜度,在0到1之间,0为质量最好,1为质量最差。2D质量好的单元该值最好在0.1以内,3D单元在0.4以内。

MidAngle Skew通过单元边中点连线夹角计算的歪斜度,仅适用于四边形和六面体单元,在0到1之间,0为质量最好,1为质量最差。

Size Change相邻单元大小之比,仅适用于3D单元,最好控制在2以内。

Stretch伸展度。通过单元的对角线长度与边长计算出来的,仅适用于四边形和六面体单元,在0到1之间,0为质量最好,1为质量最差。

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

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

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

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

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

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

2.Maxium cell skewness: 该值在0到1之间,0表示最好,1表示最坏;

3.Maxium 'aspect-ratio': 1表示最好。

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


14 画网格时,网格类型和网格方法如何配合使用?各种方法有什么样的应用范围及做网格时需注意的问题?  (#169)
  见楼主推荐资料
15 对于自己的模型,大多数人有这样的想法:我的模型如何来画网格?用什么样的方法最简单?这样做网格到底对不对?  (#153)

我一般首先关注的是我的模型中那一部分的流态情况最复杂,需要加密网格;那一部分得流动情况是我最关注的,需要加密网格。

之后根据上述情况开始考虑怎样对模型进行分块:分块的原则,一方面要保证流态复杂得部位要独立进行网格加密,流动平稳的区域要相应加大网格以节省资源,另一方面,要进行保证分块后的各个子模块结构比较规整,尽可能采用结构网格,提高计算精度。

最后,进行网格划分,开始关注网格划分得顺序,要先对那些线和面进行网格设定约束,保证各个区域满足不同得网格疏密,之后再对各个不同的体积分块进行划分,我一般采用从内到外,从最关注得体到非关注得体的顺序进行划分



16 在两个面的交界线上如果出现网格间距不同的情况时,即两块网格不连续时,怎么样克服这种情况呢? #40
这个问题就是非连续性网格的设置,一般来说就是把两个交接面设置为一对interface。

另外,作此操作可能出现的问题及可供参考的解决方法为:

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

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

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


17 依据实体在GAMBIT建模之前简化时,必须遵循哪几个原则?  (#170)
答:我觉得在建模前首先要考虑你模型的结构,物理意义上模型是否为轴对称结构或对称结构,如果是的话看能否简化为二维问题,因为二维问题不管从建模上还是求解上都远远方便与三维模型,而且也能达到相应的精度。

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


18 在设置GAMBIT边界层类型时需要注意的几个问题:a、没有定义的边界线如何处理?b、计算域内的内部边界如何处理(2D)?       #128 
gambit默认为wall,一般情况下可以到fluent再修改边界类型。 内部边界如果是split产生的,那么就不需再设定了,如果不是,那么就需要设定为interface或者是internal
19 为何在划分网格后,还要指定边界类型和区域类型?常用的边界类型和区域类型有哪些?  #127
答:要得到一个问题的定解就需要有定解条件,而边界条件就属于定解条件。也就是说边界条件确定了结果。不同的流体介质有不同的物理属性,也就会得到不同的结果,所以必须指定区域类型。对于gambit来说,默认的区域类型是fluid,所以一般情况下不需要再指定了。


20  何为流体区域(fluid zone)和固体区域(solid zone)?为什么要使用区域的概念?FLUENT是怎样使用区域的? (#41)
Fluid Zone是一个单元组,是求解域内所有流体单元的综合。所激活的方程都要在这些单元上进行求解。向流体区域输入的信息只是流体介质(材料)的类型。对于当前材料列表中没有的材料,需要用户自行定义。注意,多孔介质也当作流体区域对待。

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

Fluent中使用Zone的概念,主要是为了区分分块网格生成,边界条件的定义等等;
21 如何监视FLUENT的计算结果?如何判断计算是否收敛?在FLUENT中收敛准则是如何定义的?分析计算收敛性的各控制参数,并说明如何选择和设置这些参数?解决不收敛问题通常的几个解决方法是什么? 9楼)

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

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

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

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

3、要满足质量守恒(计算中不牵涉到能量)或者是质量与能量守恒(计算中牵涉到能量)。

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

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



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

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以使得收敛更容易。


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

请参考本版帖子:http://www.efluid.com.cn/dvbbs/dispbbs.asp?boardID=61&ID=626&page=8

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

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

2)Use of improper turbulent boudary conditions.

3)Not supplying good initial values for turbulent quantities.

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


fluent入门一般问题(二)的图1

                                                              想学习更多的知识,请联系我们!

                                                              微信公众号:名称:“DR有限元”

                                                                                    号码:“hello_cae”


登录后免费查看全文
立即登录
App下载
技术邻APP
工程师必备
  • 项目客服
  • 培训客服
  • 平台客服

TOP

15
4
3