紧致差分的matlab程序,对流占优扩散方程的一种新C—N 紧致差分格式
馮立偉+席偉
摘要:給出了對流擴散方程一種新的C-N緊致差分格式,其截斷誤差為時間二階空間四階,且為無條件穩定的。編制了MATLAB程序,數值試驗表明了格式的有效性。
關鍵詞:對流擴散方程;緊致格式;C-N格式
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2015)30-0173-04
A New C-N Compact Difference Scheme for Solving Convection-Diffusion Equation
FENG Li-wei1,XI Wei2
(1. ShenYang University of Chemical Technology , Shenyang 110142, China; 2. ShenYang University of Chemical Technology , Shenyang 110142, China)
Abstract: It gives a new C-N compact finite difference scheme for solving Convection-diffusion equation. Its error is two order in time and four order in space, and is unconditionally stable, and writes MATLAB programs. Finally, a numerical experiment shows the effectiveness of the scheme.
Key words:convection-diffusion equation; compact scheme;C-N scheme;
對流擴散方程描述了在自然界中大量出現的對流和擴散現象,在流體力學、環境科學以及能源開發等諸多領域有著廣泛的應用。因此研究對流擴散問題的數值計算方法就尤為重要[1-3]。田振夫、葛永斌等[4-6]使用Hennite 插值思路給出了求解對流擴散方程的空間四階差分格式。楊志峰和陳國謙等[7-9]使用綜合變換建立了求解對流擴散方程的一種兩層隱式四階緊致差分格式。肖建英等[10]通過引入指數變換造了一種高精度的緊致隱式差分格式,本文采用指數變換將含源項的對流擴散方程變為純擴散方程,擴散項使用pade逼近的緊致差分離散,時間層上采用C-N格式,得到了一種不同于[10]文的新緊致差分格式。
1 差分格式的建立
一維對流占優擴散方程
[?u?t+a?u?x=ε?2u?x2+fx,t] ( 1 )
對[x-t]平面進行矩形網格剖分,分別取[h,τ]為空間步長與時間步長, [xj=jh ],[tk=kτ ]
作指數變換[u=vea2εx-a24εt],對流擴散方程變為擴散方程
[?v?t=ε?2v?x2+F] ( 2 )
其中[F=ea24εt-a2εxf]
下面對( 2 )式推導差分格式
把[δ2x1+h212δ2xvn+1/2j=?2v?x2n+1/2j+Oh4]代入式(2)得到
[δ2x1+h212δ2xvn+1/2j=1ε?v?t-Fn+1/2j+Oh4]
即
[δ2xvn+1/2j=1ε?v?t-Fn+1/2j+h212εδ2x?v?t-Fn+1/2j+Oh4] ( 3 )
將右端偏導項離散
[?v?tn+1/2j=δtvn+1/2j+Oτ2],
[δ2x?v?tn+1/2j=?3v?t?x2n+1/2j+Oh2=?3v?x2?tn+1/2j+Oh2 =δt?2v?x2n+1/2j+Oτ2+h2=δtδ2xvn+1/2j+Oτ2+h2]
將上兩式代入( 3 )式得
[δ2xvn+1/2j=1εδtvn+1/2j+h212εδtδ2xvn+1/2j-1εFn+1/2j-h212εδ2xFn+1/2j+Oτ2+h2]
即
[ε2δ2xvn+1j+δ2xvnj=δtvn+1/2j+h212δtδ2xvn+1/2j-12Fn+1j+Fnj-h224δ2xFn+1j+δ2xFnj+Oτ2+h2]令[ετh2=r],略去高階無窮小項后得差分格式
[Aj-1vn+1j-1+Ajvn+1j+Aj+1vn+1j+1=Bj-1vnj-1+Bjvnj+Bj+1vnj+1+Cj] (4)
其中
[Aj-1=1-6r,Aj=10+12r,Aj+1=1-6r]
[Bj-1=1+6r,Bj=10-12r,Bj+1=1+6r]
[Cj=τ2Fn+1j+1+10Fn+1j+Fn+1j-1+Fnj+1+10Fnj+Fnj-1]
利用反變換[v=uea24εt-a2εx]得到對流擴散方程的C-N緊致差分格式
[Aj-1Un+1j-1+AjUn+1j+Aj+1Un+1j+1=Bj-1Unj-1+BjUnj+Bj+1Unj+1+Cj] (5)
其中
[Aj-1=1-6rea2τ4ε+ah2ε,Aj=10+12rea2τ4ε,Aj+1=1-6rea2τ4ε-ah2ε]
[Bj-1=1+6reah2ε,Bj=10-12r,Bj+1=1+6re-ah2ε]
[Cj=τ2ea2τ4ε-ah2εfn+1j+1+10ea2τ4εfn+1j+ea2τ4ε+ah2εfn+1j-1+e-ah2εfnj+1+10fnj+eah2εfnj-1]
其中[k=1,2,…,N-1, j=1,2,…,M-1]。
由上面的推導得到
定理1 對流擴散方程(1)的C-N緊致差分格式(5)的截斷誤差為[O(τ2+h4)]
2 數值特性
定理2 對流擴散方程(1)的C-N緊致差分格式(5)是無條件穩定的
證明:差分格式(4)對應的齊次差分格式為
[Aj-1vn+1j-1+Ajvn+1j+Aj+1vn+1j+1=Bj-1vnj-1+Bjvnj+Bj+1vnj+1]
以[vnj=Vnexpikxj]代入上式消去公因子[expikxj]得
[Vn+11-6reikh+e-ikh+10+12r=1+6reikh+e-ikh+10-12rVn]
得到增長因子為
[G=10-12r+1+6r2coskh10+12r+1-6r2coskh=10+2coskh-12r1-coskh10+2coskh+12r1-coskh]
[G≤1],差分格式(4)是無條件穩定的,所以差分格式(5)也是無條件穩定的
3 差分格式的計算
將差分格式(5)改寫成便于計算的形式,并代入邊界條件后,得到
[A0A1A-1A0A1???A-1A0A1A-1A0 Un+11Un+12?Un+1M-2Un+1M-1=B0B1B-1B0B1???B-1B0B1B-1B0 Un1Un2?UnM-2UnM-1+Cn1+B-1Un0-A-1Un+10Cn2?CnM-2CnM-1+B1UnM-A1Un+1M][Cn1Cn2?CnM-2CnM-1=τ2C0C1C-1C0C1???C-1C0C1C-1C0 fn+11fn+12?fn+1M-2fn+1M-1+D0D1D-1D0D1???D-1D0D1D-1D0 fn1fn2?fnM-2fnM-1+D-1fn0+C-1fn+100?0D1fnM+C1fn+1M]因為差分格式系數矩陣為對角占優陣,所以差分方程的解存在且唯一。
4 數值實驗
使用前面的差分格式(5)求解下面的對流擴散方程的初邊值問題。定義網格點[xj,tn]上的誤差[enj=u(xj,tn)-Unj],使用指標 [en2=1Mj=1Menj2]來度量第[n]個時間層上的總體誤差。
算例1:
[?u?t+?u?x=ε?2u?x2,x,t∈-1,1×0,1],
該問題的準確解為[u(x,t)=exp1εx+1-1εt]
相應的初邊值條件為
[u(x,0)=expxε],[u(0,t)=exp1-1εx,u(1,t)=exp1ε+1-1εt]
取[ε=0.1],空間網格步長為[h=0.1],時間網格步長為[τ=0.01],計算結果繪制成圖像如下:
例2,考慮以下一維常系數模型問題
[?u?t+a?u?x=ε?2u?x2+fx,t∈0,1×0,Tu(x,0)=sinπx 0≤x≤1u(0,t)=0,u(1,t)=0 0≤t≤1]
解析解設為[u(x,t)=e-tsinπx],右端函數由解析解確定
取[a=1,ε=0.1],空間和時間網格步長[h =0.1,τ=0.01],計算到[t=2]。
5 結論
通過上述兩個數值實驗,可看出本格式可實現對流擴散方程的求解。
參考文獻:
[1] 王同科.一維對流擴散方程C-N特征差分格式[J].應用數學,2001,14(4):55-60.
[2] 王文洽. 變系數對流擴散方程的交替分段Crank-Nicolson方法[J]. 應用數學和力學,2004,24(1):29-36.
[3] 由同順. 對流擴散方程的本質非振蕩特征差分方法[J]. 應用數學, 2000,13(4):89-94.
[4] 田振夫.一維對流擴散方程的四階精度有限差分法[J].寧夏大學學報:自然科學版,1995,16 (1): 30-35.
[5] 葛永斌,田振夫,詹詠,等.求解擴散方程的一種高精度緊致隱式差分方法[J].上海理工大學學報,2005, 27(2):107-110.
[6] 葛永斌,田振夫,吳文權.含源項非定常對流擴散方程的高精度緊致隱式差分方法[J].水動力學研究與進展(輯),2006, 121(5):619-625.
[7] 楊志峰,陳國謙.含源擴散方程的一種高精度差分方法[J].北京師范大學學報:自然科學版,1992,28(3): 315-316
[8] 楊志峰,陳國謙.含源匯非定常對流擴散問題緊致四階差分格式[J].科學通報,1993,38 (2):113-116.
[9] 王煊,楊志峰. 基于非均勻網格求解非線性對流擴散問題的一種高精度差分格式[J].北京師范大學學報,自然科學版,2003,39(1):131-137.
[10] 肖建英 劉小華 李永濤.非定常對流擴散方程得高階差分格式[J]. 西南石油大學:自然科學版,2012,34(3):145-149.
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的紧致差分的matlab程序,对流占优扩散方程的一种新C—N 紧致差分格式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java动态规划凑硬币问题,详解动态规划
- 下一篇: php如何转换类型,PHP数据类型转换