一般的流体控制方程都是非线性的偏微分方程。在绝大多数情况下,这些偏微分方程无法得到精确解;而CFD就是通过采用各种计算方法得到这些偏微分方程的数值解,或称近似解。当然这些近似解应该满足一定的精度。目前,主要采用的CFD方法是有限差分法和有限体积法。本讲主要介绍有限差分法,它也是下一讲中的有限体积法的基础[1]。 有限差分法求解流动控制方程的基本过程是:首先将求解区域划分为差分网格,用有限个网格点代替连续的求解域,将待求解的流动变量(如密度、速度等)存储在各网格点上,并将偏微分方程中的微分项用相应的差商代替,从而将偏微分方程转化为代数形式的差分方程,得到含有离散点上的有限个未知变量的差分方程组。求出该差分方程组的解,也就得到了网格点上流动变量的数值解。 由于通常数字计算机只能执行算术运算和逻辑运算,因此就需要一种用算术运算来处理函数微分运算的数值方法。而有限差分法就是用离散网格点上的函数值来近似导数的一种方法。 设有的解析函数,从微分学知道函数对的导数为
(2-1)
、分别是函数及自变量的微分,是函数对自变量的导数,又称微商。相应地,上式中的、分别称为自变量及函数的差分,为函数对自变量的差商。在导数的定义中是以任意方式逼近于零的,因而是可正可负的。在差分方法中,总是取某一小的正数。这样一来,与微分对应的差分可以有三种形式:
向前差分
向后差分
中心差分
上面谈的是一阶导数,对应的称为一阶差分。对一阶差分再作一阶差分,就得到二阶差分,记为。以前向差分为例,有
qyg (2-2)
依次类推,任何阶差分都可以由低一阶再作一阶差分得到。
函数的差分与自变量的差分之比,即为函数对自变量的差商。如一阶向前差商为
一阶向后差商为
一阶中心差商为
或关务
二阶差商多取中心格式,即
图2.1 差商与导数的关系
差商与导数的关系可见图2.1。由导数(微商)和差商的定义知道,当自变量的差分(增量)趋近于零时,就可以由差商得到导数。因此在数值计算中常用差商近似代替导数。差商与导数之间的误差表明差商逼近导数的程度,称为逼近误差。由函数的Taylor展开,可以得到逼近误差相对于自变量差分(增量)的量级,称为用差商代替导数的精度,简称为差商的精度。
现以一阶向前差商为例来分析其精度。将函数在的邻域作Taylor展开:
将上式代入一阶向前差商表达式中,有
这里符号表示与括号中的量有相同的量级。上式表明一阶向前差商的逼近误差与自变量的增量为同一量级。把中的指数作为精度的阶数。这里,故一阶向前差商具有一阶精度。由于是个小量,因此阶数越大精度越高。采用同样的办法可知一阶向后差商也具有一阶精度。
对于一阶中心差商,将函数与在的邻域作Taylor展开并代入一阶中心差商的表达式中,有
(2-3)
可见一阶中心差商具有二阶精度。同样,二阶中心差商的精度也为二阶。
2.2 差分方程、截断误差和相容性
从上节所述可知,差分相应于微分,差商相应于导数。只不过差分和差商是用有限形式表示的,而微分和导数则是以极限形式表示的。如果将微分方程中的导数用相
图2.2 网格划分
应的差商近似代替,就可以得到有限形式的差分方程。现以对流方程(2-4)为例,列出相对应的差分方程。
(2-4)
用差商近似代替导数时,首先要选定和,称为步长。然后在坐标平面上用平行于坐标轴的两族直线:
划分出矩形网格,如图2.2所示。这里和取常数。直线称为第层,网格交叉点称为结点。
网格点划定后,就可针对某一结点,例如图2.2中的结点,用差商近似代替导数。现用表示括号内函数在点的值,则对流方程在该点为
卵磷脂小体
(2-5)
如果时间导数用一阶向前差商近似代替:
空间导数用一阶中心差商近似代替:
大同烟草网
则对流方程在点对应的差分方程为
(2-6)
按照前面关于逼近误差的分析知道,用时间向前差商代替时间导数的误差为,用空间中心差商代替空间导数时的误差为,因而对流方程与对应的差分方程之间也存在一个误差,这一误差可由Taylor展开确定,即
(2-7)
这种用差分方程近似代替微分方程所引起的误差,称为截断误差。这里误差量级相当于的一次式、的二次式。
一个与时间相关的物理问题,应用微分方程表示时,还必须给定初始条件,从而形成一个完整的初值问题。对流方程的初值问题为
(2-8)
这里为某已知函数。同样,差分方程也必须有初始条件:
(2-9)
初始条件是一种定解条件,差分方程和其定解条件一起,称为相应微分方程定解问题的差分格式。将式(2-9)中第时间层的量放在等号左边,将其余时间层的量放在等号右边,有
(2-10)
摩门教称其为FTCS格式(时间前差、空间中差)。若时间和空间都用向前差分,则得
望京南湖中园小学 (2-11)
同样,将第时间层的量放在等号左边,将其余时间层的量放在等号右边,有
(2-12)