張慧慧
摘要:本文采用CGS算法來(lái)求解二維粒子輸運(yùn)方程。首先通過(guò)離散縱標(biāo)法將輸運(yùn)方程離散為線性方程組的形式,同時(shí)引進(jìn)預(yù)條件矩陣來(lái)改善系數(shù)矩陣的譜性質(zhì)。通過(guò)數(shù)值試驗(yàn),將預(yù)處理后的CGS算法與傳統(tǒng)的源迭代方法進(jìn)行對(duì)比,并對(duì)預(yù)處理前后特征值的分布做了比較。結(jié)果表明預(yù)處理后的矩陣特征值分布較為集中,且CGS算法收斂速度較快。
Abstract: In this paper, CGS algorithm is used to solve two-dimensional particle transport equation. First, the dispersion equation is used to discretize the transport equation in the form of a linear system of equations. At the same time, the preconditioned matrix is introduced to improve the spectral properties of the coefficient matrix. Through numerical experiments, the preprocessed CGS algorithm is compared with the traditional source iterative method, and the distribution of eigenvalues before and after pretreatment is compared. The results show that the distribution of matrix eigenvalues after preprocessing is more concentrated and the CGS algorithm converges faster.
關(guān)鍵詞:輸運(yùn)方程;GGS算法;預(yù)條件子;源迭代
Key words: transport equation;CGS algorithm;preconditioner;source iteration
中圖分類號(hào):TP301.6 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-4311(2018)03-0169-03
0 引言
粒子輸運(yùn)方程是一類重要的偏微分方程,它所描述的是微觀粒子輸運(yùn)過(guò)程。由于微觀帶電粒子在輸運(yùn)過(guò)程中與物質(zhì)發(fā)生的各種復(fù)雜的相互作用,所涉及的是多尺度強(qiáng)非線性復(fù)雜系統(tǒng),導(dǎo)致強(qiáng)耦合的高度非線性問(wèn)題,所以對(duì)粒子輸運(yùn)方程我們采用數(shù)值方法求解。
求解輸運(yùn)方程源迭代方法是最常用的一種方法,但此方法只適用于那些系統(tǒng)相對(duì)簡(jiǎn)單的輸運(yùn)方程,對(duì)于系統(tǒng)相對(duì)復(fù)雜的方程,該方法便不適用。因此本文采用CGS算法來(lái)求解粒子輸運(yùn)方程。通常用CGS算法來(lái)求解方程時(shí),其迭代收斂的速度都與系數(shù)矩陣的譜性質(zhì)有密切聯(lián)系,因此改善系數(shù)矩陣的譜性質(zhì)變得十分重要。預(yù)條件算子就是一個(gè)可以很好的實(shí)現(xiàn)這一轉(zhuǎn)換的矩陣。目前構(gòu)造預(yù)條件的方法有很多,在本文中構(gòu)造了矩陣近似逆預(yù)條件矩陣和基于高斯分裂的預(yù)條件矩陣。最后通過(guò)數(shù)值試驗(yàn)對(duì)預(yù)處理前后的系數(shù)矩陣的特征值分布進(jìn)行分析,并且對(duì)預(yù)條件的CGS算法和源迭代方法求解輸運(yùn)方程的收斂快慢進(jìn)行了比較。
1 粒子輸運(yùn)方程及其離散方法
1.1 二維粒子輸運(yùn)方程基本理論[1-2]
3.2 預(yù)條件矩陣的構(gòu)造
所謂預(yù)條件技術(shù)就是將線性方程組Ax=b變成與之同解的線性方程組M-1Ax=M-1b,這里為預(yù)條件矩陣。構(gòu)造一個(gè)好的預(yù)條件矩陣是非常重要的,既不能增加計(jì)算量,又需要盡可能使預(yù)處理后的矩陣M-1A的特征值分布在某一點(diǎn)的附近。目前,預(yù)條件矩陣的構(gòu)造方法有很多,本文將構(gòu)造兩種預(yù)條件矩陣。
第一種是近似逆預(yù)條件矩陣,其思想是構(gòu)造與系數(shù)矩陣的逆矩陣近似的矩陣M。這里,將系數(shù)矩陣A的逆展開,即:
第二種預(yù)條件矩陣的構(gòu)造是取線性穩(wěn)定迭代法中相應(yīng)的A的分裂。本文中通過(guò)高斯分裂得到預(yù)條件矩陣,首先將系數(shù)矩陣分裂為A=D-L-U,其中D是對(duì)角矩陣,L和U分別為A的嚴(yán)格下三角和嚴(yán)格上三角矩陣,于是得到第二種預(yù)條件矩陣基于高斯分裂的預(yù)條件矩陣[5]:M2=(D-L)-1。
4 數(shù)值實(shí)驗(yàn)
在本文的數(shù)值實(shí)驗(yàn)中給出的停機(jī)標(biāo)準(zhǔn)是相對(duì)殘差范數(shù)之比滿足:
首先通過(guò)圖1、圖2、圖3對(duì)系數(shù)矩陣預(yù)處理前后的譜分布進(jìn)行分析,圖1是原系數(shù)矩陣的譜分布圖,圖2、圖3分別是由近似逆預(yù)條件矩陣、基于高斯分裂的預(yù)條件矩陣預(yù)處理后的譜分布圖。從三個(gè)圖中我們可以發(fā)現(xiàn)經(jīng)過(guò)預(yù)處理后的系數(shù)矩陣特征值集中分布在1附近。
下面給出的是數(shù)值實(shí)驗(yàn)結(jié)果。表1給出的是空間離散網(wǎng)格為I×J=200×200和方向離散為S2(即M=16)時(shí),源迭代與近似逆預(yù)條件的CGS方法的比較。表2將給出空間離散網(wǎng)格為I×J=200×200和方向離散為S2(即M=16)時(shí),源迭代與基于高斯分裂預(yù)條件的CGS方法的比較。
從以上兩個(gè)表格中我們可以得到,對(duì)于系統(tǒng)相對(duì)簡(jiǎn)單的輸運(yùn)方程,源迭代方法還是很實(shí)用的。但是對(duì)于相對(duì)復(fù)雜的系統(tǒng),預(yù)條件的CGS算法收斂所需的迭代次數(shù)和CPU時(shí)間都比源迭代要少很多,同時(shí)還可以發(fā)現(xiàn)隨著∑和σs的同步增大,每種迭代方法各自收斂所需的迭代次數(shù)和CPU時(shí)間都隨之增大。對(duì)比兩種預(yù)條件矩陣對(duì)加速CGS算法收斂效果,可以得出近似逆預(yù)條件的CGS方法收斂所需的迭代次數(shù)略少一些,基于高斯分裂預(yù)條件的CGS方法收斂所需的CPU時(shí)間要快一些。
5 結(jié)論
CGS算法是求解大型非對(duì)稱線性方程組的一種常見方法,本文將該算法與預(yù)條件技術(shù)相結(jié)合來(lái)求解二維粒子輸運(yùn)方程,并且與源迭代方法進(jìn)行比較。數(shù)值試驗(yàn)表明預(yù)條件技術(shù)有效的改善了系數(shù)矩陣的譜性質(zhì),從而加快了CGS算法的迭代收斂速度。endprint
參考文獻(xiàn):
[1]Mazumdar T, Degweker S B. Solution of neutron transport equation by Method of Characteristics [J]. Annals of Nuclear Energy, 2015, 77(5):522-535.
[2]Barichello L B, Cabrera L C. An analytical approach for a nodal scheme of two-dimensional neutron transport problems [J]. Annals of Nuclear Energy, 2011, 38(6):1310-1317.
[3]楊波.離散縱標(biāo)法求解含有各向異性散射的輸運(yùn)方程[D]. 中國(guó)工程物理研究院,2005.
[4]Kashi S, Minuchehr A, Zolfaghari A, et al. Mesh-free method for numerical solution of the multi-group discrete ordinate neutron transport equation [J]. Annals of Nuclear Energy, 2017, 106:51-63.
[5]張?zhí)m.稀疏矩陣方程組預(yù)處理迭代技術(shù)研究[D].華南理工大學(xué),2010.
[6]Gene H.Golub. 矩陣計(jì)算(英文版)[M].人民郵電出版社,2009.
[7]張建華,戴華.求解具有多個(gè)右端項(xiàng)線性方程組的總體CGS算法[J].高等學(xué)校計(jì)算數(shù)學(xué)學(xué)報(bào),2008,30(4):390-399.
[8]Zhao Z Y, Zhang Q M, Tan G L, et al. A new preconditioner for CGS iteration in solving large sparse nonsymmetric linear equations in semiconductor device simulation[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2006, 10(11):1432-1440.endprint