下载

1下载券

加入VIP
  • 专属下载券
  • 上传内容扩展
  • 资料优先审核
  • 免费资料无限下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 计算流体力学基础The+base+of+Computationa...

计算流体力学基础The+base+of+Computationa....pdf

计算流体力学基础The+base+of+Computation…

liuyifan0920
2011-03-08 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《计算流体力学基础The+base+of+Computationa...pdf》,可适用于幽默滑稽领域

ThebaseofComputationalFluidDynamics计算流体力学基础教材:JHFerziger,MPeric,ComputationalMethodsforFluidDynamics参考资料:苏铭德计算流体力学清华大学出版社周雪漪计算水力学清华大学出版社绪论流体是这样一种物质:它的分子结构不能承受任何的外部剪切应力即使是微小的见力也会引起流体微团的变形。在宏观上流体通常被看作是一种连续的介质(连续统假设continuum)流体所受的外力包括:表面力:如压力剪切力表面张力等体积力:如重力旋转产生的向心力等在很多方面流体的流动速度决定了流动的特点低速流动时(Re<)流体的惯性力可以忽略这样的流动称为蠕变流(Creepingflow)蠕变流(Creepingflow)包括微小颗粒的绕流(如粉尘的降落)多孔介质中的流动(过滤过程)以及狭窄通道的流动(纺织技术微型机械微型生物)速度较大时(<Re<~)惯性力不能被忽略但是流体微团的运动轨迹为平滑曲线这样的流动称为层流(Laminar)速度很大时流动的轨迹带有很大的随机性这样的流动称为湍流(turbulent)流速和音速的比值称为Mach数Ma数决定了是否要考虑流体动能和内能的交换过程Ma<流体可以看作是不可压缩的(incompressible)否则必须考虑压缩性<Ma<流动为亚音速流(subsonic)Ma>流动为超音速流(supersonic),此时会出现激波(shockwave)。Ma>流体被压缩产生的高热会使流体的化学性质发生变化这样的流动称为高超音速流(hypersonic)流体力学的基本方程流体力学的基本方程流体力学的基本方程流体力学的基本方程守恒原理守恒律可以从给定控制物质(controlmass)的外在特性(extensiveproperties)导出。如质量动量和能量的守恒。研究固体力学时控制物质是很容易确定的但是在研究流体力学时处理给定空间区域(controlvolume)的流动更为方便。设φ为任意内在的守恒量相应的外在特性Φ为()∫ΩΩ=ΦCMdρφ上式中为控制物质的体积根据迁移定理CMΩ()∫∫∫⋅−Ω=ΩΩΩCVCVCMSbdSddtdddtdnnnnvvvvvvvv)(ρφρφρφ上式中为控制体(CV)体积SCV为控制体表面nnnn为控制体表面的外法线方向vvvv是控制CVΩ体表面的流体运动速度vvvvb是控制体表面的运动速度多数情况下vvvvb=。质量守恒方程在方程()中取φ=可得质量守恒方程:()=⋅Ω=Ω∫∫∫ΩΩCVCVCMSdSddtdddtdnnnnvvvvρρρ写成微分形式为())(=⋅∇∂∂vvvvρρt动量守恒方程在方程()中取φ=vvvv可得质量守恒方程:()∑∫∫∫=⋅Ω=ΩΩΩfdSddtdddtdCVCVCMSnnnnvvvvvvvvvvvvvvvvρρρ作用在控制体上的外力包括:表面力(压力应力表面张力等)体积力(重力科氏力Coriolisforces电磁力等)从微观的角度来讲压力和应力来源于通过表面的微观动量交换。对于牛顿流体(Newtonianfluids)剪应力张量()DDDDIIIIvvvvTTTTµµ⎟⎠⎞⎜⎝⎛⋅∇−=p其中µ为动力学粘性系数p为静压力I为单位张量D为变形张量()ijijIδ=()))((TvvvvvvvvDDDD∇∇=写成直角坐标系下的标量形式为()ijijjjijDxupTµδµ⎟⎟⎠⎞⎜⎜⎝⎛∂∂−=()⎟⎟⎠⎞⎜⎜⎝⎛∂∂∂∂=ijjiijxuxuD注意所有的公式都采用了Einstein求和约定即所有的下标如果在一项中出现两次表示对所有的下标进行求和如。xuxuxuxuii∂∂∂∂∂∂=∂∂由粘性引起的粘性应力可表示为:()vvvv⋅∇−=ijijijDµδµτ如果用bbbb表示体积力则动量方程可写成如下形式:()∫∫∫∫ΩΩΩ⋅=⋅Ω∂∂CVCVCVCVddSdSdtSSbbbbnnnnTTTTnnnnvvvvvvvvvvvvρρρ其他标量的守恒方程能量守恒()()∫∫∫∫∫ΩΩΩΩ∂∂Ω∇∇⋅⋅∇=⋅Ω∂∂CVCVCVCVCVpdtdpdSTkdShhdtSSvvvvSSSSvvvvnnnnnnnnvvvv:ρρ其中h为焓T为温度k热传导系数S粘性剪应力张量无因次化方程无因次化方程无因次化方程无因次化方程流动的试验研究通常用到模型试验并把试验结果用无因次的形式表达出来最终换算到实际的流动条件。这种手段也可用于数值分析。分别对时间t空间坐标xi速度ui压力p温度T进行无因次化。ttt=Lxxii=uuuii=vppρ=TTTTT−−=如果流体的物性参数是常数则连续性方程动量方程温度方程的无因次形式为:()=∂∂iixu()()iiiijjiiFrxpxuxuutuStγRe∂∂−∂∂=∂∂∂∂()()TxTutTStjjPrRe∇=∂∂∂∂各无因次参数依次为。tvLSt=µρReLv=gLvFr=kCpµ=Pr流体力学方程的简化模型流体力学方程的简化模型流体力学方程的简化模型流体力学方程的简化模型守恒方程是耦合非线性方程组求解十分困难。在很多情况下方程中的某些部分等于或者是影响很小可以忽略不计通过对方程进行简化可以大大的降低求解的难度。不可压缩流动如果流体是不可压缩的则质量守恒方程和动量守恒方程可简化为:()=⋅∇vvvv()iiiiibxpuutu∂∂−∇⋅∇=⋅∇∂∂ρν)()(vvvv无粘流动如果不考虑流体的粘性则动量守恒方程可简化为:()iiiibxputuρρρ∂∂−=⋅∇∂∂)(vvvv如果流体又是不可压缩的无旋流动则可进一步简化为势流:()=Φ∇()Φ∇=vvvv蠕变流当流动的Re数很小时惯性力和非定常力可以忽略不计则动量方程可简化为:())(=∂∂−∇⋅∇iiibxpuρµ自然对流由于热传递过程中温度差形成的流体密度的微小差异也可导致流动的产生这样的流动成为自然对流。在处理自然对流时流体依然是看作不可压缩的采用Boussinesq假设认为密度随温度的变化是线性的这时动量方程可写成:())()()(TTggxpuutuiiiiii−−∂∂−∇⋅∇=⋅∇∂∂βρρµρρvvvv边界层流动())()()(xpxuxuuxuutu∂∂−∂∂=∂∂∂∂∂∂µρρρ流动的数学分类流动的数学分类流动的数学分类流动的数学分类考虑含两个自变量的线性偏微分方程:()gfueuducubuauyxyyxyxx=如果系数a~g仅是自变量xy的函数则偏微分方程是线性的如果g=则偏微分方程()是齐次的。()还可以表达为算子的形式:guL=)(对于线性的算子L符合以下运算规律(superposition):)()()(uuLuLuL=α为常数)()(uLuLαα=)()()(uLuLuuLβαβα=如果系数a~f是xy以及函数u的函数则偏微分方程()是非线性的但是如果方程最高阶导数的系数中不包含最高导数则称为拟线性方程。例::非齐次二阶线性偏微分方程xyuxuyyxx=:拟线性二阶偏微分方程=yyxxuuu:非线性二阶偏微分方程xuuyxxsin=−二阶(拟)线性偏微分方程的数学分类是依据最高阶(二阶)导数的系数来划分的。⎪⎩⎪⎨⎧>=<−c)(hyperboli)(parabolicelliptic双曲型抛物型)椭圆型(acb不同类型的偏微分方程的解有不同的特征在实际数值求解时也需要不同的数值方法。比如双曲型方程存在特征线(解的特征传递的方向)在流体力学中超音速流的激波表面就是特征线(面)。但是椭圆型方程就没有特征线这样双曲型方程和椭圆型方程需要不同的边界条件。流动的数学分类是依据具体流动的控制方程的数学分类进行的。如势流的控制方程为:为椭圆型方程势流就划分为椭圆型流动=∇φ超音速流动的控制方程为双曲型方程因此划分为双曲型流动)(=∂∂∂∂−φφyxMa边界层方程()是抛物型方程则将边界层流动归入抛物型流动。第一章计算流体力学概论本章教学目标:介绍计算流体力学(CFD)的一些基本概念计算流体力学的基本内容和数值计算的主要特性。使学生对计算流体力学有一个总体的认识。本章的重点和难点:CFD的定义CFD的基本构架数值方法的重要特征常用的CFD方法。学时安排:学时本章主要的主页外语词汇:计算流体力学:ComputationalFluidDynamics,(CFD)结构化网格:(StructuredRegularGrid)块结构化网格:(BlockstructuredGrid)非结构化网格:(UnstructuredGrid)有限差分法:FiniteDifferenceMethod(FDM)有限体积元法:(FiniteVolumeMethod(FVM)有限元法:FiniteElementMethod(FEM)引言引言引言引言尽管流体力学的基本方程早在一个多世纪就已经发现了但是直到目前为止仍只能用得到一些简单流动的解析解。这些优先的结果虽然有助于我们深入认识流动的本质但是很难将其直接应用到工程实践当中。因此人们不得不采用其他的手段来解决问题。在很多情况下人们采用基于近似分析和无因次分析以及经验公式的基础上建立的简化方程。例如阻力的定义:,S为迎流面积ρ为密度v为流速CD为阻力系数是一些vSCFDDρ=无量纲数的函数。这一公式是基于无因次分析的结果。通常情况下CD可以通过模型实验得到在相同无量纲参数的情况下可用于实际工程问题。这样的公式对于仅有一两个无量纲数的复杂形体的流动是非常有用的(很多情况下Re数是主要的无量纲数)。但是对于依赖于多个无量纲参数的流动实验中要同时满足所有的无量纲参数就非常的困难了。比如在空气动力学中Re和Ma的矛盾以及水动力学中Re数和Fr数的矛盾。在另外一些情况中实验很难或者是几乎不可能进行。比如实验测量设备给流场带来的扰动或者是流动是不可解触的(液态硅的结晶过程)有些物理量用目前的设备难以测量或者是测量是难以得到很好的精度等。实验在测量一些总体参数如阻力升力压差等是非常有效的但是在很多情况下流场的细节也非常重要比如在技术改进和优化设计的时候。这时实验手段就显得非常的昂贵而且费时费力了因此寻找另一种替代方案是非常必要的。随着电子计算机的出现数值方法变成了一种现实的替代方案。尽管这些偏微分方程数值解法的基本思想在一个世纪以前就被人发现了但是由于其庞大的计算量在计算机问世以前很少有人问津。s计算机出现之后计算机的性价比以级数的方式增长。计算速度和存储能力得到了飞速的提高。但人们认识到了计算机的强大功能后对数值求解流体力学问题产生了浓厚的兴趣数值方法在工程实践中的地位变得越来越重要了逐渐形成了流体力学的第三个分支计算流体动力学(ComputationalFluidDynamics)简称CFD。CFDCFDCFDCFD的定义的定义的定义的定义很多流体力学问题都可以用偏微分方程或(积分-微分方程)来描述但是只有在非常特殊的情况下才能得到解析解。为了得到流体力学微分方程的数值解我们用离散的方法把原来的微分方程近似成一个代数方程组使其能在计算机上进行求解。近似公式应用在空间和时间的小域上从而数值解在离散的空间上给出数值结果。这门学科称为计算流体力学。实验流体力学的精度取决于测量手段而CFD的精度则取决于离散的质量。CFDCFDCFDCFD的优、缺点的优、缺点的优、缺点的优、缺点在实验流体力学中许多困难的事情在CFD中可以得到圆满的解决。比如边界条件的模拟和尺度效应。在风洞中模拟汽车行驶过程当空气运动时要求地板也应以空气的速度移动这在实验中是难以做到的至于复杂边界的模拟在实验流体力学中就更加困难了但是在CFD中可以得到很好的解决尺度效应也是如此。此外CFD还可以得到流场的详细信息便于人们对流场有更加清晰的认识。CFD的缺点:由于绝大多数流动都难以得到精确解而数值结果都是近似解因此人们很难对数值结果进行评价在数值结果和真实流动之间是有差距的。数值计算的误差在每一个环节都可能产生:�差分方程的近似和理想化�离散误差�方程求解过程中的迭代误差�机器的舍入误差差分方程的近似和理想化:虽然从理论上说只要微分方程足够精确理论上可以得到任意精度的数值解但是实际上对于许多流动很难得到精确解或者是数值解法不可行这就必要用一些简化的模型。即使我们能够获得微分方程的精确解数值解也不是实际流动的真实反映。有的时候模型中还包含了试验数据这样模型的真实性就存在疑问。离散误差可以通过构造高精度的插值和近似或者是采用更精细的网格来提高精度但是这些都需要更多的计算时间。在计算过程中直接求解比迭代法精确但是需要花费更多的资源采用迭代方法则回产生迭代误差。计算结果的可视化是非常重要的但是漂亮的图形可能并不能反映真实的流动这一点对于商用软件更应引起重视。CFDCFDCFDCFD的基本要素的基本要素的基本要素的基本要素数学模型数学模型是CFD的基础通常需要为特定的工程问题建立专门的偏微分方程和边界条件。这些特定的模型通常包含一些合理的简化和理想化。离散方法在建立数学模型之后需要将微分方程或积分方程转化成有限点上函数值的代数方程组后才能在计算机上进行数值求解离散方法解决了如何将将微分方程或积分方程转化成代数方程组的问题。常用的离散方法有有限差分法有限体积法和有限元法以及其他的特殊方法如边界元法有限解析法谱方法等。坐标和向量系统流体力学的基本方程是坐标无关的但是其具体形式在不同的坐标系下有不同的表达形式因此在进行数值计算时必须选择一个合适的坐标系此外向量在该坐标系下的表达形式也必须事先予以定义。eeeeeeeevvvvxxeeeeeeeevvvvxx曲线坐标系中矢量的两种表达形式:投影法则和平行四边形法则数值的网格数值网格定义了所求物理量在空间的位置。数值网格是求解域的离散化表达它将求解域划分成若干个小的子域。数值网格的种类大致可分为:�结构化网格(structuredstructuredstructuredstructuredregularregularregularregulargridgridgridgrid):结构化网格由多族网格线构成同族的网格线互不相交并且和其他族网格线的任意一条有且只有一个交点。同族的网格线可用连续的整数编号求解域内的任意一个网格点都可以用一组(维或维)指标唯一的标定。结构化网格在逻辑上相当于一个Cartesian网格二维情况下每个网格节点有四个相邻节点每一个子域都是四边形。相邻节点的连续性简化了编程并使得代数方程族具有规则的结构性使得代数方程组的求解非常的高效其缺点在于只能用于几何形状简单的求解域并且很难控制网格点在空间的分布不仅浪费计算资源由此产生的狭长单元还会影响迭代的收敛性。�块结构化网格(BlockBlockBlockBlockstructuredstructuredstructuredstructuredgridgridgridgrid):块结构化网格具有多重结构在粗网格上网格(大的区域)可以是非规则的而且允许相互重叠在细网格上每个区域采用结构化网格。在区域的界面上需要进行特殊的处理。�非结构化网格(unstructuredstructuredstructuredstructuredgridgridgridgrid):可以灵活的任意的求解域边界尽管从原理上来说非结构化网格可以用于任何离散方法但是采用有限体积法和有限元法最为恰当。有限近似在选定数值网格以后还必须确定数值离散过程中的近似方法。例如有限差分法必须选择节点处导数的近似公式有限体积法必须选择面积分和体积分的近似方法有限元法必须选择单元函数和权函数。近似程度决定了数值求解的精度以及求解的难度和费用。通常高精度格式的方程中包含了更多网格节点数因此求解的工作量和难度也相应的增加。因此必须在两者之间找到平衡点。求解方法偏微分方程离散化后生成的非线性代数方程组的求解方法是多种多样的不同的问题会有不同的解法。由于CFD的代数方程组系数矩阵为大型稀疏矩阵通常采用迭代方法求解。收敛判据通常采用迭代法求解代数方程组因此必须给出迭代终止条件即收敛判据。数值方法的基本特性数值方法的基本特性数值方法的基本特性数值方法的基本特性相容性当网格尺寸趋于时离散方法应该是精确的。离散方程和精确解之间的误差称为截断误差。对于相容的差分格式当网格尺寸趋于时截断误差也趋于。稳定性如果说在数值求解过程中出现的误差不被放大则称该离散格式是稳定的。收敛性如果当网格尺寸趋于时离散解和精确解的误差也趋于则称该离散格式是收敛的。Lax定理:对于适定的线性偏微分方程的初值问题与之相容的差分格式的稳定性和收敛性是等价的。对于非线性方程组分析离散格式的收敛性非常困难通常离散格式的收敛性需要用实验加以证明。守恒性由于流体力学的基本方程是守恒方程在数值求解过程中也应满足守恒关系。也就是说在定常状态以及无外部源汇的情况下守恒量流出和流入封闭体的量保持守恒。对于强守恒型格式和有限体积法每个控制体上都满足守恒律在求解域内也自动满足对于其他离散方法只要仔细选择近似方法也能满足守恒律。源汇的处理应满足一致性即域内源汇的总量应和守恒量流出边界的总量相等。由于数值计算过程中存在误差守恒性也是求解方法的重要特性。如果守恒定律没有得到满足则会导致相应守恒量在求解域内的不正确分布非守恒型方程还存在人工源汇由于方程本身是相容和稳定的在细网格上解仍然是守恒的但是在粗网格上会出现非守恒现象。有界性数值解应在适当的界限之内非负物理量的计算结果不应出现负值百分比应在和%之间对于拉普拉斯方程最大和最小值应出现在边界上诸如此类的特性应被数值近似所继承。真实性过于复杂的模型难以被直接处理(如湍流爆炸多相流等)所设计的模型和离散算法应能反映物理的真实不正确的模型可能导致物理上不存在的解或使计算发散。精确性数值解永远是一种近似解误差在整个数值计算过程中都可能出现。误差大致可分为三类:模型误差:实际流动和数学模型精确解之间的误差。离散误差:数学模型精确解和离散代数方程组精确解之间的误差。迭代误差:代数方程组迭代解和精确解之间的误差。通常高精度和求解效率是矛盾的需要在两者之间保持平衡。离散方法离散方法离散方法离散方法有限差分法(FiniteFiniteFiniteFiniteDifferenceDifferenceDifferenceDifferenceMMMMeeeethodthodthodthodFDFDFDFD)点近似有限差分法是偏微分方程(partialdifferentialequation简称PDE)数值求解的最为古老的方法是Euler在世纪提出的。对于简单几何形体这也是最简单的方法。有限差分法的出发点是守恒型方程的微分形式求解域用网格覆盖在每一个网格节点上通过将偏导数近似为节点函数值的代数方程方式来近似原PDE。最终在每一个节点上都有一个代数方程方程的未知数是中心节点以及相邻节点上的变量值。虽然FD理论上可用于任意网格但是采用结构化网格最为方便在结构化网格中网格线可作为局部坐标系的作坐标线。有限体积元法(FiniteFiniteFiniteFiniteVolumeVolumeVolumeVolumeMethodMethodMethodMethodFVFVFVFV)控制体内的平均近似FV方法的出发点是守恒型方程的积分形式求解域被分成若干连续的控制体(CVs)。在每一个控制体上满足守恒方程。在每一个控制体的中心作为计算节点计算该点上的物理量。控制体边界上的函数值用节点函数值的插值获得。体积分和面积分用适当的求积公式近似。结果在每个控制体上都有一个代数方程未知数是中心节点以及相邻节点上变量的值。有限元法(FiniteFiniteFiniteFiniteElementElementElementElementMethodMethodMethodMethod)--函数逼近有限元法在很多地方和FV非常的类似有限元法也将空间分成连续的控制体但是通常采用非结构网格。FE法的最明显特点是方程在整个域内积分之前被乘上了一个权函数在最简单的FE法中每个控制体内的函数被假设成线性的并且保证解在边界上的连续性。思考题:()计算流体力学是如何定义的计算流体力学的技术基础是什么?()计算流体力学有那些基本要素?()为什么要对计算域划分数值网格数值网格有什么作用?()什么是数值方法的相容性?()什么是数值方法的收敛性和稳定性收敛性和稳定性之间有和关系?()为什么说CFD结果一定是近似解?第章有限差分法引言引言引言引言所有的守恒方程都具有相似的结构而且都可以看作是输运方程的特殊形式。本章以一般输运方程在Cartesian坐标系下的表达式为例来讲述有限差分法。()()()φφφρρφqxxxutjjjj⎟⎟⎠⎞⎜⎜⎝⎛∂∂Γ∂∂=∂∂∂∂在上述方程中除φ外都认为是已知函数。基本概念基本概念基本概念基本概念FD方法的第一步是离散求解域也就是定义数值网格。在FDM中网格是局部结构化的每个网格节点都可以看作是局部坐标系的原点网格线则是局部坐标系的坐标线。同族的网格线两两互不相交。每一个网格节点都可用一组指标唯一的标定。差分形式的标量守恒方程()是FD法的原始方程。并被近似为以网格节点上的守恒量为未知数的代数方程系统。代数方程组的解近似为原微分方程的解。每一个带有未知数的节点都必须有一个代数方程在节点以及相邻节点上的未知数之间建立联系。这个代数方程用在接点处用有限差分近似代替偏导数的形式获得。对于Dirichlet边界条件边界上不需要代数方程对于其他边界条件则必须将边界条件离散以得到所需的代数方程。有限差分的概念是从导数的定义中得到的:()xxxxxiixxi∆−∆=⎟⎠⎞⎜⎝⎛∂∂→∆)()(limφφφ几种常用的差分格式:向前差分(forwardforwardforwardforwarddifferencedifferencedifferencedifference)()iiiixxx−−≈∂∂φφφ向后差分(backwardbackwardbackwardbackwarddifferencedifferencedifferencedifference)()−−−−≈∂∂iiiixxxφφφ中心差分(centralcentralcentralcentraldifferencedifferencedifferencedifference)()−−−−≈∂∂iiiixxxφφφiiiii中心差分CDS向前差分FDS向后差分BDS精确解一阶导数的近似一阶导数的近似一阶导数的近似一阶导数的近似()式中的对流项需要对一阶导数进行离散。()xu∂∂φρTaylorTaylorTaylorTaylor级数展开法任意的连续函数φ(x)可在xi的领域内展开成Taylor级数()()()()()()Hxnxxxxxxxxxxxxxinnniiiiiiii⎟⎟⎠⎞⎜⎜⎝⎛∂∂−⎟⎟⎠⎞⎜⎜⎝⎛∂∂−⎟⎟⎠⎞⎜⎜⎝⎛∂∂−⎟⎠⎞⎜⎝⎛∂∂−=φφφφφφ!!)(H为高阶项用xi-xi+代替x这些点处的函数值在xi附近的展开式。利用这些展开式可得一阶和高阶导数在xi的近似表达式。例如()()()Hxxxxxxxxxiiiiiiiii⎟⎟⎠⎞⎜⎜⎝⎛∂∂−−⎟⎟⎠⎞⎜⎜⎝⎛∂∂−−−−=⎟⎠⎞⎜⎝⎛∂∂φφφφφ或者是:()()()Hxxxxxxxxxiiiiiiiii⎟⎟⎠⎞⎜⎜⎝⎛∂∂−−⎟⎟⎠⎞⎜⎜⎝⎛∂∂−−−−=⎟⎠⎞⎜⎝⎛∂∂−−−−φφφφφ()()()()()()()Hxxxxxxxxxxxxxxxxxiiiiiiiiiiiiiiiii⎟⎟⎠⎞⎜⎜⎝⎛∂∂−−−−⎟⎟⎠⎞⎜⎜⎝⎛∂∂−−−−−−−=⎟⎠⎞⎜⎝⎛∂∂−−−−−−φφφφφ当网格间距较小时高阶项很小在各级数中截取第一项得:()iiiiixxx−−≈⎟⎠⎞⎜⎝⎛∂∂φφφ()−−−−≈⎟⎠⎞⎜⎝⎛∂∂iiiiixxxφφφ()−−−−≈⎟⎠⎞⎜⎝⎛∂∂iiiiixxxφφφ上面三个公式依次是FDS(forwarddifferencescheme)BDS(backwarddifferencescheme)CDS(centraldifferencescheme)被截去的项称为截断误差。FDS和BDS为一阶精度差分格式当网格均匀时CDS具有二阶精度。多项式拟合法在构造差分格式时也可以用多项式曲线(或样条曲线)来拟合函数然后用拟合曲线的导数来近似原函数的导数。例如采用抛物线拟合xi,xi,xi三点可得:()()()()())(−∆∆∆∆∆−∆∆∆=⎟⎠⎞⎜⎝⎛∂∂iiiiiiiiiiiixxxxxxxxxφφφφ采用不同的插值曲线可获得不同的差分格式如()()()xOxxiiiii∆∆−=⎟⎠⎞⎜⎝⎛∂∂−−φφφφφ()()()xOxxiiiii∆∆−−−=⎟⎠⎞⎜⎝⎛∂∂φφφφφ()()()xOxxiiiii∆∆−−=⎟⎠⎞⎜⎝⎛∂∂−−φφφφφ()~()依次为三阶精度的BDSFDS和阶精度的CDS迎风格式对于发展方程:()()⎪⎪⎩⎪⎪⎨⎧≥=≥=>≤≤=∂∂∂∂)(),()(),(,tttuxxfxuaxxuatuψ方程的解为:()()()⎪⎩⎪⎨⎧≤−−≥−−=)(,atxaxtatxatxftxuψ当xat=常数时u为常数利用这一特性可得jjjnnA(j,n)()Anjuu=利用线性插值:()()njnjjjjAnjAuuxxxxuu−−−−−−−=由此可得差分格式:()()njnjjjjAnjnjuuxxxxuu−−−−−−−=由于taxxAj∆=−−−=∆jjxxx()()()njnjnjnjnjnjnjuuxtauuuxtaxuu−−−−∆∆−=−∆∆−∆=整理得:()()=∆−∆−−xuuatuunjnjnjnj当a<时同理可得:()()=∆−∆−xuuatuunjnjnjnj结合()和()可得:()()()=∆−−∆−∆−−xuuaaxuuaatuunjnjnjnjnjnj()式中a相当于流体力学动量方程中的速度u差分格式()反映了上游对下游影响较大这一事实这种差分格式称为迎风格式(upwindscheme)二阶导数的近似二阶导数的近似二阶导数的近似二阶导数的近似方程()中的扩散项为二阶导数项二阶导数可以用一阶导数的差分得到也可以⎟⎠⎞⎜⎝⎛∂∂Γ∂∂xxφ用Taylor级数法得到二阶导数的差分。采用Taylor级数法可得二阶导数的差分()()()()()()()()()Hxxxxxxxxxxxxxxxxxxiiiiiiiiiiiiiiiiiiiii⎟⎟⎠⎞⎜⎜⎝⎛∂∂−−−−−−−−−−−=⎟⎟⎠⎞⎜⎜⎝⎛∂∂−−−−−−φφφφφ也可以用一阶偏导数的差分得到:())()(−−−−−−−−−Γ−−−Γ≈−⎟⎠⎞⎜⎝⎛∂∂Γ−⎟⎠⎞⎜⎝⎛∂∂Γ≈⎥⎦⎤⎢⎣⎡⎟⎠⎞⎜⎝⎛∂∂Γ∂∂iiiiiiiiiiiiiiiiixxxxxxxxxxxxφφφφφφφOriiiiiiiiiiiiiiixxxxxxxxxxxx−−−−−−≈−⎟⎠⎞⎜⎝⎛∂∂−⎟⎠⎞⎜⎝⎛∂∂≈⎥⎦⎤⎢⎣⎡⎟⎠⎞⎜⎝⎛∂∂∂∂−−φφφφφφφOr−−−−−−−−−−−≈−⎟⎠⎞⎜⎝⎛∂∂−⎟⎠⎞⎜⎝⎛∂∂≈⎥⎦⎤⎢⎣⎡⎟⎠⎞⎜⎝⎛∂∂∂∂iiiiiiiiiiiiiiixxxxxxxxxxxxφφφφφφφ当网格不等距时后两种方法获得的差分格式是不相容的。混合导数的近似混合导数的近似混合导数的近似混合导数的近似混合偏导数的差分可以用一阶导数的差分得到()⎟⎟⎠⎞⎜⎜⎝⎛∂∂∂∂=∂∂∂yxyxφφ边界条件边界条件边界条件边界条件在网格的内点用差分格式来离散PDE为了得到唯一的解还需要在边界点上给出边界信息。对于Dirichlet边界条件边界上的值直接给出无需用新的方程。对于Neumann边界条件和混合边界条件则需在边界上对边界条件进行离散。对于邻近边界的内点当采用高阶精度格式时其差分格式也应作特殊处理。()()()xOxx∆∆−−=⎟⎠⎞⎜⎝⎛∂∂φφφφφφ()()()xOxx∆∆−−=⎟⎟⎠⎞⎜⎜⎝⎛∂∂φφφφφφ在边界上()=−−⇒=⎟⎠⎞⎜⎝⎛∂∂xxxφφφ采用高阶差分格式()()()()()()()()xxxxxxxxxxxxxxx−−−−−−−−−−≈⎟⎠⎞⎜⎝⎛∂∂φφφφ如果网格是均匀的()简化为:()xx∆−−≈⎟⎠⎞⎜⎝⎛∂∂φφφφ时间项的处理时间项的处理时间项的处理时间项的处理由于定解条件的不同时间项和空间项的处理细节也有差异。时间项的定解条件是初始条件这决定了时间项的处理必须采用时间推进解法另外网格的划分是从空间上进行划分的网格数量和代数方程的数量是对应的为了保证方程的封闭型每次求解时未知数只能是一个时间层面上的物理量而其他时间层面上的物理量必须是已知值。在现实中现在时刻的世界是继承历史的可以对未来产生影响但是不会依赖于未来事物的发展趋势。因此在有限差分法中仅有最后一个时间层面上的物理量是未知的其余时间层面上的物理量必须为已知量。·初值问题的的基本解法考虑初值问题:()))(,(ttfdtdφφ=g=)(φ对()式积分可得:()∫∫==−))(,(nnnnttttnndtttfdtdtdφφφφ这里分别表示和而不是φ的幂。nnφφ,)(ntφ)(ntφ在具体数值计算中方程()的右端积分可用多种方式近似。例如()ttfnnnn∆≈−),(φφφ()ttfnnnn∆≈−),(φφφ()ttfnnnn∆≈−),(φφφ在()中当已知时可以直接求得因此称为显格式(explicitmethod)也称为forwardEulernφnφmethod()为BackwardEulermethod()为中值定理都需要通过求解方程的形式求出因此都是隐格式。nφ多层格式和预估校正格式为了提高计算精度可以采用多层格式或预估校正格式前者是采用多时间层来构造高阶近似公式后者则通过预测步提高积分表达式的计算精度。预估校正格式:(预估步估计的近似值是的近似值)ttfnnnn∆=),(*φφφnφ*nφnφ(校正步用预测值来提高计算精度)ttftfnnnnnn∆=)),(),((*φφφφ多层格式:()),(),(),(−−−−−∆=nnnnnnnntftftftφφφφφ采用了三个时间层的偏心差分来提高计算精度。RungerRungerRungerRungerKuttaKuttaKuttaKutta法RungerKutta法是一种高阶精度的预估校正方法但是它用了两个时间层的中间节点的值而不是多个时间层的值二阶RungerKutta法:),(*nnnntftφφφ∆=),(*∆=nnnntftφφφ四阶RungerKutta法:),(*nnnntftφφφ∆=),(***∆=nnnntftφφφ),(***∆=nnnntftφφφ⎟⎟⎠⎞⎜⎜⎝⎛∆=),(),(),(),(****nnnnnnnnnntftftftftφφφφφφ有限差分法的应用实例有限差分法的应用实例有限差分法的应用实例有限差分法的应用实例例.一维扩散方程()()()()()()⎪⎪⎩⎪⎪⎨⎧===≥≤≤Γ=tBtltAtxfxtlxxxt,,),(,φφφφφ采用均匀网格将直线段均匀划分为N份网格节点网格间lNixi−=,,,,=Ni距时间步长为。Nlx=∆t∆空间扩散项采用中心差分格式:()()xiiixx∆−Γ=Γ−φφφφ对于时间项则分别采用三种不同格式:A:FTCS格式(时间向前差分空间中心差分)()()xttnininininini∆−Γ=∆−≈⎟⎠⎞⎜⎝⎛∂∂−φφφφφφ上式中物理量φ的上标表示时间步。令()xt∆Γ∆=σ()()nininini−−=σφφσσφφ边界条件:()()(

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/42

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利