内容发布更新时间 : 2024/12/24 0:19:04星期一 下面是文章的全部内容请认真阅读。
G(?,k)?1??(eikj?2?e?ikj)?(1?2?)??(eikj?e?ikj)
?(1?2?)?2?coskh?1?2?(1?coskh)kh|?12
hkkh??1?1?4?sin2?1?0?4?sin2?222G(?,k)|?|1?2?(1?coskh)|?|1?4?sin2因为k>0,h>0且??0,所以必然左边成立,则右边为
2?sin2khkh?1且sin2?122?2??1???1 2显然这个格式是相容的。它在??它是条件收敛的(收敛条件??1)。
21时稳定的,因为按照Lax定理可知;21.2 隐式差分格式
?2u?u我们可以对用向后差分,2用二阶差商,得到差分格式为:
?t?xn?1un?ujj???nnun?2*u?uj?1jj?1h2?0 (1.2.1)
1.2.1 隐式差分格式的截断误差
证:(用taylor展开)
?un?2?2un??1?u(x,t??t)?u(xj,tn)??[]j?[2]j,(0??1?1)
?t2!?tu?u(xj,tn) unjn?1junj?1unj?1?unh2?2unh3?3unh4?4un?u(x??x,t)?u(xj,tn)?h[]j?[]j?[]j?[]j??2?x2!?x23!?x34!?x4(0??2?1)?unh2?2unh3?3unh4?4un?u(x??x,t)?u(xj,tn)?h[]j?[]j?[]j?[]j??3?x2!?x23!?x34!?x4(0??3?1)把上述代入差分格式中,得截断误差为:
?un??2un??1?2unh2?4unh2?4unk(x,t)?[]j?[2]j??{[2]j?[4]j??2?[4]j??3}?t2?t?x24?x24?xnj 5
?un?2un??2un??1h2?4un?4un?{[]j??[2]j}?{[2]j??{[4]j??2?[4]j??3}}?t?x2?t24?x?x?o(??h2).(0??1,?2,?3?1)
??h2),从上述可知,截断误差为kn它对时间方向为一阶截断误差, j(x,t)?o(而对空间为二阶截断误差。
1.2.2 隐式差分格式的稳定性
证:先用差分格式(1.2.1)为:
?1nnnnun?u??(u?2u?ujjj?1jj?1) 其中????h2
nikjh利用稳定性的Fourier方法令,un,并将它代入上式就得到 j?vevn?1eikjh?vneikjh??(eikj?2?e?ikj)vn
消去公因子有
vn?1?[1??(eikj?2?e?ikj)]vn?vn?由此得到增长因子
1??(eikj1n?1v ?ikj?2?e)G(?,k)?11?1??(eikj?2?e?ikj)(1?2?)??(eikj?e?ikj)
11??(1?2?)?2?coskh1?2?(1?coskh)11??1|1?2?(1?coskh)|1?4?sin2kh2kh??h?0,k?0,??0且0?sin2?12
2kh2kh?4?sin?0?1?4?sin?1221???1kh1?4?sin22显然这个格式是相容的。它是无条件稳定,因为按照Lax定理可知,该格式收敛的。 |G(?,k)|? 6
1.3 、 Crank-Nicolson格式
我们在在前面讨论的显格式和隐格式,即:
n?1unj?uj?1n?1?1un?unj?1?2ujj?1?n?1unj?uj??h2?0 (1.3.1)
???nnunj?1?2uj?uj?1h2?0 (1.3.2)
用?乘(1.3.2),用(1??)乘(1.3.1),把其结果相加就得到一个差分格式
nn?1n?1?1?un?un?unj?1?2uj?uj?1j?1?2ujj?1?????(1??)??0 (1.3.3) 22?hh????其中0???1,我们乘差分格式公式(1.3.3)为加权隐式格式。 n?1unj?uj从上述可以看到,当???1un?unjj1时的情况,此时我们把它单独写出 2???2hn?1n?1n?1nnn[(u?2u?u)?(u?2u?uj?1jj?1j?1jj?1)]?0 (1.3.4) 2此格式一般称作Crank-Nicolson格式。此外我们注意到,当??1时,公式
(1.3.3)为向后差分格式(隐式格式);当??0时,公式(1.3.3)为向前差分格式(显式格式)。谚辞調担鈧谄动禪泻類。 1.3.1 Crank-Nicolson差分格式的截断误差
证:(用taylor展开)
n?1un?u(xj,tn?1)j?u(xj,tn),ujuun?1j?un?2?2un?3?3un??1?u(x,t??t)?u(xj,tn)??[]j?[2]j?[3]j?t2!?t3!?t?unh2?2unh3?3unh4?4un?u(x??x,t)?u(xj,tn)?h[]j?[2]j?[3]j?[4]j??2?x2!?x3!?x4!?x?unh2?2unh3?3unh4?4un?u(x??x,t)?u(xj,tn)?h[]j?[2]j?[3]j?[4]j??3?x2!?x3!?x4!?x(0??1?1)(0??2?1)(0??3?1)nj?1unj?1
?把上述代入差分格式中,得截断误差为:
?un??2un?2?3un??1??2un?1h2?4un?1k(x,t)?[]j?[2]j?[3]j?{([2]j?[4]j??4?t2?t6?t2?x24?xh2?4un?1?2unh2?4unh2?4un?[4]j??5)?([2]j?[4]j??2?[4]j??3)}24?x?x24?x24?xnj 7
?un??2un?1?2un??2un?2?3un??1?{[]j?([2]j?[2]j)}?{{[2]j?[3]j}?t2?x?x2?t6?th2?4un?1?4un?1?4un?4un??{([4]j??4?[4]j??5)?([4]j??2?[4]j??3)}}
24?x?x?x?x?o(?2?h2).(0??1,?2,?3,?4,?5?1)
22从上述可知,截断误差为kn(x,t)?o(??h),它对空间方向为二阶截断误j差,而对时间方向为二阶截断误差,则此隐格式的精度为2。嘰觐詿缧铴嗫偽純铪锩。 1.3.2 Crank-Nicolson差分格式的稳定性
证:由差分格式公式(1.3.4)可以写成如下形式
?1111nnn?1n?1?1??un?(1???)u???u???u?(1???)u???unj?1jj?1j?1jj?12222其中???2h消去公因子有
11??eikj?(1???)???e?ikj2vn?2vn?1
11???eikj?(1???)???e?ikj22由此得到增长因子
111??eikj?(1???)???e?ikj(1???)???(eikj?e?ikj)22G(?,k)?2?111???eikj?(1???)???e?ikj(1???)???(eikj?e?ikj)222kh1?2??sin21???(1?coskh)2??1???(1?coskh)1?2??sin2kh2h?0,k?0,??0且1?2??sin2kh2?1?|G(?,k)|?kh1?2??sin221?2??sin2khkh?1?2??sin222
显然这个格式是相容的。它是无条件稳定,因为按照Lax定理可知,
Crank-Nicolson差分格式收敛的。熒绐譏钲鏌觶鷹緇機库。 8
2. 高精度格式的构造
本文热传导方程对空间变量应用四阶紧致格式离散,对时间变量应用梯形方
24法,构造扩散方程的精度为O??h的绝对稳定的隐式差分格式鶼渍螻偉阅劍鲰腎邏??蘞。 2.1梯形方法[4]
求解常微分方程初值问题
?dy??f(x,y)?dx?y(x0)?y0
?
对方程
dy?f(x,y)两边从xn到xn?1积分,得 dxxn?1xny(xn?1)?y?xn???f(x,y(x))dx (2.1)
用左矩形公式计算上式右侧积分,即
?xn?1xnf(x,y(x))dx?hf(xn,y(xn))
并用yn作为的近似值y(xn),得
yn?1?yn?hf?xn,yn? (2.2) 故欧拉法也称为矩形法。
欧拉法形式简单,但精度低,为了达到较高精度的计算公式,对欧拉法进行改进,用梯形公式计算(2.1)式右侧积分,即
纣忧蔣氳頑莶驅藥悯骛。 ?xn?1xnf(x,y(x))dx?h?f?xn,y?xn???f?xn?1,y?xn?1???2
并用yn作为y(xn)的近似值,得到梯形公式:
9