1高等计算流体力学讲义(5)§7.TVD格式一、背景1.求解线性波动方程0txuauaconst的经典差分格式(1)一阶迎风格式(Firstorder)11100nnjjnnjjnnjjuuauuauua,其中tx。上式也可以写为:11/21/21/2111/211()()()22()()22nnnnjjjjnnnnnjjjjjnnnnnjjjjjuuffaafuuuuaafuuuu(2)Lax-Friedrichs格式(Firstorder)111111202nnnnnjjjjjuuuuuatx或11/21/21/2111/211()1()()22()()22nnnnjjjjnnnnnjjjjjnnnnnjjjjjuuffafuuuuafuuuu(3)Lax-Wendroff格式(secondorder)1211112222nnnnjjjjnnnjjjuuuuatauuutxx。或11/21/221/21121/211()()()22()()22nnnnjjjjnnnnnjjjjjnnnnnjjjjjuuffaafuuuuaafuuuu2(4)Warming-Beam格式(Secondorder)12122121212212342022342022nnnnnjjjjjnnnjjjnnnnnjjjjjnnnjjjuuuuuatauuuatxxuuuuuatauuuatxx2.二阶以上的差分或有限体积格式在间断附近的解可能会出现振荡。而一阶精度的格式通常会把激波“抹平”。参见图1和图2的(a),(b)。图1线性对流方程的解我们希望,构造一种二阶或以上精度的格式,使之可以比较准确的计算含有间断的流动,同时不产生非物理的数值振荡。这种格式称为“高分辨率格式”(如图1的(c),(d),图2的(c))。图233.单调格式单调格式是一种没有数值振荡的格式,它的定义为:定义:单调格式,设差分格式可以写为:),,(11nsinriniuuHu(1)其中r,s为非负整数。如果j,0njuH,则(1)式称为单调格式。一阶迎风和Lax-Friedrichs格式为单调格式。4.单调格式的性质★已知niu,利用单调格式(1)求得1niu,则:111max{}max{}min{}min{}min{}max{}nniiiinniiiinnnjijjjuuuuuuu★线性波动方程0uuatx的差分格式:1rlknnikikkkubu(2)是单调格式的充分必要条件是k,0kb。★Godunov定理线性单调格式最多能达到一阶精度。5.保单调性假定niu是单调的,如果通过(1)式得到的1niu具有与niu相同的单调性,则说差分格式(1)式具有保单调性。容易证明,(1)单调格式具有保单调性,(2)不存在二阶或二阶以上精度的线性保单调格式。即如果(2)式为线性格式(kb为常数)且具有保单调性,则(2)式至多有一阶精度。6.所谓高分辨率格式,是具有保单调性的,二阶或二阶以上精度的格式。容易知道,这类格式必定是非线性格式,即使求解的方程是线性的。本节我们只介绍其中的一种典型高分辨率格式:TVD格式。二、TVD格式的概念TVD(TotalVariationDiminishing)格式即总变差减小(不增)格式。所谓总变差,是衡量函数的光滑性的一种指标,其定义为:()()TVuuxdx(3)在离散点上,{}nniuu,有:41()nnniiiTVuuu(4)可以证明一维线性和非线性标量守恒律的解满足,2121(())(())TVutTVuttt这种性质称为TVD性质。既然一维标量守恒律的解析解满足TVD性质,要求其数值解也具有TVD性质就是很自然的了。定义:TVD格式11(,...,)nnniirisuHuu(5)称为TVD格式,如果1()()nnTVuTVun容易证明:TVD格式具有保单调性,所以在间断附近不会出现非物理振荡。三、TVD格式的构造1.TVD格式的充分条件和构造原则设一维标量守恒律0uftx的差分格式可以写成:111112222nniiiiiiuuCuDu(6)其中112nniiiuuu。12iC,12iD不仅与x,t有关,而且与物理量niu,niu1等有关。Harten证明了下列定理:定理:(6)式是TVD格式的充分条件是:021iC,021iD,102121iiDC(7)根据这一条件,我们可以构造精度高于一阶的TVD格式。下面介绍构造TVD格式的思路。方程0uftx;fuau的差分格式为:21211iininiffxtuu(8a)如果(8)具有TVD性质,记此时的数值通量为12TVDif。即11221iinnTVDTVDiituuffx(8b)5如果要求格式具有高于一阶精度,则12TVDif可以写成:02121212121LiHIiiLDiTVDiffff(9)其中01/2Lif是某一阶格式的数值通量,1/2HIif是二阶格式的数值通量。1/2i称为通量限制器(fluxlimiter)。我们希望选择合适的12i,使格式在光滑区具有二阶精度。当采用三点格式时,01/2Lif,1/2HIif可写成如下一般形式:01/2011Lnniiifauau1/2011HInniiifauau(10)01/2Lif可以有多种取法,如取s1210,s1211(11)时,01/2Lif为一阶迎风格式的数值通量,其中)(asigns。当取:cc1210,cc1211时,01/2Lif对应的差分格式为Lax-Friedrichs格式。注意,上式中atcx。二阶精度的三点格式只有Lax-Wendroff格式,即:c1210,c1211(12)把(10)式代入(9)式,有1112220001111[()]()[()]()TVDnniiiiifauau(13)把(13)代入(8b)式,得:21211iininiuDuCuu(14)])([21000icC])([21111icD6niniiuuu121niniiuuu121由(14)式,我们希望选取适当的0、0、,使得TVD条件(7)式得到满足,且格式为二阶精度。2、迎风型TVD格式如果我们取021Lif为一阶迎风格式的数值通量,则得到的差分格式称为迎风型TVD格式,记2121ii。则TVD格式的数值通量可以写为:112212111221(1)021(1)02nniiiTVDinniiiaucuaafaucuaa当a0时,niLiauf021,此时:1122010111101221,0,0[1(1)],(1),(1)icCcDccc(15)(14)式可以改写为:121ˆnniiiuuCu(16)1122ˆ/,iiCCDrruuHarten的TVD条件此时为:1122011[1(1)]1iiOcr(17)由(17)式,21i应是r的函数。显然我们要求1112220101[1(1)]1[1(1)]iiicccr(18)我们要求是有界的。所以可以对211引入下列限制条件:riTiB,21(19)B、T与i和r无关。(19)式可以等价地写为:12000[1(1)][1(1)][1(1)]TBiccc(20)7易知下式是(18)式成立的充分条件:120101[1(1)]1[1(1)]TBicccr(21)对(21)式左边不等式进行分析,可知:00)(21rifrifrLLi(22)rrTL11。对(21)中右侧不等式进行分析,有rrrRRi21ifif00rr(23)rccrBR11利用(19),(22),(23)式可以确定ri21的具体形式。在讨论ri21的具体形式之前,先讨论一下方程0xftuauf中0a的情况。此时,(14)式可以改写为:211ˆininiuDuu(24)ˆCDDr1212iiuruHarten的TVD格式的充分条件为:11110210211rcii(25)引入约束条件TiB21(26)为了满足TVD条件,需有:BiTcrcc11111112101(27)注意到此时0a,0c,如果把c用c代替,则(27)式与(21)式在形式上是相同8的。但是注意到0a和0a两种情况r的定义不同。把(27)式应用于21i处(把21i换为21i)。则(21),(27)式可以写成统一的形式。因此(22),(23)式也可以写成既使用于0a,也适用于0a的一般形式(在21i处)TBr(28)rrrLL00rr(29rrrRR00rr(30)rcrTL12(31)rcrBR2(32)ninininininininilocalupwinduuuuuuuur1121100aa(33)为了确定)(r的具体形式,必须首先规定B,T的值。一个常用的取法是0B,21Tc(34)注意到当=B=0时,1/2TVDif为一阶迎风格式的数值通量。21Tc时1/2TVDif为一阶“顺风”格式的数值通量。必须注意,T的取法具有一定的任意性,不同的取法,对于r平面上TVD格式对应的区域有直接影响。如Sweby取2T,他得到的TVD区域21Tc的情况不尽相同。把(34)式代入(31)、(32)有9()0Lr,2()Rrrc(35)即(28)~(30)式可以化为:20()1rc(36)00()00rrr(37)20()20rrcrrrc(38)由(36)~(38)式,知:时时00rr0)()2,12min(0rrccr)((39)满足(39)式的)(r对应的格式,均为TVD格式。由(39)式,)(r的取法并不唯一。另外,如何使TVD格式达到二阶精度呢?容易看出其条件为(1)1。注意到()1r,(8b)为Lax-Wendroff格式,这是一个二阶精度的格式。容易验证,当()rr时,(8b)为Warming-Beam二阶迎风格式。所以,当()r夹在直线()1r和()rr之间时,格式(8b)可以看作两个二阶格式的加权平均,具有二阶精度。Sweby建议:)(r应尽量位于()1r和