资源描述:
《偏微分方程组解法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、偏微分方程组解法某厚度为10cm平壁原温度为20,现其两侧面分别维持在20和120,试求经过8秒后平壁内温度分布,并分析温度分布随时间的变化直至温度分布稳定为止。式中为导温系数,;。解:模型转化为标准形式:初始条件为:边界条件为:,函数:pdefun.m%偏微分方程(一维动态传热)function[c,f,s]=pdefun(x,t,u,dudx)c=1/2e-4;f=dudx;s=0;icbun.m%偏微分方程初始条件(一维动态传热)functionu0=icbun(x)u0=20;bcfun.m%偏微分方程边界条件(一维动态传热)function[pl
2、,ql,pr,qr]=bcfun(xl,ul,xr,ur,t)pl=ul-120;ql=0;pr=ur-20;qr=0;命令:x=linspace(0,10,20)*1e-2;t=linspace(0,15,16);sol=pdepe(0,@pdefun,@icfun,@bcfun,x,t);mesh(x,t,sol(:,:,1))%温度与时间和空间位置的关系图%画1、2、4、6、8、15s时刻温度分布图plot(x,sol(2,:,1))1s时刻,(因为本题sol第一行为0时刻)holdonplot(x,sol(3,:,1))plot(x,sol(5,:
3、,1))plot(x,sol(7,:,1))plot(x,sol(9,:,1))plot(x,sol(16,:,1))计算结果:%第8秒时温度分布xsol(9,:,1)经过8秒时的温度分布为:/cm00.52631.05261.57892.10532.63163.1579/120.0000112.5520105.165397.899490.810083.947777.3562/cm3.68424.21054.73685.26325.78956.31586.8421/71.071465.120259.520054.278449.393044.851840.6
4、338/cm7.36847.89478.42118.94749.473710.0000/36.709533.041929.587726.298223.120720.0000或者求第8秒时,x=0,2,4,,6,8,10cm处的温度[uout,duoutdx]=pdeval(0,x,sol(9,:,:),[0,2,4,6,8,10]*1e-2)120.000092.227967.500747.576532.351120.0000不同时刻温度分布图将上图的视角转至xt平面也得到本图,从本图可知当时间达到15s时平壁内的温度分布已近稳定。某厚度为20cm钢板原温
5、度为20,现将其置于1000的炉中加热,平壁导热系数为,对流传热系数,导温系数为;试分析温度分布随时间的变化及钢板表面温度达到500时所需的时间。解:模型转化为标准形式:初始条件为:边界条件为:(平壁中心坐标为0,绝热),函数:pdefun1.m%偏微分方程(一维动态平壁两侧对流)function[c,f,s]=pdefun1(x,t,u,dudx)c=1/0.555e-5;f=dudx;s=0;icbun1.m%偏微分方程初始条件(一维动态平壁两侧对流)functionu0=icbun1(x)u0=20;bcfun1.m%偏微分方程边界条件(一维动态平壁
6、两侧对流)function[pl,ql,pr,qr]=bcfun1(xl,ul,xr,ur,t)pl=0;ql=1;pr=174*(ur-1000);qr=34.8;%平壁两侧置于同一流体中具有对流传热,平壁中心为绝热命令:%600s内的温度分布变化x=linspace(0,10,20)*1e-2;t=[0:60:600];sol=pdepe(0,@pdefun1,@icfun1,@bcfun1,x,t);mesh(x,t,sol)%2160s内的温度分布变化t=[0:60:2160];sol=pdepe(0,@pdefun1,@icfun1,@bcfun
7、1,x,t);mesh(x,t,sol)%60、120、180、240、300、360、420s时刻温度分布图plot(x,sol(2,:,1))60s(t网格为0:60:2160,其时间间隔为0,60,120,180,……2160,第二点为60s)holdonplot(x,sol(3,:,1))plot(x,sol(4,:,1))plot(x,sol(5,:,1))plot(x,sol(6,:,1))plot(x,sol(7,:,1))plot(x,sol(8,:,1))%1080、1440、1800、2160s时刻温度分布图plot(x,sol(19,
8、:,1))holdonplot(x,sol(25,:,1))plo