写给刚接触Fluent的新手(转载自网络)1
2017-01-14 by:CAE仿真在线 来源:互联网
如何入门
学习任何一个软件,对于每一个人来说,都存在入门的时期。认真勤学是必须的,什么是最好的学习方法,我也不能妄加定论,在此,我愿意将我三年前入门FLUENT心得介绍一下,希望能给学习FLUENT的新手一点帮助。
由于当时我需要学习FLUENT来做毕业设计,老师给了我一本书,韩占忠的《FLUENT流体工程仿真计算实例与应用》,当然,学这本书之前必须要有两个条件:
第一,具有流体力学的基础,第二,有FLUENT安装软件可以应用。然后就照着书上二维的计算例子,一个例子,一个步骤地去学习,然后学习三维,再针对具体你所遇到的项目进行针对性的计算。不能急于求成,从前处理器GAMBIT,到通过FLUENT进行仿真,再到后处理,如TECPLOT,进行循序渐进的学习,坚持,效果是非常显著的。如果身边有懂得FLUENT的老师,那么遇到问题向老师请教是最有效的方法,碰到不懂的问题也可以上网或者查找相关书籍来得到答案。另外我还有本《计算流体动力学分析》王福军的,两者结合起来学习效果更好。
CFD计算中涉及到的流体及流动的基本概念和术语
理想流体和粘性流体;牛顿流体和非牛顿流体;可压缩流体和不可压缩流体;层流和湍流;定常流动和非定常流动;亚音速与超音速流动;热传导和扩散等。
理想流体(Ideal Fluid)和粘性流体(Viscous Fluid)
流体在静止时虽不能承受切应力,但在运动时,对相邻的两层流体间的相对运动,即相对滑动速度却是有抵抗的,这种抵抗力称为粘性应力。流体所具备的这种抵抗两层流体相对滑动速度,或普遍说来抵抗变形的性质称为粘性。粘性的大小依赖于流体的性质,并显著地随温度变化。实验表明,粘性应力的大小与粘性及相对速度成正比。当流体的粘性较小(实际上最重要的流体如空气、水等的粘性都是很小的),运动的相对速度也不大时,所产生的粘性应力比起其他类型的力如惯性力可忽略不计。此时我们可以近似地把流体看成无粘性的,这样的流体称为理想流体。十分明显,理想流体对于切向变形没有任何抗拒能力。这样对于粘性而言,我们可以将流体分为理想流体和粘性流体两大类。应该强调指出,真正的理想流体在客观实际中是不存在的,它只是实际流体在某些条件下的一种近似模型。
牛顿流体(Newtonian Fluid)和非牛顿流体(non-Newtonian Fluid)
日常生活和工程实践中最常遇到的流体其切应力与剪切变形速率符合下式的线性关系,称为牛顿流体。而切应力与变形速率不成线性关系者称为非牛顿流体。图2-1(a)中绘出了切应力与变形速率的关系曲线。其中符合上式的线性关系者为牛顿流体。其他为非牛顿流体,非牛顿流体中又因其切应力与变形速率关系特点分为膨胀性流体(Dilalant),拟塑性流体(Pseudoplastic),具有屈服应力的理想宾厄流体(Ideal Bingham Fluid)和塑性流体(Plastic Fluid)等。通常油脂、油漆、牛奶、牙膏、血液、泥浆等均为非牛顿流体。非牛顿流体的研究在化纤、塑料、石油、化工、食品及很多轻工业中有着广泛的应用。图2-1(b)还显示出对于有些非牛顿流体,其粘滞特性具有时间效应,即剪切应力不仅与变形速率有关而且与作用时间有关。当变形速率保持常量,切应力随时间增大,这种非牛顿流体称为震凝性流体(Rheopectic Fluid)。当变形速率保持常量而切应力随时间减小的非牛顿流体则称为触变性流体(Thixotropic Fluid)。
可压缩流体(Compressible Fluid)和不可压缩流体(Incompressible Fluid)
在流体的运动过程中,由于压力、温度等因素的改变,流体质点的体积(或密度,因质点的质量一定),或多或少有所改变。流体质点的体积或密度在受到一定压力差或温度差的条件下可以改变的这个性质称为压缩性。真实流体都是可以压缩的。它的压缩程度依赖于流体的性质及外界的条件。例如水在100个大气压下,容积缩小0.5%,温度从20°变化到100°,容积降低4%。因此在一般情况下液体可以近似地看成不可压的。但是在某些特殊问题中,例如水中爆炸或水击等问题,则必须把液体看作是可压缩的。气体的压缩性比液体大得多,所以在一般情形下应该当作可压缩流体处理。但是如果压力差较小,运动速度较小,并且没有很大的温度差,则实际上气体所产生的体积变化也不大。此时,也可以近似地将气体视为不可压缩的。
在可压缩流体的连续方程中含密度,因而可把密度视为连续方程中的独立变量进行求解,再根据气体的状态方程求出压力。不可压流体的压力场是通过连续方程间接规定的。由于没有直接求解压力的方程,不可压流体的流动方程的求解具有其特殊的困难。
层流(Laminar Flow)和湍流(Turbulent Flow)
实验表明,粘性流体运动有两种形态,即层流和湍流。这两种形态的性质截然不同。层流是流体运动规则,各部分分层流动互不掺混,质点的轨线是光滑的,而且流动稳定。湍流的特征则完全相反,流体运动极不规则,各部分激烈掺混,质点的轨线杂乱无章,而且流场极不稳定。这两种截然不同的运动形态在一定条件下可以相互转化。
定常流动(Steady Flow)和非定常流动(Unsteady Flow)
以时间为标准,根据流体流动的物理量(如速度、压力、温度等)是否随时间变化,将流动分为定常与非定常两大类。当流动的物理量不随时间变化,为定常流动;反之称为非定常流动。定常流动也称为恒定流动,或者稳态流动;非定常流动也称为非恒定流动、非稳态流动。许多流体机械在起动或关机时的流体流动一般是非定常流动,而正常运转时可看作是定常流动。
亚音速流动(Subsonic)与超音速流动(Supersonic)
当气流速度很大,或者流场压力变化很大时,流体就受到了压速性的影响。马赫数定义为当地速度与当地音速之比。当马赫数小于1时,流动为亚音速流动;当马赫数远远小于1(如M<0.1)时,流体的可压速性及压力脉动对密度变化影响都可以忽略。当马赫数接近1时候(跨音速),可压速性影响就显得十分重要了。如果马赫数大于1,流体就变为超音速流动。FLUENT对于亚音速,跨音速以及超音速等可压流动都有模拟能力。
热传导(Heat Transfer)及扩散(Diffusion)
除了粘性外,流体还有热传导及扩散等性质。当流体中存在温度差时,温度高的地方将向温度低的地方传送热量,这种现象称为热传导。同样地,当流体混合物中存在组元的浓度差时,浓度高的地方将向浓度低的地方输送该组元的物质,这种现象称为扩散。
流体的宏观性质,如扩散、粘性和热传导等,是分子输运性质的统计平均。由于分子的不规则运动,在各层流体间交换着质量、动量和能量,使不同流体层内的平均物理量均匀化,这种性质称为分子运动的输运性质。质量输运宏观上表现为扩散现象,动量输运表现为粘性现象,能量输运表象为热传导现象。
理想流体忽略了粘性,即忽略了分子运动的动量输运性质,因此在理想流体中也不应考虑质量和能量输运性质——扩散和热传导,因为它们具有相同的微观机制。
在数值模拟过程中,离散化的目的是什么?如何对计算区域进行离散化?离散化时通常使用哪些网格?如何对控制方程进行离散?离散化常用的方法有哪些?它们有什么不同?
首先说一下CFD的基本思想:把原来在时间域及空间域上连续的物理量的场,如速度场,压力场等,用一系列有限个离散点上的变量值的集合来代替,通过一定的原则和方式建立起关于这些离散点上场变量之间关系的代数方程组,然后求解代数方程组获得场变量的近似值。
然后,我们再讨论下这些题目。
离散化的目的
我们知道描述流体流动及传热等物理问题的基本方程为偏微分方程,想要得它们的解析解或者近似解析解,在绝大多数情况下都是非常困难的,甚至是不可能的,就拿我们熟知的Navier-Stokes方程来说,现在能得到的解析的特解也就70个左右;但为了对这些问题进行研究,我们可以借助于我们已经相当成熟的代数方程组求解方法,因此,离散化的目的简而言之,就是将连续的偏微分方程组及其定解条件按照某种方法遵循特定的规则在计算区域的离散网格上转化为代数方程组,以得到连续系统的离散数值逼近解。
计算区域的离散及通常使用的网格
在对控制方程进行离散之前,我们需要选择与控制方程离散方法相适应的计算区域离散方法。网格是离散的基础,网格节点是离散化的物理量的存储位置,网格在离散过程中起着关键的作用。网格的形式和密度等,对数值计算结果有着重要的影响。一般情况下,二维问题,有三角形单元和四边形,三位问题中,有四面体,六面体,棱锥体,楔形体及多面体单元。网格按照常用的分类方法可以分为:结构网格,非结构网格,混合网格;也可以分为:单块网格,分块网格,重叠网格;等等。上面提到的计算区域的离散方法要考虑到控制方程的离散方法,比如说:有限差分法只能使用结构网格,有限元和有限体积法可以使用结构网格也可以使用非结构网格。
控制方程的离散及其方法
上面已经提到了离散化的目的,控制方程的离散就是将主控的偏微分方程组在计算网格上按照特定的方法离散成代数方程组,用以进行数值计算。按照应变量在计算网格节点之间的分布假设及推到离散方程的方法不同,控制方程的离散方法主要有:有限差分法,有限元法,有限体积法,边界元法,谱方法等等。这里主要介绍最常用的有限差分法,有限元法及有限体积法。(1)有限差分法(Finite Difference Method,简称FDM)是数值方法中最经典的方法。它是将求解域划分为差分网格,用有限个网格节点代替连续的求解域,然后将偏微分方程(控制方程)的导数用差商代替,推导出含有离散点上有限个未知数的差分方程组。求差分方程组(代数方程组)的解,就是微分方程定解问题的数值近似解,这是一种直接将微分问题变为代数问题的近似数值解法。这种方法发展较早,比较成熟,较多用于求解双曲型和抛物型问题(发展型问题)。用它求解边界条件复杂,尤其是椭圆型问题不如有限元法或有限体积法方便。(2)有限元法(Finite Element Method,简称FEM)与有限差分法都是广泛应用的流体力学数值计算方法。有限元法是将一个连续的求解域任意分成适当形状的许多微小单元,并于各小单元分片构造插值函数,然后根据极值原理(变分或加权余量法),将问题的控制方程转化为所有单元上的有限元方程,把总体的极值作为个单元极值之和,即将局部单元总体合成,形成嵌入了指定边界条件的代数方程组,求解该方程组就得到各节点上待求的函数值。有限元法的基础是极值原理和划分插值,它吸收了有限差分法中离散处理的内核,又采用了变分计算中选择逼近函数并对区域积分的合理方法,是这两类方法相互结合,取长补短发展的结果。它具有广泛的适应性,特别适用于几何及物理条件比较复杂的问题,而且便于程序的标准化。对椭圆型问题(平衡态问题)有更好的适应性。有限元法因求解速度较有限差分法和有限体积法满,因此,在商用CFD软件中应用并不普遍,目前的商用CFD软件中,FIDAP采用的是有限元法。而有限元法目前在固体力学分析中占绝对比例,几乎所有的固体力学分析软件都是采用有限元法。(3)有限体积法(Finite Volume Method,简称FVM)是近年发展非常迅速的一种离散化方法,其特点是计算效率高。目前在CFD领域得到了广泛的应用。其基本思路是:将计算区域划分为网格,并使每个网格点周围有一个互不重复的控制体积;将待解的微分方程(控制方程)对每一个控制体积分,从而得到一组离散方程。其中的未知数是网格点上的因变量,为了求出控制体的积分,必须假定因变量值在网格点之间的变化规律。从积分区域的选取方法看来,有限体积法属于加权余量法中的子域法,从未知解的近似方法看来,有限体积法属于采用局部近似的离散方法。简言之,子域法加离散,就是有限体积法的基本方法。
各种离散化方法的区别
简短而言,有限元法,将物理量存储在真实的网格节点上,将单元看成由周边节点及型函数构成的统一体;有限体积法往往是将物理量存储在网格单元的中心点上,而将单元看成围绕中心点的控制体积,或者在真实网格节点上定义和存储物理量,而在节点周围构造控制题。
常见离散格式的性能的对比(稳定性、精度和经济性)
请参考王福军的书《计算流体动力学分析—CFD理论与应用》
离散格式 |
稳定性及稳定条件 |
精度与经济性 |
中心差分 |
条件稳定Peclet小于等于2 |
在不发生振荡的参数范围内,可以获得校准确的结果。 |
一阶迎风 |
绝对稳定 |
虽然可以获得物理上可接受的解,但当Peclet数较大时,假扩散较严重。为避免此问题,常需要加密计算网格。 |
二阶迎风 |
绝对稳定 |
精度较一阶迎风高,但仍有假扩散问题。 |
混合格式 |
绝对稳定 |
当Peclet小于等于2时,性能与中心差分格式相同。当Peclet大于2时,性能与一阶迎风格式相同。 |
指数格式、乘方格式 |
绝对稳定 |
主要适用于无源项的对流扩散问题,对有非常数源项的场合,当Peclet数较高时有较大误差。 |
QUICK格式 |
条件稳定Peclet小于等于8/3 |
可以减少假扩散误差,精度较高,应用较广泛,但主要用于六面体和四边形网格。 |
改进的QUICK格式 |
绝对稳定 |
性能同标准QUICK格式,只是不存在稳定性问题。 |
流场数值计算的目的是什么?主要方法有哪些?其基本思路是什么?各自的适用范围是什么?
答:这个问题的范畴好大啊。简要的说一下个人的理解吧:流场数值求解的目的就是为了得到某个流动状态下的相关参数,这样可以节省实验经费,节约实验时间,并且可以模拟一些不可能做实验的流动状态。主要方法有有限差分,有限元和有限体积法,好像最近还有无网格法和波尔兹曼法(格子法)。基本思路都是将复杂的非线性差分/积分方程简化成简单的代数方程。相对来说,有限差分法对网格的要求较高,而其他的方法就要灵活的多
可压缩流动和不可压缩流动,在数值解法上各有何特点?为何不可压缩流动在求解时反而比可压缩流动有更多的困难?
答:注:这个问题不是一句两句话就能说清楚的,大家还是看下面的两篇小文章吧,摘自《计算流体力学应用》,读完之后自有体会。
可压缩Euler及Navier-Stokes方程数值解
描述无粘流动的基本方程组是Euler方程组,描述粘性流动的基本方程组是Navier-Stokes方程组。用数值方法通过求解Euler方程和Navier-Stokes方程模拟流场是计算流体动力学的重要内容之一。由于飞行器设计实际问题中的绝大多数流态都具有较高的雷诺数,这些流动粘性区域很小,由对流作用主控,因此针对Euler方程发展的计算方法,在大多数情况下对Navier-Stokes方程也是有效的,只需针对粘性项用中心差分离散。
用数值方法求解无粘Euler方程组的历史可追溯到20世纪50年代,具有代表性的方法是1952年Courant等人以及1954年Lax和Friedrichs提出的一阶方法。从那时开始,人们发展了大量的差分格式。Lax和Wendroff的开创性工作是非定常Euler(可压缩Navier-Stokes)方程组数值求解方法发展的里程碑。二阶精度Lax-Wendroff格式应用于非线性方程组派生出了一类格式,其共同特点是格式空间对称,即在空间上对一维问题是三点中心格式,在时间上是显式格式,并且该类格式是从时间空间混合离散中导出的。该类格式中最流行的是MacCormack格式。
采用时空混合离散方法,其数值解趋近于定常时依赖于计算中采用的时间步长。尽管由时间步长项引起的误差与截断误差在数量级上相同,但这却体现了一个概念上的缺陷,因为在计算得到的定常解中引进了一个数值参数。将时间积分从空间离散中分离出来就避免了上述缺陷。常用的时空分别离散格式有中心型格式和迎风型格式。空间二阶精度的中心型格式(一维问题是三点格式)就属于上述范畴。该类格式最具代表性的是Beam-Warming隐式格式和Jameson等人采用的Runge-Kutta时间积分方法发展的显式格式。迎风型差分格式共同特点是所建立起的特征传播特性与差分空间离散方向选择的关系是与无粘流动的物理特性一致的。第一个显式迎风差分格式是由Courant等人构造的,并推广为二阶精度和隐式时间积分方法。基于通量方向性离散的Steger-Warming和Van Leer矢通量分裂方法可以认为是这类格式的一种。该类格式的第二个分支是Godunov方法,该方法在每个网格步求解描述相邻间断(Riemann问题)的当地一维Euler方程。根据这一方法Engquist、Osher和Roe等人构造了一系列引入近似Riemann算子的格式,这就是著名的通量差分方法。
对于没有大梯度的定常光滑流动,所有求解Euler方程格式的计算结果都是令人满意的,但当出现诸如激波这样的间断时,其表现确有很大差异。绝大多数最初发展起来的格式,如Lax-Wendroff格式中心型格式,在激波附近会产生波动。人们通过引入人工粘性构造了各种方法来控制和限制这些波动。在一个时期里,这类格式在复杂流场计算中得到了应用。然而,由于格式中含有自由参数,对不同问题要进行调整,不仅给使用上带来了诸多不便,而且格式对激波分辨率受到影响,因而其在复杂流动计算中的应用受到了一定限制。
另外一种方法是力图阻止数值波动的产生,而不是在其产生后再进行抑制。这种方法是建立在非线性限制器的概念上,这一概念最初由Boris和Book及Van Leer提出,并且通过Harten发展的总变差减小(TVD, Total Variation Diminishing)的重要概念得以实现。通过这一途径,数值解的变化以非线性的方式得以控制。这一类格式的研究和应用,在20世纪80年代形成了一股发展浪潮。1988年,张涵信和庄逢甘利用热力学熵增原理,通过对差分格式修正方程式的分析,构造了满足熵增条件能够捕捉激波的无波动、无自由参数的耗散格式(NND格式)。该类格式在航空航天飞行器气动数值模拟方面得到了广泛应用。
1987年,Harten和Osher指出,TVD格式最多能达到二阶精度。为了突破这一精度上的限制引入了实质上无波动(ENO)格式的概念。该类格式“几乎是TVD”的,Harten因此推断这些格式产生的数值解是一致有界的。继Harten和Osher之后,Shu和Osher将ENO格式从一维推广到多维。J.Y.Yang在三阶精度ENO差分格式上也做了不少工作。1992年,张涵信另辟蹊径,在NND格式的基础上,发展了一种能捕捉激波的实质上无波动、无自由参数的三阶精度差分格式(简称ENN格式)。1994年,Liu、Osher和Chan发展了WENO(Weighted Essentially Non-Oscillatory)格式。WENO格式是基于ENO格式构造的高阶混合格式,它在保持了ENO格式优点的同时,计算流场中虚假波动明显减少。此后,Jiang提出了一种新的网格模板光滑程度的度量方法。目前高阶精度格式的研究与应用是计算流体力学的热点问题之一。
不可压缩Navier-Stokes方程求解
不可压缩流体力学数值解法有非常广泛的需求。从求解低速空气动力学问题,推进器内部流动,到水动力相关的液体流动以及生物流体力学等。满足这么广泛问题的研究,要求有与之相应的较好的物理问题的数学模型以及鲁棒的数值算法。
相对于可压缩流动,不可压缩流动的数值求解困难在于,不可压缩流体介质的密度保持常数,而状态方程不再成立,连续方程退化为速度的散度为零的方程。由此,在可压缩流动的计算中可用于求解密度和压力的连续方程在不可压缩流动求解中仅是动量方程的一个约束条件,由此求解不可压缩流动的压力称为一个困难。求解不可压缩流动的各种方法主要在于求解不同的压力过程。
目前,主要有两类求解不可压缩流体力学的方法,原始变量方法和非原始变量方法。求解不可压缩流动的原始变量方法是将Navier-Stokes方程写成压力和速度的形式,进行直接求解,这种形式已被广为应用。非原始变量方法主要有Fasel提出的流函数-涡函数法、Aziz和Hellums提出的势函数-涡函数方法。在求解三维流动问题时,上述每一个方法都需要反复求解三个Possion方程,非常耗时。原始变量方法可以分为三类:第一种方法是Harlow和Welch首先提出的压力Possion方程方法。该方法首先将动量方程推进求得速度场,然后利用Possion方程求解压力,这一种方法由于每一时间步上需要求解Possion方程,求解非常耗时。第二种方法是Patanker和Spalding的SIMPLE(Semi-Implicit Method for Pressure-Linked Equation)法,它是通过动量方程求得压力修正项对速度的影响,使其满足速度散度等于零的条件作为压力控制方程。第三种方法是虚拟压缩方法,这一方法是Chorin于1967年提出的。该方法的核心就是通过在连续方程中引入一个虚拟压缩因子,再附加一项压力的虚拟时间导数,使压力显式地与速度联系起来,同时方程也变成了双曲型方程。这样,方程的形式就与求解可压缩流动的方程相似,因此,许多求解可压缩流动的成熟方法都可用于不可压缩流动的求解。
目前,由于基于求解压力Possion方程的方法非常复杂及耗时,难于求解具体的工程实际问题,因此用此方法解决工程问题的工作越来越少。工程上常用的主要是SIMPLE方法和虚拟压缩方法。
什么叫边界条件?有何物理意义?它与初始条件有什么关系?
边界条件与初始条件是控制方程有确定解的前提。
边界条件是在求解区域的边界上所求解的变量或其导数随时间和地点的变化规律。对于任何问题,都需要给定边界条件。
初始条件是所研究对象在过程开始时刻各个求解变量的空间分布情况,对于瞬态问题,必须给定初始条件,稳态问题,则不用给定。对于边界条件与初始条件的处理,直接影响计算结果的精度。
在瞬态问题中,给定初始条件时要注意的是:要针对所有计算变量,给定整个计算域内各单元的初始条件;初始条件一定是物理上合理的,要靠经验或实测结果。
在数值计算中,偏微分方程的双曲型方程、椭圆型方程、抛物型方程有什么区别?
我们知道很多描述物理问题的控制方程最终就可以归结为偏微分方程,描述流动的控制方程也不例外。
从数学角度,一般将偏微分方程分为椭圆型(影响域是椭圆的,与时间无关,且是空间内的闭区域,故又称为边值问题),双曲型(步进问题,但依赖域仅在两条特征区域之间),抛物型(影响域以特征线为分界线,与主流方向垂直;具体来说,解的分布与瞬时以前的情况和边界条件相关,下游的变化仅与上游的变化相关;也称为初边值问题);
从物理角度,一般将方程分为平衡问题(或稳态问题),时间步进问题。
两种角度,有这样的关系:椭圆型方程描述的一般是平衡问题(或稳态问题),双曲型和抛物型方程描述的一般是步进问题。
至于具体的分类方法,大家可以参考一般的偏微分方程专著,里面都有介绍。关于各种不同近似水平的流体控制方程的分类,大家可以参考张涵信院士编写《计算流体力学—差分方法的原理与应用》里面讲的相当详细。
三种类型偏微分方程的基本差别如下:
1)三种类型偏微分方程解的适定性(即解存在且唯一,并且解稳定)要求对定解条件有不同的提法;
2)三种类型偏微分方程解的光滑性不同,对定解条件的光滑性要求也不同;
椭圆型和抛物型方程的解是充分光滑的,因此对定解条件的光滑性要求不高。而双曲型方程允许有所谓的弱解存在(如流场中的激波),即解的一阶导数可以不连续,所以对定解条件的光滑性要求很高,这也正是采用有限元法求解双曲型方程困难较多的原因之一。
3)三种类型偏微分方程的影响区域和依赖区域不一样。
在双曲型和抛物型方程所控制的流场中,某一点的影响区域是有界的,可采用步进求解。如对双曲型方程求解时,为了与影响区域的特征一致,采用上风格式比较适宜。而椭圆型方程的影响范围遍及全场,必须全场求解,所采用的差分格式也要采用相应的中心格式。
在网格生成技术中,什么叫贴体坐标系?什么叫网格独立解?
数值计算的与实验值之间的误差来源只要有这几个:物理模型近似误差(无粘或有粘,定常与非定常,二维或三维等等),差分方程的截断误差及求解区域的离散误差(这两种误差通常统称为离散误差),迭代误差(离散后的代数方程组的求解方法以及迭代次数所产生的误差),舍入误差(计算机只能用有限位存储计算物理量所产生的误差)等等。在通常的计算中,离散误差随网格变细而减小,但由于网格变细时,离散点数增多,舍入误差也随之加大。
由此可见,网格数量并不是越多越好的。
再说说网格无关性的问题,由上面的介绍,我们知道网格数太密或者太疏都可能产生误差过大的计算结果,网格数在一定的范围内的结果才与实验值比较接近,这样在划分网格时就要求我们首先依据已有的经验大致划分一个网格进行计算,将计算结果(当然这个计算结果必须是收敛的)与实验值进行比较(如果没有实验值,则不需要比较,后面的比较与此类型相同),再酌情加密或减少网格,再进行计算,再与实验值进行比较,并与前一次计算结果比较,如果两次的计算结果相差较小(例如在2%),说明这一范围的网格的计算结果是可信的,说明计算结果是网格无关的。再加密网格已经没有什么意义(除非你要求的计算精度较高)。但是,如果你用粗网格也能得到相差很小的计算结果,从计算效率上讲,你就可以完全使用粗网格去完成你的计算。加密或者减少网格数量,你可以以一倍的量级进行。
在GAMBIT中显示的“check”主要通过哪几种来判断其网格的质量?及其在做网格时大致注意到哪些细节?
判断网格质量的方面有:
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表示最好。
在两个面的交界线上如果出现网格间距不同的情况时,即两块网格不连续时,怎么样克服这种情况呢?
这个问题就是非连续性网格的设置,一般来说就是把两个交接面设置为一对interface。
另外,作此操作可能出现的问题及可供参考的解决方法为:
问题:把两个面(其中一个实际是由若干小面组成,将若干小面定义为了group了)拼接在一起,也就是说两者之间有流体通过,两个面个属不同的体,网格导入到fluent时,使用interface时出现网格check的错误,将interface的边界条件删除,就不会发生网格检查的错误,如何将两个面的网格相连?
原因:interface后的两个体的交接面,fluent以将其作为内部流体处理(非重叠部分默认为wall,合并后网格会在某些地方发生畸变,导致合并失败,也可能准备合并的两个面几何位置有误差,应该准确的在同一几何位置(合并的面大小相等时),在合并之前要合理分块。
解决方法:为了避免网格发生畸变(可能一个面上的网格跑到另外的面上了),可以一面网格粗,一面网格细避免; 再者就是通过将一个面的网格直接映射到另一面上的,两个面默认为interior.也可以将网格拼接一起.
在设置GAMBIT边界层类型时需要注意的几个问题:a、没有定义的边界线如何处理?b、计算域内的内部边界如何处理(2D)?
答:gambit默认为wall,一般情况下可以到fluent再修改边界类型。 内部边界如果是split产生的,那么就不需再设定了,如果不是,那么就需要设定为interface或者是internal
为何在划分网格后,还要指定边界类型和区域类型?常用的边界类型和区域类型有哪些?
答:要得到一个问题的定解就需要有定解条件,而边界条件就属于定解条件。也就是说边界条件确定了结果。不同的流体介质有不同的物理属性,也就会得到不同的结果,所以必须指定区域类型。对于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邻近校正中所用的方法
23 在FLUENT运行过程中,经常会出现“turbulence viscous rate”超过了极限值,此时如何解决?而这里的极限值指的是什么值?修正后它对计算结果有何影响
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来计算第一层网格高度;如果这方面已经注意了,那就可能是边界条件中有关湍流量的设置问题,
24 在FLUENT运行计算时,为什么有时候总是出现“reversed flow”?其具体意义是什么?有没有办法避免?如果一直这样显示,它对最终的计算结果有什么样的影响?
这个问题的意思是出现了回流,这个问题相对于湍流粘性比的警告要宽松一些,有些case可能只在计算的开始阶段出现这个警告,随着迭代的计算,可能会消失,如果计算一段时间之后,警告消失了,那么对计算结果是没有什么影响的,如果这个警告一直存在,可能需要作以下处理:
1.如果是模拟外部绕流,出现这个警告的原因可能是边界条件取得距离物体不够远,如果边界条件取的足够远,该处可能在计算的过程中的确存在回流现象;对于可压缩流动,边界最好取在10倍的物体特征长度之处;对于不可压缩流动,边界最好取在4倍的物体特征长度之处。
2.如果出现了这个警告,不论对于外部绕流还是内部流动,可以使用pressure-outlet边界条件代替outflow边界条件改善这个问题。
26 什么叫问题的初始化?在FLUENT中初始化的方法对计算结果有什么样的影响?初始化中的“patch”怎么理解?
问题的初始化就是在做计算时,给流场一个初始值,包括压力、速度、温度和湍流系数等。理论上,给的初始场对最终结果不会产生影响,因为随着跌倒步数的增加,计算得到的流场会向真实的流场无限逼近,但是,由于Fluent等计算软件存在像离散格式精度(会产生离散误差)和截断误差等问题的限制,如果初始场给的过于偏离实际物理场,就会出现计算很难收敛,甚至是刚开始计算就发散的问题。因此,在初始化时,初值还是应该给的尽量符合实际物理现象。这就要求我们对要计算的物理场,有一个比较清楚的理解。
初始化中的patch就是对初始化的一种补充,比如当遇到多相流问题时,需要对各相的参数进行更细的限制,以最大限度接近现实物理场。这些就可以通过patch来实现,patch可以对流场分区进行初始化,还可以通过编写简单的函数来对特定区域初始化。
27 什么叫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 FLUENT运行过程中,出现残差曲线震荡是怎么回事?如何解决残差震荡的问题?残差震荡对计算收敛性和计算结果有什么影响?
31 数值模拟过程中,什么情况下出现伪扩散的情况?以及对于伪扩散在数值模拟过程中如何避免?
假扩散(false diffusion)的含义:
基本含义:由于对流—扩散方程中一阶导数项的离散格式的截断误差小于二阶而引起较大数值计算误差的现象。有的文献中将人工粘性(artificial viscosity)或数值粘性(numerical viscosity)视为它的同义词。
拓宽含义:现在通常把以下三种原因引起的数值计算误差都归在假扩散的名称下
1.非稳态项或对流项采用一阶截差的格式;
2.流动方向与网格线呈倾斜交叉(多维问题);
3.建立差分格式时没有考虑到非常数的源项的影响。
克服或减轻假扩散的格式或方法,
为克服或减轻数值计算中的假扩散(包括流向扩散及交叉扩散)误差,应当:
1. 采用截差阶数较高的格式;
2. 减轻流线与网格线之间的倾斜交叉现象或在构造格式时考虑到来流方向的影响。
3. 至于非常数源项的问题,目前文献中,还没有为克服这种影响而专门构造的格式,但是高阶格式显然对减轻其影响是有利的。
32 FLUENT轮廓(contour)显示过程中,有时候标准轮廓线显示通常不能精确地显示其细节,特别是对于封闭的3D物体(如柱体),其原因是什么?如何解决?
FLUENT等高线(contour)显示过程中,可以通过调节显示的水平等级来调节其显示细节,Levels...最大值允许设置为100.对于封闭的3D物体,可以通过建立Surface,监视Surface上的量来显示计算结果。或者计算之后将结果导入到Tecplot中,作切片图显示。
33 如果采用非稳态计算完毕后,如何才能更形象地显示出动态的效果图?
对于非定常计算,可以通过创建动画来形象地显示出动态的效果图。
Solve->Animate->Define...,具体操作请参考Fluent用户手册。
34 在FLUENT的学习过程中,通常会涉及几个压力的概念,比如压力是相对值还是绝对值?参考压力有何作用?如何设置和利用它?
GAUGE PRESSURE 就是静压。
GAUGE total PRESSURE 是总压。
这里需要强调一下 Gauge为名义值,
什么意思呢?如果, INITIAL Gauge PRESSURE =0
那么 GAUGE PRESSURE 就是实际的静压Pinf。
GAUGE total PRESSURE 是实际的总压Pt。
如果INITIAL Gauge PRESSURE 不等于零
GAUGE PRESSURE = Pinf - INITIAL Gauge PRESSURE
GAUGE total PRESSURE = Pt - INITIAL Gauge PRESSURE
35 在FLUENT结果的后处理过程中,如何将美观漂亮的定性分析的效果图和定量分析示意图插入到论文中来说明问题?
三种方法来得到用于插入到论文的图片:
1.在Fluent中显示你想得到的效果图的窗口,可以直接在任务栏中右键该窗口将其复制到剪贴板,保存;或者打印到文件,保存。
2.在Fluent中,在你想要保存相关窗口的效果图时,首先激活效果图监视窗口,就是用鼠标左键监视窗口,然后在Fluent中操作,Fluent->File->Hardcopy...,选择好你想要的图片格式,然后就可以保存了。
3.将计算结果或者相关数据导入到Tecplot中,然后作出你想要的效果图,这种方法得出的图片,个人感觉比Fluent得到的图片美观简洁大方
36 在DPM模型中,粒子轨迹能表示粒子在计算域内的行程,如何显示单一粒径粒子的轨道(如20微米的粒子)?
首先选择DMP模型,在set injection properties 面板中,选择injection type的类型为single,
然后设置初始条件,如位置(x,y,z),速度,直径(如20微米的粒子),温度,质量流率等!
设定完成后,你就可以行迭代了。等气相和离散相收敛以后,你就可以追踪粒子轨迹。在display中打开particle tracks面板进行操作!
37 在FLUENT定义速度入口时,速度入口的适用范围是什么?湍流参数的定义方法有哪些?各自有什么不同?
速度入口的边界条件适用于不可压流动,需要给定进口速度以及需要计算的所有标量值。速度入口边界条件不适合可压缩流动,否则入口边界条件会使入口处的总温或总压有一定的波动。
关于湍流参数的定义方法,根据所选择的湍流模型的不同有不同的湍流参数组合,具体可以参考Fluent用户手册的相关章节,也可以参考王福军的书《计算流体动力学分析—CFD软件原理与应用》的第214-216页.
相关标签搜索:写给刚接触Fluent的新手(转载自网络)1 Fluent培训 Fluent流体培训 Fluent软件培训 fluent技术教程 fluent在线视频教程 fluent资料下载 fluent分析理论 fluent化学反应 fluent软件下载 UDF编程代做 Fluent、CFX流体分析 HFSS电磁分析