1/11第二章计算流体力学的基本知识流体流动现象大量存在于自然界及多种工程领域中,所有这些工程都受质量守恒、动量守恒和能量守恒等基本物理定律的支配。这章将首先介绍流体动力学的发展和流体力学中几个重要守恒定律及其数学表达式,最后介绍几种常用的商业软件。2.1计算流体力学简介2.1.1计算流体力学的发展流体力学的基本方程组非常复杂,在考虑粘性作用时更是如此,如果不靠计算机,就只能对比较简单的情形或简化后的欧拉方程或N-S方程进行计算。20世纪30~40年代,对于复杂而又特别重要的流体力学问题,曾组织过人力用几个月甚至几年的时间做数值计算,比如圆锥做超声速飞行时周围的无粘流场就从1943年一直算到1947年。数学的发展,计算机的不断进步,以及流体力学各种计算方法的发明,使许多原来无法用理论分析求解的复杂流体力学问题有了求得数值解的可能性,这又促进了流体力学计算方法的发展,并形成了计算流体力学。从20世纪60年代起,在飞行器和其他涉及流体运动的课题中,经常采用电子计算机做数值模拟,这可以和物理实验相辅相成。数值模拟和实验模拟相互配合,使科学技术的研究和工程设计的速度加快,并节省开支。数值计算方法最近发展很快,其重要性与日俱增。自然界存在着大量复杂的流动现象,随着人类认识的深入,人们开始利用流动规律来改造自然界。最典型的例子是人类利用空气对运动中的机翼产生升力的机理发明了飞机。航空技术的发展强烈推动了流体力学的迅速发展。流体运动的规律由一组控制方程描述。计算机没有发明前,流体力学家们在对方程经过大量简化后能够得到一些线形问题解读解。但实际的流动问题大都是复杂的强非线形问题,无法求得精确的解读解。计算机的出现以及计算技术的迅速发展使人们直接求解控制方程组的梦想逐步得到实现,从而催生了计算流体力2/11学这门交叉学科。计算流体力学是一门用数值计算方法直接求解流动主控方程(Euler或Navier-Stokes方程)以发现各种流动现象规律的学科。它综合了计算数学、计算机科学、流体力学、科学可视化等多种学科。广义的CFD包括计算水动力学、计算空气动力学、计算燃烧学、计算传热学、计算化学反应流动,甚至数值天气预报也可列入其中。自20世纪60年代以来,CFD技术得到飞速发展,其原动力是不断增长的工业需求,而航空航天工业自始至终是最强大的推动力。传统飞行器设计方法实验昂贵、费时,所获信息有限,迫使人们需要用先进的计算机仿真手段指导设计,大量减少原型机实验,缩短研发周期,节约研究经费。四十年来,CFD在湍流模型、网格技术、数值算法、可视化、并行计算等方面取得飞速发展,并给工业界带来了革命性的变化。如在汽车工业中,CFD和其它计算机辅助工程(CAE)工具一起,使原来新车研发需要上百辆样车减少为目前的十几辆车;国外飞机厂商用CFD取代大量实物实验,如美国战斗机YF-23采用CFD进行气动设计后比前一代YF-17减少了60%的风洞实验量。目前在航空、航天、汽车等工业领域,利用CFD进行的反复设计、分析、优化己成为标准的必经步骤和手段。当前CFD问题的规模为:机理研究方面如湍流直接模拟,网格数达到了109(十亿)量级,在工业应用方面,网格数最多达到了107(千万)量级。与实验研究相比,理论计算具有花费少、速度快、信息完整、模拟能力强等优点,特别是大量的计算流体力学软件的出现,大大减少了计算流体力学研究的工作量,从而扩大了计算流体力学的应用范围,推动了流体力学更深入的发展。计算流体力学还不是一项很成熟的技术,在用计算流体力学对流动现象进行预测的时候,需要对复杂的流动现象进行处理,然后用数学模型来描述它,计算的结果既取决于计算方法,也取决于数学模型本身,如果数学模型的描述不够精确,甚至不恰当,其计算结果也就没有任何价值可言。尽管作为一门新兴的学科,计算流体力学还有缺陷,但它会随着技术的进步和发展而日趋成熟,并将在化工领域得到广泛的应用。一个完整的计算流体力学模型应包含如下几个方面的内容:本构方程,即流体力学基本方程:连续性方程(质量方程)、动量方程、能量方程、状态方程等。3/11湍流模型,不同于层流,必须考虑流体单元的脉动速度,脉动是湍流流动的基本特征。从模型的建立及求解过程可以看出,其实质是寻找出由于脉动而起的运动粘度的表达式。多相流模型,对于多相流模拟计算来说,基本的湍流模型还不够用,需要进一步寻找各相运动规律及相间作用力规律。模型的求解数值方法,对模型进行计算时,需要选择好的差分格式、松弛因子、时间步长等,以使结果收敛尽量减少CPU运算时间。2.1.2计算流体力学的定义计算流体动力学(ComputationalFluidDynamics,简称CFD)是建立在经典流体力学与数值计算方法基础上的新型独立的学科,通过计算机数值计算和图像显示的方法,在时间和空间上定量描述流场的数值解,从而达到对物理问题研究的目的。它兼有理论性和实践性的双重特点,建立了理论和方法,为现代科学中许多复杂流动和传热问题提供了有效的计算技术。计算流体动力学(CFD)是通过计算机数值计算和图像显示,对包含有流体流动和热传导等相关物理现象的系统所做的分析。它的基本思想是:把原来在时间域及空间域上连续的物理量的场,如速度场和压力场,用一系列有限个离散点上的变量值的几何来代替,通过一定的原则和方式建立起来的关于这些离散点上场变量之间关系的代数方程组,然后代数方程组获得场变量的近似值[5]。CFD方法和传统的理论分析方法、实验测量方法组成了研究流体流动问题的完整体系。理论分析方法的优点在于所得结果具有普遍性,各种影响因素清晰可见,是指导实验研究和验证数值计算方法的理论基础,但是它往往要求对计算进行抽象和简化,才可能得出理论解。对于非线性情况,只有少数流动才能给出解读结果。实验测量方法所得到的实验结果真实可信,它是理论分析和数值方法的基础,其重要性不容低估。然而,实验往往受到模型尺寸、流场流动、人身安全和测量精度的限制,有时可能很难通过实验的方法得到满意的结果。而CFD方法恰好克服了前面两种方法的弱点,在计算机上实现一个特定的计4/11算,就好像在计算机上做一个物理实验。例如,机翼的绕流,通过计算机并将其结果在屏幕上显示,就可以看到流场的各种细节:如激波的运动、强度,涡的生成与传播,流动的分离、表面的压力分布、受力大小及其随时间的变化等。数值模拟可以形象地再现流动情景,与做实验没有什么区别。2.1.3计算流体力学的计算步骤采用CFD的方法对流体流动进行数值模拟,通常包括如下步骤:(1)建立反映工程问题或物理问题本质的数学模型。具体的说就是要建立反映问题各个量之间关系的微分方程及相应的定解条件,这是数学模型的出发点。没有正确完善的数学模型,数值模拟就没有任何意义。流体的基本控制方程通常包括质量守恒方程、动量守恒方程、能量守恒方程,以及这些方程相应的定解条件。(2)寻求高效率、高准确度的计算方法,即建立针对控制方程的数值离散化方法,如有限差分法、有限元法、有限体积法等。这里的计算方法不仅包括微分方程的离散化方法及求解条件,还包括体坐标的建立,边界条件的处理等。这些内容可以说是CFD的核心。(3)编制程序和进行计算。这部分工作包括计算网格划分、初始条件和边界条件的输入,控制参数的设定等。这是整个工作中花时间最多的部分。由于求解的问题比较的复杂,比如Navier-Stokes方程就是一个十分复杂的非线性方程,数值求解方法在理论上不是绝对完善的,所以需要通过实验加以验证。正是从这个意义上讲,数值模拟又叫数值实验。(4)显示实验的结果,计算结果一般通过图表等方式显示,这对检查和判断分析质量和结果有重要的意义。2.1.4计算流体力学的局限性虽然CFD具有许多的优点,但是也存在一定的局限性。首先,数值解法是一种离散近似的计算方法,依赖于物理上合理、数学上适用、适合在计算机上进行计算的离散的数学模型,且最终结果不能提供任何形式的解读表达式,只是有限个离散点上的数值解,并有一定的计算误差;第二,它不像物理模型实验一开始5/11就能给出流动现象并定性的描述,往往需要由原体观测或物理模型实验提供某些流动参数,并需要对建立的数学模型进行验证;第三,程序的编制及资料的收集、整理与正确利用,在很大程度上取决于经验和技巧。此外,因数值处理方法等原因有可能导致计算结果的不真实,例如产生数值粘性和频散等伪物理效应。当然,某些缺点或局限性可以通过某种方式克服或弥补。最后,CFD因涉及大量的数值计算,因此,需要较高的计算机软硬件配置。2.1.5几种数值解法经过四十多年的发展,CFD出现了多种数值解法。这些方法之间的主要区别在于对控制方程的离散方式。根据离散的原理不同,大体上可以分为三个分支:有限差分法、有限元法、有限体积法。有限差分法是运用最早、最经典的CFD方法,它将求解域划分为差分网格,用有限个网格节点代替连续的求解域,然后将偏微分方程的导数用差商代替,推导出含有离散点上有限个未知数的差分方程组。求出差分方程组的解,就是微分方程定解问题的数值近似解。它是一种直接将微分问题变成代数问题的近似数值解法。这种方法发展较早,比较成熟,较多的用于求解双曲型和抛物型问题。在此基础上发展起来的方法有PIC(Particle-in-Cell)法、MAC(Marker-and-Cell)法,以及由美籍华人学者陈景仁提出的有限分析法(Finite-Analytic-Method)等[6]。有限元法是20世纪80年代开始应用的一种数值解法,它吸收了有限差分法中离散处理的内核,又采用了变分计算中选择逼近函数对区域进行积分的合理方法。有限元法因求解速度较有限差分法和有限体积法慢,因此应用不是很广泛。在有限元法的基础上,英国C.A.Brebbia等提出了边界元法和混合元法等方法。有限体积法是将计算区域划分为一系列控制体积,将待解微分方程对每一个控制体积进行积分,得出离散方程。有限体积法的关键是在导出离散方程过程中,需要对界面上的被求函数本身及导数的分布做出某种形式的假定。用有限体积法导出的离散方程可以保证具有守恒特性,而且离散方程系数物理意义明确,计算量相对较小。它是目前CFD应用最广的一种方法。当然这种方法的研究和扩展也在不断的进行,有的学者提出了适用于任意多边形非结构网格的扩展有限体6/11积法[7]。2.2流体动力学控制方程2.2.1流体的质量守恒方程任何流体问题都必须满足质量守恒定律。该定律可表达为:单位时间内流体微元体中质量的增加,等于同一时间间隔内流入该微元的净质量。按照这一定律,可以得出质量守恒方程(massconservationequation)[9]:0)()()(twtvtut(2.2)引入矢量符号div(a)=zayaxazyx,则上式写成:0)(udivt(2.3)有的文献使用符号表示散度,即a=div(a)=zayaxazyx,这样,上式又可以写成:0)(ut(2.4)上式中:是密度,t是时间,u是速度矢量,u、v、w是速度矢量在x、y、z方向的分量。上面给出的是瞬态三维可压流体的质量守恒方程。若流体不可压,密度是常数,上式变为:0zwyvxu(2.5)若流体处于稳态,则密度不随时间变化,上式变为:0)()()(twtvtu(2.6)质量守恒方程常称作连续方程(continuityequation)。7/112.2.2流体的动量守恒方程动量守恒定律也是任何流体系统都必须满足的基本定律。该定律可表达为:微元体中流体的动量对时间的变化率等于外界作用在该微元体上的各种力之和。该定律实际上是牛顿第二定律。按照这一定律,可以导出X、Y、Z三个方向的动量守恒方程(momentumconservationequation)[9]:()udivt(uu)yxxxzxxpFxxyz(2.7)()vdivt(vv)xyyyzyypFyxyz