计算流体力学电子教案西南交通大学力学与工程学院结构分析系喻勇2011-2-27本课程使用教材西南交大李人宪编《有限体积法基础》,国防工业出版社,2008年第二版。参考教材1.华中科大李万平编《计算流体力学》,华中科技大学出版社,2004年10月第一版(有限差分法和有限体积法,03级使用)2.上海交大陈汉平编《计算流体力学》,水利水电出版社,1990年?(有限元法和有限体积法,02级使用)3.西安交大陶文铨编《数值传热学》(有限体积法,重点推荐)目录•第一章绪论•第二章扩散问题的有限体积法•第三章对流扩散问题的有限体积法•第四章差分格式问题•第五章压力--速度耦合问题的有限体积法•第六章有限体积法离散方程的解法•第七章非稳态流动问题的有限体积法•第八章边界条件处理第一章绪论•为什么要学习计算流体力学?•计算流体力学有何特点?包括基础思想、发展状况、研究方法等•本课课程主要内容如何?•如何学习计算流体力学?计算流体力学(ComputationalFluidDynamics)是流体科学研究的三大手段之一,能起到理论与实验起不到的作用。对CFD的研究甚至丰富了计算数学的内容:在1999年华中科技大学出版的《现代数学手册》丛书的《计算机数学卷》中,计算流体力学中的差分法是专门的一章采用计算手段已发现了一些理论上还解不出、实验上还测不到的流动新现象。如:D.R.Campbell和T.J.Mueller(1968)首先在数值实验中发现了亚声速斜坡的分离现象,以后在风洞试验中得到了证明。为什么要学习计算流体力学?弄清推导过程,必要时亲自推导认真完成作业及时复习高等数学、流体力学相关知识经常使用matlab,用于推导和计算、绘图如何学习计算流体力学?计算流体力学的优点及局限性数值实验的优点是可以任意改变试验参数,但它同物理试验有相同的限制--它不能给出任何函数关系,因而不能代替哪怕最简单的理论。数值试验的研究结论最终要由实验来验证,因而它不能完全代替实验。总之,数值模拟的局限性有数值模拟要有准确的数学模型数值试验不能代替物理试验或理论分析计算方法存在稳定性和收敛性问题数值模拟受到计算机条件的限制计算流体力学的基本思想物理规律往往可以用一些微分或偏微分方程来表示,如:牛顿第二定律,欧拉平衡方程,N-S方程等等,其它方程都可由基本方程在一定的边界条件下导出但是,这些微分方程只在比较简单的边界条件下有理论解,而实际工程中的边界条件往往十分复杂,这此种条件下只能依赖于数值计算和实验。其中,实验的成本较高。流体力学中的基本方程有连续性方程欧拉平衡微分方程欧拉运动微分方程N-S方程连续性方程(请写出)0)()()(zvyvxvtzyx01vdivdtd向量形式divergence散度(标量),div有求和的含意欧拉平衡微分方程010101zpfypfxpfzyx01pgradf向量形式gradient梯度(矢量)欧拉运动微分方程dtdvzpfdtdvypfdtdvxpfzzyyxx111向量形式dtdpvgradf1欧拉运动微分方程扩展形式zvvyvvxvvtvdtdvzpfzvvyvvxvvtvdtdvypfzvvyvvxvvtvdtdvxpfzzzyzxzzzyzyyyxyyyxzxyxxxxx111不可压缩流体的纳维-斯托克斯(N-S)方程dtdvvzpfdtdvvypfdtdvvxpfzzzyyyxxx222111dtdgradpvvf21向量形式流体力学的基本方程的个数1.连续性方程2.欧拉平衡微分方程3.欧拉运动微分方程4.N-S方程其中,4可以代替2、3,故基本方程只有1和401vdivdtd连续性方程N-S方程(不可压缩流体)式中涉及的张量运算规则见下一页vvvvvf)12(tdtdgradpkjigradvvkjizpypxpppzvyvxvdivzyxzyxzyx2222222哈密顿算子(矢量)拉普拉斯算子(标量)散度(标量)梯度(矢量)vvvdiv2)(gradzvvyvvxvvtvvxpfxzxyxxxxx21N-S方程x向的N-Svvvvvf)12(tdtdgradpzvvyvvxvvtvvxpfxzxyxxxxx21x向的N-S方程zvvyvvxvvtvvdivxpfxzxyxxxxx)(1gradvvvdiv2)(grad以下证明上式可化为教材p1中(1-2)式,即MxxxxSxpvdivvdivtv)()()(gradv证明:则x向的N-S方程可化为:zvvyvvxvvvzvvyvvxvvdivvzvvyvvxvvvvvvzvyvxvvvvvdivxzxyxxxxzxyxxxxzxyxxxzyxxxxxxxx0)()()()()()()(vvkjikjivvvv而:zvyvxvdivzyxvvzvvyvvxvvvdivxzxyxxx)(v(将此式移至下页)zvvyvvxvvvdivxzxyxxx)(v)()(1vgradxxxxvdivtvvdivxpfzvvyvvxvvtvvdivxpfxzxyxxxxx)(1grad(()()xxxxvpfdivvdivvxtgradv))()()(vgradxxxxvdivtvvdivxpf(将此式移至下页))()()(vgradxxxxvdivtvvdivxpfxMxfS令:)()()(xMxxxvdivxpSvdivtvgradvMxxxxSxpvdivvdivtv)()()(gradv得证。(1-2)式为:--N-S方程,压力速度耦合方程01vdivdtd总结:连续性方程不可压缩流体的N-S方程MxxxxSxpvdivvdivtv)()()(gradv)351()()()(Sdivdivtgradu引入通用变量,以上两类方程可以写成通用形式,即通用变量(输运)方程:非定常项对流项扩散项源项即使对于热传导过程中的控制方程,以及可压缩流体的控制方程,通用变量方程也是适用的通用变量方程)351()()()(Sdivdivtgradu)51()()()()(iSdivpdividivtiugradu热传导方程通用变量方程)351()()()(Sdivdivtgradu由通用变量方程可以得到计算流体力学研究的几类模型方程:Sdivt)()(grad0)(SdivgradSdivdivt)()()(graduSdivdiv)()(graduSnpdivdivt)()()(gradv瞬态扩散方程稳态扩散方程瞬态对流扩散方程稳态对流扩散方程压力速度耦合方程对物理问题进行数值计算的通常步骤:1.划分离散网格2.构造离散方程3.引入边条件4.求解离散方程组5.得到物理问题的解构造离散方程的方法有多种CFD中常用的数值计算方法有限差分法有限元法有限体积法边界元法有限差分法的特点以差分方程代替微分方程来表示流体流动及传热过程中的控制方程举例说明如下:流体在两固定平行平板间作层状流动,x方向的流动速度为u,y方向的流速为0。由N-S方程可得:xpdyud122本问题有解析解。因流动为压差流动,可设压强梯度为常数,即cxpfdyud22于是:代入边界条件得:)(2222lylyflu--见陈卓如《工程流体力学(第二版)》p245本问题的差分法求解:1.划分网格,沿y方向将流场等分成6格,各节点编号为0~6。2.在节点处将控制方程中的微分项用中心差分代替,则对于每一节点都有:5~1362211ifluuuiii,由此形成一个方程组,解此方程组可得各节点处的流速为fdyud22060uu251725fluu24291fluu2381flu(边界条件)节点上的差分解与解析解相同。但解析解是连续函数,而差分解是离散值。本问题也可用有限元法求解有限元法的特点由直接刚度法、虚功原理、变分原理或加权余量法推导出离散方程。边界元法的特点通过边界积分方程将研究的问题维数降低。有限体积法的特点兼有有限差分法和有限元法的特点,推导离散方程时是在将微分方程在控制体上进行积分,由此得到的离散方程具有明确的物理意义。这一特点是其它数值方法所不及的,使得有限体积法成为计算流体力学研究中的最成功的方法,并为主流的流体及传热计算软件所采用。差分法用差分代替控制方程中的微分,这种近似处理必然带来误差。如何正确理解CFD?计算的目的是了解规律而不是数字。---C.Hastings(1955)写于IT时代成功的CFD依赖于经验和对流动规律和算法基础的透彻理解---引自李万平《计算流体力学》课后复习内容阅读第一章绪论,了解流体力学基本公式的来历,以及有限体积法的基本思想证明N-S方程可以写成通用变量方程的形式熟悉matlab编程编程求[2,999]中同时满足下列条件的整数:1)该数各位数字之和为奇数;2)该数是素数。推荐函数isprime,mod,fix--本程序不超过10行