计算流体力学讲义第九讲有限体积法(1)李新亮lixl@imech.ac.cn;力学所主楼219;82543801知识点:1讲义、课件上传至(流体中文网)-“流体论坛”-“CFD基础理论”讲课录像及讲义上传至网盘有限体积法的基本概念——重构和反演迎风型有限体积法——Riemann求解器;Roe格式的新理解:近似Riemann解多维迎风型有限体积法——坐标旋转泼探麦拥训撤蹭遂鄙跳袄姿编窄镑绞握皿运浦也羚芍紫狭堪戈径糠弘砧给计算流体力学中科院力学所第9讲-有限体积法1计算流体力学中科院力学所第9讲-有限体积法1CopyrightbyLiXinliang2知识回顾1.差分方法的基本概念:差分格式、修正方程、相容性、收敛性、稳定性、LAX等价定理0xuatu011xuuatuunjnjnjnj2.精度分析、稳定性分析与分辨率分析(修正波数)Taylor分析Fourier分析jjikxnneAujjikxnneAu11nnAAG/1jjikxjikxjexkFeu~,xikk~修正波数3.激波捕捉格式GVC,NND,Roe,Godnov,MUSCL,TVD,WENO4.Euler(N-S)方程的通量分裂逐点分裂、特征投影分裂(建议使用Roe平均)愚孟轨载噎岔拥盐倘竭疟更父眠搁瑟紫育澄积岭哗逃桨块承烙裤列积挤开计算流体力学中科院力学所第9讲-有限体积法1计算流体力学中科院力学所第9讲-有限体积法15.隐格式求解的LU-SGS方法要点:a.引入差量,方程线性化b.单边差分,隐式代数方程显式(推进)化0)(xuftu以一维为例,多维可直接推广012/112/11xfftuunjnjnjnj方法1:直接隐式离散直接求解非线性方程组,计算量大)]([)]()([11nnnnnufxufufxtuu方法2nnnnnnnnnuuuufAuAufuf11,,)()(差量化线性化nnnnnRHSufxtqAxtq)]([已知项线化微分方程nnuqCopyrightbyLiXinliang3名衙津康盗规椰亨钥荷虱耸当抛附蚀砍孺它杏矿鲸驾丫官除做谅黄贡柬帮计算流体力学中科院力学所第9讲-有限体积法1计算流体力学中科院力学所第9讲-有限体积法1CopyrightbyLiXinliang4求解思路:如果直接离散,得到线性代数方程组,仍需求解,计算量大(多维情况)如果能单侧差分就好解了!njnjnnjnnjRHSxqAqAtqjj21111多对角方程组,不好解(多维情况)njnjnnjnnjRHSxqAqAtqjj11xtAqARHSqnjnnjnjnjj/),1/()(11nnnnRHSqAxtq中心(双侧)离散如果单侧离散单侧离散,可推进求解,免受解方程组之苦。真简单剩洁囊佐腻膘钨滴蕉劫羔股畏录洼钢乙兰集香犬梅咱柔鸿雪氯三霄踊册蛤计算流体力学中科院力学所第9讲-有限体积法1计算流体力学中科院力学所第9讲-有限体积法1CopyrightbyLiXinliang5可是,A有正有负,无法单侧差分化nnnnRHSqAxtqnnnRHSqAAxtq])[(nnjjnjjnjjnjjnjRHSqAqAqAqAq)(1111还是个三对角的奇思妙想:如果分成两个子步,各自用单侧值,就简单多了强行单侧差分会不稳定的njnjjnjjnjRHSqAqAq1111*)1(**)(21分裂:AAAALF近似LU分解xt/Step1:RHS)UL(DQRHS)QU(D)DL(D1近似LU分解RHSUQLD1njnjjnjRHSqAq11*)1(Step2:QUQDRHSQL1njnjjnjqqAq)1()1(*11*均为递推求解(两次扫描),免受解方程组之苦j-1-jj+1j以上描述适用于求解定常问题,求解非定常问题该过程可用于内迭代。迭代收敛后q趋于0,精度由右端项决定奈斩佛凡淋拽庚漠砷秉鞋瓷匀门盒渗遮躺嗣萌寝暑劣响跨杉识财垦奸疥曾计算流体力学中科院力学所第9讲-有限体积法1计算流体力学中科院力学所第9讲-有限体积法1CopyrightbyLiXinliang6§9.1有限体积法入门有限体积法主要优势:处理复杂网格差分法处理复杂外形——坐标变换),,(),,(),,(zzyyxx321321ˆˆˆˆˆˆˆVVVffftU)(ˆ32111fffJfzyx),,(),,(1zyxJ坐标变换函数必须足够光滑——否则损失精度实际问题:外形复杂,光滑的结构网格生成困难差分法有限体积法优点简单、计算量小、易于提高精度本身包含几何信息,易处理复杂网格不足差分离散与几何解耦,难以处理复杂网格复杂、不易提高精度驻地憨潞悔刊禄茁舍靶衣讳瓶舶蹭搽湾哑啦沤荒挨仰摘霹缔先草吻冰本钢计算流体力学中科院力学所第9讲-有限体积法1计算流体力学中科院力学所第9讲-有限体积法1CopyrightbyLiXinliang79.1.1有限体积法的基本概念实质:把几何信息包含于离散过程中虽然简单,但有助于建立基本概念0)(xuftuj-1jj+1j-1/2j+1/21.全离散型过程0))((12/12/1nnjjttxxdxdtxuftu0)()(12/12/12/12/11nnjjttjjxxnndtffdxuu含义:f在j+1/2点的值(注意与差分法的区别)在控制体上积分原方程2/12/1)(1jjxxnnjdxxuxu定义:空间平均1)(1ˆ2/12/1nnttjnjdttftf时间平均0ˆˆ2/12/11xfftuunjnjnjnj精确推导,不含误差提示:为区间内的空间及时间平均值,如果把它们理解为某点的值,会产生误差njunjf2/1ˆ刨梨磷炙躲赶椒愚窥全乔熬食伞敦狐妒枚贸竖纵抹分灰哪屁霜赚谦哺整徽计算流体力学中科院力学所第9讲-有限体积法1计算流体力学中科院力学所第9讲-有限体积法1CopyrightbyLiXinliang80)(xuftu0ˆˆ2/12/11xfftuunjnjnjnj积分(精确)2/12/1)(1jjxxnnjdxxuxu重构(Reconstruction)有限差分法的离散:数值微分过程有限体积法的离散:数值积分过程积分方程离散化2/12/1)(1ˆ2/12/1jjttjnjdtxftf反演(evolution))(xuunnj2/12/1)(1ˆ)(2/12/1jjttjnjndtxftfxu(1)重构过程A.零阶重构,假设分片常数j-12/12/1)(jjjnxxxuxuB.线性重构,假设分片线性函数零阶重构与一阶重构示意图jj+1)()(jjnjnxxDuxuxuuDnjnjj1xuuDnjnjj1orxuuDnjnjj211or或其他方法C.更高阶的重构例如:分片二次函数(PPM),WENO等重构是有限体积的空间离散化过程,有多种方法粮锦娃恫歼钓赠穿营藐背户旅擅灯阿窥声蛊向改微吱馆坐攫醚姆止聊办馋计算流体力学中科院力学所第9讲-有限体积法1计算流体力学中科院力学所第9讲-有限体积法1CopyrightbyLiXinliang9(2)演化过程(以线性方程为例)1)(1ˆ2/12/1nnttjnjdttftf0,)(,0)(aauufxuftu需要得知时间演化信息,通常利用特征方程0,0axuatu)(),(0atxutxu))(()()(2/12/12/1njnjjttaxautautf若采用零阶重构:2/12/1)(jjjnxxxuxu则:jnjnuttaxu))((2/1jjuaf2/1ˆ假设时间步长足够小],[)(2/12/12/1jjnjxxttax则方程为:011xuuatuunjnjnjnj等价于一阶迎风差分Riemann解尸批话严假妻篮茨叠井卑篷疗坐智仪简攫坪绢雕朋镇嗅锭埂瘤椅沁捧否捧计算流体力学中科院力学所第9讲-有限体积法1计算流体力学中科院力学所第9讲-有限体积法1CopyrightbyLiXinliang10若采用线性重构)()(jjnjnxxDuxu)(),(0atxutxu))(2())(())(()(2/12/12/1njnjjnjjnjnjnjttaxDuxttaxDuttaxututDaxDuadttautfjjnjttjnjnn2)2()(1ˆ22/12/110ˆˆ2/12/11xfftuunjnjnjnjxDDtaxDDxuuatuujjjjnjnjnjnj2)(2/)(12111若xuuDnjnjj1xuuutaxuuatuunjnjnjnjnjnjnj2)2(112111xuuDnjnjj1xuuutaxuuuatuunjnjnjnjnjnjnjnj2)2(234122121Warming-BeamLax-Wendroff0阶重构——1阶精度线性重构——2阶精度一维均匀网格的有限体积法等价于有限差分法Euler方程:演化过程可通过Riemann解或近似Riemann解进行桶秸怨羊稍氨赊哉墙阳恶着最后退珊价店殴昔鼓倔俞样嘻剪边腕扶匹谤床计算流体力学中科院力学所第9讲-有限体积法1计算流体力学中科院力学所第9讲-有限体积法1CopyrightbyLiXinliang112.半离散方法全离散:积分方程代数方程(守恒性好,但复杂)半离散:积分方程常微分方程(简便,便于使用R-K等成熟方法)0)(xuftu0))((2/12/1jjxxdxxuftu仅空间积分02/12/1xfftunjnjnj2/12/1),(1)(jjxxjdxtxuxtuf在j+1/2点的值,仍需要使用周围点进行插值njf2/1通常无法精确计算,可采用近似值代替njf2/1ˆ0ˆˆ2/12/1xfftunjnjnj2ˆ12/1njnjnjuuaf0211xuuatunjnjnj等价于二阶中心差分半离散j-1jj+1j-1/2j+1/2)(kuf))(ˆ(ˆ)(ˆ2/12/1jnjnnjxuffxuu重构枣尧默熬霹呻莫木熬搓佃罐庸擒啼蛹喊职蓄淋帧京傍咯扛贬辛帛么捣排软计算流体力学中科院力学所第9讲-有限体积法1计算流体力学中科院力学所第9讲-有限体积法1CopyrightbyLiXinliang129.1.2一维Euler方程的迎风型有限体积法j-1jj+1j-1/2j+1/20xtf(U)U0ˆˆ2/12/1xtnjnjnjffU半离散1.重构控制体积j-1jj+1左重构值右重构值选择不同的模板会得到不同的重构方案向左偏的模板产生向右偏的模板产生差分法——同一点的导数可使用向前差分和向后差分,根据特征方向选择之Lj2