计算流体力学讲义第八讲差分方法(4)李新亮lixl@imech.ac.cn;力学所主楼219;82543801知识点:高精度激波捕捉格式——WENO激波捕捉方法——Godnov,MUSCL常用的隐式处理方法——LU-SGS1CopyrightbyLiXinliang讲义、课件上传至(流体中文网)-“流体论坛”-“CFD基础理”讲课录像及课件上传至网盘知识回顾1.Roe格式——准确特征方向的守恒型格式0)(xuftu标量方程的情况:)(12/12/1njnjnjffxxf)(21][2112/12/11njnjnjnnjnjuuafffj0当)(0当,)()(),(111112/1jjnjnjnjnjnjnjnjjjnjuuuauuuuufufuuaa002/12/12/111jnjnnjafaffjj当当等价于标准的1阶迎风差分格式f(u)的平均增长率njnjnjnjuuufuf11)()(平均斜率双曲守恒方程组的Roe格式0)(xtUfU)(12/12/1jjjxxfff)(ˆ12/1jjjU,Uff)U(UA21)]f(U)[f(U21fjjjjj112/1~SΛSA1~ΛSSA1~平均增长率矩阵)(ˆ)(ˆ1LRjjU,UfU,Uf经常记为)U,(UALR~平均斜率)U(UA)f(U)f(Ujjjj11~)UA(A~)/()()/()(]2/)[(2RLRRLLRLRRLLRLHHHuuuRoe平均含义:点处的瞬时增长率刚好为区间上的平均增长率U1,jjUUCopyrightbyLiXinliang42.TVD格式概念:网格Reynolds数单调格式、保单调格式及TVD格式Harten定理:正系数原则xxReReTVD保单调单调)](2)1([)(111jjjjnjnjuuaauuauujTVD格式=1阶迎风+*(LW格式-1阶迎风)二阶精度区TVD区二阶精度TVD区(二者交集)CopyrightbyLiXinliang5§8.1WENO格式——高精度的激波捕捉法1.基本思路0xuaxu0axu26154132231jjjjjjjfafafafafafaf{j-3,j-2,j-1,j,j+1,j+2}{j-3,j-2,j-1,j};{j-2,j-1,j,j+1};{j-1,j,j+1,j+2}五个基架点被分成三个组1)若高精度逼近,必然利用多个基架点2)如果该基架点内函数有间断,会导致振荡3)间断不可能处处存在4)把基架点分成多个组(模板),每个模板独立计算j点导数的逼近。——得到多个差分5)根据每个模板的光滑程度,设定权重6)对多个差分结果进行加权平均。光滑度越高,权重越大。如果某模板存在间断,则权重趋于0;如果都光滑,则组合成更高阶格式。CopyrightbyLiXinliang62.WENO格式的原理描述)1(0xuaxu0a考虑线性单波方程:注:为了简便,以非守恒型形式为例讲授其思路,实际使用时,请采用下一节介绍的守恒形式(1)确定网格基架点:6个点{j-3,j-2,j-1,j,j+1,j+2}构造出该基架点上的目标差分格式jxu计算这6个点可构造5阶迎风差分:)2(26154132231jjjjjjjuauauauauauau该格式为WENO的“目标”格式,即,光滑区WENO逼近于该格式。利用Taylor展开,可唯一确定系数(可利用小程序coeff-schemes.f)实际上,还可利用分辨率优化技术,可构造出新的目标格式(降低精度、提高分辨率,见第4讲)。目前大量WENO的优化版做这种工作。)2()60/()3302060152(21123xuuuuuuujjjjjjjCopyrightbyLiXinliang7(2)将这6个基架点分割成3个组(称为模板)每个组独立计算的差分逼近模板1模板2模板3模板1:{j-3,j-2,j-1,j}模板2:{j-2,j-1,j,j+1}模板3:{j-1,j,j+1,j+2}利用这三个模板的基架点,可构造出逼近的3阶精度差分格式jujjjjjuauauauau)1(41)1(32)1(23)1(1)1(1)2(4)2(31)2(22)2(1)2(jjjjjuauauauau2)3(41)3(3)3(21)3(1)3(jjjjjuauauauau计算j点的导数u’,竟然算出了三个不同的值,怎么办?ENO方法:选择最优(最光滑)的,舍弃其余两个WENO的处理方法:三个都要,加权平均它们。ju利用Taylor展开式,可唯一确定这些系数)(可利用小程序coeff-schemes.f)也可运用优化技术,降低精度、提高分辨率)6/()111892(123)1(xuuuuujjjjj……CopyrightbyLiXinliang8(3)对这3个差分值进行加权平均,得到总的差分值)2(26154132231jjjjjjjuauauauauauaujjjjjuauauauau)1(41)1(32)1(23)1(1)1(1)2(4)2(31)2(22)2(1)2(jjjjjuauauauau2)3(41)3(3)3(21)3(1)3(jjjjjuauauauau)3(3)2(2)1(1jjjjuuuu原则:A.模板内函数越光滑,则权重越大;模板内有间断时,权重趋于0B.三个模拟内函数都光滑时,这三个三阶精度的逼近式可组合成一个五阶精度的逼近式。“理想权重”(3.1)确定理想权重)3(3)2(2)1(1jjjjuCuCuCu令:5阶精度容易解出:10/3,10/6,10/1321CCCCopyrightbyLiXinliang9(3.2)度量每个模板内函数的光滑程度)()()(kjkufISIS越大,表示越不光滑。光滑区,不同模板上的IS趋近同一值。具体形式见下一节。(3.3)给出实际权重321kk)3(3)2(2)1(1jjjjuuuupkkkISC)(构造IS方法很多,例如:)(kju:第k个模板)()254(12221232)1(xOxuuuuuxISjjjjj)()22(1222112)2(xOxuuuuxISjjjj光滑区逼近O(1)量级间断区量级,很大jxu2221x特点:间断区权重很小光滑区,趋近于理想权重(3.4)给出最终的差分逼近CopyrightbyLiXinliang103.Jiang&Shu的五阶WENO格式)1(0,)(,0)(aauufxufxu守恒型;目前使用的WENO格式均为守恒型针对方程:模板1模板2模板3构造差分格式如下:xffxfWENOWENOjjWENOj/)(2/12/1)3(2/13)2(2/12)1(2/112/1jjjWENOffffjjjjjfffH6/116/73/112)1(2/111)2(2/13/16/56/1jjjjfffH21)3(2/16/16/53/1jjjjfffH构造方法与前文相同(但注意这里构造的是通量,而前文是直接构造差分格式)针对整个网格基,构造出5阶精度的通量(理想情况下的通量)并构造出每个模板上的通量,计算出理想权重。)32747132(60121122/1jjjjjjffffff321kk3,2,1,)(kISCpkkk10/3,10/6,10/1321CCC仍利用程序coeff-schemes.f求系数理想权重光滑度量因子实际权重CopyrightbyLiXinliang11光滑度量因子的计算(Jiang&Shu)21212)(2/12/1lklllxxkdxqxxISjj2/12/12/12/122232)]([)]([jjjjxxkxxkkdxxqxxdxxqxxIS)(2)()(21)()(kjjkjjjkfxxfxxfxqk=1k=2k=3其中:j-2j-1jj+1j+2是使用模板k得到的插值函数)(kjx)(xqk利用{j-2,j-1,j}点上的值构造的插值函数)(1xq)(1xqx2122121)2(1213)34(41jjjjjjffffffIS2112112)2(1213)(41jjjjjfffffIS2212213)2(1213)43(41jjjjjjffffffIS,2)(22)()(1213)(kjkjkfxfxIS特点:光滑区趋近同一个值非光滑区值远大于光滑区O(1))()(1213)(6222xOfxfxISjjkj点一阶、二阶导数的差分逼近(用模板k计算))(2xO代入CopyrightbyLiXinliang12光滑因子ISk的进一步讨论(光滑区精度分析))(234212xOfxfffjjjj)(22212xOfxfffjjjj2122121)2(1213)34(41jjjjjjffffffIS)()(1213)(62221xOfxfxISjj)()(1213)()2(1213)(4162222112112xOfxfxfffffISjjjjjjj同样:)()(1213)()2(1213)43(4162222212213xOfxfxffffffISjjjjjjjj在光滑区,趋近于同一个值,相互差距是一个6阶小量321,,ISISIS)(6xOISISk)()(1213)(2222xOfxfxISjj,)(2kkkISC是小量,可忽略))(()())((628226xOISCxOISCxOISCkkkk)(4321xOCkkk)(6)3(2/13)2(2/12)1(2/11)3(2/13)2(2/12)1(2/112/1xOfCfCfCffffjjjjjjWENOj5阶迎风格式的通量格式具有5阶精度CopyrightbyLiXinliang13最终5阶WENO格式为)1(0,)(,0)(aauufxufxuxfffWENOWENOjWENOjj/)(2/12/1)3(2/13)2(2/12)1(2/112/1jjjWENOffffj2122121)2(1213)34(41jjjjjjffffffIS2112112)2(1213)(41jjjjjfffffIS2212213)2(1213)43(41jjjjjjffffffIS321kk610,2p10/3,10/6,10/1321CCC3,2,1,)(kISCpkkk