【原創(chuàng)分享】我的FDTD學(xué)習(xí)之路(附150M資料收集)
2017-04-22 by:CAE仿真在線 來(lái)源:互聯(lián)網(wǎng)
前言:隨著數(shù)值計(jì)算和可視化技術(shù)的快速發(fā)展,電磁學(xué)理論不再枯燥無(wú)味、晦澀難懂,一批優(yōu)秀的商業(yè)軟件,如CST、HFSS、FEKO等,從數(shù)值仿真層角度將Maxwell方程學(xué)習(xí)變得生動(dòng)有趣,顯著降低了電磁學(xué)研究的難度。但令人擔(dān)憂的是,不少用戶缺乏電磁仿真基本理解,過(guò)度依賴(lài)軟件仿真,導(dǎo)致了大量時(shí)間和精力的浪費(fèi)。
個(gè)人認(rèn)為:電磁仿真軟件開(kāi)發(fā)初衷是輔助用戶理解、驗(yàn)證用戶預(yù)測(cè),而不是代替用戶從事科研!為此建議大家至少要從編程層面掌握一種電磁仿真算法的數(shù)值實(shí)現(xiàn),這樣使用相應(yīng)軟件時(shí)便會(huì)得心應(yīng)手、操作自如。下面跟大家分享一下本人學(xué)習(xí)時(shí)域有限差分(FDTD)算法的過(guò)程和心得。
(1)辛路歷程
-
2009年接觸電磁數(shù)值計(jì)算(CEM),學(xué)會(huì)用商業(yè)軟件CST仿真天線;
-
2010年3月初次學(xué)習(xí)FDTD,教材選用葛德彪老師的《電磁波時(shí)域有限差分方法》,照著書(shū)把公式抄了一通,沒(méi)整明白,暫時(shí)擱置;
-
2010年9月再次學(xué)習(xí)FDTD,教材選用Sullivan的《Electromagetic Simulation using the FDTD Method》,基本找到感覺(jué)。后來(lái)對(duì)照Taflove的《Computetional Electrodynamics the FDTD Method》加強(qiáng)學(xué)習(xí),并利用matlab初步實(shí)現(xiàn)了簡(jiǎn)單的FDTD仿真(一維、二維電磁波空間傳播),FDTD學(xué)習(xí)基本入門(mén);
-
2011年利用matlab編程實(shí)現(xiàn)了簡(jiǎn)單周期結(jié)構(gòu)的FDTD仿真(包含周期邊界和PML吸波邊界實(shí)現(xiàn))以及簡(jiǎn)單的場(chǎng)路聯(lián)合仿真(matlab調(diào)用pspice電路),FDTD學(xué)習(xí)邁出了堅(jiān)實(shí)的一步;
-
2012年以后,從算法層面加強(qiáng)了CST微波工作室各項(xiàng)參數(shù)設(shè)置的理解,從數(shù)值計(jì)算層面提高了對(duì)網(wǎng)格剖分、激勵(lì)設(shè)置、集總加載、場(chǎng)路聯(lián)合以及數(shù)據(jù)后處理實(shí)現(xiàn)的認(rèn)識(shí),仿真效率和精度顯著提高(雖然基于FIT技術(shù),但笛卡爾坐標(biāo)系下與FDTD完全等效)。
(2)心得體會(huì)
1. 選擇什么教材入門(mén)?
case1 如果你不習(xí)慣英文,那么選擇西安電子科技大學(xué)教材《電磁波時(shí)域有限差分方法》,第一遍學(xué)習(xí)時(shí)不求甚解,不怕麻煩。建議看完了合上書(shū),自己把三維FDTD差分離散過(guò)程一步一步推導(dǎo)出來(lái),保證你的理解比直看書(shū)強(qiáng)百倍。
case2 如果你有一定英語(yǔ)基礎(chǔ),強(qiáng)烈推薦Sullivan的《Electromagetic Simulation using the FDTD Method》,該書(shū)的優(yōu)點(diǎn)是簡(jiǎn)單直接,通過(guò)舉例的方式進(jìn)行介紹,每個(gè)例子都有C語(yǔ)言的程序代碼。
case3 如果你有一定的計(jì)算電磁學(xué)基礎(chǔ),那么建議選擇Taflove的《Computetional Electrodynamics the FDTD Method》,這本書(shū)很厚實(shí),專(zhuān)業(yè)性很強(qiáng),非常適合用于FDTD的進(jìn)階學(xué)習(xí)。
上述三本經(jīng)典教材都連續(xù)發(fā)行了多版,處于入門(mén)階段,大家可以不必糾結(jié)于選擇哪一版,都差不多:),這些教材的pdf版我已幫大家收集整理,見(jiàn)文章結(jié)尾資料收集部分。
2. 選擇何種語(yǔ)言編程?
總的來(lái)說(shuō),主要有四種語(yǔ)言可供大家選擇:Matlab,Fortran,C,Python。
case1 如果沒(méi)有任何編程基礎(chǔ),建議選擇Matlab,因?yàn)?span style="color:#407600;">一方面該語(yǔ)言入門(mén)門(mén)檻低,另一方面matlab繪圖很方便,會(huì)給編程調(diào)試帶來(lái)很大幫助。
case2 如果一味追求仿真精度,建議選擇Fortran(FormulaTranslation的縮寫(xiě)),該語(yǔ)言是數(shù)值計(jì)算的首選,執(zhí)行效率非常高,廣泛應(yīng)用于科學(xué)和工程計(jì)算領(lǐng)域。
case3 如果對(duì)代碼有移植的打算,建議選擇C語(yǔ)言,當(dāng)前國(guó)內(nèi)大多高校的計(jì)算機(jī)程序設(shè)計(jì)課程都是選擇C語(yǔ)言,編程靈活,可供參考的代碼較多。
上述三種語(yǔ)言對(duì)應(yīng)的FDTD編程代碼很多,這里為大家收集了部分放在資料共享部分,當(dāng)然也包括個(gè)人編寫(xiě)的簡(jiǎn)單周期結(jié)構(gòu)電磁仿真的Matlab代碼(歡迎交流)。
特別的,作為入門(mén)推薦大家學(xué)習(xí)Taflove的《Computetional Electrodynamics the FDTD Method》的matlab代碼,無(wú)論是從算法實(shí)現(xiàn)還是從編程風(fēng)格上都值得參考(見(jiàn)資料收集-2 FDTD學(xué)習(xí)代碼-Matlab文件夾)。
此外,有興趣的朋友還可以嘗試Python語(yǔ)言,專(zhuān)為非專(zhuān)業(yè)程序人員開(kāi)發(fā),完全免費(fèi),語(yǔ)法簡(jiǎn)潔清晰,有豐富的擴(kuò)展庫(kù),可以很輕松的將各種語(yǔ)言的模塊結(jié)合在一起。
3. 選擇哪樣軟件練習(xí)?
時(shí)域電磁仿真軟件不勝枚舉,例如商業(yè)軟件CST、xFDTD、FDTD Solutions以及開(kāi)源軟件包MEEP、ToyFDTD、GMES、OpenEMS、FDTD++等等。
如果使用處于入門(mén)階段,這里首先推薦CST軟件。原因很簡(jiǎn)單,建模效率高、操作簡(jiǎn)單方便、help文檔豐富全面,因此受到廣大工程師和學(xué)生的極度青睞。
如果有意向進(jìn)行二次開(kāi)發(fā)或者深入學(xué)習(xí)算法實(shí)現(xiàn),可以考慮開(kāi)源軟件,例如基于Python開(kāi)發(fā)的MEEP、GMES, 基于C和Fortran的ToyFDTD,基于C++開(kāi)發(fā)的OpenEMS、FDTD++等等。
(3)資料收集
最后,為方便大家學(xué)習(xí),本人特意將前期相關(guān)資料收集整理,主要包括論文、報(bào)告、教材、代碼等等,如果大家對(duì)該資料感興趣,請(qǐng)聯(lián)系useful2you(微信)或關(guān)注公眾號(hào)useful4you索取全套設(shè)計(jì)資料。
---------------申明--------------------
原創(chuàng)不易,歡迎分享,轉(zhuǎn)載請(qǐng)注明作者和出處:yc97463240,有點(diǎn)小用吧(公眾號(hào)useful4you)
相關(guān)標(biāo)簽搜索:【原創(chuàng)分享】我的FDTD學(xué)習(xí)之路(附150M資料收集) HFSS電磁分析培訓(xùn) HFSS培訓(xùn)課程 HFSS技術(shù)教程 HFSS無(wú)線電仿真 HFSS電磁場(chǎng)仿真 HFSS學(xué)習(xí) HFSS視頻教程 天線基礎(chǔ)知識(shí) HFSS代做 天線代做 Fluent、CFX流體分析 HFSS電磁分析