matlab二阶迎风差分格式,一阶迎风差分格式的精度问题

对水流运动中的各种现象进行数值模拟时,数值计算格式对计算结果的准确性有较大影响.一般认为,低阶的数值格式形式简单、便于使用,但存在一定的数值扩散问题,影响计算精度;而高阶的数值格式的数值扩散小、精度高,缺点是形式相对复杂一些,有些还容易产生数值振动.一阶迎风差分格式因其形式简单、便于编程,在实际中得到一定的应用.但因认为这一格式有一定的数值扩散问题,计算结果的可靠性常常受到怀疑.特别是近年高阶数值格式的出现,二阶格式如格式和其他高阶格式逐渐取代一阶格式成为数值计算中的主流格式.一般情况下偏微分方程很难得到理论解.对数值计算格式精度的评估常常通过对数值格式稳定性分析来间接进行,这种分析途径对线性方程很有效,但对非线性方程尚无理想的方法.某些简单的非线性方程,如方程在一定的初边值条件下存在理论解,运用这种理论解检验数值格式的精度不失为一种有效的方法[1].本文运用一阶迎风差分格式,分别对一维线性对流方程和一维非线性对流方程进行了数值求解.通过与这些方程理论解的对比,对该格式的精度作了较详细的分析,得到了一些有意义的结论,最后还给出了两个实际算例.1求解线性对流方程的精度一维线性对流方程+=0(1)用于描述被水流输移物质如含沙量在纯对流情况下的运动.其中,为被输移的物理量;为水流速度;为时间.当为常数时,对应于初始条件(,0)=(),-0,-1>0时)+1=-2[()2-(-1)2](5)在初始条件(,0)=1,100,>10和边界条件(0,)=1下,图2给出了经过30后几种有代表性的数值格式的计算结果及与理论解的对比.计算中各参数均为=0.5,=0.2.从图2可见,虽然在求解线性方程时,一阶迎风格式的精度不理想,但用于计算非线性方程时,计算结果与理论解相吻合,特别是在模拟有非连续面存在的情况,计算结果明显优于二阶格式和格式,此两格式在不连续面附近有明显的数值振动.为克服数值振动,常在格式中加入人工粘性[3],如图2所示,加入人工粘性后,也不能完全消除数值振动.有关迎风格式用于求解水流运动方程的精度,亦作过研究[4],通过模拟驱动方程中的流速场,得到当数为100时,迎风格式与较高精度格式结果的差小于5%的结论.文献[5]对这个问题作过讨论,亦肯定了该格式的精度.对差分方程(3)各项在点(,)邻域作泰勒级数展开后代入,可得一阶迎风格式对应的等价微分方程为+=22(-2)22+(3,)(6)其中=/,与式(1)相比可知,一阶迎风格式用于计算式(1)时产生的数值扩散主要来自于式(6)右边的第一项.这一项对数值解的影响显著.同样地,令=2/2,对式(5)作泰勒级数展开,对应的等价微分方程为+=222-2+(2,2)(7)虽然与原微分方程(4)不完全相同,但从以上的计算结果看,式(7)右边第一项对数值解的影响不甚明显.这个问题数学方面的解释有待今后作进一步的研究.从以上的结论可见,当计算质量(如悬移质泥沙、污染物等)输移方程时,应避免使用一阶迎风格式离散其中的对流项;而当计算水流动量方程时,用一阶迎风格式离散其中的对流项是可以获得较高精度的.3算例3.1水跃计算一维水流基本方程为+=0(8)+2+++=0(9)其中,为过水面积;为流量;为重力加速度;为水深;为床面高程,为摩阻能坡.上两式中的/和/项采用向前差分格式,(2/)/用一阶迎风格式,/和/采用中心差分格式,并采用蛙跃格式和交错网格的思想离散方程式(8)和(9),得差分方程为+2-2=---1-1-+1+1/2-+1-1/22(+)+1+1/2-(-)+1-1/2-+1/2+-1/222+2++1+1/2

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值