非线性对流扩散方程不同解法稳定性比较..docxVIP

非线性对流扩散方程不同解法稳定性比较..docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
非线性对流扩散方程不同解法稳定性比较.

2013—2014学年第二学期《Matlab编程技术》作业 专业班级 石工博13-02 研究方向 油气田开发 姓 名 王壮壮 学 号 评 分 项 目一、选题的创新性或与专业相结合的程度(总分20分)二、选题的意义及难度(总分20分)三、程序的可读性、逻辑性(总分20分)四、程序运行情况(成果、效率等)(总分30分)五、其它(格式等)(10分)综合得分(总分100分)结合自己研究方向,运用Matlab编写科学计算及可视化或其它相关程序。要求:将要解决的问题交代清楚(数学模型、目标等);编写的程序的关键语句要有注释说明;程序能顺利运行,运行结果和编写的m文件一并提交;独立完成。非线性对流扩散方程不同解法稳定性比较流体力学基本方程组本身就是非线性的对流扩散方程,非线性Burgers方程就是N-S方程很好的模型方程,它的一维形式如下: (1)边界条件为 (2)初始条件是任意可以给出的。我们知道,遇到对流项,我们用迎风格式是绝对没有问题,无论是一阶迎风还是二阶迎风格式都是能够解决非线性对流方程的,如果网格Peclet数允许的话,中心差分也是可以考虑的。不过,对于非线性对流,我们来看看另外两个G-S格式,一个是G-S型迎风半隐格式,另一个是G-S型Samarskii半隐格式,对于任何类型的对流扩散方程,可以收敛到定常解,并且是绝对稳定的,特别适合于解决定常问题。对于式(1)这两个格式分别为 (3) (4)其中式(3)就是G-S型迎风半隐格式,它具有一阶精度,是从一阶迎风格式发展而来的;式(4)是G-S型Samarskii半隐格式,具有二阶精度,它是从Samarskii格式发展而来的。上面说过,它们只适用于求解定常解,因此上标的时层n可以看作是迭代步,可以说它们没有时间精度,如果想用这两个格式求解非定常解,那可是徒劳的。对于上两式,我们可以采用迭代法求解,把它们写成迭代式,分别为 (5) (6)这样我们可以看出来,其实时间步长就充当了一个松弛因子的角色。首先式(1)是有定常精确解的,解为 (7)式中 (8) (9)程序3.3 非线性Burgers方程计算程序%-------------------------------------程序开始--------------------------------- clear Re=100; %式(8) L=5; %计算域,可以随意设置 u0=1; %内边界条件,u0可随意 miu=u0*L/Re; %扩散系数 N=41; %网格节点数 t=2; %时间步长(松弛因子) h=L/(N-1); %网格步长 for i=1:N %网格划分 x(i)=(i-1)*h; end%---------------------G-S型迎风半隐格式计算----------------------- u=zeros(N,1); %迭代初值 u(1)=u0; %内边界条件 u1=u;tol=1;p=0; while tol=1e-5 %收敛精度,0.00001 for i=2:N-1 R(i)=abs(u(i))*h/2/miu; u1(i)=(-t*h*(u(i)*(u(i+1)-u1(i-1)))+2*t*miu*(1+R(i))*(u(i+1)+u1(i-1))+2*h^2*u(i))/(2*h^2+4*t*miu*(1+R(i))); end tol=max(abs(u-u1)); %计算两个迭代层的误差 u=u1; p=p+1; if p=5000 disp(G-S型迎风半隐格式不收敛!) break end end%------------------------G-S型Samarskii型半隐格式计算--------------- tol=1;p=0; v=zeros(N,1); %迭代初值 v(1)=u0; %内边界条件 v1=v; while tol=1e-5 %收敛精度,0.00001 for i=2:N-1 R(i)=abs(v(i))*h/2/miu; v1(i)=(-t*h*(v(i)*(v(i+1)-v1(i-1)))+2*t*miu*(1/(1+R(i))+R(i))*(v(i+1)+v1(i-1))+2*h^2*v(i))/(2*h^2+4*t*miu*(1/(1+R(i))+R(i))); end tol=max(abs(v1-v)); %计算量迭代层误差 v=v1; p=p+1; if p=5000 disp(G-S型Sam

文档评论(0)

sa43sad5 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档