《计算流体力学》读书笔记计算流体动力学(ComputationalFluidDynamics,简称CFD)是通过计算机数值计算和图像显示,对包含有流体流动和热传导等相关物理现象的系统所做的分析。其基本思想为:把原来在时间域及空间域上连续的物理量的场,如速度场和压力场,用一系列有限个离散点上的变量值的集合来代替,通过一定的原则和方式建立起关于这些离散点上场变量之间关系的代数方程组,然后求解代数方程组获得场变量的近似值。CFD可以看作是在流动基本方程(质量守恒方程、动量守恒方程、能量守恒方程)控制下对流动的数值模拟。通过这种数值模拟,我们可以得到极其复杂问题的流场内各个位置上的基本物理量(如速度、压力、温度、浓度等)的分布,以及这些物理量随时间的变化情况,确定旋涡分布特性、空化特性及脱流区等。还可据此算出相关的其他物理星,如旋转式流体机械的转矩、水力损失和效率等。此外,与CAD联合,还可进行结构优化设计等。1.计算流体力学的目的、内容和特点计算流体力学的目的是用数值方法求解基本方程(连续性方程、N-S方程、Euler方程),内容是其本身的理论方法以及应用。计算流体动学的特点:①流动问题的控制方程一般是非线性的,自变量多,计算域的几何形状和边界条件复杂,很难求得解析解,而用CFD方法则有可能找出满足工程需要的数值解。②可利用计算机进行各种数值试验,例如,选择不同流动参数进行物理方程中各项有效性和敏感性试验,从而进行方案比较。③它不受物理模型和实验模型的限制,省钱省时,有较多的灵活性,能给出详细和完整的资料,很容易模拟特殊尺寸、高温、有毒、易燃等真实条件和实验中只能接近而无法达到的理想条件。④数值解法是一种离散近似的计算方法,依赖于物理上合理、数学上适用、适合于在计算机上进行计算的离散的有限数学模型,且最终结果不能提供任何形式的解析表达式,只是有限个离散点上的数值解,并有一定的计算误差。⑤它不像物理模型实验一开始就能给出流动现象并定性地描述,往往需要由原体观测或物理模型试验提供某些流动参数,并需要对建立的数学模型进行验证。⑥程序的编制及资料的收集、整理与正确利用,在很大程度上依赖于经验与技巧。⑦因数值处理方法等原因有可能导致计算结果的不真实,例如产生数值粘性和频散等伪物理效应。⑧CFD因涉及大量数值计算,因此,常需要较高的计算机软硬件配置。理论分析成本最低、结果最理想、影响因素表达清楚;缺点:局限与非常简单的问题。数值方法成本较低:数值实验、适用范围宽;缺点:可靠性差,表达困难。实验测量可靠、成本高。将三种方法有机结合,互为补充,必然会取得相得益彰的效果。经过四十多年的发展,CFD出现了多种数值解法。这些方法之间的主要区别在于对控制方程的离散方式。根据离散的原理不同,CFD大体上可分为三个分支:有限差分法(FiniteDifferentMethod,FDM);有限元法(FiniteEIementMethod,FEM);有限体积法(FiniteVolumeMethod,FVM)。有限差分法是应用最早、最经典的CFD方法,它将求解域划分为差分网格,用有限个网格节点代替连续的求解域,然后将偏微分方程的导数用差商代替,推导出含有离散点上有限个未知数的差分方程组。求出差分万程组的解,就是微分方程定解问题的数值近似解。它是一种直接将微分问题变为代数问题的近似数值解法。这种方法发展较早,比较成熟,较多地用于求解双曲型和抛物型问题。在此基础上发展起来的方法有PIC(Particle-in-cell)法、MAC(Marker-and-Cell)法,以及南美籍华人学者陈景广提出的有限分析法(FiniteAnalyticMethod)等。有限元法是20世纪80年代开始应用的—种数值解法,它吸收了有限差分法中离散处理的内核,又采用了变分计算中选择逼近函数对区域进行积分的合理方法。有限元法因求解速度较有限差分法和有限体积法慢,因此应用不是特别广泛。在有限元法的基础上,英国CA.BBrebbia等提出了边界元法和混合元法等方法。有限体积法是将计算区域划分为一系列控制体积,将待解微分方程对每一个控制体积积分得出离散方程。有限体积法的关键是在导出离散方程过程中,需要对界面上的被求函数本身及其导数的分布作出某种形式的假定。用有限体积法导出的离散方程可以保证具有守恒特性,而且离散方程系数物理意义明确,计算量相对较小。1980年,S.V.Patanker在其专著《NumericaclHeatTransferandFluidFlow》中对有限体积法作了全面的阐述。此后,该方法得到了广泛应用,是目前CFD应用最广的一种方法。当然,对这种方法的研究和扩展也在不断进行,如PChow提出了适用于任意多边形非结构网格的扩展有限体积法。有限差分法(Finitedifferencemethod):用差商与代替导数;经典、成熟;数学理论基础明确;主导方法。有限元法(Finiteelementmethod):将求解区域分成若干个小的单元(element);设定待求变量在单元上的分布函数;适应性强,适用于复杂的求解区域;一度有取代有限差分法的趋势;程序技巧要求高;数学基础不如有限差分法明确。边界单元法(Boundaryelementmethod):对数学模型在边界上离散化;基于数学模型的基础解;不需要全区域求解;数学技巧要求高;通用性差;数学基础不是非常明确。样条边界单元法(Samplespectrum):改进的边界单元法;用样条插值解决边界元的基础解问题;应用范围大大拓宽;灵活性更强;缺点:通用性差、数学基础不是非常明确。有限分析法(Finiteanalyticalmethod):将求解区域分成若干个子区域;给出在各个子区域上的分析解;利用边界条件耦合各个子区域上的分析解从而得到离散化方程;最大限度地引入了分析解的成分;一般可以提高求解效率和精度;数学技巧非常高;与问题的性质有关;很难形成通用程序。数值积分变换法(Numericalintegrationtransformmethod):将积分变换法引入各类问题的求解;将问题进行分解,可以得到分析解的辅助问题;多个(无限多个)常微分方程;无需整体求解;数学要求高;前期准备工作量非常大;很难形成通用的求解程序。2.计算流体力学的步骤计算流体力学的求解步骤大致可以概括为如下十步:①给出物理模型。②借助基本原理/定律给出数学模型。如质量守恒、能量守恒、动量守恒等定律。物理模型是指把实际的问题,通过相关的物理定律概括和抽象出来并满足实际情况的物理表征。数学模型就好理解了,就是对物理模型的数学描写。比如N-S方程就是对粘性流体动力学的一种数学描写,值得注意的是,数学模型对物理模型的描写也要通过抽象,简化的过程。③确定边界条件与初始条件。初始条件与边界条件是控制方程有确定解的前提,控制方程与相应的初始条件、边界条件的组合构成对一个物理过程完整的数学描述。初始条件是所研究对象在过程开始时刻各个求解变量的空间分布情况。对于瞬态问题,必须给定初始条件。对于稳态问题,不需要初始条件。边界条件是在求解区域的边界上所求解的变量或其导数随地点和时间的变化规律。对于任何问题,都需要给定边界条件。对于初始条件和边界条件的处理,直接影响计算结果的精度。④划分计算网。采用数值方法求解控制方程时,都是想办法将控制方程在空间区域上进行离散,然后求解得到的离散方程组。要想在空间域上离散控制方程,必须使用网格。现已发展出多种对各种区域进行离散以生成网格的方法,统称为网格生成技术。不同的问题采用不同数值解法时,所需要的网格形式是有一定区别的,但生成网格的方法基本是一致的。目前,网格分结构网格和非结构网格两大类。简单地讲,结构网格在空间上比较规范,如对一个四边形区域,网格往往是成行成列分布的,行线和列线比较明显。而对非结构网格在空间分布上没有明显的行线和列线。⑤建立离散方程。对于在求解域内所建立的偏微分方程,理论上是有真解(或称精确解或解析解)的。但由于所处理的问题自身的复杂性,一般很难获得方程的真解。因此,就需要通过数值方法把计算域内有限数量位置(网格节点或网格中心点)上的因变量值当作基本未知量来处理,从而建立一组关于这些未知量的代数方程组,然后通过求解代数方程组来得到这些节点值,而计算域内其他位置上的值则根据节点位置上的值来确定。由于所引入的应变量在节点之间的分布假设及推导离散化方程的方法不同,就形成了有限差分法、有限元法、有限元体积法等不同类型的离散化方法。⑥离散初始条件和边界条件。前面所给定的初始条件和边界条件是连续性的,如在静止壁面上速度为0,现在需要针对所生成的网格,将连续型的初始条件和边界条件转化为特定节点上的值,如静止壁面上共有90个节点,则这些节点上的速度值应均设为0。这样,连同在各节点处所建立的离散的控制方程,才能对方程组进行求解。在商用CFD软件中,往往在前处理阶段完成了网格划分后,直接在边界上指定初始条件和边界条件,然后由前处理软件自动将这些初始条件和边界条件按离散的方式分配到相应的节点上去。⑦给定求解控制参数。在离散空间上建立了离散化的代数方程组,并施加离散化的初始条件和边界条件后,还需要给定流体的物理参数和紊流模型的经验系数等。此外,还要给定迭代计算的控制精度、瞬态问题的时间步长和输出频率等。在CFD的理论中,这些参数并不值得去探讨和研究,但在实际计算时,它们对计算的精度和效率有着重要的影响。⑧求解离散方程。在进行了上述设置后,生成了具有定解条件的代数方程组。对于这些方程组,数学上已有相应的解法,如线性方程组可采用Guass消去法或Guass-Seidel迭代法求解,而对非线性方程组,可采用Newton-Raphson方法。在商用CFD软件中,往往提供多种不同的解法,以适应不同类型的问题。这部分内容,属于求解器设置的范畴。⑨判断解的收敛性。对于稳态问题的解,或是瞬态问题在某个特定时间步上的解;往往要通过多次迭代才能得到。有时,因网格形式或网格大小、对流项的离散插值格式等原因,可能导致解的发散。对于瞬态问题,若采用显式格式进行时间域上的积分,当时间步长过大时,也可能造成解的振荡或发散。因此,在迭代过程中,要对解的收敛性随时进行监视,并在系统达到指定精度后,结束迭代过程。这部分内容属于经验性的,需要针对不同情况进行分析。⑩显示和输出计算结果。线值图:在二维或三维空间上,将横坐标取为空间长度或时间历程,将纵坐标取为某一物理量,然后用光滑曲线或曲面在坐标系内绘制出某一物理量沿空间或时间的变化情况。矢量图:直接给出二维或三维空间里矢量(如速度)的方向及大小,一般用不同颜色和长度的箭头表示速度矢量。矢量图可以比较容易地让用户发现其中存在的旋涡区。计算流体力学的步骤否3.模型方程模型方程既要简单又要反映流体特征。①N-S方程等流体在静止时虽不能承受切应力,但在运动时,对相邻两层流体间的相对运动,即相对滑动速度却是有抵抗的,这种抵抗力称为粘性应力。流体所具有的这种抵抗两层流体间相对滑动速度,或普遍说来抵抗变形的性质,称为粘性。N-S方程:ρ(∂∂t+u∂∂x+v∂∂y+w∂∂z)u=ρfx−∂p∂x+∂∂x(μ∂u∂x)+∂∂y(μ∂u∂y)+∂∂z(μ∂u∂z)输运方程:∂ϕ∂t+u∂ϕ∂x+v∂ϕ∂y+w∂ϕ∂z=∂∂x(μ∂ϕ∂x)+∂∂y(μ∂ϕ∂y)+∂∂z(μ∂ϕ∂z)对流方程:∂ϕ∂t+c∂ϕ∂x=0②流体热传导及扩散除了粘性外,流体还有热传导(heattransfer)及扩散(diffusion)等性质。当流体中存在着温度差时,温度高的地方将向温度低的地方传送热量,这种现象称为热传导。同样地,当流体混合物中存在着组元的浓度差时,浓度高的地方将向浓度低的地方输送该组入的物质,这种现象称为扩散。流体的宏观性质,如扩散、粘性和热传导等,是分子输运性质的统计平均。由于分子的不规则运动,在各层流体间交换着质量、动量和能量,使不同流体层内的平均物理量均匀化。这种性质称为分子运动的输运性质。质量输运在宏观上表现为扩散现象,动量输运表现为粘性现象,能量输运则