资源描述:
《瞬间全溃溃坝波的传播、反射和绕射的数值模拟》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、A辑第15卷第1期 水动力学研究与进展 Ser.A,Vol.15,No.12000年3月 JOURNALOFHYDRODYNAMICSMar.,2000文章编号:100024874(2000)0120001207瞬间全溃溃坝波的传播、反射和绕射的数值模拟a122王嘉松, 倪汉根, 金 生(1.上海交通大学工程力学系,上海200030;2.大连理工大学土木系,大连116023) 摘 要:将二维浅水方程解耦并进行空间差分分裂,应用通量限制的组合型TVD格式,分别求解分裂后的
2、一维双曲型方程组,针对瞬间全溃情况下溃坝波的运动问题,对溃坝波的传播、反射和绕射进行数值模拟,揭示出溃坝波复杂的运动特性,为溃坝灾害性分析和防灾减灾提供科学依据。关 键 词:浅水方程;差分分裂;TVD格式;溃坝波;反射;绕射中图分类号:TV131.4文献标识码:A1 前言溃坝波的运动属于带有自由表面的非恒定流,由于存在间断波(涌波)而变得非常复杂,常规的差分方法很难有效地处理这类问题。随着计算空气动力学的发展,八十年代初中期提出[1][2]了各种高分辨率计算格式,如TVD、ENO格式,对于求解欧拉方
3、程,解决分离涡、激波等复杂流场的计算问题效果十分显著,具有很强的激波捕捉能力,且在激波区不振荡。浅水方程在性质上与欧拉方程类似,这类格式为解决溃坝波的计算问题提供了思路。但上述高分辨率格式是定义在一维双曲型守恒方程上,对于二维双曲型方程,只作形式上的推广,至今没有严格的[3]理论基础。因此本文将二维浅水方程进行空间的差分分裂,分别应用TVD格式求解,用以模拟全溃溃坝波的传播、反射与绕射。2TVD格式针对下面的单变量双曲型守恒方程5u5f(u)+=0(1)5t5xa收稿日期:1997208210基金项
4、目:国家自然科学基金资助项目(59649002)作者简介:王嘉松(1967~),男,讲师,博士。©1995-2004TsinghuaTongfangOpticalDiscCo.,Ltd.Allrightsreserved.2水 动 力 学 研 究 与 进 展 2000年第1期其差分格式为n+1n•n•nui=ui-K(fi+1ö2-fi-1ö2)(2)•其中K=△tö△x为时空步长比,fi+1ö2=f(ui,ui+1)为f的数值通量,不同的格式(包括[4][5]TVD格式)有不同的形
5、式,有的耗散性太强,有的过分压制。本文根据Sweby、Roe等人的方法,基于一阶迎风和Lax2Wendroff格式得到组合型TVD格式的数值通量,•12fi+1ö2={fi+fi+1-[Kai+1ö2U(r)+(1-U(r))W(ai+1ö2)]△i+1ö2u}(3)2式中fi+1-fi, △i+1ö2u≠0△i+1ö2uai+1ö2=(4)5fûi, △i+1ö2u=05uûai+1ö2û,ûai+1ö2û≥D1W(ai+1ö2)=a22(5)i+1ö2+D1,ûai+1ö2û6、为一小的正数,如取D1=0.1~0.5。△i+1ö2u=ui+1-ui(6)U(r)为通量限制函数,本文选取MUSCL型限量函数,即U(r)=max(0,min(2,2r),0.5(1+r))(7)其中2(ûai+1ö2-Rû-Kai+1ö2-R)△i+1ö2ur=2,R=sgn(ai+1ö2)(8)(ûai+1ö2û-Kai+1ö2)△i+1ö2u 由(3)式得到的TVD格式具有二阶精度,且耗散性和压制性适中。3 浅水方程及TVD格式的应用将矩形断面河道的浅水方程写成守恒形式5U5F(U)5G(
7、U)++=S(U)+T(U)(9)5t5x5y式中qxqyh2qx12qxqy+ghU=qxF(U)=h2G(U)=h2qyqxqyqy12+ghhh200S(U)=gh(Sox-Sfx)T(U)=0(10)0gh(Soy-Sfy)这里h是水位,qx、qy分别是x、y方向的单宽流量,g是重力加速度,Sox、Soy分别是x、y方向的底坡,Sfx、Sfy分别是x、y方向的水力摩阻坡降。©1995-2004TsinghuaTongfangOpticalDiscCo.,Ltd.Allrightsreserv
8、ed.王嘉松等:瞬间全溃溃坝波的传播、反射和绕射的数值模拟3Sfx、Sfy可由曼宁公式确定,222222nqxqx+qynqyqx+qySfx=10ö3,Sfy=10ö3(11)hh式中n为曼宁粗糙系数。为了将TVD格式进行推广,需将方程(9)作解耦处理,写成非守恒形式,5U5U5U+A+B=S(U)+T(U)(12)5t5x5y式中A、B为雅可比矩阵,01022qxqx5EC-220A==hh(13)5Uqxqyqyqx-2hhh001qxqyqyqx5G-2B==