第五讲——显式差分和隐式差分(5)_第1页
第五讲——显式差分和隐式差分(5)_第2页
第五讲——显式差分和隐式差分(5)_第3页
第五讲——显式差分和隐式差分(5)_第4页
第五讲——显式差分和隐式差分(5)_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、回顾1. 有限差分法基础2. 差分格式3. 差分方程4. 边界条件的处理5. 相容性、稳定性和收敛性回顾1. 有限差分法的相容性、稳定性和收敛性相容性:针对差分格式而言,在时间步长和空间步长趋近于零的情况下,如果差分格式的截断误差(差分格式与原有偏微分方程之差)的模趋近于零,则该差分格式与原偏微分方程是相容的,或称该差分方程与原偏微分方程具有相容性。稳定性(stability):如果偏微分方程的严格解析解有界,差分格式给出的解也有界,称该差分格式是稳定的;如果差分格式给出的解是无界的,则称该差分格式是不稳定的。稳定性反映了差分格式在计算中控制误差传递的能力收敛性(convergence):如果

2、当时间和空间步长趋于零时,FDE解趋于PDE解,称该差分格式是收敛的。如果则称该差分格式是收敛的。, , ,0,0lim ()0mmi j ki j khtUu 收敛性描述的是当差分网格无限细化时,差分方程的解是否具有无限逼近偏微分方程的解的能力Lax等价定理(Lax equivalence theorem):如果逼近一个给定问题的差分格式是相容的,那么该差分格式的收敛性与稳定性互为充分必要条件。相容性是比较容易满足的。在此基础上,如果满足了稳定性条件,差分格式的收敛性就自动满足。U=0U=0U=100U=020U2143658710912111413152.5 有限差分法实例(i,j)(i+

3、1,j)(i-1,j)01234(i,j)(i+1,j-1)(i-1,j-1)(i,j+1)(i+1,j+1)(i-1,j+1)i-1ii+1j-1jj+1h1h3h2h4(1, )(1, )( ,1)( ,1)4 ( , )0U ijU ijU i jU i jU i j(i,j)(i+1,j)(i-1,j)01234(i,j)(i+1,j-1)(i-1,j-1)(i,j+1)(i+1,j+1)(i-1,j+1)i-1ii+1j-1jj+1h1h3h2h4for j=2:n-1for i=2:m-1; a(j-1)*m+i,(j-1)*m+i+1)=1; a(j-1)*m+i,(j-1)*m

4、+i-1)=1; a(j-1)*m+i,j*m+i)=1; a(j-1)*m+i,(j-2)*m+i)=1; a(j-1)*m+i,(j-1)*m+i)=-4; endend(1, )(1, )( ,1)( ,1)4 ( , )0U ijU ijU i jU i jU i j内部节点:边界节点:A矩阵非零系数减少,同时引入第一类边界,方程右端项B向量出现非零元素。局部节点编号总体节点编号AXB(135,135)AA(135,1)XX(135,1)BB组建A和B矩阵,求解线性方程组得到X%Matlab 2Dclear;clc;figure(color,w); a=zeros(135,135);f

5、or i=1:135 a(i,i)=1;end;for i=1:7 a(15*i+1,15*i+2)=-0.25; a(15*i+1,15*i+16)=-0.25; a(15*i+1,15*i-14)=-0.25;endfor i=1:7 a(15*i+15,15*i+14)=-0.25; a(15*i+15,15*i+30)=-0.25; a(15*i+15,15*i)=-0.25; Enda(1,2)=-0.25;a(1,16)=-0.25;a(121,122)=-0.25;a(121,106)=-0.25;a(135,134)=-0.25;a(135,120)=-0.25;a(15,14

6、)=-0.25;a(15,30)=-0.25;for i=2:14 a(i,i-1)=-0.25; a(i,i+1)=-0.25; a(i,i+15)=-0.25; endfor i=122:134 a(i,i-1)=-0.25; a(i,i+1)=-0.25; a(i,i-15)=-0.25; endfor i=1:7for j=2:14;a(15*i+j,15*i+j-1)=-0.25;a(15*i+j,15*i+j+1)=-0.25;a(15*i+j,15*i+j+15)=-0.25;a(15*i+j,15*i+j-15)=-0.25;endendb=a(-1);c=zeros(135,

7、1);for i=121:135 c(i,1)=25;endd=b*c;s=zeros(11,17);for i=2:16 s(11,i)=100; endfor i=1:9for j=1:15;s(i+1,j+1)=d(15*(i-1)+j,1);endend subplot(1,2,1),mesh(s)axis(0,17,0,11,0,100)subplot(1,2,2),contour(s,32)05101505100204060801005101512345678910112.5 应用实例应用实例南加州一次未来大地震的强地面运动的数值模拟盆地效应Cui, 2013Cui, 2013Cu

8、i, 2013Cui, 2013总结:总结:1、有限差分方法给出的数值解的精度取决于所用的差分形式(向前、向后、中心)。2、偏微分方程的显式有限差分格式通常是有条件稳定的,为了保证得到精确的数值解,最关键的是需要根据稳定性条件选取正确的空间和时间步长。显式与隐式差分格式主讲人:胡才博中国科学院大学地球科学学院中国科学院计算地球动力学重点实验室 显式差分格式(explicit difference scheme) 差分方法中可逐层逐点分别求解的格式。 特点 1. 不联立解方程; 2.时间步长和空间步长的选择受限制。通常要求时间步长足够小。隐式差分格式(implicit difference sc

9、heme)特点1. 时间步长和空间步长的选择不受限制;2. 需要联立解方程组显式和隐式:求解问题与时间相关()( ( )Y ttF Y t( ( ), ()0G Y t Y tt例子:1. 显式差分格式:左端:n+1时刻的值;右端:n时刻的值。特点:结构简洁,直接求解,求解速度快。但是,时间步长需满足:显式差分格式才能得到稳定的数值解,否则,数值解将会不稳定而振荡。显示差分格式示意图2. 隐式差分格式:时间一阶精度空间二阶精度隐式有限差分格式111111112(2)(2)2()nnnnnnnniiiiiiiiTTTTTTTTtx111111112(2)(2)2()nnnnnnnniiiiiii

10、iTTTTTTTTtx1111111(22 )(22 )nnnnnniiiiiisTs TsTsTs TsTCrank-Nicolson 隐式差分格式Crank-Nicolson 隐式差分格式1111111(22 )(22 )nnnnnniiiiiisTs TsTsTs TsTForward-Time Central-Space methodBackward -Time Central -Space method1/2Crank-Nicolson 隐式差分格式一般差分格式312546求解区域:边界条件:初始条件:一种隐式差分格式的程序实现A = sparse(nx,nx);for i=2:nx

11、-1A(i,i-1) = -s;A(i,i ) = (1+2*s);A(i,i+1) = -s;endA(1 ,1 ) = 1;A(nx,nx) = 1;rhs = zeros(nx,1);rhs(2:nx-1) = Told(2:nx-1);rhs(1) = Tleft; rhs(nx) = Tright;内部节点:边界节点:载荷项:内部边界312546边界条件:初始条件:Crank-Nicolson 隐式差分格式的程序实现1111111(22 )(22 )nnnnnniiiiiisTs TsTsTs TsT(1)( )nnAcBc100000220000220000220000220000

12、01ssssssAssssss11121(1)3141516nnnnnnnTTTcTTT 10000022000022000022000022000001ssssssBssssss12( )3456nnnnnnnTTTcTTT A = sparse(nx,nx);for i=2:nx-1A(i,i-1) = -s;A(i,i ) = (2+2*s);A(i,i+1) = -s;endA(1 ,1 ) = 1;A(nx,nx) = 1;内部节点:边界节点:1111111(22 )(22 )nnnnnniiiiiisTs TsTsTs TsT(1)( )nnAcBc1000002200002200

13、0022000022000001ssssssAssssss10000022000022000022000022000001ssssssBssssss12( )3456nnnnnnnTTTcTTT B= sparse(nx,nx);for i=2:nx-1B(i,i-1) = s;B(i,i ) = (2-2*s);B(i,i+1) = s;endB(1 ,1 ) = 1;B(nx,nx) = 1;内部节点:边界节点:例子:牛顿冷却定律:温度高于周围环境的物体向周围媒质传递热量逐渐冷却时所遵循的规律。当物体表面与周围存在温度差时,单位时间从单位面积散失的热量与温度差成正比。Tair一阶常微分方程

14、的数值解( , )dTf T tdt首先对时间和温度进行离散:0, ( )jjjttj t TT t 利用向前差分形式:1()jjjt tTTdTOtdtt得到以下的显式差分格式:1(,)jjjjTTtf T t Tcap利用向前差分格式:1()jjjt tTTdTOtdtt1(,)jjjjTTtf T t 1-=-jjjjttTTTT(1)0-jjtTT (1)现在改用向后差分形式进行近似,得到隐式差分格式:1()jjjt tTTdTOtdtt1(,)jjjjTTtf T t 11(1)jjtTT0(1)jjtTT可以验证,当时间步长趋近于零时,以上近似解趋于解析解。因此,该格式收敛。稳定性

15、条件:T单调减小的条件1011t( , )Tf T t 显式差分格式隐式差分格式当dt=1.25,tau=0.7时,显式差分格式不稳定,结果振荡;隐式差分格式稳定,结果不精确。11(1)jjtTT隐式差分格式1011t无条件稳定重点考察差分格式的收敛性当dt=1,tau=0.7时,显式差分格式不稳定,结果振荡;隐式差分格式稳定,结果不精确。当dt=0.5,tau=0.7时,显式差分格式稳定,隐式差分格式稳定,结果不精确,两者都不精确。当dt=0.1,tau=0.7时,显式差分格式稳定;隐式差分格式稳定;结果都比较精确。当dt=0.01,tau=0.7时,显式差分格式稳定;隐式差分格式稳定;结果

16、都相当精确。2231132322322()226 ()24 12jjjjjjjjjjjjTTffdTdtd Tdtd TO dtdtdtdtdtdtdfdtd ffO dtdtdtdTdtdfdt3332() ()jjjTO dtdtdTfO dtdt当dt和tau都大于零时,该式无条件满足,因此混合差分格式无条件稳定。 xt(nt+1)=nt*dt; plot(xt,T_e,b.-, xt,T_i,g.-, xt,T_m,m.-, xt,T_a,r.-,);hold on % set(gca,DataAspectRatio,(max(xt)-min(xt)/(max(T_e)-min(T_e

17、)/3 1 1); xlabel(Time (s),Fontname,times new roman,FontSize,14); ylabel(Temperature,Fontname,times new roman,FontSize,14); title(dt=0.01 tau=0.7);%Malab-1Dclear;clc;figure(color,w); t0=1; % initial temperaturetau=0.7; % time constantdt=0.01; % time intervalt_total=10;nt=round(t_total/dt); % total ti

18、me steps T_e(1)=t0; T_i(1)=t0; T_m(1)=t0; for i=1:nt; xt(i)=(i-1)*dt;T_e(i+1)=T_e(i)*(1-dt/tau); %explicitT_i(i+1)=T_i(i)/(1+dt/tau); % implicitT_m(i+1)=T_m(i)*(1-dt/2/tau)/(1+dt/2/tau); %mix T_a(i)=t0*exp(-xt(i)/tau); %analytical resultsend不同差分格式的matlab程序混合差分格式精度最高!不同差分格式计算结果对比混合差分格式精度最高!不同差分格式计算结果

19、对比混合差分格式精度最高!不同差分格式计算结果对比混合差分格式精度最高!不同差分格式计算结果对比混合差分格式精度最高!不同差分格式计算结果对比显式差分格式1.对步长有要求;2.无需解方程二阶精度%Matlab 2Dclear;clc;figure(color,w); lx=17;ly=11; %v1=zeros(ly,lx); %for j=2:lx-1 v1(ly,j)=100;end %v2=v1;maxt=1;t=0;k=0;while(maxt1e-6) %k=k+1maxt=0;for i=2:ly-1for j=2:lx-1;v2(i,j)=(v1(i,j+1)+v1(i+1,j)

20、+v1(i-1,j)+v1(i,j-1)/4; t=abs(v2(i,j)-v1(i,j);if(tmaxt) maxt=t;endendendv1=v2;end %subplot(1,2,1),mesh(v1)axis(0,17,0,11,0,100)subplot(1,2,2),contour(v1,32)迭代解法:K:迭代步数K=4190510150510020406080100510151234567891011 总结总结:显式格式算法简单、易于编程,可以从给定的初始条件开始,在时间上逐层前进求解。一些与时间有关的偏微分方程的求解,需要用到隐式差分格式,在时间上计算数值解的传播时,需要

21、求解线性方程组。通常在计算的每一个时间步,需要求矩阵的逆矩阵。因此,隐式格式算法相对于显式格式更复杂,编程更困难。显式格式通常比隐式格式的稳定性差,如果时间步长取得过大,可能会给出物理上不正确的结果。某些隐式格式的优点是其无条件稳定性,因此时间步长可以取得大一些,但是并不能保证精度很高。可以利用显式-隐式混合格式(如: Crank-Nicholson scheme ),它们无条件稳定,而且精度高于相应的显式和隐式格式。 总结有限差分法的主要内容包括:1、根据问题的特点将定解区域作网格剖分;在所有网格节点上用有限差分格式对导数求近似,对函数、初始和边界条件求近似;把原方程离散化为代数方程组,即有

22、限差分方程组.2、有限差分模型形态的理论分析,以保证计算过程可行及计算结果正确:解的相容性:对于一个微分方程建立的各种差分格式,为了有实用意义,一个基本要求是它们能够任意逼近微分方程,这就是相容性要求。解的稳定性:因为差分格式的计算过程是逐层推进的,在计算第m1层的近似值时要用到第m层的近似值,直到与初始值有关。前面各层若有舍入误差,必然影响到后面各层的值,如果误差的影响越来越大,以致差分格式的精确解的面貌完全被掩盖,这种格式是不稳定的,相反如果误差的传播是可以控制的,就认为格式是稳定的。只有在这种情形下,差分格式在实际计算中的近似解才可能任意逼近差分方程的精确解。解的收敛性:一个差分格式是否有用,最终要看

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论