本發(fā)明涉及一種電磁場數(shù)值計(jì)算技術(shù),特別是一種基于iccg的高階時(shí)域有限差分電磁場仿真方法。
背景技術(shù):
傳統(tǒng)的fdtd算法有兩個(gè)缺點(diǎn):首先,它不能準(zhǔn)確地模擬復(fù)雜曲面,在模擬不連續(xù)的材料方面有困難。第二,隨著長時(shí)間的仿真,它在數(shù)值穩(wěn)定性,色散性和各向異性方面具有顯著的累積誤差。因?yàn)檫@些缺點(diǎn)會導(dǎo)致電磁仿真計(jì)算的精度大大降低,影響最終的計(jì)算結(jié)果,所以需要一種改進(jìn)的fdtd算法來解決上述問題。
所以,從90年代初期開始,針對計(jì)算電大尺寸目標(biāo)所采用的傳統(tǒng)fdtd算法計(jì)算內(nèi)存大,數(shù)值色散性差等缺點(diǎn),高階fdtd算法被提出來,可以有效減少數(shù)值色散誤差,在滿足同樣精度的情況下可以使用比傳統(tǒng)fdtd算法更粗的網(wǎng)格單元。從事算法本身的差分格式來看,在傳統(tǒng)fdtd算法中,yee格式的場分量采用的是非共點(diǎn)交錯(cuò)網(wǎng)格分布,然后通過taylor級數(shù)展開,得到二階中心差分格式作為空間近似;
而在高階fdtd算法中,有各種各樣的高階差分格式,以求電磁場仿真計(jì)算的高精度和低數(shù)值色散誤差。有些采用的是四階隱性差分格式,在交錯(cuò)網(wǎng)格上基于taylor級數(shù)展開,利用四階的中心差分格式來近似空間導(dǎo)數(shù);有些采用非標(biāo)準(zhǔn)差分來構(gòu)造差分格式;有些將yee交錯(cuò)網(wǎng)格和bi共點(diǎn)網(wǎng)格相結(jié)合,推導(dǎo)出一種比前兩者的色散特性更好的格式;有些在空間維中將電磁場各個(gè)分量用battle-lemarie緊尺度函數(shù)和小波函數(shù)展開,而在時(shí)間維中用harr小波脈沖函數(shù)展開,即基于多尺度分辨率的時(shí)域多分辨分析算法;有些推導(dǎo)出了基于離散卷積(dsc-discretesingularconvolution)法的可變差分格式,通過dsc的delta核,如shannon核、poisson核以及l(fā)agrange核等等,對空間的場量進(jìn)行采樣,然后再構(gòu)造高階差分格式,這樣就可以達(dá)到很高的精度。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于iccg的高階時(shí)域有限差分電磁場仿真方法,包括:
在空間方向上,基于fang格式和taylor基數(shù)展開且利用四階或更高階的中心差分格式來近似空間導(dǎo)數(shù)對麥克斯韋方程進(jìn)行離散;
在時(shí)間方向上,基于辛算子格式對麥克斯韋方程進(jìn)行離散;
采用iccg方法求解電磁仿真中的稀疏矩陣時(shí);
對于稀疏矩陣a,剔除矩陣a中存在的一切零元素,并修改為檢索按一維緊縮形式存儲a中各元素所設(shè)置建立的3個(gè)一維數(shù)組aaa、nd1和nc1,然后進(jìn)行不完全三角分解,以構(gòu)成預(yù)處理矩陣,其中
(1)aaa用來存放壓縮形式系數(shù)矩陣的非零元素;
(2)nd1用來存放原系數(shù)矩陣a中的對角線元素序號。
(3)nc1用來存放壓縮形式系數(shù)矩陣aaa中各個(gè)元素在原系數(shù)矩陣a中的列號。
本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn):(1)高階時(shí)域有限差分格式在空間方向上通過高階差分,可以得到較低的數(shù)值色散誤差,獲得更好的計(jì)算精度;(2)在時(shí)間方向上通過引入辛算子,保證了整個(gè)麥克斯韋方程組的能量守恒性;(3)采用iccg可以解決因稀疏矩陣的條件數(shù)較大導(dǎo)致迭代收斂速度過慢使得運(yùn)算時(shí)間過長的缺陷;(4)計(jì)算機(jī)所需的內(nèi)存空間大大降低,可以達(dá)到節(jié)約計(jì)算機(jī)內(nèi)存的目的,并提高計(jì)算的速度。
下面結(jié)合說明書附圖對本發(fā)明作進(jìn)一步描述。
附圖說明
圖1是本發(fā)明的方法流程圖。
圖2是基于不完全喬列斯基共扼梯度法的高階時(shí)域有限差分算法的數(shù)值色散誤差隨空間網(wǎng)格分辨率的變化及與時(shí)域多分辨分析算法的比較示意圖。
具體實(shí)施方式
結(jié)合圖1,一種基于不完全喬列斯基共扼梯度法(iccg)的高階時(shí)域有限差分電磁場仿真方法,其特征在于,包括:
在空間方向上,基于fang格式和taylor基數(shù)展開且利用四階或更高階的中心差分格式來近似空間導(dǎo)數(shù)對麥克斯韋方程進(jìn)行離散;
在時(shí)間方向上,基于辛算子格式對麥克斯韋方程進(jìn)行離散;
采用iccg方法求解電磁仿真中的稀疏矩陣時(shí);
對于稀疏矩陣a,剔除矩陣a中存在的一切零元素,并修改為檢索按一維緊縮形式存儲a中各元素所設(shè)置建立的3個(gè)一維數(shù)組aaa、nd1和nc1,然后進(jìn)行不完全三角分解,以構(gòu)成預(yù)處理矩陣,其中
(1)aaa用來存放壓縮形式系數(shù)矩陣的非零元素;
(2)nd1用來存放原系數(shù)矩陣a中的對角線元素序號。
(3)nc1用來存放壓縮形式系數(shù)矩陣aaa中各個(gè)元素在原系數(shù)矩陣a中的列號。
在空間方向上對麥克斯韋方程進(jìn)行離散的方法為
其中δ=x,y,z,h=i,j,k,q為階數(shù),wr是空間差分的系數(shù)。
在空間方向上對麥克斯韋方程進(jìn)行離散的方法具體可以參見jiayuanfang,“alocallyconformedfinite-differencetime-domainalgorithmofmodelingarbitraryshapeplanarmetalstrips,”ieeetransactionsonmicrowavetheoryandtechniques,vol.41,no.5,pp:830-838,1989.
在時(shí)間方向上對麥克斯韋方程進(jìn)行離散的方法為
其中cl,dl為辛傳播子系數(shù),m、p分別為辛算法的級數(shù)與階數(shù),m≥p
在時(shí)間方向上對麥克斯韋方程進(jìn)行離散的方法具體可以參見hansvandevyver,“afourth-ordersymplecticexponentiallyfittedintegrator,”computerphysicscommunications,vol.74,no.4,pp.255-262,february2006.
這樣,該高階時(shí)域有限差分格式在空間方向上通過高階差分,可以得到較低的數(shù)值色散誤差,獲得更好的計(jì)算精度。而在時(shí)間方向上通過引入辛算子,保證了整個(gè)麥克斯韋方程組的能量守恒性。該方法在對電磁波的模擬仿真中,不論在計(jì)算前期還是后期,計(jì)算精度都很高。
但是由于是高階差分,雖然仿真結(jié)果的精度得到了提高,但是,在計(jì)算過程中,對計(jì)算機(jī)內(nèi)存的需求較大,并且會降低計(jì)算的速度。為了克服這些缺點(diǎn),引入不完全喬列斯基共扼梯度法到電磁場仿真中。
電磁仿真時(shí),由于仿真對象的不規(guī)則性,往往不是簡單的方形或者圓形,而是現(xiàn)實(shí)中存在的介質(zhì),比如飛機(jī),天線,光子晶體等等。所以,在計(jì)算的過程中,一般情況下無解析解,只能利用諸如高階時(shí)域有限差分法等電磁算法去求得數(shù)值解,但最后都是歸結(jié)為解大型稀疏線性方程組(稀疏矩陣)問題。
在工程應(yīng)用中,常用經(jīng)典的迭代法來求解稀疏矩陣,常出現(xiàn)收斂速度慢,甚至振蕩、不收斂的情況。相應(yīng)的,共扼梯度法(cg-conjugategradientmethod)存儲量小,程序復(fù)雜度低,非常合適來求解稀疏矩陣。但是在實(shí)際應(yīng)用中,當(dāng)矩陣的條件數(shù)較大時(shí),共扼梯度法往往因迭代收斂速度過慢使得運(yùn)算時(shí)間過長,從而限制了它的使用。因此如何改善系數(shù)陣的性態(tài)成了解決此問題的關(guān)鍵。改進(jìn)的不完全喬列斯基共扼梯度法(iccg-incompletecholeskyconjugategradientmethod)很好地彌補(bǔ)了單純cg法的缺陷,在求解大型稀疏矩陣的數(shù)值問題方面有很大的優(yōu)勢,無論在內(nèi)存需求和計(jì)算速度上均獲得很大成功。
不完全喬列斯基共扼梯度法的收斂速度較高斯消去法要快,并且存儲量可大大減少,尤其對高階差分過程中產(chǎn)生的稀疏矩陣,該方法更能體現(xiàn)其優(yōu)越性。具體方法可以參見michelebenzi,“preconditioningtechniquesforlargelinearsystems:asurvey,”journalofcomputationalphysics,vol.182,no.2,pp.418-477,november2002.
在應(yīng)用不完全喬列斯基共扼梯度法求解高階差分過程中產(chǎn)生的大型稀疏矩陣時(shí),需要對矩陣按行順序進(jìn)行壓縮存儲。由于稀疏存儲模式的引入,使得編程頗為復(fù)雜,所以在實(shí)際情況下,用計(jì)算機(jī)實(shí)現(xiàn)還是具有相當(dāng)?shù)碾y度。因?yàn)閍是稀疏的,所以只存儲a的非零元素,這樣可大大節(jié)省計(jì)算機(jī)的存儲空間。為了描述矩陣an×n,剔除矩陣a中現(xiàn)存的一切零元素,并修改為檢索按一維緊縮形式存儲的a中各元素所設(shè)置建立的3個(gè)一維數(shù)組,aaa、nd1和nc1,然后進(jìn)行不完全三角分解,以構(gòu)成預(yù)處理矩陣。因?yàn)閍是對稱的,所以本方法只對a的對角線元素及下三角元素進(jìn)行按行順序存儲。
(1)aaa(nnc1),用來存放壓縮形式系數(shù)矩陣的非零元素,nnc1為經(jīng)修改后的矩陣a緊縮存儲元素的總數(shù)。
(2)nd1(nnd1),用來存放原系數(shù)矩陣a中的對角線元素序號,nnd1為未知數(shù)總數(shù),也即對角線元素的個(gè)數(shù),包括非零元素。
(3)nc1(nnc1),用來存放壓縮形式系數(shù)矩陣aaa中各個(gè)元素在原系數(shù)矩陣a中的列號。
這是一個(gè)很巧妙的存儲方法,只要求兩倍于非零元素個(gè)數(shù)的存儲量。
假設(shè)矩陣a為:
按照以上的存儲規(guī)則,上述某矩陣a可由3個(gè)一維數(shù)組aaa、and和anc進(jìn)行描述,見表1:
表1針對某矩陣a的壓縮存儲形式
這樣一來,計(jì)算機(jī)所需的內(nèi)存空間大大降低,可以達(dá)到節(jié)約計(jì)算機(jī)內(nèi)存的目的,并提高計(jì)算的速度。
針對本發(fā)明,首先分析數(shù)值色散隨傳播角度變化的情況:10階基于不完全喬列斯基cg法的高階時(shí)域有限差分算法和對應(yīng)的3階時(shí)域多分辨分析算法的數(shù)值色散誤差值與波傳播角度φ的變化關(guān)系圖如圖所示。從圖2可看出基于不完全喬列斯基cg法的高階時(shí)域有限差分算法相對于時(shí)域多分辨分析算法在不同的傳播角度下,數(shù)值色散誤差值更小,在數(shù)值穩(wěn)定性和數(shù)值色散性方面都有非常大的優(yōu)勢。