MCNP(Monte Carlo N Particle Transport Code)是由美國洛斯阿拉莫斯國家實驗室(LosAlamos National Laboratory)開發(fā)的基于蒙特卡羅方法的用于計算三維復(fù)雜幾何結(jié)構(gòu)中的中子、光子、電子或者耦合中子/光子/電子輸運問題的通用軟件包,也具有計算核臨界系統(tǒng)(包括次臨界和超臨界系統(tǒng))本征值問題的能力。該軟件包通過FORTRAN語言編程實現(xiàn)。其中,MC方法又稱隨機(jī)抽樣或統(tǒng)計實驗方法,屬于計算數(shù)學(xué)的一個分支,它是在20世紀(jì)40年代中期為了適應(yīng)當(dāng)時原子能事業(yè)的發(fā)展而發(fā)展起來的。傳統(tǒng)的經(jīng)驗方法由于不能逼近真實的物理過程,很難得到滿意的結(jié)果,而MC方法由于能夠真實地模擬實際物理過程,故解決問題與實際非常符合,可以得到很圓滿的結(jié)果。

MCNP程序涉及面如此之多,關(guān)鍵是通過讀入一個經(jīng)用戶創(chuàng)建的稱為INP的輸入文件來進(jìn)行計算。該文件必須遵循按照柵元卡的格式進(jìn)行組織,指定描述空間問題的信息,具體地有(1)空間幾何體的描述說明;(2)幾何體的使用材料描述和交叉區(qū)域的選擇估計;(3)中子、光子以及電子這3種粒子源的位置和特性說明;(4)必要的回答卡和標(biāo)記卡的類型;(5)任何必需的冗余量消除技術(shù)以提高計算效率。

目前,MCNP以其靈活、通用的特點以及強(qiáng)大的功能被廣泛應(yīng)用于輻射防護(hù)與射線測定、輻射屏蔽設(shè)計優(yōu)化、反應(yīng)堆設(shè)計、(次)臨界裝置實驗、醫(yī)學(xué)以及檢測器設(shè)計與分析等學(xué)科領(lǐng)域,并得到一致認(rèn)可。

外文名

Monte Carlo N Particle Transport Code

性質(zhì)

通用軟件包

MCNP的發(fā)展歷程

MCNP程序是由美國LosAlamos國家實驗室研制開發(fā)的,為其所投入的研究、發(fā)展、程序編寫及參數(shù)制作超過了500人年。程序誕生于1963年,20世紀(jì)70年代中期由中子程序和光子程序合并,形成了最初的MCNP程序。自那時起,每2—3年更新一次,版本不斷發(fā)展,功能不斷增加,適應(yīng)面也越來越廣。已知的MCNP程序研制版本的更新時間表如下:

MCNP-3:1983年寫成,為標(biāo)準(zhǔn)的FORTRAN77版本,截面采用ENDF/B2III。

MCNP-3A:1986年寫成,加進(jìn)了多種標(biāo)準(zhǔn)源,截面采用ENDF/B2IV。

MCNP-3B:1988年寫成,具有陣列幾何處理能力(即重復(fù)結(jié)構(gòu)描述),多群截面和計數(shù)輸出的圖形化功能,截面采用ENDF/B2IV和ENDL2851。

MCNP-4:1990年7月由LANL寫成,截面采用ENDF/B2V。

MCNP-4.2:1991年3月由ORNL的RSIC寫成,程序有較大改進(jìn),增加了基于Sandia國家實驗室的ITS(IntegratedTigerSeries)2連續(xù)能量電子輸運包,將其編入MCNP程序,專用于UNIX系統(tǒng),從此MCNP程序成為中子/光子/電子耦合輸運程序。

MCNP-4A:1993年誕生,仍為UNIX系統(tǒng),開始引入PVM并行,適合共享存儲并行計算機(jī),截面為ENDF/B2V。

MCNP-4B:1997年3月正式推出,有PC版(需要LAHEY編譯系統(tǒng)支持),UNIX版,采用ENDF/B2VI截面庫和彩色圖形系統(tǒng),仍采用PVM并行編程。

MCNP-4B2:為MCNP24B的升級版,其支持FORTRAN90系統(tǒng)。

MCNP24C:2000正式推出,在MCNP24B基礎(chǔ)上增加共振自屏、瞬發(fā)α本征值、微擾和多群伴隨中子輸運計算等處理,采用F90編譯器,工作站版本支持PVM和SMPP并行。

MCNP-5:2003年推出。在這個版本中,完成了從FORTRAN277到FORTRAN290的重新組織,支持以前的MCNP-4C2/4C3全部功能,同時在提高圖形顯示,易安裝性以及更好的在線文檔方面有較大改善。

另外,在MCNP系列版本中,出現(xiàn)了MCNPX版本,該版本程序仍為該實驗室研制,并由其負(fù)責(zé)維護(hù)和更新。MCNPX開始于1994年,作為MCNP-4B和LAHET22.8的代碼整合項目,并第1次在1999年對外發(fā)布,版本為2.1.5。2002年,MCNPX升級為MCNP-4C,其變化包括支持FORTRAN90系統(tǒng),加強(qiáng)了12種新特性,并作為2.4.0版本對外發(fā)布。自從2002年開始,MCNPX測試組向全球300個機(jī)構(gòu)中的1400多名用戶進(jìn)行公開測試,在加入了數(shù)10個新特性后作為2.5.0版對外發(fā)布。MCNPX現(xiàn)在已經(jīng)成為世界上使用最為廣泛的粒子輸運程序之一。

另外,據(jù)悉,最新的MCNP6也已經(jīng)發(fā)布。

早期的MCNP程序基于節(jié)約內(nèi)存的目的,使用磁盤文件較多,讀取文件效率極低。目前MCNP程序中的多數(shù)文件交換已改為內(nèi)存數(shù)組,它比磁盤文件讀取速度提高了10000倍,加之高速緩存Cache的使用,并行效率顯著提高。

MCNP的應(yīng)用狀況及發(fā)展

由于MCNP的通用性、靈活性以及強(qiáng)大的功能,使得其在世界上有廣泛應(yīng)用,僅國內(nèi)的用戶就在百家之上,應(yīng)用領(lǐng)域也從過去主要的核領(lǐng)域,逐漸推廣到石油、醫(yī)學(xué)在內(nèi)的許多領(lǐng)域。

從20世紀(jì)90年代開始,國外已經(jīng)有研究人員開始研究MCNP輸入文件制作的簡化和計算結(jié)果的圖形化顯示。特別是隨著計算機(jī)軟硬件技術(shù)的發(fā)展,在近幾年取得了一些有價值的研究成果。所開發(fā)的MCNP可視化軟件能夠應(yīng)用場景的二維DX格式文件和三維SAT格式的圖形文件轉(zhuǎn)換成MCN的輸入文件,即將在目前商用CAD軟件中繪制的計算場景的幾何模型轉(zhuǎn)換為MCNP的仿真模型同時在場景的某些界面將MCNP的計算結(jié)果繪制成二維圖形,實現(xiàn)了計算結(jié)果的可視化。為便于計算結(jié)果的分析、存儲和共享,有的后處理軟件能夠?qū)CNP計算結(jié)果輸出到電子表格等數(shù)據(jù)庫中。

近幾年,國內(nèi)在MCNP前處理與后處理技術(shù)領(lǐng)域的研究也取得了長足的進(jìn)步。主要表現(xiàn)在以下幾個方面:

(1)在MCNP的計算效率、幾何局限性以及二維交互繪圖等方面進(jìn)行了有益的探索。

(2)為了簡化MCNP輸入文件的制作、顯示MCNP的計算進(jìn)程和計算數(shù)據(jù)的抽取與顯示,研究開發(fā)了專用的MCNP程序可視化運行平臺,并能以圖形化的方式顯示MCNP的計算進(jìn)程和運行時間的相關(guān)信息。

(3)為了簡化MCNP的幾何建模,提高M(jìn)CNP計算輸入文件的編寫效率,研究將有關(guān)CAD文件中的幾何模型轉(zhuǎn)換為MCNP仿真模型的算法問題,通過對目前商用圖形軟件包進(jìn)行二次開發(fā),開發(fā)出專用的MCNP輔助建模工具。

另外,可視化技術(shù)已經(jīng)在自然科學(xué)領(lǐng)域得到了廣泛的應(yīng)用。目前在規(guī)則數(shù)據(jù)場的體繪制和面繪制算法等方面的技術(shù)已經(jīng)趨于成熟。國內(nèi)外的一些研究機(jī)構(gòu)相繼推出了一系列可視化軟件工具及專用可視化軟件。但在三維數(shù)據(jù)場實時動態(tài)顯示、非規(guī)則數(shù)據(jù)場合矢量場的可視化計算以及基于網(wǎng)絡(luò)的科學(xué)計算可視化理論等方面有待進(jìn)一步的研究和完善。

綜上所述,近幾年來國內(nèi)外研究人員在MCNP仿真模型的建立、計算結(jié)果的可視化研究方面取得了一些重要的研究成果。

MCNP程序的不足

MCNP程序采用了MC方法,由于能夠準(zhǔn)確地描述復(fù)雜幾何,并真實地考慮了粒子事件的全部物理過程,特別是連續(xù)能量點截面和精確角分布的使用,使MC方法具有很強(qiáng)的競爭性。然而這種方法的最大不足是誤差的概率性和收斂方面,計算耗時多,過去受計算機(jī)條件限制,這種方法在20世紀(jì)90年代前還受到限制,但隨著計算機(jī)的高速發(fā)展,近10年MC方法的應(yīng)用也越來越廣。

同時,由于MCNP是一個通用軟件,往往不能直接用來解決具體問題。在具體應(yīng)用中,必須針對具體問題作適當(dāng)改進(jìn)和進(jìn)一步開發(fā)。

另外,雖然MCNP在世界范圍內(nèi)得到了廣泛應(yīng)用,但是存在輸入接口復(fù)雜和繁瑣,對空間中幾何對象描述非常困難的問題。MCNP輸入文件結(jié)構(gòu)復(fù)雜,幾何模型的描述工作又極為抽象、不直觀和容易出錯,這樣使得描述工作費時、復(fù)雜和效率低。如果采用人工方式制作,需要建模人員具有較強(qiáng)的專業(yè)水平。對于一個中等復(fù)雜度的圖像對象(實體圖元在50左右),手工制作時間為1-2個人月,而且出錯的可能性極大,有時不得不重新制作或簡化模型。而且MCNP的繪圖功能僅僅局限在二維剖面圖,常會遇到不適應(yīng)的情況,特別是復(fù)雜幾何的描述極易出錯,這給用戶在調(diào)試幾何模型輸入文件時帶來不便。

MCNP的發(fā)展趨勢及前景

針對MCNP程序本身以及其應(yīng)用領(lǐng)域的特點,今后在MCNP輸入文件輔助制作工具、幾何模型可視化等方面都很具有發(fā)展?jié)摿?,同時在某些特殊領(lǐng)域,可以對MCNP進(jìn)行二次開發(fā),對其做源代碼級的修改,以適用于具體的問題。

20世紀(jì)80年代后期提出了科學(xué)計算可視化這個新的研究領(lǐng)域。經(jīng)過數(shù)10年的研究,科學(xué)計算可視化已經(jīng)從研究階段轉(zhuǎn)入到應(yīng)用階段。目前應(yīng)用在MCNP的可視化研究主要體現(xiàn)在MCNP模型的可視化輔助自動建模工具。MCNP模型相關(guān)的可視化工具主要包括VisualEditor,Sabrina,Moritz以及中國科學(xué)院核能安全技術(shù)研究所FDS團(tuán)隊開發(fā)的具有自主知識產(chǎn)權(quán)的多物理耦合分析自動建模軟件MCAM。MCNP可視化自動建模工具的開發(fā),可以很好地解決以手工的方式來建立MCNP輸入文件所帶來的一系列相關(guān)問題,因而具有很廣闊的發(fā)展前景。

另一方面,隨著科學(xué)計算可視化理論以及虛擬現(xiàn)實技術(shù)的發(fā)展,開發(fā)具有復(fù)雜幾何體的建模和虛擬組裝、三維空間不規(guī)則數(shù)據(jù)場的可視化以及MC2NP計算結(jié)果可視化處理功能的高度集成可視化平臺,也可以更好地促進(jìn)MCNP的應(yīng)用,并在一定程度上促進(jìn)科學(xué)計算可視化理論以及虛擬現(xiàn)實技術(shù)的進(jìn)一步發(fā)展。

MCNP的運行方法

MCNP程序運行關(guān)鍵是通過讀入一個經(jīng)用戶創(chuàng)建的稱為INP的輸入文件來進(jìn)行計算。以4c版本為例,建立一個較為快捷的運行方法。建立一個TXT文檔,文檔中輸入“call mcnp4c.exe inp=**in.txt outp=**o.out”語句,文件類型由.txt改為.bat,其中**in.txt為inp文件名稱,**o.out為輸出結(jié)果文件名稱,保存后雙擊就可運行。

經(jīng)過一段 時間的運行,程序?qū)⒔o出運行結(jié)果,默認(rèn)情況下生成文件有 runtpe 和 out* 2 個文件,其中 runtpe 這個文件是中間轉(zhuǎn)儲文件,一般不需要;計算結(jié)果則是保存在 out*文件內(nèi),利用文本讀寫軟件如“寫字板”打開后進(jìn)行分析并對結(jié)果進(jìn)行整理。下圖是未執(zhí)行前的情形:在雙擊 mcnp.exe 執(zhí)行后,會發(fā)現(xiàn)多了 2 個文件,如上所述;如果再雙擊 mcnp.exe,則會出現(xiàn)下述的情形,即不覆蓋原來的結(jié)果;如果為了增加在運行時的靈活性,那么可以在命令行(cmd)下的利用通用的 命令來進(jìn)行,其命令格式是: mcnp inp=11.txt outp=11.out 這里的 mcnp 是命令,11.txt 是輸入文件,相當(dāng)于默認(rèn)的 inp 文件,11.out 是結(jié)果 輸出文件,相當(dāng)于默認(rèn)的 oupt 文件。刪除掉上面的 4 個生成文件,在 mcnp 軟件的當(dāng)前目錄下輸入:那么可以看到,那么可以看到,執(zhí)行結(jié)果為 11.out 和 runtpe,即此時輸入文件的名稱和輸出文件的名稱我們都可以自由指定。

繪圖命令

進(jìn)入繪圖界面

在 4C 版本里面,如果需要繪圖,則必須需要用 Dos 命令來做。打開命令窗 口(在開始菜單中的“運行”子菜單里面輸入“cmd” ,回車),利用“cd”命令進(jìn) 入 MCNP 程序所在目錄(建議 MCNP 所在的文件夾路徑要盡量短并且文件夾名稱 為英文名稱),輸入 MCNP IP 命令,此時系統(tǒng)會自動給你打開 MCNP 的繪圖命令 窗口: MCNP 的操作界面,在主窗口里會出現(xiàn) 2 個子窗口,名稱分別為 MCNP Execute Window(命令窗口)和 MCNP Plot Window(繪圖窗口),如上圖所示,用戶在命令窗口中輸入各種繪圖命令和相關(guān)參數(shù), MCNP 將把執(zhí)行結(jié)果顯示在繪圖窗口中。Ip;initiate and plot 圖 1、MCNP 繪圖基本界面示意圖比如你的 MCNP 文件裝在 D 盤里下面的 MCNP 文件夾中,你就在命令窗口 中先輸入 D: ,回車;進(jìn)入 D 盤目錄下,再輸入 cd MCNP 進(jìn)入 MCNP 目錄,然 后就輸入 MCNP IP 就進(jìn)入畫圖界面;上述是默認(rèn)情況下的繪圖過程,通用的繪圖方式是: mcnp inp= filename ip modle: mcnp inp=11.txt ip在命令行(cmd)下敲入上述命令,具體文件只要替換上述的 filename 即可,上述 的例子就是針對 11.txt 這個輸入文件進(jìn)行繪圖。的含義是 initiate and plot 。 ip 此時操作系統(tǒng)會自動打開 mcnp 程序并如上圖 1 所示。

基本繪圖命令介紹

繪圖命令:同運行一樣,建立TXT文檔輸入call mcnp4c.exe inp=***in.txt ip,保存后文件類型由.txt改為.bat,其中**in.txt為inp文件名稱,雙擊就可繪圖。

(1)、origin vx vy vz 指定繪圖坐標(biāo)的原點,默認(rèn)情況取 vx vy vz 為 0 0 0,例:Origin 0 0 0圖 2、執(zhí)行 origin 0 0 0 命令后的顯示結(jié)果(2)、extent eh ev 設(shè)置圖形的顯示比例問題,其中 eh(horizontal)為水平方向從原點開始的任意長 度,單位為 cm,ev(vertical)為垂直方向從原點開始的任意長度,如果只輸入一個 數(shù)值,則 eh 和 ev 均取同一個數(shù)值,默認(rèn)情況下 eh 和 ev 取值為 100。例:extent 5,注意:圖 2 中繪圖窗口中的 extent 為(100.00,100.00) 圖 3、執(zhí)行 extent 5 命令后的顯示結(jié)果(3) PX vx 繪制 x=vx 位置處的 y-z 平面投影圖,默認(rèn)情況下 vx=0 例:PX 10 (4) PY vy 繪制 y=vy 位置處的 x-z 平面投影圖,默認(rèn)情況下 vy=0 例:PY 10 (5) PZ vz 繪制 z=vz 位置處的 x-y 平面投影圖,默認(rèn)情況下 vz=0 例:PZ 10圖 4、執(zhí)行 PY 0.05 命令后的顯示結(jié)果圖 5、執(zhí)行 PZ 0.1 命令后的顯示結(jié)果 (6)、label s c 對曲面和柵元進(jìn)行標(biāo)記,其中 s 和 c 分別代表對曲面和柵元進(jìn)行標(biāo)記的符號的大 小。例:label 5 5圖 6、執(zhí)行 label 5 5 后的結(jié)果示意圖(7)、factor 圖片放大和縮小用,例如 factor 10 縮小 10 倍,factor 0.1 放大 10 倍;由于 比較簡單,所以這里就不再舉例了。上述就是常用的繪圖命令,對于深一步的繪圖命令,請參考相關(guān)的英文參考資料 《RSICC COMPUTER CODE COLLECTION --- MCNP4C》