1、计 算 力 学 基 础第二章第二章 有限差分方法有限差分方法2.4 差分方程的相容性、收敛性和稳定性差分方程的相容性、收敛性和稳定性1 1 一个微分方程采用不同的方法可以得到不同的差分方程。那么,我们要问,对于这些不同的差分方程是否都同样有效,同样可靠,而且能得到同样的计算结果呢?答案是否定的。事实上,不同的差分方程和原方程有完全不同的对应关系,它们具有各自不同的性质,因此,数值结果也完全不同。在这些差分方程中有些差分方程是有效的、可靠的;些差分方程只有在一定的条件下是有效的、可靠的;有些差分方程则是完全无效的、不可靠的。所以,如何判断和分析差分方程有效性和可靠性就成为非常必要和现实的问题了。
2、在这一节中我们首先对差分方程有效性的一些基本概念(如相相容容性性、收收敛敛性性、稳稳定定性性)作简单介绍,为本章以后各节的分析讨论奠定基础。2 2n n差分方程相容性是讨论当差分方程相容性是讨论当 时,差分方程逼近于微分时,差分方程逼近于微分方程的程度,因此,相容性是讨论方程的程度,因此,相容性是讨论差分方程和微分方程的关系差分方程和微分方程的关系差分方程和微分方程的关系差分方程和微分方程的关系。n n定义:定义:定义:定义:对于一足够光滑函数对于一足够光滑函数 ,若时间步长,若时间步长 ,空间步长,空间步长 趋近于趋近于0 0时,差分方程截断误差时,差分方程截断误差 对于每一点对于每一点 都
3、趋近都趋近于于0 0,则该差分方程,则该差分方程 逼近微分方程逼近微分方程 ,即差分方,即差分方程与微分方程是相容的。程与微分方程是相容的。n n差分方程相容性可以通过差分方程相容性可以通过TaylorTaylor展开方法来证明。例如,扩散方展开方法来证明。例如,扩散方程的程的FTCSFTCS差分格式为:差分格式为:2.4.1 相容性(相容性(Consistency)3 3n n把把 作为作为t t的函数,在的函数,在 邻域展开成邻域展开成TaylorTaylor级数,把级数,把 和和 作为作为x x的函数,在的函数,在 邻域展开成邻域展开成TaylorTaylor级数:级数:将代入FTCS格
4、式中,即可得到:、和4 4n n当当 时,上等式右侧所有项都趋近时,上等式右侧所有项都趋近0 0,差分方程趋近,差分方程趋近于原微分方程,即于原微分方程,即FTCSFTCS差分方程和原方程是相容的。差分方程和原方程是相容的。n n关于差分方程相容性需要作以下说明:关于差分方程相容性需要作以下说明:关于差分方程相容性需要作以下说明:关于差分方程相容性需要作以下说明:相容性是对求解区域内任意一点差分方程逼近于微分方程的相容性是对求解区域内任意一点差分方程逼近于微分方程的程度,相容性是有限差分算法(包括有限体积算法)首先必程度,相容性是有限差分算法(包括有限体积算法)首先必须满足的有效性条件。须满足
5、的有效性条件。5 5相容性要求对于求解区域内任意点相容性要求对于求解区域内任意点 ,在,在 同时趋近于同时趋近于0 0,截断误差截断误差 趋近于趋近于0 0。如果。如果 不是同时趋近于不是同时趋近于0 0或并不趋近于或并不趋近于0 0,而是趋近于某值,或结论并不是对每个点,而是趋近于某值,或结论并不是对每个点 都成立,则差分都成立,则差分方程就不满足相容性条件,差分方程也就不逼近于微分方程。方程就不满足相容性条件,差分方程也就不逼近于微分方程。相容性条件不仅要求差分方程截断误差相容性条件不仅要求差分方程截断误差 趋近于趋近于0 0,而且要求差分方,而且要求差分方程定解条件截断误差程定解条件截断
6、误差 也同时趋近于也同时趋近于0 0。差分格式有两种不同形式的相容性,即无条件相容和有条件相容。差分格式有两种不同形式的相容性,即无条件相容和有条件相容。6 62.4.2 收敛性(收敛性(Convergence)差分方程收敛性是讨论当时,差分方程的解和微分方程的解是否一致性的问题,也就是讨论差分方程的解和微分方程的解的逼近程度。定义定义1:差分方程的数值解为,微分方程的精确解为,它们之间的误差用表示,则称为离散化误差。定义定义2:节点为微分方程求解区域内任意一点,当当时,差分方程数值解趋近于微分方程精确解,即,则差分方程收敛于微分方程。7 7差分方程收敛性有两种证明方法,直接证明法直接证明法和
7、数值试验法数值试验法。一、直接证明法一、直接证明法对流方程 的FTBS差分格式为:(a)设求解区域内任意一点 ,它的微分方程精确解为u,差分方程解为 ,则离散化误差为 ,把差分方程和微分方程相减可得离散化误差方程:(b)8 8由(b)式可以看出离散化误差方程在形式上和差分方程是完全相同的,由此可以得到:设a0,1,则0 1,于是有:(c)9 9式中 表示在n层的所有节点上离散化误差 绝对值最大值,对于所有节点j有:于是有:1010由此可得到:(d)在t=0时,差分方程的初始条件应该是完全准确的,即:即:即差分方程离散化误差和截断误差是相同数量级,因此,若 0,则:(f)由此可知,FTBS格式在
8、a0,时,是收敛的。(e)1111二、数值试验法二、数值试验法数值试验法基本思想是用差分方程求出FTBS数值解,然后和微分方程精确解进行比较,确定差分方程是否收敛。直接证明法比较简单,但是只有很少几个差分方程可以采用直接证明法来证明其收敛性,而数值试验法又非常麻烦,一般来说,很难用数值试验结果严格证明差分方程是否收敛。总的说来,不管是采用直接证明法,还是数值试验法,要证明差分方程收敛性都是比较困难的。1212关于差分方程收敛性需要作以下说明:关于差分方程收敛性需要作以下说明:(1)差分方程收敛性表示差分方程数值解和微分方程精确解逼近程度,只有在差分方程收敛于微分方程时,差分方程解才可能是微分方
9、程精确解。(2)差分方程相容性是差分方程首先要满足的,差分方程相容性是收敛性的必要性条件,但并不是充分条件。差分方程相容性并不能保证差分方程数值解一定收敛于微分方程精确解。若差分方程不相容,则数值解肯定不收敛微分方程的精确解。1313 粗看起来,差分方程相容性要求时,差分方程逼近于微分方程,似乎差分方程数值解也应该收敛于微分方程精确解。事实上,当我们在证明相容性时,已经假定了差分方程数值解就是微分方程精确解,在对微分方程进行展开时,截断误差中已经忽略了离散化误差的存在。因此,差分方程相容性并不能保证其收敛性。(3)差分方程同样也有两种不同形式的收敛性:有条件收敛和无条件收敛。14142.4.3
10、 稳定性(稳定性(Stability)用计算机数值求解差分方程时,计算误差总是不可避免的。计算误差包括舍入误差、离散误差和初值误差。设微分方程精确解为,具有计算误差差分方程数值解为,则计算误差定义为:式中,是离散化误差,而就是舍入误差。根据收敛性条件,当,差分方程收敛于微分方程。而数学性质讨论,就属于稳定性所要讨论的范围。由此可知,稳定性是讨论在计算过程中,某一时刻,某一点产生计算误差,随着计算时间增加,这个误差是否能被抑制的问题。1515定义:定义:在某一个时刻tn存在计算误差 ,若在 时刻满足:条件,则差分方程是稳定的。这里定义:是某种定义的范数。1616下面我们用几个简单的例子来说明差分
11、方程稳定性概念。(1)对流方程FTFS差分方程为:其中 。设在n时刻计算误差为 ,n+1时刻计算误差为 ,则计算误差传播方程为:可以采用直观的数值试验法来分析误差传播规律。(a)1717在(a)式中设在tn时刻xj的计算误差为 ,而计算到n+100时刻,(xj,tn+100)点的计算误差将发展到 ,假定只有在节点(xj,tn)上存在误差 ,其他各节点的计算误差为零,则若取r=0.8,则 。由此可以看出,这个计算误差必定会将差分方程精确解原来面目完全淹没了,所求得差分方程数值解已经没有任何意义了,因此,FTFS差分方程是不稳定的。1818(2)对流方程FTBS差分格式的误差传播方程为:(b)当a
12、0,时,通过迭代运算可得到:1919由此可知,在n时刻的计算误差 是不会大于 ,因此,当a0,时,FTBS差分格式是稳定的(见图a)。这是有条件的稳定,稳定的条件是a0,。但是,对于不同的a,t,x,FTBS差分格式的稳定条件是不同的(见图b)。2020当a=1,x=0.1,r=0.8,则有:;当a=1,x=0.1,r=1.0,则有:;当a=1,x=0.1,r=2.0,则有:。通过对(b)式的数值分析可知:(b)2121图b中给出了上述不同条件下差分方程计算误差的图解。从图中可以发现,当r=1.0时,差分方程解和微分方程解是一致的;当r=0.8时,在差分方程解的两端有耗散现象,当r=2.0时,
13、差分方程解会出现振荡,并且在t=nt继续增加时,振荡也继续加剧,直到计算完全失败。数值分析表明,FTBS差分方程只有在r 1.0时计算才是稳定,当r1.0时差分方程计算是不稳定。差分格式稳定性有两种不同的形式:有条件稳定和无条件稳定。2222n n我们已经讨论了差分方程稳定性和收敛性。稳定性是反映差分方程在时间我们已经讨论了差分方程稳定性和收敛性。稳定性是反映差分方程在时间进程上的特性,收敛性是反映差分方程空间位置上的特性,它们都体现了进程上的特性,收敛性是反映差分方程空间位置上的特性,它们都体现了差分方程内在性质,都是十分重要的基本概念。那么,差分方程收敛性和差分方程内在性质,都是十分重要的
14、基本概念。那么,差分方程收敛性和稳定性之间存在什么关系呢?稳定性之间存在什么关系呢?LaxLax定理给出了这个问题的答案。定理给出了这个问题的答案。n nLaxLax定理:对于适定和线性的初值问题微分方程,若逼近它的差分方程和它定理:对于适定和线性的初值问题微分方程,若逼近它的差分方程和它是相容的,则差分方程稳定性是差分方程收敛性的充分和必要条件。是相容的,则差分方程稳定性是差分方程收敛性的充分和必要条件。n nLaxLax定理可以形象地表示为:定理可以形象地表示为:n n计算实践表明,差分方程相容性是比较容易证明的,证明差分方程稳定性计算实践表明,差分方程相容性是比较容易证明的,证明差分方程稳定性也是有不少方法,而差分方程收敛性证明一般是比较麻烦的。也是有不少方法,而差分方程收敛性证明一般是比较麻烦的。LaxLax定理告诉定理告诉我们只要证明了差分方程稳定性,则该差分方程一定是收敛的,因此,我我们只要证明了差分方程稳定性,则该差分方程一定是收敛的,因此,我们可以利用们可以利用LaxLax定理通过证明差分方程稳定性来证明差分方程收敛性。定理通过证明差分方程稳定性来证明差分方程收敛性。稳定性收敛性微分方程线性的、适定的差分方程相容性2.4.4 赖克斯赖克斯(Lax)定理定理2323