楚智媛


摘? 要:熱傳導問題是數學物理方向非常常見的問題。實際生活中的熱傳導問題通過數學建模都可以轉化為偏微分方程(組)問題。由于偏微分方程中含有多元函數的偏導數以及復雜的邊界條件,所以求解起來非常困難。該文將詳細介紹MATLAB中pdepe函數的用法以及pdetool工具箱的GUI操作界面的使用,并用其求解一維和二維熱傳導問題。
關鍵詞:熱傳導;MATLAB;pdepe函數;pdetool工具箱
中圖分類號:TK124? ? ? ? ? ? 文獻標志碼:A
1 熱傳導問題
熱傳導問題簡單來說就是物體之間或者是系統內存在著溫度差,這其中存在著熱量的傳遞。我們在建立熱傳導方程時,一般使用傅里葉定律和能量守恒定律這2個定律。通過這2個定律我們可以推導出熱傳導方程(Heat Equation)。我們可以推導出3種維數中的熱傳導方程(u表示所求函數,t表示時間)。
一維熱傳導模型公式為:
二維熱傳導模型公式為:
三維熱傳導模型公式為:
式中:x,y,z 表示空間直角坐標系下3個方向上的坐標。
偏微分方程學科和廣義函數論發展至今,仍有很多偏微分方程(組)無法求解,雖然有些偏微分方程求解起來比較困難,但是該文提到的熱傳導問題,我們可以使用MATLAB中的內部函數和現成的工具箱來求解。
2 MATLAB中的pdepe函數
MATLAB是由美國MathWorks提出的一種高性能的數學軟件,MATLAB中有很多內部函數,都是已經編輯好的程序,我們可以直接拿來使用,而且我們還可以根據自己的需要編寫一些我們自己的函數,以便化簡編程。pdepe函數就是其中一個非常好用的內部函數,使用它我們可以求解一維偏微分方程(組)問題[1]。
MATLAB中的pdepe函數很好理解,使用起來也很方便,但是在使用它的時候要注意要把微分方程(組)、初始條件、邊界條件轉化為pdepe函數所規定的一般格式。它的一般格式如公式(1)所示。
式中:m代表參數,這個參數的取值只能是0,1,2。pdex表示問題描述函數即偏微分方程,只是這個函數要寫成MATLAB中規定的格式。我們通過改寫偏微分方程,將其改為公式(2)的形式。
式中:u表示所求函數,x表示自變量,t表示時間,我們需要求出4個待定系數m,c,f,s。
pdeic表示偏微分方程的初始條件,pdebc表示偏微分方程的邊界條件,但是在MATLAB中我們也要按照要求,把邊界函數寫成pdepe函數要求的形式,如公式(3)所示。
式中: 和表示pdepe函數邊界條件規定形式下的待定系數函數。在邊界條件中我們需要找到pl,pr,ql,qr這4個函數,其中pl和ql為pdepe函數中要求形式下的左邊界的函數,pr和qr為pdepe函數中要求形式下的右邊界的函數,這里面4個函數的確定是比較難理解的,我們需要弄清這些函數都與那些變量有關系,然后根據題目中給定的邊界條件套入公式,從而確定pl,pr,ql,qr。公式(3)中x和t代表函數變量。
我們在利用pdepe函數求解時要注意,pdex,pdeic,pdebc要分別寫在3個函數式文件當中,在分別構建好這3個函數式文件之后,我們在回到M文件窗口編寫主程序,在主程序中我們可以調用我們之前寫好的這3個pdex,pdeic,pdebc函數[2]。
3 利用pdepe函數求解一維熱傳導問題
要想讓熱傳導方程存在一個確定的解,我們就要給這個方程配上相應的初值條件和邊界條件。該文以一維非齊次線性邊界條件的熱傳導方程為例,給出如下問題:有一根細桿,在這個桿上存在著熱傳導問題,桿的長度為1 m,導熱系數為k=0.85 W/(m·k),它的初始分布為u(x,0)=sin(πx),細桿的兩端是絕熱的,于是它的邊界條件為Neumann邊界條件,綜上所述,該熱傳導問題可以通過公式(4)求解。
式中: 為未知函數關于x方向上的偏導數。
根據列出的方程,我們在MATLAB中要先建立3個函數式文件,分別把方程、初始條件、邊界條件按照pdepe函數所規定的樣子進行改寫,然后寫出pdex,pdeic,pdebc函數,然后我們再建立一個命令式文件進行總體編程,然后畫出兩幅圖像。根據MATLAB程序,我們可以得到解的平面圖,如圖1所示。
由圖1我們可以看出,在這根細桿的兩端沒有熱交換,它是絕熱的,這個解最后慢慢趨于穩定,最后桿的溫度在0.65 ℃左右。
4 MATLAB中pdetool工具箱的使用方法及局限性
MATLAB中的pdetool工具箱能夠為偏微分的求解提供很多方便,它通過GUI界面直接選擇偏微分方程的條件,然后直接可作出相應解的圖像,下面我們詳細介紹一下pdetool工具箱的使用方法[3],其總共分為6步。1)在命令窗口中輸入pdetool,進入到GUI界面。2)在pdetool工具箱的工具欄中,有橢圓、矩形等一些圖形,可以點擊圖形進行區域的繪制。所畫的區域還可以選擇加密,使最后得到的結果更細化一些。3)在菜單欄中有boundary菜單,選擇specify boundary conditions,就會出現一個設置邊界條件的對話框,這個里面有2種條件,一個是狄利克雷條件,一個是Neumann條件,選擇相應的條件,將已知的邊界條件代入方程,求出h和r(其中h和r 表示邊界條件上的參數)。4)接著點擊PDE菜單,選擇PDE Specification,就會出現一個設置偏微分方程類型的對話框,里面可供選擇的類型有4種,分別是拋物型、橢圓型、雙曲型和本征型,根據已知問題的類型,按照給出的規定的方程格式計算出參數c,a,f,d。5)選擇Solve菜單,然后選擇Solve PDE,我們就可以在GUI界面上看到該偏微分方程的解的圖形。6)選擇plot菜單,選擇parameters,然后會彈出來一個對話框,然后選擇我們想要的圖形,然后按plot就完成了全部的操作過程。
pdetool雖然可以幫我們求解偏微分方程,但是它也有一定的局限性,比如:它只能求解二維的熱傳導問題,如果我們想求一維的熱傳導問題,有限差分法和pdepe函數可能會是首選,如果是三維的,有限差分法可能更好理解一些。所以pdetool工具箱雖然操作簡單、好上手,但是還是存在很明顯的局限性。
5 結語
熱傳導問題分為一維、二維和三維。一維的熱傳導問題我們可以使用的方法比較多,其中pdepe函數是計算比較快而且程序相對比較容易上手的一種方法,針對pdepe函數我們需要做的就是根據要求寫出方程、初始條件和邊界條件的格式。針對二維的熱傳導問題,我們也可以使用有線差分法來求解,但是要復雜的多,使用pdetool工具箱,一方面是比較簡單、好操作,另一方面也可以直接進行解的可視化。
參考文獻
[1]王志強,朱家明.基于Pdepe算法的高溫作業防護服裝厚度設計[J].淮陰師范學院學報(自然科學版),2019,18(3):200-205.
[2]賈海峰,劉蕤.線性邊界條件熱傳導方程求解[J].科教文匯(下旬刊),2014(3):47-50.
[3]李萍,張磊,王垚廷.基于Matlab的偏微分方程數值計算[J].齊魯工業大學學報(自然科學版),2017,31(4):39-43.