一维热传导方程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一维热传导方程

一. 问题介绍

考虑一维热传导方程:

(1),0),(22T t x f x

u a t u ≤<+∂∂=∂∂ 其中a 是正常数,)(x f 是给定的连续函数。按照定解条件的不同给法,可将方程(1)的定解问题分为两类:

第一类、初值问题(也称Cauthy 问题):求具有所需次数偏微商的函数),(t x u ,满足方程

(1)(∞<<∞-x )和初始条件:

(2)

),()0,(x x u ϕ=∞<<∞-x 第二类、初边值问题(也称混合问题):求具有所需次数偏微商的函数),(t x u ,满足方程

(1)(l x <<

0)和初始条件: (3) ),()0,(x x u ϕ= l x <<0

及边值条件

(4)

.0),(),0(==t l u t u T t ≤≤0 假定)(x ϕ在相应区域光滑,并且在l x ,0=满足相容条件,使上述问题有唯一充分光滑的解。

二. 区域剖分

考虑边值问题(1),(4)的差分逼近。去空间步长N l h /=和时间步长M T /=τ

,其

中N,M 都是正整数。用两族平行直线: 将矩形域}0;0{T t l x G ≤≤≤≤=分割成矩形网格,网格节点为),(k j t x 。以h G 表示网格内点集合,即位于开矩形G 的网点集合;h G 表示所有位于闭矩形G 的网点集合;h Γ=h G --h G 是网格界点集合。 三. 离散格式

第k+1层值通过第k 层值明显表示出来,无需求解线性代数方程组,这样的格式称为显格式。

第k+1层值不能通过第k 层值明显表示出来,而由线性代数方程组确定,这样的格式称为隐格式。

1. 向前差分格式

(5) ,221

11j k j k j k

j k j

k j f h u u u a u u ++-=--++τ

)(j j x f f =, )(0

j j j x u ϕϕ==,00==k N k u u ,

其中j=1,2,…,N-1,k=1,2,…,M-1。以2

/h a r τ=表示网比。则方程(5)可以改写为: 易知向前差分格式是显格式。

2. 向后差分格式

(6)

,11111)21(j k j k j k j k j f u ru u u ru τ+=-++-+-+++ )(0

j j j x u ϕϕ==,00==k N k u u , 其中j=1,2,…,N-1,k=1,2,…,M-1,易知向前差分格式是显格式。

3. 六点对称格式(Grank-Nicolson 格式)

将向前差分格式和向后差分格式作算术平均,即得到六点对称格式:

(7)

111112)1(2+-+++-++-k j k j k j u r u r u r

=j k j k j k j f u r u r u r τ++-+-+112)1(2 利用0j u 和边值便可逐层求到k j u 。六点对称格式是隐格式,由第k 层计算第k+1层时需解线性代数方程组(因系数矩阵严格对角占优,方程组可唯一求解)。

将其截断误差)(x R k j 于),(21+k j t

x (21+k t =τ)21(+k )展开,则得 )(x R k

j =)(22h O +τ。

4. Richardson 格式

(8)

τ211-+-k j k j u u j k j k j k j f h u u u a ++-=-+2112, 或

(9) j k j

k j k j k j k j f u u u u r u τ2)2(21111+++-=--++。 这是三层显示差分格式。截断误差阶为)(22h O +τ

。为了使计算能够逐层进行,除初值0j u 外,还要用到1j u ,这可以用前述二层差分格式计算(为保证精度,可将[0,τ]分成若干等份)。

四. 格式稳定性

通过误差估计方程

(1)可知对任意的r ,Richardson 格式都不稳定,所以Richardson 格式绝对不稳定。

(2)当210≤

1>r 时,向前差分格式的误差无限增长。因此向前差分格式是条件稳定。

(3)向后差分格式和六点对称格式都绝对稳定,且各自的截断误差阶分别为)(2h O +τ和)(22h O +τ。

五. 数值例子

例1令f(x)=0和a=1,可求得u (x,t )一个解析解为u(x,t)=exp(x+t)。

1. 用向前差分格式验证得数值结果如下:

请输入n 的值(输入0结束程序):

2

请输入m 的值(输入0结束程序):

17

xjtk 真实值x[i][k]近似值u[i][k]误差err[i][k]

0.3333330.0555561.4753411.4738670.001474

0.6666670.0555562.0590042.0569470.002057

0.3333330.1111111.5596231.5570370.002586

0.6666670.1111112.1766302.1737190.002911

0.3333330.1666671.6487211.6456190.003102

0.6666670.1666672.3009762.2973850.003591

0.3333330.2222221.7429091.7393730.003536

0.6666670.2222222.4324252.4284450.003981

0.3333330.2777781.8424771.8386470.003831

0.6666670.2777782.5713842.5670480.004337

0.3333330.3333331.9477341.9436200.004114

0.6666670.3333332.7182822.7136510.004630

0.3333330.3888892.0590042.0546320.004372

0.6666670.3888892.8735712.8686440.004927

0.3333330.4444442.1766302.1719920.004638

0.6666670.4444443.0377323.0325120.005220

0.3333330.5000002.3009762.2960680.004908

0.6666670.5000003.2112713.2057440.005526

0.3333330.5555562.4324252.4272330.005193

0.6666670.5555563.3947233.3888780.005845

0.3333330.6111112.5713842.5658940.005491

0.6666670.6111113.5886563.5824750.006181

0.3333330.6666672.7182822.7124760.005805

0.6666670.6666673.7936683.7871330.006535

0.3333330.7222222.8735712.8674340.006137

0.6666670.7222224.0103924.0034830.006908

0.3333330.7777783.0377323.0312430.006488

0.6666670.7777784.2394964.2321930.007303

0.3333330.8333333.2112713.2044110.006859

0.6666670.8333334.4816894.4739690.007721

0.3333330.8888893.3947233.3874720.007251

0.6666670.8888894.7377184.7295560.008162

相关文档
最新文档